11. ALJABAR BOOLEAN
11.1 Aljabar Boolean Dua Nilai Misal B adalah himpunan yg didefinisikan pada dua operator biner + dan . dan sebuah operator uner ‘ . Jika 0 dan 1 adalah dua elemen berbeda pada B, maka tupel <B, + , . , ‘ , 0 , 1> disebut aljabar boolean jika untuk setiap a, b, c B berlaku aksioma: Identitas (i) a + 0 = a (ii) a . 1 = a 2. Komutatif (i) a + b = b + a (ii) a . b = b . a Distributif (i) a . (b + c) = (a . b) + (a . c) (ii) a + ( b . c) = (a + b) . (a + c) Komplemen Untuk setiap a B terdapat elemen unik a B, sehingga (i) a . (b + c) = (a . b) + (a . c) (ii) a + ( b . c) = (a + b) . (a + c)
Hukum-hukum Aljabar Boolean 1. Hukum Identitas (i) a + 0 = a (ii) a . 1 = a 7. Hukum Komutatif (i) a + b = b + a (ii) ab = ba 2. Hukum Idempoten (i) a + a = a (ii) a . a = a 8. Hukum Komutatif (i) a + b = b + a (ii) ab = ba 3. Hukum Komplemen (i) a + a = 1 (ii) a . a = 0 9. Hukum Distributif (i) a + (bc) = (a+b)(a+c) (ii) a (b + c) = ab + ac 4. Hukum Dominansi (i) a . 0 = 0 (ii) a + 1 = 1 10. Hukum De Morgan (i) (a + b) = a b (ii) (ab) = a + b 5. Hukum Penyerapan (i) a + ab = a (ii) a(a+b)=a 11. Hukum 0/1 (i) 0 = 1 (ii) 1 = 0 6. Hukum Komplemen Ganda (a)= a
11.2 Prinsip Dualitas Jika S adalah sebuah identitas yang berlaku pada Aljabar Boolean, maka dual dari S (ditulis S*) juga berlaku. S* diperoleh dengan cara mengganti: . dengan + + dengan . 0 dengan 1 1 dengan 0 Perhatikan Hukum-hukum Aljabar Boolean. Jika kita perhatikan, identitas (ii) adalah dual dari identitas (i), atau sebaliknya.
11.3 Fungsi Boolean Contoh 11.1 1. f (x) = x 2. f (x,y) = x y + xy + y 3. f (x,y) = xy 4. f (x,y) = (x+y) 5. f (x,y,z) = xyz Peubah pada fungsi Boolean disebut “literal”. Setiap literal bernilai 0 atau 1.
Contoh 11.2 Misal fungsi f(x,y,z) = x y z Jika nilai x =1, y = 1 dan z = 0, maka f(1,1,0) = 1.1.0 = 1.1.1 = 1 Selain dapat ditentukan dengan cara aljabar, fungsi Boolean juga dapat ditentukan dengan menggunakan tabel kebenaran. Jika fungsi Boolean terdiri dari n literal, maka kombinasi dari seluruh literal akan terdiri dari 2n kombinasi. Berarti tabel kebenaran terdiri dari 2n baris.
Contoh 11.3 Misal fungsi f (x,y,z) = x y z. Nyatakan nilai kebenaran f (x, y, z) dengan menggunakan tabel kebenaran. Penyelesaian x y z y z xyz 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
11.4 Penjumlahan dan Perkalian Dua Fungsi Boolean Misal f dan g adalah dua fungsi Boolean dgn n peubah. Penjumlahan f + g didefinisikan sebagai (f+g) (x1 + x2 + … + xn) = f (x1 + x2 + … + xn) + g(x1 + x2 + … + xn) Sedangkan perkalian f . g didefinisikan sebagai (f . g) (x1 + x2 + … + xn) = f (x1 + x2 + … + xn) . g (x1 + x2 + … + xn) Contoh 11.4 Misal fungsi f (x, y) = xy + y dan g(x, y) = x + y Tentukan f + g dan f.g Penyelesaian f + g = xy + y + x + y f . g = (xy + y)(x + y)
11.5 Komplemen Fungsi Boolean Komplemen dari suatu fungsi f, yaitu f’, dapat ditentukan dengan dua cara, yaitu: 1. Menggunakan Hukum De Morgan: (x1 + x2 + … + xn) = x1 x2 x3 (x1 x2 x3 ) = x1 + x2 + x3 2. Menggunakan prinsip dualitas. Pertama-tama tentukan dual dari f. Setelah itu kompalemenkan setiap literal dalam dual tersebut. Bentuk akhir yang didapat adalah fungsi komplemen.
Contoh 11.5 Tentukan komplemen fungsi f (x,y,z) = x(yz + yz) dengan menggunakan hukum De Morgan dan prinsip Dualitas! Penyelesaian: Hukum De Morgan f (x,y,z) = (x(yz + yz)) = x + (yz + yz) = x + (y + z)(y + z) Prinsip dualitas f *(x,y,z) = x + (y + z)(y + z) f (x,y,z) = x + (y + z)(y + z)
maxterm (hasil jumlah) 11.6 Bentuk Kanonik Fungsi Boolean Fungsi Boolean dapat disajikan dalam dua bentuk berbeda, yaitu: Penjumlahan dari hasil kali, misalnya: f (x, y, z) = x y z + x yz + x y z minterm (hasil kali) 2. Perkalian dari hasil penjumlahan, misalnya: f (x,y,z) = (x + y + z) (x + y + z) (x + y + z) maxterm (hasil jumlah)
Faktor yang perlu diperhatikan adalah setiap minterm atau maxterm pada bentuk kanonik harus mempunyai jumlah literal yang lengkap. tidak lengkap f (x, y, z) = xy z + y z + x yz minterm f (x, y, z) = (x + y + z) (y + z) maxterm tidak lengkap
Fungsi Boolean yang keseluruhan sukunya (term) merupakan minterm atau maxterm yang lengkap disebut mempunyai bentuk Kanonik. Contoh 11.6 Fungsi Boolean berikut adalah fungsi Boolean dalam bentuk Kanonik. a. f (x, y, z) = xy z + x y z + x yz b. f (x, y, z) = (x + y + z) (x + y+ z) Bentuk Kanonik terdiri dari 2 bentuk, yaitu: Penjumlahan dari hasil kali (sum-of- product) atau SOP Perkalian dari hasil penjumlahan (product-of-sum) atau POS Nama lain dari: SOP adalah bentuk normal disjungtif (disjunctive normal form) POS adalah bentuk normal konjungtif (conjunctive normal form)
Contoh 11.7 f (x, y, z) = xyz + xyz + xyz adalah fungsi Boolean dalam bentuk SOP. f (x,y,z) = (x + y + z)(x + y + z)(x + y+ z)(x + y + z) adalah fungsi Boolean dalam bentuk POS
Untuk minterm, lambang komplemen menunjukkan 11.7 Membentuk minterm & maxterm dgn tabel kebenaran x y Minterm Maxterm suku lambang xy m0 x + y M0 1 xy m1 x + y M1 xy m2 x+ y M2 xy m3 x+ y M3 Untuk minterm, lambang komplemen menunjukkan nilai 0, sedangkan lambang tanpa komplemen menunjukkan nilai 1. Contoh xy = 00 = 0, sehingga indeks m adalah 0 (m0) xy = 01 = 1, sehingga indeks m adalah 1 (m1) dst.
x y Minterm Maxterm suku lambang xy m0 x + y M0 1 xy m1 x + y M1 xy m0 x + y M0 1 xy m1 x + y M1 xy m2 x+ y M2 xy m3 x+ y M3 Untuk maxterm, lambang komplemen menunjukkan nilai 1, sedangkan lambang tanpa komplemen menunjukkan nilai 0. Contoh x + y = 00 = 0, sehingga indeks M adalah 0 atau M0 x + y = 01 = 1, sehingga indeks M adalah 1 atau M1 dst.
11.8 Membentuk fungsi Boolean dalam bentuk kanonik (SOP dan POS) dari tabel kebenaran Untuk membentuk fungsi Boolean dalam bentuk SOP, tinjau kombinasi nilai-nilai peubah yang memberikan nilai fungsi = 1. Untuk membentuk fungsi Boolean dalam bentuk POS, tinjau kombinasi nilai-nilai peubah yang memberikan nilai fungsi = 0.
Contoh 11.8 Dari tabel kebenaran berikut, tentukan suatu fungsi Boolean dalam bentuk SOP dan POS. x y z f (x,y,z) 1 Penyelesaian
Kanonik SOP Kombinasi nilai-nilai peubah yang menghasilkan nilai fungsi = 1 adalah 001, 100, 111 Maka fungsi Boolean dalam bentuk Kanonik SOP adalah: f (x, y, z) = xyz + x y z + x y z atau dengan menmggunakan lambang minterm: f (x, y, z) = m1 + m4 + m7 = (1, 4, 7) Kanonik POS Kombinasi nilai-nilai peubah yang menghasilkan nilai fungsi = 0 adalah 000, 010, 011, 101, 110. Sehingga fungsi Boolean dalam bentuk Kanonik POS adalah f (x, y, z) = (x + y + z)(x + y + z)(x + y + z)(x + y + z) atau dengan menmggunakan lambang maxterm: f (x, y, z) = M0 M2 M3 M5 M6 = (0, 2, 3, 5, 6)
11.9 Mengubah fungsi Boolean bentuk Standar Ke dalam Bentuk kanonik Terdapat dua cara untuk mengubah fungsi Boolean menjadi bentuk kanonik, yaitu dengan menggunakan: Hukum-hukum Aljabar Booelan Tabel Kebenaran
11.9.1 Menggunakan hukum-hukum Aljabar Boolean Kanonik SOP Bentuk fungsi Boolean menjadi standar SOP dgn menggunakan hukum-hukum aljabar Boolean. Kalikan setiap suku dengan 1 (hukum komplemen), agar setiap suku mengandung literal yang lengkap. Selesaikan perkalian. Kanonik POS Bentuk fungsi Boolean menjadi standar POS dgn menggunakan hukum-hukum aljabar Boolean. Tambahkan setiap suku dengan 0, agar setiap suku mengandung literal yang lengkap.
Contoh 11.9 Ubah fungsi Boolean f (x, y, z) = x + yz ke dalam bentuk Kanonik SOP dan POS. Penyelesaian: Bentuk kanonik SOP f (x, y, z) = x + yz x = x(y + y)(z + z) = xyz + xyz + xyz + xyz yz = yz (x + x) = x yz + xyz Jadi f (x, y, z) = xyz + xyz + xyz + xyz + xyz + xyz Suku yang sama cukup ditulis sekali saja. Sehingga f (x, y, z) = xyz + xyz + xyz + xyz + xyz atau f (x, y, z) = m1 + m4 + m5 + m6 + m7 = (1, 4, 5, 6, 7)
Bentuk kanonik POS f (x, y, z) = x + yz = (x+y)(x+z) x + y = x + y + zz = (x + y +z)(x + y + z) x + z = x + z +yy = (x + y +z)(x + y + z) Jadi f(x,y,z) = (x + y + z)(x + y + z) (x + y + z)(x + y + z) Sehingga f (x, y, z) = (x + y + z)(x + y + z)(x + y + z) atau f (x, y, z) = M0 M2 M3 = (0, 2, 3)
11.9.2 Menggunakan Tabel Kebenaran Kanonik SOP Bentuk fungsi Boolean menjadi standar SOP dgn menggunakan hukum-hukum aljabar Boolean. Lengkapi tabel kebenaran sesuai dengan masing-masing minterm. Setiap minterm mempunyai nilai 1 3. Jumlah dari minterm yang bernilai 1 pada tabel kebenaran adalah bentuk kanonik SOP Kanonik POS Bentuk fungsi Boolean menjadi standar POS dgn menggunakan hukum-hukum aljabar Boolean. 3. Jumlah dari minterm yang bernilai 1 pada tabel kebenaran adalah bentuk kanonik POS.
Contoh 11.10 Ubah fungsi Boolean f (x, y, z) = x + yz ke dalam bentuk Kanonik SOP dan POS. Penyelesaian: Bentuk kanonik SOP f (x, y, z) = x + yz x y z f(x, y, z) 1 Sehingga didapat f (x, y, z) = xyz + xyz + xyz + xyz + xyz atau f (x, y, z) = m1 + m4 + m5 + m6 + m7 = (1, 4, 5, 6, 7)
Hukum distyributif f (x, y, z) = (x + y)(x + z) Bentuk kanonik POS f (x, y, z) = x + yz Hukum distyributif f (x, y, z) = (x + y)(x + z) Sehingga didapat f (x, y, z) = (x+y+z)(x+y+z)(x+y+z) atau f (x, y, z) = M0 + M2 + M3 = (0, 2, 3) x y z f(x, y, z) 1
11.10 Konversi antar bentuk kanonik Misal f = (1, 4, 5, 6, 7) adalah fungsi Boolean dalam bentuk SOP yang akan dikonversi ke bentuk POS. f (x, y, z) = (0, 2, 3) = m0 + m2 + m3 adalah fungsi komplemen dari f. Dengan menggunakan hukum De Morgan, dapat diperoleh fungsi f dalam bentuk POS. f (x, y, z) = (f (x, y, z)) = (m0 + m2 + m3) = m0 . m2 . m3 = (xyz) (xyz) (xyz) = (x + y + z)(x + y+ z)(x + y+z) = M0 M2 M3 = (0, 2, 3) Jadi f (x,y,z) = (1, 4, 5, 6, 7) = (0, 2, 3)
11.11 Bentuk Baku Selain bentuk kanonik SOP dan POS, ada cara lain untuk mengekspresikan fungsi Boolean, yaitu bentuk baku (standard) SOP dan POS. Perbedaannya dengan bentuk kanonik adalah pada bentuk kanonik SOP dan POS setiap term mengandung literal yang lengkap. Sedangkan pada bentuk baku, setiap term tidak harus mengandung literal yang lengkap.
Gerbang AND dua masukan Gerbang OR dua masukan Gerbang NOT (inverter) 11.12 Gerbang Logika Gerbang AND dua masukan x y x y Gerbang OR dua masukan x y x + y Gerbang NOT (inverter) x x Gerbang NAND dua masukan x y (x y) Gerbang NOR dua masukan x y (x + y) Gerbang XOR dua masukan x y (x y) Gerbang XNOR dua masukan x y (x y)
11.13 Rangkaian Logika Rangkaian logika dibangun dengan menggunakan kombinasi dari beberapa gerbang. Rangkaian logika dengan input yang sama dapat digambarkan dengan pencabangan sumber input atau sumber input yang terpisah. Gambar berikut dua rangkaian logika yang menghasilkan output yang sama, yaitu xy (x + y)
x y xy xy(x + y) x y x+y (x+y) x y xy xy(x + y) x+y (x+y)
Contoh 11.10 Gambarkan rangkaian logika yang menghasilkan output: (x + y) y a) (x + y) z b) (x + y + z) z x y ( ) c) Penyelesaian (x + y) y a) x y (x + y) x + y
(x + y) z b) x y (x + y) z + y
c) (x+y+z) z x y ( ) x y z x+y+z (x+y+z) ( )