Escolar Documentos
Profissional Documentos
Cultura Documentos
1. Closure:
(i) a + b B
(ii) a b B
2. Identitas: (i) a + 0 = a
(ii) a 1 = a
3. Komutatif:(i) a + b = b + a
(ii) a b = b . a
4. Distributif:(i) a (b + c) = (a b) + (a c)
(ii) a + (b c) = (a + b) (a + c)
1
5. Komplemen : (i) a + a = 1
(ii) a a = 0
b
0
1
0
1
ab
0
0
0
1
a
0
0
1
1
b
0
1
0
1
a+b
0
1
1
1
a
0
1
a
1
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
a (b + c)
ab
ac
(a b) + (a c)
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
1
7.3
Ekspresi Boolean
Misalkan (B, +, , ) adalah sebuah aljabar Boolean. Suatu
ekspresi Boolean dalam (B, +, , ) adalah:
(i) setiap elemen di dalam B,
(ii) setiap peubah,
jika e1 dan e2 adalah ekspresi Boolean, maka e1 + e2, e1
e2, e1 adalah ekspresi Boolean
Contoh:
0
1
a
b
a+
ba
b
a (b + c)
a b + a bRinacldi +Mubnir,/IFd2a15n1 sMeabt. aDgisakriint ya
9
10
b
0
1
0
1
a
1
1
0
0
ab
0
1
0
0
a + ab
0
1
1
1
a+b
0
1
1
1
a(b + c) = ab + ac
a + bc = (a + b) (a + c)
a 0 , bukan a0
Rinaldi Munir/IF2151 Mat. Diskrit
11
Prinsip Dualitas
Misalkan S adalah kesamaan (identity) di dalam aljabar
Boolean yang melibatkan operator +, , dan komplemen,
maka jika pernyataan S* diperoleh dengan cara mengganti
+
0
1
dengan
dengan
dengan
dengan
1
0
12
2. Hukum idempoten:
(i)
a+a=a
(ii)
aa=a
3. Hukum
komplemen:
(i)
a + a =
1
(ii)
aa = 0
4. Hukum dominansi:
(i) a 0 = 0
(ii) a + 1 = 1
5. Hukum
involusi:
(i) (a) = a
6. Hukum penyerapan:
(i)
a + ab = a
(ii)
a(a + b) = a
7. Hukum
komutatif:
(i)
a+b
=b+
a
(ii)
ab =
ba
8. Hukum asosiatif:
(i) a + (b + c) = (a + b) + c
(ii) a (b c) = (a b) c
9. Hukum distributif:
(i) a + (b c) = (a + b) (a +
c)
(ii) a (b + c) = a b + a c
11. Hukum 0/1
(i) 0 = 1
(ii) 1 = 0
13
(Penyerapan)
(Asosiatif)
(Distributif)
(Komplemen)
(Identitas)
14
Fungsi Boolean
Fungsi Boolean (disebut juga fungsi biner) adalah pemetaan
n
dari B ke B melalui ekspresi Boolean, kita menuliskannya
sebagai
n
f:B B
n
15
16
17
y
0
0
1
1
0
0
1
1
z
0
1
0
1
0
1
0
1
f(x, y, z) = xy z
0
0
0
0
0
0
1
0
18
Komplemen Fungsi
1. Cara pertama: menggunakan hukum De Morgan
Hukum De Morgan untuk dua buah peubah, x1 dan x2, adalah
Contoh. Misalkan f(x, y, z) = x(yz + yz), maka
f (x, y, z) = (x(yz + yz))
= x + (yz + yz)
= x + (yz) (yz)
= x + (y + z) (y + z)
19
x + (y + z) (y + z)
x + (y + z) (y + z) = f
20
Bentuk Kanonik
Ada dua macam bentuk kanonik:
1. Penjumlahan dari hasil kali (sum-of-product atau SOP)
2. Perkalian dari hasil jumlah (product-of-sum atau POS)
Contoh: 1. f(x, y, z) = xyz + xyz + xyz
SOP Setiap suku (term) disebut
minterm
2. g(x, y, z) = (x + y + z)(x + y + z)(x + y + z)
(x + y + z)(x + y + z) POS
Setiap suku (term) disebut maxterm
Setiap
minterm/mRainxatldeirMmunimr/IFe2n1g51aMnadt.uDnisgkriltiteral
lengkap
21
x
0
0
1
1
y
0
1
0
1
Minterm
Suku Lambang
xy
m0
xy
m1
xy
m2
xy
m3
Maxterm
Suku
Lambang
x+y
M0
x + y
M1
x + y
M2
x + y
M3
22
x
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
z
0
1
0
1
0
1
0
1
Minterm
Suku Lambang
xyz
m0
m1
xyz
m2
xy z
m3
xy z
m4
x yz
m5
x yz
m6
x y z
m7
xyz
Maxterm
Suku
Lambang
x+y+z
M0
M1
x + y + z
M2
x + y+z
M3
x + y+z
M4
x+ y + z
M5
x+ y + z
M6
x+ y+ z
M7
x+ y+ z
23
y
0
0
1
1
0
0
1
1
z
0
1
0
1
0
1
0
1
f(x, y, z)
0
1
0
0
1
0
0
1
24
Penyelesaian:
(a) SOP
Kombinasi nilai-nilai peubah yang menghasilkan nilai fungsi
sama dengan 1 adalah 001, 100, dan 111, maka fungsi
Booleannya dalam bentuk kanonik SOP adalah
f(x, y, z) = xyz + xyz + xyz
atau (dengan menggunakan lambang minterm),
f(x, y, z) = m1 + m4 + m7 = (1, 4, 7)
25
(b) POS
Kombinasi nilai-nilai peubah yang menghasilkan nilai fungsi
sama dengan 0 adalah 000, 010, 011, 101, dan 110, maka
fungsi Booleannya dalam bentuk kanonik POS adalah
f(x, y, z) = (x + y + z)(x + y+ z)(x + y+ z)
(x+ y + z)(x+ y+ z)
atau dalam bentuk lain,
f(x, y, z) = M0 M2 M3 M5 M6 = (0, 2, 3, 5, 6)
26
yz = yz (x + x)
= xyz + xyz
Jadi f(x, y, z) = x + yz
= xyz + xyz + xyz + xyz + xyz + xyz
= xyz + xyz + xyz + xyz + xyz
(b) 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)
= (x + y + z)(x + y + z)(x + y + z)
atau f(x, y, z) = M0M2M3 = (0, 2, 3)
28
= (1, 4, 5, 6, 7)
29
Kesimpulan: mj = Mj
Contoh. Nyatakan
f(x, y, z)= (0, 2, 4, 5) dan
g(w, x, y, z) = (1, 2, 5, 6, 10, 15)
dalam bentuk SOP.
Penyelesaian:
f(x, y, z)
= (1, 3, 6, 7)
30
31
Bentuk Baku
Tidak harus mengandung literal yang lengkap.
Contohnya,
f(x, y, z) = y + xy + xyz (bentuk baku SOP
f(x, y, z) = x(y + z)(x + y + z) (bentuk baku
POS)
32
x
c
in al di M u ni r/ IF 2 15 1
M at . D is
kr it
33
Sumber tegangan
Sumber Tegangan
34
2. Rangkaian Logika
x
y
Gerbang AND
x
xy
y
Gerbang OR
x+ y
x'
35
xy
xy+x'y
x
y
x'
x'y
36
xy
xy+x 'y
x'
x'y
y
xy
xy+x'y
x'
x'y
37
Gerbang turunan
x
y
(xy)'
Gerbang NAND
x
y
Gerbang NOR
Gerbang XOR
(x+y)'
(x
y)'
Gerbang XNOR
38
x
(x + y)' ekivalen dengan
x'
x'y'
ekivalen dengan
y'
x'
y'
dengan
x' + y'
ekivalen
x+y
(x + y)'
(x+y)'
x
y
(xy)'
39
f(x, y) = xy + xy + y
disederhanakan menjadi
f(x, y) = x + y
40
R in al d i Mu nir / IF 215 1
= x y ( 1 + z) +
xz
M a t.
Dis k rit
x z ( 1 + y ) = xy +
41
2. Peta Karnaugh
a. Peta Karnaugh dengan dua peubah
y
0
m0
m1
m2
m3
x 0 xy
xy
xy
xy
yz
00
m0 m1
m3
m2
m4 m5
m7
m6
01
0 xyz xyz
1
xyz
xyz
11
10
xyz
xyz
xyz
xyz
42
z
0
1
0
1
0
1
0
1
f(x, y, z)
0
0
1
0
0
0
1
1
01
11
10
y
0
0
1
1
0
0
1
1
yz
00
x 0
1
43
yz
00
01
11
10
wxyz
wxyz
wxyz
wxyz
m0
m1
m3
m2
wx 00
wxyz
wxyz
wxyz
wxyz
m4
m5
m7
m6
01
wxyz
wxyz
wxyz
wxyz
m12
m13
m15 m14
11 wxyz
wxyz
wxyz
wxyz
m8
m9
m11 m10
10
44
w
x
y
0
0
0
0
0
0
0
0
1
0
0
1
unir/IF2151 Mat.
0 Diskrit
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
wx
z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
f(w, x, y, z)
0
1
0
0
0
0
1
1
0
0
0
0
0
0
1
0
yz
00
01
11
10
00
01
11
10
Rin aldi M
45
01
11
10
11
10
wx 00
01
46
01
11
10
11
10
wx 00
01
47
01
11
10
wx 00
01
11
10
48
Contoh lain:
yz
00
01
11
10
11
10
wx 00
01
49
01
11
10
wx 00
01
11
10
50
01
11
10
11
10
wx 00
01
51
01
11
10
11
10
wx 00
01
52
01
11
10
wx 00
01
11
10
53
01
11
10
wx 00
01
11
10
(jumlah literal = 5)
54
01
11
10
wx 00
01
11
10
55
01
11
10
wx 00
01
11
10
f(w, x, y, z) = xz
56
0
1
01
11
10
1
1
57
01
11
10
wx 00
01
11
10
Jawab:
58
01
11
10
wx 00
01
11
10
59
01
11
10
ab 00
01
11
10
60
yz
00
01
11
10
61
001
011
010
110
111
m0
m1
m3
m2
m6
m7
m5
m4
01
m8
m9
m11
m10
m14
m15 m13
m12
11
m24
m25 m27
m26
m30
m31 m29
m28
10
m16
m17 m19
m18
m22
m23 m21
m20
Garis pencerminan
101
100
62
00
1
01
1
01
0
11
0
11
1
10
1
10
0
1
01
11
10
63
w
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
x
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
y
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
z
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
desimal
0
1
2
3
4
5
6
7
8
9
dont care
dont care
dont care
dont care
dont care
dont care
Rinaldi Munir/IF2151 Mat. Diskrit
64
b
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
c
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
d
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
f(a, b, c, d)
1
0
0
1
1
1
0
1
X
X
X
X
X
X
X
X
65
01
11
10
ab
00
01
11
10
66
z
x'yz
x'yz'
xy'z'
xy'z
67
yz
00
01
11
10
68
0
1
2
3
4
5
6
7
8
9
Masukan BCD
w
x
y
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
z
0
1
0
1
0
1
0
1
0
1
f1(w, x, y, z)
0
0
0
0
0
1
1
1
1
1
f4(w, x, y, z)
1
0
1
0
1
0
1
0
1
0
69
(a) f1(w, x, y, z)
yz
00
01
11
10
wx 00
01
11
10
f1(w, x, y, z) = w + xz + xy = w + x(y + z)
(b) f2(w, x, y, z)
yz
00
wx 00
01
11
10
01
11
10
70
(c) f3(w, x, y, z)
yz
00
01
11
wx 00
01
11
10
10
f3(w, x, y, z) = yz + yz
(d) f4(w, x, y, z)
yz
00
01
11
10
wx 00
01
11 X
10
X
1
f4(w, x, y, z) = z
Rinaldi Munir/IF2151 Mat. Diskrit
71
z
f4
f3
f2
f1
72
Contoh 7.43
Minimisasi fungsi Boolean berikut (hasil penyederhanaan
dalam bentuk baku SOP dan bentuk baku POS):
f(w, x, y, z) = (1, 3, 7, 11, 15)
dengan kondisi dont care adalah d(w, x, y, z) = (0, 2, 5)
73
Penyelesaian:
Peta Karnaugh dari fungsi tersebut adalah:
yz
wx
00
01
11
10
00
01
11
10
(SOP)
(garis penuh)
f(w, x, y, z) = z (w + y) (POS)
(garis putus2)
74
Metode Quine-McCluskey
Metode Peat Karnaugh tidak mangkus untuk
jumlah peubah > 6 (ukuran peta semakin besar).
Metode peta Karnaugh lebih sulit diprogram
dengan komputer karena diperlukan
pengamatan visual untuk mengidentifikasi
minterm-minterm yang akan dikelompokkan.
Metode alternatif adalah metode QuineMcCluskey . Metode ini mudah diprogram.
75
Contoh 7.46
Sederhanakan fungsi Boolean f(w, x, y, z) = (0, 1, 2, 8, 10, 11, 14, 15).
Penyelesaian:
(i) Langkah 1 sampai 5:
(a)
term w x y z
0
0 0 00
1
2
8
0 0 0 1
0 0 1 0
1 0 0 0
10
1 0 1 0
11
14
15
1 0 1 1
1 1 1 0
1 1 1 1
(b)
(c)
term
wxy z
term
wx y z
0,1
0,2
0,8
0 00 0 0 - 0
- 0 0 0
0,2,8,10
0,8,2,10
- 0 - 0
- 0- 0
10,11,14,15
10,14,11,15
1 - 1 1 - 1 -
2,10
8,10
- 0 1 0
1 0 - 0
10,11
10,14
1 0 1 -
1 - 1 0
11,15
14,15
1 - 1 1
1 1 1 -
76
Bentuk prima
0,1
0,2,8,10
10,11,14,15
10 11 14
15
Semua bentuk prima di atas sudah mencakup semua minterm dari fungsi Boolean semula. Dengan
demikian, fungsi Boolean hasil penyederhanaan adalah f(w, x, y, z) = wxy + xz + wy.
77
Contoh 7.47
Sederhanakan fungsi Boolean f(w, x, y, z) = (1,4,6,7,8,9,10,11,15)
Penyelesaian:
(i) Langkah 1 sampai 5:
(a)
term w x y z
1
4
8
0 0 0 1
0 1 0 0
1 0 0 0
6
9
10
0 1 1 0
1 0 0 1
1 0 1 0
7
11
0 1 1 1
1 0 1 1
15
1 1 1 1
(b)
(c)
term
wx y z
term
1,9
4,6
8,9
8,10
0
1
1
8,9,10,11 1 0 - 8,10,9,11 1 0 - -
6,7
9,11
10,11
01 1 10 - 1
10 1 -
7,15
11,15
- 1 1 1
1 - 1 1
0
1
0
0
0
0
-
1
0
-
0
wx y z
78
Bentuk prima
1,9
4,6
6,7
7,15
11,15
8,9,10,11
10 11 15
Sampai tahap ini, masih ada dua minterm yang belum tercakup dalam bentuk prima terpilih, yaitu 7 dan 15.
Bentuk prima yang tersisa (tidak terpilih) adalah (6,7), (7,15), dan (11, 15). Dari ketiga kandidat ini, kita
pilih bentuk prima (7,15) karena bentuk prima ini mencakup minterm 7 dan 15 sekaligus.
79
minterm
Bentuk prima
1,9
4,6
6,7
7,15
11,15
8,9,10,11
10 11 15
Sekarang, semua minterm sudah tercakup dalam bentuk prima terpilih. Bentuk prima yang terpilih adalah:
1,9
4,6
7,15
8,9,10,11
term
term
term
term
xyz
wxz
xyz
wx
Dengan demikian, fungsi Boolean hasil penyederhanaan adalah f(w, x, y, z) = xyz + wxz + xyz + wx.
80
Latihan soal
1. Implementasikan fungsi f(x, y, z) = (0, 6) dan
hanya dengan gerbang NAND saja.
2. Gunakan Peta Karnaugh untuk merancang
rangkaian logika yang dapat menentukan
apakah
sebuah
angka
desimal
yang
direpresentasikan dalam bit biner merupakan
bilangan genap atau bukan (yaitu, memberikan
nilai 1 jika genap dan 0 jika tidak).
81
then
writeln(A)
else
82
83