Dokumen tersebut membahas tentang hukum-hukum aljabar Boolean dan contoh-contoh penerapannya dalam algoritma dan pemrograman komputer. Dibahas pula transformasi antara representasi bilangan desimal dan biner serta operasi-operasi logika NOT, AND, dan OR.
1. TIF305 Organisasi danTIF305 Organisasi dan
Arsitektur KomputerArsitektur Komputer
Ir. Sihar, M.T.
T. Informatika / FTI
Bandung - 2016
Postulat Aljabar Boolean
2. Daftar PustakaDaftar Pustaka
1) Abd-El-Barr, M., El-Rewini, H. Fundamentals Of Computer
Organization And Architecture. John Wiley & Sons, Inc. 2005.
2) Irvine, Kip R. ”Assembly Language for Intel-Based Computers
Fifth Edition”. Florida International University, School of
Computing and Information Sciences, Pearson Education, Inc.,
2007.
3) Simamora, S.N.M.P. “Diktat Tuntunan Praktis Bahasa Rakitan
menggunakan Turbo Assembler 2.0”. Program studi T. Komputer.
Politeknik TELKOM. Bandung. 2008.
4) Simamora, S.N.M.P. ”Diktat Kuliah SK-303 Organisasi dan
Arsitektur Komputer”. Dept. Teknik Elektro, Fak.Teknik, ITHB,
Bandung, 2002.
5) Simamora, S.N.M.P. Modul Belajar Praktis Algoritma dan
Pemrograman. Penerbit Deepublish, Yogyakarta. 2016. ISBN: 978-
602-401-318-9.
6) Simamora, S.N.M.P. "Diktat Organisasi dan Arsitektur
Komputer". Program studi T. Informatika. Fak. Teknologi
Informasi. Univ. BALE. Bandung. 2012.
3. Hukum
Komutatif
A • B = B • A
Algoritma Matematika Informasi
A←DEC(21);
B←DEC(15);
DEC(21): 0001 0101
DEC(15): 0000 1111
Uji sisi kiri: A • B;
•
DEC(5) : 0000 0101
DEC(15): 0000 1111
DEC(21): 0001 0101
Uji sisi kanan: B • A;
•
DEC(5) : 0000 0101
Asumsikan:
Algoritma & Pemrograman C++:
Tampilan jalannya program:
4. A + B = B + A
Algoritma Matematika Informasi
A←DEC(34);
B←DEC(27);
DEC(34): 0010 0010
DEC(27): 0001 1011
Uji sisi kiri: A + B;
+
DEC(59) : 0011 1011
DEC(27): 0001 1011
DEC(34): 0010 0010
Uji sisi kanan: B + A;
+
DEC(59) : 0011 1011
Asumsikan:
Algoritma & Pemrograman C++:
Tampilan jalannya program:
6. A + (B • C) = (A + B) • (A + C)
Algoritma Matematika Informasi
A←DEC(25);
B←DEC(18);
C←DEC(10);
DEC(18): 0001 0010
DEC(10): 0000 1010
Uji sisi kiri: A + (B • C);
•
DEC(2) : 0000 0010
DEC(25): 0001 1001
DEC(18): 0001 0010
Uji sisi kanan: (A +B) • (A+C);
+
DEC(27) : 0001 1011
Asumsikan:
Algoritma & Pemrograman C++:
Tampilan jalannya program:
DEC(25): 0001 1001
+
DEC(27) : 0001 1011
DEC(25): 0001 1001
DEC(10): 0000 1010
+
DEC(27) : 0001 1011
DEC(27): 0001 1011
DEC(27): 0001 1011
•
DEC(27) : 0001 1011
7. Hukum
Asosiatif
A • (B • C) = (A • B) • C
Algoritma Matematika Informasi
A←DEC(22);
B←DEC(13);
C←DEC(17);
DEC(13): 0000 1101
DEC(17): 0001 0001
Uji sisi kiri: A • (B • C);
•
DEC(1) : 0000 0001
DEC(22): 0001 0110
DEC(13): 0000 1101
Uji sisi kanan: (A • B) • C;
•
DEC(0) : 0000 0000
Asumsikan:
Algoritma & Pemrograman C++:
Tampilan jalannya program:
DEC(22): 0001 0110
•
DEC(0) : 0000 0000
DEC(17): 0001 0001
•
DEC(0) : 0000 0000
8. A + (B + C) = (A + B) + C
Algoritma Matematika Informasi
A←DEC(12);
B←DEC(23);
C←DEC(19);
DEC(23): 0001 0111
DEC(19): 0001 0011
Uji sisi kiri: A + (B + C);
+
DEC(23) : 0001 0111
DEC(12): 0000 1100
DEC(23): 0001 0111
Uji sisi kanan: (A + B) + C;
+
DEC(31): 0001 1111
Asumsikan:
Algoritma & Pemrograman C++:
Tampilan jalannya program:
DEC(12): 0000 1100
+
DEC(31) : 0001 1111
DEC(19): 0001 0011
+
DEC(31) : 0001 1111
9. Hukum
Identittas
1 • A = A
Algoritma Matematika Informasi
A←DEC(21);
1:
DEC(21):
Uji sisi kiri: 1 • A;
•
DEC(21):
Asumsikan:
Algoritma & Pemrograman C++: Tampilan jalannya program:
1111 1111
0001 0101
0001 0101 terbukti!
1 uraikan dalam bit 1 pada semua posisi untuk panjang N-bit
DEC(-1): 1111 1111
10. 0 + A = A
Algoritma Matematika Informasi
A←DEC(72);
0:
DEC(72):
Uji sisi kiri: 0 + A;
+
DEC(72):
Asumsikan:
Algoritma & Pemrograman C++: Tampilan jalannya program:
0000 0000
0100 1000
0100 1000 terbukti!
0 uraikan dalam bit 0 pada semua posisi untuk panjang N-bit
DEC(0): 0000 0000
11. 0 • A = 0
Algoritma Matematika Informasi
A←DEC(37);
0:
DEC(37):
Uji sisi kiri: 0 • A;
•
0:
Asumsikan:
Algoritma & Pemrograman C++: Tampilan jalannya program:
0000 0000
0010 0101
0000 0000 terbukti!
0 uraikan dalam bit 0 pada semua posisi untuk panjang N-bit
DEC(0): 0000 0000
12. 1 + A = 1
Algoritma Matematika Informasi
A←DEC(67);
1:
DEC(67):
Uji sisi kiri: 1 + A;
+
1:
Asumsikan:
Algoritma & Pemrograman C++: Tampilan jalannya program:
1111 1111
0010 0011
1111 1111 terbukti!
1 uraikan dalam bit 1 pada semua posisi untuk panjang N-bit
DEC(-1): 1111 1111
13. A • A = A
Algoritma Matematika Informasi
A←DEC(39);
DEC(39):
DEC(39):
Uji sisi kiri: A • A;
•
DEC(39):
Asumsikan:
Algoritma & Pemrograman C++: Tampilan jalannya program:
0010 0111
0010 0111
0010 0111 terbukti!
14. A + A = A
Algoritma Matematika Informasi
A←DEC(51);
DEC(51):
DEC(51):
Uji sisi kiri: A + A;
+
DEC(51):
Asumsikan:
Algoritma & Pemrograman C++: Tampilan jalannya program:
0011 0011
0011 0011
0011 0011 terbukti!
15. Hukum
De’Morgan Algoritma Matematika Informasi
A←DEC(12);
B←DEC(23);
DEC(12): 0000 1100
DEC(23): 0001 0111
Uji sisi kiri: ∼(A • B);
•
DEC(4) : 0000 0100
∼(DEC(12)): 1111 1011
∼(DEC(23)): 1110 1000
Uji sisi kanan: (∼A) + (∼B);
+
Asumsikan:
Algoritma & Pemrograman C++:
Tampilan jalannya program:
DEC(-5) : 1111 1011
NOT-kan
DEC(-5) : 1111 1011
BABA +=•
16. ∼(DEC(4)) = .....
Algoritma Komplemen:
Langkah-1: transformasi-kan DEC dalam panjang-bit=16
DEC(4) = xxxx xxxx
= 0000 0100
Langkah-2: tambah-kan bit dengan (1)2
0000 0100
0000 0001
+
0000 0101
Langkah-3: komplemen-kan bit tersebut
0000 0101 1111 1010
Langkah-4: hasil bit tambah-kan dengan (1)2
1111 1010
0000 0001
+
1111 1011
Langkah-5: nyatakan BIT dalam DEC
1111 1011 ⇒ DEC(...)
17. Langkah-5: nyatakan BIT dalam DEC
Gunakan Algoritma Transformasi BIT-negatip
1111 1011 ⇒ DEC(...)
(i). Komplemen-kan BIT tersebut
0000 0101
1111 1011 0000 0100
(ii). Tambah-kan BIT tersebut dengan (1)2
0000 0100
0000 0001
+
0000 0101
(iii). Nyata-kan BIT tersebut dalam DEC
⇒ DEC(5)
(iii). Kali-kan DEC dengan DEC(-1)
DEC(5) ∗ DEC(-1) = DEC(-5);
Maka, ∼(DEC(4)) = DEC(-5);
18. ∼(DEC(12)) = .....
Algoritma Komplemen:
Langkah-1: transformasi-kan DEC dalam panjang-bit=16
DEC(12) = xxxx xxxx
= 0000 1100
Langkah-2: tambah-kan bit dengan (1)2
0000 1100
0000 0001
+
0000 1101
Langkah-3: komplemen-kan bit tersebut
0000 1101 1111 0010
Langkah-4: hasil bit tambah-kan dengan (1)2
1111 0010
0000 0001
+
1111 0011
Langkah-5: nyatakan BIT dalam DEC
1111 0011 ⇒ DEC(...)
19. Langkah-5: nyatakan BIT dalam DEC
Gunakan Algoritma Transformasi BIT-negatip
1111 0011 ⇒ DEC(...)
(i). Komplemen-kan BIT tersebut
0000 1101
1111 0011 0000 1100
(ii). Tambah-kan BIT tersebut dengan (1)2
0000 1100
0000 0001
+
0000 1101
(iii). Nyata-kan BIT tersebut dalam DEC
⇒ DEC(13)
(iii). Kali-kan DEC dengan DEC(-1)
DEC(13) ∗ DEC(-1) = DEC(-13);
Maka, ∼(DEC(12)) = DEC(-13);
20. ∼(DEC(23)) = .....
Algoritma Komplemen:
Langkah-1: transformasi-kan DEC dalam panjang-bit=16
DEC(23) = xxxx xxxx
= 0001 0111
Langkah-2: tambah-kan bit dengan (1)2
0001 0111
0000 0001
+
0001 1000
Langkah-3: komplemen-kan bit tersebut
0001 1000 1110 0111
Langkah-4: hasil bit tambah-kan dengan (1)2
1110 0111
0000 0001
+
1110 1000
Langkah-5: nyatakan BIT dalam DEC
1110 1000 ⇒ DEC(...)
21. Langkah-5: nyatakan BIT dalam DEC
Gunakan Algoritma Transformasi BIT-negatip
1110 1000 ⇒ DEC(...)
(i). Komplemen-kan BIT tersebut
0001 1000
1110 1000 0001 0111
(ii). Tambah-kan BIT tersebut dengan (1)2
0001 0111
0000 0001
+
0001 1000
(iii). Nyata-kan BIT tersebut dalam DEC
⇒ DEC(24)
(iii). Kali-kan DEC dengan DEC(-1)
DEC(24) ∗ DEC(-1) = DEC(-24);
Maka, ∼(DEC(23)) = DEC(-24);
22. Uji-nilai:
Gunakan Algoritma Transformasi BIT-negatip
1111 1011 ⇒ DEC(...)
(i). Komplemen-kan BIT tersebut
0000 0101
1111 1011 0000 0100
(ii). Tambah-kan BIT tersebut dengan (1)2
0000 0100
0000 0001
+
0000 0101
(iii). Nyata-kan BIT tersebut dalam DEC
⇒ DEC(5)
(iii). Kali-kan DEC dengan DEC(-1)
DEC(5) ∗ DEC(-1) = DEC(-5);
Maka, 1111 1011 = DEC(-5);
23. Hukum
De’Morgan Algoritma Matematika Informasi
A←DEC(14);
B←DEC(28);
DEC(14): 0000 1110
DEC(28): 0001 1100
Uji sisi kiri: ∼(A + B);
+
DEC(30) : 0001 1110
∼(DEC(14)): 1111 0001
∼(DEC(28)): 1110 0011
Uji sisi kanan: (∼A) • (∼B);
•
Asumsikan:
Algoritma & Pemrograman C++:
Tampilan jalannya program:
DEC(-31) : 1110 0001
NOT-kan
DEC(-31) : 1110 0001
BABA •=+
24. ∼(DEC(14)) = .....
Algoritma Komplemen:
Langkah-1: transformasi-kan DEC dalam panjang-bit=16
DEC(14) = xxxx xxxx
= 0000 1110
Langkah-2: tambah-kan bit dengan (1)2
0000 1110
0000 0001
+
0000 1111
Langkah-3: komplemen-kan bit tersebut
0000 1111 1111 0000
Langkah-4: hasil bit tambah-kan dengan (1)2
1111 0000
0000 0001
+
1111 0001
Langkah-5: nyatakan BIT dalam DEC
1111 0001 ⇒ DEC(...)
25. Langkah-5: nyatakan BIT dalam DEC
Gunakan Algoritma Transformasi BIT-negatip
1111 0001 ⇒ DEC(...)
(i). Komplemen-kan BIT tersebut
0000 1111
1111 0001 0000 1110
(ii). Tambah-kan BIT tersebut dengan (1)2
0000 1110
0000 0001
+
0000 1111
(iii). Nyata-kan BIT tersebut dalam DEC
⇒ DEC(15)
(iii). Kali-kan DEC dengan DEC(-1)
DEC(15) ∗ DEC(-1) = DEC(-15);
Maka, ∼(DEC(14)) = DEC(-15);
26. ∼(DEC(28)) = .....
Algoritma Komplemen:
Langkah-1: transformasi-kan DEC dalam panjang-bit=16
DEC(28) = xxxx xxxx
= 0001 1100
Langkah-2: tambah-kan bit dengan (1)2
0001 1100
0000 0001
+
0001 1101
Langkah-3: komplemen-kan bit tersebut
0001 1101 1110 0010
Langkah-4: hasil bit tambah-kan dengan (1)2
1110 0010
0000 0001
+
1110 0011
Langkah-5: nyatakan BIT dalam DEC
1110 0011 ⇒ DEC(...)
27. Langkah-5: nyatakan BIT dalam DEC
Gunakan Algoritma Transformasi BIT-negatip
1110 0011 ⇒ DEC(...)
(i). Komplemen-kan BIT tersebut
0001 1101
1110 0011 0001 1100
(ii). Tambah-kan BIT tersebut dengan (1)2
0001 1100
0000 0001
+
0001 1101
(iii). Nyata-kan BIT tersebut dalam DEC
⇒ DEC(29)
(iii). Kali-kan DEC dengan DEC(-1)
DEC(29) ∗ DEC(-1) = DEC(-29);
Maka, ∼(DEC(28)) = DEC(-29);
28. Uji-nilai:
Gunakan Algoritma Transformasi BIT-negatip
1110 0001 ⇒ DEC(...)
(i). Komplemen-kan BIT tersebut
0001 1111
1110 0001 0001 1110
(ii). Tambah-kan BIT tersebut dengan (1)2
0001 1110
0000 0001
+
0001 1111
(iii). Nyata-kan BIT tersebut dalam DEC
⇒ DEC(31)
(iii). Kali-kan DEC dengan DEC(-1)
DEC(31) ∗ DEC(-1) = DEC(-31);
Maka, 1110 0001 = DEC(-31);