Bahasa python 3


 ulis ulang.

<< ___________ 10.1 hasil  eksekusi class_1.py bagian ke - 1 >>

86

<< ___________ 10.2 hasil  eksekusi class_1.py bagian ke - 2 >>

Mengenal Built-in Function pada Class dan Object

Berikutnya kita akan mengenal beberapa built-in class attribute yang akan bisa digunakan saat kita 

membuat kelas apapun.  Built-in class attribute  akan selalu menyertai  kelas yang kita rancang. 

Berikut beberapa atribut yang bisa Anda gunakan untuk mengakses informasi dari sebuah kelas : 

   __doc__, digunakan untuk mengakses dokumentasi yang terdapat pada kelas

   __name__, digunakan untuk mengakses nama kelas

   __dict__, digunakan untuk mendapatkan namespace dari kelas ini . Kalau pada objek 

yang  sudah  diinstansiasi  method  ini  akan  mengeluarkan  informasi  tentang  atribut  yang 

sudah terisi nilai

   __module__,  digunakan  untuk  mendapatkan  informasi  dimana  lokasi  modul  yang 

mendefinisikan kelas ini 

   __bases__, digunakan untuk melihat darimana kelas ini  diwariskan. Pewarisan pada 

OOP yaitu  memakai  karakteristik suatu kelas pada kelas yang ingin memakai  

karakteristik kelas yang mewariskannya.

Sebagai  contoh  ada  beberapa  built-in  class  attribute yang  bisa  diakses  kelas  dan  objek  hasil 

instansiasi dan ada yang hanya bisa diakeses kelas.

87

listing : class_2.py 

class PersegiPanjang:

    '''

    Sebuah kelas yang memodelkan persegi panjang.

    memiliki  dua atribut yaitu panjang dan lebar.

    Bisa menghitung luas dan keliling.

    Bisa juga meng___________ persegi panjang sesuai atribut

    '''

    def __init__(self, panjang, lebar):

        self.panjang = panjang

        self.lebar = lebar

    

    def hitung_luas(self):

        return self.panjang * self.lebar

    

    def hitung_keliling(self):

        return (2*self.panjang) + (2*self.lebar)

    def ____________persegi_panjang(self):

        for i in range(0, self.lebar):

            for j in range(0, self.panjang):

                print '*',

            print ""

    

    def ____________persegi_panjang_tanpa_isi(self):

        for i in range(0, self.lebar):

            if i > 0 and i < self.lebar-1:

                for j in range(0, self.panjang):

                    if j > 0 and j < self.panjang-1:

                        print '-',

                    else:

                        print '*',

            else:

                for j in range(0, self.panjang):

                    print '*',

                    

            print ""

    

    

PersegiPanjangA = PersegiPanjang(20, 10)

print PersegiPanjang.__doc__

print PersegiPanjang.__name__

print PersegiPanjang.__dict__

print PersegiPanjang.__module__

print PersegiPanjang.__bases__

88

print PersegiPanjangA.__doc__

print PersegiPanjangA.__dict__

print PersegiPanjangA.__module__

Pada contoh diatas, atribut __name__ dan __bases__ hanya bisa diakses oleh kelas.  sedang  

objek hasil instansiasi tidak bisa mengaksesnya.

 

<< ___________ 10.3  hasil class_2.py  >>

Pembahasan mengenai OOP ini tidak bisa dibahas secara keseluruhan dalam satu bab. Ada banyak 

hal yang harus diulas seperi inheritance, polymorphism, abstract, overriding, overload, dan lain – 

lain. 

11. Pengenalan Module

89

Module dan Packages

Module yaitu  istilah  file yang berisi kode Python. Jadi dari awal sebenarnya kita sudah membuat 

module  Python. Hanya saja pada konsep module ini, kode Python yang akan digunakan berulang 

akan dipisahkan dari file utama ke dalam file  lain yang khusus menampung kode Python ini . 

Di  dalam  module kita  bisa  menyimpan  class,  function,  variabel,  dan  struktur  data  yang  bisa 

digunakan oleh program. Misal kita ingin membuat sebuah kode yang hanya berisi jenis – jenis 

segitiga seperti segitiga sama kaki, segitiga sembarang, segitiga sama sisi, dan segitiga siku – siku. 

Kenapa tidak dicampur saja dengan jenis bidang yang lain ? Hal ini dilakukan agar kita mudah 

dalam  mengelola  kode  Python  yang  kita  tulis.  Contoh  lainnya  misal  kita  menulis  kode  yang 

berinteraksi dengan database dan kode untuk melakukan proses penulisan laporan secara terpisah.

Dalam hal ini module memiliki  kode Python yang reusable agar kode yang ditulis pada program 

kita terduplikasi. sedang  file Python yang akan dijalankan dan memanggil function, class, atau 

variabel  dari  kumpulan  module yang dibuat  berisi  runnable  code.  Kode yang  dieksekusi  oleh 

interpreter Python untuk menampilkan wujud dari program yang dibuat. 

lalu   module  –  module yang  sudah  ditulis  bisa  dikelompokan  kedalam  sebuah  package. 

Package ini  sendiri  berupa  folder yang  memiliki  file  __init__.py,  agar  folder ini   dikenali 

sebagai  module.  Di  dalam  package ini  module  –  module memiliki  tujuan dan fungsional  yang 

seragam. Misal  pada contoh yang akan kita  coba,  terdapat  sebuah  package bidang,  yang berisi 

module bidang segitiga dan persegi. Di dalamnya terdapat file __init__.py yang bertugas untuk me-

load semua  module yang  ada  di  dalam  package,  segitiga.py  yang  berisi  class  segitiga,  dan 

persegi.py yang berisi class  persegi. Di dalam file segitiga.py dan persegi.py masing – masing bisa 

diisi berbagai jenis bidang yang sesuai nama  module ini . Hanya saja untuk contoh kali ini 

dibatasi kepada satu jenis bidang saja

Membuat Module – Module di dalam Packages

sesudah  memahami konsep module, mari kita coba program yang agak banyak ini. Sebelumnya di 

direktori tempat kita akan menulis program, terlebih dahulu buatlah sebuah folder baru bernama 

bidang.  Folder  ini   merupakan  package  yang  akan  menyimpan  persegi.py,  segitiga.py,  dan 

__init__.py.

listing : persegi.py 

class Persegi:

    def __init__(self, s):

        self.sisi = s

    

    def SetSisi(self, s):

        self.sisi = s

    

    def GetSisi(self):

        return self.sisi

90

    

    def HitungKeliling(self):

        return 4 * self.sisi

    

    def HitungLuas(self):

        return self.sisi * self.sisi

Kode persegi.py diatas  hanya bersegi  class Persegi  yang memiliki   atribut  sisi  dan  method – 

method-nya.  Di  dalam  module ini  kita  bisa  saja  menulis  kelas  PersegiPanjang.  Hal  ini  

memudahkan kita agar bidang yang jenisnya persegi tidak tercampur dengan bidang yang jenisnya 

segitiga. Pastikan Anda menyimpan file persegi.py di dalam folder bidang. 

listing : segitiga.py 

import math

class Segitiga:

    def __init__(self, a, t):

        self.alas = a

        self.tinggi = t

    

    def SetAlas(self, a):

        self.alas = a

    

    def GetAlas(self):

        return self.alas

    

    def SetTinggi(self, t):

        self.tinggi = t

    

    def GetTinggi(self):

        return self.tinggi

    

    def GetSisiMiring(self):

        return math.sqrt(self.alas**2 + self.tinggi**2)

        

    def HitungKeliling(self, s):

        return self.alas + self.tinggi + s

    

    def HitungLuas(self):

        return (self.alas * self.tinggi) / 2

Hampir  sama  dengan  fungsi  dari  module persegi.py,  hanya  saja  module segitiga.py  akan  diisi 

berbagai jenis segitiga. Selain itu pada kode diatas kita memanggil module math sebab  saat nanti 

module segitiga.py ini diload, kode yang memakai  method – method pada math harus di load 

juga dari module math. Pastikan module ini tersimpan di folder bidang.

91

listing : __init__.py 

from segitiga import Segitiga

from persegi import Persegi

if __name__ == '__main__':

    pass

lalu  file yang mesti ada di dalam sebuah package yaitu  __init__.py. File ini  berfungsi 

untuk me-load isi  module ke dalam memori agar isi  module bisa digunakan di  file yang berisi 

runnable code. Pada kode diatas, terdapat sintaks  : from segitiga import Segitiga. Keyword from 

yaitu   keyword yang digunakan untuk menentukan  package atau  module mana yang akan kita 

rujuk,  sedang   import digunakan  untuk  mengambil  class,  function atau  variabel  yang 

didefinisikan di dalam module. Disana kita meng-import dua buah kelas yaitu Segitiga dan Persegi 

dari dua module berbeda yaitu segitiga.py dan persegi.py. sedang  kode dibawahnya digunakan 

jika file __init__.py ingin menjalankan perintah tertentu. Pastikan file ini disimpan di folder bidang. 

memakai  Module di File Utama

Sampai akhirnya kita tiba untuk menulis kode utama.  Kode utama ini merupakan kode yang berisi  

runnable code, dan memakai  class yang sudah didefinisikan di module – module sebelumnya. 

Dengan demikian kode program tidak akan menumpuk di file utama. 

Jika  Anda  berhasil  mengikuti  petunjuk  pada  bab  ini,  module,  packages dan  file utama  harus 

memiliki  sususan seperti berikut :

<< ___________ 12.1 struktur module packages bidang  >>

listing : main.py 

92

from bidang import Segitiga, Persegi

sgtgA = Segitiga(3, 9)

prsgA = Persegi(5)

print "Luas Segitiga A : ", sgtgA.HitungLuas()

print "Sisi Miring Segitiga A : ", sgtgA.GetSisiMiring()

print "Keliling Segitiga A : ", sgtgA.HitungKeliling(sgtgA.GetSisiMiring())

print "\n"

print "Luas Persegi A : ", prsgA.HitungLuas()

print "Keliling Segitiga A : ", prsgA.HitungKeliling()

 

Pada kode diatas kita meng-import kelas dari package bidang. lalu  melakukan instansiasi dan 

memberikan nilai sesuai yang kita inginkan. lalu  kita akses method – method yang terdapat 

pada kelas ini  untuk mendapatkan informasi luas, dan keliling pada masing – masing bidang. 

Jika berhasil maka kode yang akan dijalankan seperti berikut :

<< ___________ 12.2 eksekusi main.py  >>

93

Daftar Pustaka

   Python Software Foundation Team. Python v2.7.2 Documentation 1990 – 2011. The Python 

Software Foundation.

   Downey, Allen, Jeffrey Elkner, dan Chris Meyers. How to Think Like a Computer Scientist :  

Learning with Python. 2002. Green Tea Press : Wellesley, Massachusetts

   Swaroop. A Byte of Python. 2005. IonLab : Bangalore, India

   Craven, Paul Vincent.  Introduction to Computer Science Using Python and Pygame. 2011. 

Simpson College, Computer Science Department : Indianola, Iowa

94

Lampiran 1 – Teknologi yang memakai  Python

Django

Sebuah web framework yang memiliki motto “The Web 

Framework  for  Perfectionist  with  Deadline”.  Django 

merupakan  salah  satu  megaframework  yang  sudah 

memiliki  template  engine,  object  relational  mapper, 

session,  security,  pagination,  logging,  authentication, 

caching, dan lain – lain.

 

Lebih  lengkap  kungjungi  link  berikut  : 

http://www.djangoproject.com

PyGame

PyGame  yaitu   wrapper untuk  Simple  Direct  Media 

Library, sebuah  library untuk memanipulasi grafis dan 

media berupa audio dan video. Dengan PyGame Anda 

bisa  membuat  game berbasis  2D.  Kalaupun  ingin 

membuat  game 3D  dibutuhkan  library lain  untuk 

mendukung pengolahan 3D

Fitur – fitur yang bisa didapatkan dari  module – module 

PyGame :

   cdrom, mengelola cdrom dan pemutar suara

   cursors,  me-load  ___________  kursor,  dan 

menyertakan kursor standard

   display, mengendalikan layar

   draw,  meng___________  grafis  sederhana  pada 

Surface

   event, mengelola event dan antrian event

   font, membuat dan memakai  Truetype fonts

   image, menyimpan dan me-load ___________

   joystick, mengelola joystick

   key, mengelola keyboard

   mouse, mengelola mouse

   movie, memainkan film bertipe mpeg

   sndarray, memanipulasi suara dalam angka

   surfarray, memanipulasi ___________ dalam angka

   time, mengendalikan waktu

   transform,  memperbesar,  memutar,  dan 

membalik ___________

Bagi teman – teman yang ingin memakai  Pygame 

lebih  lanjut  bisa  kunjungi  link  berikut  : 

http://www.pygame.org

95

Panda 3D

Panda  3D  yaitu   3D  Engine,  library dari  kumpulan 

fungsi – fungsi untuk 3D rendering dan pengembangan 

game.  Library-nya  ditulis  dengan  C++.  Untuk 

pengembangan  game  dengan  Panda3D,  Anda  harus 

menulis  dalam  bahasa  Python  yang  mengendalikan 

library di Panda3D.

Panda3D  memiliki   dukungan  seperti  :  The  Scene 

Graph,  Model  dan  Actor,Texturing,  Shaders,  Camera 

Control, Sound, Interval, Task dan Event Handling, Text 

dan  Image  Rendering,  DirectGUI,  Render  Effect, 

Collision Detection, dan lainnya

lebih  lengkap  kunjungi  link  berikut  ini  : 

http://www.panda3d.org

SimpleCV

SimpleCV merupakan singkatan dari Simple Computer 

Vision,  merupakan  framework  python  yang  mudah 

digunakan  dan  membungkus  library  computer  vision 

open  source  dan  algoritma  terkait  untuk  pemecahan 

masalah. 

Beberapa  fitur  yang  didukung  oleh  SimpleCV  antara 

lain  :  membaca  ___________,  konversi  ___________  ke  RGB, 

konversi  ___________  ke  HLS,  konversi  ___________  ke  HSV, 

konversi ___________ ke Gray, membuat ___________ baru dalam 

format bitmap, menyalin ___________, memperbesar ___________, 

pencerminan  ___________,  memperhalus  ___________,  edge 

detection, dan lain – lain.

Lebih  lengkapnya  checklink  berikut  ini   : 

http://www.simplecv.org

NLTK

Teknologi  Natural  Language  Processing  semakin  hari 

semakin  maju.  Sebagai  contoh,  banyak  smartphones, 

yang  sudah mendukung pengenalan  tulisan,  lalu  

banyak mesin pencari yang mendukung penulisan teks 

ta struktur, ada juga penerjemahan bahasa. 

NLTK hadir sebagai salah satu tools yang ditulis dalam 

Python untuk mendukung teknologi  Natural  Language 

Processing.  Beberapa fitur  yang didukung oleh NLTK 

antara  lain  :  Language  Processing,  Text  Corpora, 

Processing Raw Text, Categorizing and Tagging Words, 

Parsing text, Semantic Analysis, dan lain – lain.

Lebih  lanjut  cobe  kunjungi  link  berikut  : 

http://www.nltk.org

Flask Flask  merupakan  micro  web  framework  yang 

mendukung  untuk  diintegrasikan  dengan  berbagai 

96

library  pendukung  lainnya.  Flask  memerlukan  WSGI 

Toolkit  yang  dinamakan  Weurkzeug  dan  Template 

Engine Jinja2.

Flask memiliki fitur seperti : templating engine, testing 

application,  logging  application  error,  debuggin 

application  error,  configuration  handling,  signal, 

pluggable view, extension, dan lain – lain.

Lebih  lengkap  kunjungi  link  berikut  : 

http://www.flask.org






Perkembangan Teknologi Informasi saat ini sangatlah pesat. Hal ini 

menyebabkan semakin banyaknya kebutuhan akan tenaga kerja yang memiliki 

kemampuan berbasis Teknik Informatika. Kebutuhan ini pula yang mengakibatkan 

banyaknya pengangguran tinggi membuka Program Studi berbasis Teknologi 

Informasi.  

Adapun ilmu yang mempelajari tentang objek-objek diskrit yaitu salah 

satunya yaitu  Karnaugh Map (K-Map). K-Map yaitu  metode grafis untuk 

menyederhanakan fungsi Boolean yang ditemukan oleh Maurice Karnaughpada 

tahun 1953. Jenis-jenis K-Map ada banyak tergantung variabel, diantaranya yaitu  2 

variabel, 3 variabel, 4 variabel, 5 variabel, dan 6 variabel.  

sebab  dalam mempelajari materi K-Map banyak orang yag mengalami 

kesulitan dan kejenuhan dalam pemahaman dan menentukan logikannya.maka 

dibutuhkan aplikasi pembelajaran khusus mempelajari K-Map untuk 

mememudahkan seseorang untuk mempelajarinya ini .  

 

  

A. Pengenalan Umum Karnough Map 

Karnaugh Map yaitu  suatu metode termudah untuk penyederhanaan 

ekspresi logika sampai enam variabel input. Dalam metode ini semua kombinasi 

input yang mungkin direpresentasikan pada map (peta). Fungsi logika yang terdiri 

dari n variabel memiliki 2n kotak. Maksud penulisan variable pada peta (map) ini, 

agar dalam peta hanya ada satu variable yang berubah dari bentuk komplemen 

menjadi bentuk bukan komplemen. Karnaugh Map merupakan pengganti persamaan 

aljabar boole. 

Peta Karnaough yaitu  sususnan segiempat beraturan yang mengikuti pola 

2n , dimana n yaitu  jumlah variable masukan pada rangkaian logika. Setiap 

segiempat berisi kombinasi variable input dan komplemennya 

Peta Karnough atau lebih dikenal dengan istilah K-map merupakan metode 

grafis untuk menyederhanakan fungsi Boolean. Metode ini ditemukan oleh Maurice 

Karnough pada tahun 1953. K-map ini terbentuk atau tersusun dari kotak-kotak 

berbentuk bujur sangkar yang bersisian Setiap kotak merepresentasikan sebuah 

minterm. Tiap kotak dikatakan bertetangga jika minterm-minterm yang 

merepresentasikannya berbeda hanya sebuah literal. K-map dapat dibentuk dari 

fungsi Boolean yang dispesifikasikan dengan ekspresi Boolean maupun fungsi yang 

direpresentasikan dalam bentuk table kebenaran. Keluaran yang dikehendaki 

ditandai dengan “1”. Sisanya ditandai 0. Banyaknya jumlah sel pada peta karnaugh 

mengikuti aturan biner, yaitu 2 variabel diperlukan 2 2=4 sel, 3 variabel 23 = 8. Dan 

jika 4 variabel 2 4 16 sel  (Hariningsih, Astuti, & Astuti, 2014, hal. 238). 

B. Kelebihan Metode Karnough Map 

Meskipun aljabar Boole merupakan suatu sarana yang berguna untuk 

menyederhanakan pernyataan logika, belum dapat dipastikan bahwa pernyataan 

yang disederhanakan dengan aljabar Boole itu merupakan pernyataan yang paling 


sederhana. Prosedur meminimumkan itu agak sulit dirumuskan sebab  tidak adanya 

aturan yang jelas untuk menentukan langkah manipulasinya. Metode peta karnaugh 

memberikan suatu prosedur yang mudah dan langsung dalam proses 

penyederhanaan fungsi Boole. Metode pemetaan itu awalnya diusulkan oleh Veitch, 

lalu dimodifikasi oleh Karnaugh. Itulah alasannya namanya dikenal sebagai diagram 

Veitch atau Peta Karnaugh (K-Map). 

C. Aplikasi Peta Karnough Map 

Karnough-Map dapat berbentuk dalam beberapa variabel :  

1. Peta Karnough Dua Variable 

 

Fungsi logika dengan dua input A dan B dapat di___________kan dengan 

menggunakan Karnaugh Map sebagai berikut : 

 

Contoh 1  : ___________kan K-Map untuk fungsi logika : F = AB’ + AB 

Dengan menggunakan K-map, secara mudah dapat dilakukan penyederhanaan 

fungsi logika, yaitu dengan cara membuat loop untuk output yang berlogika 1. 

Loop dapat dilakukan untuk jumlah 2n. Dari loop yang ada ternyata variabel A 

yang tidak berubah sehingga secara langsung dapat ditulis ekspresi output : F = 

A. 

 

  

 

Contoh 2 : 

 

Suatu rangkaian logika diinginkan bekerja dengan cara tertentu, sesuai dengan 

tabel kebenaran berikut: 

 

Jika disusun ke dalam peta karnaugh ditulis sebagai berikut: 

 

 

(Irwan Kurniawan, 2013, hal. 2)   

2. Peta Karnough Tiga Variable 

Peta Karnaugh meng___________kan harga/keadaan suatu fungsi untuk setiap 

kombinasi masukan yang mungkin dibentuk. Jadi sebenarnya, peta Karnaugh 

memetakan tabel kebenaran dalam kotak-kotak segi empat yang jumlahnya 

tergantung dari jumlah peubah (variabel) masukan. Untuk fungsi dengan 2 

  

 

peubah, peta Karnaugh akan terdiri atas 22 = 4 kotak, untuk 3 peubah petanya 

akan terdiri atas 23 = 8 kotak dan seterusnya untuk n peubah petanya akan terdiri 

atas 2n kotak. Setiap kotak berisi 0 atau 1 yang menunjukkan keadaan fungsi 

untuk kombinasi masukan yang diwakili kotak bersangkutan 

Untuk fungsi dengan 2 peubah peta Karnaugh disusun seperti 

yangditunjukkan dalam ___________ 1.1. Untuk penamaan seperti pada ___________ 

1.1(a), kolom dalam peta mewakili peubah A sedang  barisnya mewakili 

peubah B. Dalam ___________ 3.1(b), kolom mewakili harga B sedang  baris 

mewakili harga A. 

  

 

Harga yang akan diisikan dalam kolom 0 baris 0 menunjukkan harga 

fungsi untuk kombinasi A= 0 dan B= 0. Untuk ___________ (a), kolom 1 baris 0 

menunjukkan harga fungsi untuk kombinasi masukan A = 1 dan B = 0. Sebagai 

contoh, dalam ___________ 1.2 ditunjukkan peta untuk f = A B + A B. 

 

___________ 1.2. peta carnough untuk fungsi f = AB + AB 

 

Setiap kotak diisi sesuai dengan harga yang sesuai dengan harga yang 

diperoleh dari tabel kebenarannya. Perhatikan bahwa kolom 0 baris 1 yang 

  

 

sesuai dengan harga fungsi untuk sukumin AB (A=0, B=1) diisi dengan 0 sebab  

untuk kombinasi masukan ini, f=0. Untuk A=1 dan B=0, f=1 sehingga kolom 1 

baris 0 diisi 1. Kotak kotak lain diisi sesuai dengan harga fungsi f. Tampak 

bahwa pengisian peta Karnaugh semata-mata memindahkan tabel kebenaran 

untuk f ke dalam kotak-kotak dalam peta. Biasanya hanya harga 1 yang diisikan 

ke dalam peta sedang  harga 0 dibiarkan saja kosong. Dengan perjanjian 

seperti ini, maka setiap kotak yang kosong sudah diartikan sebagai 0. Ini 

sebenarnya hanyalah mengurangi kesan sesak pada peta itu dan kalaupun diisi 

tidaklah mengubah artinya. namun  bila kita mau mencari bentuk minimum 

daripada fungsi dalam bentuk perkalian dari pada jumlah, artinya 

mengekspansikannya ke sukumax, dimana kita tertarik hanya pada harga 0 

fungsi, maka sebaiknya hanya harga-harga 0 yang kita isikan ke dalam peta. 

Sekarang perhatikan bentuk sukumin yang diwakili oleh kotak-kotak 

yang berisi 1 dalam ___________ 1.2 di atas. Dapat dilihat bahwa perjumlahannya, 

yaitu f = A B + A B, yang dapat juga diperoleh dari tabel kebenaran, sebenarnya 

dapat disederhanakan menjadi: 

f  = (A+ A) B 

  = B 

Dari peta Karnaugh, ini dapat dilihat dengan mudah sebab  kotak yang 

berisi 1 yang berdekatan harganya dapat dinyatakan dengan 00 dan 10. Dari 

kedua kode ini, kelihatan bahwa pada posisi pertama terjadi perubahan dari 0 ke 

1 sedang  pada posisi kedua tetap/sama dengan 0. sebab  posisi pertama 

mewakili A dan kedua mewakili B, maka peubah A akan hilang dari 

sukuminnya, dan sebab  harga posisi kedua yang sesuai dengan B harganya 0, 

maka B akan muncul dalam bentuk komplemennya sehingga kita peroleh f = B. 

Dalam hal ini kotak 00 (AB) bergabung dengan kotak 10 (AB) membentuk 

faktor gabungan f = x0 = B. 

Untuk 3 peubah dapat dibentuk 23 = 8 macam kombinasi. Ini berarti 

bahwa untuk memetakan harga fungsi dengan tiga peubah dalam peta Karnaugh 

dibutuhkan 8 kotak. Peta dengan 8 kotak ini dapat di___________kan mendatar atau 

  

 

tegak dan pemberian nama peubahpun dapat dimulai dari kolom maupun baris. 

Yang harus dipegang yaitu  bahwa penentuan harga desimal dari kode biner 

setiap sukumin harus tetap sesuai urutan pemberian nama peubah itu dalam peta. 

Pada ___________ 1.3 ditunjukkan beberapa kemungkinan bentuk peta Karnaugh 

untuk fungsi 3 peubah A, B, dan C. 

Kalau dalam peta dengan dua peubah hanya 1 peubah yang diwakili tiap 

baris dan kolom, maka untuk 3 peubah, setiap kolom (baris) menunjukkan 2 

peubah dan baris (kolom) menunjukkan 1 peubah. Untuk menentukan harga 

setiap peubah untuk setiap kotak, maka harus dipegang bahwa setiap dua kotak 

yang berdekatan hanya satu peubah yang boleh berbeda keadaan. Perhatikan 

penomoran kolom pada ___________ 1.3(a) dan (b) dan penomoran baris pada 

___________ 1.3(c) dan (d). Ini harus dipenuhi agar dua kotak yang berdekatan dapat 

bergabung. Setiap dua kotak yang bergabung maka satu peubah hilang dari 

sukumin gabungannya dan bila 4 kotak bergabung maka 2 peubah akan hilang 

dari sukumin gabungannya. 

 

 

Secara umum, n peubah akan hilang dari sukumin gabungannya bila 2n 

kotak bergabung. Untuk tiga peubah, bila 8 ( 23 ) kotak bergabung, maka 3 

peubah akan hilang dari sukumin gabungannya dan ini terjadi bila semua kotak 

terisi 1 yang berarti bahwa untuk semua kombinasi masukan, f= 1. 

  

 

Dalam ___________ 1.3, setiap kotak ditandai dengan nomor sukuminnya, mi, 

untuk i= 0,1,2, .., 7. Ini perlu diingat untuk mempermudah pengisian peta bila 

fungsi yang akan disederhanakan diberikan dalam bentuk perjumlahan nomor 

sukumin (sigma mi) (Amin, 2014). 

3. Peta Karnough Empat Variable 

Untuk 4 peubah dibutuhkan peta Karnaugh dengan 16 kotak dalam 

susunan 4 x 4 kotak. Kalau keempat peubah ini  disebut dengan nama A, B, 

C, dan D, maka kolom dapat dipakai untuk menyatakan harga/ keadaan A dan B 

sedang  baris menyatakan harga C dan D atau kolom menyatakan C dan D 

dan baris menyatakan A dan B. Bagaimanapun juga, aturan bahwa 2 kotak yang 

berdekatan hanya berbeda satu peubah harus tetap dipegang. Urutan penomoran 

serupa dengan yang dilakukan pada peta untuk 3 peubah di depan, seperti yang 

ditunjukkan juga pada ___________ 3.6(a). Perlu diperhatikan bahwa kolom paling 

pinggir kanan dan kiri, begitu juga baris paling atas dan paling bawah, yaitu  

berdekatan sehingga dapat bergabung. Sebagai contoh, pada ___________ 3.6(b) 

ditunjukkan penyederhanan fungsi: 

f = sigma m (0,2,8,10,12,14). 

 

 

Dengan melakukan penggabungan seperti yang ditunjukkan pada ___________ 

3.6 (b), yaitu penggabungan sukumin (0,2,8,10) dan (8,10,12,14), maka fungsi 

minimum hasil penggabungan yaitu : 

f = BD + A D  

  

10 

 

Perhatikanlah penggabungan kotak-kotak pada baris bawah dan atas serta 

penggabungan kotak-kotak di sudut. (Munir, 2014). 

D. Metode penyederhanaan dengan Peta Karnaugh  

Pengelompokan Jika sel-sel dalam peta karnaugh terisi berdekatan, maka 

dapat dilakukan pengelompokan, pengelompakan yang paling sederhana dan dasar 

yaitu  pengelompokan secara berapasangan   

1. Pegelompokan secara berpasangan (2 sel berdekatan baris atau kolom) Contoh 

1: 

 

Bilangan “1” pertama menyatakan perkalian ABC dan “1” kedua menyatakan  

A?̅?C.  Jika kita lihat pasangan dari 2 buah sel (garis merah) yang dibentuk pada 

peta Karnaugh diatas, hanya ada satu variabel yang mengalami perubahan 

bentuk (dari non komplemen (𝐵) menjadi kompleman (?̅?), sementara variabel 

lainnya ( A dan C) tidak mengalami perubahan. Sehingga variabel  B dapat 

dihapus, tersisa variabel A dan C saja , dan hasilnya akan menjadi . 

Pembuktian dengan aljabar bolean : 

Y = ABC +A?̅?𝐶 

Y = AC(?̅? + 𝐵) 

Y = AC 

Contoh : 

  

11 

 

 

Pengelompokan dengan pasangan kuad (4) 

Contoh 1: 

 

Variabel C dan D dan komplemennya terhapus 

Hasilnya : AB 

Contoh 2 : 

 

Variabel B dan D dan komplemennya akan Terhapus 

Hasilnya : AC 

  

12 

 

Contoh 3 : 

 

Variabel A dan C dan komplemennya akan terhapus 

Hasilnya : BD 

Pengelompokan  dengan pasangan Oktat (8) 

 

Pengelompokan Oktat akan menghapus 3 varibel dan komplemen-

komplemennya. Dari contoh diatas variabel A C D beserta komplemennya akan 

terhapus sehingga hasilnya yaitu  B. 

2. Redudant/Overlaing 

Kelompok Overlaping/redundant dapat dihapus untuk menyederhanakan 

rangkaian logika. Sehingga hasilnya yaitu   

Y = B𝐶̅D + ACD 

 

 

  

13 

 

3. Penggulungan 

 

4. Keadaan tidak peduli 

Variabel x pada peta karnough dapat dianggap sebagai logika “1” atau logika 

“0” tergantung kondisi yang mana yang lebih menguntunkan 

 

 

 

Keadaan Don’t care yaitu  kondisi nilai peubah yang tidak diperhitungkan oleh 

fungsinya. Artinya yaitu  baik nilai 0 atau nilai 1 dari peubah Don’t Care tidak 

berpengaruh pada hasil fungsi ini . Dalam menyederhanakan fungsi 

Boolean dengan K-map yang memuat kondisi Don’t Care ada dua hal penting 

yang dijadikan pegangan. Pertama kita anggap semua nilai Don’t Care ( yang 

disimbolkan dengan  “V” ) sama dengan satu kemudian membentuk kelompok 

  

14 

 

sebesar mungkin dengan melibatkan angka satu yang lain termasuk tanda “V” 

ini . Kedua semua nilai yang bersimbol “V” yang tidak termasuk dalam 

kelompok ini  kita anggap bernilai nol. Dengan cara ini semua keadaan 

ysang bersimbol “V” telah dimanfaatkan semaksimal mungkin. Kita boleh 

melakukannya secara bebas sebab keadaan Don’t Care dapat diperlakukan 

sebagai 0 atau 1 terserah pada kebutuhan kita.     

Minimisasi fungsi Boolean berikut (hasil penyederhanaan dalam bentuk baku 

SOP f(w, x, y, z) = S (1, 3, 7, 11, 15) dengan kondisi don’t care yaitu   d(w, x, 

y, z) = ∑ (0, 2, 5). Peta Karnough untuk fungsi ini  yaitu  : 

 

(Hariningsih, Astuti, & Astuti, 2014, hal. 240) 

 

 

  

berdasar  materi-materi diatas, dapat disimpulkan bahwa: 

Karnaugh Map yaitu  suatu metode termudah untuk penyederhanaan ekspresi 

logika sampai enam variabel input. Peta Karnough atau lebih dikenal dengan istilah K-

map merupakan metode grafis untuk menyederhanakan fungsi Boolean. Metode ini 

ditemukan oleh Maurice Karnough pada tahun 1953. K-map ini terbentuk atau tersusun 

dari kotak-kotak berbentuk bujur sangkar yang bersisian Setiap kotak 

merepresentasikan sebuah minterm. Tiap kotak dikatakan bertetangga jika minterm-

minterm yang merepresentasikannya berbeda hanya sebuah literal. K-map dapat 

dibentuk dari fungsi Boolean yang dispesifikasikan dengan ekspresi Boolean maupun 

fungsi yang direpresentasikan dalam bentuk table kebenaran. Keluaran yang 

dikehendaki ditandai dengan “1”. Sisanya ditandai 0. Banyaknya jumlah sel pada peta 

karnaugh mengikuti aturan biner, yaitu 2 variabel diperlukan 2 2=4 sel, 3 variabel 23 = 

8. Dan jika 4 variabel 2 4 16 sel. 

Adapun kelebihan-lelebihan dari kernaough map ini salah satunya yaitu aljabar 

Boole merupakan suatu sarana yang berguna untuk menyederhanakan pernyataan 

logika. Dengan menggunakan kernaough map memang belum dapat menurunkan 

dengan mudah namun  ada  banyak kelebihan-kelebihan didalamnya. 

Adapun dalam penyampaian materinya ada  tiga jenis peta carnough map yaitu: 

1. Peta karnouhg map dua variabel, 2. Peta karnough map tiga variabel, dan 3. Peta 

karnough empat variabel. Masing-masing jenis dijelaskan dengan rinci didalam makalah 

ini. 

Adapun cara-cara penyederhanaan persamaan karnough map yaitu sebagai berikut : 

Dengan menggunakan pengelompokan secara berpasangan, odudant/overlaing, 

penggulungan dan keadaan tidak peduli. Semua metode diatas telah dijelaskan secara 

terperinci didalam makalah ini. 

 

 

 









Lebih baru Lebih lama