yohanes suyanto 2009 - · pdf file2.11.7 penggunaan pla untuk ... 2.5 simbol gerbang logika...

136
Perancangan Sistem Digital Yohanes Suyanto 2009

Upload: dinhtuyen

Post on 05-Feb-2018

254 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

Perancangan Sistem Digital

Yohanes Suyanto

2009

Page 2: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

Daftar Isi

1 SISTEM BILANGAN 11.1 Pendahuluan . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Nilai Basis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2.1 Desimal . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2.2 Biner . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2.3 Oktal . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2.4 Heksadesimal . . . . . . . . . . . . . . . . . . . . . . . 4

1.3 Faktor Bobot . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.4 Konversi sistem bilangan . . . . . . . . . . . . . . . . . . . . . 5

1.4.1 Konversi bilangan desimal menjadi biner . . . . . . . . 51.4.2 Konversi bilangan desimal menjadi oktal . . . . . . . . 61.4.3 Konversi bilangan desimal menjadi heksadesimal . . . . 71.4.4 Cara lain konversi bilangan . . . . . . . . . . . . . . . 7

1.5 Sistem Kode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL 112.1 Unit Logika Kombinasional . . . . . . . . . . . . . . . . . . . 112.2 Tabel Kebenaran . . . . . . . . . . . . . . . . . . . . . . . . . 122.3 Gerbang Logika . . . . . . . . . . . . . . . . . . . . . . . . . . 132.4 Implementasi Elektronik dari Gerbang Logika . . . . . . . . . 162.5 Buffer Tri-State . . . . . . . . . . . . . . . . . . . . . . . . . . 192.6 Sifat-sifat Aljabar Boole . . . . . . . . . . . . . . . . . . . . . 202.7 Bentuk Sum-of-Product dan Diagram Logika . . . . . . . . . . 222.8 Bentuk Product-of-Sum . . . . . . . . . . . . . . . . . . . . . . 242.9 Logika Positif dan Negatif . . . . . . . . . . . . . . . . . . . . 262.10 Data Sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.11 Komponen Digital . . . . . . . . . . . . . . . . . . . . . . . . 27

2.11.1 Level Integrasi . . . . . . . . . . . . . . . . . . . . . . 282.11.2 Multiplekser . . . . . . . . . . . . . . . . . . . . . . . . 282.11.3 Demultiplekser . . . . . . . . . . . . . . . . . . . . . . 302.11.4 Dekoder . . . . . . . . . . . . . . . . . . . . . . . . . . 31

iii

Page 3: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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-flop S-R Berdetak . . . . . . . . . . . . . . . . . . . . . . 72

4.3 Flip-flop D dan konfigurasi tuan-hamba . . . . . . . . . . . . . 74

4.4 Flip-flop 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

Page 4: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

DAFTAR ISI v

7 REDUKSI LOGIKA DIGITAL SEKUENSIAL 1137.1 Reduksi Keadaan . . . . . . . . . . . . . . . . . . . . . . . . . 1137.2 Masalah Penentuan Nilai Keadaan . . . . . . . . . . . . . . . 1167.3 Contoh Reduksi: Detektor Urutan . . . . . . . . . . . . . . . . 1187.4 Tabel Eksitasi . . . . . . . . . . . . . . . . . . . . . . . . . . . 1217.5 Soal Latihan . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

Yohanes Suyanto

Page 5: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

vi DAFTAR ISI

Yohanes Suyanto

Page 6: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

Daftar Gambar

1.1 Perulangan horisontal dan vertikal . . . . . . . . . . . . . . . . 31.2 Konversi bilangan desimal 19 menjadi biner . . . . . . . . . . 51.3 Pengujian bilangan biner 10011 menjadi bilangan desimal . . . 61.4 Konversi bilangan desimal 321 menjadi oktal . . . . . . . . . . 61.5 Pengujian bilangan oktal 501 menjadi bilangan desimal . . . . 61.6 Konversi bilangan desimal 321 menjadi heksadesimal . . . . . 71.7 Pengujian bilangan heksadesimal 141 menjadi bilangan desimal 71.8 Pengubahan bilangan oktal 157 menjadi biner . . . . . . . . . 71.9 Pengubahan bilangan biner 10011001 menjadi oktal . . . . . . 8

2.1 Unit logika kombinasi, jika dilihat dari luar . . . . . . . . . . . 122.2 Tabel kebenaran untuk saklar A dan B serta lampu Z . . . . . 132.3 Tabel kebenaran untuk semua kemungkinan fungsi dari 2 ma-

sukan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.4 Fungsi AND, OR, dan NOT sebagai pembentuk fungsi-fungsi

lainnya . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.5 Simbol gerbang logika untuk fungsi Boolean AND, OR, buffer,

dan NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.6 Simbol gerbang logika untuk fungsi Boolean NAND, NOR,

XOR, dan XNOR . . . . . . . . . . . . . . . . . . . . . . . . . 172.7 Variasi gerbang logika (a) tiga masukan dan (b) masukan de-

ngan komplemen . . . . . . . . . . . . . . . . . . . . . . . . . 172.8 (a) pembalik dengan terminal tenaga dimunculkan dan (b)

rangkaian transistor untuk pembalik . . . . . . . . . . . . . . 182.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang

logika keluaran, (b) gerbang logika masukan . . . . . . . . . . 182.10 Rangkaian transistor (a) NAND 2 masukan (b) NOR 2 masukan 192.11 Buffer tri-state dan Buffer tri-state kendali inversi . . . . . . . 192.12 Pembuktian teorema DeMorgan untuk 2 variabel . . . . . . . 212.13 Penyusunan NAND menjadi OR . . . . . . . . . . . . . . . . . 222.14 Implementasi OR dengan NAND (gambar lain) . . . . . . . . 22

vii

Page 7: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

viii DAFTAR GAMBAR

2.15 Penyusunan NAND menjadi AND . . . . . . . . . . . . . . . . 222.16 Tabel kebenaran untuk fungsi mayoritas . . . . . . . . . . . . 232.17 Implementasi fungsi mayoritas dengan dua-level AND-OR. In-

verter tidak dihitung sebagai level. . . . . . . . . . . . . . . . 242.18 Rangkaian OR-AND dua-level implementasi dari fungsi may-

oritas. Inverter tidak dihitung sebagai level . . . . . . . . . . . 252.19 Logika positif dan negatif untuk pasangan AND-OR dan

NAND-NOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.20 Proses pencocokan gelembung . . . . . . . . . . . . . . . . . . 282.21 Blok diagram dan tabel kebenaran untuk MUX 4-ke-1 . . . . . 292.22 Implementasi MUX 4-ke-1 dengan AND-OR . . . . . . . . . . 292.23 Implementasi MUX 8-ke-1 untuk fungsi mayoritas . . . . . . . 302.24 Implementasi MUX 4-ke-1 untuk fungsi dengan 3 variabel . . 302.25 Diagram blok dan tabel kebenaran untuk DEMUX 1-ke-4 . . . 312.26 Rangkaian DEMUX 1-ke-4 . . . . . . . . . . . . . . . . . . . . 312.27 Diagram blok dan tabel kebenaran dekoder 2-ke-4 . . . . . . . 322.28 Rangkaian dekoder 2-ke-4 . . . . . . . . . . . . . . . . . . . . 322.29 Implementasi fungsi mayoritas dengan dekoder 3-ke-8 . . . . . 322.30 Diagram blok dan tabel kebenaran enkoder prioritas 4-ke-2 . . 332.31 Rangkaian enkoder prioritas 4-ke-2 . . . . . . . . . . . . . . . 342.32 PLA 3 masukan 2 keluaran . . . . . . . . . . . . . . . . . . . . 352.33 Penyederhanaan PLA . . . . . . . . . . . . . . . . . . . . . . . 362.34 PLA dalam bentuk kotak hitam . . . . . . . . . . . . . . . . . 362.35 PLA dalam bentuk kotak hitam . . . . . . . . . . . . . . . . . 372.36 Implementasi penjumlah 4 bit menggunakan penjumlah penuh

berjenjang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.37 Penjumlah penuh menggunakan PLA . . . . . . . . . . . . . . 382.38 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392.39 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402.40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402.41 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.1 Implementasi fungsi mayoritas direduksi . . . . . . . . . . . . 453.2 Diagram Venn untuk 3 variabel biner . . . . . . . . . . . . . . 463.3 Peta Karnaugh untuk fungsi mayoritas . . . . . . . . . . . . . 473.4 Pengelompokan sel bertetangga pada fungsi mayoritas . . . . . 473.5 Fungsi mayoritas direduksi . . . . . . . . . . . . . . . . . . . . 483.6 Pengelompokan mulai dari sel yang tidak masuk dalam kelom-

pok yang lebih besar . . . . . . . . . . . . . . . . . . . . . . . 493.7 Pengelompokan mulai dari kelompok yang paling besar . . . . 493.8 Posisi sudut pada peta Karnaugh secara logis bertetangga . . 50

Yohanes Suyanto

Page 8: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

DAFTAR GAMBAR ix

3.10 Peta Karnaugh dengan 5 variabel . . . . . . . . . . . . . . . . 513.9 Peta Karnaugh yang sama dapat menghasilkan persamaan

minimal berbeda . . . . . . . . . . . . . . . . . . . . . . . . . 513.11 Peta Karnaugh dengan 6 variabel . . . . . . . . . . . . . . . . 523.12 Implementasi fungsi mayoritas 3 level . . . . . . . . . . . . . . 533.13 Peta Karnaugh dengan isian variabel D . . . . . . . . . . . . . 543.14 Peta Karnaugh dengan 3 variabel isian . . . . . . . . . . . . . 543.15 Tabel kebenaran suatu fungsi dengan don’t care . . . . . . . . 553.16 Proses reduksi tabulasi . . . . . . . . . . . . . . . . . . . . . . 563.17 Tabel pilihan . . . . . . . . . . . . . . . . . . . . . . . . . . . 583.18 Tabel pilihan terreduksi . . . . . . . . . . . . . . . . . . . . . 583.19 Tabel kebenaran untuk 3 fungsi dengan 3 variabel . . . . . . . 603.20 Tabel pilihan keluaran jamak . . . . . . . . . . . . . . . . . . 613.21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653.22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

4.1 Model klasik dari FSM . . . . . . . . . . . . . . . . . . . . . . 704.2 Gerbang NOR dengan rangkaian tunda . . . . . . . . . . . . . 714.3 Flip-flop S-R dengan NOR . . . . . . . . . . . . . . . . . . . . 714.4 Tabel kebenaran Flip-flop S-R . . . . . . . . . . . . . . . . . . 724.5 Flip-flop S-R dengan NAND . . . . . . . . . . . . . . . . . . . 724.6 Rangkaian yang mengandung hazard . . . . . . . . . . . . . . 734.7 Detak yang berupa gelombang kotak . . . . . . . . . . . . . . 744.8 Flip-flop S-R berdetak . . . . . . . . . . . . . . . . . . . . . . 744.9 Flip-flop D. Simbol CLK menunjukkan clock atau detak. . . . 754.10 Tabel kebenaran untuk flip-flop D. Nilai keluaran sama dengan

nilai masukan pada detak sebelumnya. . . . . . . . . . . . . . 754.11 Flip-flop tuan-hamba . . . . . . . . . . . . . . . . . . . . . . . 764.12 Flip-flop J-K dan simbolnya . . . . . . . . . . . . . . . . . . . 774.13 Tabel kebenaran untuk flip-flop J-K. Nilai J=1 dan K=1 diper-

bolehkan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774.14 Flip-flop T dan simbolnya . . . . . . . . . . . . . . . . . . . . 774.15 Tabel kebenaran untuk flip-flop T. . . . . . . . . . . . . . . . 784.16 Flip-flop J-K tuan-hamba dan simbolnya . . . . . . . . . . . . 784.17 Pencacah modulo 4 . . . . . . . . . . . . . . . . . . . . . . . . 794.18 Diagram transisi keadaan pencacah modulo 4 . . . . . . . . . 804.19 Tabel keadaan untuk pencacah modulo-4 . . . . . . . . . . . . 804.20 Tabel keadaan untuk pencacah modulo-4 dengan pengkodeannya 814.21 Tabel kebenaran untuk keadaan berikutnya dan fungsi kelu-

aran pencacah modulo-4 . . . . . . . . . . . . . . . . . . . . . 824.22 Desain logika untuk pencacah modulo-4 . . . . . . . . . . . . . 82

Yohanes Suyanto

Page 9: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

x DAFTAR GAMBAR

4.23 Diagram transisi keadaan untuk detektor urutan . . . . . . . . 834.24 Tabel keadaan detektor urutan . . . . . . . . . . . . . . . . . 83

4.25 Penetapan kode keadaan dan tabel kebenaran detektor urutan 844.26 Diagram logika detektor urutan . . . . . . . . . . . . . . . . . 844.27 Diagram transisi keadaan pengendali mesin penjualan . . . . . 85

4.28 (a) Tabel keadaan pengendali mesin penjualan (b) penetapankode 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . 894.32 Register 4-bit disederhanakan . . . . . . . . . . . . . . . . . . 89

4.33 Register geser . . . . . . . . . . . . . . . . . . . . . . . . . . . 904.34 Pencacah modulo 8 . . . . . . . . . . . . . . . . . . . . . . . . 91

5.1 Peta Karnaugh untuk penentuan persamaan J dan K padapencacah modulo-6 sinkron . . . . . . . . . . . . . . . . . . . 97

5.2 Pencacah sinkron modulo-6 . . . . . . . . . . . . . . . . . . . 97

5.3 Pengaturan pulsa detak pada flip-flop T untuk pencacah . . . 985.4 Peta Karnaugh untuk penentuan persamaan pengatur detak

pada pencacah modulo-10 sinkron . . . . . . . . . . . . . . . . 98

5.5 Rangkaian pencacah modulo-10 sinkron menggunakan flip-flop T 995.6 Rangkaian pencacah modulo-8 tak sinkron menggunakan flip-

flop T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

5.7 Rangkaian pencacah modulo-10 tak sinkron menggunakanflip-flop T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

5.8 Rangkaian pencacah modulo-5 tak sinkron menggunakan flip-flop T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

5.9 Pengatur pulsa pada pencacah naik/turun . . . . . . . . . . . 105

6.1 Register serial-parallel . . . . . . . . . . . . . . . . . . . . . . 1076.2 Pengatur geser kanan atau kiri untuk register geser . . . . . . 110

6.3 Pengatur geser kanan atau kiri untuk register geser denganmasukan paralel . . . . . . . . . . . . . . . . . . . . . . . . . . 110

6.4 Register geser 5 bit lengkap . . . . . . . . . . . . . . . . . . . 111

7.1 Tabel keadaan mesin M0 yang akan direduksi . . . . . . . . . 1147.2 hirarki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1157.3 Tabel keadaan mesin M1 hasil direduksi . . . . . . . . . . . . 116

7.4 Tabel keadaan mesin M dan 2 macam penentuan nilaikeadaannnya . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

Yohanes Suyanto

Page 10: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

DAFTAR GAMBAR 1

7.5 Peta Karnaugh untuk M dengan nilai keadaan PN0 . . . . . . 1177.6 Peta Karnaugh untuk M dengan nilai keadaan PN1 . . . . . . 1187.7 Diagram transisi keadaan untuk detektor urutan . . . . . . . . 1187.8 Tabel keadaan detektor urutan . . . . . . . . . . . . . . . . . 1197.9 Tabel keadaan detektor urutan yang baru . . . . . . . . . . . 1197.10 Tabel penentuan nilai keadaan detektor urutan . . . . . . . . 1207.11 Peta Karnaugh untuk detektor urutan . . . . . . . . . . . . . 1207.12 Skema rangkaian detektor urutan . . . . . . . . . . . . . . . . 1217.13 Tabel eksitasi untuk flip-flop S-R, D, J-K, dan T . . . . . . . . 1227.14 Diagram transisi keadaan, tabel keadaan, dan penentuan nilai

keadaan untuk penjumlah berseri . . . . . . . . . . . . . . . . 1227.15 Tabel kebenaran perubahan keadaan pada flip-flop . . . . . . 123

Yohanes Suyanto

Page 11: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

2 DAFTAR GAMBAR

Yohanes Suyanto

Page 12: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

BAB 1

SISTEM BILANGAN

1.1 Pendahuluan

Sistem bilangan didefinisikan sebagai sekumpulan nilai yang digunakan un-tuk melambangkan besaran. Kita sudah terbiasa menggunakan bilanganini dalam kehidupan sehari-hari. Jumlah mahasiswa yang hadir dalam ku-liah, jumlah matakuliah yang diambil oleh mahasiswa, nilai yang didapatmahasiswa untuk suatu ujian matakuliah, semuanya menggunakan lambangbilangan.

Pembahasan mengenai sistem bilangan tidak terbatas pada komputersaja. Kita menggunakannya dalam kehidupan sehari-hari, dan kita menge-tahui bahwa komputer juga menggunakannya sehingga dapat mengolah datamenjadi 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 menggambarkankelompok 6 garis vertikal dengan 1 garis horisontal melintang pada jelompokgaris vertikal tersebut untuk menunjukkan jumlah hari dalam 1 minggu.

Sangat sulit untuk menggambarkan bilangan sangat besar ataupun sangatkecil menggunakan pendekatan grafis. Pada sekitar tahun 3400 SM di Mesirdan 3000 SM di Mesopotamia mereka membuat simbol untuk menggam-barkan bilangan dalam kesatuan 10. Ini adalah langkah besar karena dapatmereduksi jumlah simbol yang diperlukan. Misalnya dua belas dapat digam-barkan dengan satu puluhan dan dua satuan, sehingga hanya memerlukan 3simbol. Bandingkan dengan 12 simbol sebelumnya.

Orang Romawi menggunakan 7 buah simbol yang dapat digunakan untukmenggambarkan bilangan 1 sampai dengan 1.000.000.I = 1

1

Page 13: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

2 1. SISTEM BILANGAN

V = 5X = 10L = 50C = 100D = 500M = 1000Tambahan tanda garis di atas simbol tadi diartikan sebagai perkalian 1000.

Sistem bilangan yang paling banyak digunakan saat ini adalah sistemArab. Sistem ini pertama kali dibuat oleh orang Hindus dan digunakan padaawal abad ke-3 sebelum Masehi. Pengenalan simbol 0, yang digunakan untukmenunjukkan nilai posisi angka menjadi sangat bermanfaat. Sekarang kitamenjadi 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 sebanyak10 macam. Simbol ini akan diulang-ulang untuk menyatakan bilangan yangbesar. Lihat Gambar 1.1

Perhatikan bagaimana bilangan 0 sampai dengan 9 diulang, dan setiapperulangan, 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 adalah10. 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 adalahsistem yang paling dikenal, karena ini adalah sistem yang digunakan dalamperhitungan 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. Sistemdesimal sering dinamakan juga sistem basis-10, karena mempunyai 10 angka.

Yohanes Suyanto

Page 14: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

1.2. Nilai Basis 3

0 −→ 0p 1e 2r 3u 4l 5a 6n 7g 8a 9n 1 −→ 10

11v 12e 13r 14t 15i 16k 17a 18l 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. Sistembasis-2 ini dapat dipergunakan untuk menyatakan besaran yang direpresen-tasikan dalam desimal maupun sistem bilangan lain. Contoh:

Desimal Biner13 1101123 111101145 101101

1023 1111111111

Yohanes Suyanto

Page 15: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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 Oktal13 1101 15123 1111011 17345 101101 33

1023 1111111111 1777

1.2.4 Heksadesimal

Sistem heksadesimal adalah sistem basis-16 dengan simbol sebanyak 16macam yaitu: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E dan F. Contoh:

Desimal Biner Heksadesimal13 1101 D123 1111011 7B45 101101 2D

1023 1111111111 3FF

Sistem duodesimal adalah sistem berbasis 12 digunakan oleh orang Ro-mawi untuk beberada keperluan. Sistem vigesimal adalah sistem bilanganberbasis 20 digunakan oleh orang Maya sedang seksagesimal berbasis 60 dandigunakan oleh orang Babylonia.

1.3 Faktor Bobot

Faktor bobot adalah nilai pengali yang dikenakan pada setiap posisi kolomdalam bilangan. Misalnya, desimal mempunyai faktor bobot sepuluh, yangartinya setiap kolom disebelah kiri mempunyai nilai bobot sebesar sepu-luh kali lebih besar dari kolom sebelah kanannya. Dengan demikian setiapbergeser ke kiri faktornya menjadi 10 kali lipat.

200=0 × 100 = 0 × 1 = 00 × 101 = 0 × 10 = 02 × 102 = 2 × 100 = 200

200 (hasil penjumlahan)

Contoh lain untuk bilangan 312,

Yohanes Suyanto

Page 16: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

1.4. Konversi sistem bilangan 5

312=2 × 100 = 2 × 1 = 21 × 101 = 1 × 10 = 103 × 102 = 3 × 100 = 300

312 (hasil penjumlahan)

Bilangan biner mempunyai faktor bobot sebesar dua. Oleh karena itubilangan 101102 dapat diuraikan menurut bobotnya menjadi:

10110=0 × 20 = 0 × 1 = 01 × 21 = 1 × 2 = 21 × 22 = 1 × 4 = 40 × 23 = 0 × 8 = 01 × 24 = 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 habissambil mencatat sisa hasil bagi (modulo). Sebagai contoh bilangan desi-mal 19 dapat diubah menjadi bilangan biner dengan cara yang terlihat padaGambar 1.2.

192

= 9 sisa 192

= 4 sisa 142

= 2 sisa 022

= 1 sisa 012

= 0 sisa 11910 = 1 0 0 1 12

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

Page 17: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

6 1. SISTEM BILANGAN

10110=0 × 20 = 1 × 1 = 11 × 21 = 1 × 2 = 21 × 22 = 0 × 4 = 00 × 23 = 0 × 8 = 01 × 24 = 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 bilanganbiner, dengan mengganti bilangan pembagi dengan delapan. Sebagai contohbilangan desimal 321 dapat diubah menjadi bilangan oktal dengan cara yangterlihat pada Gambar 1.4.

3218

= 40 sisa 1408

= 5 sisa 058

= 0 sisa 532110 = 5 0 18

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 × 80 = 1 × 1 = 10 × 81 = 0 × 8 = 05 × 82 = 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

2adalah 6 dengan sisa 1, karena sebenarnya 158 = 1310.

Yohanes Suyanto

Page 18: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

1.4. Konversi sistem bilangan 7

1.4.3 Konversi bilangan desimal menjadi heksadesimal

Cara pengubahan bilangan desimal menjadi bilangan oktal dapat diterapkanjuga untuk mengubah bilangan desimal menjadi heksadesimal, dengan caramengganti bilangan pembagi dengan enam belas. Sebagai contoh bilangandesimal 321 dapat diubah menjadi bilangan heksadesimal dengan cara yangterlihat pada Gambar 1.6.

32116

= 20 sisa 12016

= 1 sisa 4116

= 0 sisa 132110 = 1 4 18

Gambar 1.6: Konversi bilangan desimal 321 menjadi heksadesimal

Hasil konversi inipun dapat diuji kebenarannya dengan cara yang samaseperti sebelumnya. Lihat Gambar 1.7.

141=1 × 160 = 1 × 1 = 14 × 161 = 4 × 16 = 641 × 162 = 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-desimalmenjadi suatu bilangan dalam sistem bilangan non-desimal lain dapat di-lakukan dengan mengubahnya terlebih dahulu ke bilangan desimal, kemudiandiubah ke sistem bilangan tujuan. Namun demikian pengubahan bilanganbiner menjadi bilangan oktal (dan bilangan heksadesimal) dan sebaliknya da-pat dilakkan secara langsung dengan cara seperti ditunjukkan pada Gambar1.8.

[h!]1578 = 001

︸︷︷︸101︸︷︷︸

111︸︷︷︸

= 11011112

1 5 7

Gambar 1.8: Pengubahan bilangan oktal 157 menjadi biner

Yohanes Suyanto

Page 19: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

8 1. SISTEM BILANGAN

Cara tersebut dilakukan dengan mengubah setiap digit bilangan oktalmenjadi 3 digit biner (bit). Ingat 8 adalah 23. Sebaliknya untuk men-gubah bilangan biner menjadi bilangan oktal dapat ditempuh dengan men-gelompokkan setiap 3 bit dari bilangan biner dari kanan dan menerjemahkanmasing-masing kelompok menjadi bilangan oktal yang sesuai. Lihat Gambar1.9.

[h!]100110012 = 10

︸︷︷︸011︸︷︷︸

001︸︷︷︸

= 2318

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 24.

Contoh 1.1

Ubah bilangan 2BA16 menjadi bilangan desimal!

Jawab:

2BA16 = 2× 162 + 11× 161 + 10× 160

= 2× 256 + 11× 16 + 10× 1

= 512 + 176 + 10 = 69810

Contoh 1.2

Ubah bilangan 84510 menjadi bilangan heksadesimal!

Jawab:

845

16= 52 sisa 13(D)

52

16= 3 sisa 4

3

16= 0 sisa 3

Jadi 84510 = 34D16

Yohanes Suyanto

Page 20: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

1.5. Sistem Kode 9

Contoh 1.3

Ubah bilangan 2B16 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 2B16 = 1010112

Cara II:

Setiap digit bilangan heksadesimal diterjemahkan menjadi 4 bit.

2B16 = 0010 1011 = 10101122 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 = 19B16

1.5 Sistem Kode

Satu bit dapt digunakan untuk menyatakan dua bilangan yaitu 0 atau 1, 2bit dapat menyatakan empat (4 = 24) bilangan yaitu 00, 01, 10, atau 11, tigabit dapat menyatakan 8 (= 23) bilangan, dan empat bit dapat menyatakan16 (= 24). Demikian seterusnya.

Yohanes Suyanto

Page 21: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

10 1. SISTEM BILANGAN

Yohanes Suyanto

Page 22: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

BAB 2

RANGKAIAN LOGIKADIGITAL KOMBINASIONAL

Sebelum melangkah lebih jauh, dalam bab ini akan dibahas dasar-dasarlogika 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 padamasukan saat itu dan hasil keluaran sebelumnya. Dengan memahami prin-sip logika digital, dapat dirancang rangkaian logika digital seperti yang adadalam komputer.

2.1 Unit Logika Kombinasional

Unit logika kombinasional (ULK) adalah unit yang menerjemahkan sederetanmasukan 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. Bentukumum dari unit logika kombinasional tercantum pada Gambar 2.1. Sederetanmasukan i0− in diumpankan ke ULK, yang mengahsilkan sederetan keluaransesuai dengan fungsi f0 − fm. Tidak ada umpan balik dari keluaran ke ma-sukan dalam rangkaian logika kombinasional.

Masukan dan keluaran untuk ULK secara normal mempunyai 2 nilaiyaitu: tinggi dan rendah. Jika sinyal (nilai) berupa nilai yang dimabildari anggota himpunan berhingga, rangkaiannya disebut digital. Rangka-ian elektronika digital menerima masukan dan keluaran dalam nilai 0 atau1. Nilai 0 yang berarti 0 volt disebut sebagai nilai rendah dan nilai 1 yangbiasanya mengacu pada 5 volt disebut nilai tinggi. Kesepakatan ini tidak

11

Page 23: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

12 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

i0 −→ −→ f0(i0, i1)i1 −→ unit logika −→ f1(i1, i3, i4)

... kombinasional...

in −→ −→ fm(i9, in)

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 efisien daripada menggunakan2 nilai saja. Rangkaian digital multi-nilai berbeda dengan rangkaian ana-log karena rangkaian digital multi-nilai mempunyai variasi nilai terhinggasedangkan sinyal analog mempunyai nilai kontinu. Secara teori penggu-naan rangkaian digital multi-nilai adalah menguntungkan. Namun dalampratiknya sulit untuk membuat rangkaian multi-nilai yang handal dalammembedakan nilai lebih dari 2 macam. Oleh karena itu, logika multi-nilaisaat ini digunakan secara terbatas.

Dalam buku ini hanya akan dibahas mengenai rangkaian digital biner,yang mempunyai tepat 2 macam nilai yang diperbolehkan untuk masukanmaupun keluaran. Dengan demikian, hanya sinyal binerlah yang digunakandalam pembahasan selanjutnya.

2.2 Tabel Kebenaran

Pada tahun 1854 George Boole mempublikasikan kertas kerjanya dalam ben-tuk aljabar unruk merepresentasikan logika. Boole tertarik dengan pemikiranmatematika untuk menuangkan pernyataan ”Pintu itu terbuka” atau ”Pintuitu tidak terbuka”. Aljabar Boole kemudian dikembangkan oleh Shannondalam bentuk seperti sekarang ini. Dalam aljabar boole, perhitungan di-dasarkan pada variabel biner yang mempunyai satu nilai 0 atau 1. Nilaiini 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 rangkaiandigital pembahasan dititikberatkan pada nilai simbolis 0 dan 1 saja. Dengankata lain nilai fisik dikesampingkan terlebih dulu.

Sumbangan penting yang diberikan Boole adalah penyusunan tabelkebenaran, yang menyatakan hubungan logis dalam bentuk tabel. Misal-nya ada ruang dengan 2 saklar A dan B yang mengendalikan lampu Z. Salahsatu saklar dapat hidup atau mati, atau kedua saklar dapat hidup atau mati.

Yohanes Suyanto

Page 24: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

2.3. Gerbang Logika 13

Jika hanya ada satu saklar yang hidup maka lampu Z akan menyala. Jikakedua saklar hidup semua atau mati semua, lampu Z akan mati. Tabelkebenaran dapat disusun dengan mendaftar semua kemungkinan kombinasikeadaan saklar A dan B serta keadaan lampu Z seperti pada Tabel 2.2.Dalam tabel tersebut nilai 0 menyatakan mati sedang nilai 1 menyatakanhidup atau menyala.

Dalam tabel kebenaran, semua kombinasi biner 0 dan 1 yang mungkinuntuk nilai masukan didaftar dan setiap kombinasi tersebut menghasilkannilai keluaran 0 atau 1. Untuk Gambar 2.2.(a) keluaran Z tergantung padanilai masukan A dan B. Untuk setiap kombinasi masukan menghasilkannilai 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 ataukedua-duanya hidup. Jumlah kombinasi yang mungkin untuk 2 masukanadalah 22 = 4. Jumlah kombinasi keluaran yang mungkin adalah 24 =16, karena ada 4 kombinasi masukan yang masing-masing baris kombinasimasukan ada 2 kemungkinan nilai keluaran. Secara umum, karena ada 2n

kombinasi masukan untuk masukan sebanyak n, maka ada 22n

kombinasikeluaran dan masukan.

Masukan Keluaran Masukan KeluaranA B Z A B Z0 0 0 0 0 10 1 1 0 1 00 0 1 1 0 00 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 Gambar2.3. Fungsi-fungsi tersebut dinamakan fungsi logika Boolean. Fungsi ANDakan benar (hasilnya 1) hanya jika A dan B keduanya 1, sedang fungsi ORakan benar (nilainya 1) jika A atau B bernilai 1, yang berarti juga jikakeduanya bernilai 1. Fungsi akan menghasilkan salah jika keluaran bernilai0. Oleh karena itu fungsi False selalu menghasilkan 0 sedang fungsi Trueselalu menghasilkan 1.

Yohanes Suyanto

Page 25: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

14 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

Masukan Keluaran

A B False AND AB A AB B XOR OR0 0 0 0 0 0 0 0 0 00 1 0 0 0 0 1 1 1 11 0 0 0 1 1 0 0 1 11 1 0 1 0 1 0 1 0 1

Masukan Keluaran

A B NOR XNOR B A+B A A+B NAND True0 0 1 1 1 1 1 1 1 10 1 0 0 0 0 1 1 1 11 0 0 0 1 1 0 0 1 11 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 fungsiA dan B adalah komplemen A dan B yang nilai berkebalikan dengan A danB. Fungsi ini dapat ditulis juga dengan NOTA dan NOTB. Fungsi NANDkependekan dari NOTAND sedang NOR kependekan dari NOTOR. FungsiXOR bernilai benar jika salah satu masuka bernilai benar, dan bukan kedua-duanya benar. Fungsi XNOR adalah komplemen dari XOR. Fungsi lainnyadapat diduga sendiri artinya.

Dari 16 fungsi tersebut, ada 3 fungsi paling dasar dalam gerbang logikaini adalah AND,OR dan NOT . Ke-13 fungsi lainnya dapat disusun dari 3fungsi tersebut. Lihat Gambar 2.4.

Gerbang logika adalah alat fisis yang merupakan implementasi darifungsi Boolean. Fungsi seperti yang tertera pada Gambar 2.3 mempunyaisimbol gerbang logika, dan sebagian dapat dilihat pada Gambar 2.5 danGambar 2.6. Untuk setiap fungsi, masukannya adalah A dan B dan sebagaikeluaran 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 ORadalah benar jika salah satu atau kedua masukan bernilai benar, dan bernilaisalah jika kedua masukan bernilai salah. Gerbang buffer hanya meneruskannilai masukan. Walaupun secara logika gerbang buffer tidak mempunyaiperan, namun dalam praktik ini penting karena dapat mengendalikan sejum-lah gerbang dengan satu sinyal saja. Gerbang NOT (disebut juga pembalikatau inverter) menghasilkan 1 untuk masukan 0 dan menghasilkan 0 un-

Yohanes Suyanto

Page 26: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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-fungsilainnya

tuk masukan 1. Sekali lagi, keluaran pembalik ini adalah komplemen darimasukan. Lingkaran kecil di bagian keluaran atau masukan berfungsi jugasebagai komplemen.

Dalam Gambar 2.6, gerbang NAND dan NOR mengahasilkan komplemendari gerbang AND dan OR. Gerbang XOR menghasilkan 1 jika salah satumasukan bernilai 1, tetapi tidak keduanya. Secara umum, gerbang XORmenghasilkan 1 jika masukan yang bernilai 1 berjumlah ganjil. Ini pentinguntuk 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, dapatberupa AND dengan 3 masukan seperti Gambar 2.7a. Lingkaran kecil se-bagai simbol kompelemen juga dapat dipasang pada bagian masukan sepertipada Gambar 2.7b.

Secara fisis, gerbang logika bukanlah barang ajaib, karena hanya beruparangkaian elektronika yang menghasilkan keluaran tertentu dari masukantertentu. Misalnya pada gerbang NOT, akan menghasilkan logika 1 (+5V)

Yohanes Suyanto

Page 27: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

16 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

A B F0 0 00 1 01 0 01 1 1

A B F0 0 00 1 11 0 11 1 1

AB F = AB A

B F = A+B

AND OR

A F0 01 1

A F0 11 0

A F = A A F = A

BUFFER NOT

Gambar 2.5: Simbol gerbang logika untuk fungsi Boolean AND, OR, buffer,dan NOT

untuk masukan berupa logika 0 (0V). Bagian berikut membahas mekanismedasar bagaimana rangkaian gerbang logika bekerja.

2.4 Implementasi Elektronik dari Gerbang

Logika

Secara elektronis, gerbang logika mempunyai terminal untuk dihubungkandengan sumber tenaga yang biasanya tidak ditampilkan. Gambar 2.8amenggambarkan pembalik dengan terminal +5V dan 0V (GND) yangdimunculkan. Sinyal +5V biasanya disebut VCC yang berarti voltagecollector-collector. Pada rangkaian fisis, semua terminal VCC dan GND di-hubungkan dengan sumber tenaga yang cocok.

Gerbang logika tersusun dari alat elektronik yang disebut transistor, yangdapat bersifat sebagai saklar yang mengendalikan sinyal elektronis kuat de-ngan menggunakan sinyal elektronis lemah. Transistor juga bersifat penguatyang dapat menguatkan sinyal masukan sehingga dapat digunakan untuk di-hubungkan dengan banyak gerbang logika. Tanpa penguatan, kita mungkinhanya dapat mengirim sinyal ke sejumlah kecil gerbang logika, sebelum sinyalitu bercampur dengan derau sehingga tidak terdeteksi lagi.

Yohanes Suyanto

Page 28: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

2.4. Implementasi Elektronik dari Gerbang Logika 17

A B F0 0 10 1 11 0 11 1 0

A B F0 0 10 1 01 0 01 1 0

AB F = AB

AB F = A +B

NAND NOR

A B F0 0 00 1 11 0 11 1 0

A B F0 0 10 1 01 0 01 1 1

AB 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 = ABCA

BF = 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 sebagaigerbang pembalik. Untuk masukan berupa 0 (0 V) pada basis akan meng-hasilkan keluaran 1 (+5 V) pada kolektor, karena tidak ada arus dari VCC

ke GND akibat transistor mati. Jika sinyal 1 (+5 V) dimasukkan ke basis,maka akan ada arus listrik dari VCC ke GND karena transistor hidup. Olehkarena itu di kolektor tegangannya cukup kecil untuk dianggap logika 1. Jadikeluaran akan 0 (0 V).

Karena akan selalu ada arus yang mengalir walaupun keluaran menun-jukkan logika 0, maka kita perlu menentukan batas tegangan yang amanuntuk nilai logika 0 dan 1. Jika kita menentukan secara ketat bahwa logika 0adalah 0 V dan logika 1 adalah 5 V, maka kemungkinan rangkaian kita tidakbekerja sebagai mana mestinya jika keluarannya adalah 0.1 V bukan 0 V. Hal

Yohanes Suyanto

Page 29: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

18 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

A F = A

Vcc = +5V

GND = 0V

A

A

R

VCC

(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 nilaitegangan untuk logika 0 dan 1 menggunakan batas ambang. Pada Gambar2.9a logika 0 ditentukan pada tegangan dalam rentang 0 V sampai dengan 0.4V dan logika 1 dalam rentang 2.4 V sampai dengan 5 V. Rentang teganganpada Gambar 2.9a adalah untuk sinyal keluaran. Karena sinyal dapat men-galami pelemahan maka untuk sinyal masukan diberi berselisih 0.4 V sepertitampak pada Gambar 2.9b. Namun demikian rentang nilai tegangan yangtercantum di sini tidak mengikat, tergantung dari keluarga gerbang logikayang digunakan.

Logika 1

Daerahterlarang

Logika 0

0.0 V0.4 V

2.4 V

5.0 V

Logika 1

Daerahterlarang

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) gerbanglogika keluaran, (b) gerbang logika masukan

Gambar 2.10 menunjukkan rangkaian transistor untuk gerbang logikaNAND dan NOR. Untuk rangkaian NAND kedua masukan A dan B harusberada pada daerah tegangan logika 1 untuk menghasilkan keluaran padadaerah tegangan logika 0. Untuk rangkaian gerbang NOR, salah satu ma-

Yohanes Suyanto

Page 30: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

2.5. Buffer Tri-State 19

B

A

AB

R

VCC

A

A+B

B

R

VCC

(a) (b)

Gambar 2.10: Rangkaian transistor (a) NAND 2 masukan (b) NOR 2 ma-sukan

sukan A atauB berada pada tegangan logika 1, akan mengakibatkan keluaranberada pada daerah tegangan 0.

2.5 Buffer Tri-State

Buffer Tri-state adalah seperti buffer biasa yang kita bahas sebelumnya, de-ngan pengecualian bahwa ada tambahan masukan untuk mengendalikan kelu-aran buffer. Tergantung dari masukan kendali ini, keluaran dari buffer dapatbernilai 0, 1, atau tak berfungsi. Jadi ada 3 macam keluaran. Dalam Gambar2.11a, jika masukan kendali C bernilai 1 maka buffer bekerja seperti biasa.Namun jika masukan kendali C ini bernilai 0 maka buffer dalam keadaantak berfungsi, tidak ada sinyal keluaran. Simbol φ digunakan untuk meny-atakan keadaan tak berfungsi ini. Perlu diketahui bahwa keadaan φ tidakmenunjukkan 0 atau 1, tetapi menyatakan bahwa tidak ada sinyal. Dalamistilah elektronika keadaan ini disebut berimpedansi tinggi high impedance.Buffer tri-state kendali inversi mirip dengan buffer tri-state kecuali masukankendalinya merupakan komplemen. Lihat Gambar 2.11b.

A

C

F = ACatauF = ∅

A

C

F = ACatauF = ∅

(a) (b)

Gambar 2.11: Buffer tri-state dan Buffer tri-state kendali inversi

Keluaran yang secara elektronis tak terhubung berbeda dengan keluaran

Yohanes Suyanto

Page 31: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

20 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

yang menghasilkan 0. Tidak terhubung secara elektronis berarti tidak adasinyal elektronis sedang logika 0 terhubung dengan GND. Dengan buffer tri-state memungkinkan sejumlah keluaran dihubungkan menjadi satu tanpaada risiko hubung singkat, asal dijaga bahwa pada satu saat hanya bolehsatu buffer tri-state yang hidup. Buffer tri-state penting saat implementasiregister.

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 relasidalam tabel mempunyai bentuk AND dan OR sebagai hasil dari prinsip du-alisme. Bentuk dualisme ini memungkinan mengubah bentuk AND menjadiOR dan sebaliknya bentuk OR menjadi AND.

Relasi Dualisme SifatPostulat AB = BA A+B +B +A Komutatif

A(B + C) = AB +AC A+BC = (A+B) + (A+ C) Distributif1A = A 0 +A = A IdentitasAA = 0 A+A = 1 Komplemen

Teorema 0A = 0 1 +A = 1 Teorema nol dan satuAA = A A+A = A Idempoten

A(BC) = (AB)C A+ (B + C) Asosiatif

A = A Involusi

AB = A+B A+B = A B Teorema DeMorganAB +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 dalamfungsi 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 variabeldidistribusikan melalui operasi AND. Karena prinsip dualisme juga maka adasifat distributif untuk OR.

Sifat identitas menunjukkan bahwa variabel yang di-AND-kan dengan 1atau 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

Page 32: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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 padaoperannya).

Teorema nol dan satu menyatakan bahwa operasi AND antara variabeldengan 0 akan menghasilkan 0 dan operasi OR antara variabel dengan 1 akanmenghasilkan 1. Teorema idempoten menyatakan bahwa operasi AND atauOR antara variabel dengan dirinya sendiri menghasilkan nilai variabel itusendiri.

Teorema asosiatif menyatakan bahwa urutan operasi AND atau OR tidakmengakibatkan hasil yang berbeda. Teorema involusi menyatakan bahwakomplemen 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 dapatdibuktikan dengan induksi yaitu mendaftar semua kemungkinan nilai 2 vari-abel A dan B serta fungsi yang dibuktikan seperti Gambar 2.12. Sisi kiri dankanan dalam ekspresi DeMorgan mempunyai nilai yang sama, inilah buk-tinya. Untuk teorema konsensus dan absorbsi, silakan dicoba sendiri untuklatihan.

A B AB = A+ B A +B = A B0 0 1 1 1 10 1 1 1 0 01 0 1 1 0 01 1 0 0 0 0

Gambar 2.12: Pembuktian teorema DeMorgan untuk 2 variabel

Tidak semua gerbang logika dibicarakan secara mendalam karenaberdasarkan 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 menyusungerbang 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 penjelasannyaadalah:

Yohanes Suyanto

Page 33: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

22 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

AB F = A +B ≡ A

B F = A B

Gambar 2.13: Penyusunan NAND menjadi OR

A = A+ A Teorema idempoten= A A Teorema DeMorgan

AB 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

AB 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 karakteristikyang lebih baik daripada yang lainnya.

2.7 Bentuk Sum-of-Product dan Diagram

Logika

Misalnya kita akan membuat fungsi yang lebih kompleks daripada sekedargerbang logika sederhana, seperti fungsi mayoritas yang tertera sebagai tabelkebenaran pada Gambar 2.16. Fungsi mayoritas akan benar jika lebih dariseparo masukan bernilai benar. Fungsi ini sering digunakan pada pembetu-lan kesalahan dengan menganggap bahwa nilai yang paling banyak munculsebagai nilai hasil, atau kadang disebut pula sebagai fungsi voting.

Karena pembahasan sampai di sini belum ada gerbang sederhana yangdapat digunakan secara langsung untuk implementasi fungsi mayoritas,maka kita akan melakukan transformasi dari persamaan AND-OR dua-leveldan mengimplementasikannya dalam bentuk gerbang logika dari himpunan

Yohanes Suyanto

Page 34: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

2.7. Bentuk Sum-of-Product dan Diagram Logika 23

Indeksminterm

A B C F

0 0 0 0 01 0 0 1 02 0 1 0 03 0 1 1 14 1 0 0 05 1 0 1 16 1 1 0 17 1 1 1 1

Gambar 2.16: Tabel kebenaran untuk fungsi mayoritas

{AND, OR, NOT} (misalnya). Disebut persamaan dua-level karena ada satulevel bentuk AND dilanjutkan dengan satu level bentuk OR. Fungsi Booleanuntuk mayoritas ini bernilai benar jika nilai F pada tabel kebenaran bernilaibenar. 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 ANDdari 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 menentukanbahwa diperlukan 4 buah AND untuk implementasi suku perkalianABC,ABC,ABC, dan ABC. Keluaran dari gerbang AND kemudiandihubungkan ke masukan gerbang OR 4-masukan seperti Gambar 2.17.Rangkaian ini menunjukkan fungsi mayoritas, dan kita dapat mengeceknyadengan memasukkan semua kombinasi yang mungkin untuk masukan danmengamati hasilnya.

Yohanes Suyanto

Page 35: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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, dalambentuk komplemen atau bukan, maka suku ini disebut minterm. Mintermmempunyai nilai 1 dalam keluaran tabel kebenaran. Dengan demikianminterm adalah minimum term yang menghasilkan benar. Sebagai alternatiffungsi dapat ditulis dalam bentuk jumlahan dari kombinasi yang benar. Per-samaan 2.1 dapat ditulis ulang menjadi persamaan 2.2 dengan indeks adalahminterm indeks seperti Gambar 2.16.

F =∑

(3, 5, 6, 7) (2.2)

Notasi ini digunakan secara resmi sebagai persamaan Boolean karenahanya berisi minterm saja. Persamaan 2.1 dan 2.2 disebut sebagai notasiresmi 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 dalambentuk POS berupa koleksi rangkaian OR yang keluarannya dihubungkanbersama dengan gerbang AND. Salah satu cara untuk membentuk POSadalah dengan jalan melakukan komplemen terhadap bentuk SOP, dan ke-mudian diterapkan teorema DeMorgan. Sebagai contoh, lihat kembali fungsimayoritas dalam bentuk tabel kebenaran di Gambar 2.16, bentuk komple-mennya adalah baris-baris yang menghasilkan keluaran 0, seperti persamaan2.3:

F = A B C + A BC + ABC + AB C (2.3)

Yohanes Suyanto

Page 36: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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 berbentukW +X + Y + Z = W X Y Zdidapat persamaan 2.5:

F = (A B C) (A BC) (ABC) (AB C) (2.5)

Penerapan teorema DeMorgan yang berbentuk WXY Z = W+X+Y +Zpada 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 komplemenmaupun tidak. Maxterm, misalnya (A + B + C), mempunyai nilai 0 untuksatu baris dalam tabel kebenaran. Persamaan yang hanya berisi maxtermdalam bentuk POS dikatakan sebagai persamaan product-of-sum. RangkaianOR-AND sebagai implementasi dari persamaan 2.5 tampaka pada Gambar2.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 Booleyang 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 topologiperkawatan.

Yohanes Suyanto

Page 37: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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 jumlahmasukan ke semua gerbang logika. Untuk rangkaian pada Gambar 2.17 danGambar 2.18, cacah gerbang adalah 8 dan cacah masukan gerbang adalah19 untuk bentuk SOP dan POS. Dalam kasus ini tidak ada perbedaan kom-pleksitas rangkaian antara bentuk SOP dan POS, tetapi untuk kasus lainperbedaannya menjadi nyata. Ada banyaj variasi metode untuk mereduksikompleksitas rangkaian digital, beberapa di antaranya dibahas pada Bab 3.

2.9 Logika Positif dan Negatif

Sampai saat ini kita berasumsi bahwa tegangan tinggi dan rendahberpadanan dengan logika 1 dan 0, atau BENAR dan SALAH, yang dikenalsebagai active high atau logika positif. Kita dapat membuat pernyataanyang 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 danNAND-NOR untuk logika positif dan negatif. Logika positif gerbang ANDberlaku seperti logika negatif gerbang OR. Gerbang logika secara fisis samatanpa memperhatikan logika positif atau negatif, hanya interpretasi sinyalnyaberubah.

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 berjalandengan 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 demikiansinyal yang keluar dari gelembung adalah komplemen dari sinyal yang mema-sukinya.

Perhatikan rangkaian yang ditunjukkan oleh Gambar 2.20a, 2 rangkaianlogika positif digabungkan dengan gerbang AND dan dihubungkan ke sistemlogika positif. Sistem yang ekuivalen secara logis ditunjukkan pada Gam-bar 2.20b. Dalam proses pencocokan gelembung, gelembung dipasang padasetiap masukan atau keluaran dari rangkaian aktif rendah seperti Gambar2.20c.

Untuk memudahkan analisis rangkaian, gelembung masukan aktif rendah

Yohanes Suyanto

Page 38: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

2.10. Data Sheet 27

Level tegangan Level logika positif Level logika negatif

A B F A B F A B Frendah rendah rendah 0 0 0 1 1 1rendah tinggi rendah 0 1 0 1 0 1tinggi rendah rendah 1 0 0 0 1 1tinggi tinggi tinggi 1 1 1 0 0 0

gerbangANDfisis

AB

F AB F = AB A

B F = A+B

Level tegangan Level logika positif Level logika negatif

A B F A B F A B Frendah rendah tinggi 0 0 1 1 1 0rendah tinggi tinggi 0 1 1 1 0 0tinggi rendah tinggi 1 0 1 0 1 0tinggi tinggi rendah 1 1 0 0 0 1

gerbangNANDfisis

AB

F AB F = AB

AB F = A +B

Gambar 2.19: Logika positif dan negatif untuk pasangan AND-OR danNAND-NOR

perlu dicocokkan dengan gelembung keluaran aktif rendah. Dalam Gambar2.20c ada gelembung yang tidak cocok karena hanya ada 1 gelembung dalam1 garis. Teorema DeMorgan digunakan untuk konversi dari gerbang ORmenjadi gerbang NAND dengan masukan yang dikomplemenkan. Gambar2.20d menunjukkan gelembung yang sudah cocok.

2.10 Data Sheet

2.11 Komponen Digital

Desain rangkaian digital tingkat tinggi biasanya menggunakan sekumpulangerbang yang dikemas dalam bentuk komponen bukan gerbang logika tung-gal. Hal ini mengakibatkan bahwa kompleksitas rangkaian dapat dikurangidan pemodelannya menjadi sederhana. Beberapa komponen dibahas dalambagian berikut.

Yohanes Suyanto

Page 39: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

28 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

Logika positif x0

Logika positif x1

logikapositif

(a)

Logika negatif x0

Logika negatif x1

logikanegatif

(b)

Logika negatif x0

Logika negatif x1

logikanegatif

(c)

Logika negatif x0

Logika negatif x1

logikanegatif

(d)

Gambar 2.20: Proses pencocokan gelembung

2.11.1 Level Integrasi

Sampai saat ini kita membahas desain unit logika kombinasional. Karenakita bekerja dengan gerbang tunggal, maka kita bekerja pada level inte-grasi skala kecil (small scale integration (SSI), yang meliputi chip denganisi 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), isichip berkisar antara 100-1000 komponen. Integrasi skala besar atau largescale 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 mempunyaibanyak masukan dan 1 keluaran. Diagram blok dan table kebenaran dariMUX 4-ke-1 ditunjukkan oleh Gambar 2.21. Keluaran F adalah sama denganmasukan pada jalur yang dipilih oleh kendali masukan A dan B. Misalnya,jika AB = 00, maka keluaran F adalah nilai pada masukan D0 (baik 0maupun 1). Rangkaian yang sesuai untuk MUX ini terlihat pada Gambar2.22

Saat kita mendesain rangkaian dengan MUX, biasanya kita menggunakanbentuk kotak seperti Gambar 2.21, bukan bentuk terperinci seperti Gambar2.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, danmasukan kendali dihubungkan langsung ke variabel A,B, dan C. Imple-mentsai fungsi menggunakan MUX adalah dengan memasang 1 pada jalurmasukan yang merupakan minterm dan mengisi 0 untuk lainnya. Walaupun

Yohanes Suyanto

Page 40: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

2.11. Komponen Digital 29

00D0

01D1

10D0

11D1

F

A BKendali masukan

Masukan

A B

0 00 11 01 1

D0

D1

D2

D3

F

F = A BD0 + A BD1 + A BD2 + ABD3

Gambar 2.21: Blok diagram dan tabel kebenaran untuk MUX 4-ke-1

D0

F

D1

D2

D3

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 variabelditunjukkan pada Gambar 2.24. Data msukan diambil dari himpunan{0,1,C, C}, dan pengelompokannya dapat dilihat pada tabel kebenaran. JikaAB = 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, sehinggakita isi 1 pada jalur 01 pada MUX. Jika AB = 10 maka F = C, karena untukC = 0 maka F = 0 dan untuk C = 1 maka F = 1, sehingga kita isi C padajalur 10 pada MUX. Akhirnya untuk AB = 11, maka F = C, dan kita isijalur 11 pada MUX dengan C. Dengan cara ini, kita dapat mengimplemen-tasikan fungsi 3 variabel dengan menggunakan MUX 2 variabel.

Yohanes Suyanto

Page 41: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

30 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

A B C0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

F00010111

00010111

000001010011100101110111

F

BA CKendali masukan

Gambar 2.23: Implementasi MUX 8-ke-1 untuk fungsi mayoritas

A B C0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

F00110110

0

1

C

C

00001110C11C

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 sertatabel kebenaran yang sesuai ditunjukkan oleh Gambar 2.25. DEMUX men-girim data masukan D ke salah satu jalur keluaran Fi yang ditentukan olehkendali masukan. Rangkaian DEMUX 1-ke-4 ditunjukkan pada Gambar 2.26.Aplikasi DEMUX digunakan untuk mengirim data dari satu sumber ke salahsatu dari sejumlah tujuan, seperti tombol pada elevator kepada wahana el-evator terdekat. DEMUX tidak biasa digunakan pada implementasi fungsiBoolean umumnya, walaupun cara ini juga bisa dilakukan.

Yohanes Suyanto

Page 42: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

2.11. Komponen Digital 31

00 D0

01 D1

10 D0

11 D1

D

A B

D A B

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

F0F1F2F3

0 0 0 00 0 0 00 0 0 00 0 0 01 0 0 00 1 0 00 0 1 00 0 0 1

Gambar 2.25: Diagram blok dan tabel kebenaran untuk DEMUX 1-ke-4

A B

D

F0

F1

F2

F3

Gambar 2.26: Rangkaian DEMUX 1-ke-4

2.11.4 Dekoder

Dekoder menerjemahkan secara logika kode menjadi artinya. Pada satu saattepat hanya satu keluaran yang bernilai 1, yang ditentukan oleh kendali in-put. Diagram blok dan tabel kebenaran dari dekoder 2-ke-4 dengan kendalimasukan A dan B tercantum pada Gambar 2.27. Rangkaian dekoder yangsesuai dengan itu terlihat pada Gambar 2.28. Dekoder dapat digunakanuntuk 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 DEMUXdengan masukan 1.

Salah satu aplikasi dekoder adalah untuk menerjemahkan alamat me-mori menjadi lokasi fisis. Dekoder juga dapat digunakan untuk implemen-tasi fungsi Boolean. Karena setiap jalur keluaran berkorespondensi dengan

Yohanes Suyanto

Page 43: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

32 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

00 D0

01 D1

10 D0

11 D1

AB

Enable

A B

0 00 11 01 1

D0D1D2D3

1 0 0 00 1 0 00 0 1 00 0 0 1

Enable=1A B

0 00 11 01 1

D0D1D2D3

0 0 0 00 0 0 00 0 0 00 0 0 0

Enable=0

D0 = A B D1 = AB D2 = AB D3 = ABGambar 2.27: Diagram blok dan tabel kebenaran dekoder 2-ke-4

Enable

BA

D0

D1

D2

D3

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 mayoritasmenggunakan dekoder 3-ke-8. Keluaran yang tidak digunakan dibiarkan takterhubung.

000001010011100101110111

BA

CM

Gambar 2.29: Implementasi fungsi mayoritas dengan dekoder 3-ke-8

Yohanes Suyanto

Page 44: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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 salahsatu bentuk enkoder yang memperhatikan urutan masukan. Diagram blokdan tabel kebenarannya ada pada Gambar 2.30. Prioritas dalam enkoderini maksudnya adalah bahwa masukan Ai mempunyai prioritas lebih tinggidaripada Ai+1. Keluaran berupa nilai 00,01,10, atau 11 tergantung dari jalurmasukan yang aktif dengan prioritas tertinggi. Jika tidak masukan yang ak-tif, keluaran menghasilkan nilai bawaan A0 (F1F0 = 00).

00A0

01A1

10A2

11A3

F0

F1

F0 = A0 A1 A3 + A0 A1 A2

F1 = A0 A2 A3 + A0 A1

A0A1A2A3

0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1

F0F1

0 01 11 01 00 10 10 10 10 00 00 00 00 00 00 00 0

Gambar 2.30: Diagram blok dan tabel kebenaran enkoder prioritas 4-ke-2

Enkoder prioritas digunakan untuk memilih dari sejumlah alat yangberkompetisi untuk menggunakan jalur yang sama, misalnya jika sejum-lah pengguna secara serentak berusaha menggunakan sistem komputer yangsama. Rangkaian enkoder prioritas 4-ke-2 tampak pada Gambar 2.31.

Yohanes Suyanto

Page 45: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

34 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

A0

F0

A1

A2

A3

F1

Gambar 2.31: Rangkaian enkoder prioritas 4-ke-2

2.11.6 PLA

Larik logika dapat diprogram atau programmable logic array (PLA) adalahkomponen 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 8gerbang AND yang menghasilkan 8 suku perkalian. Keluaran dari gerbangAND dihubungkan ke masukan semua gerbang OR yang menghasilkan kelu-aran fungsi F0 dan F1. Sekering yang dapat diprogram diletakkan padasetiap persilangan pada matriks AND dan OR. PLA diprogram untuk fungsitertentu dengan memutus sekering pada matriks. Pada saat sekering dipu-tus pada gerbang AND, maka masukan tersebut terhubung ke nilai logika1. Demikian juga jika sekering diputus pada gerbang OR, maka masukanterhubung ke logika 0.

Sebagai contoh bagaimana penggunaan PLA, kita lihat implementasifungsi mayoritas dengan memakai PLA 3 × 2 (fungsi dengan 3 masukanvariabel × 2 keluaran). Untuk keperluan penyederhanaan ilustrasi, bentukseperti Gambar 2.33 yang dipergunakan, bukan 2.32. Dengan catatan bahwajalura tunggal pada masukan gerbang AND mewakili 6 jalur masukan, danjalur tunggal pada setiap gerbang OR mewakili 8 jalur masukan. Tanda bu-latan kecil pada persimpangan menunjukkan tempat koneksi dibuat. DalamGambar 2.32 fungsi mayoritas hanya menggunakan setengah dari PLA, dansisanya dapat dipergunakan untuk fungsi lain.

Yohanes Suyanto

Page 46: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

2.11. Komponen Digital 35

A B C

F0 F1

Gambar 2.32: PLA 3 masukan 2 keluaran

PLA adalah komponen yang banyak gunanya sebagai rangkaian digitalumum. Keunggulan dari penggunaan PLA adalah karena hanya ada sedikitmasukan dan keluaran, dan ada banyak gerbang logika di antara masukandan keluaran. Proses minimisasi jumlah koneksi dalam rangkaian menjadipenting 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 dinyatakansebagai kotak hitam seperti pada Gambar 2.34, dan diasumsikan bahwa isiPLA dengan mudah dapat dibuat menggunakan program secara otomatis.

Yohanes Suyanto

Page 47: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

36 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

A B C

F0 F1

ABC

ABC

ABC

ABC

Gambar 2.33: Penyederhanaan PLA

PLAABC

F0F1

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 akanmendesain rangkaian untuk menjumlah 2 bilangan. Penjumlahan secarabiner mirip dengan penjumlah desimal menggunakan tangan. Bilangan bineryang dijumlahkan dari kanan ke kiri, menghasilkan hasil dan sisa (carry) disetiap bit. Dua bit dan sisa sebelumnya dijumlahkan pada setiap posisi bit,

Yohanes Suyanto

Page 48: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

2.11. Komponen Digital 37

sehingga kemungkinan masing-masing nilai serta hasil jumlahan dan sisanyadapat disusun seperti pada Gambar 2.35.

AiBiCi

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

SiCi+1

0 01 01 00 11 00 10 11 1

Fulladder

AiBi

Ci

Si

Ci+1

Gambar 2.35: PLA dalam bentuk kotak hitam

Tabel kebenaran pada Gambar 2.35 menjelaskan mengenai elemen yangdisebut sebagai penjumlah penuh (full adder), dan gambar simbolnya adadisebelahnya. Penjumlah setengah (half adder), dapat digunakan padabagian penjumlah paling kanan yang menjumlahkan 2 bit dan menghasilkanjumlah 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 meminimumkanmacam komponen. Dengan 4 penjumlah penuh yang dipasang berjen-jang dapat dihasilkan penjumlah biner 4 bit, seperti nampak pada Gambar2.36. Penjumlah paling kanan tetap menggunakan penjumlah penuh denganmenghubungkan masukan c0 dengan 0.

Fulladder

a0b0 c0

s0

Fulladder

a1b1 c1

s1

Fulladder

a2b2 c2

s2

Fulladder

a3b3 c3

s3

c4

Gambar 2.36: Implementasi penjumlah 4 bit menggunakan penjumlah penuhberjenjang

Perlu diperhatikan bahwa nilai jumlah belum dapat dihitung sampai sisadari penjumlah penuh sebelumnya dihitung. Rangkaian disebut penjum-lah ripple carry karena nilai yang benar seperti bergeser dari kanan ke kiri.

Yohanes Suyanto

Page 49: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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 inilahyang merupakan kelemahan dari rangkaian ini. Pendekatan desain penjum-lah penuh menggunakan PLA, nampak pada Gambar 2.37

A B Cin

Sum Cout

Gambar 2.37: Penjumlah penuh menggunakan PLA

Pendekatan desan dengan cara PLA adalah hal yang umum, dan alatbantu 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 darigerbang NAND, sedang Gambar 2.15 menunjukkan bahwa AND da-pat diimplementasikan dari gerbang NAND. Tunjukkan secara diagram

Yohanes Suyanto

Page 50: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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.

AB 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 ditunjukkanoleh Gambar 2.31. Gerbang pembalik ikut diperhitungkan.

2.6 Rancanglah rangkaian logika yang merupakan implementasi dari fungsif 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 fungsig berikut dengan menggunakan gerbang AND, OR, dan NOT. Janganberusaha 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 bagaimanaAnda mendapatkan jawabannya!

f(A,B,C) = ABC + ABC

g(A,B,C) = (A⊕ C)B

2.9 Tulis persamaan Boolean yang menerangkan fungsi F pada rangkaianberikut. Tulis jawaban Anda dalam bentuk SOP (tanpa tanda kurung).

Yohanes Suyanto

Page 51: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

40 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

2.10 Komparator 4 bit adalah komponen dengan 2 buah masukan 4-bit A(A3A2A1A0) dan B(B3B2B1B0) dan keluaran 1 bit. Keluaran akan 0jika A=B, dan 1 untuk lainnya. Rancanglah komparator 4 bit dengangerbang yang sudah dipelajari dalam bab ini. Petunjuk: Pikirkanlahbahwa komparator 4 bit dapat disusun dari kombinasi komparator 1bit.

2.11 Gunakan hanya gerbang NOR untuk merealisasikan operasi XOR!

2.12 Ubahlah rangkaian 2.39 dalam bentuk rangkaian NOR!

DB

AC

F

AB

C

Gambar 2.39:

2.13 Gambar diagram waktu yang menunjukkan operasi rangkaian Gambar2.40. Anggap bahwa masukan mulai dari ABC = 000 dan berakhirpada ABC = 111. Abaikan waktu tunda dalam gerbang.

AB

A

CQ

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 (2’scomplement) dari masukan.

Yohanes Suyanto

Page 52: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

2.12. Soal Latihan 41

2.16 Rancanglah rangkaian kombinasional yang mempunyai 4 masukan danmenghasilkan 4 keluaran yang berupa komplemen 2 dari masukan. Bitpertama adalah bit tanda.

2.17 Desain rangkaian dekoder BCD-to-7-segment dengan masukan berupa4-bit BCD. Rangkaian harus menghasilkan 7 keluaran, yang masing-masing terhubung dengan 1 segmen pada penampil 7-segmen sepertiGambar 2.41. Saat keluaran dari rangkaian bernilai 1 maka segmenyang terhubung dengannya adakan menyala, selain itu segmen tersebutakan mati. Penampil 7-segmen dapat menampilkan nilai BCD 0 sampaidengan 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 yanglebih cepat?

2.21 Desain rangkaian 2-level yang menjumlah digit BCD dengan 3. Im-plementasikan rangkaian tersebut dengan half-adder kemudian denganfull-adder. Bandingkan kompleksitas dan kecepatannya.

2.22 Realisasikan fungsi KESAMAAN dengan 2 masukan menggunakan:

(a) gerbang NAND

(b) gerbang NOR

Yohanes Suyanto

Page 53: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

42 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

Yohanes Suyanto

Page 54: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

BAB 3

REDUKSI LOGIKA DIGITALKOMBINASIONAL

Dalam bab ini akan dibahas pendekatan secara sistematik untuk mereduksimengurangi) 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 dalamimplementasi rangkaian digital. Kemudian akan kita bahas cara mereduksijumlah state (keadaan) dalam finite state machine (FSM), dan melihat lebihjah mengenai perancangan FSM yang mengakibatkan perubahan jumlah danukuran 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 dalamjumlah masukan gerbang yang lebih sedikit dalam rangkaian, maka reduksipersamaan menjadi penting untuk dipertimbangkan saat rangkaian menjadibegitu kompleks.

Tiga metode untuk mereduksi persamaan Boolean akan dibahas dalambagian ini:

1. reduksi secara aljabar

2. reduksi dengan peta Karnaugh

3. reduksi tabular

43

Page 55: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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 hanyaberdasar pada teorema akjabar Boole.

Metode peta Karnaugh dan tabular kenyataannya adalah implementasidengan kertas dan pensil dari metode aljabar. Kita bahas keduanya karenamembolehkan kita untuk menggambar proses reduksi, dan dengan demikianmenjadi lebih mudah dimengerti bagaimana proses reduksi terjadi. Prosesmanual ini hanya efektif untuk fungsi dengan 6 variabel atau kurang. Untukfungsi dengan variabel yang lebih banyak, perlu bantuan komputer untukmelakukannya.

3.1.1 Metode Aljabar

Metode aljabar adalah penerapan aljabar Boole, lihat Bab 2, untuk tujuanreduksi 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 bentukyang 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 denganGambar 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 menggunakansifat 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 lagisehingga 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

Page 56: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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 iterasimetode 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 dapatdireduksi lagi.

3.1.2 Metode Peta Karnaugh

Metode peta Karnaugh adalah teknik untuk mereduksi persamaan logikadigital dengan menggunakan grafik (gambar) sehingga dapat diikuti proses-nya secara visual. Variabel yang muncul di banyak minterm (suku) adalahcalon terkuat untuk dieliminasi. Dasar dari peta Karnaugh adalah diagramVenn yang asalnya digunakan untuk visualisasi konsep himpunan. DiagramVenn untuk variabel biner berisi persegi panjang yang menunjukkan bentukSOP biner. Diagram Venn untuk 3 variabel A,B, dan C ditunjukkan dalamGambar 3.2. Satu lingkaran menunjukkan 1 variabel. Di dalam lingkaranbersangkutan variabel tersebut bernilai 1, sedang di luarnya bernilai 0. Irisanmenunjukkan minterm, seperti gambar tersebut.

Yohanes Suyanto

Page 57: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

46 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL

A B

C

AB C ABC

A BC

ABC

ABCABC

ABC

Gambar 3.2: Diagram Venn untuk 3 variabel biner

Daerah yang diarsir adalah calon kuat untuk direduksi. Dalam gambarnapak bahwa daerah ABC dapat dikombinasi dengan setiap 3 daerah lainnyauntuk menghasilkan suku yang terreduksi. Peta Karnaugh adalah bentukhubungan atau relasi yang ditransformasi dari diagram Venn. Seperti dalamdiagram Venn, dalam peta Karnaugh, minterm yang berbeda tepat 1 nilaivariabel diletakkan berdekatan.

Peta Karnaugh untuk fungsi mayoritas ditunjukkan pada Gambar 3.3.Setiap sel dalam peta Karnaugh bersesuaian dengan entri dalam fungsi tabelkebenaran dari fungsi yang sama, dan karena ada 8 entri dalam table kebe-naran maka ada8 sel dalam peta Karnaugh. Angka 1 dalam sel menunjukkannilai 1 (benar) dalam entri tabel kebenaran. Angka 0 diisikan pada sel lain-nya, namun untuk kejelasan angka 0 ini diganti dengan kosong saja. Labelyang tercantum di sisi atas dan kiri tersusun dalam bentuk kode Gray, yangmemastikan bahwa tepat 1 nilai variabel saja yang berubah di antara selyang berdekatan sepanjang sisi atas ataupun kiri.

A

1

C 1 1 1

B

Yohanes Suyanto

Page 58: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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 1yang bertetangga, sehingga dapat direduksi. Pengelompokan sel bertetanggadibuat sehingga membentuk persegi panjang dengan ukuran pangkat 2 sel,seperti 1, 2, 4, 8, dan seterusnya. Ukuran kelompok meningkat berarti lebihbanyak variabel yang dieliminasi, sehingga selalu diusahakan untuk mem-bentuk kelompok sebesa-besarnya.

Kita mulai proses reduksi dengan membuat kelompok 1-an yang tidakmasuk dalam kelompok yang lebih besar. Penentuan kriteria kebertetang-gaan menjadi penting, karena pengelompokan yang berbeda menghasilkanpersamaan yang berbeda pula. Contoh pengelompokan seperti Persamaan3.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 sedikit1 tetangga yang berisi 1, sehingga tidak ada kelompok yang berukuran 1sel. Untuk kelompok berukuran 2 sel, ternyata semua sel berisi 1 masukdalam kelompok berukuran 2 sel. Ada 1 sel yang merupakan anggota dari 3kelompok. Hal ini diperbolehkan mengingat sifat idempoten aljabar Boole.Dengan sifat komplemen variabel yang berbeda pada sel bertetangga akandieliminasi, dan menghasilkan persamaan minimal (Persamaan 3.14).

M = BC + AC + AB (3.14)

Suku BC dihasilkan dari penyederhanaan (ABC+ABC), yang direduksimenjadi BC(A + A dan kemudian menjadi BC. Suku AC dihasilkan dari

Yohanes Suyanto

Page 59: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

48 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL

penyederhanaan (ABC + ABC) dengan cara yang sama. Demikian pulasuku AB didapat dari (ABC + ABC). Rangkaian yang sesuai dengan hasilreduksi ini terlihat pada Gambar 3.5. Dibandingkan dengan Gambar 2.17jumlah gerbang berkurang dari 8 menjadi 4 dan jumlah masukan gerbangberkurang dari 19 menjadi 9.

A B C

F

Gambar 3.5: Fungsi mayoritas direduksi

Perhatikan pemilihan metode pengelompokan dengan mulai dari sel yangtidak dapat dimasukkan ke dalam kelompok yang lebih besar. Jika kitamulai dari kelompok paling besar terlebih dahulu hasilnya dapat berbedadan kurang minimal. Gambar 3.6 menunjukkan peta Karnaugh hasil pen-dekatan dengan mulai dari sel yang tidak dapat dimasukkan dalam kelompokyang lebih besar. Hasilnya ada 4 kelompok dengan anggota masing-masing2 sel. Gambar 3.7 menunjukkan proses reduksi dengan mulai dari kelompokterbesar terlebih dahulu. Hasilnya ada 5 kelompok, 1 berukuran 4 sel dan4 berukuran 2 sel. Jadi, persamaan minimal tidak dihasilkan jika diawalidengan mencari kelompok terbesar. Kedua persamaan pada kedua gambarmenghasilkan rangkaian yang secara logis benar. Namun demikian salah saturangkaian tidak menghasilkan rangkaian minimal.

Yohanes Suyanto

Page 60: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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 petaKarnaugh dapat dilipat secara horisontal dan vertikal, dan keempat sudutsecara logis bertetangga. Persamaan minimal yang sesuai juga tertera padagambar.

Yohanes Suyanto

Page 61: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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

Don’t care

Perhatikan peta Karnaugh pada Gambar 3.9. Isi sel berupa d artinya don’tcare, 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 = 1menyatakan kondisi saat elevator berada di lantai tertinggi, maka kedua kon-disi itu tidak mungkin terjadi bersamaan. Dengan demikian isian pada tabelkebenaran pada X = Y = 1 diisi dengan d.

A

1 d

1 1

D

1 1

C

d

B

Yohanes Suyanto

Page 62: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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 dianggap0, maka hasilnya

F = B C D +BD

Namun jika d di pojok kanan atas yang dianggap 0 dan d di kiri bawahdianggap 1, maka hasilnya

F = A B D +BD

Dengan demikian ada kemungkinan persamaan minimal untuk fungsi booleanbisa lebih dari satu. Dalam praktik, suatu persamaan lebih disukai daripadapersamaan 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. Perhatikancara pemberian label pada sisi atas. Ingat bahwa sel yang bertetanggaberbeda 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

Page 63: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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 ditunjukkanoleh Gambar 3.11. Peta Karnaugh dapat diperluas lagi untuk 7 variabelatau lebih, namun tampilannya akan susah dipahami. Oleh karena itu untukjumlah variabel lebih dari 4 lebih cocok menggunakan pendekatan algoritmisdan 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.14adalah bentuk minimal 2 level yang terdiri atas level AND (3 buah) danlevel OR (1 buah) sehingga membentuk SOP. Diagram yang sesuai denganitu adalah Gambar 3.1 yang mempunyai cacah gerbang masukan sebanyak9. 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

Page 64: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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 Gambar3.12 yang mempunyai gerbang masukan sebanyak 8, sehingga lebih sederhanadaripada rangkaian 2 level. Namun demikian rangkaian 3 level mempunyaitundaan gerbang yang lebih besar. Rangkaian 2 level mempunyai tundaandelay sebesar 2 karena ada 2 gerbang pada jalur terpanjang antara masukandan keluaran. Rangkaian pada Gambar 3.12 mempunyai tundaan gerbangsebesar 3.

Variabel isian peta

Bentuk yang lebih sederhana untuk menampilkan peta Karnaugh memu-ngkinkan mengisi variabel pada sel. Contohnya, perhatikan peta Karnaughyang ada pada Gambar 3.13. Hanya digunakan 8 sel walaupon ada 4 variabel,yang secara normal membutuhkan 24 = 16 sel. Variabel isian peta D diper-lakukan sebagai 1 untuk keperluan pengelompokan, yang dalam kasus ini seltersebut masuk dalam 1 kelompok sendiri karena tidak ada tetangga D yangbernilai 1. Hasil persamaan terreduksi ada pada gambar juga. Perhatikanbahwa variabel D muncul pada minterm A B C D, dan D diasumsikan berni-lai 0 atau 1, walaupun untuk keperluan pengelompokan D dianggap bernilai1.

A

D

C 1 1

B

Yohanes Suyanto

Page 65: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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 don’t care. Sel bernilai 1 diproses terlebih dahulu menghasilkanBC. Berikutnya variabelD diproses menghasilkan A C D. Variabel E giliranberikutnya, menghasilkan BE. Akhirnya variabel E diproses, menghasilkanA B C E. Perhatikan bahwa variabel isian dan komplemennya diprosesterpisah, seperti E pada contoh ini. Bentuk persamaan reduksi ada padaPersamaan 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 padafungsi dengan keluaran tunggal atau jamak. Metode tabulasi atau juga dike-nal dengan metodeQuine-McCluskey, membentuk perkalian yang berbedapada 1 variabel secara berturut-turut, dan kemudian dihasilkan himpunansuku terreduksi yang dapat mencakup semua fungsi keluaran. Proses inilebih mudah diimplementasikan pada komputer daripada metode peta, danhasil suku-suku reduksinya dapat digunakan oleh lebih dari 1 fungsi.

Reduksi fungsi tunggal

Tabel kebenaran pada Gambar 3.15 menggambarkan F yang merupakanfungsi 4 variabel A,B,C, dan D, yang menyertakan 3 don’t care. Prosesreduksi secara tabel dimulai dengan mengelompokkan minterm berdasarkanjumlah nilai 1-nya. Minterm 0000, tidak mempunyai nilai 1, sehingga di-jadikan grup tersendiri. Minterm 0001, 0010, 0100, dan 1000 mempunyai

Yohanes Suyanto

Page 66: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

3.1. Reduksi Ekspresi 2 Level 55

nilai 1 tunggal, tetapi hanya minterm 0001 yang menghasilkan 1, sehinggaminterm ini dijadikan grup lain.

A B C D F0 0 0 0 d0 0 0 1 10 0 1 0 00 0 1 1 10 1 0 0 00 1 0 1 10 1 1 0 10 1 1 1 11 0 0 0 01 0 0 1 01 0 1 0 11 0 1 1 d1 1 0 0 01 1 0 1 11 1 1 0 01 1 1 1 d

Gambar 3.15: Tabel kebenaran suatu fungsi dengan don’t care

Grup berikutnya adalah minterm dengan dua nilai 1, dan ada 6 kemungk-inan minterm yang mempunyai dua nilai 1, yang dapat masuk dalam grupini. Hanya minterm 0011, 0101, 0110, dan 1010 yang menghasilkan keluaran1, sehingga minterm inilah yang masuk dalam grup. Ada 3 minterm yangmenghasilkan keluaran 1 dan mempunyai tiga nilai 1, yaitu 0111, 1011, dan1110. 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 yangberbeda tepat 1 jumlah nilai 1-nya dapat digabung, seperti Gambar 3.16a.

Yohanes Suyanto

Page 67: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

56 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL

Keadaan awal Setelah reduksi I Setelah reduksi IIA B C D A B C D A B C D0 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 bedanilai tepat 1 variabel saja. Bentuk umum teorema konsensus dari Bab 2adalah:

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 untukmengambil keuntungan dari sifat invers dari aljabar Boole, mirip seperti yangdipergunakan pada peta Karnaugh. Misalnya, 0000 dan 0001 berbeda ni-lainya pada variabel D, sehingga 000 dimasukkan dalam daftar pada bagianatas tabel reduksi seperti terlihat pada Gambar 3.16b. Tanda garis bawah

Yohanes Suyanto

Page 68: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

3.1. Reduksi Ekspresi 2 Level 57

menunjukkan posisi variabel yang dieliminasi, dalam contoh ini D. Minterm0000 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 sukupada grup kedua, kemudian beralih untuk membentuk konsensus antaragrup kedua dan ketiga. Ada kemungkinan bahwa beberapa suku tidak da-pat dikombinasi menjadi suku yang lebih kecil karena berbeda pada lebihdari 1 variabel. Contohnya, suku 0001 dan 0011 dapat dikombinasi menjadisuku lebih kecil 00 1 namun 0001 dan 0110 tidak dapat dikombinasi karenaberbeda pada 3 variabel.

Sekali suku sudah ditandai dengan√, suku tersebut masih dapat diper-

gunakan untuk proses reduksi karena sifat idempotens. Tujuan dari langkahdalam proses ini adalah untuk menemukan semua kemungkinan suku terre-duksi, sehingga kita dapat menemukan himpunan terkecil suku yang masukdalam fungsi pada langkah berikutnya.

Proses berlanjut untuk grup-grup sisanya. Setiap suku yang tidak ter-cakup dalam pengelompokkan konsensus ditandai dengan asteris (∗) untukmenunjukkan bahwa ini adalah suku prime implicant. Pada Gambar 3.16aterlihat 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 variabelsaja. Garis bawah harus pada posisi yang sama. Entri pertama pada Gam-bar 3.16b mempunyai garis bawah pada kolom paling kanan, sehingga tidakada entri pada grup kedua yang cocok. Oleh karena itu entri ini ditandai de-ngan ∗, yang menunjukkan bahwa suku ini adalah prime implicant dan tidakdapat direduksi lagi. Kita beralih ke grup kedua dan ketiga pada Gambar3.16b. Suku 00 1 dan 01 1 dikombinasi menjadi suku 0 1 seperti terterapada Gambar 3.16c. Proses terus terlanjut hingga reduksi kedua lengkap.

Dalam penyusunan tabel reduksi pada Gambar 3.16c, prime implicantdari tabel sebelumnya (Gambar 3.16b) tidak diikutkan. Proses berlanjutsampai hanya tersisa prime implicant. Pada contoh ini, proses berhenti sete-lah reduksi kedua dan menghasilkan 3 suku tersisa sebagai prime implicantseperti pada Gambar 3.16c.

Setiap prime implicant dikumpulkan untuk menyusun fungsi, walaupunbelum minimal. Untuk meminimalkan suku-suku yang digunakan, disusuntabel pilihan seperti pada Gambar 3.17. Setiap prime implicant dibuat 1baris dalam table pilihan dan kolom berisi minterm dari fungsi asli yang harusdicakup. Kondisi don’t care tidak perlu dicakup sehingga tidak dimasukkandalam daftar.

Yohanes Suyanto

Page 69: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

58 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL

prime Mintermimplicant 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, makacari kolom yang hanya berisi 1 tanda cek. Tanda cek tunggal pada kolomberarti hanya ada 1 prime implicant yang mencakup minterm tersebut, danprime implicant yang mencakup minterm tersebut di tandai dengan ∗ yangmenunjukkan bahwa prime implicant ini adalah esensial dan harus digunakanatau 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 esensialdan mintermnya, seperti pada Gambar 3.18. Tabel pilihan terreduksi dapatberisi prime implicant esensial yang kemudian dikenai proses reduksi lagi,sampai tabel pilihan terreduksi hanya berisi prime implicant nonesensial.

Himpunan Minterm Himpunan 1 Himpunan 2pilihan 0001 0011 000 0 1

X 000√

11Y 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 untukF , yang terdiri atas prime implicant esensial dan prime implicant pilihan

Yohanes Suyanto

Page 70: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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 implicantdalam himpunan pilihan pada Gambar 3.18. Ekspresi logis ditulis untuksetiap kolom pada tabel pilihan terreduksi seperti berikut:

Kolom Penjumlahan0001 (X + Y)0011 (Y + Z)

Untuk mencari himpunan yang mencakup semua kolom, prime implicantdikelompokkan sehingga paling tidak setiap kolom ditandai sekali. Ini berartibahwa relasi berikut harus terpenuhi, dengan G adalah adalah suku dalamtabel 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 implicantyang 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 fungsijamak 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 dapatdigunakan bersama, dan kemudian memilih himpunanan terkecil yang men-cakup seluruh fungsi.

Sebagai contoh kita gunakan tabel kebenaran yang ada pada Gambar3.19 yang menunjukkan 3 fungsi dengan 3 variabel. Notasi mi menunjukkanminterm yang indeksnya i menurut tabel kebenaran.

Yohanes Suyanto

Page 71: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

60 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL

Minterm A B C F0 F1 F2

m0 0 0 0 1 0 0m1 0 0 1 0 1 0m2 0 1 0 0 0 1m3 0 1 1 1 1 1m4 1 0 0 0 1 0m5 1 0 1 0 0 0m6 1 1 0 0 1 1m7 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:

F0(A,B,C) = m0 +m3 +m7

F1(A,B,C) = m1 +m3 +m4 +m6 +m7

F2(A,B,C) = m2 +m3 +m6 +m7

Irisan dibentuk dengan membuat semua kombinasi fungsi seperti berikut:

F0,1(A,B,C) = m3 +m7

F0,2(A,B,C) = m3 +m7

F1,2(A,B,C) = m3 +m6 +m7

F0,1,2(A,B,C) = m3 +m7

Dengan menggunakan metode reduksi yang dijelaskan sebelumnya, dapatdisusun prime implicant untuk masing-masing fungsi:

Fungsi prime implicantF0 000, 11F1 0 1, 1 0, 11, 11F2 1F0,1 11F0,2 11F1,2 11, 11F0,1,2 11

Daftar prime implicant direduksi dengan mengeliminasi prime implicantyang sudah tercantum pada fungsi dengan orde yang lebih tinggi. Misalnya,11 muncul di F0,1,2, sehingga tidak perlu dicantumkan dalam fungsi yanglain. Demikian juga, 11 muncul di F1,2, dan tidak perlu dimunculkan di F1

ataupun F2. Demikian seterusnya, sehingga didapat:

Yohanes Suyanto

Page 72: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

3.1. Reduksi Ekspresi 2 Level 61

Fungsi prime implicantF0 000F1 0 1, 1 0F2 1F0,1 kosongF0,2 kosongF1,2 11F0,1,2 11

Kemudian dapat disusun tabel pilihan keluaran jamak seperti pada Gam-bar 3.20. Baris berisi prime implicant dan kolom menunjukkan minterm yangharus tercantum pada masing-masing fungsi. Baris akan diisi dengan × jikaprime implicant yang bersangkutan tidak dapat digunakan pada fungsi dikolom-kolom yang bersangkutan. Misalnya, prime implicant 000 digunakanoleh fungsi F0 tetapi tidak digunakan oleh fungsi F1 maupun F2, sehinggadaerah perpotongan baris 000 dan kolom F1 dan F2 diisi ×.

Minterm F0(A,B,C) F1(A,B,C) F2(A,B,C)Prime im-

plicantm0 m3 m7 m1 m3 m4 m6 m7 m2 m3 m6 m7

F0 ∗000 √ × × × × × × × × ×F1 ∗0 1 × × × √ √ × × × ×F1 ∗1 0 × × × √ √ × × × ×F2 ∗ 1 × × × × × × × × √ √ √ √F1,2 ∗11 × × × √ √ √ √F0,1,2 ∗ 11

√ √ √ √ √ √

Gambar 3.20: Tabel pilihan keluaran jamak

Bentuk minimal dari persamaan keluaran didapat dengan cara yang miripdengan proses reduksi tabular. Kita mulai dengan prime implicant esensial.Misalnya, minterm m0 pada fungsi F0 hanya dicakup oleh prime implicant000, sehingga 000 adalah esensial. Baris yang berisi 000 kemudian dihapusdari tabel, demikian juga kolom yang berisi tanda cek pada baris tersebut.Proses berlanjut sampai semua fungsi sudah tercakup atau tinggal primeimplicant nonesensial yang tersisa. Cara menentukan himpunan terkecil dariprim implicant yang mencakup semua fungsi adalah dengan cara yang sudahdijelaskan pada bagian sebelumnya.

Tanda asterisk pada Gambar 3.20 adalah prime implicant esensial. Padakasus ini, hanya ada satu prime implicant nonesensial (11 ) yang tersisa,tetapi semua mintermnya sudah terwakili oleh prime implicant esensial, se-

Yohanes Suyanto

Page 73: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

62 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL

hingga tidak perlu dibuat tabel reduksi. Persamaan terreduksinya menjadi:

F0(A,B,C) = A B C +BCF1(A,B,C) = AC + AC +BCF2(A,B,C) = B

Yohanes Suyanto

Page 74: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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 menggunakanpeta 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) dalambentuk minimum:

(a) SOP

(b) POS

3.5 Diberikan dua fungsi berikut, f dan g. Susunlah peta Karnaugh dancarilah ekspresi SOP minimal untuk f dan g!

f(A,B,C,D) = 1 jika dua atau lebih masukannya bernilai 1, selain ituf(A,B,C,D) = 0

g(A,B,C,D) = 1 jika banyaknya nilai 1 pada masukan adalahgenap (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 nilaidon′t care seperti di bawah ini. Buatlah dalam bentuk:

(a) sum-of -product

(b) product-of -sum

Yohanes Suyanto

Page 75: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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 disusuntabel kebenaran yang mengandung don′tcare? Jelaskan!

3.8 Multiplekser 4-ke-1 dapat dinyatakan dalam tabel kebenaran berikut:

A B F0 0 D0

0 1 D1

1 0 D2

1 1 D3

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 denganmenggunakan 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

Page 76: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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 2masukan bilangan 2 bit (A dan B) dan menghasilkan 3 keluaran yangsesuai dengan A = B, A > B, dan A < B. Keluaran bernilai 1 jikanilai sesuai dengan kondisi masukan, selain itu bernilai 0. Gunakangerbang 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 (C1 danC2) dan 1 masukan (D). Rangkaian ini mempunyai satu keluaran (Z)yang akan bernilai 1 jika C1 = C2 = 1. Untuk kondisi lainnya Z = 0jika C1 = C2 = 0; Z = D jika C1 = 1 dan C2 = 0; serta Z = D jikaC1 = 0 dan C2 = 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

AB

C

AC

Gambar 3.21:

(a) Cari bentuk minimum dari F.

Yohanes Suyanto

Page 77: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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, tentukanwaktu 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 Qsebagai fungsi yang minimum dari A, B, dan C.

3.21 Tentukan 4 bentuk fungsi rangkaian 2 level yang minimum untuk Pdan Q pada Gambar 2.40.

3.22 Gunakan metode tabulasi untuk mereduksi keluaran jamak berikut:

Minterm A B C D F0 F1 F2

m0 0 0 0 0 0 0 1m1 0 0 0 1 0 0 0m2 0 0 1 0 0 0 0m3 0 0 1 1 1 0 0m4 0 1 0 0 0 0 1m5 0 1 0 1 1 1 0m6 0 1 1 0 0 0 0m7 0 1 1 1 1 1 0m8 1 0 0 0 0 0 0m9 1 0 0 1 0 0 0m10 1 0 1 0 0 1 1m11 1 0 1 1 0 0 0m12 1 1 0 0 0 0 0m13 1 1 0 1 1 1 0m14 1 1 1 0 1 1 1m15 1 1 1 1 1 1 1

Yohanes Suyanto

Page 78: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

3.2. Soal Latihan 67

3.23 Rangkaian penjumlah tidak penuh (half-adder) mempunyai 2 masukandan menghasilkan 2 keluaran: satu sesuai dengan nilai jumlah sedanglainnya 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 danmenghasilkan 2 keluaran: satu sesuai dengan nilai jumlah ketiganyasedang lainnya sesuai dengan nilai simpanan. Rancang bentuk rangka-ian minimal penjumlah tersebut.

3.25 Desain sebuah penjumlah penuh dengan menggunakan half-adder dantambahan 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.

YY

XZ

F1

F2

Gambar 3.22:

Yohanes Suyanto

Page 79: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

68 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL

Yohanes Suyanto

Page 80: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

BAB 4

RANGKAIAN LOGIKADIGITAL SEKUENSIAL

Telah kita pelajari tentang unit logika kombinasional yang keluarannya hanyatergantung pada masukan saat itu atau dengan kata lain keluarannya meru-pakan fungsi dari masukan saja. Unit logika sekuensial atau sering disebutsebagai mesin keadaan berhingga (finite state machine, FSM), keluaran-nya bergantung pada masukan dan keluaran sebelumnya. FSM dibedakandengan CLU karena selain menghasilkan keluaran juga menghasilkan keadaan(state). Hal ini penting untuk implementasi rangkaian memori dan juga unitkendali pada komputer.

69

Page 81: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

70 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

Unit logikakombinasional

Q

Q

D

CK

Q

Q

D

CK

i0Input

...in

...

f0Output

...f1

...

SinyalSinkronisasi

Gambar 4.1: Model klasik dari FSM

Model klasik dari FSM tampak pada Gambar 4.1. Bagian CLU memilikimasukan dari jalur i0 − ik yang berasal dari luara FSM dan juga masukankeadaan s0 − sn yang berasal dari dalam FSM sendiri. CLU menghasilkanbit keluaran f0− fm dan bit keadaan terbaru. Dengan adanya elemen tundamaka keadaan sekarang bertahan terus sampai ada sinyal sinkronisasi yangmenyebabkan nilai Di menggantikan nilai si sebagai bit keadaan baru, karenadiambil dari Qi.

4.1 Flip-Flop S-R

Flip-flop adalah susunan gerbang logika yang menjaga keluaran tetap sta-bil walaupun masukan sudah tidak aktif. Keluaran flip-flop ditentukan olehnilai masukan dan juga nilai keluaran sebelumnya, sehingga unit logika kom-binasional tidak cukup untuk menangani hal ini. Flip-flop dapat digunakanuntuk menyimpan informasi bit tunggal, dan berlaku sebagai pembangunmemori komputer.

Jika kedua masukan pada gerbang NOR dua masukan bernilai 1, makakeluarannya akan 0, selain itu keluarannya akan 1. Seperti dibahas padabab sebelumnya, waktu yang diperlukan untuk menghasilkan keluaran darimasukan gerbang logika tidaklah seketika tetapi sebesar ∆τ yang merupakan

Yohanes Suyanto

Page 82: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

4.1. Flip-Flop S-R 71

waktu perambatan melalui gerbang logika. Waktu tunda ini kadang-kadangdimunculkan sebagai rangkaian tunda untuk keperluan analisis seperti Gam-bar 4.2. Waktu tunda ini secara normal tidak dimunculkan tetapi tetap ada.

AB ∆τ A+B

∆τ

Gambar 4.2: Gerbang NOR dengan rangkaian tunda

Waktu perambatan melalui gerbang NOR mempengaruhi operasi flip-flop. Perhatikan flip-flop set-reset (S-R) pada Gambar 4.3, yang berisi ger-bang NOR yang saling silang. Jika kita isikan 1 pad S, makaQ akan bernilai 0setelah waktu tunda ∆τ , yang menyebabkan Q bernilai 1 (dianggap R berni-lai 0) setelah waktu tunda 2∆τ . Akibatnya adalah selama penggalan waktutertentu ada waktu singkat sebesar ∆τ yang Q dan Q bernilai 0, yang secaralogis tidak dibenarkan, tetapi kondisi ini dapat diperbaiki dengan konfigurasituan-hamba (master-slave) yang akan kita bahas nanti. Jika kemudian Sdiisi dengan 0, maka Q tetap, sampai nilai R beranjak menjadi 1. Dengandemikian flip-flop S-R dapat menyimpan nilai bit tunggal dan dapat berlakusebagai elemen memori paling dasar.

S

R

Q

Q

QiSiRi

0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1

Qi+1

001

(dilarang)

101

(dilarang) ∆τ

Gambar 4.3: Flip-flop S-R dengan NOR

Jika diperhatikan lebih lanjut dari tabel kebenaran pada Gambar 4.3dapat disimpulkan bahwa jika:

1. S = 0, R = 0 maka Qi+1 = Qi (tetap seperti sebelumnya)

Yohanes Suyanto

Page 83: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

72 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

2. S = 0, R = 1 maka Qi+1 = 0

3. S = 1, R = 0 maka Qi+1 = 1

4. S = 1, R = 1 maka Qi+1 = Qi+1, nilai ini bertentangan dengan sifatflip-flop, yang seharusnya nilai Q berlawanan dengan nilai Q, sehinggadalam penggunaan, nilai S = R = 1 perlu dihindari.

Dari hasil di atas, penulisan tabel pada Gambar 4.3 dapat diringkas de-ngan mengganggap Si dan Ri sebagai masukan dan Qi+1 sebagai keluaran.Nilai dari Qi+1 merupakan fungsi dari Qi. Lihat Gambar 4.4.

Si Ri Qi+1

0 0 Qi

0 1 01 0 11 1 (terlarang)

Gambar 4.4: Tabel kebenaran Flip-flop S-R

Ada banyak cara untuk menyusun rangkaian sebuah flip-flop S-R. Peng-gunaan gerbang NOR yang saling silang untuk flip-flop S-R adalah hanyasalah satu cara. Dua gerbang NAND yang dihubungkan saling silang juga da-pat menghasilkan flip-flop S-R, dengan nilai S = R = 1 mengakibatkan kelu-aran tidak berubah. Dengan menggunakan teorema DeMorgan kita dapatmengubah gerbang NOR dalam flip-flop S-R menjadi gerbang AND sepertidalam Gambar 4.5. Dengan penggeseran gelembung, maka gerbang ANDdapat diubah menjadi gerbang NAND. Penggeseran gelembung pada S danR 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-flop S-R dengan NAND

4.2 Flip-flop S-R Berdetak

Perlu diketahui bahwa masukan ke flip-flop S-R dapat berasal dari keluaranrangkaian lain, dalam bentuk rangkaian logika berjenjang. Hal ini biasa ter-jadi pada rangkaian logika konvensional. Masalahnya adalah transisi dapatterjadi pada waktu yang tidak diinginkan.

Yohanes Suyanto

Page 84: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

4.2. Flip-flop 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 mencapaigerbang XOR sebelum A dan B keluar dari gerbang AND. Akibatnya nilai Sakan 1 walaupun sebentar sampai keluaran dari gerbang AND sudah mantapdan dioperasian XOR dengan C. Jika nilai 1 pada S bertahan cukup lamamaka akan mengakibatkan nilai yang tersimpan dalam flip-flop bisa berubah.

R

Q

Q

C

AB

S

A

B

C

AB

S

R

Q

Q

Diagram waktu

Gambar 4.6: Rangkaian yang mengandung hazard

Jika keadaan akhir dari flip-flop sensitif terhadap kedatangan sinyal makadapat menimbulkan glitch, yang sebenarnya merupakan keadaan atau keluranyang tidak diinginkan. Rangkaian yang dapat menghasilkan glitch disebutrangkaian yang mengandung hazard.

Untuk menyelaraskan pengendalian terhadap rangkaian yang tergantungpada keadaan (misalnya flip-flop) maka digunakanlah detak (clock) yangakan mengaktifkan rangkaian dalam selang waktu tertentu secara serentak.Rangkaian detak menghasilkan sinyal 1 dan 0 bergantian terus menerusdengan periode waktu yang tetap sehingga membentuk gelombang kotakseperti Gambar 4.7. Waktu yang diperlukan detak untuk naik, turun dankemudian mulai naik lagi disebut waktu siklus atau periode. Gelombangkotak yang ditampilkan pada gambar tersebut adalah bentuk gelombang de-tak ideal. Dalam kenyataannya, gelombang tersebut tidak berbentuk persegitetapi membulat karena perlu waktu untuk menjadi tinggi dan rendah, tidak

Yohanes Suyanto

Page 85: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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 siklussebesar 25 ns/siklus berarti kecepatannya adalah 1/25 siklus/ns, yang samadengan 40.000.000 siklus per detik atau 40 MHz.

Kita dapat menggunakan sinyal detak untuk menghilangkan hazard de-ngan membuat flip-flop S-R berdetak, yang dapat dilihat pada Gambar refg-brffsrdetak. Simbol CLK berarti clock atau detak. Sekarang S dan R tidakdapat mengubah keadaan hingga detak bernilai tinggi. Dengan demikian Sdan R dibuat mantap dahulu pada posisi detak rendah, baru kemudian detakmenjadi tinggi dan nilai yang stabil akan tersimpan dalam flip-flop.

Q

Q

S

R

CLK

2∆τDiagram waktu

S

R

CLK

Q

Q

Gambar 4.8: Flip-flop S-R berdetak

4.3 Flip-flop D dan konfigurasi tuan-hamba

Kelemahan dari flip-flop S-R adalah bahwa untuk menyimpan nilai 1 atau 0,kita harus mengisi 1 pada S atau R. Konfigurasi alternatif untuk menyimpannilai 1 atau 0 adalah dengan menggunakan flip-flop D seperti pada Gambar

Yohanes Suyanto

Page 86: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

4.3. Flip-flop D dan konfigurasi tuan-hamba 75

4.9. Flip-flop D disusun dari flip-flop yang dipasangi pembalik antara ma-sukan S dan R. Dengan demikian ketika detak bergerak naik, maka nilaipada jalur D akan disimpan. Tabel kebenaran dari flip-flop D ini tampakpada Gambar 4.10.

Q

Q

D

CLK

Rangkaian

Q

Q

D

CK

Simbol

2∆τDiagram waktu

D

CLK

Q

Q

Gambar 4.9: Flip-flop D. Simbol CLK menunjukkan clock atau detak.

Dn Qn+1

0 01 1a. versi 1

Dn Qn+1

0 Dn

1 Dn

b. versi 2

Gambar 4.10: Tabel kebenaran untuk flip-flop D. Nilai keluaran sama dengannilai masukan pada detak sebelumnya.

Flip-flop biasa digunakan pada rangkaian yang mempunyai umpan ba-lik dari keluaran kembali ke jalur masukan melalui rangkaian lain. Halini kadang-kadang menyebabkan keadaan flip-flop berubah lebih dari sekalidalam satu siklus detak. Untuk memastikan bahwa dalam satu siklus hanyaterjadi 1 perubahan keadaan pada flip-flop, kita cegat kalang umpan balikdengan membentuk flip-flop tuan-hamba seperti Gambar 4.11.

Yohanes Suyanto

Page 87: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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-flop tuan-hamba

Flip-flop tuan-hamba berisi 2 flip-flop yang disusun berurutan dengandetak untuk flip-flop kedua dipasang pembalik. Flip-flop tuan akan berubahsaat detak tinggi, tetapi flip-flop hamba tidak berubah sampai detak ren-dah. Dengan demikian diperlukan detak naik kemudian turun untuk me-mindahkan isi jalur D pada flip-flop tuan ke keluaran Qs pada flip-flophamba. Simbol segitiga pada flip-flop 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 konfigurasi seperti Gambar 4.11 berlakubahwa perubahan terjadi saat detak turun (dari 1 ke 0).

Flip-flop picuan level keadaan berubah terus-menerus selama detak berni-lai tinggi (atau rendah tergantung desain flip-flop). Flip-flop picuan tepiberubah hanya saat terjadi perubahan detak dari tinggi-ke-rendah atau darirendah-ke-tinggi. Beberapa buku tidak memasang simbol segitiga pada ma-sukan detak. Untuk membedakan antara flip-flop picuan level atau picuantepi digunakan cara lain. Penggunaan simbol segitiga membuat tipe flip-flopmenjadi jelas.

4.4 Flip-flop JK dan T

Selain flip-flop S-R dan D, flip-flop J-K juga termasuk flip-flop yang cukupterkenal. Flip-flop J-K mempunyai kelakuan yang mirip dengan flip-flop S-Rkecuali bahwa flip-flop ini akan mempunyai keluaran Q=1 untuk J=1 danK=0. Saat J=0 dan K=1 maka keluarannya Q=0. Jika J dan K bernilai1, maka nilai keluaran akan berkebalika dengan nilai keluaran sebelumnya.Namun untuk J dan K sama-sama bernilai 0, keluaran akan tetap. Diagram

Yohanes Suyanto

Page 88: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

4.4. Flip-flop JK dan T 77

logika dan simbol untuk flip-flop J-K dan T terlihat pada Gambar 4.12 dan4.14. Tabel kebenaran flip-flop J-K ada pada Gambar 4.13 sedang tabelkebenaran untuk flip-flop T ada pada Gambar 4.15.

Q

Q

J

CLK

K

Rangkaian

Q

Q

J

K

CKCK

Simbol

Gambar 4.12: Flip-flop J-K dan simbolnya

Jn Kn Qn Qn+1

0 0 0 00 0 1 10 1 0 00 1 1 01 0 0 11 0 1 11 1 0 11 1 1 0a. versi lengkap

Jn Kn Qn+1

0 0 Qn

0 1 01 0 1

1 1 Qn

b. versi ringkas

Gambar 4.13: Tabel kebenaran untuk flip-flop J-K. Nilai J=1 dan K=1 diper-bolehkan.

Q

Q

J

K

CKCK

Q

Q

T1

T

Gambar 4.14: Flip-flop T dan simbolnya

Yohanes Suyanto

Page 89: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

78 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

T Qn Qn+1

0 0 00 1 11 0 11 1 0a. versi lengkap

T Qn+1

0 Qn

1 Qn

b. versi ringkas

Gambar 4.15: Tabel kebenaran untuk flip-flop T.

Permasalahan pada saat dioperasikan dalam mode bergantian maka jika Jdan K keduanya bernilai tinggi dan detak juga tinggi, flip-flop dapat bergan-tian nilainya lebih dari satu kali sampau detak menjadi rendah. Situasi inimerupakan salah satu alasan penggunaan konfigurasi tuan-hamba. Diagramskematik untuk flip-flop J-K tuan-hamba, terlihat pada Gambar 4.16.

J

CLK

K

Rangkaian

Q

Q

Q

Q

J

KCKCK

Simbol

Gambar 4.16: Flip-flop J-K tuan-hamba dan simbolnya

4.5 Desain Mesin Keadaan Berhingga

Kita lihat lagi model klasik mesin keadaan berhingga atau finite state ma-chine (FSM) pada Gambar 4.1. Elemen penunda dapat diimplementasi de-ngan flip-flop tuan-hamba dan sinyal sinkronikasi dengan detak. Umumnya,untuk implementasi umpan balik digunakan flip-flop. Perlu diketahui bahwakita dapat melabeli flip-flop menurut kemauan kita, asal artinya jelas. PadaGambar 4.1 posisi masukan Di dan keluaran Qi saling dipertukarkan dariposisi normal yang kita bahas sebelumnya.

Yohanes Suyanto

Page 90: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

4.5. Desain Mesin Keadaan Berhingga 79

PencacahSinkron3-bit

Reset0 0 0 1 q0 0 1 0 0q1 0 1 0 1s0 Q

Q

D

CK

CKs1 Q

Q

D

CK

CKCLK

Gambar 4.17: Pencacah modulo 4

Misalnya, FSM pencacah sinkron modulo 4 mencacah dari 00 hingga 11dan berulang lagi. Diagram blok FSM pencacah sinkron ditunjukkan padaGambar 4.17. Fungsi RESET (logika positif) mengakibatkan nilai keluaranq0q1 adalah 00 jika diaktifkan. Keluaran akan berurutan sesuai nilai padajalur q0 dan q1 pada waktu yang bersesuaian dengan detak. Setiap nilai barukeluaran muncul, maka nilai umpan balik s0s1 juga berubah.

Kita perhatikan bahwa desain pencacah dapat dilakukan dengan mendaf-tar semua kemungkinan masukan dan keluaran yang terjadi pada 4 jalur q1q0dan keadaan s1s0. Berdasarkan daftar tersebut kemudian dibuat rangkaianlogika kombinasional yang merupakan implementasi pencacah. Dua flip-flopdigunakan untuk mecatat bit keadaan.

Bagaimana kita tahu bahwa dibutuhkan 2 bit sebagai pencacat keadaanuntuk umpan balik? Kenyataannya adalah bahwa kita tidak tahu dari awaljumlah bit yang dibutuhkan untuk mencatat keadaan, sehingga untuk ba-hasan berikutnya kita akan melihat pendekatan yang lebih umum dalamperancangan mesin keadaan berhingga. Untuk pencacah kita dapat mu-lai dari penyusunan diagram transisi keadaan seperti Gambar 4.18 dengankeadaan A sampai dengan D dan garis berarah menunjukkan transisi. Dalamkasus ini keadaan A untuk nilai pencacah 00, B untuk 01, C untuk 10, danD untuk 11.

Yohanes Suyanto

Page 91: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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 akanberpindah ke keadaan B dan menghasilkan keluaran 01. Jika RESET bernilai1, FSM tetap pada keadaan A dan menghasilkan keluaran 00. Mirip denganini, jika FSM di keadaan B, akan berpindah ke keadaan C dengan keluaran10 jika RESET 0, jika tidak akan kembali ke keadaan A dengan keluaran00. Demikian juga untuk keadaan yang lain, dapat diinterpretasikan dengancara yang sama.

Sekali kita berhasil membuat diagram transisi keadaan, kita dapatmenulisnya dalam bentuk tabel keadaan seperti Gambar 4.19. Keadaansekarang 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 barimisalnya keadaan sekarang B dan masukan kondisi adalah 0, maka keadaanberikutnya adalah C dan keluaran berikutnya adalah 10.

Masukan RESETKeadaansekarang 0 1

A B/01 A/00B C/10 A/00C D/11 A/00D 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

Page 92: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

4.5. Desain Mesin Keadaan Berhingga 81

untuk mengkodekan keadaan menjadi biner secara unik. Kita tentukan sajapengkodeannya: A = 00, B = 01, C = 10, dan D = 11, dan menggantisetiap label A,B,C, dan D dengan kode keadaannya, seperti pada Gam-bar 4.20. Dalam praktiknya, penetapan kode keadaan ini akan berpengaruhterhadap bentuk rangkaian akhir, namun secara logika pengkodean ini men-gakibatkan hasil akhir yang sama.

Masukan RESETKeadaansekarang 0 1

A:00 01/01 00/00B:01 10/10 00/00C:10 11/11 00/00D: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 keadaanberikutnya dan fungsi keluaran seperti pada Gambar 4.21. Subskrip un-tuk variabel keadaan menunjukkan waktu. Keadaan sekarang ditulis de-ngan st dan keadaan berikutnya ditulis dengan st+1. Biasanya subskripini diabaikan dengan pengertian bahwa ruas kanan dari persamaan memuatkeadaan sekarang dan ruas kiri memuat keadaan berikutnya. Perlu dicatatbahwa s0(t+1) = q0(t+1) dan s1(t+1) = q1(t+1), sehingga cukup diimple-mentasikan s0(t+ 1) dan s1(t+ 1) saja sedang q0(t+ 1) dan q1(t+ 1) dapatdiambil langsung padanya.

Yohanes Suyanto

Page 93: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

82 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

RESET

r(t) s1(t) s0(t) s1s0(t + 1) q1q0(t+ 1)

0 0 0 01 010 0 1 10 100 1 0 11 110 1 1 00 001 0 0 00 001 0 1 00 001 1 0 00 001 1 1 00 00

s0(t+ 1) = r(t) s1(t) s0(t) + r(t) s1 s0(t)

s1(t+ 1) = r(t) s1(t) s0(t) + r(t) s1 s0(t)

q0(t+ 1) = r(t) s1(t) s0(t) + r(t) s1 s0(t)

q1(t+ 1) = r(t) s1(t) s0(t) + r(t) s1 s0(t)

Gambar 4.21: Tabel kebenaran untuk keadaan berikutnya dan fungsi kelu-aran pencacah modulo-4

Akhirnya, kita implementasikan keadaan berikutnya dan fungsi keluarandengan menggunakan gerbang logika dan flip-flop D tuan-hamba untuk vari-abel keadaan seperti pada Gambar 4.22.

Reset

q1

q0

Q

Q

D

CK

CK

Q

Q

D

CK

CK

CLK

Gambar 4.22: Desain logika untuk pencacah modulo-4

Yohanes Suyanto

Page 94: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

4.6. Contoh: Detektor Urutan 83

4.6 Contoh: Detektor Urutan

Contoh lain, kita akan merancang mesin yang mengeluarkan nilai 1 saat 2dari 3 masukan terakhir bernilai 1. Contohnya, masukan dengan urutan011011100 mengeluarkan hasil dengan urutan 001111010. Ada satu jalurmasukan seri dan kita asumsikan bahwa pada awalnya tidak ada masukan.Untuk kasus ini, kita akan menggunakan flip-flop 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/01/1

Gambar 4.23: Diagram transisi keadaan untuk detektor urutan

Kita mulai dengan menyusun diagram transisi keadaan, seperti padaGambar 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 Cbaru 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 atauC. Setelah masuk pada keadaan D,E, F, atau G maka sistem akan berkutatdi keadaan ini saja. Keadaan D akan dikunjungi saat dua masukan terakhirbernilai 00. Keadaan E, F, dan G dikunjungi jika dua masukan terakhiradalah 01, 10, dan 11.

Masukan xKeadaansekarang

0 1

A B/0 C/0B D/0 E/0C F/0 G/0D D/0 E/0E F/0 G/1F D/0 E/1G F/1 G/0

Gambar 4.24: Tabel keadaan detektor urutan

Yohanes Suyanto

Page 95: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

84 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

Langkah berikutnya adalah membuat tabel keadaan seperti tertera padaGambar 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 kebenaranuntuk keadaan berikutnya dan fungsi keluaran. Lihat Gambar 4.25b. Duabaris terakhir pada tabel berisi keadaan 111, yang dalam praktiknya tidakakan pernah muncul, karena keadaan 111 untuk kasus ini tidak ada. Dengandemikian keadaan berikutnya dan keluaran pada 2 baris tersebut tidak perludiperhatikan, dan ditulis sebagai ’d’ yang berarti don’t care, abaikan saja.

s2 s1 s0 x s2 s1 s0 zMasukan X 0 0 0 0 0 0 1 0

Keadaansekarang

0 1 0 0 0 1 0 1 0 0

A:000 001/0 010/0 0 0 1 0 0 1 1 0B:001 011/0 100/0 0 0 1 1 1 0 0 0C:010 101/0 110/0 0 1 0 0 1 0 1 0D:011 011/0 100/0 0 1 0 1 1 1 0 0E:100 101/0 110/1 0 1 1 0 0 1 1 0F:101 011/0 100/1 0 1 1 1 1 0 0 0G: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 11 1 0 0 1 0 1 11 1 0 1 1 1 0 01 1 1 0 d d d d1 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 flip-flopuntuk setiap variabel keadaan, sehingga seluruhnya perlu 3 flip-flop. Ada 3fungsi keadaan berikutnyadan 1 fungsi keluaran, sehingga kita membutuhkan4 MUX. Pemilihan s2, s1, dan s0 sebagai pengendali MUX merupakan pilihanbegitu saja. Pilihan kombinasi lain juga dapat digunakan.

0x

1x

1x

10

000001010011100101110111

QD

CK

x

xx

xx

xx

0

000001010011100101110111

QD

CK

x

xx

xx

xx

0

000001010011100101110111

QD

CK

x

xx

xx

xx

0

000001010011100101110111

CLK

Gambar 4.26: Diagram logika detektor urutan

Yohanes Suyanto

Page 96: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

4.7. Contoh: Pengendali mesin penjualan 85

4.7 Contoh: Pengendali mesin penjualan

Kita akan merancang pengendali mesin penjualan menggunakan flip-flop 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 nilaiyang dimasukkan sama atau lebih besar dari Rp 400, maka mesin akan men-geluarkan barang dagangan, dan mengembalikan uang kelebihan, kemudianmenunggu transaksi berikutnya.

ARp 0

BRp 100

CRp 200

DRp 300

L/110

L/111,D/100

D/000 S/000S/000

S/000 D/000

L/101 L/111

D/110S/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. Dikeadaan A, belum ada koin yang dimasukkan, sehingga uang yang masukadalah Rp 0. Jika koin seratusan atau duaratusan dimasukkan maka keadaanakan berubah ke B atau C. Jika koin limaratusan yang dimasukkan makauang yang masuk sejumlah Rp 500. Mesin akan mengeluarkan barang da-gangan dan mengeluarkan kembalian koin seratusan, dan keadaan tetap diA. 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 keA atau B.

Perhatikan saat koin limaratusan dimasukkan pada keadaan D. Mestinyamesin akan mengeluarkan barang dagangan, mengembalikan Rp 400, dankembali ke A, tetapi menurut diagram tersebut mesin akan mengeluarkanbarang, mengembalikan Rp 300, dan menuju ke keadaan B. Mesin tetapmenahan uang sebesar Rp 100.

Yohanes Suyanto

Page 97: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

86 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

Masukan S D L Masukan S D LK.S. 00 01 10 K.S. 00 01 10

A B/000 C/000 A/110 A:00 01/000 10/000 00/110B C/000 D/000 A/101 B:01 10/000 11/000 00/101C D/000 A/100 A/111 C:10 11/000 00/100 00/111D A/100 A/110 B/111 D:11 00/100 00/110 01/111

Gambar 4.28: (a) Tabel keadaan pengendali mesin penjualan (b) penetapankode keadaan pengendali mesin penjualan

Dari diagram transisi keadaan dapt disusun tabel keadaan seperti padaGambar 4.28a. Kemudian dapat ditentukan kode keadaan untuk simbol S, D,dan L dalam bentuk biner, seperti pada Gambar 4.28b. Akhirnya, kita buatdiagram rangkaiannya seperti Gambar 4.29a. Kode keadaan terdiri atas 2 bitsehingga diperlukan 2 flip-flop D. Empat masukan pada PLA digunakan 2 bituntuk keadaan sekarang dan 2 bit koin x1x0. PLA menghasilkan 5 keluaranuntuk 2 bit keadaan berikutnya, bit pengeluaran barang, dan bit kembalianseratusan dan duaratusan. Kita asumsikan bahwa pemasukan koin dianggapmasukan dan detak juga.

Rancangan PLA pada Gambar 4.29a, dapat diikuti prosesnya denganmelihat Gambar 4.29b dan 4.29c, yang disusun secara manual. Namun untukkasus yang kompleks biasanya menggunakan alat bantu komputer.

Yohanes Suyanto

Page 98: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

4.8. Mesin Mealy dan Moore 87

5 × 5

PLA

x1x0

z2z1z0s1

Q

Q

D

CK

CK

s0

Q

Q

D

CK

CK CLK

(a)

s1 s0 x1 x0

s1 s0 z2 z1 z0

(c)

desimal s1s0x1x0 s1s0z2z1z00123456789101112131415

0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1

0 1 0 0 01 0 0 0 00 0 1 1 0d d d d d1 0 0 0 01 1 0 0 00 0 1 0 1d d d d d1 1 0 0 00 0 1 0 00 0 1 1 1d d d d d0 0 1 0 00 0 1 1 00 1 1 1 1d 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 flip-floppicuan tepi surut, maka perubahan keadaan hanya terjadi saat tepi surutpada detak. Apapun perubahan yang terjadi pada masukan tidak mempu-nyai efek terhadap keadaan selama detak rendah. Masukan langsung meng-hasilkan keluaran tanpa melewati flip-flop. Dengan demikian perubahan ma-sukan dapat mengakibatkan perubahan keluaran, tanpa memperhatikan de-tak dalam keadaan rendah atau tinggi. Pada Gambar 4.29, perubahan salahsatu masukan x1 atau x0 dapat mengakibatkan perubahan keluaran z2z1z0tanpa tergantung pada detak. Model seperti ini dinamakan model FSMMealy.

Dalam model Mealy, keluaran berubah segera setelah masukan berubah,sehingga tidak ada tundaan yang diakibatkan oleh detak. Pada model FSMMoore, keluaran menyatu pada bit keadaan, sehingga perubahan keluaran

Yohanes Suyanto

Page 99: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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 sepertipada Gambar 4.30. Mesin ini mencacah dari 0 sampai dengan 3 dan berulangdari 0 lagi, mirip dengan pencacah modulo-4. Mesin hanya mencacah jika x =1, jika tidak mesin akan bertahan pada keadaan sekarang. Perlu diperhatikanbahwa keluaran menyatu pada variabel keadaan, sehingga tidak ada jalurlangsung antara masukan dan keluaran yang tidak melewati flip-flop.

00 01

1011

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

1z0

z1

CLK

Gambar 4.30: FSM Moore pencacah biner 2 bit

Model Mealy dianggap lebih berdaya guna daripada model Moore sebabsatu detak saja dapat mengakibatkan perubahan keluaran suatu mesin. Pe-rubahan keluaran ini dapat mengubah keluaran mesin lain, jika dihubungkandengan masukan mesin lain tersebut, demikian seterusnya. Dalam modelMoore, 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. Olehkarena itu, analisis dan pelacakan kesalahan dapat ditelusuri bagian perbagian dengan lebih mudah. Pada praktiknya kedua model ini digunakan.

4.9 Register

Informasi yang terdiri atas bit tunggal tersimpan dalam flip-flop D. SejumlahN bit informasi membentuk satu word dengan panjang N -bit dapat disim-

Yohanes Suyanto

Page 100: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

4.9. Register 89

pan dalam N flip-flop D. Contoh word dengan panjang 4-bit dapat dilihatpada Gambar 4.31. Susunan flip-flop yang digunakan untuk menyimpan datadisebut register. Dalam konfigurasi pada gambar tersebut data masukan Di

dimasukkan ke register saat jalur Write dan Enable tinggi, sinkron dengandetak.

QD

CK

Q3

D3

QD

CK

Q2

D2

QD

CK

Q1

D1

QD

CK

Q0

D0

WRCLREN

Gambar 4.31: Register 4-bit

Isi register dapat dibaca pada keluaran Qi hanya saat jalur Enable tinggi,karena buffer tiga keadaan terputus secara elektronis saat Enable rendah.Kita sederhanakan penggambaran register menjadi seperti Gambar 4.32.

CK

WR

EN

D3 D2 D1 D0

Q3 Q2 Q1 Q0

Gambar 4.32: Register 4-bit disederhanakan

Register geser akan menggeser isi pada setiap flip-flop ke flip-flop sesudah-nya, dan menerima masukan pada ujung masukan serta memuntahkan isinyapada ujung keluaran, sehingga memungkinkan untuk disusun secara bersam-bungan. Perhatikan register geser pada Gambar 4.33. Register dapat digeserke kiri, digeser ke kanan, menerima masukan secara paralel, atau dibiarkanisinya tetap, semunya sinkron dengan detak. Fasilitas pemasukan paralel danpembacaan paralel memungkinkan register geser berfungsi sebagai pengubahserial ke paralel atau pengubah paralel ke serial.

Yohanes Suyanto

Page 101: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

90 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

QD

CK

Q3

D3

QD

CK

Q2

D2

QD

CK

Q1

D1

QD

CK

Q0

D0

c0

c1 CLKEN

c1

c0

output geser kiri

Input

geser kanan

Input geser kanan

Output

geser kanan

Kendalic1 c0

0 00 11 01 1

Tetap

Geser kiriGeser kananMuat paralel

Fungsi

Input geser kananOutput geser kiri

c0c1

D3D2D1D0

Q3Q2Q1Q0

Output geser kanan

Input geser kiri

Gambar 4.33: Register geser

4.10 Pencacah

Pencacah adalah bentuk lain dari register yang keluarannya mempunyai poladalam rentang bilangan biner tertentu. Gambar 4.34 menunjukkan konfig-urasi pencacah modulo 8 dengan pola biner tiap langkah adalah: 000, 001,010, 011, 100, 101, 110, 111 dan diulang lagi. Tiga flip-flop J-K ditempatkandalam mode bergantian, dan setiap masukan detak dioperasikan AND de-ngan keluaran Q sebelumya, mengakibatkan frekuensi detak baru sebesarsetengahnya. Detak ini akan memicu pada flip-flop berikutnya, demikianseterusnya. Hasilnya adalah setiap flip-flop Fi akan mengasilkan keluaranQi dengan frekuensi frac12i. Jika pola Qi dengan i = 2 sampai dengan 0disusun hasilnya adalah 000, 001, ... ,111.

Yohanes Suyanto

Page 102: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

4.11. Soal Latihan 91

Q

Q

J

K

CKCK

1

Q2

Q

Q

J

K

CKCK

1

Q1

Q

Q

J

K

CKCK

1

Q0

CLKEN

RESET

PENCACAH MOD(8)

ENABLE

RESET Q1Q2 Q0

Gambar 4.34: Pencacah modulo 8

Dalam rangkaian tersebut juga ditambahkan jalur RESET tak sinkron,yang akan melakukan pengisian 000 pada pencacah, dan tidak tergantungpada keadaan, jalur detak, maupun jalur EN . Selain flip-flop pada LSB,keadaannya berubah karena keadaan flip-flop tetangganya, tidak sekedarkarena detak. Rangkaian ini mirip dengan Gambar 4.22 tetapi lebih mudahdiperluas menjadi ukuran yang lebih besar karena tinggal menghubungkankeluaran dari MSB unit ini ke masukan LSB unit berikutnya.

4.11 Soal Latihan

4.1 Ada 2 buah flip-flop JK tuan-hamba Q1 dan Q2. Keluaran dari Q1

dihubungkan masing-masing ke J dan K pad Q2 dan keluaran dariQ2 dihubungkan masing-masing ke J dan K pada Q1. Keadaan awalQ1 = 1 dan Q2 = 1. Gambar diagram waktu yang menunjukkanhubungan tuan-hamba untuk masing-masing flip-flop. Apa keuntungandari formasi ini?

4.2 Tunjukkan bahwa flip-flop JK dapat diubah menjadi flip-flop D denganmemasang pembalik di antara masukan J dan K!

4.3 Rancanglah rangkaian logika sekuensial yang sesuai dengan diagramkeadaan berikut. Gunakan flip-flop SR.

Yohanes Suyanto

Page 103: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

92 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

4.4 Gambarlah rangkaian sekuensial dengan menggunakan 2 buah flip-flopyang persamaan masukannya adalah:

JA = Bx KA = BxJB = x KB = A⊕ x

Yohanes Suyanto

Page 104: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

BAB 5

PENCACAH

Sebuah flip-flop mempunyai 2 keadaan yaitu keadaan 0 (RESET) dan 1(SET). Dengan demikian sederetan N buah flip-flop mempunyai 2N keadaanyang berbeda. Di dalam penggunaannya sebagai pencacah pulsa, setiap satukeadaan (dari 2N keadaan) digunakan untuk menyatakan sudah berapa jum-lah pulsa yang masuk pada pencacah. Dengan demikian hubungan antaraflip-flop satu dengan lainnya harus sedemikian rupa sehinga keadaannya akanberubah secara berurutan setiap kali ada pulsa masuk. Kalau jumlah pulsasudah 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 yangmasuk, sedang keadaan pencacah ditentukan oleh keluaran dari flip-flop pem-bentuknya yaitu QA, QB, QC , QD, . . . , akan lebih mudah jika harga dariQAQBQCQD . . . sebagai bilangan biner digunakan untuk menyatakan jum-lah pulsa yang tercacah, seperti yang terlihat pada Tabel 5.1. Pencacahmodulo-16 disebut juga sebagai pencacah biner 4 bit, pencacah modulo-8disebut pencacah biner 3 bit, sedang pencacah modulo-10 disebut denganpencacah desimal.

93

Page 105: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

94 5. PENCACAH

Tabel 5.1: Beberapa jenis pencacah.

Jumlah pulsaModulo-16 Modulo-8 Modulo-10 Modulo-6

QA QB QC QD QA QB QC QA QB QC QD QA QB QC

0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 0 0 0 1 0 0 1 0 0 0 1 0 0 12 0 0 1 0 0 1 0 0 0 1 0 0 1 03 0 0 1 1 0 1 1 0 0 1 1 0 1 14 0 1 0 0 1 0 0 0 1 0 0 1 0 05 0 1 0 1 1 0 1 0 1 0 1 1 0 16 0 1 1 0 1 1 0 0 1 1 0 0 0 07 0 1 1 1 1 1 1 0 1 1 1 dst.8 1 0 0 0 0 0 0 1 0 0 09 1 0 0 1 dst. 1 0 0 110 1 0 1 0 0 0 0 011 1 0 1 1 dst.12 1 1 0 013 1 1 0 114 1 1 1 015 1 1 1 116 0 0 0 0

5.1 Pencacah Sinkron

Pada pencacah sinkron perubahan keluaran setiap flip-flop terjadi secaraserentak karena pulsa masukan yang akan dicacah dihubungkan pada ma-sukan detak pada setiap flip-flop, sehingga pulsa masukan berfungsi sebagaipulsa detak. Dengan demikian untuk menghubungkan flip-flop satu denganflip-flop yang lain dilakukan dengan mengatur masukan pada setiap flip-flopagar perubahan keluarannya sesuai dengan tabel pencacahnya. (Tabel 5.1).

Oleh karena itu pada bab ini hanya akan dibicarakan pembentukan pen-cacah dengan menggunakan flip-flop J-K atau T. Untuk mengingatkan kem-bali pengaturan masukan pada flip-flop ditulis lagi tabel kebenaran dari flip-flop J-K dan T seperti terlihat pada Tabel 5.2.

Tabel 5.2: Tabel kebenaran flip-flop J-K dan TJn Kn Qn Qn+1 Tn Qn Qn+1

0 0 0 0 0 0 00 0 1 1 0 1 10 1 0 0 1 0 10 1 1 0 1 1 01 0 0 11 0 1 11 1 0 11 1 1 0

(a) (b)

Yohanes Suyanto

Page 106: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

5.1. Pencacah Sinkron 95

Dari Tabel 5.2.a terlihat bahwa agar keluaran flip-flop J-K berubah dari0 → 0, nilai Jn harus 0 sedangkan Kn boleh 0 atau 1. Rangkuman daripenentuan nilai J dan K atau T terlihat pada Tabel 5.3.

Tabel 5.3: Tabel penetapan nilai J-K dan TQn Qn+1 Jn Kn Qn Qn+1 Tn

0 −→ 0 0 x 0 → 0 00 −→ 1 1 x 0 → 1 11 −→ 0 x 1 1 → 0 11 −→ 1 x 0 1 → 1 0

(a) (b)

5.1.1 Pencacah Sinkron Modulo-6

Pencacah ini memerlukan 3 buah flip-flop dan dipilih flip-flop jeni J-K. Hasilpencacahan ada pada keluaran ketiga flip-flop yaitu QAQBQC . Dari Tabel5.1 terlihat bahwa nilai awal adalah QAQBQC = 000, setelah pulsa masukkeluaran berubah menjadi QAQBQC = 001. Berdasarkan Tabel 5.3 pengat-uran nilai J dan K untuk masing-masing flip-flop adalah:

flip-flop A QA : 0 → 0 maka JA = 0, KA =xflip-flop B QB : 0 → 0 maka JB = 0, KB =xflip-flop C QC : 0 → 1 maka JC = 1, KC =x

Selanjutnyapada keadaan QAQBQC = 001, yang berubah menjadi 010setelah pulsa masuk, pengaturannya adalah:

flip-flop A QA : 0 → 0 maka JA = 0, KA = xflip-flop B QB : 0 → 1 maka JB = 1, KB = xflip-flop C QC : 1 → 0 maka JC = x,KC = 1

Kalau ini dilakukan terus, hasil seluruhnya akan terlihat seperti padaTabel 5.4. Karena nilai pencacah modulo-6 tidak pernah mencapai nilai 110dan 111 maka pada QAQBQC = 110 dan QAQBQC = 110 nilai J dan K diisisembarang (x).

Yohanes Suyanto

Page 107: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

96 5. PENCACAH

Tabel 5.4: Pengisian nilai J dan K pada pencacah modulo-6QAQBQC JA KA JB KB JC KC

0 0 0 0 x 0 x 1 x0 0 1 0 x 1 x x 10 1 0 0 x x 0 1 x0 1 1 1 x x 1 x 11 0 0 x 0 0 x 1 x1 0 1 x 1 0 x x 11 1 0 x x x x x x1 1 1 x x x x x x

Tabel 5.4 tidak lain adalah tabel kebenaran dari JA, KA, JB, KB, JC ,dan KC , sehingga untuk mendapatkan persamaan optimal, dapat dikerjakandengan peta K. Khusus untuk JC dan KC mudah dilihat bahwa jika nilai xdiganti dengan 1 maka JC = KC = 1. Untuk flip-flop A dan B nilai J danK dapat ditentukan dengan menggunakan peta K seperti pada Gambar 5.1.Persamaan yang diperoleh adalah:

JA = QBQC KA = QC

JB = QAQC KB = QC

Yohanes Suyanto

Page 108: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

5.1. Pencacah Sinkron 97

00 01 11 10

0 x x

1 1 x x

QAQB

QC

JA

00 01 11 10

0 x x x

1 x x x 1

QAQB

QC

KA

00 01 11 10

0 x x

1 1 x x

QAQB

QC

JB

00 01 11 10

0 x x x

1 x x x 1

QAQB

QC

KB

Gambar 5.1: Peta Karnaugh untuk penentuan persamaan J dan K padapencacah 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 flip-flop jenis T. Dari Tabel 5.3,keluaran akan tetap jika T = 0, dan keluaran akan berubah jika T = 1 setiapada pulsa detak masuk. Atas dasar ini, pengaturan perubahan keluaran agarsesuai dengan tabel pencacahan dapat dilakukan dengan 2 cara:

Yohanes Suyanto

Page 109: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

98 5. PENCACAH

1. Harga T dari masing-masing flip-flop untuk setiap harga QAQBQCQD

(ada 4 flip-flop) diatur agar perubahan keluarannya sesuai dengan tabelpencacahan, seperti yang dibahas di 5.1.1.

2. Masukan T dihubunghkan ke Vcc sehingga selalu mempunyai ni-lai 1, sedang pengaturan perubahan keluarannya dilakukan denganmeneruskan 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 gerbangAND 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 flip-flop T untuk pencacah

Pada pembicaraan ini akan digunakan cara ke 2, karena cara ini akanberhubungan dengan pembicaraan mengenai pencacah naik/turun (up/downcounter).

Dengan cara ke-2 berarti nilai P untuk setiap flip-flop harus P = 1 kalaukeluarannya 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

PA

00 01 11 10

00 x

01 x

11 1 1 x x

10 x x

QAQB

QCQD

PB

00 01 11 10

00 x

01 1 1 x

11 1 1 x

10 x x

QAQB

QCQD

PC

Gambar 5.4: Peta Karnaugh untuk penentuan persamaan pengatur detakpada pencacah modulo-10 sinkron

Dari Tabel 5.5 mudah dilihat jika x untuk PD diisi 1 maka PD = 1, yangberarti bahwa untuk flip-flop D pulsa masukan dapat dihubungkan langsung

Yohanes Suyanto

Page 110: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

5.1. Pencacah Sinkron 99

Tabel 5.5: Pengaturan nilai P untuk modulo-10 menggunakan flip-flop TQA QB QC QD PA PB PC PD

0 0 0 0 0 0 0 10 0 0 1 0 0 1 10 0 1 0 0 0 0 10 0 1 1 0 1 1 10 1 0 0 0 0 0 10 1 0 1 0 0 1 10 1 1 0 0 0 0 10 1 1 1 1 1 1 11 0 0 0 0 0 0 11 0 0 1 1 0 0 11 0 1 0 x x x x1 0 1 1 x x x x1 1 0 0 x x x x1 1 0 1 x x x x1 1 1 0 x x x x1 1 1 1 x x x x

ke masukan detak. Nilai PA, PB, dan PC , dari peta K Gambar 5.4 dapatditulis:

PA = QAQD +QBQCQD

PB = QCQD

PC = QAQD

Dengan demikian rangkaian pencacah sinkron modulo-10, dapat disusunseperti 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 flip-flopT

Yohanes Suyanto

Page 111: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

100 5. PENCACAH

Buktikan kalau digunakan flip-flop T dengan cara 1 maka persamaannyamenjadi:

TA = PA, TB = PB, TC = PC , danTD = PD

5.2 Pencacah Tak Sinkron

Pada pencacah tak sinkron pulsa masukan hanya dihubungkan ke masukandetak pada flip-flop yang terdepan (LSB), sedang sebagai pulsa detak un-tuk flip-flop berikutnya digunakan keluaran dari flip-flop sebelumnya. De-ngan demikian perubahan dari keluaran masing-masing flip-flop akan terjadibergantian dari depan ke belakang.

Kalau pada pencacah ini digunakan master-slave flip-flop T (atau flip-flop J-K dengan J disambung ke K), untuk pencacah modulo-2N bentuknyasangat sederhana (ingat bahwa perubahan keluaran master-slave flip-flop ter-jadi jika pulsa detak berubah dari 1 ke 0). Hal ini dapat dilihat misalnyauntuk pencacah modulo-8 (23) yang tabel pencacahannya tercantum di tabel5.1 (QC adalah LSB). Karena pulsa masukan dimasukkan ke CKC sedangQC berubah setiap ada pulsa masuk, maka TC dapat dihubungkan ke harga1. Demikian juga oleh karena setiap QC berubah dari 1 ke 0 ternyata QB

berubah (0 ke 1 atau 1 ke 0) maka kalau QC dihubungkan ke CKB, TB da-pat dihubungkan ke harga 1. Selanjutnya demikian juga oleh karena setiapQB berubah dari 1 ke 0 ternyata QA berubah, maka kalau QB dihubungkanke CKA, TC dapat dihubungkan ke harga 1. Dengan demikian bentuk daripencacah 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 flip-flop T

Untuk pencacah modulo-4 (22), modulo-16 (24) kita tinggal menyesuaikanjumlah flip-flopnya saja. Pencacah seperti ini juga disebut ripple counter.

Untuk pencacah tak sinkron modulo-k dengan k 6= 2N agak lebih sulitkarena pulsa detak dari suatu flip-flop tidak selalu dapat diperoleh dariflip-flop di depannya. Misalnya saja untuk modulo-6, pada perubahan dari

Yohanes Suyanto

Page 112: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

5.2. Pencacah Tak Sinkron 101

QAQBQC = 101 menjadi QAQBQC = 000, oleh karena QA harus berubahdari 1 ke 0 sedang QB nilainya tetap, maka QB tidak dapat digunakan seba-gai pulsa detak flip-flop A. Dengan demikian yang dapat digunakan sebagaipulsa detak flip-flop A dan flip-flop B adalah QC . Hanya saja karena untuksetiap QC berubah dari 1 ke 0, QB dan QA tidak selalu berubah, maka hargaT atau J dan K tidak boleh selalu berharga 1 tetapi harus diatur sepertipada pencacah sinkron. Perlu diingat bahwa untuk master-slave flip-flop pe-rubahan pulsa detak dari 0 ke 1 tidak mengubah keadaan keluaran, sehinggapada saat QC (sebagai pulsa detak) berubah dari 0 ke 1, harga T atau J danK dari flip-flop A dan flip-flop B boleh diisi sembarang (x). Dengan cara inimaka dapat diperoleh tabel J dan K sebagai fungsi QAQBQC , yang untukpencacah tak sinkron modulo-6, terlihat pada Tabel 5.6.

Tabel 5.6: Nilai J dan K untuk pencacah tak sinkron modulo-6QA QB QC JA KA JB KB JC KC

0 0 0 x x x x 1 x0 0 1 0 x 1 x x 10 1 0 x x x x 1 x0 1 1 1 x x 1 x 11 0 0 x x x x 1 x1 0 1 x 1 0 x x 11 1 0 x x x x x x1 1 1 x x x x x x

Dengan membuat peta K dari tabel kebenaran tersebut maka diperolehpersamaan:

JA = QB KA = 1JB = QA KB = 1JC = 1 KC = 1

(5.1)

Buatlah rangkaian dari pencacah ini!

Perlu diketahui bahwa dengan cara ini pencacah tak sinkron modulo-k,dengan k 6= 2N dan k ganjil, tidak dapat dibuat (mengapa ?).

Untuk mengatasi hal ini dapat digunakan cara lain yaitu memanfaatkanmasukan preset dan clear yang ada pada setiap flip-flop 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

Page 113: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

102 5. PENCACAH

(a) tentukan jumlah flip-flop (N) dengan persamaan

2N−1 < k < 2N

(b) hubungkan flip-flop sebagai ripple-counter

(c) hubungkan keluaran dari flip-flop yang nilainya 1 pada saat hasilpencacahan sama dengan k − 1, ke masukan sebuah gerbangNAND. Hubungkan juga pulsa masukan ke gerbang NAND terse-but.

(d) hubungkan keluaran gerbang NAND tersebut ke masukan presetdari flip-flop yang keluarannya 0 pada saat hasil pencacahan samadengan k − 1.

Jadi untuk pencacah desimal (modulo-10) tak sinkron, karena padasaat pencacahan mencapai 9 nilai QAQBQCQD = 1001, maka keluaranQA dan QB dihubungkan ke masukan NAND, sedang keluaran NANDdihubungkan ke preset dari flip-flop B dan flip-flop C. Lihat Gambar5.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 flip-flop T

Dengan cara ini maka setelah QAQBQCQD = 1001, kalau pulsa ma-sukan naik dari 0 ke 1 maka preset=0 sehingga QAQBQCQD = 1111dan setelah pulsa masukan kembali ke 0, QAQBQCQD = 0000.

2. menggunakan masukan clear

(a) tentukan jumlah flip-flop (N) dengan persamaan

2N−1 < k < 2N

(b) hubungkan flip-flop sebagai ripple-counter

Yohanes Suyanto

Page 114: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

5.3. Pencacah Naik/Turun (up/down counter) 103

(c) hubungkan keluaran dari flip-flop yang nilainya 1 pada saat hasilpencacahan=k, ke sebuah gerbang NAND.

(d) hubungkan keluaran gerbang NAND ke masukan clear dari setiapflip-flop

Jadi untuk membentuk pencacah tak sinkron modulo-5, karena padasaat hasil pencacahan mencapai 5 nilai QAQBQC = 101, maka QA danQC dihubungkan ke masukan/clear setiap flip-flop. 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 flip-flop T

Dengan cara ini setelah pulsa ke 5 masuk, mulau-mula QAQBQC = 101,tetapi karena pada keadaan ini keluaran NAND menjadi 0, maka sesaatkemudian keluarannya menjadi QAQBQC = 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 umumnyadibentuk dari flip-flop T atau flip-flop JK dengan J = K.

Ada 2 cara untuk membentuk pencacah naik/turun. Cara pertama, se-lain saluran masukan ditambahkan saluran pengatur x (naik/turun) yangmenjadikan pencacah turun jika x = 1 dan menjadikan pencacah naik jikax = 0. Pada cara kedua ada 2 saluran masukan. Saluran pertama untukmasukan pencacah naik dan saluran kedua untuk masukan pencacah turun.

Pada cara pertama pulsa masukan dihubungkan ke CK setiap flip-flopsedang T atau J=K dari setiap flip-flop diatur sehingga perubahan keluaran-nya sesuai dengan tabel pencaah naik atau turun. Sebagai contoh untuk pen-cacah desimal naik/turun kalau mula-mula QDQCQBQA = 0000 (QA =LSB),

Yohanes Suyanto

Page 115: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

104 5. PENCACAH

untuk x = 0 (naik) karena setelah terjadi pulsa detak, keluaran berubah men-jadi 0001, maka diatur TD = 0, TC = 0, TB = 0, TA = 1. Untuk x = 1 (turun)setelah nilai 0000 adalah 1001 maka TD = 1, TC = 0, TB = 0, TA = 1. Kalauhal ini dilanjutkan diperoleh Tabel 5.7.

Tabel 5.7: Nilai T untuk pencacah naik/turun modulo-10TD TC TB TA

QD QC QB QA x = 0 x = 1 x = 0 x = 1 x = 0 x = 1 x = 0 x = 10 0 0 0 0 1 0 0 0 0 1 10 0 0 1 0 0 0 0 1 0 1 10 0 1 0 0 0 0 0 0 1 1 10 0 1 1 0 0 1 0 1 0 1 10 1 0 0 0 0 0 1 0 1 1 10 1 0 1 0 0 0 0 1 0 1 10 1 1 0 0 0 0 0 0 1 1 10 1 1 1 1 0 1 0 1 0 1 11 0 0 0 0 1 0 1 0 1 1 11 0 0 1 1 0 0 0 0 0 1 11 0 1 0 x x x x x x x x1 0 1 1 x x x x x x x x1 1 0 0 x x x x x x x x1 1 0 1 x x x x x x x x1 1 1 0 x x x x x x x x1 1 1 1 x x x x x x x x

Dengan membuat peta K diperoleh persamaan:

TD = xQA QB QC + x(QAQD +QAQBQC)

TC = xQA QB(QC +QD) + xQAQB

TB = xQA(QB + QC +QD) + xQAQD

TA = 1

Pada cara kedua, masukan T atau J=K dari setiap flip-flop dihubungkanke nilai 1 (atau dibiarkan terbuka), sedang pengaturan keluarannya dilakukandengan cara meneruskan masukan pulsa ke masukan detak kalau ada peruba-han dan tidak meneruskannya jika keluarannya tetap. Hal ini dibicarakanpada bagian 5.1.2. Namun karena masukan pulsa ada 2 saluaran maka pen-gaturnya (P) juga ada 2. Lihat Gambar 5.9.

Yohanes Suyanto

Page 116: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

5.3. Pencacah Naik/Turun (up/down counter) 105

Q

Q

C

T

1

Pnaik

Pulsa masukan naik

Pturun

Pulsa masukan turun

Gambar 5.9: Pengatur pulsa pada pencacah naik/turun

Dengan cara ini jika Pnaik/turun = 1 maka pulsa masukan naik/turunditeruskan, sedang jika Pnaik/turun = 0 maka masukan pulsa naik/turun tidakditeruskan. Dapat dibuktikan bahwa table Pnaik/turun sebagai fungsi dari QA,QB, QC , dan QD sama dengan Tabel 5.7, dengan penyesuaian PD naik = TD

untuk x = 0, PD turun = TD untuk x = 1, dst, sehingga persamaan dari Padalah:

PD turun = QA QB QC

PD naik = (QAQD +QAQBQC)

PC turun = QA QB(QC +QD)

PC naik = QAQB

PB turun = QA(QB +QC +QD)

PB naik = QAQD

PA turun = 1

PA naik = 1

Yohanes Suyanto

Page 117: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

106 5. PENCACAH

Yohanes Suyanto

Page 118: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

BAB 6

REGISTER

Kalau sebuah flip-flop dapat digunakan untuk menyimpan data 1 bit, makasederetan n flip-flop dapat digunakan untuk menyimpan data n bit. Kumpu-lan dari flip-flop ini disebut register. Ada 2 cara untuk memasukkan ataumengeluarkan data dari suatu register, yaitu serial dan paralel. Pada caaserial data dimasukkan/dikeluarkan bit demi bit berganti-ganti lewat satusaluran (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 inparallel out (PIPO). Untuk memahami kerja setiap macam register tersebutperhatikan Gambar 6.1.

Q

Q

S

R

CLR

PR

CK

A QA

Q

Q

S

R

CLR

PR

CK

B QB

Q

Q

S

R

CLR

PR

CK

C QC

Q

Q

S

R

CLR

PR

CK

D QD

Q

Q

S

R

CLR

PR

CK

E QE

Preset Enable(PE)

masukanserial

Clear

Detak

Gambar 6.1: Register serial-parallel

Pada pembicaraan flip-flop D 4.3 telah dikemukakan bahwa kalau nilaiS berlawnaan dengan R maka flip-flop SR akan bekerja sebagai flip-flop D,

107

Page 119: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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 masukanflip-flop A, dan dengan dihubungkannya S dengan Q, R dengan Q untukflipf-lop yang lain, maka setiap flipf-lop bekerja sebagai flip-flop D. Setipaflip-flop juga dilengkapi dengan masukan preset dan clear, sehingga agarflip-flop dapat bekerja sebagaimana mestinya setiap kali perlu diatur PE=0dan Clear=1, karena dengan demikian Pr=Cr=1.

Untuk mereset setiap flip-flop dapat dikerjakan dengan mengubah seben-tar Clear ke 0 (dan kemudian dikembalikan lagi ke 1). Dengan demikianpada saat Cr = 0 dan Pr = 1 maka Q = 0, dan setelah clear kembali ke 1nilai Q tetap. Jika setelah di-reset kemudian nilai PE diubah sebentar ke 1(dan kemudian dikembalikan lagi ke 0), maka QAQBQCQDQE = ABCDE.Pada saat PE = 1, A = 1, maka Pr = 0, sehingga QA = 1. Pada saat PE =1, A = 0, maka Pr = 1 sehingga QA = 0.

Dengan demikian untuk memasukkan data 5 bit secara paralel dapatdikerjakan melalui masukan A, B, C, D, dan E, dengan mengubah sebentarPE ke 1. Perlu diingat sebelum memasukkan data secara paralel, registerperlu di reset terlebih dahulu (mengapa?).

Jadi dengan register Gambar 6.1, data dapat dimasukkan baik secaraseri maupun paralel, dan demikian juga dapat dikeluarkan baik secara serialmaupun paralel. Untuk menghindari gejala race around perlu digunakanflipflop (SR atau JK) tuan-hamba (master-slave).

6.1 Serial In Parallel Out - SIPO

Untuk memasukkan atau menulis data 5 bit secara serial, misalnya saja10011 (LSB adalah bit paling kanan), mula-mula register perlu di-reset se-hingga QAQBQCQDQE = 00000. Kemudian sinkron dengan pulsa detakpertama, 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 , QAQBQCQDQE =10000setelah pulsa detak ke-dua , QAQBQCQDQE =11000setelah pulsa detak ke-tiga , QAQBQCQDQE =01100setelah pulsa detak ke-empat, QAQBQCQDQE =00110setelah pulsa detak ke-lima , QAQBQCQDQE =10011Jadi setelah pulsa detak ke-lima data 5 bit dapat dibaca atau dikeluarkan

lewat 5 buah keluaran flip-flop secara paralel. Sudah tentu pulsa detak di-hentikan setelah ke lima bit data masuk pada register. Oleh karena datadimasukkan secara serial dan dapat dikeluarkan secara paralel, register inidisebut register serial in parallel out atau disebut juga pengubah serial ke

Yohanes Suyanto

Page 120: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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 padabagian 6.1, kemudian dimasukkan pulsa detak sebanyak 5 kali, maka setiapbit data akan bergeser ke kanan 5 kali. Dengan demikian,

pada pulsa detak ke-satu , QE =1pada pulsa detak ke-dua , QE =1pada pulsa detak ke-tiga , QE =0pada pulsa detak ke-empat, QE =0pada pulsa detak ke-lima , QE =1

Dengan kata lain, data 5 bit akan keluar lewat QE secara berganti-gantisinkron 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 secarabersama-sama lewat masukan A, B, C, D, dan E (E = LSB), yaitu dengancara melakukan reset terlebih dahulu regsiter dan kemudian mengubah PEsebentar ke 1. Jadi kalau misalnya niai ABCDE = 10011, maka setelah diker-jakan operasi seperti tersebut di atas maka nilai QAQBQCQDQE = 10011.Kalau data ini dikeluarkan secara serial lewat QE , maka perlu dimasukkanpulsa detak sebanyak 5 kali seperti telah dibicarakan pada bagian 6.2. Jadijelas register ini dapat juga dipergunakan sebagai register parallel in serialout 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 registerini juga dapat bekerja sebagai register parallel in parallel out. Hanya sajabiasanya untuk mengatur pengeluaran data secara paralel, masing-masingkeluaran dari flip-flop 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

Page 121: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

110 6. REGISTER

6.5 Register Geser Kanan/Kiri (Right/Left

Shift Register)

Pada register yang telah dibicarakan, bit demi bit data akan bergeser kekanan kalau pada register dimasukkan pulsa detak. Register seperti ini dise-but register geser kanan atau right shift register. Adakalanya diperlukansuatu register yang dapat menggeser ke kanan atau ke kiri. Untuk registerseperti ini diperlukan suatu rangkaian pengatur yang dapat menghubungkanmasukan D suatu flip-flop dengan keluaran flip-flop sebelah kirinya (Qki)kalau harus bergeser kanan, atau dengan keluaran flip-flop sebelah kanannnyakalau harus geser kiri. Rangkaian pengatur seperti ini terlihat pada Gambar6.2.

Q

Q

D

CK

Qka

Qki

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 Qka, atau de-ngan Qki atau dengan masukan paralel. Pengatur ini terlihat pada Gambar6.3.

Q

Q

D

CK

S0

S1

QKa

MasukanParalel

QKi

Gambar 6.3: Pengatur geser kanan atau kiri untuk register geser denganmasukan paralel

Yohanes Suyanto

Page 122: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

6.6. Soal Latihan 111

Dari Gambar 6.3 didapat persamaan:

D = S0Qka + S0S1Pi+ S1Qki

S0 = 0, S1 = 1 D = Qka(geser kiri)S0 = 1, S1 = 0 D = Qki(geser kanan)S0 = S1 = 1 D = Pi(data paralel masuk)

Untuk S0 = S1 = 0 oleh karena D = Qka + Qki (tidak dikehendaki), makalewat pengatur lain pulsa detak dibuat tidak dapat masuk register. Skemalengkap register 5 bit terlihat pada Gambar 6.4.

QD

CK

Q3

D3

QD

CK

Q2

D2

QD

CK

Q1

D1

QD

CK

Q0

D0

c0

c1 CLKEN

c1

c0

output geser kiri

Input

geser kanan

Input geser kanan

Output

geser kanan

Kendalic1 c0

0 00 11 01 1

Tetap

Geser kiriGeser kananMuat paralel

Fungsi

Input geser kananOutput geser kiri

c0c1

D3D2D1D0

Q3Q2Q1Q0

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 D3D2D1D0 dan xserta keluaran Q3Q2Q1Q0 dan y. Nilai y akan 1 apabila keluaran reg-ister mempunyai cacah bit yang bernilai 1 ganjil, selain itu y bernilai0. Operasi register ditentukan oleh nilai x dan y seperti tabel berikut:

Yohanes Suyanto

Page 123: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

112 6. REGISTER

x y operasi0 0 tetap0 1 parallel in1 0 geser kanan1 1 geser kiri

Yohanes Suyanto

Page 124: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

BAB 7

REDUKSI LOGIKA DIGITALSEKUENSIAL

7.1 Reduksi Keadaan

Dalam Bab 4 kita bahas metode perancangan FSM tanpa memperhatikanbahwa 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 yangmempunyai fungsi yang ekuivalen dengan hanya berkeadaan tunggal. Kitaterapkan semua kombinasi masukan untuk mengecek mesin tersebut danmengamati keluarannya. Jika mesin menghasilkan keluaran yang berbedauntuk masukan sama pada waktu yang berbeda, maka paling tidak ada 2keadaan yang berbeda yang tidak ekuivalen. Keadaan yang berbeda ditem-patkan pada kelompok yang terpisah, dan proses dilanjutkan hingga tidakditemui lagi perbedaan. Jika ada kelompok yang mempunyai keadaan lebihdari satu, maka keadaan-keadaan tersebut adalah ekuivalen dan mesin yanglebih kecil dapat disusun dengan setiap kelompok menjadi satu keadaan.

Sebagai contoh, perhatikan mesin keadaan M0 yang ditunjukkan olehtabel keadaan seperti pada Gambar 7.1. Kita mulai proses reduksi denganberhipotesis bahwa kelima keadaan dapat direduksi menjadi keadaan tung-gal, didapat partisi P0 untuk mesin baru M1:

P0 = (ABCDE)

113

Page 125: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

114 7. REDUKSI LOGIKA DIGITAL SEKUENSIAL

Masukan XKeadaan 0 1

A C/0 E/1B D/0 E/1C C/1 B/0D C/1 A/0E A/0 C/1

Gambar 7.1: Tabel keadaan mesin M0 yang akan direduksi

Kemudian kita kenai masukan tunggal untuk mesin asli M0 dan amatikeluarannya. Saat M0 dalam keadaan A, dan mendapat masukan 0, kelu-arannya adalah 0. Saat mesin M0 dalam keadaan A dan mendapat masukan1, 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 Edapat dibedakan dari keadaan C dan D, sehingga kita peroleh partisi baruP1:

P1 = (ABE)(CD)

Setelah dikenai masukan tunggal pada M0, kita tahu bahwa mesin akandalam keadaan kelompok ABE atau kelompok CD. Sekarang kita perlumengamati perilaku mesin dengan keadaan yang baru. Salah satu caraadalah dengan mendaftar semua keadaan berikutnya yang mungkin dalambentuk hirarki seperti pada Gambar 7.2. Proses penyusunan hirarki dimu-lai dengan mendaftar semua keadaan pada partisi yang sama. Untuk mesinM0, partisi awal (ABCDE) dicantumkan sebagai puncak hirarki. Kemu-dian mesin M0 dikenai masukan 0, keadaan berikutnya akan salah satu dariC,D,C, C, atau A yang berasal dari keadaaan A,B,C,D, atau E. Hasilini ditunjukkan dengan partisi (CDA)(CC) pada sisi 0, dengan level turunsatu dari puncak. Keluaran pada kelompok (CDA) berbeda dengan keluaranpada kelompok (CC), sehingga keadaan asalnya dapat dibedakan. Kelompokasalnya ditulis dalam bentuk partisi (ABE)(CD).

Yohanes Suyanto

Page 126: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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 M0, keadaanberikutnya akan berada pada salah satu dari E,E,B,A, atau C dari keadaanawal 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 M0 dalam keadaan C,D, atauA, maka keluaran untuk keadaan C dan D akan menghasilkan keadaan Cdan C dengan keluaran 1. Tetapi untuk keadaan A keluarannya 0 dengankeadaan C. Oleh karena itu kemudian digambarkan (CC)(C) pada jalur 0,0dari puncak hirarki.

Jika dikenai 0 pada M0 saat keadaan C atau D keluaran akan samadan keadaan menjadi C. Dengan demikian secara lengkap pada jalur 0,0dari puncak hirarki dihasilkan keadaan (CC)(C)(CC) dari keadaan awal(AB)(E)(CD). Dengan demikian sampai di sini, A tidak berbeda denganB, dan C tidak berbeda dengan D, tetapi setiap kelompok dapat dibedakansaat dikenai urutan masukan 0,0 pada M0 tanpa memperhatikan keadaanawalnya.

Cara ini dilanjutkan terus sampai tidak ada partisi yang lebih kecil yangdapat dibuat. Misalnya, saat partisi berisi kelompok keadaan yang tidak da-

Yohanes Suyanto

Page 127: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

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 padaGambar 7.2 menunjukkan ilustrasi variasi yang dapat timbul saat melakukanekpansi.

Jika partisi yang dibuat sudah pernah ada di tempat lain dalam hirarkimaka partisi tersebut ditandai dengan coret dan ekpansi di titik itu dihen-tikan.

Partisi level berikutnya adalah:

P2 = (AB)(CD)(E)

karena keluaran A dan B dapat dibedakan dengan keluaran E.

Setelah dilakukan iterasi lagi ternyata partisi berikutnya adalah:

P3 = (AB)(CD)(E)√

yang sama dengan P2. Dengan demikian proses partisi dihentikan dan hasilakhirnya adalah P3. Mesin M1 adalah reduksi dari M0. Keadaan mesin M1

adalah (AB), (CD), dan (E) yang dapat ditulis sebagai A’, B’, dan C’. Tabeltransisi keadaan mesin M1 yang baru terlihat pada Gambar 7.3.

Masukan XKeadaan 0 1

AB : A′ B′/0 C ′/1CD : B′ B′/1 A′/0E : C ′ A′/0 B′/1

Gambar 7.3: Tabel keadaan mesin M1 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 padamempunyai table keadaan yang tertera pada Gambar ??.a. Dari tabel terse-but dapat ditentukan nilai keadaan yang berbeda. Sebagai contoh tabel padaGambar ??.b dan ??.c adalah 2 penetuan nilai keadaan yang berbeda tetapiuntuk mesin M yang sama.

Pada tabel PN0 secara sederhana ditentukan nilai keadaan dengan nilaiurut. A → 00, B → 01, C → 10, dan D → 11. Pada tabel PN1 nilai C danD ditukar.

Yohanes Suyanto

Page 128: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

7.2. Masalah Penentuan Nilai Keadaan 117

Masukan XK.S. 0 1

A B/1 A/1B C/0 D/1C C/0 D/0D B/1 A/0a. Mesin M

Masukan XK.S. 0 1

A : 00 01/1 00/1B : 01 10/0 11/1C : 10 10/0 11/0D : 11 01/1 00/0

b. PN0

Masukan XK.S. 0 1

A : 00 01/1 00/1B : 01 11/0 10/1C : 11 11/0 10/0D : 10 01/1 00/0

c. PN1

Gambar 7.4: Tabel keadaan mesin M dan 2 macam penentuan nilaikeadaannnya

Dengan menerapkan nilai keadaan PN0 diperoleh persamaan keadaan dankeluaran yang ditunjukkan oleh Gambar 7.5. Dalam gambar tersebut jugaditunjukkan reduksi persamaan menggunakan metode peta Karnaugh. Daripersamaan-persamaan tersebut diperoleh jumlah masukan gerbang adalah29. Masukan gerbang adalah jumlah variabel dan suku pada persamaanlogika.

0 1

00

01 1 1

10

11 1 1

X

K0K1

K0 = K0K1 +K0K1

0 1

00 1

01 1

10 1

11 1

X

K0K1

K1 = K0 K1 X +K0K1X

+K0K1X +K0K1X

0 1

00 1 1

01 1

10 1

11

X

K0K1

Z = K0 K1+K0X+K0K1X

Gambar 7.5: Peta Karnaugh untuk M dengan nilai keadaan PN0

Jika digunakan penetapan nilai PN1 bentuk peta Karnaugh dan per-samaan logikanya terlihat pada Gambar 7.6. Jumlah masukan gerbang untukpersamaan-persamaan ini hanya 6. S0 dan S1 tidak dihitung dalam jumlahini karena keduanya tidak melewati satu gerbangpun hanya dihubungkanlangsung ke variabel.

Yohanes Suyanto

Page 129: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

118 7. REDUKSI LOGIKA DIGITAL SEKUENSIAL

0 1

00

01 1 1

10 1 1

11

X

K0K1

K0 = K1

0 1

00 1

01 1

10 1

11 1

X

K0K1

K1 = X

0 1

00 1 1

01 1

10

11 1

X

K0K1

Z = K1 X +K0X

Gambar 7.6: Peta Karnaugh untuk M dengan nilai keadaan PN1

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/01/1

Gambar 7.7: Diagram transisi keadaan untuk detektor urutan

Mesin detektor urutan akan menghasilkan nilai 1 jika tepat 2 dari 3 masukanterakhir bernilai 1. Mesin ini sudah pernah dibahas pada Bab 4. Untukmasukan berupa 011011100 hasil keluarannya adalah 001111010. Ada satumasukan serial dan diasumsikan tidak pada awalnya tidak ada masukan.

Diagram keadaan mesin ini terlihat pada Gambar 7.7. Kemungkinankombinasi dari 3 nilai masukan terakhir ada 8 macam yaitu: 000, 001, 010,

Yohanes Suyanto

Page 130: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

7.3. Contoh Reduksi: Detektor Urutan 119

011, 100, 101, 110, dan 111. Keadaan A adalah keadaan awal saat belumada nilai masukan yang masuk. Keadaan B dan C adalah saat baru ada1 masukan, sehingga belum memungkinkan untuk menghasilkan keluaran1. Demikian juga keadaan D,E, F, dan G belum mungkin menghasilkankeluaran 1 saat menerima perpindahan dari keadaan B atau C. Keadaan Dterjadi saat 2 masukan terakhir bernilai 00. Keadaan E, F, atau G terjadisaat 2 masukan terakhir bernilai 01, 10, atau 11. Keluaran bernilai 1 hanyamungkin untuk perpindahan keadaan dari E (01) atau F (10) yang mendapatmasukan 1, atau keadaan dari G (11) yang mendapat masukan 0.

Masukan xKeadaansekarang 0 1

A B/0 C/0B D/0 E/0C F/0 G/0D D/0 E/0E F/0 G/1F D/0 E/1G F/1 G/0

Gambar 7.8: Tabel keadaan detektor urutan

Langkah berikutnya adalah menyusun tabel keadaan. Tabel ini terlihatpada Gambar 7.8.

Dari tabel tersebut kemudian dilakukan reduksi keadaan yang dimu-lai dengan hipotesis bahwa semua keadaan adalah sama (identik). Untukmembuktikan kebenaran hipotesis itu dilakukan penghalusan. Jika sekelom-pok keadaan bisa dibedakan terhadap kelompok lainnya, maka hipotesis itugugur. Namun tetap dilanjutkan penghalusan kelompok keadaan sehinggatidak ada lagi yang dapat dibedakan (dipecah). Urutan proses ini adalah:

P0 = (ABCDEFG)

P1 = (ABCD)(EF )G)

P2 = (A)(BD)(C)(E)(F )G)

P3 = (A)(BD)(C)(E)(F )G)√

Masukan xKeadaansekarang

0 1

A’ B’/0 C’/0B’ B’/0 D’/0C’ E’/0 F’/0D’ E’/0 F’/1E’ B’/0 D’/1F’ E’/1 F’/0

Gambar 7.9: Tabel keadaan detektor urutan yang baru

Yohanes Suyanto

Page 131: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

120 7. REDUKSI LOGIKA DIGITAL SEKUENSIAL

Masukan xKeadaansekarang

0 1

s2s1s0 s2s1s0z s2s1s0zA’: 000 001/0 010/0B’: 001 001/0 011/0C’: 010 100/0 101/0D’: 011 100/0 101/1E’: 100 001/0 011/1F’: 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

K2K1

K0X

K0 = K2K1X +K0X

00 01 11 10

00 d

01 1 d 1

11 1 d

10 d

K2K1

K0X

K1 = K2K1X +K2K0X

00 01 11 10

00 1 d

01 1 d

11 1 d 1

10 1 d 1

K2K1

K0X

K2 = K1 +K2K0

00 01 11 10

00 d

01 d 1

11 1 d

10 d 1

K2K1

K0X

Z = K2K0X +K1K0X +K2K0X

Gambar 7.11: Peta Karnaugh untuk detektor urutan

Yohanes Suyanto

Page 132: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

7.4. Tabel Eksitasi 121

Q

Q

D

CK

CKK0CK

Q

Q

D

CK

CKK1

Q

Q

D

CK

CKK2

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 keadaanseperti pada Gambar 7.10 maka peta Karnaugh dapat disusun seperti padaGambar 7.11 dan rangkaiannya ada pada Gambar 7.12. Perlu diperhatikanbahwa ada 4 kondisi don’t care pada baris 110 dan 111 karena kedua keadaanini tidak pernah muncul atau tidak digunakan dalam tabel keadaan.

7.4 Tabel Eksitasi

Semua flip-flop yang telah dibicarakan tersedia di pasaran dalam komponentersendiri, dan pada awalnya seorang desainer rangkaian digital sekuensialperlu memilih salah satunya. Pemilihan jenis flip-flop biasanya mempertim-bangkan harga, unjuk kerja, ketersediaan, dan lain-lain. Saat pengemban-gan rangkaian digital sudah menggunakan teknologi VLSI, orang cenderungmemilih D flip-flop. Namun demikian adakalanya aplikasi masih menun-

Yohanes Suyanto

Page 133: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

122 7. REDUKSI LOGIKA DIGITAL SEKUENSIAL

tut untuk menggunakan flip-flop selain D flip-flop. Untuk situasi seperti inipemikiran utama adalah memilih jenis flip-flop yang menghasilkan jumlahkomponen sesedikit mungkin, karena flip-flop dapat diperoleh dalam bentukkomponen tunggal.

Flip-flop S-R, J-K, D, ataupun T, dapat dibuat tabel eksitasinya yangterlihat pada Gambar 7.13. Setiap tabel menunjukkan nilai yang harus di-isikan pada masukan flip-flop untuk mendapatkan keluaran yang diharapkanpada t + 1 dari keadaan keluaran sebelumnya (t).

Qt Qt+1 S R Qt Qt+1 DS −R 0 0 0 0 D 0 0 0

flip− flop 0 1 1 0 flip− flop 0 1 11 0 0 1 1 0 01 1 0 0 1 1 1

Qt Qt+1 J K Qt Qt+1 TJ −K 0 0 0 d T 0 0 0

flip− flop 0 1 1 d flip− flop 0 1 11 0 d 1 1 0 11 1 d 0 1 1 0

Gambar 7.13: Tabel eksitasi untuk flip-flop 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 XYKeadaansekarang 00 01 10 11

A A/0 A/1 A/1 B/0B A/1 B/0 B/0 B/1

Masukan XYKeadaansekarang 00 01 10 11

A:0 0/0 0/1 0/1 1/0B:1 0/1 1/0 1/0 1/1

Gambar 7.14: Diagram transisi keadaan, tabel keadaan, dan penentuan nilaikeadaan 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

Page 134: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

7.4. Tabel Eksitasi 123

penjumlah berseri. Keadaan A adalah saat berada dalam keadaan tanpasimpanan (carry) sedang keadaan B adalah keadaan dengan simpanan.

Keadaansekarang Set Reset

X Y Kt D S R T J K Z0 0 0 0 0 0 0 0 d 00 0 1 0 0 1 1 d 1 10 1 0 0 0 0 0 0 d 10 1 1 1 0 0 0 d 0 01 0 0 0 0 0 0 0 d 11 0 1 1 0 0 0 d 0 01 1 0 1 1 0 1 1 d 01 1 1 1 0 0 0 d 0 1

Gambar 7.15: Tabel kebenaran perubahan keadaan pada flip-flop

Tabel kebenaran untuk flip-flop jenis S-R, D, J-K, dan T tertera padaGambar 7.15. Tabel ini disusun dengan memperhatikan keadaan sekarang(Kt) dan keadaan berikutnya (Kt+1) jika mendapatkan masukan XdanY . Berdasarkan perubahan keadaan tersebut kemudian ditentukan nilaimasukan untuk masing-masing flip-flop dengan memperhatikan tabel eksi-tasinya. Misalnya, pada baris pertama dengan nilaiX = Y = 0, dan keadaanawal adalah 0, maka keadaan selanjutnya adalah 0 juga. Jadi keluaran darinilai 0 menjadi 0 lagi. Untuk flip-flop D, nilai D adalah 0, sedang untukflip-flop J-K, nilai J = 0, dan K = d. Demikian seterusnya sehingga tabelkebenaran tersebut dilengkapi.

Persamaan Boolean untuk penjumlah berseri jika menggunakan flip-flopJ-K adalah:

J = XY

K = X Y

Z = X YK +XYK +XYK +XY K

Jika menggunakan D, S-R, atau T persamaan Boolean yang digunakanmasing-masing adalah:

D = XY +XK + Y K

S = XYK

R = X YK

T = X YK +XYK

Yohanes Suyanto

Page 135: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

124 7. REDUKSI LOGIKA DIGITAL SEKUENSIAL

7.5 Soal Latihan

7.1 Reduksilah tabel keadaan berikut:

Masukan XK.S. 0 1

A D/0 G/1B C/0 G/0C A/0 D/1D B/0 C/1E A/1 E/0F C/1 F/0G E/1 G/1

7.2 Reduksilah tabel keadaan berikut:

Masukan XYK.S. 00 01 10 11

A A/0 B/0 C/0 D/0B A/0 B/1 D/0 D/1C E/1 B/0 B/0 E/1D A/0 D/1 D/0 B/1E C/1 D/0 D/0 E/1

7.3 Berikut adalah tabel keadaan ternary. Tunjukkan proses dan hasilakhir dari reduksi tabelnya!

Masukan xK.S. 0 1 2

A B/0 E/2 G/1B D/2 A/1 D/0C D/2 G/1 B/0D B/2 F/1 C/0E A/0 E/2 C/1F C/0 E/2 F/1G D/0 E/2 A/1

7.4 Dalam tabel keadaan terreduksi berikut, nilai keadaan sudah diten-tukan. Rancanglah mesinnya menggunakan flip-flop D, gerbang ANDdan OR. Gunakan peta Karnaugh untuk mereduksi ekspresi untukfungsi keadaan berikutnya dan keluaran. Hati-hati untuk menyusunpeta Karnaugh secara benar karena tabel tersebut hanya terdiri atas 3baris.

Yohanes Suyanto

Page 136: Yohanes Suyanto 2009 - · PDF file2.11.7 Penggunaan PLA untuk ... 2.5 Simbol gerbang logika untuk fungsi Boolean ... 2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika

7.5. Soal Latihan 125

Masukan XK.S. 0 1A : 00 00/0 01/1B : 01 10/1 00/1C : 10 01/1 10/0

Yohanes Suyanto