SISTEM DIGITAL
Penyederhanaan Fungsi Boolean(K-Map, Kondisi Don’t Care)
Penyederhanaan diagram logika
• Untuk mendapatkan se-efisien mungkin desain rangkaian dan jumlah gerbang logika yang digunakan
• Tujuan:– Proses lebih cepat– Biaya lebih murah
• Metode:– Menggunakan aturan aljabar boolean (secara matematis) – Menggunakan Karnaugh map (K-map)– Menggunakan tabulasi (Quine McCluskey)
2
Penyederhanaan secara matematis
Elemen identitas x + 0 = x x . 1 = x
Komplemen x + x’ = 1 x . x’ = 0
Tertutup x + x = x x . x = x
x + 1 = 1 x . 0 = 0
Involusi (x’)’ = x
Komutatif x + y = y + x xy = yx
Asosiatif x + (y + z) = (x + y) + z x(yz) = (xy)z
Distributif x (y + z) = xy + xz x + (yz) = (x + y) (x + z)
DeMorgan (x + y)’ = x’y’ (xy)’ = x’ + y’
Absorpsi x + xy = x x (x + y) = x
3
Penyederhanaan secara matematis
Contoh: F1 = (A’+B)A
= AA’ + AB= 0 + AB= AB
F2 = (A+B’)(A+B)= AA + AB + AB’ + BB’= A + AB + AB’ + 0 = A(1 + B + B’)= A(1)= A
4
Penyederhanaan secara matematis
F3 = AB + A’C + BC= AB + A’C + BC(A+A’)= AB + A’C + ABC + A’BC= AB(1+C) + A’C(1+B)= AB + A’C
F4 = y+xy’= (y+x)(y+y’)= y+x = x+y
5
K-map
• Setiap kombinasi variabel (minterms) dipetakan ke kotak yang unik
• Setiap 2n kotak bernilai 1 yang berdekatan (mempunyai beda nomor kotak 1 bit) digabungkan
• Hasil yang didapatkan dalam bentuk sum of product (SOP)
• Bisa untuk menyederhanakan fungsi boolean dengan jumlah variabel 2, 3, 4, dst.
6
K-map 2 variabel
x
y
1
1
x
y
1
1 1
• Contoh– F = xy’ + x’y’
F = y’
– F = x + x’y + xy
F = x + y
7
x
y
x'y’ x'y
xy’ xy
x
y
m0 m1
m2 m3
K-map 3 variabel
x
y
z
m0 m1 m2m3
m4 m5 m6m7
x
y
z
1 1
1 1
8
• Contoh– F = x’y’z’ + x’yz’ + xyz + xy’z
F = xz + x’z’
– F(x,y,z) = Σ(0,2,4,5,6,7)
F = x + z’
– F(x,y,z) = Σ(1,3,5,7)
F = z
x
y
z
1 1
1 11 1
x
y
z
1 1
1 1
K-map 4 variabel
w
x
y
z
m0 m1 m2m3
m4 m5 m6m7
m12 m13 m14m15
m8 m9 m10m11
9
• Jumlah kotak yang digabungkan menentukan jumlah variabel dalam suatu minterms– 1 kotak merepresentasikan 4 variabel– 2 kotak merepresentasikan 3 variabel– 4 kotak merepresentasikan 2 variabel– 8 kotak merepresentasikan 1 variabel– 16 kotak merepresentasikan nilai 1
K-map 4 variabel
w
x
y
z
11
1 1
1
1
1
1
• F(w,x,y,z) = Σ(1,3,4,6,9,11,12,14)
F(w,x,y,z) = xz’ + x’z
10
• F(w,x,y,z) = m0+ m2+ m8+ m9+ m10+ m11+ m12+ m14
F(w,x,y,z) = wx’ + wz’ + x’z’
w
x
y
z
11
1 11
1
1
1
K-map
• Contoh:– Menentukan sum of minterms dan menyederhanakan
fungsi boolean: F = A(B+C)+A’B+BC
= AB + AC + A’B + BC = AB(C+C’) + AC(B+B’) + A’B(C+C’) + BC(A+A’)
= ABC + ABC’ + ABC + AB’C + A’BC + A’BC’ + ABC + A’BC
= ABC + ABC’ + AB’C + A’BC + A’BC’
11
K-map
F = ABC + AB’C’ + AB’C + A’BC + A’BC’
F = AB’ + BC + A’B
A
B
C
1
1 1 11
12
K-map
• Penyederhanaan dari bentuk product of sum– Menggabungkan kotak dengan nilai 0 untuk mendapatkan
F’– Dengan menggunakan aturan DeMorgan, didapatkan F =
(F’)’
• Contoh:– Dari tabel kebenaran berikut, fungsi boolean dapat
dinyatakan dalam dua bentuk: • sum of products dan product of sums; • kedua bentuk tersebut dapat disederhanakan menggunakan K-
map
13
K-map
w x y z F
0 0 0 0 1
0 0 0 1 1
0 0 1 0 1
0 0 1 1 1
0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
0 1 1 1 0
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 0
1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1
• Tabel kebenaran
14
• Dapat dituliskan sebagai:F(w,x,y,z) = Σ(0,1,2,3,12,13,14,15) atauF(w,x,y,z) = Π(4,5,6,7,8,9,10,11)
w
x
y
z
11
00
0
11
1
0 0
1
0
1 1
0 0
K-map
• Untuk sum of products, digabungkan kotak yang bernilai 1, didapatkan:
F= w’x’+wx• Untuk product of sums, digabungkan kotak yang
bernilai 0, didapatkan komplemen dari F: F’= w’x+wx’
komplemen dari F’ didapatkan F=(F’)’= (w’x+wx’)’ = (w+x’)(w’+x)
dimana, (w+x’)(w’+x) = w’x’+wx
15
Kondisi don’t care
• Nilai yang dihasilkan suatu fungsi boolean yang tidak mempengaruhi hasil output
• Bisa diasumsikan bernilai 0 atau 1• Bisa digunakan untuk penyederhanaan fungsi
boolean • Dinotasikan dengan ‘x’• Contoh:
– F(w,x,y,z) = Σ(0,1,3,5,6,7,11)– d(w,x,y,z) = Σ(4,15)
16
Kondisi don’t care
• Dengan don’t care
F=w’x + yz + w’y’
• Tanpa don’t care
F=x’yz + w’z + w’x’y’ + w’xy
17
z
w
x
y
11 1
1
1 1 1x
x
x
w'
y
z
w'
y'
F
y
w
x
z
11 1
1
1 1 1
x'
w'
yz
w'
y'
F
z
x'
w'
yx
Gerbang NAND - NOR
18
• Rangkaian digital sering diimplementasikan menggunakan gerbang NAND atau NOR
• Perlu konversi dari gerbang selain NAND dan NOR ke gerbang NAND atau NOR
Gerbang NAND
=
=
=
x x'
xy
xy
xy
x + y
x
xy
x
y(x’y’)’ = x + y
x’
((xy)’)’ = xy
19
• Operasi logika dengan gerbang NAND
• Gerbang NAND dapat dinyatakan sebagaix
x
y
y
(xy)'
x’ + y’ = (xy)’
AND-invert
Invert-OR
Gerbang NAND
• Prosedur untuk mengkonversikan rangkaian logika yang terdiri dari gerbang AND dan OR ke gerbang NAND:– Konversi semua gerbang AND ke NAND dalam bentuk
AND-invert– Konversi semua gerbang OR ke NAND dalam bentuk
invert-OR– Periksa semua lingkaran (simbol NOT)
• Jika pada pada garis yang sama tidak ada pasangan lingkaran, maka tambahkan inverter atau ubah variabel input menjadi komplemennya
20
Gerbang NAND
xy‘
yz
yz‘
F
21
• Dari fungsi boolean F = (xy’ + yz) (y + z’)
dikonversi menjadi xy‘
yz
y'z
F
Gerbang NOR
=
=
=
x x'
xy
xy
x + y
xy
x
xy
x
y(x’ + y’)’ = xy
x’
((x + y)’)’ = x + y
22
• Operasi logika dengan gerbang NOR
• Gerbang NOR dapat dinyatakan sebagaix
x
y
y
(x + y)'
(x’y’) = (x + y)’
OR-invert
Invert-AND
Gerbang NOR
• Prosedur untuk mengkonversikan rangkaian logika yang terdiri dari gerbang AND dan OR ke gerbang NOR adalah ekivalen dengan konversi ke gerbang NAND– Setiap gerbang OR dikonversi ke OR-invert– Setiap gerbang AND dikonversi ke invert-AND– Jika pada pada garis yang sama tidak ada pasangan
lingkaran (simbol NOT), maka tambahkan inverter atau ubah variabel input menjadi komplemennya
23
Gerbang NOR
xz‘
xy
y'z
F
24
• Dari fungsi boolean F = (xz’ + xy) (y’ + z)
dikonversi menjadix’z
y’
y'z
F
x’
Referensi
• Morris Mano, Digital Design 5th Edition, Pearson Prentice Hall, 2011
25
Latihan
1. Sederhanakan fungsi berikut menggunakan K-mapa) F(w,x,y,z) = Σ(1,4,5,6,12,13,14)b) F(w,x,y,z) = Σ(1,3,5,7,8,10,12,14)
2. Sederhanakan fungsi berikuta) F(w,x,y,z) = Π(1,3,5,7,13,15)b) F = B + AB’
3. Sederhanakan fungsi boolean dengan kondisi don’t care berikut ini:a) F(A,B,C,D) = Σ(1,3,8,10,15); d(A,B,C,D) = Σ(0,2,9)b) F(A,B,C,D) = Σ(5,6,7,12,14,15); d(A,B,C,D) = Σ(3,9,11,15)
26
Latihan4. Gambarkan rangkaian menggunakan gerbang
NAND dari fungsi berikut:a) F = (x’yz’ + x’z) (xz’ + xyz) (x + y’)b) F = abc’ + bc + a’b + ab’c’
5. Sederhanakan fungsi berikut dan implementasikan menggunakan dua level gerbang NAND
F = w’ + x + z’ + x’y6. Gambarkan rangkaian NAND untuk
mengimplementasikan komplemen dari fungsi berikut
F(w,x,y,z) = Σ(0,1,2,3,6,10,11,14)
27