11. ALJABAR BOOLEAN
11.1 Aljabar Boolean Dua Nilai Aljabar Boolean Dua Nilai didefinisikan pada himpunan B dengan dua buah elemen 0 dan 1 (sering dinamakan bit – singkatan dari binary digit) yaitu B = {0, 1}, operator biner “+” dan “.” dan operator uner “ ’ ”. Untuk selanjutnya istilah “Aljabar Boolean Dua Nilai” disingkat menjadi “Aljabar Boolean”.
Hukum-hukum Aljabar Boolean 1. Hukum Identitas a + 0 = a a . 1 = a 2. Hukum Idempoten a + a = a a . a = a 3. Hukum Komplemen a + a’ = 1 a . a’ = 0 4. Hukum Dominansi a . 0 = 0 a + 1 = 1 5. Hukum Komplemen Ganda (i) (a’)’ = a 6. Hukum Penyerapan a + ab = a a(a+b)=a 7. Hukum Komutatif a + b = b + a ab = ba 8. Hukum Asosiatif a+(b+c) = (a+b)+c a(bc)=(ab)c
Hukum-hukum Aljabar Boolean 9. Hukum Distributif a + ( bc ) = (a + b)(a + c) a (b + c) = ab + ac 10. Hukum De Morgan (a + b)’ = a’ b’ (ab)’ = a’ + b’ 11. Hukum 0/1 0’ = 1 1’ = 0
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).
11.3 Fungsi Boolean Contoh 11.1 f(x) = x f(x,y) = x’y + xy’ + y’ f(x,y) = x’y’ f(x,y) = (x+y)’ 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.
Misal fungsi f(x,y,z) = x y’ z’ 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’ xy’z’ 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) 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(y z + yz) dengan menggunakan hukum De Morgan dan prinsip Dualitas! Penyelesaian: Hukum De Morgan f(x,y,z) = (x(y z + yz)) = x + (y z + 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)
11.6 Komplemen 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 2. Perkalian dari hasil penjumlahan, misalnya: f(x,y,z) = (x + y + z) (x + y + z) (x + y + z) minterm (hasil kali) maxterm (hasil jumlah)
Faktor yang perlu diperhatikan adalah setiap minterm atau maxterm harus mempunyai jumlah literal yang lengkap f(x,y,z) = xyz + yz + xyz f(x,y,z) = (x + y + z) (y + z) bukan minterm minterm bukan maxterm maxterm
Fungsi Boolean yang keseluruhan sukunya (term) merupakan minterm atau maxterm disebut dalam bentuk Kanonik. Contoh 11.6 Fungsi Boolean berikut adalah fungsi Boolean dalam a. f(x,y,z) = xyz + xyz + xyz 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
11.7 Membentuk minterm dan maxterm dengan tabel kebenaran 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 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 (M0) x + y = 01 = 1, sehingga indeks M adalah 1 (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 + xyz + xyz 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. Maka 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 yang tidak dalam bentuk kanonik menjadi bentuk kanonik Kanonik SOP Bentuk setiap suku fungsi Boolean dalam bentuk penjumlahan hasil perkalian. Jika diperlukan gunakan hukum-hukum aljabar Boolean. Kalikan setiap suku dengan 1 (hukum komplemen), agar setiap suku mengandung literal yang lengkap. Selesaikan perkalian. Kanonik POS Bentuk setiap suku fungsi Boolean dalam bentuk perkalian hasil penjumlahan. Jika diperlukan gunakan 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) = xy + xy = xy (z + z) + xy (z + z) = xyz + xyz + xyz + xyz yz = yz (x + x) = x yz + x yz Jadi f(x,y,z) = xyz + xyz + xyz + xyz + x yz + x yz 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.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 huklum 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. Perbedannya dengan bentuk kanonik adalah pada bentuk kanonik SOP dan POS setiap term mengnadung 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 Gerbang OR dua masukan Gerbang NOT (inverter) Gerbang NAND dua masukan Gerbang NOR dua masukan Gerbang XOR dua masukan Gerbang XNOR dua masukan x y x y x y x + y x x x y (x y) x y (x + y) x y (x y) x y (x y)
11.13 Rangkaian Logika Rangkaian logika dibangun dengan menggunakan kombinasi dari beberapa gerbang. Rangkaian logika dapat digambarkan dengan menggunakan sumber input yang sama. Sedangkan cara lain adalah menggunakan sumber input yang berbeda.