Anda di halaman 1dari 136

Perancangan Sistem Digital

Yohanes Suyanto
2009
Daftar Isi
1 SISTEM BILANGAN 1
1.1 Pendahuluan . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Nilai Basis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 Desimal . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2 Biner . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.3 Oktal . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.4 Heksadesimal . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Faktor Bobot . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Konversi sistem bilangan . . . . . . . . . . . . . . . . . . . . . 5
1.4.1 Konversi bilangan desimal menjadi biner . . . . . . . . 5
1.4.2 Konversi bilangan desimal menjadi oktal . . . . . . . . 6
1.4.3 Konversi bilangan desimal menjadi heksadesimal . . . . 7
1.4.4 Cara lain konversi bilangan . . . . . . . . . . . . . . . 7
1.5 Sistem Kode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2 RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL 11
2.1 Unit Logika Kombinasional . . . . . . . . . . . . . . . . . . . 11
2.2 Tabel Kebenaran . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Gerbang Logika . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4 Implementasi Elektronik dari Gerbang Logika . . . . . . . . . 16
2.5 Buer Tri-State . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.6 Sifat-sifat Aljabar Boole . . . . . . . . . . . . . . . . . . . . . 20
2.7 Bentuk Sum-of-Product dan Diagram Logika . . . . . . . . . . 22
2.8 Bentuk Product-of-Sum . . . . . . . . . . . . . . . . . . . . . . 24
2.9 Logika Positif dan Negatif . . . . . . . . . . . . . . . . . . . . 26
2.10 Data Sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.11 Komponen Digital . . . . . . . . . . . . . . . . . . . . . . . . 27
2.11.1 Level Integrasi . . . . . . . . . . . . . . . . . . . . . . 28
2.11.2 Multiplekser . . . . . . . . . . . . . . . . . . . . . . . . 28
2.11.3 Demultiplekser . . . . . . . . . . . . . . . . . . . . . . 30
2.11.4 Dekoder . . . . . . . . . . . . . . . . . . . . . . . . . . 31
iii
iv DAFTAR ISI
2.11.5 Enkoder Prioritas . . . . . . . . . . . . . . . . . . . . . 33
2.11.6 PLA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.11.7 Penggunaan PLA untuk Penjumlah Ripple-carry . . . 36
2.12 Soal Latihan . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3 REDUKSI LOGIKA DIGITAL KOMBINASIONAL 43
3.1 Reduksi Ekspresi 2 Level . . . . . . . . . . . . . . . . . . . . . 43
3.1.1 Metode Aljabar . . . . . . . . . . . . . . . . . . . . . . 44
3.1.2 Metode Peta Karnaugh . . . . . . . . . . . . . . . . . . 45
3.1.3 Dimensi yang lebih tinggi . . . . . . . . . . . . . . . . 51
3.1.4 Metode Tabulasi . . . . . . . . . . . . . . . . . . . . . 54
3.2 Soal Latihan . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4 RANGKAIAN LOGIKA DIGITAL SEKUENSIAL 69
4.1 Flip-Flop S-R . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.2 Flip-op S-R Berdetak . . . . . . . . . . . . . . . . . . . . . . 72
4.3 Flip-op D dan kongurasi tuan-hamba . . . . . . . . . . . . . 74
4.4 Flip-op JK dan T . . . . . . . . . . . . . . . . . . . . . . . . 76
4.5 Desain Mesin Keadaan Berhingga . . . . . . . . . . . . . . . . 78
4.6 Contoh: Detektor Urutan . . . . . . . . . . . . . . . . . . . . 83
4.7 Contoh: Pengendali mesin penjualan . . . . . . . . . . . . . . 85
4.8 Mesin Mealy dan Moore . . . . . . . . . . . . . . . . . . . . . 87
4.9 Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.10 Pencacah . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.11 Soal Latihan . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5 PENCACAH 93
5.1 Pencacah Sinkron . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.1.1 Pencacah Sinkron Modulo-6 . . . . . . . . . . . . . . . 95
5.1.2 Pencacah Sinkron Modulo-10 . . . . . . . . . . . . . . 97
5.2 Pencacah Tak Sinkron . . . . . . . . . . . . . . . . . . . . . . 100
5.3 Pencacah Naik/Turun (up/down counter) . . . . . . . . . . . 103
6 REGISTER 107
6.1 Serial In Parallel Out - SIPO . . . . . . . . . . . . . . . . . . 108
6.2 Serial In Serial Out - SISO . . . . . . . . . . . . . . . . . . . . 109
6.3 Parallel In Serial Out- PISO . . . . . . . . . . . . . . . . . . . 109
6.4 Parallel In Parallel Out - PIPO . . . . . . . . . . . . . . . . . 109
6.5 Register Geser Kanan/Kiri (Right/Left Shift Register) . . . . . 110
6.6 Soal Latihan . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Yohanes Suyanto
DAFTAR ISI v
7 REDUKSI LOGIKA DIGITAL SEKUENSIAL 113
7.1 Reduksi Keadaan . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.2 Masalah Penentuan Nilai Keadaan . . . . . . . . . . . . . . . 116
7.3 Contoh Reduksi: Detektor Urutan . . . . . . . . . . . . . . . . 118
7.4 Tabel Eksitasi . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
7.5 Soal Latihan . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Yohanes Suyanto
vi DAFTAR ISI
Yohanes Suyanto
Daftar Gambar
1.1 Perulangan horisontal dan vertikal . . . . . . . . . . . . . . . . 3
1.2 Konversi bilangan desimal 19 menjadi biner . . . . . . . . . . 5
1.3 Pengujian bilangan biner 10011 menjadi bilangan desimal . . . 6
1.4 Konversi bilangan desimal 321 menjadi oktal . . . . . . . . . . 6
1.5 Pengujian bilangan oktal 501 menjadi bilangan desimal . . . . 6
1.6 Konversi bilangan desimal 321 menjadi heksadesimal . . . . . 7
1.7 Pengujian bilangan heksadesimal 141 menjadi bilangan desimal 7
1.8 Pengubahan bilangan oktal 157 menjadi biner . . . . . . . . . 7
1.9 Pengubahan bilangan biner 10011001 menjadi oktal . . . . . . 8
2.1 Unit logika kombinasi, jika dilihat dari luar . . . . . . . . . . . 12
2.2 Tabel kebenaran untuk saklar A dan B serta lampu Z . . . . . 13
2.3 Tabel kebenaran untuk semua kemungkinan fungsi dari 2 ma-
sukan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4 Fungsi AND, OR, dan NOT sebagai pembentuk fungsi-fungsi
lainnya . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.5 Simbol gerbang logika untuk fungsi Boolean AND, OR, buer,
dan NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.6 Simbol gerbang logika untuk fungsi Boolean NAND, NOR,
XOR, dan XNOR . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.7 Variasi gerbang logika (a) tiga masukan dan (b) masukan de-
ngan komplemen . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.8 (a) pembalik dengan terminal tenaga dimunculkan dan (b)
rangkaian transistor untuk pembalik . . . . . . . . . . . . . . 18
2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang
logika keluaran, (b) gerbang logika masukan . . . . . . . . . . 18
2.10 Rangkaian transistor (a) NAND 2 masukan (b) NOR 2 masukan 19
2.11 Buer tri-state dan Buer tri-state kendali inversi . . . . . . . 19
2.12 Pembuktian teorema DeMorgan untuk 2 variabel . . . . . . . 21
2.13 Penyusunan NAND menjadi OR . . . . . . . . . . . . . . . . . 22
2.14 Implementasi OR dengan NAND (gambar lain) . . . . . . . . 22
vii
viii DAFTAR GAMBAR
2.15 Penyusunan NAND menjadi AND . . . . . . . . . . . . . . . . 22
2.16 Tabel kebenaran untuk fungsi mayoritas . . . . . . . . . . . . 23
2.17 Implementasi fungsi mayoritas dengan dua-level AND-OR. In-
verter tidak dihitung sebagai level. . . . . . . . . . . . . . . . 24
2.18 Rangkaian OR-AND dua-level implementasi dari fungsi may-
oritas. Inverter tidak dihitung sebagai level . . . . . . . . . . . 25
2.19 Logika positif dan negatif untuk pasangan AND-OR dan
NAND-NOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.20 Proses pencocokan gelembung . . . . . . . . . . . . . . . . . . 28
2.21 Blok diagram dan tabel kebenaran untuk MUX 4-ke-1 . . . . . 29
2.22 Implementasi MUX 4-ke-1 dengan AND-OR . . . . . . . . . . 29
2.23 Implementasi MUX 8-ke-1 untuk fungsi mayoritas . . . . . . . 30
2.24 Implementasi MUX 4-ke-1 untuk fungsi dengan 3 variabel . . 30
2.25 Diagram blok dan tabel kebenaran untuk DEMUX 1-ke-4 . . . 31
2.26 Rangkaian DEMUX 1-ke-4 . . . . . . . . . . . . . . . . . . . . 31
2.27 Diagram blok dan tabel kebenaran dekoder 2-ke-4 . . . . . . . 32
2.28 Rangkaian dekoder 2-ke-4 . . . . . . . . . . . . . . . . . . . . 32
2.29 Implementasi fungsi mayoritas dengan dekoder 3-ke-8 . . . . . 32
2.30 Diagram blok dan tabel kebenaran enkoder prioritas 4-ke-2 . . 33
2.31 Rangkaian enkoder prioritas 4-ke-2 . . . . . . . . . . . . . . . 34
2.32 PLA 3 masukan 2 keluaran . . . . . . . . . . . . . . . . . . . . 35
2.33 Penyederhanaan PLA . . . . . . . . . . . . . . . . . . . . . . . 36
2.34 PLA dalam bentuk kotak hitam . . . . . . . . . . . . . . . . . 36
2.35 PLA dalam bentuk kotak hitam . . . . . . . . . . . . . . . . . 37
2.36 Implementasi penjumlah 4 bit menggunakan penjumlah penuh
berjenjang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.37 Penjumlah penuh menggunakan PLA . . . . . . . . . . . . . . 38
2.38 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.39 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.41 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1 Implementasi fungsi mayoritas direduksi . . . . . . . . . . . . 45
3.2 Diagram Venn untuk 3 variabel biner . . . . . . . . . . . . . . 46
3.3 Peta Karnaugh untuk fungsi mayoritas . . . . . . . . . . . . . 47
3.4 Pengelompokan sel bertetangga pada fungsi mayoritas . . . . . 47
3.5 Fungsi mayoritas direduksi . . . . . . . . . . . . . . . . . . . . 48
3.6 Pengelompokan mulai dari sel yang tidak masuk dalam kelom-
pok yang lebih besar . . . . . . . . . . . . . . . . . . . . . . . 49
3.7 Pengelompokan mulai dari kelompok yang paling besar . . . . 49
3.8 Posisi sudut pada peta Karnaugh secara logis bertetangga . . 50
Yohanes Suyanto
DAFTAR GAMBAR ix
3.10 Peta Karnaugh dengan 5 variabel . . . . . . . . . . . . . . . . 51
3.9 Peta Karnaugh yang sama dapat menghasilkan persamaan
minimal berbeda . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.11 Peta Karnaugh dengan 6 variabel . . . . . . . . . . . . . . . . 52
3.12 Implementasi fungsi mayoritas 3 level . . . . . . . . . . . . . . 53
3.13 Peta Karnaugh dengan isian variabel D . . . . . . . . . . . . . 54
3.14 Peta Karnaugh dengan 3 variabel isian . . . . . . . . . . . . . 54
3.15 Tabel kebenaran suatu fungsi dengan dont care . . . . . . . . 55
3.16 Proses reduksi tabulasi . . . . . . . . . . . . . . . . . . . . . . 56
3.17 Tabel pilihan . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.18 Tabel pilihan terreduksi . . . . . . . . . . . . . . . . . . . . . 58
3.19 Tabel kebenaran untuk 3 fungsi dengan 3 variabel . . . . . . . 60
3.20 Tabel pilihan keluaran jamak . . . . . . . . . . . . . . . . . . 61
3.21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.1 Model klasik dari FSM . . . . . . . . . . . . . . . . . . . . . . 70
4.2 Gerbang NOR dengan rangkaian tunda . . . . . . . . . . . . . 71
4.3 Flip-op S-R dengan NOR . . . . . . . . . . . . . . . . . . . . 71
4.4 Tabel kebenaran Flip-op S-R . . . . . . . . . . . . . . . . . . 72
4.5 Flip-op S-R dengan NAND . . . . . . . . . . . . . . . . . . . 72
4.6 Rangkaian yang mengandung hazard . . . . . . . . . . . . . . 73
4.7 Detak yang berupa gelombang kotak . . . . . . . . . . . . . . 74
4.8 Flip-op S-R berdetak . . . . . . . . . . . . . . . . . . . . . . 74
4.9 Flip-op D. Simbol CLK menunjukkan clock atau detak. . . . 75
4.10 Tabel kebenaran untuk ip-op D. Nilai keluaran sama dengan
nilai masukan pada detak sebelumnya. . . . . . . . . . . . . . 75
4.11 Flip-op tuan-hamba . . . . . . . . . . . . . . . . . . . . . . . 76
4.12 Flip-op J-K dan simbolnya . . . . . . . . . . . . . . . . . . . 77
4.13 Tabel kebenaran untuk ip-op J-K. Nilai J=1 dan K=1 diper-
bolehkan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.14 Flip-op T dan simbolnya . . . . . . . . . . . . . . . . . . . . 77
4.15 Tabel kebenaran untuk ip-op T. . . . . . . . . . . . . . . . 78
4.16 Flip-op J-K tuan-hamba dan simbolnya . . . . . . . . . . . . 78
4.17 Pencacah modulo 4 . . . . . . . . . . . . . . . . . . . . . . . . 79
4.18 Diagram transisi keadaan pencacah modulo 4 . . . . . . . . . 80
4.19 Tabel keadaan untuk pencacah modulo-4 . . . . . . . . . . . . 80
4.20 Tabel keadaan untuk pencacah modulo-4 dengan pengkodeannya 81
4.21 Tabel kebenaran untuk keadaan berikutnya dan fungsi kelu-
aran pencacah modulo-4 . . . . . . . . . . . . . . . . . . . . . 82
4.22 Desain logika untuk pencacah modulo-4 . . . . . . . . . . . . . 82
Yohanes Suyanto
x DAFTAR GAMBAR
4.23 Diagram transisi keadaan untuk detektor urutan . . . . . . . . 83
4.24 Tabel keadaan detektor urutan . . . . . . . . . . . . . . . . . 83
4.25 Penetapan kode keadaan dan tabel kebenaran detektor urutan 84
4.26 Diagram logika detektor urutan . . . . . . . . . . . . . . . . . 84
4.27 Diagram transisi keadaan pengendali mesin penjualan . . . . . 85
4.28 (a) Tabel keadaan pengendali mesin penjualan (b) penetapan
kode keadaan pengendali mesin penjualan . . . . . . . . . . . 86
4.29 Mesin penjualan (a) rangkaian, (b) tabel kebenaran (c) real-
isasi PLA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.30 FSM Moore pencacah biner 2 bit . . . . . . . . . . . . . . . . 88
4.31 Register 4-bit . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.32 Register 4-bit disederhanakan . . . . . . . . . . . . . . . . . . 89
4.33 Register geser . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.34 Pencacah modulo 8 . . . . . . . . . . . . . . . . . . . . . . . . 91
5.1 Peta Karnaugh untuk penentuan persamaan J dan K pada
pencacah modulo-6 sinkron . . . . . . . . . . . . . . . . . . . 97
5.2 Pencacah sinkron modulo-6 . . . . . . . . . . . . . . . . . . . 97
5.3 Pengaturan pulsa detak pada ip-op T untuk pencacah . . . 98
5.4 Peta Karnaugh untuk penentuan persamaan pengatur detak
pada pencacah modulo-10 sinkron . . . . . . . . . . . . . . . . 98
5.5 Rangkaian pencacah modulo-10 sinkron menggunakan ip-op T 99
5.6 Rangkaian pencacah modulo-8 tak sinkron menggunakan ip-
op T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.7 Rangkaian pencacah modulo-10 tak sinkron menggunakan
ip-op T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.8 Rangkaian pencacah modulo-5 tak sinkron menggunakan ip-
op T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.9 Pengatur pulsa pada pencacah naik/turun . . . . . . . . . . . 105
6.1 Register serial-parallel . . . . . . . . . . . . . . . . . . . . . . 107
6.2 Pengatur geser kanan atau kiri untuk register geser . . . . . . 110
6.3 Pengatur geser kanan atau kiri untuk register geser dengan
masukan paralel . . . . . . . . . . . . . . . . . . . . . . . . . . 110
6.4 Register geser 5 bit lengkap . . . . . . . . . . . . . . . . . . . 111
7.1 Tabel keadaan mesin M
0
yang akan direduksi . . . . . . . . . 114
7.2 hirarki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.3 Tabel keadaan mesin M
1
hasil direduksi . . . . . . . . . . . . 116
7.4 Tabel keadaan mesin M dan 2 macam penentuan nilai
keadaannnya . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Yohanes Suyanto
DAFTAR GAMBAR 1
7.5 Peta Karnaugh untuk M dengan nilai keadaan PN
0
. . . . . . 117
7.6 Peta Karnaugh untuk M dengan nilai keadaan PN
1
. . . . . . 118
7.7 Diagram transisi keadaan untuk detektor urutan . . . . . . . . 118
7.8 Tabel keadaan detektor urutan . . . . . . . . . . . . . . . . . 119
7.9 Tabel keadaan detektor urutan yang baru . . . . . . . . . . . 119
7.10 Tabel penentuan nilai keadaan detektor urutan . . . . . . . . 120
7.11 Peta Karnaugh untuk detektor urutan . . . . . . . . . . . . . 120
7.12 Skema rangkaian detektor urutan . . . . . . . . . . . . . . . . 121
7.13 Tabel eksitasi untuk ip-op S-R, D, J-K, dan T . . . . . . . . 122
7.14 Diagram transisi keadaan, tabel keadaan, dan penentuan nilai
keadaan untuk penjumlah berseri . . . . . . . . . . . . . . . . 122
7.15 Tabel kebenaran perubahan keadaan pada ip-op . . . . . . 123
Yohanes Suyanto
2 DAFTAR GAMBAR
Yohanes Suyanto
BAB 1
SISTEM BILANGAN
1.1 Pendahuluan
Sistem bilangan didenisikan sebagai sekumpulan nilai yang digunakan un-
tuk melambangkan besaran. Kita sudah terbiasa menggunakan bilangan
ini dalam kehidupan sehari-hari. Jumlah mahasiswa yang hadir dalam ku-
liah, jumlah matakuliah yang diambil oleh mahasiswa, nilai yang didapat
mahasiswa untuk suatu ujian matakuliah, semuanya menggunakan lambang
bilangan.
Pembahasan mengenai sistem bilangan tidak terbatas pada komputer
saja. Kita menggunakannya dalam kehidupan sehari-hari, dan kita menge-
tahui bahwa komputer juga menggunakannya sehingga dapat mengolah data
menjadi data lain yang berupa bilangan juga.
Sejak lama manusia menggunakan tanda atau simbol untuk menggam-
barkan bilangan. Bentuk awal penggunaan simbol adalah dengan garis lurus.
Jumlah garis menunjukkan besarnya bilangan. Ada yang menggambarkan
kelompok 6 garis vertikal dengan 1 garis horisontal melintang pada jelompok
garis vertikal tersebut untuk menunjukkan jumlah hari dalam 1 minggu.
Sangat sulit untuk menggambarkan bilangan sangat besar ataupun sangat
kecil menggunakan pendekatan gras. Pada sekitar tahun 3400 SM di Mesir
dan 3000 SM di Mesopotamia mereka membuat simbol untuk menggam-
barkan bilangan dalam kesatuan 10. Ini adalah langkah besar karena dapat
mereduksi jumlah simbol yang diperlukan. Misalnya dua belas dapat digam-
barkan dengan satu puluhan dan dua satuan, sehingga hanya memerlukan 3
simbol. Bandingkan dengan 12 simbol sebelumnya.
Orang Romawi menggunakan 7 buah simbol yang dapat digunakan untuk
menggambarkan bilangan 1 sampai dengan 1.000.000.
I = 1
1
2 1. SISTEM BILANGAN
V = 5
X = 10
L = 50
C = 100
D = 500
M = 1000
Tambahan tanda garis di atas simbol tadi diartikan sebagai perkalian 1000.
Sistem bilangan yang paling banyak digunakan saat ini adalah sistem
Arab. Sistem ini pertama kali dibuat oleh orang Hindus dan digunakan pada
awal abad ke-3 sebelum Masehi. Pengenalan simbol 0, yang digunakan untuk
menunjukkan nilai posisi angka menjadi sangat bermanfaat. Sekarang kita
menjadi terbiasa dengan puluhan, ratusan, ribuan, dan seterusnya.
Dalam sistem bilangan, banyak terjadi perulangan berkali-kali penggu-
naan suatu simbol. Pada sistem desimal, hanya digunakan simbol sebanyak
10 macam. Simbol ini akan diulang-ulang untuk menyatakan bilangan yang
besar. Lihat Gambar 1.1
Perhatikan bagaimana bilangan 0 sampai dengan 9 diulang, dan setiap
perulangan, nilai kolom sebelah kirinya bertambah satu (dari 0 menjadi 1,
kemudian 2). Setiap terjadi kenaikan nilai, sampai nilai tertinggi tercapai
(yaitu 9), nilai dikolom sebelah kirinya bertambah 1, jadi setelah 9 adalah
10. Demikian seterusnya berulang-ulang.
09, 10 - 19, 20 - 29, 30 - 39 dst
Angka selalu dinulis dengan nilai tertinggi pada bagian paling kiri dari bi-
langan.
1.2 Nilai Basis
Nilai basis untuk sistem bilangan adalah cacah himpunan nilai berbeda se-
belum terjadi perulangan. Misalnya, sistem desimal adalah berbasis sepuluh,
dengan nilai 0 sampai dengan 9. Nilai basis yang lain misalnya: biner, oktal,
duodesimal, heksadesimal, vigesimal, seksagesimal. Sistem desimal adalah
sistem yang paling dikenal, karena ini adalah sistem yang digunakan dalam
perhitungan sehari-hari.
1.2.1 Desimal
Sistem desimal terdiri atas 10 angka atau simbol, yaitu 0, 1, 2, 3, 4, 5, 6, 7, 8,
9. Dengan menggunakan simbol ini kita dapat menyatakan besaran. Sistem
desimal sering dinamakan juga sistem basis-10, karena mempunyai 10 angka.
Yohanes Suyanto
1.2. Nilai Basis 3
0 0
p 1
e 2
r 3
u 4
l 5
a 6
n 7
g 8
a 9
n 1 10
11
v 12
e 13
r 14
t 15
i 16
k 17
a 18
l 19
2 20
. . .
9 90
. . .
9 9990
Perulangan horisontal
Gambar 1.1: Perulangan horisontal dan vertikal
1.2.2 Biner
Dalam sistem biner, hanya ada 2 simbol atau angka yaitu 0 dan 1. Sistem
basis-2 ini dapat dipergunakan untuk menyatakan besaran yang direpresen-
tasikan dalam desimal maupun sistem bilangan lain. Contoh:
Desimal Biner
13 1101
123 1111011
45 101101
1023 1111111111
Yohanes Suyanto
4 1. SISTEM BILANGAN
1.2.3 Oktal
Sistem oktal adalah sistem basis-8 dengan simbol sebanyak 8 macam yaitu:
0,1,2,3,4,5,6, dan 7. Contoh:
Desimal Biner Oktal
13 1101 15
123 1111011 173
45 101101 33
1023 1111111111 1777
1.2.4 Heksadesimal
Sistem heksadesimal adalah sistem basis-16 dengan simbol sebanyak 16
macam yaitu: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E dan F. Contoh:
Desimal Biner Heksadesimal
13 1101 D
123 1111011 7B
45 101101 2D
1023 1111111111 3FF
Sistem duodesimal adalah sistem berbasis 12 digunakan oleh orang Ro-
mawi untuk beberada keperluan. Sistem vigesimal adalah sistem bilangan
berbasis 20 digunakan oleh orang Maya sedang seksagesimal berbasis 60 dan
digunakan oleh orang Babylonia.
1.3 Faktor Bobot
Faktor bobot adalah nilai pengali yang dikenakan pada setiap posisi kolom
dalam bilangan. Misalnya, desimal mempunyai faktor bobot sepuluh, yang
artinya setiap kolom disebelah kiri mempunyai nilai bobot sebesar sepu-
luh kali lebih besar dari kolom sebelah kanannya. Dengan demikian setiap
bergeser ke kiri faktornya menjadi 10 kali lipat.
200=
0 10
0
= 0 1 = 0
0 10
1
= 0 10 = 0
2 10
2
= 2 100 = 200
200 (hasil penjumlahan)
Contoh lain untuk bilangan 312,
Yohanes Suyanto
1.4. Konversi sistem bilangan 5
312=
2 10
0
= 2 1 = 2
1 10
1
= 1 10 = 10
3 10
2
= 3 100 = 300
312 (hasil penjumlahan)
Bilangan biner mempunyai faktor bobot sebesar dua. Oleh karena itu
bilangan 10110
2
dapat diuraikan menurut bobotnya menjadi:
10110=
0 2
0
= 0 1 = 0
1 2
1
= 1 2 = 2
1 2
2
= 1 4 = 4
0 2
3
= 0 8 = 0
1 2
4
= 1 16 = 16
22 (hasil penjumlahan)
1.4 Konversi sistem bilangan
1.4.1 Konversi bilangan desimal menjadi biner
Pengubahan bilangan desimal menjadi bilangan biner dapat dilakukan de-
ngan membagi dua bilangan desimal tersebut secara berulang sampai habis
sambil mencatat sisa hasil bagi (modulo). Sebagai contoh bilangan desi-
mal 19 dapat diubah menjadi bilangan biner dengan cara yang terlihat pada
Gambar 1.2.
19
2
= 9 sisa 1
9
2
= 4 sisa 1
4
2
= 2 sisa 0
2
2
= 1 sisa 0
1
2
= 0 sisa 1
19
10
= 1 0 0 1 1
2
Gambar 1.2: Konversi bilangan desimal 19 menjadi biner
Untuk menguji hasil konversi tersebut dapat dilakukan dengan cara se-
belumnya. Lihat Gambar 1.3.
Yohanes Suyanto
6 1. SISTEM BILANGAN
10110=
0 2
0
= 1 1 = 1
1 2
1
= 1 2 = 2
1 2
2
= 0 4 = 0
0 2
3
= 0 8 = 0
1 2
4
= 1 16 = 16
19 (hasil penjumlahan)
Gambar 1.3: Pengujian bilangan biner 10011 menjadi bilangan desimal
1.4.2 Konversi bilangan desimal menjadi oktal
Pengubahan bilangan desimal menjadi bilangan oktal dapat dilakukan de-
ngan cara yang sama dengan konversi dari bilangan desimal menjadi bilangan
biner, dengan mengganti bilangan pembagi dengan delapan. Sebagai contoh
bilangan desimal 321 dapat diubah menjadi bilangan oktal dengan cara yang
terlihat pada Gambar 1.4.
321
8
= 40 sisa 1
40
8
= 5 sisa 0
5
8
= 0 sisa 5
321
10
= 5 0 1
8
Gambar 1.4: Konversi bilangan desimal 321 menjadi oktal
Untuk menguji hasil konversi tersebut dapat dilakukan dengan cara se-
belumnya. Lihat Gambar 1.5.
501=
1 8
0
= 1 1 = 1
0 8
1
= 0 8 = 0
5 8
2
= 5 64 = 320
321 (hasil penjumlahan)
Gambar 1.5: Pengujian bilangan oktal 501 menjadi bilangan desimal
Sekilas terlihat bahwa perhitungan di atas tidak benar. Namun demikian,
perlu diingat bahwa perhitungan tersebut dilakukan dalam bilangan oktal.
Hasil dari
15
2
adalah 6 dengan sisa 1, karena sebenarnya 15
8
= 13
10
.
Yohanes Suyanto
1.4. Konversi sistem bilangan 7
1.4.3 Konversi bilangan desimal menjadi heksadesimal
Cara pengubahan bilangan desimal menjadi bilangan oktal dapat diterapkan
juga untuk mengubah bilangan desimal menjadi heksadesimal, dengan cara
mengganti bilangan pembagi dengan enam belas. Sebagai contoh bilangan
desimal 321 dapat diubah menjadi bilangan heksadesimal dengan cara yang
terlihat pada Gambar 1.6.
321
16
= 20 sisa 1
20
16
= 1 sisa 4
1
16
= 0 sisa 1
321
10
= 1 4 1
8
Gambar 1.6: Konversi bilangan desimal 321 menjadi heksadesimal
Hasil konversi inipun dapat diuji kebenarannya dengan cara yang sama
seperti sebelumnya. Lihat Gambar 1.7.
141=
1 16
0
= 1 1 = 1
4 16
1
= 4 16 = 64
1 16
2
= 1 256 = 256
321 (hasil penjumlahan)
Gambar 1.7: Pengujian bilangan heksadesimal 141 menjadi bilangan desimal
1.4.4 Cara lain konversi bilangan
Secara umum pengubahan suatu bilangan dalam sistem bilangan non-desimal
menjadi suatu bilangan dalam sistem bilangan non-desimal lain dapat di-
lakukan dengan mengubahnya terlebih dahulu ke bilangan desimal, kemudian
diubah ke sistem bilangan tujuan. Namun demikian pengubahan bilangan
biner menjadi bilangan oktal (dan bilangan heksadesimal) dan sebaliknya da-
pat dilakkan secara langsung dengan cara seperti ditunjukkan pada Gambar
1.8.
[h!]
157
8
= 001

101

111

= 1101111
2
1 5 7
Gambar 1.8: Pengubahan bilangan oktal 157 menjadi biner
Yohanes Suyanto
8 1. SISTEM BILANGAN
Cara tersebut dilakukan dengan mengubah setiap digit bilangan oktal
menjadi 3 digit biner (bit). Ingat 8 adalah 2
3
. Sebaliknya untuk men-
gubah bilangan biner menjadi bilangan oktal dapat ditempuh dengan men-
gelompokkan setiap 3 bit dari bilangan biner dari kanan dan menerjemahkan
masing-masing kelompok menjadi bilangan oktal yang sesuai. Lihat Gambar
1.9.
[h!]
10011001
2
= 10

011

001

= 231
8
2 3 1
Gambar 1.9: Pengubahan bilangan biner 10011001 menjadi oktal
Pengubahan bilangan heksadesimal menjadi biner dapat dilakukan de-
ngan menerjemahkan setiap digit bilangan heksadesimal menjadi 4 bit. Bi-
langan 4 didapat karena 16 (heksadesimal) adalah 2
4
.
Contoh 1.1
Ubah bilangan 2BA
16
menjadi bilangan desimal!
Jawab:
2BA
16
= 2 16
2
+ 11 16
1
+ 10 16
0
= 2 256 + 11 16 + 10 1
= 512 + 176 + 10 = 698
10
Contoh 1.2
Ubah bilangan 845
10
menjadi bilangan heksadesimal!
Jawab:
845
16
= 52 sisa 13(D)
52
16
= 3 sisa 4
3
16
= 0 sisa 3
Jadi 845
10
= 34D
16
Yohanes Suyanto
1.5. Sistem Kode 9
Contoh 1.3
Ubah bilangan 2B
16
menjadi bilangan biner!
Cara I:
Bilangan setiap kali dibagi dengan 2. Perlu diingat bahwa pem-
bagian dilakukan dalam bilangan heksadesimal.
2B
2
= 15 sisa 1
15
2
= A sisa 1
A
2
= 5 sisa 0
5
2
= 2 sisa 1
2
2
= 1 sisa 0
1
2
= 0 sisa 1
Jadi 2B
16
= 101011
2
Cara II:
Setiap digit bilangan heksadesimal diterjemahkan menjadi 4 bit.
2B
16
= 0010 1011 = 101011
2
2 11
Contoh 1.4
Ubah bilangan biner 110011011 menjadi bilangan heksadesimal!
Jawab:
Setiap 4 bit dikelompokkan untuk diterjemahkan menjadi masing-
masing 1 digit heksadesimal
110011011 = 1 1001 1011
= 1 9 B = 19B
16
1.5 Sistem Kode
Satu bit dapt digunakan untuk menyatakan dua bilangan yaitu 0 atau 1, 2
bit dapat menyatakan empat (4 = 2
4
) bilangan yaitu 00, 01, 10, atau 11, tiga
bit dapat menyatakan 8 (= 2
3
) bilangan, dan empat bit dapat menyatakan
16 (= 2
4
). Demikian seterusnya.
Yohanes Suyanto
10 1. SISTEM BILANGAN
Yohanes Suyanto
BAB 2
RANGKAIAN LOGIKA
DIGITAL KOMBINASIONAL
Sebelum melangkah lebih jauh, dalam bab ini akan dibahas dasar-dasar
logika digital yang merupakan elemen dasar penyusunan komputer. Pem-
bahasan dimulai dengan rangkaian logika kombinasional yang hasil kelu-
arannya hanya tergantung pada masukan saat itu, kemudian dilanjutkan de-
ngan rangkaian logika sekuensial yang hasil keluarannya tergantung pada
masukan saat itu dan hasil keluaran sebelumnya. Dengan memahami prin-
sip logika digital, dapat dirancang rangkaian logika digital seperti yang ada
dalam komputer.
2.1 Unit Logika Kombinasional
Unit logika kombinasional (ULK) adalah unit yang menerjemahkan sederetan
masukan menjadi sederetan keluaran menggunakan fungsi-fungsi tertentu.
Keluaran yang dihasilkan hanya merupakan fungsi dari masukan, dan be-
gitu nilai masukan berubah maka nilai keluaran akan menyesuaikan. Bentuk
umum dari unit logika kombinasional tercantum pada Gambar 2.1. Sederetan
masukan i
0
i
n
diumpankan ke ULK, yang mengahsilkan sederetan keluaran
sesuai dengan fungsi f
0
f
m
. Tidak ada umpan balik dari keluaran ke ma-
sukan dalam rangkaian logika kombinasional.
Masukan dan keluaran untuk ULK secara normal mempunyai 2 nilai
yaitu: tinggi dan rendah. Jika sinyal (nilai) berupa nilai yang dimabil
dari anggota himpunan berhingga, rangkaiannya disebut digital. Rangka-
ian elektronika digital menerima masukan dan keluaran dalam nilai 0 atau
1. Nilai 0 yang berarti 0 volt disebut sebagai nilai rendah dan nilai 1 yang
biasanya mengacu pada 5 volt disebut nilai tinggi. Kesepakatan ini tidak
11
12 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL
i
0
f
0
(i
0
, i
1
)
i
1
unit logika f
1
(i
1
, i
3
, i
4
)
.
.
. kombinasional
.
.
.
i
n
f
m
(i
9
, i
n
)
Gambar 2.1: Unit logika kombinasi, jika dilihat dari luar
berlaku di semua keadaan.
Walaupun sebagian besar komputer digital adalah komputer biner, na-
mun rangkaian yang menggunakan multi-nilai juga ada. Jalur yang men-
girimkan data denga multi-nilai menjadi lebih esien daripada menggunakan
2 nilai saja. Rangkaian digital multi-nilai berbeda dengan rangkaian ana-
log karena rangkaian digital multi-nilai mempunyai variasi nilai terhingga
sedangkan sinyal analog mempunyai nilai kontinu. Secara teori penggu-
naan rangkaian digital multi-nilai adalah menguntungkan. Namun dalam
pratiknya sulit untuk membuat rangkaian multi-nilai yang handal dalam
membedakan nilai lebih dari 2 macam. Oleh karena itu, logika multi-nilai
saat ini digunakan secara terbatas.
Dalam buku ini hanya akan dibahas mengenai rangkaian digital biner,
yang mempunyai tepat 2 macam nilai yang diperbolehkan untuk masukan
maupun keluaran. Dengan demikian, hanya sinyal binerlah yang digunakan
dalam pembahasan selanjutnya.
2.2 Tabel Kebenaran
Pada tahun 1854 George Boole mempublikasikan kertas kerjanya dalam ben-
tuk aljabar unruk merepresentasikan logika. Boole tertarik dengan pemikiran
matematika untuk menuangkan pernyataan Pintu itu terbuka atau Pintu
itu tidak terbuka. Aljabar Boole kemudian dikembangkan oleh Shannon
dalam bentuk seperti sekarang ini. Dalam aljabar boole, perhitungan di-
dasarkan pada variabel biner yang mempunyai satu nilai 0 atau 1. Nilai
ini mengacu pada nilai 0 volt dan 5 volt seperti yang ditulis pada bagian se-
belumnya. Pengacuan nilai ini dapat tertukar. Artinya nilai 0 mengacu pada
+5 V dan nilai 1 mengacu pada 0 V. Untuk memahami kelakukan rangkaian
digital pembahasan dititikberatkan pada nilai simbolis 0 dan 1 saja. Dengan
kata lain nilai sik dikesampingkan terlebih dulu.
Sumbangan penting yang diberikan Boole adalah penyusunan tabel
kebenaran, yang menyatakan hubungan logis dalam bentuk tabel. Misal-
nya ada ruang dengan 2 saklar A dan B yang mengendalikan lampu Z. Salah
satu saklar dapat hidup atau mati, atau kedua saklar dapat hidup atau mati.
Yohanes Suyanto
2.3. Gerbang Logika 13
Jika hanya ada satu saklar yang hidup maka lampu Z akan menyala. Jika
kedua saklar hidup semua atau mati semua, lampu Z akan mati. Tabel
kebenaran dapat disusun dengan mendaftar semua kemungkinan kombinasi
keadaan saklar A dan B serta keadaan lampu Z seperti pada Tabel 2.2.
Dalam tabel tersebut nilai 0 menyatakan mati sedang nilai 1 menyatakan
hidup atau menyala.
Dalam tabel kebenaran, semua kombinasi biner 0 dan 1 yang mungkin
untuk nilai masukan didaftar dan setiap kombinasi tersebut menghasilkan
nilai keluaran 0 atau 1. Untuk Gambar 2.2.(a) keluaran Z tergantung pada
nilai masukan A dan B. Untuk setiap kombinasi masukan menghasilkan
nilai X 0 atau 1. Kita dapat menentukan tabel lain seperti Gambar 2.2.(b)
yang berarti lampu akan menyala jika A dan B kedua-duanya mati atau
kedua-duanya hidup. Jumlah kombinasi yang mungkin untuk 2 masukan
adalah 2
2
= 4. Jumlah kombinasi keluaran yang mungkin adalah 2
4
=
16, karena ada 4 kombinasi masukan yang masing-masing baris kombinasi
masukan ada 2 kemungkinan nilai keluaran. Secara umum, karena ada 2
n
kombinasi masukan untuk masukan sebanyak n, maka ada 2
2
n
kombinasi
keluaran dan masukan.
Masukan Keluaran Masukan Keluaran
A B Z A B Z
0 0 0 0 0 1
0 1 1 0 1 0
0 0 1 1 0 0
0 1 0 1 1 1
(a) (b)
Gambar 2.2: Tabel kebenaran untuk saklar A dan B serta lampu Z
2.3 Gerbang Logika
Jika kita mendaftar semua kemungkinan dari kombinasi variabel 2 masukan,
maka didapat 16 macam kombinasi keluaran seperti tampak pada Gambar
2.3. Fungsi-fungsi tersebut dinamakan fungsi logika Boolean. Fungsi AND
akan benar (hasilnya 1) hanya jika A dan B keduanya 1, sedang fungsi OR
akan benar (nilainya 1) jika A atau B bernilai 1, yang berarti juga jika
keduanya bernilai 1. Fungsi akan menghasilkan salah jika keluaran bernilai
0. Oleh karena itu fungsi False selalu menghasilkan 0 sedang fungsi True
selalu menghasilkan 1.
Yohanes Suyanto
14 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL
Masukan Keluaran
A B False AND AB A AB B XOR OR
0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1
Masukan Keluaran
A B NOR XNOR B A+B A A+B NAND True
0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1
Gambar 2.3: Tabel kebenaran untuk semua kemungkinan fungsi dari 2 ma-
sukan
Fungsi A dan B hanya mengulang nilai masukan A dan B sedang fungsi
A dan B adalah komplemen A dan B yang nilai berkebalikan dengan A dan
B. Fungsi ini dapat ditulis juga dengan NOTA dan NOTB. Fungsi NAND
kependekan dari NOTAND sedang NOR kependekan dari NOTOR. Fungsi
XOR bernilai benar jika salah satu masuka bernilai benar, dan bukan kedua-
duanya benar. Fungsi XNOR adalah komplemen dari XOR. Fungsi lainnya
dapat diduga sendiri artinya.
Dari 16 fungsi tersebut, ada 3 fungsi paling dasar dalam gerbang logika
ini adalah AND, OR dan NOT. Ke-13 fungsi lainnya dapat disusun dari 3
fungsi tersebut. Lihat Gambar 2.4.
Gerbang logika adalah alat sis yang merupakan implementasi dari
fungsi Boolean. Fungsi seperti yang tertera pada Gambar 2.3 mempunyai
simbol gerbang logika, dan sebagian dapat dilihat pada Gambar 2.5 dan
Gambar 2.6. Untuk setiap fungsi, masukannya adalah A dan B dan sebagai
keluaran adalah F.
Dalam Gambar 2.5, gerbang AND dan OR sudah dijelaskan sebelumnya.
Keluaran dari gerbang AND akan benar jika kedua masukan bernilai benar,
dan menghasilkan salah untuk kombinasi lainnya. Keluaran dari gerbang OR
adalah benar jika salah satu atau kedua masukan bernilai benar, dan bernilai
salah jika kedua masukan bernilai salah. Gerbang buer hanya meneruskan
nilai masukan. Walaupun secara logika gerbang buer tidak mempunyai
peran, namun dalam praktik ini penting karena dapat mengendalikan sejum-
lah gerbang dengan satu sinyal saja. Gerbang NOT (disebut juga pembalik
atau inverter) menghasilkan 1 untuk masukan 0 dan menghasilkan 0 un-
Yohanes Suyanto
2.3. Gerbang Logika 15
False = 0
AB = A AND NOT B
A = A
AB = NOT A AND B
B = B
XOR = A AND NOT B OR NOT A AND B
NOR = NOT (A OR B)
XNOR = NOT (A AND NOT B OR NOT A AND B)
B = NOT B
A+B = A OR NOT B
A = NOT A
A+B = NOT A OR B
NAND = NOT (A AND B)
True = 1
Gambar 2.4: Fungsi AND, OR, dan NOT sebagai pembentuk fungsi-fungsi
lainnya
tuk masukan 1. Sekali lagi, keluaran pembalik ini adalah komplemen dari
masukan. Lingkaran kecil di bagian keluaran atau masukan berfungsi juga
sebagai komplemen.
Dalam Gambar 2.6, gerbang NAND dan NOR mengahasilkan komplemen
dari gerbang AND dan OR. Gerbang XOR menghasilkan 1 jika salah satu
masukan bernilai 1, tetapi tidak keduanya. Secara umum, gerbang XOR
menghasilkan 1 jika masukan yang bernilai 1 berjumlah ganjil. Ini penting
untuk diingat karena gerbang XOR tidak selalu mempunyai 2 masukan. Ger-
bang XNOR menghasilkan komplemen dari gerbang XOR.
Simbol logika seperti gambar 2.5 dan 2.6 hanya merupakan bentuk dasar.
Masih banyak variasi simbol yang sering digunakan. Contohnya, dapat
berupa AND dengan 3 masukan seperti Gambar 2.7a. Lingkaran kecil se-
bagai simbol kompelemen juga dapat dipasang pada bagian masukan seperti
pada Gambar 2.7b.
Secara sis, gerbang logika bukanlah barang ajaib, karena hanya berupa
rangkaian elektronika yang menghasilkan keluaran tertentu dari masukan
tertentu. Misalnya pada gerbang NOT, akan menghasilkan logika 1 (+5V)
Yohanes Suyanto
16 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL
A B F
0 0 0
0 1 0
1 0 0
1 1 1
A B F
0 0 0
0 1 1
1 0 1
1 1 1
A
B
F = AB
A
B
F = A+B
AND OR
A F
0 0
1 1
A F
0 1
1 0
A F = A A
F = A
BUFFER NOT
Gambar 2.5: Simbol gerbang logika untuk fungsi Boolean AND, OR, buer,
dan NOT
untuk masukan berupa logika 0 (0V). Bagian berikut membahas mekanisme
dasar bagaimana rangkaian gerbang logika bekerja.
2.4 Implementasi Elektronik dari Gerbang
Logika
Secara elektronis, gerbang logika mempunyai terminal untuk dihubungkan
dengan sumber tenaga yang biasanya tidak ditampilkan. Gambar 2.8a
menggambarkan pembalik dengan terminal +5V dan 0V (GND) yang
dimunculkan. Sinyal +5V biasanya disebut V
CC
yang berarti voltage
collector-collector. Pada rangkaian sis, semua terminal V
CC
dan GND di-
hubungkan dengan sumber tenaga yang cocok.
Gerbang logika tersusun dari alat elektronik yang disebut transistor, yang
dapat bersifat sebagai saklar yang mengendalikan sinyal elektronis kuat de-
ngan menggunakan sinyal elektronis lemah. Transistor juga bersifat penguat
yang dapat menguatkan sinyal masukan sehingga dapat digunakan untuk di-
hubungkan dengan banyak gerbang logika. Tanpa penguatan, kita mungkin
hanya dapat mengirim sinyal ke sejumlah kecil gerbang logika, sebelum sinyal
itu bercampur dengan derau sehingga tidak terdeteksi lagi.
Yohanes Suyanto
2.4. Implementasi Elektronik dari Gerbang Logika 17
A B F
0 0 1
0 1 1
1 0 1
1 1 0
A B F
0 0 1
0 1 0
1 0 0
1 1 0
A
B
F = AB
A
B
F = A +B
NAND NOR
A B F
0 0 0
0 1 1
1 0 1
1 1 0
A B F
0 0 1
0 1 0
1 0 0
1 1 1
A
B
F = A B
A
B
F = A B
Exclusive-OR (XOR) Exclusive-NOR (XNOR)
Gambar 2.6: Simbol gerbang logika untuk fungsi Boolean NAND, NOR,
XOR, dan XNOR
A
B
C
F = ABC
A
B
F = A + B
(a) (b)
Gambar 2.7: Variasi gerbang logika (a) tiga masukan dan (b) masukan de-
ngan komplemen
Simbol transistor tampak seperti Gambar 2.8c yang digunakan sebagai
gerbang pembalik. Untuk masukan berupa 0 (0 V) pada basis akan meng-
hasilkan keluaran 1 (+5 V) pada kolektor, karena tidak ada arus dari V
CC
ke GND akibat transistor mati. Jika sinyal 1 (+5 V) dimasukkan ke basis,
maka akan ada arus listrik dari V
CC
ke GND karena transistor hidup. Oleh
karena itu di kolektor tegangannya cukup kecil untuk dianggap logika 1. Jadi
keluaran akan 0 (0 V).
Karena akan selalu ada arus yang mengalir walaupun keluaran menun-
jukkan logika 0, maka kita perlu menentukan batas tegangan yang aman
untuk nilai logika 0 dan 1. Jika kita menentukan secara ketat bahwa logika 0
adalah 0 V dan logika 1 adalah 5 V, maka kemungkinan rangkaian kita tidak
bekerja sebagai mana mestinya jika keluarannya adalah 0.1 V bukan 0 V. Hal
Yohanes Suyanto
18 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL
A
F = A
V
cc
= +5V
GND = 0V
A
A
R
V
CC
(a) (b)
Gambar 2.8: (a) pembalik dengan terminal tenaga dimunculkan dan (b)
rangkaian transistor untuk pembalik
ini dapat terjadi dalam praktiknya. Untuk alasan ini, maka penentuan nilai
tegangan untuk logika 0 dan 1 menggunakan batas ambang. Pada Gambar
2.9a logika 0 ditentukan pada tegangan dalam rentang 0 V sampai dengan 0.4
V dan logika 1 dalam rentang 2.4 V sampai dengan 5 V. Rentang tegangan
pada Gambar 2.9a adalah untuk sinyal keluaran. Karena sinyal dapat men-
galami pelemahan maka untuk sinyal masukan diberi berselisih 0.4 V seperti
tampak pada Gambar 2.9b. Namun demikian rentang nilai tegangan yang
tercantum di sini tidak mengikat, tergantung dari keluarga gerbang logika
yang digunakan.
Logika 1
Daerah
terlarang
Logika 0
0.0 V
0.4 V
2.4 V
5.0 V
Logika 1
Daerah
terlarang
Logika 0
0.0 V
0.8 V
2.0 V
5.0 V
(a) (b)
Gambar 2.9: Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang
logika keluaran, (b) gerbang logika masukan
Gambar 2.10 menunjukkan rangkaian transistor untuk gerbang logika
NAND dan NOR. Untuk rangkaian NAND kedua masukan A dan B harus
berada pada daerah tegangan logika 1 untuk menghasilkan keluaran pada
daerah tegangan logika 0. Untuk rangkaian gerbang NOR, salah satu ma-
Yohanes Suyanto
2.5. Buer Tri-State 19
B
A
AB
R
V
CC
A
A+B
B
R
V
CC
(a) (b)
Gambar 2.10: Rangkaian transistor (a) NAND 2 masukan (b) NOR 2 ma-
sukan
sukan Aatau B berada pada tegangan logika 1, akan mengakibatkan keluaran
berada pada daerah tegangan 0.
2.5 Buer Tri-State
Buer Tri-state adalah seperti buer biasa yang kita bahas sebelumnya, de-
ngan pengecualian bahwa ada tambahan masukan untuk mengendalikan kelu-
aran buer. Tergantung dari masukan kendali ini, keluaran dari buer dapat
bernilai 0, 1, atau tak berfungsi. Jadi ada 3 macam keluaran. Dalam Gambar
2.11a, jika masukan kendali C bernilai 1 maka buer bekerja seperti biasa.
Namun jika masukan kendali C ini bernilai 0 maka buer dalam keadaan
tak berfungsi, tidak ada sinyal keluaran. Simbol digunakan untuk meny-
atakan keadaan tak berfungsi ini. Perlu diketahui bahwa keadaan tidak
menunjukkan 0 atau 1, tetapi menyatakan bahwa tidak ada sinyal. Dalam
istilah elektronika keadaan ini disebut berimpedansi tinggi high impedance.
Buer tri-state kendali inversi mirip dengan buer tri-state kecuali masukan
kendalinya merupakan komplemen. Lihat Gambar 2.11b.
A
C
F = AC
atau
F =
A
C
F = AC
atau
F =
(a) (b)
Gambar 2.11: Buer tri-state dan Buer tri-state kendali inversi
Keluaran yang secara elektronis tak terhubung berbeda dengan keluaran
Yohanes Suyanto
20 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL
yang menghasilkan 0. Tidak terhubung secara elektronis berarti tidak ada
sinyal elektronis sedang logika 0 terhubung dengan GND. Dengan buer tri-
state memungkinkan sejumlah keluaran dihubungkan menjadi satu tanpa
ada risiko hubung singkat, asal dijaga bahwa pada satu saat hanya boleh
satu buer tri-state yang hidup. Buer tri-state penting saat implementasi
register.
2.6 Sifat-sifat Aljabar Boole
Tabel 2.1 merangkum sebagian dari sifat-sifat aljabar Boole yang dapat diter-
apkan pada ekspresi logika Boole. Postulat (dikenal sebagai postulat Hunt-
ington) merupakan aksioma dasar untuk aljabar Boole dan tidak memer-
lukan pembuktian. Teorema dapat dibuktikan melalui postulat. Setiap relasi
dalam tabel mempunyai bentuk AND dan OR sebagai hasil dari prinsip du-
alisme. Bentuk dualisme ini memungkinan mengubah bentuk AND menjadi
OR dan sebaliknya bentuk OR menjadi AND.
Relasi Dualisme Sifat
Postulat AB = BA A +B +B +A Komutatif
A(B +C) = AB +AC A +BC = (A +B) + (A +C) Distributif
1A = A 0 +A = A Identitas
AA = 0 A+A = 1 Komplemen
Teorema 0A = 0 1 +A = 1 Teorema nol dan satu
AA = A A +A = A Idempoten
A(BC) = (AB)C A+ (B +C) Asosiatif
A = A Involusi
AB = A +B A+B = A B Teorema DeMorgan
AB +AC +BC (A +B)(AC)(B +C) Teorema konsensus
= AB +AC = (A +B)(A +C)
A(A +B) = A A +AB = A Teorema absorbsi
Tabel 2.1: Sifat-sifat dasar aljabar Boole
Sifat komutatif menyatakan bahwa urutan kemunculan du avriabel dalam
fungsi AND dan OR tidak mengakibatkan hasil yang berbeda. Dengan prin-
sip dualisme, sifat komutatif mempunyai bentuk AND (AB = BA) dan ben-
tuk OR (A+B = B +A). Sifat distributif menunjukkan bagiaman variabel
didistribusikan melalui operasi AND. Karena prinsip dualisme juga maka ada
sifat distributif untuk OR.
Sifat identitas menunjukkan bahwa variabel yang di-AND-kan dengan 1
atau di-OR-kan dengan 0, menghasilkan nilai variabel itu sendiri. Sifat kom-
plemen mengakibatkan bahwa variabel yang dikenakan operasi AND ter-
hadap komplemen variabel tersebut, menghasilkan 0 (karena paling tidak
Yohanes Suyanto
2.6. Sifat-sifat Aljabar Boole 21
pasti ada 1 operan bernilai 0), dan variabel yang dikenakan operasi OR ter-
hadap komplemennya, menghasilkan nilai 1 (karena pasti ada nilai 1 pada
operannya).
Teorema nol dan satu menyatakan bahwa operasi AND antara variabel
dengan 0 akan menghasilkan 0 dan operasi OR antara variabel dengan 1 akan
menghasilkan 1. Teorema idempoten menyatakan bahwa operasi AND atau
OR antara variabel dengan dirinya sendiri menghasilkan nilai variabel itu
sendiri.
Teorema asosiatif menyatakan bahwa urutan operasi AND atau OR tidak
mengakibatkan hasil yang berbeda. Teorema involusi menyatakan bahwa
komplemen dari komplemen suatu variabel adalah variabel itu sendiri.
Teorema DeMorgan, teorema konsensus, dan teorema absorbsi tidak be-
gitu jelas sehingga kita perlu membuktikannya. Teorema DeMorgan dapat
dibuktikan dengan induksi yaitu mendaftar semua kemungkinan nilai 2 vari-
abel A dan B serta fungsi yang dibuktikan seperti Gambar 2.12. Sisi kiri dan
kanan dalam ekspresi DeMorgan mempunyai nilai yang sama, inilah buk-
tinya. Untuk teorema konsensus dan absorbsi, silakan dicoba sendiri untuk
latihan.
A B AB = A+ B A +B = A B
0 0 1 1 1 1
0 1 1 1 0 0
1 0 1 1 0 0
1 1 0 0 0 0
Gambar 2.12: Pembuktian teorema DeMorgan untuk 2 variabel
Tidak semua gerbang logika dibicarakan secara mendalam karena
berdasarkan 3 himpunan gerbang logika yaitu {AND, OR, NOT}, {NAND},
dan {NOR}, satu himpunan dapat disusun dari gerbang-gerbang pada him-
punan lainnya.
Sebagai contoh misalnya implementasi OR dengan menggunakan him-
punan {NAND}. Teorema DeMorgan dapat digunakan untuk menyusun
gerbang OR dari gerbang NAND seperti Gambar 2.13 dan 2.14. Penjelasan-
nya adalah sebagai berikut:
A+B = A+B Teorema involusi
= A B Teorema DeMorgan
Untuk mendapatkan inversi (NOT) dari gerbang NAND penjelasannya
adalah:
Yohanes Suyanto
22 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL
A
B
F = A +B
A
B
F = A B
Gambar 2.13: Penyusunan NAND menjadi OR
A = A+A Teorema idempoten
= A A Teorema DeMorgan
A
B
A+B A+B
A
B
Gambar 2.14: Implementasi OR dengan NAND (gambar lain)
Fungsi AND dalam {NAND} (Gambar 2.15) dijelaskan sebagai berikut:
AB = AB Teorema involusi
A
B
F = AB
A
B
F = AB
Gambar 2.15: Penyusunan NAND menjadi AND
Ekuivalensi di antara fungsi-fungsi logika menjadi penting dalam prak-
tik, karena suatu jenis gerbang logika kemungkinan mempunyai karakteristik
yang lebih baik daripada yang lainnya.
2.7 Bentuk Sum-of-Product dan Diagram
Logika
Misalnya kita akan membuat fungsi yang lebih kompleks daripada sekedar
gerbang logika sederhana, seperti fungsi mayoritas yang tertera sebagai tabel
kebenaran pada Gambar 2.16. Fungsi mayoritas akan benar jika lebih dari
separo masukan bernilai benar. Fungsi ini sering digunakan pada pembetu-
lan kesalahan dengan menganggap bahwa nilai yang paling banyak muncul
sebagai nilai hasil, atau kadang disebut pula sebagai fungsi voting.
Karena pembahasan sampai di sini belum ada gerbang sederhana yang
dapat digunakan secara langsung untuk implementasi fungsi mayoritas,
maka kita akan melakukan transformasi dari persamaan AND-OR dua-level
dan mengimplementasikannya dalam bentuk gerbang logika dari himpunan
Yohanes Suyanto
2.7. Bentuk Sum-of-Product dan Diagram Logika 23
Indeks
minterm
A B C F
0 0 0 0 0
1 0 0 1 0
2 0 1 0 0
3 0 1 1 1
4 1 0 0 0
5 1 0 1 1
6 1 1 0 1
7 1 1 1 1
Gambar 2.16: Tabel kebenaran untuk fungsi mayoritas
{AND, OR, NOT} (misalnya). Disebut persamaan dua-level karena ada satu
level bentuk AND dilanjutkan dengan satu level bentuk OR. Fungsi Boolean
untuk mayoritas ini bernilai benar jika nilai F pada tabel kebenaran bernilai
benar. Dengan demikian F akan benar untuk nilai A = 0, B = 1, dan C = 1,
atau A = 1, B = 0, dan C = 1, dan seterusnya seperti dalam tabel.
Salah satu cara untuk menuliskan persamaan logika adalah dengan meng-
gunakan bentuk sum-of-product atau SOP, yang merupakan kumpulan AND
dari variabel yang terlibat kemudian dioperasikan dengan OR. Bentuk per-
samaan logika untuk fungsi mayoritas tertulis pada Persamaan 2.1. Tanda
+ berarti operasi OR dan bukan penambahan secara aritmetika.
F = ABC +ABC +ABC +ABC (2.1)
Dengan mengamati persamaan tersebut kita dapat menentukan
bahwa diperlukan 4 buah AND untuk implementasi suku perkalian
ABC, ABC, ABC, dan ABC. Keluaran dari gerbang AND kemudian
dihubungkan ke masukan gerbang OR 4-masukan seperti Gambar 2.17.
Rangkaian ini menunjukkan fungsi mayoritas, dan kita dapat mengeceknya
dengan memasukkan semua kombinasi yang mungkin untuk masukan dan
mengamati hasilnya.
Yohanes Suyanto
24 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL
A B C
F
Gambar 2.17: Implementasi fungsi mayoritas dengan dua-level AND-OR.
Inverter tidak dihitung sebagai level.
Jika setiap suku mengandung tepat masing-masing variabel 1 kali, dalam
bentuk komplemen atau bukan, maka suku ini disebut minterm. Minterm
mempunyai nilai 1 dalam keluaran tabel kebenaran. Dengan demikian
minterm adalah minimum term yang menghasilkan benar. Sebagai alternatif
fungsi dapat ditulis dalam bentuk jumlahan dari kombinasi yang benar. Per-
samaan 2.1 dapat ditulis ulang menjadi persamaan 2.2 dengan indeks adalah
minterm indeks seperti Gambar 2.16.
F =

(3, 5, 6, 7) (2.2)
Notasi ini digunakan secara resmi sebagai persamaan Boolean karena
hanya berisi minterm saja. Persamaan 2.1 dan 2.2 disebut sebagai notasi
resmi untuk bentuk SOP.
2.8 Bentuk Product-of-Sum
Sebagai pasangan dari bentuk sum-of-product, persamaan Boolean dapat di-
representasikan dalam bentuk product-of-sum (POS). Persamaan dalam
bentuk POS berupa koleksi rangkaian OR yang keluarannya dihubungkan
bersama dengan gerbang AND. Salah satu cara untuk membentuk POS
adalah dengan jalan melakukan komplemen terhadap bentuk SOP, dan ke-
mudian diterapkan teorema DeMorgan. Sebagai contoh, lihat kembali fungsi
mayoritas dalam bentuk tabel kebenaran di Gambar 2.16, bentuk komple-
mennya adalah baris-baris yang menghasilkan keluaran 0, seperti persamaan
2.3:
F = A B C +A BC +ABC +AB C (2.3)
Yohanes Suyanto
2.8. Bentuk Product-of-Sum 25
Dilakukan komplemen pada kedua ruas didapat persamaan 2.4:
F = A B C +A BC + ABC +AB C (2.4)
Penerapan teorema DeMorgan yang berbentuk W +X +Y +Z = W X Y Z
didapat persamaan 2.5:
F = (A B C) (A BC) (ABC) (AB C) (2.5)
Penerapan teorema DeMorgan yang berbentuk WXY Z = W+X+Y +Z
pada faktor dalam kurung didapat persamaan 2.6
F = (A+B +C)(A+B +C) + (A+B +C)(A+B +C) (2.6)
Persamaan 2.6 berbentuk POS, dan berisi 4 maxterms, yang mem-
bolehkan setiap variabel muncul tepat 1 kali dalam bentuk komplemen
maupun tidak. Maxterm, misalnya (A + B + C), mempunyai nilai 0 untuk
satu baris dalam tabel kebenaran. Persamaan yang hanya berisi maxterm
dalam bentuk POS dikatakan sebagai persamaan product-of-sum. Rangkaian
OR-AND sebagai implementasi dari persamaan 2.5 tampaka pada Gambar
2.18.
A B C
F
Gambar 2.18: Rangkaian OR-AND dua-level implementasi dari fungsi may-
oritas. Inverter tidak dihitung sebagai level
Salah satu motivasi penggunaan POS daripada SOP adalah jika meng-
hasilkan bentuk persamaan Boole yang lebih sederhana. Persamaan Boole
yang lebih sederhana dapat menghasilkan rangkaian yang lebih sederhana,
namun ini tidak pasti karena ada sejumlah faktor yang tidak tergan-
tung langsung pada ukuran persamaan Boole, seperti kompleksitas topologi
perkawatan.
Yohanes Suyanto
26 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL
Cacah gerbang adalah ukuran kompleksitas rangkaian yang menun-
jukkan cacah semua gerbang logika yang digunakan. Cacah masukan ger-
bang adalah ukuran lain kompleksitas rangkaian yang menunjukkan jumlah
masukan ke semua gerbang logika. Untuk rangkaian pada Gambar 2.17 dan
Gambar 2.18, cacah gerbang adalah 8 dan cacah masukan gerbang adalah
19 untuk bentuk SOP dan POS. Dalam kasus ini tidak ada perbedaan kom-
pleksitas rangkaian antara bentuk SOP dan POS, tetapi untuk kasus lain
perbedaannya menjadi nyata. Ada banyaj variasi metode untuk mereduksi
kompleksitas rangkaian digital, beberapa di antaranya dibahas pada Bab 3.
2.9 Logika Positif dan Negatif
Sampai saat ini kita berasumsi bahwa tegangan tinggi dan rendah
berpadanan dengan logika 1 dan 0, atau BENAR dan SALAH, yang dikenal
sebagai active high atau logika positif. Kita dapat membuat pernyataan
yang sebaliknya: tegangan rendah untuk logika 1 dan tegangan tinggi un-
tuk logika 0. Penggunaan logika negatif kadang-kadang lebih disukai dari-
pada logika positif untuk aplikasi yang sifatnya menghalangi daripada mem-
bolehkan.
Gambar 2.19 menunjukkan ilustrasi pasangan gerbang AND-OR dan
NAND-NOR untuk logika positif dan negatif. Logika positif gerbang AND
berlaku seperti logika negatif gerbang OR. Gerbang logika secara sis sama
tanpa memperhatikan logika positif atau negatif, hanya interpretasi sinyalnya
berubah.
Pencampuran logika positif dan negatif dalam satu sistem sebaiknya di-
hindari untuk mencegah kerancuan, tetapi kadang-kadang hal ini tidak da-
pat dihindari. Untuk kasus ini, suatu teknik yang dikenal dengan nama
pencocokan gelembung membantu untuk menjaga agar logikanya berjalan
dengan benar. Idenya adalah rangkaian logika positif bernilai positif dan di-
pasangi gelembung (yang berarti inversi) untuk semua masukan dan kelu-
aran untuk dihubungkan dengan rangkaian logika negatif. Dengan demikian
sinyal yang keluar dari gelembung adalah komplemen dari sinyal yang mema-
sukinya.
Perhatikan rangkaian yang ditunjukkan oleh Gambar 2.20a, 2 rangkaian
logika positif digabungkan dengan gerbang AND dan dihubungkan ke sistem
logika positif. Sistem yang ekuivalen secara logis ditunjukkan pada Gam-
bar 2.20b. Dalam proses pencocokan gelembung, gelembung dipasang pada
setiap masukan atau keluaran dari rangkaian aktif rendah seperti Gambar
2.20c.
Untuk memudahkan analisis rangkaian, gelembung masukan aktif rendah
Yohanes Suyanto
2.10. Data Sheet 27
Level tegangan Level logika positif Level logika negatif
A B F A B F A B F
rendah rendah rendah 0 0 0 1 1 1
rendah tinggi rendah 0 1 0 1 0 1
tinggi rendah rendah 1 0 0 0 1 1
tinggi tinggi tinggi 1 1 1 0 0 0
gerbang
AND
sis
A
B
F
A
B
F = AB
A
B
F = A+B
Level tegangan Level logika positif Level logika negatif
A B F A B F A B F
rendah rendah tinggi 0 0 1 1 1 0
rendah tinggi tinggi 0 1 1 1 0 0
tinggi rendah tinggi 1 0 1 0 1 0
tinggi tinggi rendah 1 1 0 0 0 1
gerbang
NAND
sis
A
B
F
A
B
F = AB
A
B
F = A +B
Gambar 2.19: Logika positif dan negatif untuk pasangan AND-OR dan
NAND-NOR
perlu dicocokkan dengan gelembung keluaran aktif rendah. Dalam Gambar
2.20c ada gelembung yang tidak cocok karena hanya ada 1 gelembung dalam
1 garis. Teorema DeMorgan digunakan untuk konversi dari gerbang OR
menjadi gerbang NAND dengan masukan yang dikomplemenkan. Gambar
2.20d menunjukkan gelembung yang sudah cocok.
2.10 Data Sheet
2.11 Komponen Digital
Desain rangkaian digital tingkat tinggi biasanya menggunakan sekumpulan
gerbang yang dikemas dalam bentuk komponen bukan gerbang logika tung-
gal. Hal ini mengakibatkan bahwa kompleksitas rangkaian dapat dikurangi
dan pemodelannya menjadi sederhana. Beberapa komponen dibahas dalam
bagian berikut.
Yohanes Suyanto
28 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL
Logika positif x
0
Logika positif x
1
logika
positif
(a)
Logika negatif x
0
Logika negatif x
1
logika
negatif
(b)
Logika negatif x
0
Logika negatif x
1
logika
negatif
(c)
Logika negatif x
0
Logika negatif x
1
logika
negatif
(d)
Gambar 2.20: Proses pencocokan gelembung
2.11.1 Level Integrasi
Sampai saat ini kita membahas desain unit logika kombinasional. Karena
kita bekerja dengan gerbang tunggal, maka kita bekerja pada level inte-
grasi skala kecil (small scale integration (SSI), yang meliputi chip dengan
isi 10 - 100 komponen. Pengertian komponen di sini berbeda dengan kom-
ponen sebelumnya, yaitu mengacu pada transitor dan elemen diskrit lain.
Dalam integrasi skala menengah atau mediam scale integration (MSI), isi
chip berkisar antara 100-1000 komponen. Integrasi skala besar atau large
scale integration (LSI) mengacu pada chip yang berisi 1000-10.000 kompo-
nen, dan integrasi skala sangat besar atau very large scale integration
(VLSI) berisi komponen yang lebih banyak lagi.
2.11.2 Multiplekser
Multiplekser atau MUX (mutiplexer) adalah komponen yang mempunyai
banyak masukan dan 1 keluaran. Diagram blok dan table kebenaran dari
MUX 4-ke-1 ditunjukkan oleh Gambar 2.21. Keluaran F adalah sama dengan
masukan pada jalur yang dipilih oleh kendali masukan A dan B. Misalnya,
jika AB = 00, maka keluaran F adalah nilai pada masukan D
0
(baik 0
maupun 1). Rangkaian yang sesuai untuk MUX ini terlihat pada Gambar
2.22
Saat kita mendesain rangkaian dengan MUX, biasanya kita menggunakan
bentuk kotak seperti Gambar 2.21, bukan bentuk terperinci seperti Gambar
2.22. Dengan cara ini, gambar rangkaian menjadi lebih mudah dipahami.
Multiplekser juga dapat digunakan untuk implemtasi fungsi Boolean.
Gambar 2.23 menunjukkan penggunaan MUX sebagai fungsi mayoritas.
Data masukan diambil langsung dari tabel kebenaran fungsi mayoritas, dan
masukan kendali dihubungkan langsung ke variabel A, B, dan C. Imple-
mentsai fungsi menggunakan MUX adalah dengan memasang 1 pada jalur
masukan yang merupakan minterm dan mengisi 0 untuk lainnya. Walaupun
Yohanes Suyanto
2.11. Komponen Digital 29
00 D
0
01 D
1
10 D
0
11 D
1
F
A B
Kendali masukan
Masukan
A B
0 0
0 1
1 0
1 1
D
0
D
1
D
2
D
3
F
F = A BD
0
+A BD
1
+A BD
2
+ABD
3
Gambar 2.21: Blok diagram dan tabel kebenaran untuk MUX 4-ke-1
D
0
F
D
1
D
2
D
3
A B
Gambar 2.22: Implementasi MUX 4-ke-1 dengan AND-OR
sebagian masukan tidak digunakan namun penggunakan MUX untuk imple-
mentasi fungsi Boolean namun banyak juga fungsi Boolean yang menggu-
nakannya, sebab proses desainnya dan implementasinya menjadi lebih seder-
hana.
Kasus lain penggunakan MUX 4-ke-1 untuk fungsi dengan 3 variabel
ditunjukkan pada Gambar 2.24. Data msukan diambil dari himpunan
{0,1,C, C}, dan pengelompokannya dapat dilihat pada tabel kebenaran. Jika
AB = 00 maka F = 0, apapun nilai C, sehingga kita isi 0 untuk jalur ma-
sukan 00 pada MUX. Jika AB = 01, maka F = 1 apapun nilai C, sehingga
kita isi 1 pada jalur 01 pada MUX. Jika AB = 10 maka F = C, karena untuk
C = 0 maka F = 0 dan untuk C = 1 maka F = 1, sehingga kita isi C pada
jalur 10 pada MUX. Akhirnya untuk AB = 11, maka F = C, dan kita isi
jalur 11 pada MUX dengan C. Dengan cara ini, kita dapat mengimplemen-
tasikan fungsi 3 variabel dengan menggunakan MUX 2 variabel.
Yohanes Suyanto
30 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL
A B C
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
F
0
0
0
1
0
1
1
1
0
0
0
1
0
1
1
1
000
001
010
011
100
101
110
111
F
B A C
Kendali masukan
Gambar 2.23: Implementasi MUX 8-ke-1 untuk fungsi mayoritas
A B C
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
F
0
0
1
1
0
1
1
0
0
1
C
C
00 0
01 1
10 C
11
C
F
A B
Gambar 2.24: Implementasi MUX 4-ke-1 untuk fungsi dengan 3 variabel
2.11.3 Demultiplekser
Demultiplekser atau DEMUX (demultiplexer) adalah kebalikan dari MUX.
Diagram blok untuk DMUX 1-ke-4 dengan kendali masukan A dan B serta
tabel kebenaran yang sesuai ditunjukkan oleh Gambar 2.25. DEMUX men-
girim data masukan D ke salah satu jalur keluaran F
i
yang ditentukan oleh
kendali masukan. Rangkaian DEMUX 1-ke-4 ditunjukkan pada Gambar 2.26.
Aplikasi DEMUX digunakan untuk mengirim data dari satu sumber ke salah
satu dari sejumlah tujuan, seperti tombol pada elevator kepada wahana el-
evator terdekat. DEMUX tidak biasa digunakan pada implementasi fungsi
Boolean umumnya, walaupun cara ini juga bisa dilakukan.
Yohanes Suyanto
2.11. Komponen Digital 31
00 D
0
01 D
1
10 D
0
11 D
1
D
A B
D A B
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
F
0
F
1
F
2
F
3
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Gambar 2.25: Diagram blok dan tabel kebenaran untuk DEMUX 1-ke-4
A B
D
F
0
F
1
F
2
F
3
Gambar 2.26: Rangkaian DEMUX 1-ke-4
2.11.4 Dekoder
Dekoder menerjemahkan secara logika kode menjadi artinya. Pada satu saat
tepat hanya satu keluaran yang bernilai 1, yang ditentukan oleh kendali in-
put. Diagram blok dan tabel kebenaran dari dekoder 2-ke-4 dengan kendali
masukan A dan B tercantum pada Gambar 2.27. Rangkaian dekoder yang
sesuai dengan itu terlihat pada Gambar 2.28. Dekoder dapat digunakan
untuk mengendalikan rangkaian lain, dan menonaktifkan rangkaian lain.
Karena alasan ini, kita tambahkan jalur Enable yang kan menghasilkan kelu-
aran 0 semua jika Enable ini diisi 0, yang secara logika mirip dengan DEMUX
dengan masukan 1.
Salah satu aplikasi dekoder adalah untuk menerjemahkan alamat me-
mori menjadi lokasi sis. Dekoder juga dapat digunakan untuk implemen-
tasi fungsi Boolean. Karena setiap jalur keluaran berkorespondensi dengan
Yohanes Suyanto
32 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL
00 D
0
01 D
1
10 D
0
11 D
1
A
B
Enable
A B
0 0
0 1
1 0
1 1
D
0
D
1
D
2
D
3
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Enable=1
A B
0 0
0 1
1 0
1 1
D
0
D
1
D
2
D
3
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
Enable=0
D
0
= A B D
1
= AB D
2
= AB D
3
= AB
Gambar 2.27: Diagram blok dan tabel kebenaran dekoder 2-ke-4
Enable
B
A
D
0
D
1
D
2
D
3
Gambar 2.28: Rangkaian dekoder 2-ke-4
minterm yang berbeda, maka fungsi dapat diimplementasikan dengan ope-
rasi OR pada keluaran yang berkorespondensi dengan minterm yang berni-
lai benar. Contohnya Gambar 2.29 adalah implementasi fungsi mayoritas
menggunakan dekoder 3-ke-8. Keluaran yang tidak digunakan dibiarkan tak
terhubung.
000
001
010
011
100
101
110
111
B
A
C
M
Gambar 2.29: Implementasi fungsi mayoritas dengan dekoder 3-ke-8
Yohanes Suyanto
2.11. Komponen Digital 33
2.11.5 Enkoder Prioritas
Enkoder menerjemahkan sekumpulan masukan menjadi kode biner, dan da-
pat dipahami sebagai kebalikan dari dekoder. Enkoder prioritas adalah salah
satu bentuk enkoder yang memperhatikan urutan masukan. Diagram blok
dan tabel kebenarannya ada pada Gambar 2.30. Prioritas dalam enkoder
ini maksudnya adalah bahwa masukan A
i
mempunyai prioritas lebih tinggi
daripada A
i+1
. Keluaran berupa nilai 00,01,10, atau 11 tergantung dari jalur
masukan yang aktif dengan prioritas tertinggi. Jika tidak masukan yang ak-
tif, keluaran menghasilkan nilai bawaan A
0
(F
1
F0 = 00).
00 A
0
01 A
1
10 A
2
11 A
3
F
0
F
1
F
0
= A
0
A
1
A
3
+A
0
A
1
A
2
F
1
= A
0
A
2
A
3
+A
0
A
1
A
0
A
1
A
2
A
3
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
F
0
F
1
0 0
1 1
1 0
1 0
0 1
0 1
0 1
0 1
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
Gambar 2.30: Diagram blok dan tabel kebenaran enkoder prioritas 4-ke-2
Enkoder prioritas digunakan untuk memilih dari sejumlah alat yang
berkompetisi untuk menggunakan jalur yang sama, misalnya jika sejum-
lah pengguna secara serentak berusaha menggunakan sistem komputer yang
sama. Rangkaian enkoder prioritas 4-ke-2 tampak pada Gambar 2.31.
Yohanes Suyanto
34 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL
A
0
F
0
A
1
A
2
A
3
F
1
Gambar 2.31: Rangkaian enkoder prioritas 4-ke-2
2.11.6 PLA
Larik logika dapat diprogram atau programmable logic array (PLA) adalah
komponen yang berisi matriks AND diikuti dengan matriks OR. PLA de-
ngan 3 masukan dan 2 keluaran ditunjukkan oleh Gambar 2.32. Tiga ma-
sukan A, B, dan C dan komplemennya tersedia sebagai masukan untuk 8
gerbang AND yang menghasilkan 8 suku perkalian. Keluaran dari gerbang
AND dihubungkan ke masukan semua gerbang OR yang menghasilkan kelu-
aran fungsi F
0
dan F
1
. Sekering yang dapat diprogram diletakkan pada
setiap persilangan pada matriks AND dan OR. PLA diprogram untuk fungsi
tertentu dengan memutus sekering pada matriks. Pada saat sekering dipu-
tus pada gerbang AND, maka masukan tersebut terhubung ke nilai logika
1. Demikian juga jika sekering diputus pada gerbang OR, maka masukan
terhubung ke logika 0.
Sebagai contoh bagaimana penggunaan PLA, kita lihat implementasi
fungsi mayoritas dengan memakai PLA 3 2 (fungsi dengan 3 masukan
variabel 2 keluaran). Untuk keperluan penyederhanaan ilustrasi, bentuk
seperti Gambar 2.33 yang dipergunakan, bukan 2.32. Dengan catatan bahwa
jalura tunggal pada masukan gerbang AND mewakili 6 jalur masukan, dan
jalur tunggal pada setiap gerbang OR mewakili 8 jalur masukan. Tanda bu-
latan kecil pada persimpangan menunjukkan tempat koneksi dibuat. Dalam
Gambar 2.32 fungsi mayoritas hanya menggunakan setengah dari PLA, dan
sisanya dapat dipergunakan untuk fungsi lain.
Yohanes Suyanto
2.11. Komponen Digital 35
A B C
F
0
F
1
Gambar 2.32: PLA 3 masukan 2 keluaran
PLA adalah komponen yang banyak gunanya sebagai rangkaian digital
umum. Keunggulan dari penggunaan PLA adalah karena hanya ada sedikit
masukan dan keluaran, dan ada banyak gerbang logika di antara masukan
dan keluaran. Proses minimisasi jumlah koneksi dalam rangkaian menjadi
penting untuk modularisasi sistem menjadi komponen. PLA sangat ideal un-
tuk keperluan ini, dan banyak program otomatisasi desain PLA untuk fungsi-
fungsi tertentu. Untuk menjaga konsep modularitas sering PLA dinyatakan
sebagai kotak hitam seperti pada Gambar 2.34, dan diasumsikan bahwa isi
PLA dengan mudah dapat dibuat menggunakan program secara otomatis.
Yohanes Suyanto
36 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL
A B C
F
0
F
1
ABC
ABC
ABC
ABC
Gambar 2.33: Penyederhanaan PLA
PLA
A
B
C
F
0
F
1
Gambar 2.34: PLA dalam bentuk kotak hitam
2.11.7 Penggunaan PLA untuk Penjumlah Ripple-
carry
Sebagai contoh lain implementasi PLA dalam rangkaian digital, kita akan
mendesain rangkaian untuk menjumlah 2 bilangan. Penjumlahan secara
biner mirip dengan penjumlah desimal menggunakan tangan. Bilangan biner
yang dijumlahkan dari kanan ke kiri, menghasilkan hasil dan sisa (carry) di
setiap bit. Dua bit dan sisa sebelumnya dijumlahkan pada setiap posisi bit,
Yohanes Suyanto
2.11. Komponen Digital 37
sehingga kemungkinan masing-masing nilai serta hasil jumlahan dan sisanya
dapat disusun seperti pada Gambar 2.35.
A
i
B
i
C
i
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
S
i
C
i+1
0 0
1 0
1 0
0 1
1 0
0 1
0 1
1 1
Full
adder
A
i
B
i
C
i
S
i
C
i+1
Gambar 2.35: PLA dalam bentuk kotak hitam
Tabel kebenaran pada Gambar 2.35 menjelaskan mengenai elemen yang
disebut sebagai penjumlah penuh (full adder), dan gambar simbolnya ada
disebelahnya. Penjumlah setengah (half adder), dapat digunakan pada
bagian penjumlah paling kanan yang menjumlahkan 2 bit dan menghasilkan
jumlah dan sisa. Penjumlah penuh di lain pihak menjumlah 2 bit be-
serta sisa pada proses sebelumnya dan juga menghasilkan jumlah dan sisa.
Penjumlah setengah tidak digunakan pada kasus ini untuk meminimumkan
macam komponen. Dengan 4 penjumlah penuh yang dipasang berjen-
jang dapat dihasilkan penjumlah biner 4 bit, seperti nampak pada Gambar
2.36. Penjumlah paling kanan tetap menggunakan penjumlah penuh dengan
menghubungkan masukan c
0
dengan 0.
Full
adder
a
0 b
0
c
0
s
0
Full
adder
a
1 b
1
c
1
s
1
Full
adder
a
2 b
2
c
2
s
2
Full
adder
a
3 b
3
c
3
s
3
c
4
Gambar 2.36: Implementasi penjumlah 4 bit menggunakan penjumlah penuh
berjenjang
Perlu diperhatikan bahwa nilai jumlah belum dapat dihitung sampai sisa
dari penjumlah penuh sebelumnya dihitung. Rangkaian disebut penjum-
lah ripple carry karena nilai yang benar seperti bergeser dari kanan ke kiri.
Yohanes Suyanto
38 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL
Walaupun gambar yang diperlihatkan nampak seperti paralel, namun sebe-
narnya penjumlahan bit dilakukan secara serial dari kanan ke kiri. Hal inilah
yang merupakan kelemahan dari rangkaian ini. Pendekatan desain penjum-
lah penuh menggunakan PLA, nampak pada Gambar 2.37
A B C
in
Sum C
out
Gambar 2.37: Penjumlah penuh menggunakan PLA
Pendekatan desan dengan cara PLA adalah hal yang umum, dan alat
bantu desain menggunakan komputer untuk VLSI biasanya lebih suka meng-
gunakan PLA daripada MUX atau yang lain karena PLA berbentuk keser-
agamannya.
2.12 Soal Latihan
2.1 Gambar 2.13 menunjukkan bahwa gerbang OR dapat dibentuk dari
gerbang NAND, sedang Gambar 2.15 menunjukkan bahwa AND da-
pat diimplementasikan dari gerbang NAND. Tunjukkan secara diagram
Yohanes Suyanto
2.12. Soal Latihan 39
logika bahwa gerbang XOR dapat diimplementasikan sepenuhnya de-
ngan gerbang NAND!
2.2 Gambar diagram logika untuk setiap elemen dari himpunan AND, OR,
NOT dapat diimplentasikan dengan hanya menggunakan NOR.
2.3 Lihat gambar rangkaian logika berikut, kemudian susunlah tabel kebe-
naran untuk rangkaian tersebut.
A
B F
G
C
Gambar 2.38:
2.4 Susun tabel kebenaran untuk gerbang XOR dengan 3 masukan!
2.5 Hitung cacah gerbang dari enkoder prioritas 4-ke-2 yang ditunjukkan
oleh Gambar 2.31. Gerbang pembalik ikut diperhitungkan.
2.6 Rancanglah rangkaian logika yang merupakan implementasi dari fungsi
f berikut dengan menggunakan gerbang AND, OR, dan NOT.
f(A, B, C) = ABC +A B C +ABC
2.7 Rancanglah rangkaian logika yang merupakan implementasi dari fungsi
g berikut dengan menggunakan gerbang AND, OR, dan NOT. Jangan
berusaha untuk mengubah bentuk persamaannya!
g(A, B, C, D, E) = A(BC +B C) +B(CD +E)
2.8 Apakah kedua fungsi f dan g berikut ekuivalen? Tunjukkan bagaimana
Anda mendapatkan jawabannya!
f(A, B, C) = ABC +ABC
g(A, B, C) = (AC)B
2.9 Tulis persamaan Boolean yang menerangkan fungsi F pada rangkaian
berikut. Tulis jawaban Anda dalam bentuk SOP (tanpa tanda kurung).
Yohanes Suyanto
40 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL
2.10 Komparator 4 bit adalah komponen dengan 2 buah masukan 4-bit A
(A
3
A
2
A
1
A
0
) dan B(B
3
B
2
B
1
B
0
) dan keluaran 1 bit. Keluaran akan 0
jika A=B, dan 1 untuk lainnya. Rancanglah komparator 4 bit dengan
gerbang yang sudah dipelajari dalam bab ini. Petunjuk: Pikirkanlah
bahwa komparator 4 bit dapat disusun dari kombinasi komparator 1
bit.
2.11 Gunakan hanya gerbang NOR untuk merealisasikan operasi XOR!
2.12 Ubahlah rangkaian 2.39 dalam bentuk rangkaian NOR!
D
B
A
C
F
A
B
C
Gambar 2.39:
2.13 Gambar diagram waktu yang menunjukkan operasi rangkaian Gambar
2.40. Anggap bahwa masukan mulai dari ABC = 000 dan berakhir
pada ABC = 111. Abaikan waktu tunda dalam gerbang.
A
B
A
C
Q
P
Gambar 2.40:
2.14 Jabarkan tabel kebenaran dari rangkaian Gambar 2.40.
2.15 Rancanglah sebuah rangkaian kombinasional yang mempunyai 3 ma-
sukan dan menghasilkan 3 keluaran yang berupa komplemen 2 (2s
complement) dari masukan.
Yohanes Suyanto
2.12. Soal Latihan 41
2.16 Rancanglah rangkaian kombinasional yang mempunyai 4 masukan dan
menghasilkan 4 keluaran yang berupa komplemen 2 dari masukan. Bit
pertama adalah bit tanda.
2.17 Desain rangkaian dekoder BCD-to-7-segment dengan masukan berupa
4-bit BCD. Rangkaian harus menghasilkan 7 keluaran, yang masing-
masing terhubung dengan 1 segmen pada penampil 7-segmen seperti
Gambar 2.41. Saat keluaran dari rangkaian bernilai 1 maka segmen
yang terhubung dengannya adakan menyala, selain itu segmen tersebut
akan mati. Penampil 7-segmen dapat menampilkan nilai BCD 0 sampai
dengan 9.
Gambar 2.41:
2.18 Dua bilangan 2-bit akan dijumlahkan. Desain rangkaian penjumlahnya.
2.19 Susun sebuah penjumlah penuh dan sebuah half-adder untuk memben-
tuk penjumlah 2 bilangan 2-bit.
2.20 Bandingkan kompleksitas rangkaian Soal 2.18 dan 2.19. Mana yang
lebih cepat?
2.21 Desain rangkaian 2-level yang menjumlah digit BCD dengan 3. Im-
plementasikan rangkaian tersebut dengan half-adder kemudian dengan
full-adder. Bandingkan kompleksitas dan kecepatannya.
2.22 Realisasikan fungsi KESAMAAN dengan 2 masukan menggunakan:
(a) gerbang NAND
(b) gerbang NOR
Yohanes Suyanto
42 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL
Yohanes Suyanto
BAB 3
REDUKSI LOGIKA DIGITAL
KOMBINASIONAL
Dalam bab ini akan dibahas pendekatan secara sistematik untuk mereduksi
mengurangi) jumlah komponen yang digunakan dalam rangkaian digital.
Pertama akan kita lihat cara mereduksi ukuran dari ekspresi logika kombi-
nasional, yang dapat berhubungan dnegan jumlah dan ukuran gerbag dalam
implementasi rangkaian digital. Kemudian akan kita bahas cara mereduksi
jumlah state (keadaan) dalam nite state machine (FSM), dan melihat lebih
jah mengenai perancangan FSM yang mengakibatkan perubahan jumlah dan
ukuran gerbang logika dalam implementasi FSM.
3.1 Reduksi Ekspresi 2 Level
Dalam banyak kasus norma SOP (sum-of-products) atau POS (product-of-
sums) bukan dalam bentuk yang minimal baik dalam jumlah maupun uku-
ran. Karena persamaan Boolean yang lebih kecil akan diterjemahkan dalam
jumlah masukan gerbang yang lebih sedikit dalam rangkaian, maka reduksi
persamaan menjadi penting untuk dipertimbangkan saat rangkaian menjadi
begitu kompleks.
Tiga metode untuk mereduksi persamaan Boolean akan dibahas dalam
bagian ini:
1. reduksi secara aljabar
2. reduksi dengan peta Karnaugh
3. reduksi tabular
43
44 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL
Metode reduksi secara aljabar merupakan metode reduksi pokok dan men-
dasari 2 metode lainnya. Metode ini juga metode paling abstrak, dan hanya
berdasar pada teorema akjabar Boole.
Metode peta Karnaugh dan tabular kenyataannya adalah implementasi
dengan kertas dan pensil dari metode aljabar. Kita bahas keduanya karena
membolehkan kita untuk menggambar proses reduksi, dan dengan demikian
menjadi lebih mudah dimengerti bagaimana proses reduksi terjadi. Proses
manual ini hanya efektif untuk fungsi dengan 6 variabel atau kurang. Untuk
fungsi dengan variabel yang lebih banyak, perlu bantuan komputer untuk
melakukannya.
3.1.1 Metode Aljabar
Metode aljabar adalah penerapan aljabar Boole, lihat Bab 2, untuk tujuan
reduksi ukuran ekspresi. Perhatikan persamaan Boolean berikut yang diam-
bil dari Bab 2:
F = ABC +ABC +ABC +ABC (3.1)
Sifat aljabar Boole dapat diterapkan pada Persamaan 3.1 menjadi bentuk
yang lebih sederhana seperti Persamaan 3.2 sampai dengan 3.4:
F = ABC +ABC +AB(C +C) Sifat distributif (3.2)
F = ABC +ABC +AB(1) Sifat komplemen (3.3)
F = ABC +ABC +AB Sifat identitas (3.4)
Gambar 3.1 merupakan rangkaian dari Persamaan 3.4. Bandingkan dengan
Gambar 2.17. Jumlah gerbang berkurang dari 8 menjadi 6 dan jumlah ma-
sukan ke gerbang berkurang dari 19 menjadi 13.
Kita dapat mereduksi Persamaan 3.4 lebih lanjut. Dengan menggunakan
sifat idempoten, kita buat Persamaan 3.5, yang mengenalkan suku ABC.
F = ABC +ABC +AB +ABC Sifat idempoten (3.5)
Kita dapat menerapkan sifat distributif, komplemen, dan identitas sekali lagi
sehingga didapat persamaan yang lebih sederhana sebagai berikut:
F = ABC +AC(B +B) +AB Sifat distributif (3.6)
F = ABC +AC(1) +AB Sifat komplemen (3.7)
F = ABC +AC +AB Sifat identitas (3.8)
Yohanes Suyanto
3.1. Reduksi Ekspresi 2 Level 45
A B C
F
Gambar 3.1: Implementasi fungsi mayoritas direduksi
Pers 3.8 mempunyai gerbang input lebih sedikit yaitu 11. Kita iterasi
metode ini sekali lagi dan mereduksi persamaan lebih lanjut seperti ditun-
jukkan berikut ini:
F = ABC +AC +AB +ABC Sifat idempoten (3.9)
F = BC(A+A) +AC +AB Sifat distributif (3.10)
F = BC(1) +AC +AB Sifat komplemen (3.11)
F = BC +AC +AB Sifat identitas (3.12)
Persamaan 3.12 sekarang menjadi bentuk 2 level minimal, dan tidak dapat
direduksi lagi.
3.1.2 Metode Peta Karnaugh
Metode peta Karnaugh adalah teknik untuk mereduksi persamaan logika
digital dengan menggunakan grak (gambar) sehingga dapat diikuti proses-
nya secara visual. Variabel yang muncul di banyak minterm (suku) adalah
calon terkuat untuk dieliminasi. Dasar dari peta Karnaugh adalah diagram
Venn yang asalnya digunakan untuk visualisasi konsep himpunan. Diagram
Venn untuk variabel biner berisi persegi panjang yang menunjukkan bentuk
SOP biner. Diagram Venn untuk 3 variabel A, B, dan C ditunjukkan dalam
Gambar 3.2. Satu lingkaran menunjukkan 1 variabel. Di dalam lingkaran
bersangkutan variabel tersebut bernilai 1, sedang di luarnya bernilai 0. Irisan
menunjukkan minterm, seperti gambar tersebut.
Yohanes Suyanto
46 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL
A B
C
AB C ABC
A BC
ABC
ABC
ABC
ABC
Gambar 3.2: Diagram Venn untuk 3 variabel biner
Daerah yang diarsir adalah calon kuat untuk direduksi. Dalam gambar
napak bahwa daerah ABC dapat dikombinasi dengan setiap 3 daerah lainnya
untuk menghasilkan suku yang terreduksi. Peta Karnaugh adalah bentuk
hubungan atau relasi yang ditransformasi dari diagram Venn. Seperti dalam
diagram Venn, dalam peta Karnaugh, minterm yang berbeda tepat 1 nilai
variabel diletakkan berdekatan.
Peta Karnaugh untuk fungsi mayoritas ditunjukkan pada Gambar 3.3.
Setiap sel dalam peta Karnaugh bersesuaian dengan entri dalam fungsi tabel
kebenaran dari fungsi yang sama, dan karena ada 8 entri dalam table kebe-
naran maka ada8 sel dalam peta Karnaugh. Angka 1 dalam sel menunjukkan
nilai 1 (benar) dalam entri tabel kebenaran. Angka 0 diisikan pada sel lain-
nya, namun untuk kejelasan angka 0 ini diganti dengan kosong saja. Label
yang tercantum di sisi atas dan kiri tersusun dalam bentuk kode Gray, yang
memastikan bahwa tepat 1 nilai variabel saja yang berubah di antara sel
yang berdekatan sepanjang sisi atas ataupun kiri.
A
1
C 1 1 1
B
Yohanes Suyanto
3.1. Reduksi Ekspresi 2 Level 47
Gambar 3.3: Peta Karnaugh untuk fungsi mayoritas
Gambar 3.4: Pengelompokan sel bertetangga pada fungsi mayoritas
Nilai 1 yang bertetangga pada peta Karnaugh dapat dikenai sifat kom-
plemen dari aljabar Boole. Pada Gambar 3.3 nampak beberapa nilai 1
yang bertetangga, sehingga dapat direduksi. Pengelompokan sel bertetangga
dibuat sehingga membentuk persegi panjang dengan ukuran pangkat 2 sel,
seperti 1, 2, 4, 8, dan seterusnya. Ukuran kelompok meningkat berarti lebih
banyak variabel yang dieliminasi, sehingga selalu diusahakan untuk mem-
bentuk kelompok sebesa-besarnya.
Kita mulai proses reduksi dengan membuat kelompok 1-an yang tidak
masuk dalam kelompok yang lebih besar. Penentuan kriteria kebertetang-
gaan menjadi penting, karena pengelompokan yang berbeda menghasilkan
persamaan yang berbeda pula. Contoh pengelompokan seperti Persamaan
3.13.
ABC +ABC = AB(C +C) = AB(1) = AB (3.13)
A
1
C 1 1 1
B
Untuk fungsi mayoritas, 3 kelompok dengan ukuran 2 sel dapat diben-
tuk, seperti Gambar 3.4. Setiap sel yang berisi 1 mempunyai paling sedikit
1 tetangga yang berisi 1, sehingga tidak ada kelompok yang berukuran 1
sel. Untuk kelompok berukuran 2 sel, ternyata semua sel berisi 1 masuk
dalam kelompok berukuran 2 sel. Ada 1 sel yang merupakan anggota dari 3
kelompok. Hal ini diperbolehkan mengingat sifat idempoten aljabar Boole.
Dengan sifat komplemen variabel yang berbeda pada sel bertetangga akan
dieliminasi, dan menghasilkan persamaan minimal (Persamaan 3.14).
M = BC +AC +AB (3.14)
Suku BC dihasilkan dari penyederhanaan (ABC+ABC), yang direduksi
menjadi BC(A + A dan kemudian menjadi BC. Suku AC dihasilkan dari
Yohanes Suyanto
48 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL
penyederhanaan (ABC + ABC) dengan cara yang sama. Demikian pula
suku AB didapat dari (ABC +ABC). Rangkaian yang sesuai dengan hasil
reduksi ini terlihat pada Gambar 3.5. Dibandingkan dengan Gambar 2.17
jumlah gerbang berkurang dari 8 menjadi 4 dan jumlah masukan gerbang
berkurang dari 19 menjadi 9.
A B C
F
Gambar 3.5: Fungsi mayoritas direduksi
Perhatikan pemilihan metode pengelompokan dengan mulai dari sel yang
tidak dapat dimasukkan ke dalam kelompok yang lebih besar. Jika kita
mulai dari kelompok paling besar terlebih dahulu hasilnya dapat berbeda
dan kurang minimal. Gambar 3.6 menunjukkan peta Karnaugh hasil pen-
dekatan dengan mulai dari sel yang tidak dapat dimasukkan dalam kelompok
yang lebih besar. Hasilnya ada 4 kelompok dengan anggota masing-masing
2 sel. Gambar 3.7 menunjukkan proses reduksi dengan mulai dari kelompok
terbesar terlebih dahulu. Hasilnya ada 5 kelompok, 1 berukuran 4 sel dan
4 berukuran 2 sel. Jadi, persamaan minimal tidak dihasilkan jika diawali
dengan mencari kelompok terbesar. Kedua persamaan pada kedua gambar
menghasilkan rangkaian yang secara logis benar. Namun demikian salah satu
rangkaian tidak menghasilkan rangkaian minimal.
Yohanes Suyanto
3.1. Reduksi Ekspresi 2 Level 49
A
1
1 1 1
D
1 1 1
C
1
B
F = ABC +ACD +ABC +ACD
Gambar 3.6: Pengelompokan mulai dari sel yang tidak masuk dalam kelom-
pok yang lebih besar
A
1
1 1 1
D
1 1 1
C
1
B
F = BD +ABC +ACD +ABC +ACD
Gambar 3.7: Pengelompokan mulai dari kelompok yang paling besar
Contoh lain, perhatikan peta Karnaugh pada Gambar 3.8. Tepi peta
Karnaugh dapat dilipat secara horisontal dan vertikal, dan keempat sudut
secara logis bertetangga. Persamaan minimal yang sesuai juga tertera pada
gambar.
Yohanes Suyanto
50 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL
A
1 1 1
1
D
1 1
C
1 1 1
B
F = BCD +B D +AB
Gambar 3.8: Posisi sudut pada peta Karnaugh secara logis bertetangga
Dont care
Perhatikan peta Karnaugh pada Gambar 3.9. Isi sel berupa d artinya dont
care, boleh dianggap bernilai 1 atau 0, mana yang menguntungkan. Kon-
disi ini adalah kondisi yang tidak pernah muncul selama operasi. Misalnya,
X = 1 menyatakan kondisi saat elevator berada di lantai dasar, sedang Y = 1
menyatakan kondisi saat elevator berada di lantai tertinggi, maka kedua kon-
disi itu tidak mungkin terjadi bersamaan. Dengan demikian isian pada tabel
kebenaran pada X = Y = 1 diisi dengan d.
A
1 d
1 1
D
1 1
C
d
B
Yohanes Suyanto
3.1. Reduksi Ekspresi 2 Level 51
Gambar 3.10: Peta Karnaugh dengan 5 variabel
Gambar 3.9: Peta Karnaugh yang sama dapat menghasilkan persamaan min-
imal berbeda
Jika d di pojok kanan atas dianggap 1 sedang d di kiri bawah dianggap
0, maka hasilnya
F = B C D +BD
Namun jika d di pojok kanan atas yang dianggap 0 dan d di kiri bawah
dianggap 1, maka hasilnya
F = A B D +BD
Dengan demikian ada kemungkinan persamaan minimal untuk fungsi boolean
bisa lebih dari satu. Dalam praktik, suatu persamaan lebih disukai daripada
persamaan lainnya, mungkin karena untuk mengurasi fan-out salah satu vari-
abel, atau mintermnya dapat dipakai bersama dengan fungsi lain.
3.1.3 Dimensi yang lebih tinggi
Gambar 3.10 menunjukkan peta Karnaugh dengan 5 variabel. Perhatikan
cara pemberian label pada sisi atas. Ingat bahwa sel yang bertetangga
berbeda 1 bit saja.
A
1 1
1 1 1 1
E
1 1 1 1
D
1 1
B
C C
F = A B D E +A C D E +BE
Yohanes Suyanto
52 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL
A
1 1
F
1 1
1 1
E
D F
1 1
B
C C
F = B C E F +ABDE
Gambar 3.11: Peta Karnaugh dengan 6 variabel
Peta Karnaugh dengan 6 variabel juga dapat dibuat seperti ditunjukkan
oleh Gambar 3.11. Peta Karnaugh dapat diperluas lagi untuk 7 variabel
atau lebih, namun tampilannya akan susah dipahami. Oleh karena itu untuk
jumlah variabel lebih dari 4 lebih cocok menggunakan pendekatan algoritmis
dan mudah diimplementasikan menggunakan program komputer.
Rangkaian multilevel
Peta Karnaugh mereduksi ukuran ekspresi 2 level. Proses ini tidak meng-
hasilkan bentuk minimal dari rangkain multilevel. Misalnya persamaan 3.14
adalah bentuk minimal 2 level yang terdiri atas level AND (3 buah) dan
level OR (1 buah) sehingga membentuk SOP. Diagram yang sesuai dengan
itu adalah Gambar 3.1 yang mempunyai cacah gerbang masukan sebanyak
9. Bentuk 3 level dapat dibuat dengan mengeluarkan salah satu faktor (mi-
salnya A) secara aljabar, seperti Persamaan 3.15.
M = BC +A(C +B) (3.15)
Yohanes Suyanto
3.1. Reduksi Ekspresi 2 Level 53
A B C
M
Gambar 3.12: Implementasi fungsi mayoritas 3 level
Diagram logika yang sesuai dengan persamaan tersebut ada pada Gambar
3.12 yang mempunyai gerbang masukan sebanyak 8, sehingga lebih sederhana
daripada rangkaian 2 level. Namun demikian rangkaian 3 level mempunyai
tundaan gerbang yang lebih besar. Rangkaian 2 level mempunyai tundaan
delay sebesar 2 karena ada 2 gerbang pada jalur terpanjang antara masukan
dan keluaran. Rangkaian pada Gambar 3.12 mempunyai tundaan gerbang
sebesar 3.
Variabel isian peta
Bentuk yang lebih sederhana untuk menampilkan peta Karnaugh memu-
ngkinkan mengisi variabel pada sel. Contohnya, perhatikan peta Karnaugh
yang ada pada Gambar 3.13. Hanya digunakan 8 sel walaupon ada 4 variabel,
yang secara normal membutuhkan 2
4
= 16 sel. Variabel isian peta D diper-
lakukan sebagai 1 untuk keperluan pengelompokan, yang dalam kasus ini sel
tersebut masuk dalam 1 kelompok sendiri karena tidak ada tetangga D yang
bernilai 1. Hasil persamaan terreduksi ada pada gambar juga. Perhatikan
bahwa variabel D muncul pada minterm A B C D, dan D diasumsikan berni-
lai 0 atau 1, walaupun untuk keperluan pengelompokan D dianggap bernilai
1.
A
D
C 1 1
B
Yohanes Suyanto
54 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL
Gambar 3.13: Peta Karnaugh dengan isian variabel D
Gambar 3.14: Peta Karnaugh dengan 3 variabel isian
A
D d E E
C 1 1
B
Perhatikan Gambar 3.14, yang memasukkan 3 variabel isian D, E, dan E,
dan d sebagai dont care. Sel bernilai 1 diproses terlebih dahulu menghasilkan
BC. Berikutnya variabel D diproses menghasilkan AC D. Variabel E giliran
berikutnya, menghasilkan BE. Akhirnya variabel E diproses, menghasilkan
A B C E. Perhatikan bahwa variabel isian dan komplemennya diproses
terpisah, seperti E pada contoh ini. Bentuk persamaan reduksi ada pada
Persamaan 3.16.
F = BC +A CD +BE +A B C E (3.16)
3.1.4 Metode Tabulasi
Pendekatan otomatis untuk reduksi ekspresi Boolean biasa digunakan pada
fungsi dengan keluaran tunggal atau jamak. Metode tabulasi atau juga dike-
nal dengan metode Quine-McCluskey, membentuk perkalian yang berbeda
pada 1 variabel secara berturut-turut, dan kemudian dihasilkan himpunan
suku terreduksi yang dapat mencakup semua fungsi keluaran. Proses ini
lebih mudah diimplementasikan pada komputer daripada metode peta, dan
hasil suku-suku reduksinya dapat digunakan oleh lebih dari 1 fungsi.
Reduksi fungsi tunggal
Tabel kebenaran pada Gambar 3.15 menggambarkan F yang merupakan
fungsi 4 variabel A, B, C, dan D, yang menyertakan 3 dont care. Proses
reduksi secara tabel dimulai dengan mengelompokkan minterm berdasarkan
jumlah nilai 1-nya. Minterm 0000, tidak mempunyai nilai 1, sehingga di-
jadikan grup tersendiri. Minterm 0001, 0010, 0100, dan 1000 mempunyai
Yohanes Suyanto
3.1. Reduksi Ekspresi 2 Level 55
nilai 1 tunggal, tetapi hanya minterm 0001 yang menghasilkan 1, sehingga
minterm ini dijadikan grup lain.
A B C D F
0 0 0 0 d
0 0 0 1 1
0 0 1 0 0
0 0 1 1 1
0 1 0 0 0
0 1 0 1 1
0 1 1 0 1
0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 1
1 0 1 1 d
1 1 0 0 0
1 1 0 1 1
1 1 1 0 0
1 1 1 1 d
Gambar 3.15: Tabel kebenaran suatu fungsi dengan dont care
Grup berikutnya adalah minterm dengan dua nilai 1, dan ada 6 kemungk-
inan minterm yang mempunyai dua nilai 1, yang dapat masuk dalam grup
ini. Hanya minterm 0011, 0101, 0110, dan 1010 yang menghasilkan keluaran
1, sehingga minterm inilah yang masuk dalam grup. Ada 3 minterm yang
menghasilkan keluaran 1 dan mempunyai tiga nilai 1, yaitu 0111, 1011, dan
1110. Akhirnya grup yang beranggotakan empat nilai 1 ada satu minterm,
dan merupakan grup terakhir. Untuk tabel kebenaran yang lebih besar,
proses dapat berlanjut terus. Grup dikelompokkan lagi sehingga grup yang
berbeda tepat 1 jumlah nilai 1-nya dapat digabung, seperti Gambar 3.16a.
Yohanes Suyanto
56 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL
Keadaan awal Setelah reduksi I Setelah reduksi II
A B C D A B C D A B C D
0 0 0 0

0 0 0 0 1
0 0 0 1

0 0 1

1 1
0 0 1 1

0 0 1

1 1
0 1 0 1

0 1 1

(c)
0 1 1 0

0 1 1

1 0 1 0

0 1 1

0 1 1 1

1 0 1

1 0 1 1

0 1 1
1 1 0 1

1 0 1
1 1 1 1

1 1 1

(a) 1 1 1

1 1 1

(b)
Gambar 3.16: Proses reduksi tabulasi
Langkah berikutnya dalam proses reduksi adalah membentuk sebuah kon-
sensus antara setiap pasang grup bertetangga untuk semua suku dengan beda
nilai tepat 1 variabel saja. Bentuk umum teorema konsensus dari Bab 2
adalah:
XY +XZ +Y Z = XY +XZ (3.17)
Suku Y Z adalah tidak perlu karena sudah tercakup oleh suku yang lain,
sehingga dapat dieliminasi. Secara aljabar, teorema tersebut dapat dibuk-
tikan sebagai berikut:
XY +XZ +Y Z = XY +XZ +Y Z(X +X)
= XY +XZ +XY Z +XY Z
= XY +XY Z +XZ +XY Z
= XY (1 +Z) +XZ(1 +Y )
= XY +XZ
Teorema konsensus juga mempunyai bentuk dualitasnya:
(X +Y )(X +Z)(Y +Z) = (X +Y )(X +Z) (3.18)
Ide dari penerapan konsensus pada reduksi tabulasi adalah untuk
mengambil keuntungan dari sifat invers dari aljabar Boole, mirip seperti yang
dipergunakan pada peta Karnaugh. Misalnya, 0000 dan 0001 berbeda ni-
lainya pada variabel D, sehingga 000 dimasukkan dalam daftar pada bagian
atas tabel reduksi seperti terlihat pada Gambar 3.16b. Tanda garis bawah
Yohanes Suyanto
3.1. Reduksi Ekspresi 2 Level 57
menunjukkan posisi variabel yang dieliminasi, dalam contoh ini D. Minterm
0000 dan 0001 pada Gambar 3.16a ditandai dengan cek (

) untuk menun-
jukkan bahwa entri ini sudah tercakup pada tabel reduksi.
Setelah semua suku pada grup pertama disilangkan dengan semua suku
pada grup kedua, kemudian beralih untuk membentuk konsensus antara
grup kedua dan ketiga. Ada kemungkinan bahwa beberapa suku tidak da-
pat dikombinasi menjadi suku yang lebih kecil karena berbeda pada lebih
dari 1 variabel. Contohnya, suku 0001 dan 0011 dapat dikombinasi menjadi
suku lebih kecil 00 1 namun 0001 dan 0110 tidak dapat dikombinasi karena
berbeda pada 3 variabel.
Sekali suku sudah ditandai dengan

, suku tersebut masih dapat diper-
gunakan untuk proses reduksi karena sifat idempotens. Tujuan dari langkah
dalam proses ini adalah untuk menemukan semua kemungkinan suku terre-
duksi, sehingga kita dapat menemukan himpunan terkecil suku yang masuk
dalam fungsi pada langkah berikutnya.
Proses berlanjut untuk grup-grup sisanya. Setiap suku yang tidak ter-
cakup dalam pengelompokkan konsensus ditandai dengan asteris () untuk
menunjukkan bahwa ini adalah suku prime implicant. Pada Gambar 3.16a
terlihat bahwa setelah reduksi pertama semua minterm sudah terpakai se-
hingga tidak ada prime implicant.
Setelah reduksi pertama, kita dapat melanjutkan untuk iterasi berikut-
nya. Dua suku dapat dikombinasi jika keduanya hanya berbeda 1 variabel
saja. Garis bawah harus pada posisi yang sama. Entri pertama pada Gam-
bar 3.16b mempunyai garis bawah pada kolom paling kanan, sehingga tidak
ada entri pada grup kedua yang cocok. Oleh karena itu entri ini ditandai de-
ngan , yang menunjukkan bahwa suku ini adalah prime implicant dan tidak
dapat direduksi lagi. Kita beralih ke grup kedua dan ketiga pada Gambar
3.16b. Suku 00 1 dan 01 1 dikombinasi menjadi suku 0 1 seperti tertera
pada Gambar 3.16c. Proses terus terlanjut hingga reduksi kedua lengkap.
Dalam penyusunan tabel reduksi pada Gambar 3.16c, prime implicant
dari tabel sebelumnya (Gambar 3.16b) tidak diikutkan. Proses berlanjut
sampai hanya tersisa prime implicant. Pada contoh ini, proses berhenti sete-
lah reduksi kedua dan menghasilkan 3 suku tersisa sebagai prime implicant
seperti pada Gambar 3.16c.
Setiap prime implicant dikumpulkan untuk menyusun fungsi, walaupun
belum minimal. Untuk meminimalkan suku-suku yang digunakan, disusun
tabel pilihan seperti pada Gambar 3.17. Setiap prime implicant dibuat 1
baris dalam table pilihan dan kolom berisi minterm dari fungsi asli yang harus
dicakup. Kondisi dont care tidak perlu dicakup sehingga tidak dimasukkan
dalam daftar.
Yohanes Suyanto
58 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL
prime Minterm
implicant 0001 0011 0101 0110 0111 1010 1101
000

011

101

0 1

11

1 1

Gambar 3.17: Tabel pilihan
Setiap kotak yang sesuai dengan prime implicant dan mintermnya di-
tandai dengan

. Misalnya, prime implicant 000 tandai pada kolom
minterm 0001. Beberapa prime implicant mencakup beberapa minterm,
seperti 0 1 akan mencakup 4 minterm. Setelah semua kotak dicek, maka
cari kolom yang hanya berisi 1 tanda cek. Tanda cek tunggal pada kolom
berarti hanya ada 1 prime implicant yang mencakup minterm tersebut, dan
prime implicant yang mencakup minterm tersebut di tandai dengan yang
menunjukkan bahwa prime implicant ini adalah esensial dan harus digunakan
atau masuk dalam persamaan akhir.
Contoh prime implicant esensial adalah 011 , 101 , dan 1 1. Prime im-
plicant esensial dapat mencakup lebih dari satu minterm. Untuk itu dibuat-
lah tabel pilihan terreduksi yang tidak menyertakan prime implicant esensial
dan mintermnya, seperti pada Gambar 3.18. Tabel pilihan terreduksi dapat
berisi prime implicant esensial yang kemudian dikenai proses reduksi lagi,
sampai tabel pilihan terreduksi hanya berisi prime implicant nonesensial.
Himpunan Minterm Himpunan 1 Himpunan 2
pilihan 0001 0011 000 0 1
X 000

11
Y 0 1

Z 11

Gambar 3.18: Tabel pilihan terreduksi
Sisa prime implicant dalam tabel pilihan terreduksi membentuk him-
punan pilihan, yang digunakan untuk mendapatkan himpunan minimal.
Seperti pada Gambar 3.18, ada 2 himpunan prime implicant yang menam-
pung 2 minterm sisa. Karena himpunan 2 adalah suku paling sederhana,
maka suku inilah yang dipilih untuk membentuk persamaan minimal untuk
F, yang terdiri atas prime implicant esensial dan prime implicant pilihan
Yohanes Suyanto
3.1. Reduksi Ekspresi 2 Level 59
pada himpunan 2 (Persamaan 3.19).
F = ABC +ABC +BD +AD (3.19)
Selain menggunakan cara visual untuk mendapatkan himpunan dari him-
punan pilihan, dapat juga dilakukan proses secara algoritmis. Proses dim-
ulai dengan menyatakan persamaan yang mencakup semua prime implicant
dalam himpunan pilihan pada Gambar 3.18. Ekspresi logis ditulis untuk
setiap kolom pada tabel pilihan terreduksi seperti berikut:
Kolom Penjumlahan
0001 (X + Y)
0011 (Y + Z)
Untuk mencari himpunan yang mencakup semua kolom, prime implicant
dikelompokkan sehingga paling tidak setiap kolom ditandai sekali. Ini berarti
bahwa relasi berikut harus terpenuhi, dengan G adalah adalah suku dalam
tabel pilihan terreduksi:
G = (X +Y )(Y +Z)
Dengan menerapkan sifat-sifat aljabar Boole didapat:
G = (X +Y )(Y +Z) = XY +XZ +Y +Y Z = XZ +Y
Setiap suku dalam persamaan ini menyatakan himpunan prime implicant
yang mencakup suku-suku dalam tabel pilihan terreduksi. Suku terkecil (Y )
merupakan himpunan prime implicant (0 1) terkecil yang mencakup suku-
suku tersisa. Hasil akhir yang didapat sama seperti cara sebelumnya:
F = ABC +ABC +BD +AD (3.20)
Reduksi Fungsi Jamak
Metode reduksi tabel digunakan untuk mereduksi fungsi Boolean tunggal.
Namun demikian cara ini juga dapat dipergunakan untuk mereduksi fungsi
jamak yang menggunakan variabel yang sama, untuk menghasilkan per-
samaan kolektif yang kecil. Metode berikut menggunakan cara dengan men-
cari irisan dari semua kemungkinan kombinasi dari suku-suku yang dapat
digunakan bersama, dan kemudian memilih himpunanan terkecil yang men-
cakup seluruh fungsi.
Sebagai contoh kita gunakan tabel kebenaran yang ada pada Gambar
3.19 yang menunjukkan 3 fungsi dengan 3 variabel. Notasi m
i
menunjukkan
minterm yang indeksnya i menurut tabel kebenaran.
Yohanes Suyanto
60 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL
Minterm A B C F
0
F
1
F
2
m
0
0 0 0 1 0 0
m
1
0 0 1 0 1 0
m
2
0 1 0 0 0 1
m
3
0 1 1 1 1 1
m
4
1 0 0 0 1 0
m
5
1 0 1 0 0 0
m
6
1 1 0 0 1 1
m
7
1 1 1 1 1 1
Gambar 3.19: Tabel kebenaran untuk 3 fungsi dengan 3 variabel
Bentuk lengkap persamaan Boolean dari kasus ini adalah:
F
0
(A, B, C) = m
0
+m
3
+m
7
F
1
(A, B, C) = m
1
+m
3
+m
4
+m
6
+m
7
F
2
(A, B, C) = m
2
+m
3
+m
6
+m
7
Irisan dibentuk dengan membuat semua kombinasi fungsi seperti berikut:
F
0,1
(A, B, C) = m
3
+m
7
F
0,2
(A, B, C) = m
3
+m
7
F
1,2
(A, B, C) = m
3
+m
6
+m
7
F
0,1,2
(A, B, C) = m
3
+m
7
Dengan menggunakan metode reduksi yang dijelaskan sebelumnya, dapat
disusun prime implicant untuk masing-masing fungsi:
Fungsi prime implicant
F
0
000, 11
F
1
0 1, 1 0, 11, 11
F
2
1
F
0,1
11
F
0,2
11
F
1,2
11, 11
F
0,1,2
11
Daftar prime implicant direduksi dengan mengeliminasi prime implicant
yang sudah tercantum pada fungsi dengan orde yang lebih tinggi. Misalnya,
11 muncul di F
0,1,2
, sehingga tidak perlu dicantumkan dalam fungsi yang
lain. Demikian juga, 11 muncul di F
1,2
, dan tidak perlu dimunculkan di F
1
ataupun F
2
. Demikian seterusnya, sehingga didapat:
Yohanes Suyanto
3.1. Reduksi Ekspresi 2 Level 61
Fungsi prime implicant
F
0
000
F
1
0 1, 1 0
F
2
1
F
0,1
kosong
F
0,2
kosong
F
1,2
11
F
0,1,2
11
Kemudian dapat disusun tabel pilihan keluaran jamak seperti pada Gam-
bar 3.20. Baris berisi prime implicant dan kolom menunjukkan minterm yang
harus tercantum pada masing-masing fungsi. Baris akan diisi dengan jika
prime implicant yang bersangkutan tidak dapat digunakan pada fungsi di
kolom-kolom yang bersangkutan. Misalnya, prime implicant 000 digunakan
oleh fungsi F
0
tetapi tidak digunakan oleh fungsi F
1
maupun F
2
, sehingga
daerah perpotongan baris 000 dan kolom F
1
dan F
2
diisi .
Minterm F
0
(A, B, C) F
1
(A, B, C) F
2
(A, B, C)
Prime im-
plicant
m
0
m
3
m
7
m
1
m
3
m
4
m
6
m
7
m
2
m
3
m
6
m
7
F
0
000


F
1
0 1


F
1
1 0


F
2
1

F
1,2
11

F
0,1,2
11

Gambar 3.20: Tabel pilihan keluaran jamak
Bentuk minimal dari persamaan keluaran didapat dengan cara yang mirip
dengan proses reduksi tabular. Kita mulai dengan prime implicant esensial.
Misalnya, minterm m
0
pada fungsi F
0
hanya dicakup oleh prime implicant
000, sehingga 000 adalah esensial. Baris yang berisi 000 kemudian dihapus
dari tabel, demikian juga kolom yang berisi tanda cek pada baris tersebut.
Proses berlanjut sampai semua fungsi sudah tercakup atau tinggal prime
implicant nonesensial yang tersisa. Cara menentukan himpunan terkecil dari
prim implicant yang mencakup semua fungsi adalah dengan cara yang sudah
dijelaskan pada bagian sebelumnya.
Tanda asterisk pada Gambar 3.20 adalah prime implicant esensial. Pada
kasus ini, hanya ada satu prime implicant nonesensial (11 ) yang tersisa,
tetapi semua mintermnya sudah terwakili oleh prime implicant esensial, se-
Yohanes Suyanto
62 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL
hingga tidak perlu dibuat tabel reduksi. Persamaan terreduksinya menjadi:
F
0
(A, B, C) = A B C +BC
F
1
(A, B, C) = AC +AC +BC
F
2
(A, B, C) = B
Yohanes Suyanto
3.2. Soal Latihan 63
3.2 Soal Latihan
3.1 Ada fungsi P(A, B, C) =
m
(0, 1, 3) +
d
(2, 7) dan Q(A, B, C) =

m
(1, 3, 5, 7) +
d
(6), gunakan peta karnaugh untuk mencari:
(a) P dalam bentuk minterm
(b) P dalam bentuk maxterm
(c) (P.Q) dalam bentuk minterm
(d) (P +Q) dalam bentuk maxterm
3.2 Cari bentuk minimum SOP untuk setiap fungsi berikut menggunakan
peta karnaugh:
(a) F =
m
(0, 2, 3, 4, 6)
(b) F =
M
(0, 1, 4)
(c) F = BC D +BCD +A C D +BD +A B C D
3.3 Cari bentuk minimum POS untuk Soal 3.2.
3.4 Ada fungsi P(A, B, C, D) =
m
(0, 2, 4, 7, 8, 10) dan Q(A, B, C, D) =
ABD+B C D, gunakan peta karnaugh untuk mencari (P Q) dalam
bentuk minimum:
(a) SOP
(b) POS
3.5 Diberikan dua fungsi berikut, f dan g. Susunlah peta Karnaugh dan
carilah ekspresi SOP minimal untuk f dan g!
f(A, B, C, D) = 1 jika dua atau lebih masukannya bernilai 1, selain itu
f(A, B, C, D) = 0
g(A, B, C, D) = 1 jika banyaknya nilai 1 pada masukan adalah
genap (termasuk masukan tanpa nilai 1), selain itu g(A, B, C, D) =
f(A, B, C, D)
3.6 Gunakan peta Karnaugh untuk menyederhanakan fungsi f dengan nilai
don

t care seperti di bawah ini. Buatlah dalam bentuk:


(a) sum-of-product
(b) product-of-sum
Yohanes Suyanto
64 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL
f(A, B, C, D) =

(2, 8, 10, 11) +

d
(0, 9)
3.7 Dari suatu rangkaian logika yang tersedia, apakah mungkin disusun
tabel kebenaran yang mengandung don

tcare? Jelaskan!
3.8 Multiplekser 4-ke-1 dapat dinyatakan dalam tabel kebenaran berikut:
A B F
0 0 D
0
0 1 D
1
1 0 D
2
1 1 D
3
Gunakan peta Karnaugh yang berisi variabel untuk menghasilkan per-
samaan Boolean SOP terreduksi!
3.9 Fungsi F(A, B, C) = (1, 5, 6, 7), cari rangkaian 2 level minimum de-
ngan NAND dan NOR.
3.10 Dengan F(A, B, C, D) = A CD + BD + ACD, realisasikan dengan
menggunakan jumlah gerbang sesedikit mungkin.
3.11 Untuk fungsi-fungsi berikut:
(i) F =
m
(1, 4, 5, 6, 8, 9, 11) +
d
(7, 15)
(ii) F =
m
(2, 3, 6, 8, 9, 11, 13) +
d
(1, 12, 14)
(iii) F =
m
(3, 6, 7, 8, 9, 10, 18, 21, 22, 23, 26, 29, 30)
dengan menggunakan peta karnaugh, cari:
(a) bentuk SOP minimum F
(b) bentuk SOP minimum F
(c) bentuk POS minimum F
(d) bentuk POS minimum F
3.12 Selesaikan Soal 3.11 dengan metode tabular (Quine-McCluskey).
3.13 Dengan menggunakan peta karnaugh sederhanakan fungsi berikut:
(a) F(A, B, C, D) =
m
(2, 3, 4, 10, 12, 13) +
d
(11, 14, 15)
Yohanes Suyanto
3.2. Soal Latihan 65
(b) F(A, B, C, D, E) =
m
(0, 7, 11, 13, 14, 15, 16, 23, 28, 29, 30, 31) +

d
(1, 2, 17, 19, 25)
3.14 Selesaikan Soal 3.13 menggunakan metode tabular (QM).
3.15 Desain sebuah rangkaian pembanding (komparator) yang memiliki 2
masukan bilangan 2 bit (A dan B) dan menghasilkan 3 keluaran yang
sesuai dengan A = B, A > B, dan A < B. Keluaran bernilai 1 jika
nilai sesuai dengan kondisi masukan, selain itu bernilai 0. Gunakan
gerbang NAND saja. Carilah bentuk rangkaian minimum.
3.16 Desain komparator seperti Soal 3.15 menggunakan gerbang XOR saja.
Bandingkan kompleksitas dari 2 desain tersebut.
3.17 Rancanglah suatu rangkaian logika yang mempunyai 2 kendali (C
1
dan
C
2
) dan 1 masukan (D). Rangkaian ini mempunyai satu keluaran (Z)
yang akan bernilai 1 jika C
1
= C
2
= 1. Untuk kondisi lainnya Z = 0
jika C
1
= C
2
= 0; Z = D jika C
1
= 1 dan C
2
= 0; serta Z = D jika
C
1
= 0 dan C
2
= 1.
(a) Susun tabel kebenaran untuk rangkaian tersebut
(b) Cari bentuk minimum SOP dari Z
(c) Cari bentuk minimum POS dari Z
3.18 Gunakan metode tabulasi untuk mereduksi fungsi:
f(A, B, C, D) =

m
(3, 5, 7, 10, 13, 15) +

d
(2, 6)
3.19 Untuk rangkaian Gambar 3.21
F
A
B
C
A
C
Gambar 3.21:
(a) Cari bentuk minimum dari F.
Yohanes Suyanto
66 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL
F
C
B
A
(b) Lengkapi diagram waktu di atas, asumsikan gerbang bersifat ideal.
(c) Jika setiap gerbang mempunyai waktu tunda sebesar t, tentukan
waktu minimum yang diperlukan antara 2 perubahan masukan,
agar rangkaian beroperasi dengan benar.
(d) Gambar diagram waktu dengan memperhatikan waktu tunda t.
3.20 Untuk rangkaian yang ditunjukkan pada Gambar 2.40, tulis P dan Q
sebagai fungsi yang minimum dari A, B, dan C.
3.21 Tentukan 4 bentuk fungsi rangkaian 2 level yang minimum untuk P
dan Q pada Gambar 2.40.
3.22 Gunakan metode tabulasi untuk mereduksi keluaran jamak berikut:
Minterm A B C D F
0
F
1
F
2
m
0
0 0 0 0 0 0 1
m
1
0 0 0 1 0 0 0
m
2
0 0 1 0 0 0 0
m
3
0 0 1 1 1 0 0
m
4
0 1 0 0 0 0 1
m
5
0 1 0 1 1 1 0
m
6
0 1 1 0 0 0 0
m
7
0 1 1 1 1 1 0
m
8
1 0 0 0 0 0 0
m
9
1 0 0 1 0 0 0
m
10
1 0 1 0 0 1 1
m
11
1 0 1 1 0 0 0
m
12
1 1 0 0 0 0 0
m
13
1 1 0 1 1 1 0
m
14
1 1 1 0 1 1 1
m
15
1 1 1 1 1 1 1
Yohanes Suyanto
3.2. Soal Latihan 67
3.23 Rangkaian penjumlah tidak penuh (half-adder) mempunyai 2 masukan
dan menghasilkan 2 keluaran: satu sesuai dengan nilai jumlah sedang
lainnya sesuai dengan nilai simpanan. Rancang bentuk rangkaian min-
imal penjumlah tersebut dengan menggunakan NAND saja.
3.24 Rangkaian penjumlah penuh (full-adder) mempunyai 3 masukan dan
menghasilkan 2 keluaran: satu sesuai dengan nilai jumlah ketiganya
sedang lainnya sesuai dengan nilai simpanan. Rancang bentuk rangka-
ian minimal penjumlah tersebut.
3.25 Desain sebuah penjumlah penuh dengan menggunakan half-adder dan
tambahan gerbang minimum.
3.26 Untuk rangkaian Gambar 3.22, tentukan:
(a) Tabel kebenarannya.
(b) Fungsi keluarannya.
(c) Rangkaian AND-OR minimumnya.
(d) Rangkaian OR-AND minimumnya.
Y
Y
X
Z
F
1
F
2
Gambar 3.22:
Yohanes Suyanto
68 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL
Yohanes Suyanto
BAB 4
RANGKAIAN LOGIKA
DIGITAL SEKUENSIAL
Telah kita pelajari tentang unit logika kombinasional yang keluarannya hanya
tergantung pada masukan saat itu atau dengan kata lain keluarannya meru-
pakan fungsi dari masukan saja. Unit logika sekuensial atau sering disebut
sebagai mesin keadaan berhingga (nite state machine, FSM), keluaran-
nya bergantung pada masukan dan keluaran sebelumnya. FSM dibedakan
dengan CLU karena selain menghasilkan keluaran juga menghasilkan keadaan
(state). Hal ini penting untuk implementasi rangkaian memori dan juga unit
kendali pada komputer.
69
70 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL
Unit logika
kombinasional
Q
Q
D
CK
Q
Q
D
CK
i
0
Input
.
.
.
i
n
.
.
.
f
0
Output
.
.
.
f
1
.
.
.
Sinyal
Sinkronisasi
Gambar 4.1: Model klasik dari FSM
Model klasik dari FSM tampak pada Gambar 4.1. Bagian CLU memiliki
masukan dari jalur i
0
i
k
yang berasal dari luara FSM dan juga masukan
keadaan s
0
s
n
yang berasal dari dalam FSM sendiri. CLU menghasilkan
bit keluaran f
0
f
m
dan bit keadaan terbaru. Dengan adanya elemen tunda
maka keadaan sekarang bertahan terus sampai ada sinyal sinkronisasi yang
menyebabkan nilai D
i
menggantikan nilai s
i
sebagai bit keadaan baru, karena
diambil dari Q
i
.
4.1 Flip-Flop S-R
Flip-op adalah susunan gerbang logika yang menjaga keluaran tetap sta-
bil walaupun masukan sudah tidak aktif. Keluaran ip-op ditentukan oleh
nilai masukan dan juga nilai keluaran sebelumnya, sehingga unit logika kom-
binasional tidak cukup untuk menangani hal ini. Flip-op dapat digunakan
untuk menyimpan informasi bit tunggal, dan berlaku sebagai pembangun
memori komputer.
Jika kedua masukan pada gerbang NOR dua masukan bernilai 1, maka
keluarannya akan 0, selain itu keluarannya akan 1. Seperti dibahas pada
bab sebelumnya, waktu yang diperlukan untuk menghasilkan keluaran dari
masukan gerbang logika tidaklah seketika tetapi sebesar yang merupakan
Yohanes Suyanto
4.1. Flip-Flop S-R 71
waktu perambatan melalui gerbang logika. Waktu tunda ini kadang-kadang
dimunculkan sebagai rangkaian tunda untuk keperluan analisis seperti Gam-
bar 4.2. Waktu tunda ini secara normal tidak dimunculkan tetapi tetap ada.
A
B
A+B

Gambar 4.2: Gerbang NOR dengan rangkaian tunda


Waktu perambatan melalui gerbang NOR mempengaruhi operasi ip-
op. Perhatikan ip-op set-reset (S-R) pada Gambar 4.3, yang berisi ger-
bang NOR yang saling silang. Jika kita isikan 1 pad S, maka Qakan bernilai 0
setelah waktu tunda , yang menyebabkan Q bernilai 1 (dianggap R berni-
lai 0) setelah waktu tunda 2. Akibatnya adalah selama penggalan waktu
tertentu ada waktu singkat sebesar yang Q dan Q bernilai 0, yang secara
logis tidak dibenarkan, tetapi kondisi ini dapat diperbaiki dengan kongurasi
tuan-hamba (master-slave) yang akan kita bahas nanti. Jika kemudian S
diisi dengan 0, maka Q tetap, sampai nilai R beranjak menjadi 1. Dengan
demikian ip-op S-R dapat menyimpan nilai bit tunggal dan dapat berlaku
sebagai elemen memori paling dasar.
S
R
Q
Q
Q
i
S
i
R
i
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Q
i+1
0
0
1
(dilarang)
1
0
1
(dilarang)

Gambar 4.3: Flip-op S-R dengan NOR


Jika diperhatikan lebih lanjut dari tabel kebenaran pada Gambar 4.3
dapat disimpulkan bahwa jika:
1. S = 0, R = 0 maka Q
i+1
= Q
i
(tetap seperti sebelumnya)
Yohanes Suyanto
72 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL
2. S = 0, R = 1 maka Q
i+1
= 0
3. S = 1, R = 0 maka Q
i+1
= 1
4. S = 1, R = 1 maka Q
i+1
= Q
i+1
, nilai ini bertentangan dengan sifat
ip-op, yang seharusnya nilai Q berlawanan dengan nilai Q, sehingga
dalam penggunaan, nilai S = R = 1 perlu dihindari.
Dari hasil di atas, penulisan tabel pada Gambar 4.3 dapat diringkas de-
ngan mengganggap S
i
dan R
i
sebagai masukan dan Q
i+1
sebagai keluaran.
Nilai dari Q
i+1
merupakan fungsi dari Q
i
. Lihat Gambar 4.4.
S
i
R
i
Q
i+1
0 0 Q
i
0 1 0
1 0 1
1 1 (terlarang)
Gambar 4.4: Tabel kebenaran Flip-op S-R
Ada banyak cara untuk menyusun rangkaian sebuah ip-op S-R. Peng-
gunaan gerbang NOR yang saling silang untuk ip-op S-R adalah hanya
salah satu cara. Dua gerbang NAND yang dihubungkan saling silang juga da-
pat menghasilkan ip-op S-R, dengan nilai S = R = 1 mengakibatkan kelu-
aran tidak berubah. Dengan menggunakan teorema DeMorgan kita dapat
mengubah gerbang NOR dalam ip-op S-R menjadi gerbang AND seperti
dalam Gambar 4.5. Dengan penggeseran gelembung, maka gerbang AND
dapat diubah menjadi gerbang NAND. Penggeseran gelembung pada S dan
R mengakibatkan pertukaran label S dan R.
S
R
Q
Q
S
R
Q
Q
S
R
Q
Q
R
S
Q
Q

Gambar 4.5: Flip-op S-R dengan NAND
4.2 Flip-op S-R Berdetak
Perlu diketahui bahwa masukan ke ip-op S-R dapat berasal dari keluaran
rangkaian lain, dalam bentuk rangkaian logika berjenjang. Hal ini biasa ter-
jadi pada rangkaian logika konvensional. Masalahnya adalah transisi dapat
terjadi pada waktu yang tidak diinginkan.
Yohanes Suyanto
4.2. Flip-op S-R Berdetak 73
Perhatikan rangkaian pada Gambar 4.6. Jika sinyal A, B, dan C se-
muanya berubah dari keadaan 0 menjadi 1, maka sinyal C akan mencapai
gerbang XOR sebelum A dan B keluar dari gerbang AND. Akibatnya nilai S
akan 1 walaupun sebentar sampai keluaran dari gerbang AND sudah mantap
dan dioperasian XOR dengan C. Jika nilai 1 pada S bertahan cukup lama
maka akan mengakibatkan nilai yang tersimpan dalam ip-op bisa berubah.
R
Q
Q
C
A
B
S
A
B
C
AB
S
R
Q
Q
Diagram waktu
Gambar 4.6: Rangkaian yang mengandung hazard
Jika keadaan akhir dari ip-op sensitif terhadap kedatangan sinyal maka
dapat menimbulkan glitch, yang sebenarnya merupakan keadaan atau keluran
yang tidak diinginkan. Rangkaian yang dapat menghasilkan glitch disebut
rangkaian yang mengandung hazard.
Untuk menyelaraskan pengendalian terhadap rangkaian yang tergantung
pada keadaan (misalnya ip-op) maka digunakanlah detak (clock) yang
akan mengaktifkan rangkaian dalam selang waktu tertentu secara serentak.
Rangkaian detak menghasilkan sinyal 1 dan 0 bergantian terus menerus
dengan periode waktu yang tetap sehingga membentuk gelombang kotak
seperti Gambar 4.7. Waktu yang diperlukan detak untuk naik, turun dan
kemudian mulai naik lagi disebut waktu siklus atau periode. Gelombang
kotak yang ditampilkan pada gambar tersebut adalah bentuk gelombang de-
tak ideal. Dalam kenyataannya, gelombang tersebut tidak berbentuk persegi
tetapi membulat karena perlu waktu untuk menjadi tinggi dan rendah, tidak
Yohanes Suyanto
74 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL
berlangsung seketika.
Waktu
periode = 25ns
Amplitudo
Gambar 4.7: Detak yang berupa gelombang kotak
Kecepatan detak berkebalikan dengan waktu siklus. Untuk waktu siklus
sebesar 25 ns/siklus berarti kecepatannya adalah 1/25 siklus/ns, yang sama
dengan 40.000.000 siklus per detik atau 40 MHz.
Kita dapat menggunakan sinyal detak untuk menghilangkan hazard de-
ngan membuat ip-op S-R berdetak, yang dapat dilihat pada Gambar refg-
brsrdetak. Simbol CLK berarti clock atau detak. Sekarang S dan R tidak
dapat mengubah keadaan hingga detak bernilai tinggi. Dengan demikian S
dan R dibuat mantap dahulu pada posisi detak rendah, baru kemudian detak
menjadi tinggi dan nilai yang stabil akan tersimpan dalam ip-op.
Q
Q
S
R
CLK
2
Diagram waktu
S
R
CLK
Q
Q
Gambar 4.8: Flip-op S-R berdetak
4.3 Flip-op D dan kongurasi tuan-hamba
Kelemahan dari ip-op S-R adalah bahwa untuk menyimpan nilai 1 atau 0,
kita harus mengisi 1 pada S atau R. Kongurasi alternatif untuk menyimpan
nilai 1 atau 0 adalah dengan menggunakan ip-op D seperti pada Gambar
Yohanes Suyanto
4.3. Flip-op D dan kongurasi tuan-hamba 75
4.9. Flip-op D disusun dari ip-op yang dipasangi pembalik antara ma-
sukan S dan R. Dengan demikian ketika detak bergerak naik, maka nilai
pada jalur D akan disimpan. Tabel kebenaran dari ip-op D ini tampak
pada Gambar 4.10.
Q
Q
D
CLK
Rangkaian
Q
Q
D
CK
Simbol
2
Diagram waktu
D
CLK
Q
Q
Gambar 4.9: Flip-op D. Simbol CLK menunjukkan clock atau detak.
D
n
Q
n+1
0 0
1 1
a. versi 1
D
n
Q
n+1
0 D
n
1 D
n
b. versi 2
Gambar 4.10: Tabel kebenaran untuk ip-op D. Nilai keluaran sama dengan
nilai masukan pada detak sebelumnya.
Flip-op biasa digunakan pada rangkaian yang mempunyai umpan ba-
lik dari keluaran kembali ke jalur masukan melalui rangkaian lain. Hal
ini kadang-kadang menyebabkan keadaan ip-op berubah lebih dari sekali
dalam satu siklus detak. Untuk memastikan bahwa dalam satu siklus hanya
terjadi 1 perubahan keadaan pada ip-op, kita cegat kalang umpan balik
dengan membentuk ip-op tuan-hamba seperti Gambar 4.11.
Yohanes Suyanto
76 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL
Q
Q
D
CK
Q
Q
D
CK
Q
Q
D
CK
CK
D
CLK
Gambar 4.11: Flip-op tuan-hamba
Flip-op tuan-hamba berisi 2 ip-op yang disusun berurutan dengan
detak untuk ip-op kedua dipasang pembalik. Flip-op tuan akan berubah
saat detak tinggi, tetapi ip-op hamba tidak berubah sampai detak ren-
dah. Dengan demikian diperlukan detak naik kemudian turun untuk me-
mindahkan isi jalur D pada ip-op tuan ke keluaran Q
s
pada ip-op
hamba. Simbol segitiga pada ip-op tuan-hamba menunjukkan bahwa pe-
rubahan keadaan hanya terjadi pada saat detak berubah naik ( dari 0 ke 1)
atau turun (dari 1 ke 0). Untuk kongurasi seperti Gambar 4.11 berlaku
bahwa perubahan terjadi saat detak turun (dari 1 ke 0).
Flip-op picuan level keadaan berubah terus-menerus selama detak berni-
lai tinggi (atau rendah tergantung desain ip-op). Flip-op picuan tepi
berubah hanya saat terjadi perubahan detak dari tinggi-ke-rendah atau dari
rendah-ke-tinggi. Beberapa buku tidak memasang simbol segitiga pada ma-
sukan detak. Untuk membedakan antara ip-op picuan level atau picuan
tepi digunakan cara lain. Penggunaan simbol segitiga membuat tipe ip-op
menjadi jelas.
4.4 Flip-op JK dan T
Selain ip-op S-R dan D, ip-op J-K juga termasuk ip-op yang cukup
terkenal. Flip-op J-K mempunyai kelakuan yang mirip dengan ip-op S-R
kecuali bahwa ip-op ini akan mempunyai keluaran Q=1 untuk J=1 dan
K=0. Saat J=0 dan K=1 maka keluarannya Q=0. Jika J dan K bernilai
1, maka nilai keluaran akan berkebalika dengan nilai keluaran sebelumnya.
Namun untuk J dan K sama-sama bernilai 0, keluaran akan tetap. Diagram
Yohanes Suyanto
4.4. Flip-op JK dan T 77
logika dan simbol untuk ip-op J-K dan T terlihat pada Gambar 4.12 dan
4.14. Tabel kebenaran ip-op J-K ada pada Gambar 4.13 sedang tabel
kebenaran untuk ip-op T ada pada Gambar 4.15.
Q
Q
J
CLK
K
Rangkaian
Q
Q
J
K
CK CK
Simbol
Gambar 4.12: Flip-op J-K dan simbolnya
J
n
K
n
Q
n
Q
n+1
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0
a. versi lengkap
J
n
K
n
Q
n+1
0 0 Q
n
0 1 0
1 0 1
1 1 Q
n
b. versi ringkas
Gambar 4.13: Tabel kebenaran untuk ip-op J-K. Nilai J=1 dan K=1 diper-
bolehkan.
Q
Q
J
K
CK CK
Q
Q
T 1
T
Gambar 4.14: Flip-op T dan simbolnya
Yohanes Suyanto
78 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL
T Q
n
Q
n+1
0 0 0
0 1 1
1 0 1
1 1 0
a. versi lengkap
T Q
n+1
0 Q
n
1 Q
n
b. versi ringkas
Gambar 4.15: Tabel kebenaran untuk ip-op T.
Permasalahan pada saat dioperasikan dalam mode bergantian maka jika J
dan K keduanya bernilai tinggi dan detak juga tinggi, ip-op dapat bergan-
tian nilainya lebih dari satu kali sampau detak menjadi rendah. Situasi ini
merupakan salah satu alasan penggunaan kongurasi tuan-hamba. Diagram
skematik untuk ip-op J-K tuan-hamba, terlihat pada Gambar 4.16.
J
CLK
K
Rangkaian
Q
Q
Q
Q
J
K
CK CK
Simbol
Gambar 4.16: Flip-op J-K tuan-hamba dan simbolnya
4.5 Desain Mesin Keadaan Berhingga
Kita lihat lagi model klasik mesin keadaan berhingga atau nite state ma-
chine (FSM) pada Gambar 4.1. Elemen penunda dapat diimplementasi de-
ngan ip-op tuan-hamba dan sinyal sinkronikasi dengan detak. Umumnya,
untuk implementasi umpan balik digunakan ip-op. Perlu diketahui bahwa
kita dapat melabeli ip-op menurut kemauan kita, asal artinya jelas. Pada
Gambar 4.1 posisi masukan D
i
dan keluaran Q
i
saling dipertukarkan dari
posisi normal yang kita bahas sebelumnya.
Yohanes Suyanto
4.5. Desain Mesin Keadaan Berhingga 79
Pencacah
Sinkron
3-bit
Reset 0 0 0 1
q
0 0 1 0 0
q
1 0 1 0 1
s
0 Q
Q
D
CK
CK
s
1 Q
Q
D
CK
CK CLK
Gambar 4.17: Pencacah modulo 4
Misalnya, FSM pencacah sinkron modulo 4 mencacah dari 00 hingga 11
dan berulang lagi. Diagram blok FSM pencacah sinkron ditunjukkan pada
Gambar 4.17. Fungsi RESET (logika positif) mengakibatkan nilai keluaran
q
0
q
1
adalah 00 jika diaktifkan. Keluaran akan berurutan sesuai nilai pada
jalur q
0
dan q
1
pada waktu yang bersesuaian dengan detak. Setiap nilai baru
keluaran muncul, maka nilai umpan balik s
0
s
1
juga berubah.
Kita perhatikan bahwa desain pencacah dapat dilakukan dengan mendaf-
tar semua kemungkinan masukan dan keluaran yang terjadi pada 4 jalur q
1
q
0
dan keadaan s
1
s
0
. Berdasarkan daftar tersebut kemudian dibuat rangkaian
logika kombinasional yang merupakan implementasi pencacah. Dua ip-op
digunakan untuk mecatat bit keadaan.
Bagaimana kita tahu bahwa dibutuhkan 2 bit sebagai pencacat keadaan
untuk umpan balik? Kenyataannya adalah bahwa kita tidak tahu dari awal
jumlah bit yang dibutuhkan untuk mencatat keadaan, sehingga untuk ba-
hasan berikutnya kita akan melihat pendekatan yang lebih umum dalam
perancangan mesin keadaan berhingga. Untuk pencacah kita dapat mu-
lai dari penyusunan diagram transisi keadaan seperti Gambar 4.18 dengan
keadaan A sampai dengan D dan garis berarah menunjukkan transisi. Dalam
kasus ini keadaan A untuk nilai pencacah 00, B untuk 01, C untuk 10, dan
D untuk 11.
Yohanes Suyanto
80 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL
A B
C D
1/00
0/01
1/00
0/10
0/00, 1/00
1/00
0/11
Gambar 4.18: Diagram transisi keadaan pencacah modulo 4
Misalnya, FSM diinisialisasi pada keadaan A. Ada 2 kemungkinan ma-
sukan yaitu: 0 dan 1. Jika masukan (RESET) bernilai 0, maka FSM akan
berpindah ke keadaan B dan menghasilkan keluaran 01. Jika RESET bernilai
1, FSM tetap pada keadaan A dan menghasilkan keluaran 00. Mirip dengan
ini, jika FSM di keadaan B, akan berpindah ke keadaan C dengan keluaran
10 jika RESET 0, jika tidak akan kembali ke keadaan A dengan keluaran
00. Demikian juga untuk keadaan yang lain, dapat diinterpretasikan dengan
cara yang sama.
Sekali kita berhasil membuat diagram transisi keadaan, kita dapat
menulisnya dalam bentuk tabel keadaan seperti Gambar 4.19. Keadaan
sekarang terlihat di bagian kiri, dan kondisi masukan ada di bagian atas.
Isi tabel adalah pasangan keadaan/keluaran berikutnya yang diambil lang-
sung dari diagram transisi keadaan pada Gambar 4.18. Ambil salah satu bari
misalnya keadaan sekarang B dan masukan kondisi adalah 0, maka keadaan
berikutnya adalah C dan keluaran berikutnya adalah 10.
Masukan RESET
Keadaan
sekarang
0 1
A B/01 A/00
B C/10 A/00
C D/11 A/00
D A/00 A/00
Gambar 4.19: Tabel keadaan untuk pencacah modulo-4
Setelah kita membuat tabel keadaan, kita tentukan nilai biner untuk se-
tiap keadaan. Karena ada 4 keadaan, kita membutuhkan paling tidak 2 bit
Yohanes Suyanto
4.5. Desain Mesin Keadaan Berhingga 81
untuk mengkodekan keadaan menjadi biner secara unik. Kita tentukan saja
pengkodeannya: A = 00, B = 01, C = 10, dan D = 11, dan mengganti
setiap label A, B, C, dan D dengan kode keadaannya, seperti pada Gam-
bar 4.20. Dalam praktiknya, penetapan kode keadaan ini akan berpengaruh
terhadap bentuk rangkaian akhir, namun secara logika pengkodean ini men-
gakibatkan hasil akhir yang sama.
Masukan RESET
Keadaan
sekarang
0 1
A:00 01/01 00/00
B:01 10/10 00/00
C:10 11/11 00/00
D:11 00/00 00/00
Gambar 4.20: Tabel keadaan untuk pencacah modulo-4 dengan pengkodean-
nya
Dari tabel keadaan, dapat dihasilkan tabel kebenaran untuk keadaan
berikutnya dan fungsi keluaran seperti pada Gambar 4.21. Subskrip un-
tuk variabel keadaan menunjukkan waktu. Keadaan sekarang ditulis de-
ngan s
t
dan keadaan berikutnya ditulis dengan s
t+1
. Biasanya subskrip
ini diabaikan dengan pengertian bahwa ruas kanan dari persamaan memuat
keadaan sekarang dan ruas kiri memuat keadaan berikutnya. Perlu dicatat
bahwa s
0
(t +1) = q
0
(t +1) dan s
1
(t +1) = q
1
(t +1), sehingga cukup diimple-
mentasikan s
0
(t + 1) dan s
1
(t + 1) saja sedang q
0
(t + 1) dan q
1
(t + 1) dapat
diambil langsung padanya.
Yohanes Suyanto
82 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL
RESET
r(t)
s
1
(t) s
0
(t) s
1
s
0
(t + 1) q
1
q
0
(t + 1)
0 0 0 01 01
0 0 1 10 10
0 1 0 11 11
0 1 1 00 00
1 0 0 00 00
1 0 1 00 00
1 1 0 00 00
1 1 1 00 00
s
0
(t + 1) = r(t) s
1
(t) s
0
(t) +r(t) s
1
s
0
(t)
s
1
(t + 1) = r(t) s
1
(t) s
0
(t) +r(t) s
1
s
0
(t)
q
0
(t + 1) = r(t) s
1
(t) s
0
(t) +r(t) s
1
s
0
(t)
q
1
(t + 1) = r(t) s
1
(t) s
0
(t) +r(t) s
1
s
0
(t)
Gambar 4.21: Tabel kebenaran untuk keadaan berikutnya dan fungsi kelu-
aran pencacah modulo-4
Akhirnya, kita implementasikan keadaan berikutnya dan fungsi keluaran
dengan menggunakan gerbang logika dan ip-op D tuan-hamba untuk vari-
abel keadaan seperti pada Gambar 4.22.
Reset
q
1
q
0
Q
Q
D
CK
CK
Q
Q
D
CK
CK
CLK
Gambar 4.22: Desain logika untuk pencacah modulo-4
Yohanes Suyanto
4.6. Contoh: Detektor Urutan 83
4.6 Contoh: Detektor Urutan
Contoh lain, kita akan merancang mesin yang mengeluarkan nilai 1 saat 2
dari 3 masukan terakhir bernilai 1. Contohnya, masukan dengan urutan
011011100 mengeluarkan hasil dengan urutan 001111010. Ada satu jalur
masukan seri dan kita asumsikan bahwa pada awalnya tidak ada masukan.
Untuk kasus ini, kita akan menggunakan ip-op D dan MUX 8-ke-1.
A
B
D
E
C
F
G
0/0
1/0
0/0
1/0
1/0
0/0
0/0
1/0
1/0
0/1
0/0
1/1
0/0 1/1
Gambar 4.23: Diagram transisi keadaan untuk detektor urutan
Kita mulai dengan menyusun diagram transisi keadaan, seperti pada
Gambar 4.23. Ada 8 kemungkinan urutan 3 bit yang masuk ke dalam mesin:
000, 001, 010, 011, 100, 101, 110, dan 111. Keadaan A adalah keadaan awal,
yang kita asumsikan belum ada data yang masuk. Pada keadaan B dan C
baru masuk 1 bit data sehingga keluarannya 0. Keadaan D, E, F, dan G pal-
ing tidak menerima 2 bit masukan kalau keadaan sebelumnya adalah B atau
C. Setelah masuk pada keadaan D, E, F, atau G maka sistem akan berkutat
di keadaan ini saja. Keadaan D akan dikunjungi saat dua masukan terakhir
bernilai 00. Keadaan E, F, dan G dikunjungi jika dua masukan terakhir
adalah 01, 10, dan 11.
Masukan x
Keadaan
sekarang
0 1
A B/0 C/0
B D/0 E/0
C F/0 G/0
D D/0 E/0
E F/0 G/1
F D/0 E/1
G F/1 G/0
Gambar 4.24: Tabel keadaan detektor urutan
Yohanes Suyanto
84 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL
Langkah berikutnya adalah membuat tabel keadaan seperti tertera pada
Gambar 4.24, yang dituangkan dari diagram transisi keadaan. Selanjut-
nya, kita akan membuat penetapan kode keadaan seperti Gambar 4.25a.
Berdasarkan penetapan kode keadaan kita dapat membuat tabel kebenaran
untuk keadaan berikutnya dan fungsi keluaran. Lihat Gambar 4.25b. Dua
baris terakhir pada tabel berisi keadaan 111, yang dalam praktiknya tidak
akan pernah muncul, karena keadaan 111 untuk kasus ini tidak ada. Dengan
demikian keadaan berikutnya dan keluaran pada 2 baris tersebut tidak perlu
diperhatikan, dan ditulis sebagai d yang berarti dont care, abaikan saja.
s
2
s
1
s
0
x s
2
s
1
s
0
z
Masukan X 0 0 0 0 0 0 1 0
Keadaan
sekarang
0 1 0 0 0 1 0 1 0 0
A:000 001/0 010/0 0 0 1 0 0 1 1 0
B:001 011/0 100/0 0 0 1 1 1 0 0 0
C:010 101/0 110/0 0 1 0 0 1 0 1 0
D:011 011/0 100/0 0 1 0 1 1 1 0 0
E:100 101/0 110/1 0 1 1 0 0 1 1 0
F:101 011/0 100/1 0 1 1 1 1 0 0 0
G:110 101/1 110/0 1 0 0 0 1 0 1 0
1 0 0 1 1 1 0 1
(a) 1 0 1 0 0 1 1 0
1 0 1 1 1 0 0 1
1 1 0 0 1 0 1 1
1 1 0 1 1 1 0 0
1 1 1 0 d d d d
1 1 1 1 d d d d
(b)
Gambar 4.25: Penetapan kode keadaan dan tabel kebenaran detektor urutan
Akhirnya, kita susun rangkaiannya seperti Gambar 4.26. Perlu 1 ip-op
untuk setiap variabel keadaan, sehingga seluruhnya perlu 3 ip-op. Ada 3
fungsi keadaan berikutnyadan 1 fungsi keluaran, sehingga kita membutuhkan
4 MUX. Pemilihan s
2
, s
1
, dan s
0
sebagai pengendali MUX merupakan pilihan
begitu saja. Pilihan kombinasi lain juga dapat digunakan.
0
x
1
x
1
x
1
0
000
001
010
011
100
101
110
111
Q D
CK
x
x
x
x
x
x
x
0
000
001
010
011
100
101
110
111
Q D
CK
x
x
x
x
x
x
x
0
000
001
010
011
100
101
110
111
Q D
CK
x
x
x
x
x
x
x
0
000
001
010
011
100
101
110
111
CLK
Gambar 4.26: Diagram logika detektor urutan
Yohanes Suyanto
4.7. Contoh: Pengendali mesin penjualan 85
4.7 Contoh: Pengendali mesin penjualan
Kita akan merancang pengendali mesin penjualan menggunakan ip-op dan
kotak hitam yang mewakili PLA seperti pada Gambar 4.27. Mesin pen-
jualan menerima tiga macam koin Rp 100, Rp 200, dan Rp 500. Jika nilai
yang dimasukkan sama atau lebih besar dari Rp 400, maka mesin akan men-
geluarkan barang dagangan, dan mengembalikan uang kelebihan, kemudian
menunggu transaksi berikutnya.
A
Rp 0
B
Rp 100
C
Rp 200
D
Rp 300
L/110
L/111,
D/100
D/000
S/000
S/000
S/000 D/000
L/101 L/111
D/110
S/100
S=seratusan (Rp 100)
D=duaratusan (Rp 200)
L=duaratusan (Rp 200)
Gambar 4.27: Diagram transisi keadaan pengendali mesin penjualan
Kita mulai menyusun diagram transisi keadaan seperti Gambar 4.27. Di
keadaan A, belum ada koin yang dimasukkan, sehingga uang yang masuk
adalah Rp 0. Jika koin seratusan atau duaratusan dimasukkan maka keadaan
akan berubah ke B atau C. Jika koin limaratusan yang dimasukkan maka
uang yang masuk sejumlah Rp 500. Mesin akan mengeluarkan barang da-
gangan dan mengeluarkan kembalian koin seratusan, dan keadaan tetap di
A. Hal ini ditandai dengan L/110 dalam kalang memutar di keadaan A.
Dari keadaan B atau C dapat berpindah ke keadaan D. Dari D kembali ke
A atau B.
Perhatikan saat koin limaratusan dimasukkan pada keadaan D. Mestinya
mesin akan mengeluarkan barang dagangan, mengembalikan Rp 400, dan
kembali ke A, tetapi menurut diagram tersebut mesin akan mengeluarkan
barang, mengembalikan Rp 300, dan menuju ke keadaan B. Mesin tetap
menahan uang sebesar Rp 100.
Yohanes Suyanto
86 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL
Masukan S D L Masukan S D L
K.S. 00 01 10 K.S. 00 01 10
A B/000 C/000 A/110 A:00 01/000 10/000 00/110
B C/000 D/000 A/101 B:01 10/000 11/000 00/101
C D/000 A/100 A/111 C:10 11/000 00/100 00/111
D A/100 A/110 B/111 D:11 00/100 00/110 01/111
Gambar 4.28: (a) Tabel keadaan pengendali mesin penjualan (b) penetapan
kode keadaan pengendali mesin penjualan
Dari diagram transisi keadaan dapt disusun tabel keadaan seperti pada
Gambar 4.28a. Kemudian dapat ditentukan kode keadaan untuk simbol S, D,
dan L dalam bentuk biner, seperti pada Gambar 4.28b. Akhirnya, kita buat
diagram rangkaiannya seperti Gambar 4.29a. Kode keadaan terdiri atas 2 bit
sehingga diperlukan 2 ip-op D. Empat masukan pada PLA digunakan 2 bit
untuk keadaan sekarang dan 2 bit koin x
1
x
0
. PLA menghasilkan 5 keluaran
untuk 2 bit keadaan berikutnya, bit pengeluaran barang, dan bit kembalian
seratusan dan duaratusan. Kita asumsikan bahwa pemasukan koin dianggap
masukan dan detak juga.
Rancangan PLA pada Gambar 4.29a, dapat diikuti prosesnya dengan
melihat Gambar 4.29b dan 4.29c, yang disusun secara manual. Namun untuk
kasus yang kompleks biasanya menggunakan alat bantu komputer.
Yohanes Suyanto
4.8. Mesin Mealy dan Moore 87
5 5
PLA
x
1
x
0
z
2
z
1
z
0
s
1
Q
Q
D
CK
CK
s
0
Q
Q
D
CK
CK CLK
(a)
s
1
s
0
x
1
x
0
s
1
s
0
z
2
z
1
z
0
(c)
desimal s
1
s
0
x
1
x
0
s
1
s
0
z
2
z
1
z
0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
0 1 0 0 0
1 0 0 0 0
0 0 1 1 0
d d d d d
1 0 0 0 0
1 1 0 0 0
0 0 1 0 1
d d d d d
1 1 0 0 0
0 0 1 0 0
0 0 1 1 1
d d d d d
0 0 1 0 0
0 0 1 1 0
0 1 1 1 1
d d d d d
(b)
Gambar 4.29: Mesin penjualan (a) rangkaian, (b) tabel kebenaran (c) real-
isasi PLA
4.8 Mesin Mealy dan Moore
Keluaran dari rangkaian FSM yang kita bahas sebelumnya sejauh ini diten-
tukan oleh keadaan sekarang dan masukan. Keadaan dikelola oleh ip-op
picuan tepi surut, maka perubahan keadaan hanya terjadi saat tepi surut
pada detak. Apapun perubahan yang terjadi pada masukan tidak mempu-
nyai efek terhadap keadaan selama detak rendah. Masukan langsung meng-
hasilkan keluaran tanpa melewati ip-op. Dengan demikian perubahan ma-
sukan dapat mengakibatkan perubahan keluaran, tanpa memperhatikan de-
tak dalam keadaan rendah atau tinggi. Pada Gambar 4.29, perubahan salah
satu masukan x
1
atau x
0
dapat mengakibatkan perubahan keluaran z
2
z
1
z
0
tanpa tergantung pada detak. Model seperti ini dinamakan model FSM
Mealy.
Dalam model Mealy, keluaran berubah segera setelah masukan berubah,
sehingga tidak ada tundaan yang diakibatkan oleh detak. Pada model FSM
Moore, keluaran menyatu pada bit keadaan, sehingga perubahan keluaran
Yohanes Suyanto
88 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL
terjadi pada pulsa detak setelah perubahan masukan. Kedua model ini digu-
nakan oleh perancang rangkaian dan pada bagian ini akan kita bahas perbe-
daannya dengan mengemukakan contoh.
Sebagai contoh model FSM Moore adalah pencacah biner 2 bit seperti
pada Gambar 4.30. Mesin ini mencacah dari 0 sampai dengan 3 dan berulang
dari 0 lagi, mirip dengan pencacah modulo-4. Mesin hanya mencacah jika x =
1, jika tidak mesin akan bertahan pada keadaan sekarang. Perlu diperhatikan
bahwa keluaran menyatu pada variabel keadaan, sehingga tidak ada jalur
langsung antara masukan dan keluaran yang tidak melewati ip-op.
00 01
10 11
0
0
0
0
1
1
1
1
00
01
10
11
Q
Q
D
CK
CK
00
01
10
11
Q
Q
D
CK
CK
x
0
1
z
0
z
1
CLK
Gambar 4.30: FSM Moore pencacah biner 2 bit
Model Mealy dianggap lebih berdaya guna daripada model Moore sebab
satu detak saja dapat mengakibatkan perubahan keluaran suatu mesin. Pe-
rubahan keluaran ini dapat mengubah keluaran mesin lain, jika dihubungkan
dengan masukan mesin lain tersebut, demikian seterusnya. Dalam model
Moore, perubahan selalu sinkron dengan detak, sehingga perubahan berun-
tun antar mesin tidak dapat terjadi. Perubahan keluaran suatu mesin mem-
punyai efek yang kecil terhadap mesin berikutnya pada model Moore. Oleh
karena itu, analisis dan pelacakan kesalahan dapat ditelusuri bagian per
bagian dengan lebih mudah. Pada praktiknya kedua model ini digunakan.
4.9 Register
Informasi yang terdiri atas bit tunggal tersimpan dalam ip-op D. Sejumlah
N bit informasi membentuk satu word dengan panjang N-bit dapat disim-
Yohanes Suyanto
4.9. Register 89
pan dalam N ip-op D. Contoh word dengan panjang 4-bit dapat dilihat
pada Gambar 4.31. Susunan ip-op yang digunakan untuk menyimpan data
disebut register. Dalam kongurasi pada gambar tersebut data masukan D
i
dimasukkan ke register saat jalur Write dan Enable tinggi, sinkron dengan
detak.
Q D
CK
Q
3
D
3
Q D
CK
Q
2
D
2
Q D
CK
Q
1
D
1
Q D
CK
Q
0
D
0
WR
CLR
EN
Gambar 4.31: Register 4-bit
Isi register dapat dibaca pada keluaran Q
i
hanya saat jalur Enable tinggi,
karena buer tiga keadaan terputus secara elektronis saat Enable rendah.
Kita sederhanakan penggambaran register menjadi seperti Gambar 4.32.
CK
WR
EN
D
3
D
2
D
1
D
0
Q
3
Q
2
Q
1
Q
0
Gambar 4.32: Register 4-bit disederhanakan
Register geser akan menggeser isi pada setiap ip-op ke ip-op sesudah-
nya, dan menerima masukan pada ujung masukan serta memuntahkan isinya
pada ujung keluaran, sehingga memungkinkan untuk disusun secara bersam-
bungan. Perhatikan register geser pada Gambar 4.33. Register dapat digeser
ke kiri, digeser ke kanan, menerima masukan secara paralel, atau dibiarkan
isinya tetap, semunya sinkron dengan detak. Fasilitas pemasukan paralel dan
pembacaan paralel memungkinkan register geser berfungsi sebagai pengubah
serial ke paralel atau pengubah paralel ke serial.
Yohanes Suyanto
90 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL
Q D
CK
Q
3
D
3
Q D
CK
Q
2
D
2
Q D
CK
Q
1
D
1
Q D
CK
Q
0
D
0
c
0
c
1
CLK
EN
c
1
c
0
output geser kiri
Input
geser kanan
Input geser kanan
Output
geser kanan
Kendali
c
1
c
0
0 0
0 1
1 0
1 1
Tetap
Geser kiri
Geser kanan
Muat paralel
Fungsi
Input geser kanan
Output geser kiri
c
0
c
1
D
3
D
2
D
1
D
0
Q
3
Q
2
Q
1
Q
0
Output geser kanan
Input geser kiri
Gambar 4.33: Register geser
4.10 Pencacah
Pencacah adalah bentuk lain dari register yang keluarannya mempunyai pola
dalam rentang bilangan biner tertentu. Gambar 4.34 menunjukkan kong-
urasi pencacah modulo 8 dengan pola biner tiap langkah adalah: 000, 001,
010, 011, 100, 101, 110, 111 dan diulang lagi. Tiga ip-op J-K ditempatkan
dalam mode bergantian, dan setiap masukan detak dioperasikan AND de-
ngan keluaran Q sebelumya, mengakibatkan frekuensi detak baru sebesar
setengahnya. Detak ini akan memicu pada ip-op berikutnya, demikian
seterusnya. Hasilnya adalah setiap ip-op F
i
akan mengasilkan keluaran
Q
i
dengan frekuensi frac12
i
. Jika pola Q
i
dengan i = 2 sampai dengan 0
disusun hasilnya adalah 000, 001, ... ,111.
Yohanes Suyanto
4.11. Soal Latihan 91
Q
Q
J
K
CK CK
1
Q
2
Q
Q
J
K
CK CK
1
Q
1
Q
Q
J
K
CK CK
1
Q
0
CLK
EN
RESET
PENCACAH MOD(8)
ENABLE
RESET
Q
1
Q
2
Q
0
Gambar 4.34: Pencacah modulo 8
Dalam rangkaian tersebut juga ditambahkan jalur RESET tak sinkron,
yang akan melakukan pengisian 000 pada pencacah, dan tidak tergantung
pada keadaan, jalur detak, maupun jalur EN. Selain ip-op pada LSB,
keadaannya berubah karena keadaan ip-op tetangganya, tidak sekedar
karena detak. Rangkaian ini mirip dengan Gambar 4.22 tetapi lebih mudah
diperluas menjadi ukuran yang lebih besar karena tinggal menghubungkan
keluaran dari MSB unit ini ke masukan LSB unit berikutnya.
4.11 Soal Latihan
4.1 Ada 2 buah ip-op JK tuan-hamba Q
1
dan Q
2
. Keluaran dari Q
1
dihubungkan masing-masing ke J dan K pad Q
2
dan keluaran dari
Q
2
dihubungkan masing-masing ke J dan K pada Q
1
. Keadaan awal
Q
1
= 1 dan Q
2
= 1. Gambar diagram waktu yang menunjukkan
hubungan tuan-hamba untuk masing-masing ip-op. Apa keuntungan
dari formasi ini?
4.2 Tunjukkan bahwa ip-op JK dapat diubah menjadi ip-op D dengan
memasang pembalik di antara masukan J dan K!
4.3 Rancanglah rangkaian logika sekuensial yang sesuai dengan diagram
keadaan berikut. Gunakan ip-op SR.
Yohanes Suyanto
92 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL
4.4 Gambarlah rangkaian sekuensial dengan menggunakan 2 buah ip-op
yang persamaan masukannya adalah:
J
A
= Bx K
A
= Bx
J
B
= x K
B
= Ax
Yohanes Suyanto
BAB 5
PENCACAH
Sebuah ip-op mempunyai 2 keadaan yaitu keadaan 0 (RESET) dan 1
(SET). Dengan demikian sederetan N buah ip-op mempunyai 2
N
keadaan
yang berbeda. Di dalam penggunaannya sebagai pencacah pulsa, setiap satu
keadaan (dari 2
N
keadaan) digunakan untuk menyatakan sudah berapa jum-
lah pulsa yang masuk pada pencacah. Dengan demikian hubungan antara
ip-op satu dengan lainnya harus sedemikian rupa sehinga keadaannya akan
berubah secara berurutan setiap kali ada pulsa masuk. Kalau jumlah pulsa
sudah mencapai harga tertinggi, pencacah akan kembali ke keadaan awal-
nya. Pencacah modulo-k adalah pencacah yang kembali ke keadaaan mula-
mulanya setelah k buah pulsa masuk.
Oleh karena setiap keadaan dari pencacah menyatakan jumlah pulsa yang
masuk, sedang keadaan pencacah ditentukan oleh keluaran dari ip-op pem-
bentuknya yaitu Q
A
, Q
B
, Q
C
, Q
D
, . . . , akan lebih mudah jika harga dari
Q
A
Q
B
Q
C
Q
D
. . . sebagai bilangan biner digunakan untuk menyatakan jum-
lah pulsa yang tercacah, seperti yang terlihat pada Tabel 5.1. Pencacah
modulo-16 disebut juga sebagai pencacah biner 4 bit, pencacah modulo-8
disebut pencacah biner 3 bit, sedang pencacah modulo-10 disebut dengan
pencacah desimal.
93
94 5. PENCACAH
Tabel 5.1: Beberapa jenis pencacah.
Jumlah pulsa
Modulo-16 Modulo-8 Modulo-10 Modulo-6
Q
A
Q
B
Q
C
Q
D
Q
A
Q
B
Q
C
Q
A
Q
B
Q
C
Q
D
Q
A
Q
B
Q
C
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 0 0 0 1 0 0 1
2 0 0 1 0 0 1 0 0 0 1 0 0 1 0
3 0 0 1 1 0 1 1 0 0 1 1 0 1 1
4 0 1 0 0 1 0 0 0 1 0 0 1 0 0
5 0 1 0 1 1 0 1 0 1 0 1 1 0 1
6 0 1 1 0 1 1 0 0 1 1 0 0 0 0
7 0 1 1 1 1 1 1 0 1 1 1 dst.
8 1 0 0 0 0 0 0 1 0 0 0
9 1 0 0 1 dst. 1 0 0 1
10 1 0 1 0 0 0 0 0
11 1 0 1 1 dst.
12 1 1 0 0
13 1 1 0 1
14 1 1 1 0
15 1 1 1 1
16 0 0 0 0
5.1 Pencacah Sinkron
Pada pencacah sinkron perubahan keluaran setiap ip-op terjadi secara
serentak karena pulsa masukan yang akan dicacah dihubungkan pada ma-
sukan detak pada setiap ip-op, sehingga pulsa masukan berfungsi sebagai
pulsa detak. Dengan demikian untuk menghubungkan ip-op satu dengan
ip-op yang lain dilakukan dengan mengatur masukan pada setiap ip-op
agar perubahan keluarannya sesuai dengan tabel pencacahnya. (Tabel 5.1).
Oleh karena itu pada bab ini hanya akan dibicarakan pembentukan pen-
cacah dengan menggunakan ip-op J-K atau T. Untuk mengingatkan kem-
bali pengaturan masukan pada ip-op ditulis lagi tabel kebenaran dari ip-
op J-K dan T seperti terlihat pada Tabel 5.2.
Tabel 5.2: Tabel kebenaran ip-op J-K dan T
J
n
K
n
Q
n
Q
n+1
T
n
Q
n
Q
n+1
0 0 0 0 0 0 0
0 0 1 1 0 1 1
0 1 0 0 1 0 1
0 1 1 0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0
(a) (b)
Yohanes Suyanto
5.1. Pencacah Sinkron 95
Dari Tabel 5.2.a terlihat bahwa agar keluaran ip-op J-K berubah dari
0 0, nilai J
n
harus 0 sedangkan K
n
boleh 0 atau 1. Rangkuman dari
penentuan nilai J dan K atau T terlihat pada Tabel 5.3.
Tabel 5.3: Tabel penetapan nilai J-K dan T
Q
n
Q
n+1
J
n
K
n
Q
n
Q
n+1
T
n
0 0 0 x 0 0 0
0 1 1 x 0 1 1
1 0 x 1 1 0 1
1 1 x 0 1 1 0
(a) (b)
5.1.1 Pencacah Sinkron Modulo-6
Pencacah ini memerlukan 3 buah ip-op dan dipilih ip-op jeni J-K. Hasil
pencacahan ada pada keluaran ketiga ip-op yaitu Q
A
Q
B
Q
C
. Dari Tabel
5.1 terlihat bahwa nilai awal adalah Q
A
Q
B
Q
C
= 000, setelah pulsa masuk
keluaran berubah menjadi Q
A
Q
B
Q
C
= 001. Berdasarkan Tabel 5.3 pengat-
uran nilai J dan K untuk masing-masing ip-op adalah:
ip-op A Q
A
: 0 0 maka J
A
= 0, K
A
=x
ip-op B Q
B
: 0 0 maka J
B
= 0, K
B
=x
ip-op C Q
C
: 0 1 maka J
C
= 1, K
C
=x
Selanjutnyapada keadaan Q
A
Q
B
Q
C
= 001, yang berubah menjadi 010
setelah pulsa masuk, pengaturannya adalah:
ip-op A Q
A
: 0 0 maka J
A
= 0, K
A
= x
ip-op B Q
B
: 0 1 maka J
B
= 1, K
B
= x
ip-op C Q
C
: 1 0 maka J
C
= x, K
C
= 1
Kalau ini dilakukan terus, hasil seluruhnya akan terlihat seperti pada
Tabel 5.4. Karena nilai pencacah modulo-6 tidak pernah mencapai nilai 110
dan 111 maka pada Q
A
Q
B
Q
C
= 110 dan Q
A
Q
B
Q
C
= 110 nilai J dan K diisi
sembarang (x).
Yohanes Suyanto
96 5. PENCACAH
Tabel 5.4: Pengisian nilai J dan K pada pencacah modulo-6
Q
A
Q
B
Q
C
J
A
K
A
J
B
K
B
J
C
K
C
0 0 0 0 x 0 x 1 x
0 0 1 0 x 1 x x 1
0 1 0 0 x x 0 1 x
0 1 1 1 x x 1 x 1
1 0 0 x 0 0 x 1 x
1 0 1 x 1 0 x x 1
1 1 0 x x x x x x
1 1 1 x x x x x x
Tabel 5.4 tidak lain adalah tabel kebenaran dari J
A
, K
A
, J
B
, K
B
, J
C
,
dan K
C
, sehingga untuk mendapatkan persamaan optimal, dapat dikerjakan
dengan peta K. Khusus untuk J
C
dan K
C
mudah dilihat bahwa jika nilai x
diganti dengan 1 maka J
C
= K
C
= 1. Untuk ip-op A dan B nilai J dan
K dapat ditentukan dengan menggunakan peta K seperti pada Gambar 5.1.
Persamaan yang diperoleh adalah:
J
A
= Q
B
Q
C
K
A
= Q
C
J
B
= Q
A
Q
C
K
B
= Q
C
Yohanes Suyanto
5.1. Pencacah Sinkron 97
00 01 11 10
0 x x
1 1 x x
Q
A
Q
B
Q
C
J
A
00 01 11 10
0 x x x
1 x x x 1
Q
A
Q
B
Q
C
K
A
00 01 11 10
0 x x
1 1 x x
Q
A
Q
B
Q
C
J
B
00 01 11 10
0 x x x
1 x x x 1
Q
A
Q
B
Q
C
K
B
Gambar 5.1: Peta Karnaugh untuk penentuan persamaan J dan K pada
pencacah modulo-6 sinkron
[h]
Q
Q
K
J
CK
Q
Q
K
J
CK
Q
Q
K
J
CK
1
Input
Gambar 5.2: Pencacah sinkron modulo-6
5.1.2 Pencacah Sinkron Modulo-10
Untuk pencacah modulo-10 akan digunakan ip-op jenis T. Dari Tabel 5.3,
keluaran akan tetap jika T = 0, dan keluaran akan berubah jika T = 1 setiap
ada pulsa detak masuk. Atas dasar ini, pengaturan perubahan keluaran agar
sesuai dengan tabel pencacahan dapat dilakukan dengan 2 cara:
Yohanes Suyanto
98 5. PENCACAH
1. Harga T dari masing-masing ip-op untuk setiap harga Q
A
Q
B
Q
C
Q
D
(ada 4 ip-op) diatur agar perubahan keluarannya sesuai dengan tabel
pencacahan, seperti yang dibahas di 5.1.1.
2. Masukan T dihubunghkan ke V
cc
sehingga selalu mempunyai ni-
lai 1, sedang pengaturan perubahan keluarannya dilakukan dengan
meneruskan pulsa masukan ke masukan detak kalau keluarannya di-
inginkan berubah, dan tidak meneruskannya kalau keluaran harus tid-
sak berubah. Hal ini dapat dilakukan dengan menambahkan gerbang
AND di depan masukan detak seperti pada Gambar 5.3.
Q
Q
C
T
1
Pengatur P
Pulsa Masukan
Gambar 5.3: Pengaturan pulsa detak pada ip-op T untuk pencacah
Pada pembicaraan ini akan digunakan cara ke 2, karena cara ini akan
berhubungan dengan pembicaraan mengenai pencacah naik/turun (up/down
counter).
Dengan cara ke-2 berarti nilai P untuk setiap ip-op harus P = 1 kalau
keluarannya ingin berubah dan P = 0 kalai keluarannya diinginkan tetap.
Pengaturan ini terlihat pada Tabel 5.5.
00 01 11 10
00 x
01 x 1
11 1 x x
10 x x
QAQB
QCQD
P
A
00 01 11 10
00 x
01 x
11 1 1 x x
10 x x
QAQB
QCQD
P
B
00 01 11 10
00 x
01 1 1 x
11 1 1 x
10 x x
QAQB
QCQD
P
C
Gambar 5.4: Peta Karnaugh untuk penentuan persamaan pengatur detak
pada pencacah modulo-10 sinkron
Dari Tabel 5.5 mudah dilihat jika x untuk P
D
diisi 1 maka P
D
= 1, yang
berarti bahwa untuk ip-op D pulsa masukan dapat dihubungkan langsung
Yohanes Suyanto
5.1. Pencacah Sinkron 99
Tabel 5.5: Pengaturan nilai P untuk modulo-10 menggunakan ip-op T
Q
A
Q
B
Q
C
Q
D
P
A
P
B
P
C
P
D
0 0 0 0 0 0 0 1
0 0 0 1 0 0 1 1
0 0 1 0 0 0 0 1
0 0 1 1 0 1 1 1
0 1 0 0 0 0 0 1
0 1 0 1 0 0 1 1
0 1 1 0 0 0 0 1
0 1 1 1 1 1 1 1
1 0 0 0 0 0 0 1
1 0 0 1 1 0 0 1
1 0 1 0 x x x x
1 0 1 1 x x x x
1 1 0 0 x x x x
1 1 0 1 x x x x
1 1 1 0 x x x x
1 1 1 1 x x x x
ke masukan detak. Nilai P
A
, P
B
, dan P
C
, dari peta K Gambar 5.4 dapat
ditulis:
P
A
= Q
A
Q
D
+Q
B
Q
C
Q
D
P
B
= Q
C
Q
D
P
C
= Q
A
Q
D
Dengan demikian rangkaian pencacah sinkron modulo-10, dapat disusun
seperti pada Gambar 5.5.
Q
Q
C
T
D
1
Q
Q
C
T
C
Q
Q
C
T
B
Q
Q
C
T
A
Pulsa Masukan
Gambar 5.5: Rangkaian pencacah modulo-10 sinkron menggunakan ip-op
T
Yohanes Suyanto
100 5. PENCACAH
Buktikan kalau digunakan ip-op T dengan cara 1 maka persamaannya
menjadi:
T
A
= P
A
, T
B
= P
B
, T
C
= P
C
, danT
D
= P
D
5.2 Pencacah Tak Sinkron
Pada pencacah tak sinkron pulsa masukan hanya dihubungkan ke masukan
detak pada ip-op yang terdepan (LSB), sedang sebagai pulsa detak un-
tuk ip-op berikutnya digunakan keluaran dari ip-op sebelumnya. De-
ngan demikian perubahan dari keluaran masing-masing ip-op akan terjadi
bergantian dari depan ke belakang.
Kalau pada pencacah ini digunakan master-slave ip-op T (atau ip-
op J-K dengan J disambung ke K), untuk pencacah modulo-2
N
bentuknya
sangat sederhana (ingat bahwa perubahan keluaran master-slave ip-op ter-
jadi jika pulsa detak berubah dari 1 ke 0). Hal ini dapat dilihat misalnya
untuk pencacah modulo-8 (2
3
) yang tabel pencacahannya tercantum di tabel
5.1 (Q
C
adalah LSB). Karena pulsa masukan dimasukkan ke CK
C
sedang
Q
C
berubah setiap ada pulsa masuk, maka T
C
dapat dihubungkan ke harga
1. Demikian juga oleh karena setiap Q
C
berubah dari 1 ke 0 ternyata Q
B
berubah (0 ke 1 atau 1 ke 0) maka kalau Q
C
dihubungkan ke CK
B
, T
B
da-
pat dihubungkan ke harga 1. Selanjutnya demikian juga oleh karena setiap
Q
B
berubah dari 1 ke 0 ternyata Q
A
berubah, maka kalau Q
B
dihubungkan
ke CK
A
, T
C
dapat dihubungkan ke harga 1. Dengan demikian bentuk dari
pencacah tak sinkron modulo-8 terlihat pada Gambar 5.6.
Q
Q
C
T
C
1
Q
Q
C
T
B
Q
Q
C
T
A
Pulsa Input
Gambar 5.6: Rangkaian pencacah modulo-8 tak sinkron menggunakan ip-
op T
Untuk pencacah modulo-4 (2
2
), modulo-16 (2
4
) kita tinggal menyesuaikan
jumlah ip-opnya saja. Pencacah seperti ini juga disebut ripple counter.
Untuk pencacah tak sinkron modulo-k dengan k = 2
N
agak lebih sulit
karena pulsa detak dari suatu ip-op tidak selalu dapat diperoleh dari
ip-op di depannya. Misalnya saja untuk modulo-6, pada perubahan dari
Yohanes Suyanto
5.2. Pencacah Tak Sinkron 101
Q
A
Q
B
Q
C
= 101 menjadi Q
A
Q
B
Q
C
= 000, oleh karena Q
A
harus berubah
dari 1 ke 0 sedang Q
B
nilainya tetap, maka Q
B
tidak dapat digunakan seba-
gai pulsa detak ip-op A. Dengan demikian yang dapat digunakan sebagai
pulsa detak ip-op A dan ip-op B adalah Q
C
. Hanya saja karena untuk
setiap Q
C
berubah dari 1 ke 0, Q
B
dan Q
A
tidak selalu berubah, maka harga
T atau J dan K tidak boleh selalu berharga 1 tetapi harus diatur seperti
pada pencacah sinkron. Perlu diingat bahwa untuk master-slave ip-op pe-
rubahan pulsa detak dari 0 ke 1 tidak mengubah keadaan keluaran, sehingga
pada saat Q
C
(sebagai pulsa detak) berubah dari 0 ke 1, harga T atau J dan
K dari ip-op A dan ip-op B boleh diisi sembarang (x). Dengan cara ini
maka dapat diperoleh tabel J dan K sebagai fungsi Q
A
Q
B
Q
C
, yang untuk
pencacah tak sinkron modulo-6, terlihat pada Tabel 5.6.
Tabel 5.6: Nilai J dan K untuk pencacah tak sinkron modulo-6
Q
A
Q
B
Q
C
J
A
K
A
J
B
K
B
J
C
K
C
0 0 0 x x x x 1 x
0 0 1 0 x 1 x x 1
0 1 0 x x x x 1 x
0 1 1 1 x x 1 x 1
1 0 0 x x x x 1 x
1 0 1 x 1 0 x x 1
1 1 0 x x x x x x
1 1 1 x x x x x x
Dengan membuat peta K dari tabel kebenaran tersebut maka diperoleh
persamaan:
J
A
= Q
B
K
A
= 1
J
B
= Q
A
K
B
= 1
J
C
= 1 K
C
= 1
(5.1)
Buatlah rangkaian dari pencacah ini!
Perlu diketahui bahwa dengan cara ini pencacah tak sinkron modulo-k,
dengan k = 2
N
dan k ganjil, tidak dapat dibuat (mengapa ?).
Untuk mengatasi hal ini dapat digunakan cara lain yaitu memanfaatkan
masukan preset dan clear yang ada pada setiap ip-op JK berbentuk IC.
Kalau preset = 0 dan clear = 1 maka Q = 1, kalau clear = 0 dan preset =
1, maka Q = 0. Cara tersebut adalah sbb:
1. menggunakan masukan preset.
Yohanes Suyanto
102 5. PENCACAH
(a) tentukan jumlah ip-op (N) dengan persamaan
2
N1
< k < 2
N
(b) hubungkan ip-op sebagai ripple-counter
(c) hubungkan keluaran dari ip-op yang nilainya 1 pada saat hasil
pencacahan sama dengan k 1, ke masukan sebuah gerbang
NAND. Hubungkan juga pulsa masukan ke gerbang NAND terse-
but.
(d) hubungkan keluaran gerbang NAND tersebut ke masukan preset
dari ip-op yang keluarannya 0 pada saat hasil pencacahan sama
dengan k 1.
Jadi untuk pencacah desimal (modulo-10) tak sinkron, karena pada
saat pencacahan mencapai 9 nilai Q
A
Q
B
Q
C
Q
D
= 1001, maka keluaran
Q
A
dan Q
B
dihubungkan ke masukan NAND, sedang keluaran NAND
dihubungkan ke preset dari ip-op B dan ip-op C. Lihat Gambar
5.7.
Q
Q
C
T
PR
CLR
D
1
Q
Q
C
T
PR
CLR
C
Q
Q
C
T
PR
CLR
B
Q
Q
C
T
PR
CLR
A
Pulsa Input
Gambar 5.7: Rangkaian pencacah modulo-10 tak sinkron menggunakan ip-
op T
Dengan cara ini maka setelah Q
A
Q
B
Q
C
Q
D
= 1001, kalau pulsa ma-
sukan naik dari 0 ke 1 maka preset=0 sehingga Q
A
Q
B
Q
C
Q
D
= 1111
dan setelah pulsa masukan kembali ke 0, Q
A
Q
B
Q
C
Q
D
= 0000.
2. menggunakan masukan clear
(a) tentukan jumlah ip-op (N) dengan persamaan
2
N1
< k < 2
N
(b) hubungkan ip-op sebagai ripple-counter
Yohanes Suyanto
5.3. Pencacah Naik/Turun ( up/down counter) 103
(c) hubungkan keluaran dari ip-op yang nilainya 1 pada saat hasil
pencacahan=k, ke sebuah gerbang NAND.
(d) hubungkan keluaran gerbang NAND ke masukan clear dari setiap
ip-op
Jadi untuk membentuk pencacah tak sinkron modulo-5, karena pada
saat hasil pencacahan mencapai 5 nilai Q
A
Q
B
Q
C
= 101, maka Q
A
dan
Q
C
dihubungkan ke masukan/clear setiap ip-op. Lihat Gambar 5.8
Q
Q
C
T
PR
CLR
C
1
Q
Q
C
T
PR
CLR
B
Q
Q
C
T
PR
CLR
A
Pulsa Input
Gambar 5.8: Rangkaian pencacah modulo-5 tak sinkron menggunakan ip-
op T
Dengan cara ini setelah pulsa ke 5 masuk, mulau-mula Q
A
Q
B
Q
C
= 101,
tetapi karena pada keadaan ini keluaran NAND menjadi 0, maka sesaat
kemudian keluarannya menjadi Q
A
Q
B
Q
C
= 000.
5.3 Pencacah Naik/Turun (up/down
counter)
Sangat sulit membuat pencacah naik/turun tak sinkron, sehingga yang terse-
dia dalam bentuk IC selalu merupakan pencacah sinkron, dan pada umumnya
dibentuk dari ip-op T atau ip-op JK dengan J = K.
Ada 2 cara untuk membentuk pencacah naik/turun. Cara pertama, se-
lain saluran masukan ditambahkan saluran pengatur x (naik/turun) yang
menjadikan pencacah turun jika x = 1 dan menjadikan pencacah naik jika
x = 0. Pada cara kedua ada 2 saluran masukan. Saluran pertama untuk
masukan pencacah naik dan saluran kedua untuk masukan pencacah turun.
Pada cara pertama pulsa masukan dihubungkan ke CK setiap ip-op
sedang T atau J=K dari setiap ip-op diatur sehingga perubahan keluaran-
nya sesuai dengan tabel pencaah naik atau turun. Sebagai contoh untuk pen-
cacah desimal naik/turun kalau mula-mula Q
D
Q
C
Q
B
Q
A
= 0000 (Q
A
=LSB),
Yohanes Suyanto
104 5. PENCACAH
untuk x = 0 (naik) karena setelah terjadi pulsa detak, keluaran berubah men-
jadi 0001, maka diatur T
D
= 0, T
C
= 0, T
B
= 0, T
A
= 1. Untuk x = 1 (turun)
setelah nilai 0000 adalah 1001 maka T
D
= 1, T
C
= 0, T
B
= 0, T
A
= 1. Kalau
hal ini dilanjutkan diperoleh Tabel 5.7.
Tabel 5.7: Nilai T untuk pencacah naik/turun modulo-10
T
D
T
C
T
B
T
A
Q
D
Q
C
Q
B
Q
A
x = 0 x = 1 x = 0 x = 1 x = 0 x = 1 x = 0 x = 1
0 0 0 0 0 1 0 0 0 0 1 1
0 0 0 1 0 0 0 0 1 0 1 1
0 0 1 0 0 0 0 0 0 1 1 1
0 0 1 1 0 0 1 0 1 0 1 1
0 1 0 0 0 0 0 1 0 1 1 1
0 1 0 1 0 0 0 0 1 0 1 1
0 1 1 0 0 0 0 0 0 1 1 1
0 1 1 1 1 0 1 0 1 0 1 1
1 0 0 0 0 1 0 1 0 1 1 1
1 0 0 1 1 0 0 0 0 0 1 1
1 0 1 0 x x x x x x x x
1 0 1 1 x x x x x x x x
1 1 0 0 x x x x x x x x
1 1 0 1 x x x x x x x x
1 1 1 0 x x x x x x x x
1 1 1 1 x x x x x x x x
Dengan membuat peta K diperoleh persamaan:
T
D
= xQ
A
Q
B
Q
C
+x(Q
A
Q
D
+Q
A
Q
B
Q
C
)
T
C
= xQ
A
Q
B
(Q
C
+Q
D
) +xQ
A
Q
B
T
B
= xQ
A
(Q
B
+ Q
C
+Q
D
) +xQ
A
Q
D
T
A
= 1
Pada cara kedua, masukan T atau J=K dari setiap ip-op dihubungkan
ke nilai 1 (atau dibiarkan terbuka), sedang pengaturan keluarannya dilakukan
dengan cara meneruskan masukan pulsa ke masukan detak kalau ada peruba-
han dan tidak meneruskannya jika keluarannya tetap. Hal ini dibicarakan
pada bagian 5.1.2. Namun karena masukan pulsa ada 2 saluaran maka pen-
gaturnya (P) juga ada 2. Lihat Gambar 5.9.
Yohanes Suyanto
5.3. Pencacah Naik/Turun ( up/down counter) 105
Q
Q
C
T
1
P
naik
Pulsa masukan naik
P
turun
Pulsa masukan turun
Gambar 5.9: Pengatur pulsa pada pencacah naik/turun
Dengan cara ini jika P
naik/turun
= 1 maka pulsa masukan naik/turun
diteruskan, sedang jika P
naik/turun
= 0 maka masukan pulsa naik/turun tidak
diteruskan. Dapat dibuktikan bahwa table P
naik/turun
sebagai fungsi dari Q
A
,
Q
B
, Q
C
, dan Q
D
sama dengan Tabel 5.7, dengan penyesuaian P
D naik
= T
D
untuk x = 0, P
D turun
= T
D
untuk x = 1, dst, sehingga persamaan dari P
adalah:
P
D turun
= Q
A
Q
B
Q
C
P
D naik
= (Q
A
Q
D
+Q
A
Q
B
Q
C
)
P
C turun
= Q
A
Q
B
(Q
C
+Q
D
)
P
C naik
= Q
A
Q
B
P
B turun
= Q
A
(Q
B
+Q
C
+Q
D
)
P
B naik
= Q
A
Q
D
P
A turun
= 1
P
A naik
= 1
Yohanes Suyanto
106 5. PENCACAH
Yohanes Suyanto
BAB 6
REGISTER
Kalau sebuah ip-op dapat digunakan untuk menyimpan data 1 bit, maka
sederetan n ip-op dapat digunakan untuk menyimpan data n bit. Kumpu-
lan dari ip-op ini disebut register. Ada 2 cara untuk memasukkan atau
mengeluarkan data dari suatu register, yaitu serial dan paralel. Pada caa
serial data dimasukkan/dikeluarkan bit demi bit berganti-ganti lewat satu
saluran (biasanya LSB lebih dahulu), sedang pada cara paralel, n bit dima-
sukkan/dikeluarkan secara bersamaan lewat n saluran.
Dengan demikian ada 4 macam register yaitu: serial in serial out (SISO),
serial in parallel out (SIPO), parallel in serial out (PISO), dan parallel in
parallel out (PIPO). Untuk memahami kerja setiap macam register tersebut
perhatikan Gambar 6.1.
Q
Q
S
R
CLR
PR
CK
A
Q
A
Q
Q
S
R
CLR
PR
CK
B
Q
B
Q
Q
S
R
CLR
PR
CK
C
Q
C
Q
Q
S
R
CLR
PR
CK
D
Q
D
Q
Q
S
R
CLR
PR
CK
E
Q
E
Preset Enable
(PE)
masukan
serial
Clear
Detak
Gambar 6.1: Register serial-parallel
Pada pembicaraan ip-op D 4.3 telah dikemukakan bahwa kalau nilai
S berlawnaan dengan R maka ip-op SR akan bekerja sebagai ip-op D,
107
108 6. REGISTER
yang berarti bahwa outputnya setelah pulsa detak akan sama dengan nilai S.
Pada Gambar 6.1 terlihat bahwa dengan adanya gerbang NOT pada masukan
ip-op A, dan dengan dihubungkannya S dengan Q, R dengan Q untuk
ipf-lop yang lain, maka setiap ipf-lop bekerja sebagai ip-op D. Setipa
ip-op juga dilengkapi dengan masukan preset dan clear, sehingga agar
ip-op dapat bekerja sebagaimana mestinya setiap kali perlu diatur PE=0
dan Clear=1, karena dengan demikian Pr=Cr=1.
Untuk mereset setiap ip-op dapat dikerjakan dengan mengubah seben-
tar Clear ke 0 (dan kemudian dikembalikan lagi ke 1). Dengan demikian
pada saat Cr = 0 dan Pr = 1 maka Q = 0, dan setelah clear kembali ke 1
nilai Q tetap. Jika setelah di-reset kemudian nilai PE diubah sebentar ke 1
(dan kemudian dikembalikan lagi ke 0), maka Q
A
Q
B
Q
C
Q
D
Q
E
= ABCDE.
Pada saat PE = 1, A = 1, maka Pr = 0, sehingga Q
A
= 1. Pada saat PE =
1, A = 0, maka Pr = 1 sehingga Q
A
= 0.
Dengan demikian untuk memasukkan data 5 bit secara paralel dapat
dikerjakan melalui masukan A, B, C, D, dan E, dengan mengubah sebentar
PE ke 1. Perlu diingat sebelum memasukkan data secara paralel, register
perlu di reset terlebih dahulu (mengapa?).
Jadi dengan register Gambar 6.1, data dapat dimasukkan baik secara
seri maupun paralel, dan demikian juga dapat dikeluarkan baik secara serial
maupun paralel. Untuk menghindari gejala race around perlu digunakan
ipop (SR atau JK) tuan-hamba (master-slave).
6.1 Serial In Parallel Out - SIPO
Untuk memasukkan atau menulis data 5 bit secara serial, misalnya saja
10011 (LSB adalah bit paling kanan), mula-mula register perlu di-reset se-
hingga Q
A
Q
B
Q
C
Q
D
Q
E
= 00000. Kemudian sinkron dengan pulsa detak
pertama, kedua, ketiga, keempat, dan kelima, masukkan lewat masukan se-
rial berturut-turut nilai 1, 1, 0, 0, dan 1. Dengan demikian
setelah pulsa detak ke-satu , Q
A
Q
B
Q
C
Q
D
Q
E
=10000
setelah pulsa detak ke-dua , Q
A
Q
B
Q
C
Q
D
Q
E
=11000
setelah pulsa detak ke-tiga , Q
A
Q
B
Q
C
Q
D
Q
E
=01100
setelah pulsa detak ke-empat, Q
A
Q
B
Q
C
Q
D
Q
E
=00110
setelah pulsa detak ke-lima , Q
A
Q
B
Q
C
Q
D
Q
E
=10011
Jadi setelah pulsa detak ke-lima data 5 bit dapat dibaca atau dikeluarkan
lewat 5 buah keluaran ip-op secara paralel. Sudah tentu pulsa detak di-
hentikan setelah ke lima bit data masuk pada register. Oleh karena data
dimasukkan secara serial dan dapat dikeluarkan secara paralel, register ini
disebut register serial in parallel out atau disebut juga pengubah serial ke
Yohanes Suyanto
6.2. Serial In Serial Out - SISO 109
paralel (serial to parallel converter).
6.2 Serial In Serial Out - SISO
Kalau setelah data dimasukkan secara serial seperti yang dijelaskan pada
bagian 6.1, kemudian dimasukkan pulsa detak sebanyak 5 kali, maka setiap
bit data akan bergeser ke kanan 5 kali. Dengan demikian,
pada pulsa detak ke-satu , Q
E
=1
pada pulsa detak ke-dua , Q
E
=1
pada pulsa detak ke-tiga , Q
E
=0
pada pulsa detak ke-empat, Q
E
=0
pada pulsa detak ke-lima , Q
E
=1
Dengan kata lain, data 5 bit akan keluar lewat Q
E
secara berganti-ganti
sinkron dengna pulsa detak (LSB keluar terlebih dahulu). Jadi register Gam-
bar 6.1 dapat juga bekerja sebagai register serial in parallel out atau SISO.
6.3 Parallel In Serial Out- PISO
Telah dibicarakan sebelumnya bahwa data 5 bit dapat dimasukkan secara
bersama-sama lewat masukan A, B, C, D, dan E (E = LSB), yaitu dengan
cara melakukan reset terlebih dahulu regsiter dan kemudian mengubah PE
sebentar ke 1. Jadi kalau misalnya niai ABCDE = 10011, maka setelah diker-
jakan operasi seperti tersebut di atas maka nilai Q
A
Q
B
Q
C
Q
D
Q
E
= 10011.
Kalau data ini dikeluarkan secara serial lewat Q
E
, maka perlu dimasukkan
pulsa detak sebanyak 5 kali seperti telah dibicarakan pada bagian 6.2. Jadi
jelas register ini dapat juga dipergunakan sebagai register parallel in serial
out atau disebut juga sebagai parallel to serial converter.
6.4 Parallel In Parallel Out - PIPO
Dari pembicaraan bagian 6.3 dan bagian 6.1 dan bagian 6.2 jelas register
ini juga dapat bekerja sebagai register parallel in parallel out. Hanya saja
biasanya untuk mengatur pengeluaran data secara paralel, masing-masing
keluaran dari ip-op dihubungkan ke masukan sebuah AND, sedang ma-
sukan yang lain dari setiap gerbang AND dihubungkan ke masukan baca.
Dengan demikian untuk mengeluarkan/membaca data secara paralel ma-
sukan baca diatur = 1.
Yohanes Suyanto
110 6. REGISTER
6.5 Register Geser Kanan/Kiri (Right/Left
Shift Register)
Pada register yang telah dibicarakan, bit demi bit data akan bergeser ke
kanan kalau pada register dimasukkan pulsa detak. Register seperti ini dise-
but register geser kanan atau right shift register. Adakalanya diperlukan
suatu register yang dapat menggeser ke kanan atau ke kiri. Untuk register
seperti ini diperlukan suatu rangkaian pengatur yang dapat menghubungkan
masukan D suatu ip-op dengan keluaran ip-op sebelah kirinya (Q
ki
)
kalau harus bergeser kanan, atau dengan keluaran ip-op sebelah kanannnya
kalau harus geser kiri. Rangkaian pengatur seperti ini terlihat pada Gambar
6.2.
Q
Q
D
CK
Q
ka
Q
ki
S
Gambar 6.2: Pengatur geser kanan atau kiri untuk register geser
Untuk register yang dapat diisi secara paralel melalui D juga, maka diper-
lukan suatu pengatur yang dapat menghubungkan D dengan Q
ka
, atau de-
ngan Q
ki
atau dengan masukan paralel. Pengatur ini terlihat pada Gambar
6.3.
Q
Q
D
CK
S
0
S
1
Q
Ka
Masukan
Paralel
Q
Ki
Gambar 6.3: Pengatur geser kanan atau kiri untuk register geser dengan
masukan paralel
Yohanes Suyanto
6.6. Soal Latihan 111
Dari Gambar 6.3 didapat persamaan:
D = S
0
Q
ka
+S
0
S
1
Pi +S
1
Q
ki
S
0
= 0, S
1
= 1 D = Q
ka
(geser kiri)
S
0
= 1, S
1
= 0 D = Q
ki
(geser kanan)
S
0
= S
1
= 1 D = Pi(data paralel masuk)
Untuk S
0
= S
1
= 0 oleh karena D = Q
ka
+ Q
ki
(tidak dikehendaki), maka
lewat pengatur lain pulsa detak dibuat tidak dapat masuk register. Skema
lengkap register 5 bit terlihat pada Gambar 6.4.
Q D
CK
Q
3
D
3
Q D
CK
Q
2
D
2
Q D
CK
Q
1
D
1
Q D
CK
Q
0
D
0
c
0
c
1
CLK
EN
c
1
c
0
output geser kiri
Input
geser kanan
Input geser kanan
Output
geser kanan
Kendali
c
1
c
0
0 0
0 1
1 0
1 1
Tetap
Geser kiri
Geser kanan
Muat paralel
Fungsi
Input geser kanan
Output geser kiri
c
0
c
1
D
3
D
2
D
1
D
0
Q
3
Q
2
Q
1
Q
0
Output geser kanan
Input geser kiri
Gambar 6.4: Register geser 5 bit lengkap
6.6 Soal Latihan
6.1 Suatu register 4 bit mempunyai masukan paralel D
3
D
2
D
1
D
0
dan x
serta keluaran Q
3
Q
2
Q
1
Q
0
dan y. Nilai y akan 1 apabila keluaran reg-
ister mempunyai cacah bit yang bernilai 1 ganjil, selain itu y bernilai
0. Operasi register ditentukan oleh nilai x dan y seperti tabel berikut:
Yohanes Suyanto
112 6. REGISTER
x y operasi
0 0 tetap
0 1 parallel in
1 0 geser kanan
1 1 geser kiri
Yohanes Suyanto
BAB 7
REDUKSI LOGIKA DIGITAL
SEKUENSIAL
7.1 Reduksi Keadaan
Dalam Bab 4 kita bahas metode perancangan FSM tanpa memperhatikan
bahwa ada kemungkinan terdapat mesin yang mempunyai fungsi sama de-
ngan jumlah keadaan yang lebih sedikit. Pada bagian ini kita pusatkan per-
hatian pada bagaimana mereduksi jumlah keadaan dalam rangkaian sekuen-
sial. Kita mulai dengan penjelasan mengenai FSM yaitu mesin dengan bebe-
rapa keadaan dan kemudian kita dapat berhipotesis bahwa ada mesin yang
mempunyai fungsi yang ekuivalen dengan hanya berkeadaan tunggal. Kita
terapkan semua kombinasi masukan untuk mengecek mesin tersebut dan
mengamati keluarannya. Jika mesin menghasilkan keluaran yang berbeda
untuk masukan sama pada waktu yang berbeda, maka paling tidak ada 2
keadaan yang berbeda yang tidak ekuivalen. Keadaan yang berbeda ditem-
patkan pada kelompok yang terpisah, dan proses dilanjutkan hingga tidak
ditemui lagi perbedaan. Jika ada kelompok yang mempunyai keadaan lebih
dari satu, maka keadaan-keadaan tersebut adalah ekuivalen dan mesin yang
lebih kecil dapat disusun dengan setiap kelompok menjadi satu keadaan.
Sebagai contoh, perhatikan mesin keadaan M
0
yang ditunjukkan oleh
tabel keadaan seperti pada Gambar 7.1. Kita mulai proses reduksi dengan
berhipotesis bahwa kelima keadaan dapat direduksi menjadi keadaan tung-
gal, didapat partisi P
0
untuk mesin baru M
1
:
P
0
= (ABCDE)
113
114 7. REDUKSI LOGIKA DIGITAL SEKUENSIAL
Masukan X
Keadaan 0 1
A C/0 E/1
B D/0 E/1
C C/1 B/0
D C/1 A/0
E A/0 C/1
Gambar 7.1: Tabel keadaan mesin M
0
yang akan direduksi
Kemudian kita kenai masukan tunggal untuk mesin asli M
0
dan amati
keluarannya. Saat M
0
dalam keadaan A, dan mendapat masukan 0, kelu-
arannya adalah 0. Saat mesin M
0
dalam keadaan A dan mendapat masukan
1, hasilnya adalah 1. Keadaan B dan E mempunyai perilaku yang mirip,
tetapi keadaan C dan D menghasilkan keluaran 1 dan 0 saat dikenai ma-
sukan 0 dan 1. Dengan demikian, kita tahu bahwa keadaaan A, B, dan E
dapat dibedakan dari keadaan C dan D, sehingga kita peroleh partisi baru
P
1
:
P
1
= (ABE)(CD)
Setelah dikenai masukan tunggal pada M
0
, kita tahu bahwa mesin akan
dalam keadaan kelompok ABE atau kelompok CD. Sekarang kita perlu
mengamati perilaku mesin dengan keadaan yang baru. Salah satu cara
adalah dengan mendaftar semua keadaan berikutnya yang mungkin dalam
bentuk hirarki seperti pada Gambar 7.2. Proses penyusunan hirarki dimu-
lai dengan mendaftar semua keadaan pada partisi yang sama. Untuk mesin
M
0
, partisi awal (ABCDE) dicantumkan sebagai puncak hirarki. Kemu-
dian mesin M
0
dikenai masukan 0, keadaan berikutnya akan salah satu dari
C, D, C, C, atau A yang berasal dari keadaaan A, B, C, D, atau E. Hasil
ini ditunjukkan dengan partisi (CDA)(CC) pada sisi 0, dengan level turun
satu dari puncak. Keluaran pada kelompok (CDA) berbeda dengan keluaran
pada kelompok (CC), sehingga keadaan asalnya dapat dibedakan. Kelompok
asalnya ditulis dalam bentuk partisi (ABE)(CD).
Yohanes Suyanto
7.1. Reduksi Keadaan 115
(ABCDE)
(CDA)(CC)
(ABE)(CD)
0
(CC)(C)(CC)
(AB)(E)(CD)*
0
(BA)(E)(BB)
(AB)(E)(CD)
1
(DC)(A)(DD)
(AB)(E)(CD)
0
(CC)(C)(CC)
0
(AB)(E)(AA)
(AB)(E)(CD)
1
(CD)(A)(CC)
0
(EE)(C)(EE)
1
(EE)(C)(EE)
(AB)(E)(CD)*
1
(EEC)(BA)
(ABE)(CD)
1
(AA)(C)(DC)
(AB)(E)(CD)
0
(CC)(C)(CC)
0
(EE)(B)(AB)
1
(CC)(B)(EE)
(AB)(E)(CD)*
1
Gambar 7.2: hirarki
Analog dengan hal tersebut, setelah dikenai 1 pada masukan M
0
, keadaan
berikutnya akan berada pada salah satu dari E, E, B, A, atau C dari keadaan
awal A, B, C, D, atau E. Hasil ini tergambar pada hirarki bagian kanan.
Pada lapisan berikutnya, kita lihat kelompok (CDA) dan (CC) secara ter-
pisah. Jika dikenai nilai 0 pada masukan M
0
dalam keadaan C, D, atau
A, maka keluaran untuk keadaan C dan D akan menghasilkan keadaan C
dan C dengan keluaran 1. Tetapi untuk keadaan A keluarannya 0 dengan
keadaan C. Oleh karena itu kemudian digambarkan (CC)(C) pada jalur 0,0
dari puncak hirarki.
Jika dikenai 0 pada M
0
saat keadaan C atau D keluaran akan sama
dan keadaan menjadi C. Dengan demikian secara lengkap pada jalur 0,0
dari puncak hirarki dihasilkan keadaan (CC)(C)(CC) dari keadaan awal
(AB)(E)(CD). Dengan demikian sampai di sini, A tidak berbeda dengan
B, dan C tidak berbeda dengan D, tetapi setiap kelompok dapat dibedakan
saat dikenai urutan masukan 0,0 pada M
0
tanpa memperhatikan keadaan
awalnya.
Cara ini dilanjutkan terus sampai tidak ada partisi yang lebih kecil yang
dapat dibuat. Misalnya, saat partisi berisi kelompok keadaan yang tidak da-
Yohanes Suyanto
116 7. REDUKSI LOGIKA DIGITAL SEKUENSIAL
pat dibedakan lagi seperti (CC)(C)(CC), maka pada titik ini kemudian di-
tandai dengan asterisk (*) dan pada titik ini proses dihentikan. Hirarki pada
Gambar 7.2 menunjukkan ilustrasi variasi yang dapat timbul saat melakukan
ekpansi.
Jika partisi yang dibuat sudah pernah ada di tempat lain dalam hirarki
maka partisi tersebut ditandai dengan coret dan ekpansi di titik itu dihen-
tikan.
Partisi level berikutnya adalah:
P
2
= (AB)(CD)(E)
karena keluaran A dan B dapat dibedakan dengan keluaran E.
Setelah dilakukan iterasi lagi ternyata partisi berikutnya adalah:
P
3
= (AB)(CD)(E)

yang sama dengan P
2
. Dengan demikian proses partisi dihentikan dan hasil
akhirnya adalah P
3
. Mesin M
1
adalah reduksi dari M
0
. Keadaan mesin M
1
adalah (AB), (CD), dan (E) yang dapat ditulis sebagai A, B, dan C. Tabel
transisi keadaan mesin M
1
yang baru terlihat pada Gambar 7.3.
Masukan X
Keadaan 0 1
AB : A

/0 C

/1
CD : B

/1 A

/0
E : C

/0 B

/1
Gambar 7.3: Tabel keadaan mesin M
1
hasil direduksi
7.2 Masalah Penentuan Nilai Keadaan
Untuk mesin yang sama dapat ditentukan nilai keadaan yang berbeda se-
hingga implementasinyapun menjadi berbeda pula. Misalnya mesin M pada
mempunyai table keadaan yang tertera pada Gambar ??.a. Dari tabel terse-
but dapat ditentukan nilai keadaan yang berbeda. Sebagai contoh tabel pada
Gambar ??.b dan ??.c adalah 2 penetuan nilai keadaan yang berbeda tetapi
untuk mesin M yang sama.
Pada tabel PN
0
secara sederhana ditentukan nilai keadaan dengan nilai
urut. A 00, B 01, C 10, dan D 11. Pada tabel PN
1
nilai C dan
D ditukar.
Yohanes Suyanto
7.2. Masalah Penentuan Nilai Keadaan 117
Masukan X
K.S. 0 1
A B/1 A/1
B C/0 D/1
C C/0 D/0
D B/1 A/0
a. Mesin M
Masukan X
K.S. 0 1
A : 00 01/1 00/1
B : 01 10/0 11/1
C : 10 10/0 11/0
D : 11 01/1 00/0
b. PN
0
Masukan X
K.S. 0 1
A : 00 01/1 00/1
B : 01 11/0 10/1
C : 11 11/0 10/0
D : 10 01/1 00/0
c. PN
1
Gambar 7.4: Tabel keadaan mesin M dan 2 macam penentuan nilai
keadaannnya
Dengan menerapkan nilai keadaan PN
0
diperoleh persamaan keadaan dan
keluaran yang ditunjukkan oleh Gambar 7.5. Dalam gambar tersebut juga
ditunjukkan reduksi persamaan menggunakan metode peta Karnaugh. Dari
persamaan-persamaan tersebut diperoleh jumlah masukan gerbang adalah
29. Masukan gerbang adalah jumlah variabel dan suku pada persamaan
logika.
0 1
00
01 1 1
10
11 1 1
X
K
0
K
1
K
0
= K
0
K
1
+K
0
K
1
0 1
00 1
01 1
10 1
11 1
X
K
0
K
1
K
1
= K
0
K
1
X +K
0
K
1
X
+K
0
K
1
X +K
0
K
1
X
0 1
00 1 1
01 1
10 1
11
X
K
0
K
1
Z = K
0
K
1
+K
0
X+K
0
K
1
X
Gambar 7.5: Peta Karnaugh untuk M dengan nilai keadaan PN
0
Jika digunakan penetapan nilai PN
1
bentuk peta Karnaugh dan per-
samaan logikanya terlihat pada Gambar 7.6. Jumlah masukan gerbang untuk
persamaan-persamaan ini hanya 6. S
0
dan S
1
tidak dihitung dalam jumlah
ini karena keduanya tidak melewati satu gerbangpun hanya dihubungkan
langsung ke variabel.
Yohanes Suyanto
118 7. REDUKSI LOGIKA DIGITAL SEKUENSIAL
0 1
00
01 1 1
10 1 1
11
X
K
0
K
1
K
0
= K
1
0 1
00 1
01 1
10 1
11 1
X
K
0
K
1
K
1
= X
0 1
00 1 1
01 1
10
11 1
X
K
0
K
1
Z = K
1
X +K
0
X
Gambar 7.6: Peta Karnaugh untuk M dengan nilai keadaan PN
1
7.3 Contoh Reduksi: Detektor Urutan
A
B
D
E
C
F
G
0/0
1/0
0/0
1/0
1/0
0/0
0/0
1/0
1/0
0/1
0/0
1/1
0/0 1/1
Gambar 7.7: Diagram transisi keadaan untuk detektor urutan
Mesin detektor urutan akan menghasilkan nilai 1 jika tepat 2 dari 3 masukan
terakhir bernilai 1. Mesin ini sudah pernah dibahas pada Bab 4. Untuk
masukan berupa 011011100 hasil keluarannya adalah 001111010. Ada satu
masukan serial dan diasumsikan tidak pada awalnya tidak ada masukan.
Diagram keadaan mesin ini terlihat pada Gambar 7.7. Kemungkinan
kombinasi dari 3 nilai masukan terakhir ada 8 macam yaitu: 000, 001, 010,
Yohanes Suyanto
7.3. Contoh Reduksi: Detektor Urutan 119
011, 100, 101, 110, dan 111. Keadaan A adalah keadaan awal saat belum
ada nilai masukan yang masuk. Keadaan B dan C adalah saat baru ada
1 masukan, sehingga belum memungkinkan untuk menghasilkan keluaran
1. Demikian juga keadaan D, E, F, dan G belum mungkin menghasilkan
keluaran 1 saat menerima perpindahan dari keadaan B atau C. Keadaan D
terjadi saat 2 masukan terakhir bernilai 00. Keadaan E, F, atau G terjadi
saat 2 masukan terakhir bernilai 01, 10, atau 11. Keluaran bernilai 1 hanya
mungkin untuk perpindahan keadaan dari E (01) atau F (10) yang mendapat
masukan 1, atau keadaan dari G (11) yang mendapat masukan 0.
Masukan x
Keadaan
sekarang
0 1
A B/0 C/0
B D/0 E/0
C F/0 G/0
D D/0 E/0
E F/0 G/1
F D/0 E/1
G F/1 G/0
Gambar 7.8: Tabel keadaan detektor urutan
Langkah berikutnya adalah menyusun tabel keadaan. Tabel ini terlihat
pada Gambar 7.8.
Dari tabel tersebut kemudian dilakukan reduksi keadaan yang dimu-
lai dengan hipotesis bahwa semua keadaan adalah sama (identik). Untuk
membuktikan kebenaran hipotesis itu dilakukan penghalusan. Jika sekelom-
pok keadaan bisa dibedakan terhadap kelompok lainnya, maka hipotesis itu
gugur. Namun tetap dilanjutkan penghalusan kelompok keadaan sehingga
tidak ada lagi yang dapat dibedakan (dipecah). Urutan proses ini adalah:
P
0
= (ABCDEFG)
P
1
= (ABCD)(EF)G)
P
2
= (A)(BD)(C)(E)(F)G)
P
3
= (A)(BD)(C)(E)(F)G)

Masukan x
Keadaan
sekarang
0 1
A B/0 C/0
B B/0 D/0
C E/0 F/0
D E/0 F/1
E B/0 D/1
F E/1 F/0
Gambar 7.9: Tabel keadaan detektor urutan yang baru
Yohanes Suyanto
120 7. REDUKSI LOGIKA DIGITAL SEKUENSIAL
Masukan x
Keadaan
sekarang
0 1
s
2
s
1
s
0
s
2
s
1
s
0
z s
2
s
1
s
0
z
A: 000 001/0 010/0
B: 001 001/0 011/0
C: 010 100/0 101/0
D: 011 100/0 101/1
E: 100 001/0 011/1
F: 101 100/1 101/0
Gambar 7.10: Tabel penentuan nilai keadaan detektor urutan
00 01 11 10
00 1 d 1
01 1 d 1
11 1 1 d 1
10 1 d
K
2
K
1
K
0
X
K
0
= K
2
K
1
X +K
0
X
00 01 11 10
00 d
01 1 d 1
11 1 d
10 d
K
2
K
1
K
0
X
K
1
= K
2
K
1
X +K
2
K
0
X
00 01 11 10
00 1 d
01 1 d
11 1 d 1
10 1 d 1
K
2
K
1
K
0
X
K
2
= K
1
+K
2
K
0
00 01 11 10
00 d
01 d 1
11 1 d
10 d 1
K
2
K
1
K
0
X
Z = K
2
K
0
X +K
1
K
0
X +K
2
K
0
X
Gambar 7.11: Peta Karnaugh untuk detektor urutan
Yohanes Suyanto
7.4. Tabel Eksitasi 121
Q
Q
D
CK
CK K
0 CK
Q
Q
D
CK
CK K
1
Q
Q
D
CK
CK K
2
z
x
Gambar 7.12: Skema rangkaian detektor urutan
Keadaan B dan D untuk jalur 0,0,0 pada diagram keadaan adalah sama.
Tabel keadaan yang baru terlihat pada Gambar 7.9. Dengan nilai keadaan
seperti pada Gambar 7.10 maka peta Karnaugh dapat disusun seperti pada
Gambar 7.11 dan rangkaiannya ada pada Gambar 7.12. Perlu diperhatikan
bahwa ada 4 kondisi dont care pada baris 110 dan 111 karena kedua keadaan
ini tidak pernah muncul atau tidak digunakan dalam tabel keadaan.
7.4 Tabel Eksitasi
Semua ip-op yang telah dibicarakan tersedia di pasaran dalam komponen
tersendiri, dan pada awalnya seorang desainer rangkaian digital sekuensial
perlu memilih salah satunya. Pemilihan jenis ip-op biasanya mempertim-
bangkan harga, unjuk kerja, ketersediaan, dan lain-lain. Saat pengemban-
gan rangkaian digital sudah menggunakan teknologi VLSI, orang cenderung
memilih D ip-op. Namun demikian adakalanya aplikasi masih menun-
Yohanes Suyanto
122 7. REDUKSI LOGIKA DIGITAL SEKUENSIAL
tut untuk menggunakan ip-op selain D ip-op. Untuk situasi seperti ini
pemikiran utama adalah memilih jenis ip-op yang menghasilkan jumlah
komponen sesedikit mungkin, karena ip-op dapat diperoleh dalam bentuk
komponen tunggal.
Flip-op S-R, J-K, D, ataupun T, dapat dibuat tabel eksitasinya yang
terlihat pada Gambar 7.13. Setiap tabel menunjukkan nilai yang harus di-
isikan pada masukan ip-op untuk mendapatkan keluaran yang diharapkan
pada t + 1 dari keadaan keluaran sebelumnya (t).
Q
t
Q
t+1
S R Q
t
Q
t+1
D
S R 0 0 0 0 D 0 0 0
flip flop 0 1 1 0 flip flop 0 1 1
1 0 0 1 1 0 0
1 1 0 0 1 1 1
Q
t
Q
t+1
J K Q
t
Q
t+1
T
J K 0 0 0 d T 0 0 0
flip flop 0 1 1 d flip flop 0 1 1
1 0 d 1 1 0 1
1 1 d 0 1 1 0
Gambar 7.13: Tabel eksitasi untuk ip-op S-R, D, J-K, dan T
A B
11/0
00/1
00/0
01/1
10/1
10/0
11/1
01/0
Masukan XY
Keadaan
sekarang
00 01 10 11
A A/0 A/1 A/1 B/0
B A/1 B/0 B/0 B/1
Masukan XY
Keadaan
sekarang
00 01 10 11
A:0 0/0 0/1 0/1 1/0
B:1 0/1 1/0 1/0 1/1
Gambar 7.14: Diagram transisi keadaan, tabel keadaan, dan penentuan nilai
keadaan untuk penjumlah berseri
Sebagai contoh kasus digunakan penjumlah berseri. Gambar 7.14 meru-
pakan diagram keadaan, tabel keadaan, dan penentuan nilai keadaan untuk
Yohanes Suyanto
7.4. Tabel Eksitasi 123
penjumlah berseri. Keadaan A adalah saat berada dalam keadaan tanpa
simpanan (carry) sedang keadaan B adalah keadaan dengan simpanan.
Keadaan
sekarang
Set Reset
X Y K
t
D S R T J K Z
0 0 0 0 0 0 0 0 d 0
0 0 1 0 0 1 1 d 1 1
0 1 0 0 0 0 0 0 d 1
0 1 1 1 0 0 0 d 0 0
1 0 0 0 0 0 0 0 d 1
1 0 1 1 0 0 0 d 0 0
1 1 0 1 1 0 1 1 d 0
1 1 1 1 0 0 0 d 0 1
Gambar 7.15: Tabel kebenaran perubahan keadaan pada ip-op
Tabel kebenaran untuk ip-op jenis S-R, D, J-K, dan T tertera pada
Gambar 7.15. Tabel ini disusun dengan memperhatikan keadaan sekarang
(K
t
) dan keadaan berikutnya (K
t+1
) jika mendapatkan masukan Xdan
Y . Berdasarkan perubahan keadaan tersebut kemudian ditentukan nilai
masukan untuk masing-masing ip-op dengan memperhatikan tabel eksi-
tasinya. Misalnya, pada baris pertama dengan nilai X = Y = 0, dan keadaan
awal adalah 0, maka keadaan selanjutnya adalah 0 juga. Jadi keluaran dari
nilai 0 menjadi 0 lagi. Untuk ip-op D, nilai D adalah 0, sedang untuk
ip-op J-K, nilai J = 0, dan K = d. Demikian seterusnya sehingga tabel
kebenaran tersebut dilengkapi.
Persamaan Boolean untuk penjumlah berseri jika menggunakan ip-op
J-K adalah:
J = XY
K = X Y
Z = X Y K +XY K +XY K +XY K
Jika menggunakan D, S-R, atau T persamaan Boolean yang digunakan
masing-masing adalah:
D = XY +XK +Y K
S = XY K
R = X Y K
T = X Y K +XY K
Yohanes Suyanto
124 7. REDUKSI LOGIKA DIGITAL SEKUENSIAL
7.5 Soal Latihan
7.1 Reduksilah tabel keadaan berikut:
Masukan X
K.S. 0 1
A D/0 G/1
B C/0 G/0
C A/0 D/1
D B/0 C/1
E A/1 E/0
F C/1 F/0
G E/1 G/1
7.2 Reduksilah tabel keadaan berikut:
Masukan XY
K.S. 00 01 10 11
A A/0 B/0 C/0 D/0
B A/0 B/1 D/0 D/1
C E/1 B/0 B/0 E/1
D A/0 D/1 D/0 B/1
E C/1 D/0 D/0 E/1
7.3 Berikut adalah tabel keadaan ternary. Tunjukkan proses dan hasil
akhir dari reduksi tabelnya!
Masukan x
K.S. 0 1 2
A B/0 E/2 G/1
B D/2 A/1 D/0
C D/2 G/1 B/0
D B/2 F/1 C/0
E A/0 E/2 C/1
F C/0 E/2 F/1
G D/0 E/2 A/1
7.4 Dalam tabel keadaan terreduksi berikut, nilai keadaan sudah diten-
tukan. Rancanglah mesinnya menggunakan ip-op D, gerbang AND
dan OR. Gunakan peta Karnaugh untuk mereduksi ekspresi untuk
fungsi keadaan berikutnya dan keluaran. Hati-hati untuk menyusun
peta Karnaugh secara benar karena tabel tersebut hanya terdiri atas 3
baris.
Yohanes Suyanto
7.5. Soal Latihan 125
Masukan X
K.S. 0 1
A : 00 00/0 01/1
B : 01 10/1 00/1
C : 10 01/1 10/0
Yohanes Suyanto

Anda mungkin juga menyukai