TINJAUAN PUSTAKA
5
6. Terdapat sedikitnya dua elemen, x dan y ϵ B sedemikian hingga berlaku:
x≠y
7. Asosiatif : (i) x + (y+z) = (x+y) + z
(ii) x • (y • z) = (x • y) • z
8. Idempoten : (i) x • x = x
(ii) x + x = x
Aksioma satu sampai enam disebut dengan Postulat Huntington. Hal ini
karena aksioma tersebut diformulasikan oleh E.V. Huntington, syarat Aljabar
Boolean berdasarkan aksioma yang dijelaskan adalah sebagai berikut [7].
1. Elemen himpunan B
2. Kaidah operasi adalah untuk dua operator biner
3. Himpunan B bersama-sama dengan dua operator biner harus memenuhi
Postulat Huntington (aksioma 1 sampai dengan 6)
Terdapat beberapa perbedaan antara Aljabar Boolean dengan aljabar biasa
untuk aritmetika bilangan riil. Perbedaan tersebut adalah sebagai berikut [1].
1. Hukum distributif pertama pada aksioma yaitu x • (y+z) = (x • y) + (x • z) dapat
berarti Aljabar Boolean juga aljabar biasa. Namun untuk hukum distributif
kedua yaitu x + (y • z) = (x+y) • (x+z) tidak benar untuk aljabar biasa namun
benar untuk Aljabar Boolean
2. Aljabar Boolean tidak memiliki operasi pembagian dan pengurangan hal ini
karena Aljabar Boolean tidak memiliki kebalikan perkalian (multipicative
inverse) dan kebalikan penjumlahan
3. Aksioma komplemen pada Aljabar Boolean tidak tersedia pada aljabar biasa
4. Aljabar biasa memperlakukan himpunan bilangan riil dengan elemen yang tidak
berhingga. Sedangkan Aljabar Boolean memperlakukan himpunan B
didefinisikan hanya dengan dua nilai yaitu 0 dan 1.
6
Tabel 2.1 Operator Biner untuk Penjumlahan dan Perkalian Logika
x y x•y x y x+y
0 0 0 0 0 0
0 1 0 0 1 1
1 0 0 1 0 1
1 1 1 1 1 1
x x’
0 1
1 0
Operasi-operasi yang terdapat pada Tabel 2.1 dan Tabel 2.2 harus
memenuhi aksioma yang ada. Hal ini dapat dibuktikan pada penjelasan berikut:
1. Closure. Pada tabel dapat dilihat bahwa 0 dan 1 ϵ B
2. Identitas. Dapat terlihat pada masing-masing tabel operator penjumlahan dan
perkalian yang memenuhi elemen identitas 0 dan 1 yaitu:
(i) 0 + 1 = 1 + 0 = 1
(ii) 1 • 0 = 0 • 1 = 0
3. Komutatif. Dapat dilihat dari simetri tabel antara kolom x dan kolom y
4. Distributif. Jelas terpenuhi pada distributif (i) yaitu x • (y+z) = (x • y) + (x • z)
dapat dibuktikan dengan membuat tabel kebenaran dengan semua nilai x dan y
berasal dari Tabel 2.1. Sedangkan hukum distributif (ii) yaitu x + (y • z) = (x+y)
• (x+z) juga sama dapat dibuktikan dengan membuat tabel kebenaran distributif
(i). Adapun tabel kebenaran untuk distributif (i) seperti pada Lampiran 1.
5. Komplemen. Dapat dilihat pada Tabel 2.2 yang memperlihatkan bahwa:
(i) x + x’ = 1
(ii) x • x’ = 0
6. Aksioma 6 jelas terpenuhi karena Aljabar Boolean memiliki dua nilai yaitu 0
dan 1 sehingga 0 ≠ 1.
7
2.3 Prinsip Dualitas
Pada Aljabar Boolean, kerap ditemukan kesamaan identitas misalnya pada
dua aksioma distributif (i) dan (ii) yaitu:
(i) x • (y+z) = (x • y) + (x • z)
(ii) x + (y • z) = (x+y) • (x+z)
Berdasarkan aksioma distributif, aksioma distributif (ii) memiliki kesamaan dengan
distributif (i) dengan hanya mengganti (•) dengan (+). Persamaan ini disebut dengan
prinsip dualitas yang mana juga ditemukan dalam teori himpunan maupun logika.
Adapun prinsip dualitas dapat disebutkan sebagai berikut [8].
(•) mempertukarkan dengan (+), begitupun sebaliknya
(1) mempertukarkan dengan (0), begitupun sebaliknya.
Berdasarkan aksioma yang disebutkan sebelumnya, prinsip dualitas masing-masing
aksioma adalah sebagai berikut.
1. Komutatif :x+y=y+x
Dualitas: x • y = y • x
2. Asosiatif : x + (y+z) = (x+y) + z
Dualitas: x • (y•z) = (x•y) + z
3. Distributif : x + (y•z) = (x+y) •(x+z)
Dualitas: x • (y+z) = (x•y) + (x•z)
(i) x + 0 = x (i) x + x = x
(ii) x • 1 = x (ii) x • x = x
(i) x + x’ = 1 (i) x • 0 = 0
(ii) x • x’ = 0 (ii) x + 1 = 1
8
5. Hukum Involusi: 6. Hukum penyerapan (absorbsi):
(ii) x(x+y) = x
(i) 0’ = 1
(ii) 1’ = 0
9
1. f (x) = x’
3. f (x,y,z) = xy’z + yz
4. f (x,y,z) = x + (y’z)
5. f (x,y,z) = xy’z
10
2. Menggunakan prinsip dualitas
Cara mencari fungsi komplemen dengan prinsip dualitas adalah pertama
tentukan terlebih dahulu ekspresi Boolean yang mempresentasikan f, lalu
komplemenkan dari setiap variabel di dalam dual tersebut sehingga membentuk
ekspresi akhir yang disebut fungsi komplemen. Contoh menggunakan prinsip
dualitas adalah sebagai berikut:
Contoh 2.1
f(x,y,z) = x(y’z’ + yz) (menyatakan ekspresi fungsi f)
= x + (y’ + z’) (y+z) (menentukan dual dari ekspresi
Fungsi f)
= x’ + (y + z) (y’ + z’) = f’ (hasil komplemen dari tiap
variabel dual diatas)
Sehingga diperoleh f’(x,y,x) = x’ + (y + z) )y’ + z’) sebagai bentuk fungsi
komplemen dari f(x,y,z) = x(y’z’ + yz).
11
Kedua ekspresi Boolean pada Contoh 2.2 dan Contoh 2.3 baik minterm
maupun maxterm memiliki hasil yang sama sehingga keduanya adalah fungsi yang
sama. Ekspresi Boolean yang dinyatakan dalam satu atau lebih minterm ataupun
maxterm disebut sebagai bentuk kanonik. Minterm dilambangkan sebagai huruf m
kecil berindeks. Indeks menyatakan nilai desimal dari string biner yang
mempresentasikan term. Pada 2 variabel x dan y indeks 0 pada mo menyatakan nilai
desimal dari 00 yang berarti (x = 0 dan y = 0), sedangkan indeks 1 pada m1 berarti
nilai desimal dari 01 dengan x = 0 dan y = 1, sedangkan indeks 2 pada m2
menyatakan nilai desimal dari 10 dengan x = 1 dan y = 0. Untuk indeks 3 pada m3
menyatakan nilai desimal dari 11 dengan x = 1 dan y = 1 [5].
Sedangkan maxterm dilambangkan dengan huruf M besar berindeks. Indeks
pada maxterm menyatakan nilai desimal dari string biner dengan ekspresi x + y
karena maxterm merupakan bentuk dari hasil kali dari jumlah. Sama halnya dengan
minterm, Pada 2 variabel x dan y indeks 0 pada M0 menyatakan nilai desimal dari
00 yang berarti (x = 0 dan y = 0) dan seterusnya. Untuk 3 variabel misalnya x, y, z
baik pada minterm maupun maxterm memiliki pola indeks yang sama. Misal indeks
0 untuk 3 variabel pada m0 menyatakan nilai desimal dari 000 yang berarti (x = 0,
y = 0, z = 0). Begitupun dengan m1 menyatakan nilai desimal dari 0001 yang berarti
(x = 0, y = 0, z = 1). Untuk itu, indeks 6 pada m6 berarti menyatakan nilai desimal
dari 110 yang merupakan bilangan biner dengan (x = 1, y = 1, z = 0) [5]. Secara
singkat, penjelasan mengenai indeks pada ekspresi bentuk minterm maupun
maxterm dapat dijelaskan pada Lampiran 3 dan 4.
Untuk membentuk minterm tinjau kombinasi variabel-variabel yang dapat
menghasilkan nilai 1 seperti 001, 100, 111 seperti:
x’y’z, xy’z, dan xyz
Sedangkan untuk membentuk maxterm tinjau kombinasi variabel-variabel yang
dapat menghasilkan nilai 0. Seperti kombinasi 000, 010, 101, dan 110 seperti:
(x + y + z), (x + y’ + z), (x’ + y + z’), dan (x’ + y’ + z’).
Perlu diketahui, bahwa mengekspresikan fungsi Boolean tidak selalu unik
yang berarti dua fungsi Boolean yang berbeda ekspresi dapat menyatakan dua buah
fungsi yang sama sehingga disebut tidak unik (tidak beda). Sebagai contoh, fungsi
f dan g memiliki dua fungsi yang berbeda yaitu [10]:
12
f (x,y,z) = x’y’z + x’yz + xy’
g (x,y,z) = x’z + xy’
Walaupun memiliki perbedaan ekspresi fungsi, kedua fungsi tersebut memiliki nilai
fungsi Boolean yang sama. Hal ini dapat dilihat pada tabel kebenaran pada
Lampiran 5.
Dapat dilihat pada Lampiran 5 walaupun fungsi f dan g memiliki bentuk
ekspresi yang berbeda namun keduanya memiliki nilai yang sama yang
menandakan tidak unik. Jika fungsi Boolean tidak unik dalam representasi
ekspresinya, fungsi ini dapat dapat diubah spesifikasinya menjadi fungsi lain
dengan memanipulasi aljabar terhadap ekspresi Boolean. Fungsi f (x,yz) = x’y’z +
x’yz + xy’ agar membentuk fungsi yang unik dapat dilakukan manipulasi aljabar
sebagai berikut [10].
Dengan manipulasi aljabar seperti yang dilakukan pada fungsi f maka akan
didapatkan fungsi yang unik dengan nilai yang berbeda dengan fungsi g.
Manipulasi aljabar ini juga disebut dengan istilah penyederhanaan fungsi Boolean.
13
Tabel 2.4 Konversi fungsi Boolean ke bit string
8 4 2 1
Desimal 23 22 21 20 Bentuk Variabel
w x y z
0 0 0 0 0 w’x’y’z’
1 0 0 0 1 w’x’y’z
2 0 0 1 0 w’x’yz
3 0 0 1 1 w’x’yz
4 0 1 0 0 w’xy’z’
5 0 1 0 1 w’xy’z
6 0 1 1 0 w’xyz’
7 0 1 1 1 w’xyz
8 1 0 0 0 wx’y’z’
9 1 0 0 1 wx’y’z
10 1 0 1 0 wx’yz’
11 1 0 1 1 wx’yz
12 1 1 0 0 wxy’z’
13 1 1 0 1 wxy’z
14 1 1 1 0 wxyz’
15 1 1 1 1 wxyz
Dari Tabel 2.3 dapat dilihat pada baris berwarna biru merupakan peubah
untuk mengubah desimal menjadi bit string, 2 menyatakan bilangan biner 0 dan 1
kemudian dipangkatkan sesuai jumlah variabel yang digunakan. Sebagai contoh
bilangan desimal 6 untuk diubah ke biner dengan cara tambahkan 4 dan 2 kemudian
dari kedua angka yang ditambahkan tersebut maka pada variabel angka tersebut
yaitu x dan y pada bit string binernya menjadi 1.
14
perlu atau dengan kata lain variabel yang berlebihan. Untuk itu, fungsi Boolean
dapat disederhanakan menjadi bentuk aljabar yang lebih sederhana.
Penyederhanaan fungsi Boolean berarti mencari bentuk fungsi lain yang ekuivalen
namun dengan jumlah variabel atau operasi yang lebih sedikit atau sederhana.
Penyederhanaan fungsi Boolean disebut juga manipulasi aljabar atau minimisasi
fungsi [5].
Fungsi Boolean yang lebih sederhana memiliki arti bahwa rangkaian logika
yang ada didalamnya juga lebih sederhana (menggunakan jumlah gerbang logika
yang lebih sedikit). Sebelumnya, fungsi f (x,y,z) = x’y’z + x’yz + xy’ sudah
disederhanakan menjadi fungsi f (x,y,z) = x’z + xy’. Penyederhanaan ini
menggunakan hukum-hukum aljabar pada fungsi Boolean sehingga cara
penyederhanaan ini disebut juga dengan cara Aljabar Boolean. Ada tiga cara yang
dapat dipilih dalam penyederhanaan fungsi Boolean yaitu sebagai berikut [7].
1. Aljabar Boolean
2. Peta Karnaugh
3. Quine McCluskey
Penyederhanaan fungsi Boolean dengan memanfaatkan hukum Aljabar
Boolean membutuhkan waktu yang lama serta hasil yang diperoleh tidak dapat
dijamin sebagai fungsi yang paling sederhana karena diduga cara Aljabar Boolean
mengandalkan proses try & error dalam penetuan solusi akhir. Selain itu, untuk
variabel yang lebih banyak tentunya menggunakan cara Aljabar Boolean yang
secara manual dapat memakan waktu dan tenaga yang tidak sedikit. Cara kedua
yaitu menggunakan Peta Karnaugh dengan menggunakan prosedur yang lebih
mudah dibandingkan cara Aljabar Boolean. Secara visual, penyederhanaan fungsi
Boolean menggunakan Peta Karnaugh diwujudkan dalam tabel kebenaran yang
merupakan perluasan dari Diagram Venn. Metode Peta Karnaugh disebut juga
metode grafis karena menggunakan diagram atau peta yang terbentuk dari kotak-
kota bujursangkar yang bersisian. Setiap kotak mempresentasikan sebuah minterm
yaitu bentuk term yang merupakan hasil kali [2].
Peta Karnaugh memang memiliki prosedur yang lebih mudah dibandingkan
menggunakan Aljabar Boolean namun metode ini juga memiliki kekurangan yaitu
fungsi Boolean yang memiliki variabel lebih dari empat lebih sulit untuk
15
disederhanakan menggunakan Peta Karnaugh. Hal ini dikarenakan semakin banyak
variabel maka ukuran peta pada Peta Karnaugh juga akan semakin besar sehingga
lebih sulit untuk diprogram dengan komputer karena memerlukan pengamatan
visual dalam mengidentifikasi minterm-minterm yang ada dalam setiap kotak.
Untuk menyempurnakan metode Peta Karnaugh, cara lain dalam
menyederhanakan Fungsi Boolean adalah dengan menggunakan metode Quine
McCluskey atau lebih dikenal dengan istilah metode tabulasi. Metode ini dapat
menyelesaikan penyederhanaan fungsi lebih dari lima variabel dan dapat dikerjakan
dengan mesin atau program komputer. Metode Quine McCluskey menjamin
pernyataan fungsi Boolean bentuk baku yang lebih sederhana. Oleh karenanya,
metode Quine McCluskey lebih efektif dikerjakan dengan menggunakan bantuan
mesin komputer [10].
2.11 Graf
Graf G adalah himpunan berpasangan (V,E) dengan V(G) adalah himpunan
tidak kosong dan berhingga dari objek yang disebut titik sedangkan E(G) adalah
himpunan yang dapat kosong berpasangan tak berurutan dari titik-titik berbeda di
V(G) yang disebut sebagai sisi. Himpunan titik di G dinotasikan sebagai V(G)
16
sedangkan himpunan sisi dinotasikan sebagai E(G). Banyaknya unsur di V disebut
orde dari G yang dilambangkan dengan p(G) dan banyaknya unsur di E disebut size
dari G dan dilambangkan dengan q(G). Jika hanya ada graf G, maka orde dan size
dari G dapat ditulis dengan G(p,q) [12]. Berikut contoh graf G:
Pada Gambar 2.1 graf G memiliki orde 4 dan 5 sisi yang kemudian dapat dinyatakan
dengan G = (V(G), E(G)) dengan V(G) = {a,b,c,d} dan E(G) = {(a,b),
(b,c),(c,d),(a,d),(a,c)} atau dapat ditulis dengan V(G) = {a,b,c,d} dan E(G) = {e1,e2,
e3, e4, e5}. Sisi yang menghubungkan dua titik yang sama disebut loop. Jika terdapat
lebih dari satu sisi yang menghubungkan dua titik, maka sisi tersebut dinamakan
sisi ganda. Graf digolongkan menjadi dua jenis yaitu graf sederhana dan graf tidak
sederhana. Graf sederhana adalah graf yang tidak memiliki sisi ganda sedangkan
graf tidak sederhana adalah graf yang memiliki sisi ganda sehingga disebut juga
graf ganda serta graf gelang adalah suatu graf didalamnya terdapat sisi yang
menghubungkan satu titik yang sama atau disebut juga graf semu [5].
17
v a u
Pada Gambar 2.3, sisi 𝑒2 dan 𝑒4 adalah anggota dari covering G karena 𝑒2
dan 𝑒4 cover (menutup) G, sehingga {e2 , e4 } disebut covering dari graf G karena
covering merupakan himpunan yang anggotanya sisi atau garis. Konsep covering
graf ini digunakan pada banyak aplikasi pemecahan masalah dalam kehidupan
sehari-hari seperti menemukan solusi atas permasalahan penempatan lokasi rumah
yang berada diantaranya tempat wisata, atau menemukan solusi atas pemilihan
produk rumah tangga dengan harga murah namun memenuhi semua standar
kualitas produk, dan sebagainya [13]. Prinsip covering graf digunakan untuk
mereduksi semua syarat dari suatu himpunan atau permasalahan agar solusi yang
diperoleh efektif dan efisien.
Himpunan covering menurut penelitian oleh [4] pada dasarnya dikatakan
minimal jika menggunakan paling sedikit jumlah titik. Pada Gambar 2.3 memiliki
himpunan minimal covering adalah {𝑒2 , 𝑒4 }. Terdapat beberapa hal yang harus
diperhatikan dalam minimal covering [13]:
18
1. Covering graf jika dan hanya jika graf tersebut tidak memiliki titik yang
terisolasi. Titik terisolasi artinya titik yang tidak memiliki sisi atau bisa
dikatakan dengan titik yang memiliki derajat 0. Derajat merupakan banyaknya
sisi yang terhubung pada titik tersebut.
𝑛
2. Covering dari graf n-titik akan memiliki setidaknya [ 2] sisi.
sisi dari sebuah graf. Perhitungan berikut merupakan maksimal dari covering
sebuah graf. Contoh dari minimal covering dalam kehidupan sehari-hari adalah
membagi daerah pada mobil patroli pada daerah yang memiliki catatan rawan
kriminal.
Jika dalam ilmu teknologi minimal covering dapat digunakan dalam
meminimasi atau menyederhanakan fungsi Boolean sebelum diimplementasikan
menjadi rangkaian logika. fungsi Boolean dibuat menjadi sebuah rangkaian graf
sesuai dengan fungsi yang tersedia dengan titik pada graf merupakan minterm pada
fungsi Boolean. Berikut contoh gambaran penyederhanaan fungsi Boolean
menggunakan covering:
19
Gambar 2.4 Contoh graf penyederhanaan fungsi Boolean
20