Sistem Digital Sequential and Combinatioanl [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

Perancangan Sistem Digital Yohanes Suyanto 2009



Daftar Isi 1 SISTEM BILANGAN 1.1 Pendahuluan . . . . . . 1.2 Nilai Basis . . . . . . . . 1.2.1 Desimal . . . . . 1.2.2 Biner . . . . . . . 1.2.3 Oktal . . . . . . 1.2.4 Heksadesimal . . 1.3 Faktor Bobot . . . . . . 1.4 Konversi sistem bilangan 1.4.1 Konversi bilangan 1.4.2 Konversi bilangan 1.4.3 Konversi bilangan 1.4.4 Cara lain konversi 1.5 Sistem Kode . . . . . . .



. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . desimal menjadi biner . . . . desimal menjadi oktal . . . . desimal menjadi heksadesimal bilangan . . . . . . . . . . . . . . . . . . . . . . . . . . . .



. . . . . . . . . . . . .



. . . . . . . . . . . . .



. . . . . . . . . . . . .



2 RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL 2.1 Unit Logika Kombinasional . . . . . . . . . . . . . . . . . . 2.2 Tabel Kebenaran . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Gerbang Logika . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Implementasi Elektronik dari Gerbang Logika . . . . . . . . 2.5 Buffer Tri-State . . . . . . . . . . . . . . . . . . . . . . . . . 2.6 Sifat-sifat Aljabar Boole . . . . . . . . . . . . . . . . . . . . 2.7 Bentuk Sum-of-Product dan Diagram Logika . . . . . . . . . 2.8 Bentuk Product-of-Sum . . . . . . . . . . . . . . . . . . . . . 2.9 Logika Positif dan Negatif . . . . . . . . . . . . . . . . . . . 2.10 Data Sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.11 Komponen Digital . . . . . . . . . . . . . . . . . . . . . . . 2.11.1 Level Integrasi . . . . . . . . . . . . . . . . . . . . . 2.11.2 Multiplekser . . . . . . . . . . . . . . . . . . . . . . . 2.11.3 Demultiplekser . . . . . . . . . . . . . . . . . . . . . 2.11.4 Dekoder . . . . . . . . . . . . . . . . . . . . . . . . . iii



. . . . . . . . . . . . .



1 1 2 2 3 4 4 4 5 5 6 7 7 9



. . . . . . . . . . . . . . .



11 11 12 13 16 19 20 22 24 26 27 27 28 28 30 31



iv



DAFTAR ISI 2.11.5 Enkoder Prioritas . . . . . . . . . . 2.11.6 PLA . . . . . . . . . . . . . . . . . 2.11.7 Penggunaan PLA untuk Penjumlah 2.12 Soal Latihan . . . . . . . . . . . . . . . . .



. . . . . . . . . . . . . . . . . . . . . . Ripple-carry . . . . . . . . . . . . . .



3 REDUKSI LOGIKA DIGITAL KOMBINASIONAL 3.1 Reduksi Ekspresi 2 Level . . . . . . . . . . . . . . . . . 3.1.1 Metode Aljabar . . . . . . . . . . . . . . . . . . 3.1.2 Metode Peta Karnaugh . . . . . . . . . . . . . . 3.1.3 Dimensi yang lebih tinggi . . . . . . . . . . . . 3.1.4 Metode Tabulasi . . . . . . . . . . . . . . . . . 3.2 Soal Latihan . . . . . . . . . . . . . . . . . . . . . . . . 4 RANGKAIAN LOGIKA DIGITAL SEKUENSIAL 4.1 Flip-Flop S-R . . . . . . . . . . . . . . . . . . . . . . 4.2 Flip-flop S-R Berdetak . . . . . . . . . . . . . . . . . 4.3 Flip-flop D dan konfigurasi tuan-hamba . . . . . . . . 4.4 Flip-flop JK dan T . . . . . . . . . . . . . . . . . . . 4.5 Desain Mesin Keadaan Berhingga . . . . . . . . . . . 4.6 Contoh: Detektor Urutan . . . . . . . . . . . . . . . 4.7 Contoh: Pengendali mesin penjualan . . . . . . . . . 4.8 Mesin Mealy dan Moore . . . . . . . . . . . . . . . . 4.9 Register . . . . . . . . . . . . . . . . . . . . . . . . . 4.10 Pencacah . . . . . . . . . . . . . . . . . . . . . . . . 4.11 Soal Latihan . . . . . . . . . . . . . . . . . . . . . . . 5 PENCACAH 5.1 Pencacah Sinkron . . . . . . . . . . . . . . 5.1.1 Pencacah Sinkron Modulo-6 . . . . 5.1.2 Pencacah Sinkron Modulo-10 . . . 5.2 Pencacah Tak Sinkron . . . . . . . . . . . 5.3 Pencacah Naik/Turun (up/down counter )



. . . . .



. . . . .



. . . . .



. . . . .



. . . . .



. . . . .



6 REGISTER 6.1 Serial In Parallel Out - SIPO . . . . . . . . . . . . . 6.2 Serial In Serial Out - SISO . . . . . . . . . . . . . . . 6.3 Parallel In Serial Out- PISO . . . . . . . . . . . . . . 6.4 Parallel In Parallel Out - PIPO . . . . . . . . . . . . 6.5 Register Geser Kanan/Kiri (Right/Left Shift Register ) 6.6 Soal Latihan . . . . . . . . . . . . . . . . . . . . . . . Yohanes Suyanto



. . . . . . . . . . .



. . . . .



. . . . . .



. . . . . .



. . . . . . . . . . .



. . . . .



. . . . . .



. . . . . .



. . . . . . . . . . .



. . . . .



. . . . . .



33 34 36 38



. . . . . .



43 43 44 45 51 54 63



. . . . . . . . . . .



69 70 72 74 76 78 83 85 87 88 90 91



. . . . .



. . . . .



93 94 95 97 100 103



. . . . . .



107 . 108 . 109 . 109 . 109 . 110 . 111



. . . . . .



. . . . . . . . . . .



DAFTAR ISI 7 REDUKSI LOGIKA DIGITAL SEKUENSIAL 7.1 Reduksi Keadaan . . . . . . . . . . . . . . . . . 7.2 Masalah Penentuan Nilai Keadaan . . . . . . . 7.3 Contoh Reduksi: Detektor Urutan . . . . . . . . 7.4 Tabel Eksitasi . . . . . . . . . . . . . . . . . . . 7.5 Soal Latihan . . . . . . . . . . . . . . . . . . . .



v



. . . . .



. . . . .



. . . . .



. . . . .



. . . . .



. . . . .



. . . . .



. . . . .



113 113 116 118 121 124



Yohanes Suyanto



vi



Yohanes Suyanto



DAFTAR ISI



Daftar Gambar 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9



Perulangan horisontal dan vertikal . . . . . . . . . . . . . . . . Konversi bilangan desimal 19 menjadi biner . . . . . . . . . . Pengujian bilangan biner 10011 menjadi bilangan desimal . . . Konversi bilangan desimal 321 menjadi oktal . . . . . . . . . . Pengujian bilangan oktal 501 menjadi bilangan desimal . . . . Konversi bilangan desimal 321 menjadi heksadesimal . . . . . Pengujian bilangan heksadesimal 141 menjadi bilangan desimal Pengubahan bilangan oktal 157 menjadi biner . . . . . . . . . Pengubahan bilangan biner 10011001 menjadi oktal . . . . . .



3 5 6 6 6 7 7 7 8



2.1 2.2 2.3



Unit logika kombinasi, jika dilihat dari luar . . . . . . . . . . . Tabel kebenaran untuk saklar A dan B serta lampu Z . . . . . Tabel kebenaran untuk semua kemungkinan fungsi dari 2 masukan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fungsi AND, OR, dan NOT sebagai pembentuk fungsi-fungsi lainnya . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simbol gerbang logika untuk fungsi Boolean AND, OR, buffer, dan NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simbol gerbang logika untuk fungsi Boolean NAND, NOR, XOR, dan XNOR . . . . . . . . . . . . . . . . . . . . . . . . . Variasi gerbang logika (a) tiga masukan dan (b) masukan dengan komplemen . . . . . . . . . . . . . . . . . . . . . . . . . (a) pembalik dengan terminal tenaga dimunculkan dan (b) rangkaian transistor untuk pembalik . . . . . . . . . . . . . . Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika keluaran, (b) gerbang logika masukan . . . . . . . . . . Rangkaian transistor (a) NAND 2 masukan (b) NOR 2 masukan Buffer tri-state dan Buffer tri-state kendali inversi . . . . . . . Pembuktian teorema DeMorgan untuk 2 variabel . . . . . . . Penyusunan NAND menjadi OR . . . . . . . . . . . . . . . . . Implementasi OR dengan NAND (gambar lain) . . . . . . . .



12 13



2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14



vii



14 15 16 17 17 18 18 19 19 21 22 22



viii



DAFTAR GAMBAR 2.15 Penyusunan NAND menjadi AND . . . . . . . . . . . . . . . 2.16 Tabel kebenaran untuk fungsi mayoritas . . . . . . . . . . . 2.17 Implementasi fungsi mayoritas dengan dua-level AND-OR. Inverter tidak dihitung sebagai level. . . . . . . . . . . . . . . 2.18 Rangkaian OR-AND dua-level implementasi dari fungsi mayoritas. Inverter tidak dihitung sebagai level . . . . . . . . . . 2.19 Logika positif dan negatif untuk pasangan AND-OR dan NAND-NOR . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.20 Proses pencocokan gelembung . . . . . . . . . . . . . . . . . 2.21 Blok diagram dan tabel kebenaran untuk MUX 4-ke-1 . . . . 2.22 Implementasi MUX 4-ke-1 dengan AND-OR . . . . . . . . . 2.23 Implementasi MUX 8-ke-1 untuk fungsi mayoritas . . . . . . 2.24 Implementasi MUX 4-ke-1 untuk fungsi dengan 3 variabel . 2.25 Diagram blok dan tabel kebenaran untuk DEMUX 1-ke-4 . . 2.26 Rangkaian DEMUX 1-ke-4 . . . . . . . . . . . . . . . . . . . 2.27 Diagram blok dan tabel kebenaran dekoder 2-ke-4 . . . . . . 2.28 Rangkaian dekoder 2-ke-4 . . . . . . . . . . . . . . . . . . . 2.29 Implementasi fungsi mayoritas dengan dekoder 3-ke-8 . . . . 2.30 Diagram blok dan tabel kebenaran enkoder prioritas 4-ke-2 . 2.31 Rangkaian enkoder prioritas 4-ke-2 . . . . . . . . . . . . . . 2.32 PLA 3 masukan 2 keluaran . . . . . . . . . . . . . . . . . . . 2.33 Penyederhanaan PLA . . . . . . . . . . . . . . . . . . . . . . 2.34 PLA dalam bentuk kotak hitam . . . . . . . . . . . . . . . . 2.35 PLA dalam bentuk kotak hitam . . . . . . . . . . . . . . . . 2.36 Implementasi penjumlah 4 bit menggunakan penjumlah penuh berjenjang . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.37 Penjumlah penuh menggunakan PLA . . . . . . . . . . . . . 2.38 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.39 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.41 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 3.2 3.3 3.4 3.5 3.6



Implementasi fungsi mayoritas direduksi . . . . . . . . . . . Diagram Venn untuk 3 variabel biner . . . . . . . . . . . . . Peta Karnaugh untuk fungsi mayoritas . . . . . . . . . . . . Pengelompokan sel bertetangga pada fungsi mayoritas . . . . Fungsi mayoritas direduksi . . . . . . . . . . . . . . . . . . . Pengelompokan mulai dari sel yang tidak masuk dalam kelompok yang lebih besar . . . . . . . . . . . . . . . . . . . . . . 3.7 Pengelompokan mulai dari kelompok yang paling besar . . . 3.8 Posisi sudut pada peta Karnaugh secara logis bertetangga . Yohanes Suyanto



. 22 . 23 . 24 . 25 . . . . . . . . . . . . . . . . .



27 28 29 29 30 30 31 31 32 32 32 33 34 35 36 36 37



. . . . . .



37 38 39 40 40 41



. . . . .



45 46 47 47 48



. 49 . 49 . 50



DAFTAR GAMBAR



ix



3.10 Peta Karnaugh dengan 5 variabel . . . . . . . . . . . . . . . 3.9 Peta Karnaugh yang sama dapat menghasilkan persamaan minimal berbeda . . . . . . . . . . . . . . . . . . . . . . . . 3.11 Peta Karnaugh dengan 6 variabel . . . . . . . . . . . . . . . 3.12 Implementasi fungsi mayoritas 3 level . . . . . . . . . . . . . 3.13 Peta Karnaugh dengan isian variabel D . . . . . . . . . . . . 3.14 Peta Karnaugh dengan 3 variabel isian . . . . . . . . . . . . 3.15 Tabel kebenaran suatu fungsi dengan don’t care . . . . . . . 3.16 Proses reduksi tabulasi . . . . . . . . . . . . . . . . . . . . . 3.17 Tabel pilihan . . . . . . . . . . . . . . . . . . . . . . . . . . 3.18 Tabel pilihan terreduksi . . . . . . . . . . . . . . . . . . . . 3.19 Tabel kebenaran untuk 3 fungsi dengan 3 variabel . . . . . . 3.20 Tabel pilihan keluaran jamak . . . . . . . . . . . . . . . . . 3.21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19 4.20 4.21 4.22



. 51 . . . . . . . . . . . . .



Model klasik dari FSM . . . . . . . . . . . . . . . . . . . . . . Gerbang NOR dengan rangkaian tunda . . . . . . . . . . . . . Flip-flop S-R dengan NOR . . . . . . . . . . . . . . . . . . . . Tabel kebenaran Flip-flop S-R . . . . . . . . . . . . . . . . . . Flip-flop S-R dengan NAND . . . . . . . . . . . . . . . . . . . Rangkaian yang mengandung hazard . . . . . . . . . . . . . . Detak yang berupa gelombang kotak . . . . . . . . . . . . . . Flip-flop S-R berdetak . . . . . . . . . . . . . . . . . . . . . . Flip-flop D. Simbol CLK menunjukkan clock atau detak. . . . Tabel kebenaran untuk flip-flop D. Nilai keluaran sama dengan nilai masukan pada detak sebelumnya. . . . . . . . . . . . . . Flip-flop tuan-hamba . . . . . . . . . . . . . . . . . . . . . . . Flip-flop J-K dan simbolnya . . . . . . . . . . . . . . . . . . . Tabel kebenaran untuk flip-flop J-K. Nilai J=1 dan K=1 diperbolehkan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Flip-flop T dan simbolnya . . . . . . . . . . . . . . . . . . . . Tabel kebenaran untuk flip-flop T. . . . . . . . . . . . . . . . Flip-flop J-K tuan-hamba dan simbolnya . . . . . . . . . . . . Pencacah modulo 4 . . . . . . . . . . . . . . . . . . . . . . . . Diagram transisi keadaan pencacah modulo 4 . . . . . . . . . Tabel keadaan untuk pencacah modulo-4 . . . . . . . . . . . . Tabel keadaan untuk pencacah modulo-4 dengan pengkodeannya Tabel kebenaran untuk keadaan berikutnya dan fungsi keluaran pencacah modulo-4 . . . . . . . . . . . . . . . . . . . . . Desain logika untuk pencacah modulo-4 . . . . . . . . . . . . .



51 52 53 54 54 55 56 58 58 60 61 65 67 70 71 71 72 72 73 74 74 75 75 76 77 77 77 78 78 79 80 80 81 82 82



Yohanes Suyanto



x



DAFTAR GAMBAR 4.23 4.24 4.25 4.26 4.27 4.28 4.29 4.30 4.31 4.32 4.33 4.34



Diagram transisi keadaan untuk detektor urutan . . . . . . . . Tabel keadaan detektor urutan . . . . . . . . . . . . . . . . . Penetapan kode keadaan dan tabel kebenaran detektor urutan Diagram logika detektor urutan . . . . . . . . . . . . . . . . . Diagram transisi keadaan pengendali mesin penjualan . . . . . (a) Tabel keadaan pengendali mesin penjualan (b) penetapan kode keadaan pengendali mesin penjualan . . . . . . . . . . . Mesin penjualan (a) rangkaian, (b) tabel kebenaran (c) realisasi PLA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FSM Moore pencacah biner 2 bit . . . . . . . . . . . . . . . . Register 4-bit . . . . . . . . . . . . . . . . . . . . . . . . . . . Register 4-bit disederhanakan . . . . . . . . . . . . . . . . . . Register geser . . . . . . . . . . . . . . . . . . . . . . . . . . . Pencacah modulo 8 . . . . . . . . . . . . . . . . . . . . . . . .



83 83 84 84 85 86 87 88 89 89 90 91



5.1 Peta Karnaugh untuk penentuan persamaan J dan K pada pencacah modulo-6 sinkron . . . . . . . . . . . . . . . . . . . 97 5.2 Pencacah sinkron modulo-6 . . . . . . . . . . . . . . . . . . . 97 5.3 Pengaturan pulsa detak pada flip-flop T untuk pencacah . . . 98 5.4 Peta Karnaugh untuk penentuan persamaan pengatur detak pada pencacah modulo-10 sinkron . . . . . . . . . . . . . . . . 98 5.5 Rangkaian pencacah modulo-10 sinkron menggunakan flip-flop T 99 5.6 Rangkaian pencacah modulo-8 tak sinkron menggunakan flipflop T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 5.7 Rangkaian pencacah modulo-10 tak sinkron menggunakan flip-flop T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 5.8 Rangkaian pencacah modulo-5 tak sinkron menggunakan flipflop T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 5.9 Pengatur pulsa pada pencacah naik/turun . . . . . . . . . . . 105 6.1 Register serial-parallel . . . . . . . . . . . . . . . . . . . . . 6.2 Pengatur geser kanan atau kiri untuk register geser . . . . . 6.3 Pengatur geser kanan atau kiri untuk register geser dengan masukan paralel . . . . . . . . . . . . . . . . . . . . . . . . . 6.4 Register geser 5 bit lengkap . . . . . . . . . . . . . . . . . . 7.1 7.2 7.3 7.4



Tabel keadaan mesin M0 yang akan direduksi . . . . . hirarki . . . . . . . . . . . . . . . . . . . . . . . . . . . Tabel keadaan mesin M1 hasil direduksi . . . . . . . . Tabel keadaan mesin M dan 2 macam penentuan keadaannnya . . . . . . . . . . . . . . . . . . . . . . . .



Yohanes Suyanto



. . . . . . . . . nilai . . .



. 107 . 110 . 110 . 111 . 114 . 115 . 116 . 117



DAFTAR GAMBAR 7.5 7.6 7.7 7.8 7.9 7.10 7.11 7.12 7.13 7.14



1



Peta Karnaugh untuk M dengan nilai keadaan P N0 . . . . . Peta Karnaugh untuk M dengan nilai keadaan P N1 . . . . . Diagram transisi keadaan untuk detektor urutan . . . . . . . Tabel keadaan detektor urutan . . . . . . . . . . . . . . . . Tabel keadaan detektor urutan yang baru . . . . . . . . . . Tabel penentuan nilai keadaan detektor urutan . . . . . . . Peta Karnaugh untuk detektor urutan . . . . . . . . . . . . Skema rangkaian detektor urutan . . . . . . . . . . . . . . . Tabel eksitasi untuk flip-flop S-R, D, J-K, dan T . . . . . . . Diagram transisi keadaan, tabel keadaan, dan penentuan nilai keadaan untuk penjumlah berseri . . . . . . . . . . . . . . . 7.15 Tabel kebenaran perubahan keadaan pada flip-flop . . . . .



. . . . . . . . .



117 118 118 119 119 120 120 121 122



. 122 . 123



Yohanes Suyanto



2



Yohanes Suyanto



DAFTAR GAMBAR



BAB 1 SISTEM BILANGAN 1.1



Pendahuluan



Sistem bilangan didefinisikan sebagai sekumpulan nilai yang digunakan untuk melambangkan besaran. Kita sudah terbiasa menggunakan bilangan ini dalam kehidupan sehari-hari. Jumlah mahasiswa yang hadir dalam kuliah, jumlah matakuliah yang diambil oleh mahasiswa, nilai yang didapat mahasiswa untuk suatu ujian matakuliah, semuanya menggunakan lambang bilangan. Pembahasan mengenai sistem bilangan tidak terbatas pada komputer saja. Kita menggunakannya dalam kehidupan sehari-hari, dan kita mengetahui bahwa komputer juga menggunakannya sehingga dapat mengolah data menjadi data lain yang berupa bilangan juga. Sejak lama manusia menggunakan tanda atau simbol untuk menggambarkan bilangan. Bentuk awal penggunaan simbol adalah dengan garis lurus. Jumlah garis menunjukkan besarnya bilangan. Ada yang menggambarkan kelompok 6 garis vertikal dengan 1 garis horisontal melintang pada jelompok garis vertikal tersebut untuk menunjukkan jumlah hari dalam 1 minggu. Sangat sulit untuk menggambarkan bilangan sangat besar ataupun sangat kecil menggunakan pendekatan grafis. Pada sekitar tahun 3400 SM di Mesir dan 3000 SM di Mesopotamia mereka membuat simbol untuk menggambarkan bilangan dalam kesatuan 10. Ini adalah langkah besar karena dapat mereduksi jumlah simbol yang diperlukan. Misalnya dua belas dapat digambarkan dengan satu puluhan dan dua satuan, sehingga hanya memerlukan 3 simbol. Bandingkan dengan 12 simbol sebelumnya. Orang Romawi menggunakan 7 buah simbol yang dapat digunakan untuk menggambarkan bilangan 1 sampai dengan 1.000.000. I=1 1



2



1. SISTEM BILANGAN



V=5 X = 10 L = 50 C = 100 D = 500 M = 1000 Tambahan tanda garis di atas simbol tadi diartikan sebagai perkalian 1000. Sistem bilangan yang paling banyak digunakan saat ini adalah sistem Arab. Sistem ini pertama kali dibuat oleh orang Hindus dan digunakan pada awal abad ke-3 sebelum Masehi. Pengenalan simbol 0, yang digunakan untuk menunjukkan nilai posisi angka menjadi sangat bermanfaat. Sekarang kita menjadi terbiasa dengan puluhan, ratusan, ribuan, dan seterusnya. Dalam sistem bilangan, banyak terjadi perulangan berkali-kali penggunaan suatu simbol. Pada sistem desimal, hanya digunakan simbol sebanyak 10 macam. Simbol ini akan diulang-ulang untuk menyatakan bilangan yang besar. Lihat Gambar 1.1 Perhatikan bagaimana bilangan 0 sampai dengan 9 diulang, dan setiap perulangan, nilai kolom sebelah kirinya bertambah satu (dari 0 menjadi 1, kemudian 2). Setiap terjadi kenaikan nilai, sampai nilai tertinggi tercapai (yaitu 9), nilai dikolom sebelah kirinya bertambah 1, jadi setelah 9 adalah 10. Demikian seterusnya berulang-ulang. 09, 10 - 19, 20 - 29, 30 - 39 dst Angka selalu dinulis dengan nilai tertinggi pada bagian paling kiri dari bilangan.



1.2



Nilai Basis



Nilai basis untuk sistem bilangan adalah cacah himpunan nilai berbeda sebelum terjadi perulangan. Misalnya, sistem desimal adalah berbasis sepuluh, dengan nilai 0 sampai dengan 9. Nilai basis yang lain misalnya: biner, oktal, duodesimal, heksadesimal, vigesimal, seksagesimal. Sistem desimal adalah sistem yang paling dikenal, karena ini adalah sistem yang digunakan dalam perhitungan sehari-hari.



1.2.1



Desimal



Sistem desimal terdiri atas 10 angka atau simbol, yaitu 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Dengan menggunakan simbol ini kita dapat menyatakan besaran. Sistem desimal sering dinamakan juga sistem basis-10, karena mempunyai 10 angka. Yohanes Suyanto



1.2. Nilai Basis



3



p e r u l a n g a n v e r t i k a l



0 −→



1 −→



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20



Perulangan horisontal



2 −→ ... 9 −→ 90 ... 9 −→ 9990



Gambar 1.1: Perulangan horisontal dan vertikal



1.2.2



Biner



Dalam sistem biner, hanya ada 2 simbol atau angka yaitu 0 dan 1. Sistem basis-2 ini dapat dipergunakan untuk menyatakan besaran yang direpresentasikan dalam desimal maupun sistem bilangan lain. Contoh:



Desimal Biner 13 1101 123 1111011 45 101101 1023 1111111111 Yohanes Suyanto



4



1.2.3



1. SISTEM BILANGAN



Oktal



Sistem oktal adalah sistem basis-8 dengan simbol sebanyak 8 macam yaitu: 0,1,2,3,4,5,6, dan 7. Contoh: Desimal Biner Oktal 13 1101 15 123 1111011 173 45 101101 33 1023 1111111111 1777



1.2.4



Heksadesimal



Sistem heksadesimal adalah sistem basis-16 dengan simbol sebanyak 16 macam yaitu: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E dan F. Contoh: Desimal Biner Heksadesimal 13 1101 D 123 1111011 7B 45 101101 2D 1023 1111111111 3FF Sistem duodesimal adalah sistem berbasis 12 digunakan oleh orang Romawi untuk beberada keperluan. Sistem vigesimal adalah sistem bilangan berbasis 20 digunakan oleh orang Maya sedang seksagesimal berbasis 60 dan digunakan oleh orang Babylonia.



1.3



Faktor Bobot



Faktor bobot adalah nilai pengali yang dikenakan pada setiap posisi kolom dalam bilangan. Misalnya, desimal mempunyai faktor bobot sepuluh, yang artinya setiap kolom disebelah kiri mempunyai nilai bobot sebesar sepuluh kali lebih besar dari kolom sebelah kanannya. Dengan demikian setiap bergeser ke kiri faktornya menjadi 10 kali lipat. 200= 0 × 100 = 0 × 1 = 1 0 × 10 = 0 × 10 = 2 × 102 = 2 × 100 = Contoh lain untuk bilangan 312, Yohanes Suyanto



0 0 200 200 (hasil penjumlahan)



1.4. Konversi sistem bilangan



5



312= 2 × 100 = 2 × 1 = 2 1 1 × 10 = 1 × 10 = 10 3 × 102 = 3 × 100 = 300 312 (hasil penjumlahan) Bilangan biner mempunyai faktor bobot sebesar dua. Oleh karena itu bilangan 101102 dapat diuraikan menurut bobotnya menjadi: 10110= 0 1 1 0 1



1.4 1.4.1



× × × × ×



20 21 22 23 24



= = = = =



0 1 1 0 1



× × × × ×



1 2 4 8 16



= = = = =



0 2 4 0 16 22 (hasil penjumlahan)



Konversi sistem bilangan Konversi bilangan desimal menjadi biner



Pengubahan bilangan desimal menjadi bilangan biner dapat dilakukan dengan membagi dua bilangan desimal tersebut secara berulang sampai habis sambil mencatat sisa hasil bagi (modulo). Sebagai contoh bilangan desimal 19 dapat diubah menjadi bilangan biner dengan cara yang terlihat pada Gambar 1.2. 19 2 9 2 4 2 2 2 1 2



= = = = =



9 sisa 1 4 sisa 1 2 sisa 0 1 sisa 0 0 sisa 1 1910 = 1



0 0 1



12



Gambar 1.2: Konversi bilangan desimal 19 menjadi biner Untuk menguji hasil konversi tersebut dapat dilakukan dengan cara sebelumnya. Lihat Gambar 1.3. Yohanes Suyanto



6



1. SISTEM BILANGAN 10110= 0 1 1 0 1



× × × × ×



20 21 22 23 24



= = = = =



1 1 0 0 1



× × × × ×



1 2 4 8 16



= 1 = 2 = 0 = 0 = 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 dengan cara yang sama dengan konversi dari bilangan desimal menjadi bilangan biner, dengan mengganti bilangan pembagi dengan delapan. Sebagai contoh bilangan desimal 321 dapat diubah menjadi bilangan oktal dengan cara yang terlihat pada Gambar 1.4. 321 8 40 8 5 8



= 40 sisa 1 = 5 sisa 0 = 0 sisa 5 32110 = 5



0 18



Gambar 1.4: Konversi bilangan desimal 321 menjadi oktal Untuk menguji hasil konversi tersebut dapat dilakukan dengan cara sebelumnya. Lihat Gambar 1.5. 501= 1 × 80 = 1 × 1 0 × 81 = 0 × 8 5 × 82 = 5 × 64



= 1 = 0 = 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 adalah 6 dengan sisa 1, karena sebenarnya 158 = 1310 . 2 Yohanes Suyanto



1.4. Konversi sistem bilangan



1.4.3



7



Konversi bilangan desimal menjadi heksadesimal



Cara pengubahan bilangan desimal menjadi bilangan oktal dapat diterapkan juga untuk mengubah bilangan desimal menjadi heksadesimal, dengan cara mengganti bilangan pembagi dengan enam belas. Sebagai contoh bilangan desimal 321 dapat diubah menjadi bilangan heksadesimal dengan cara yang terlihat pada Gambar 1.6. 321 16 20 16 1 16



= = =



20 sisa 1 1 sisa 4 0 sisa 1 32110 =



1 4 18



Gambar 1.6: Konversi bilangan desimal 321 menjadi heksadesimal Hasil konversi inipun dapat diuji kebenarannya dengan cara yang sama seperti sebelumnya. Lihat Gambar 1.7. 141= 1 × 160 = 1 × 1 = 1 1 4 × 16 = 4 × 16 = 64 1 × 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-desimal menjadi suatu bilangan dalam sistem bilangan non-desimal lain dapat dilakukan dengan mengubahnya terlebih dahulu ke bilangan desimal, kemudian diubah ke sistem bilangan tujuan. Namun demikian pengubahan bilangan biner menjadi bilangan oktal (dan bilangan heksadesimal) dan sebaliknya dapat dilakkan secara langsung dengan cara seperti ditunjukkan pada Gambar 1.8. [h!] 1578 = |{z} 001 |{z} 101 |{z} 111 = 11011112 1 5 7 Gambar 1.8: Pengubahan bilangan oktal 157 menjadi biner Yohanes Suyanto



8



1. SISTEM BILANGAN



Cara tersebut dilakukan dengan mengubah setiap digit bilangan oktal menjadi 3 digit biner (bit). Ingat 8 adalah 23 . Sebaliknya untuk mengubah bilangan biner menjadi bilangan oktal dapat ditempuh dengan mengelompokkan setiap 3 bit dari bilangan biner dari kanan dan menerjemahkan masing-masing kelompok menjadi bilangan oktal yang sesuai. Lihat Gambar 1.9. [h!] 100110012 = |{z} 10 |{z} 011 |{z} 001 = 2318 2 3 1 Gambar 1.9: Pengubahan bilangan biner 10011001 menjadi oktal Pengubahan bilangan heksadesimal menjadi biner dapat dilakukan dengan menerjemahkan setiap digit bilangan heksadesimal menjadi 4 bit. Bilangan 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 16 3 16 Jadi 84510 Yohanes Suyanto



= 52 sisa 13(D) = 3 sisa 4 = 0 sisa 3 = 34D16



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 pembagian dilakukan dalam bilangan heksadesimal. 2B = 15 sisa 1 2 15 = A sisa 1 2 A = 5 sisa 0 2 5 = 2 sisa 1 2 2 = 1 sisa 0 2 1 = 0 sisa 1 2 Jadi 2B16 = 1010112 Cara II: Setiap digit bilangan heksadesimal diterjemahkan menjadi 4 bit. 2B16 = 0010 1011 = 1010112 2 11 Contoh 1.4 Ubah bilangan biner 110011011 menjadi bilangan heksadesimal! Jawab: Setiap 4 bit dikelompokkan untuk diterjemahkan menjadi masingmasing 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, 2 bit dapat menyatakan empat (4 = 24 ) bilangan yaitu 00, 01, 10, atau 11, tiga bit dapat menyatakan 8 (= 23 ) bilangan, dan empat bit dapat menyatakan 16 (= 24 ). Demikian seterusnya. Yohanes Suyanto



10



Yohanes Suyanto



1. SISTEM BILANGAN



BAB 2 RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL Sebelum melangkah lebih jauh, dalam bab ini akan dibahas dasar-dasar logika digital yang merupakan elemen dasar penyusunan komputer. Pembahasan dimulai dengan rangkaian logika kombinasional yang hasil keluarannya hanya tergantung pada masukan saat itu, kemudian dilanjutkan dengan rangkaian logika sekuensial yang hasil keluarannya tergantung pada masukan saat itu dan hasil keluaran sebelumnya. Dengan memahami prinsip logika digital, dapat dirancang rangkaian logika digital seperti yang ada dalam komputer.



2.1



Unit Logika Kombinasional



Unit logika kombinasional (ULK) adalah unit yang menerjemahkan sederetan masukan menjadi sederetan keluaran menggunakan fungsi-fungsi tertentu. Keluaran yang dihasilkan hanya merupakan fungsi dari masukan, dan begitu nilai masukan berubah maka nilai keluaran akan menyesuaikan. Bentuk umum dari unit logika kombinasional tercantum pada Gambar 2.1. Sederetan masukan i0 − in diumpankan ke ULK, yang mengahsilkan sederetan keluaran sesuai dengan fungsi f0 − fm . Tidak ada umpan balik dari keluaran ke masukan dalam rangkaian logika kombinasional. Masukan dan keluaran untuk ULK secara normal mempunyai 2 nilai yaitu: tinggi dan rendah. Jika sinyal (nilai) berupa nilai yang dimabil dari anggota himpunan berhingga, rangkaiannya disebut digital. Rangkaian elektronika digital menerima masukan dan keluaran dalam nilai 0 atau 1. Nilai 0 yang berarti 0 volt disebut sebagai nilai rendah dan nilai 1 yang biasanya mengacu pada 5 volt disebut nilai tinggi. Kesepakatan ini tidak 11



12



2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL i0 −→ i1 −→ .. .



unit logika kombinasional



in −→



−→ f0 (i0 , i1 ) −→ f1 (i1 , i3 , i4 ) .. . −→ 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, namun rangkaian yang menggunakan multi-nilai juga ada. Jalur yang mengirimkan data denga multi-nilai menjadi lebih efisien daripada menggunakan 2 nilai saja. Rangkaian digital multi-nilai berbeda dengan rangkaian analog karena rangkaian digital multi-nilai mempunyai variasi nilai terhingga sedangkan sinyal analog mempunyai nilai kontinu. Secara teori penggunaan rangkaian digital multi-nilai adalah menguntungkan. Namun dalam pratiknya sulit untuk membuat rangkaian multi-nilai yang handal dalam membedakan nilai lebih dari 2 macam. Oleh karena itu, logika multi-nilai saat ini digunakan secara terbatas. Dalam buku ini hanya akan dibahas mengenai rangkaian digital biner, yang mempunyai tepat 2 macam nilai yang diperbolehkan untuk masukan maupun keluaran. Dengan demikian, hanya sinyal binerlah yang digunakan dalam pembahasan selanjutnya.



2.2



Tabel Kebenaran



Pada tahun 1854 George Boole mempublikasikan kertas kerjanya dalam bentuk aljabar unruk merepresentasikan logika. Boole tertarik dengan pemikiran matematika untuk menuangkan pernyataan ”Pintu itu terbuka” atau ”Pintu itu tidak terbuka”. Aljabar Boole kemudian dikembangkan oleh Shannon dalam bentuk seperti sekarang ini. Dalam aljabar boole, perhitungan didasarkan pada variabel biner yang mempunyai satu nilai 0 atau 1. Nilai ini mengacu pada nilai 0 volt dan 5 volt seperti yang ditulis pada bagian sebelumnya. Pengacuan nilai ini dapat tertukar. Artinya nilai 0 mengacu pada +5 V dan nilai 1 mengacu pada 0 V. Untuk memahami kelakukan rangkaian digital pembahasan dititikberatkan pada nilai simbolis 0 dan 1 saja. Dengan kata lain nilai fisik dikesampingkan terlebih dulu. Sumbangan penting yang diberikan Boole adalah penyusunan tabel kebenaran, yang menyatakan hubungan logis dalam bentuk tabel. Misalnya ada ruang dengan 2 saklar A dan B yang mengendalikan lampu Z. Salah satu saklar dapat hidup atau mati, atau kedua saklar dapat hidup atau mati. Yohanes Suyanto



2.3. Gerbang Logika



13



Jika hanya ada satu saklar yang hidup maka lampu Z akan menyala. Jika kedua saklar hidup semua atau mati semua, lampu Z akan mati. Tabel kebenaran dapat disusun dengan mendaftar semua kemungkinan kombinasi keadaan saklar A dan B serta keadaan lampu Z seperti pada Tabel 2.2. Dalam tabel tersebut nilai 0 menyatakan mati sedang nilai 1 menyatakan hidup atau menyala. Dalam tabel kebenaran, semua kombinasi biner 0 dan 1 yang mungkin untuk nilai masukan didaftar dan setiap kombinasi tersebut menghasilkan nilai keluaran 0 atau 1. Untuk Gambar 2.2.(a) keluaran Z tergantung pada nilai masukan A dan B. Untuk setiap kombinasi masukan menghasilkan nilai X 0 atau 1. Kita dapat menentukan tabel lain seperti Gambar 2.2.(b) yang berarti lampu akan menyala jika A dan B kedua-duanya mati atau kedua-duanya hidup. Jumlah kombinasi yang mungkin untuk 2 masukan adalah 22 = 4. Jumlah kombinasi keluaran yang mungkin adalah 24 = 16, karena ada 4 kombinasi masukan yang masing-masing baris kombinasi masukan ada 2 kemungkinan nilai keluaran. Secara umum, karena ada 2n n kombinasi masukan untuk masukan sebanyak n, maka ada 22 kombinasi keluaran dan masukan. Masukan Keluaran A B Z 0 0 0 0 1 1 0 0 1 0 1 0 (a)



Masukan Keluaran A B Z 0 0 1 0 1 0 1 0 0 1 1 1 (b)



Gambar 2.2: Tabel kebenaran untuk saklar A dan B serta lampu Z



2.3



Gerbang Logika



Jika kita mendaftar semua kemungkinan dari kombinasi variabel 2 masukan, maka didapat 16 macam kombinasi keluaran seperti tampak pada Gambar 2.3. Fungsi-fungsi tersebut dinamakan fungsi logika Boolean. Fungsi AND akan benar (hasilnya 1) hanya jika A dan B keduanya 1, sedang fungsi OR akan benar (nilainya 1) jika A atau B bernilai 1, yang berarti juga jika keduanya bernilai 1. Fungsi akan menghasilkan salah jika keluaran bernilai 0. Oleh karena itu fungsi F alse selalu menghasilkan 0 sedang fungsi T rue selalu menghasilkan 1. Yohanes Suyanto



14



2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL



Masukan A B 0 0 0 1 1 0 1 1 Masukan A B 0 0 0 1 1 0 1 1



F alse 0 0 0 0



NOR 1 0 0 0



AND 0 0 0 1



XNOR 1 0 0 1



AB 0 0 1 0



B 1 0 1 0



Keluaran A AB 0 0 0 1 1 0 1 0 Keluaran A+B A 1 1 0 1 1 0 1 0



B 0 1 0 1



XOR 0 1 1 0



OR 0 1 1 1



A+B 1 1 0 1



NAND 1 1 1 0



T rue 1 1 1 1



Gambar 2.3: Tabel kebenaran untuk semua kemungkinan fungsi dari 2 masukan Fungsi A dan B hanya mengulang nilai masukan A dan B sedang fungsi A dan B adalah komplemen A dan B yang nilai berkebalikan dengan A dan B. Fungsi ini dapat ditulis juga dengan NOT A dan NOT B. Fungsi NAND kependekan dari NOT AND sedang NOR kependekan dari NOT OR. Fungsi XOR bernilai benar jika salah satu masuka bernilai benar, dan bukan keduaduanya benar. Fungsi XNOR adalah komplemen dari XOR. Fungsi lainnya dapat diduga sendiri artinya. Dari 16 fungsi tersebut, ada 3 fungsi paling dasar dalam gerbang logika ini adalah AND, OR dan NOT . Ke-13 fungsi lainnya dapat disusun dari 3 fungsi tersebut. Lihat Gambar 2.4. Gerbang logika adalah alat fisis yang merupakan implementasi dari fungsi Boolean. Fungsi seperti yang tertera pada Gambar 2.3 mempunyai simbol gerbang logika, dan sebagian dapat dilihat pada Gambar 2.5 dan Gambar 2.6. Untuk setiap fungsi, masukannya adalah A dan B dan sebagai keluaran adalah F . Dalam Gambar 2.5, gerbang AND dan OR sudah dijelaskan sebelumnya. Keluaran dari gerbang AND akan benar jika kedua masukan bernilai benar, dan menghasilkan salah untuk kombinasi lainnya. Keluaran dari gerbang OR adalah benar jika salah satu atau kedua masukan bernilai benar, dan bernilai salah jika kedua masukan bernilai salah. Gerbang buffer hanya meneruskan nilai masukan. Walaupun secara logika gerbang buffer tidak mempunyai peran, namun dalam praktik ini penting karena dapat mengendalikan sejumlah gerbang dengan satu sinyal saja. Gerbang NOT (disebut juga pembalik atau inverter ) menghasilkan 1 untuk masukan 0 dan menghasilkan 0 unYohanes Suyanto



2.3. Gerbang Logika



F alse AB A AB B XOR NOR XNOR B A+B A A+B NAND T rue



= = = = = = = = = = = = = =



15



0 A AND NOT B A NOT A AND B B A AND NOT B OR NOT A AND B NOT (A OR B) NOT (A AND NOT B OR NOT A AND B) NOT B A OR NOT B NOT A NOT A OR B NOT (A AND B) 1



Gambar 2.4: Fungsi AND, OR, dan NOT sebagai pembentuk fungsi-fungsi lainnya tuk masukan 1. Sekali lagi, keluaran pembalik ini adalah komplemen dari masukan. Lingkaran kecil di bagian keluaran atau masukan berfungsi juga sebagai komplemen. Dalam Gambar 2.6, gerbang NAND dan NOR mengahasilkan komplemen dari gerbang AND dan OR. Gerbang XOR menghasilkan 1 jika salah satu masukan bernilai 1, tetapi tidak keduanya. Secara umum, gerbang XOR menghasilkan 1 jika masukan yang bernilai 1 berjumlah ganjil. Ini penting untuk diingat karena gerbang XOR tidak selalu mempunyai 2 masukan. Gerbang XNOR menghasilkan komplemen dari gerbang XOR. Simbol logika seperti gambar 2.5 dan 2.6 hanya merupakan bentuk dasar. Masih banyak variasi simbol yang sering digunakan. Contohnya, dapat berupa AND dengan 3 masukan seperti Gambar 2.7a. Lingkaran kecil sebagai simbol kompelemen juga dapat dipasang pada bagian masukan seperti pada Gambar 2.7b. Secara fisis, gerbang logika bukanlah barang ajaib, karena hanya berupa rangkaian elektronika yang menghasilkan keluaran tertentu dari masukan tertentu. Misalnya pada gerbang NOT, akan menghasilkan logika 1 (+5V) Yohanes Suyanto



16



2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL A 0 0 1 1



B 0 1 0 1



A 0 0 1 1



F 0 0 0 1



A B



F = AB



A B



F =A+B



AND A 0 1



B F 0 0 1 1 0 1 1 1



OR F 0 1



A F =A BUFFER



A 0 1



F 1 0



A



F =A NOT



Gambar 2.5: Simbol gerbang logika untuk fungsi Boolean AND, OR, buffer, dan NOT untuk masukan berupa logika 0 (0V). Bagian berikut membahas mekanisme dasar bagaimana rangkaian gerbang logika bekerja.



2.4



Implementasi Elektronik dari Gerbang Logika



Secara elektronis, gerbang logika mempunyai terminal untuk dihubungkan dengan sumber tenaga yang biasanya tidak ditampilkan. Gambar 2.8a menggambarkan pembalik dengan terminal +5V dan 0V (GND) yang dimunculkan. Sinyal +5V biasanya disebut VCC yang berarti voltage collector-collector. Pada rangkaian fisis, semua terminal VCC dan GND dihubungkan dengan sumber tenaga yang cocok. Gerbang logika tersusun dari alat elektronik yang disebut transistor, yang dapat bersifat sebagai saklar yang mengendalikan sinyal elektronis kuat dengan menggunakan sinyal elektronis lemah. Transistor juga bersifat penguat yang dapat menguatkan sinyal masukan sehingga dapat digunakan untuk dihubungkan dengan banyak gerbang logika. Tanpa penguatan, kita mungkin hanya dapat mengirim sinyal ke sejumlah kecil gerbang logika, sebelum sinyal itu bercampur dengan derau sehingga tidak terdeteksi lagi. Yohanes Suyanto



2.4. Implementasi Elektronik dari Gerbang Logika A B 0 0 0 1 1 0 1 1



A 0 0 1 1



F 1 1 1 0



A B



F = AB



B 0 1 0 1



F 1 0 0 0



A B



F =A+B



NAND A B 0 0 0 1 1 0 1 1



17



NOR A 0 0 1 1



F 0 1 1 0



A F =A⊕ B B Exclusive-OR (XOR)



B 0 1 0 1



F 1 0 0 1



A F =A⊕ B B Exclusive-NOR (XNOR)



Gambar 2.6: Simbol gerbang logika untuk fungsi Boolean NAND, NOR, XOR, dan XNOR A B C



F = ABC



(a)



A F =A+B



B



(b)



Gambar 2.7: Variasi gerbang logika (a) tiga masukan dan (b) masukan dengan komplemen Simbol transistor tampak seperti Gambar 2.8c yang digunakan sebagai gerbang pembalik. Untuk masukan berupa 0 (0 V) pada basis akan menghasilkan 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. Oleh karena itu di kolektor tegangannya cukup kecil untuk dianggap logika 1. Jadi keluaran akan 0 (0 V). Karena akan selalu ada arus yang mengalir walaupun keluaran menunjukkan logika 0, maka kita perlu menentukan batas tegangan yang aman untuk nilai logika 0 dan 1. Jika kita menentukan secara ketat bahwa logika 0 adalah 0 V dan logika 1 adalah 5 V, maka kemungkinan rangkaian kita tidak bekerja sebagai mana mestinya jika keluarannya adalah 0.1 V bukan 0 V. Hal Yohanes Suyanto



18



2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL VCC R A A



Vcc = +5V F =A GND = 0V (a)



A



(b)



Gambar 2.8: (a) pembalik dengan terminal tenaga dimunculkan dan (b) rangkaian transistor untuk pembalik ini dapat terjadi dalam praktiknya. Untuk alasan ini, maka penentuan nilai tegangan untuk logika 0 dan 1 menggunakan batas ambang. Pada Gambar 2.9a logika 0 ditentukan pada tegangan dalam rentang 0 V sampai dengan 0.4 V dan logika 1 dalam rentang 2.4 V sampai dengan 5 V. Rentang tegangan pada Gambar 2.9a adalah untuk sinyal keluaran. Karena sinyal dapat mengalami pelemahan maka untuk sinyal masukan diberi berselisih 0.4 V seperti tampak pada Gambar 2.9b. Namun demikian rentang nilai tegangan yang tercantum di sini tidak mengikat, tergantung dari keluarga gerbang logika yang digunakan. 5.0 V



5.0 V Logika 1



Logika 1



2.4 V Daerah terlarang



2.0 V



Daerah terlarang



0.8 V 0.4 V 0.0 V



Logika 0



(a)



Logika 0



0.0 V



(b)



Gambar 2.9: Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang logika keluaran, (b) gerbang logika masukan Gambar 2.10 menunjukkan rangkaian transistor untuk gerbang logika NAND dan NOR. Untuk rangkaian NAND kedua masukan A dan B harus berada pada daerah tegangan logika 1 untuk menghasilkan keluaran pada daerah tegangan logika 0. Untuk rangkaian gerbang NOR, salah satu maYohanes Suyanto



2.5. Buffer Tri-State



19



VCC R VCC



AB



R



A



A+B B



A



B



(a)



(b)



Gambar 2.10: Rangkaian transistor (a) NAND 2 masukan (b) NOR 2 masukan sukan A atau B berada pada tegangan logika 1, akan mengakibatkan keluaran berada pada daerah tegangan 0.



2.5



Buffer Tri-State



Buffer Tri-state adalah seperti buffer biasa yang kita bahas sebelumnya, dengan pengecualian bahwa ada tambahan masukan untuk mengendalikan keluaran buffer. Tergantung dari masukan kendali ini, keluaran dari buffer dapat bernilai 0, 1, atau tak berfungsi. Jadi ada 3 macam keluaran. Dalam Gambar 2.11a, jika masukan kendali C bernilai 1 maka buffer bekerja seperti biasa. Namun jika masukan kendali C ini bernilai 0 maka buffer dalam keadaan tak berfungsi, tidak ada sinyal keluaran. Simbol φ digunakan untuk menyatakan keadaan tak berfungsi ini. Perlu diketahui bahwa keadaan φ tidak menunjukkan 0 atau 1, tetapi menyatakan bahwa tidak ada sinyal. Dalam istilah elektronika keadaan ini disebut berimpedansi tinggi high impedance. Buffer tri-state kendali inversi mirip dengan buffer tri-state kecuali masukan kendalinya merupakan komplemen. Lihat Gambar 2.11b. A C (a)



F = AC atau F =∅



A C (b)



F = AC atau F =∅



Gambar 2.11: Buffer tri-state dan Buffer tri-state kendali inversi Keluaran yang secara elektronis tak terhubung berbeda dengan keluaran Yohanes Suyanto



20



2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL



yang menghasilkan 0. Tidak terhubung secara elektronis berarti tidak ada sinyal elektronis sedang logika 0 terhubung dengan GND. Dengan buffer tristate memungkinkan sejumlah keluaran dihubungkan menjadi satu tanpa ada risiko hubung singkat, asal dijaga bahwa pada satu saat hanya boleh satu buffer tri-state yang hidup. Buffer tri-state penting saat implementasi register.



2.6



Sifat-sifat Aljabar Boole



Tabel 2.1 merangkum sebagian dari sifat-sifat aljabar Boole yang dapat diterapkan pada ekspresi logika Boole. Postulat (dikenal sebagai postulat Huntington) merupakan aksioma dasar untuk aljabar Boole dan tidak memerlukan pembuktian. Teorema dapat dibuktikan melalui postulat. Setiap relasi dalam tabel mempunyai bentuk AND dan OR sebagai hasil dari prinsip dualisme. Bentuk dualisme ini memungkinan mengubah bentuk AND menjadi OR dan sebaliknya bentuk OR menjadi AND. Postulat



Teorema



Relasi AB = BA A(B + C) = AB + AC 1A = A AA = 0 0A = 0 AA = A A(BC) = (AB)C A=A AB = A + B AB + AC + BC = AB + AC A(A + B) = A



Dualisme A+B+B+A A + BC = (A + B) + (A + C) 0+A=A A+A =1 1+A=1 A+A=A A + (B + C) A+B = A B (A + B)(AC)(B + C) = (A + B)(A + C) A + AB = A



Sifat Komutatif Distributif Identitas Komplemen Teorema nol dan satu Idempoten Asosiatif Involusi Teorema DeMorgan Teorema konsensus Teorema absorbsi



Tabel 2.1: Sifat-sifat dasar aljabar Boole Sifat komutatif menyatakan bahwa urutan kemunculan du avriabel dalam fungsi AND dan OR tidak mengakibatkan hasil yang berbeda. Dengan prinsip dualisme, sifat komutatif mempunyai bentuk AND (AB = BA) dan bentuk OR (A + B = B + A). Sifat distributif menunjukkan bagiaman variabel didistribusikan melalui operasi AND. Karena prinsip dualisme juga maka ada sifat distributif untuk OR. Sifat identitas menunjukkan bahwa variabel yang di-AND-kan dengan 1 atau di-OR-kan dengan 0, menghasilkan nilai variabel itu sendiri. Sifat komplemen mengakibatkan bahwa variabel yang dikenakan operasi AND terhadap komplemen variabel tersebut, menghasilkan 0 (karena paling tidak Yohanes Suyanto



2.6. Sifat-sifat Aljabar Boole



21



pasti ada 1 operan bernilai 0), dan variabel yang dikenakan operasi OR terhadap komplemennya, menghasilkan nilai 1 (karena pasti ada nilai 1 pada operannya). Teorema nol dan satu menyatakan bahwa operasi AND antara variabel dengan 0 akan menghasilkan 0 dan operasi OR antara variabel dengan 1 akan menghasilkan 1. Teorema idempoten menyatakan bahwa operasi AND atau OR antara variabel dengan dirinya sendiri menghasilkan nilai variabel itu sendiri. Teorema asosiatif menyatakan bahwa urutan operasi AND atau OR tidak mengakibatkan hasil yang berbeda. Teorema involusi menyatakan bahwa komplemen dari komplemen suatu variabel adalah variabel itu sendiri. Teorema DeMorgan, teorema konsensus, dan teorema absorbsi tidak begitu jelas sehingga kita perlu membuktikannya. Teorema DeMorgan dapat dibuktikan dengan induksi yaitu mendaftar semua kemungkinan nilai 2 variabel A dan B serta fungsi yang dibuktikan seperti Gambar 2.12. Sisi kiri dan kanan dalam ekspresi DeMorgan mempunyai nilai yang sama, inilah buktinya. Untuk teorema konsensus dan absorbsi, silakan dicoba sendiri untuk latihan. A 0 0 1 1



B 0 1 0 1



AB 1 1 1 0



= A+B 1 1 1 0



A+B 1 0 0 0



=



AB 1 0 0 0



Gambar 2.12: Pembuktian teorema DeMorgan untuk 2 variabel Tidak semua gerbang logika dibicarakan secara mendalam karena berdasarkan 3 himpunan gerbang logika yaitu {AND, OR, NOT}, {NAND}, dan {NOR}, satu himpunan dapat disusun dari gerbang-gerbang pada himpunan lainnya. Sebagai contoh misalnya implementasi OR dengan menggunakan himpunan {NAND}. Teorema DeMorgan dapat digunakan untuk menyusun gerbang OR dari gerbang NAND seperti Gambar 2.13 dan 2.14. Penjelasannya adalah sebagai berikut: A+B



= =



A+B AB



Teorema involusi Teorema DeMorgan



Untuk mendapatkan inversi (NOT) dari gerbang NAND penjelasannya adalah: Yohanes Suyanto



22



2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL A B



A B







F =A+B



F =AB



Gambar 2.13: Penyusunan NAND menjadi OR A



= A+A = AA



Teorema idempoten Teorema DeMorgan A



A B



A+B







A+B B



Gambar 2.14: Implementasi OR dengan NAND (gambar lain) Fungsi AND dalam {NAND} (Gambar 2.15) dijelaskan sebagai berikut: AB A B



=



F = AB



AB







Teorema involusi A B



F = AB



Gambar 2.15: Penyusunan NAND menjadi AND Ekuivalensi di antara fungsi-fungsi logika menjadi penting dalam praktik, karena suatu jenis gerbang logika kemungkinan mempunyai karakteristik yang lebih baik daripada yang lainnya.



2.7



Bentuk Sum-of-Product dan Diagram Logika



Misalnya kita akan membuat fungsi yang lebih kompleks daripada sekedar gerbang logika sederhana, seperti fungsi mayoritas yang tertera sebagai tabel kebenaran pada Gambar 2.16. Fungsi mayoritas akan benar jika lebih dari separo masukan bernilai benar. Fungsi ini sering digunakan pada pembetulan kesalahan dengan menganggap bahwa nilai yang paling banyak muncul sebagai nilai hasil, atau kadang disebut pula sebagai fungsi voting. Karena pembahasan sampai di sini belum ada gerbang sederhana yang dapat digunakan secara langsung untuk implementasi fungsi mayoritas, maka kita akan melakukan transformasi dari persamaan AND-OR dua-level dan mengimplementasikannya dalam bentuk gerbang logika dari himpunan Yohanes Suyanto



2.7. Bentuk Sum-of-Product dan Diagram Logika



Indeks minterm



0 1 2 3 4 5 6 7



A



B



C F



0 0 0 0 1 1 1 1



0 0 1 1 0 0 1 1



0 1 0 1 0 1 0 1



23



0 0 0 1 0 1 1 1



Gambar 2.16: Tabel kebenaran untuk fungsi mayoritas



{AND, OR, NOT} (misalnya). Disebut persamaan dua-level karena ada satu level bentuk AND dilanjutkan dengan satu level bentuk OR. Fungsi Boolean untuk mayoritas ini bernilai benar jika nilai F pada tabel kebenaran bernilai benar. Dengan demikian F akan benar untuk nilai A = 0, B = 1, dan C = 1, atau A = 1, B = 0, dan C = 1, dan seterusnya seperti dalam tabel. Salah satu cara untuk menuliskan persamaan logika adalah dengan menggunakan bentuk sum-of-product atau SOP, yang merupakan kumpulan AND dari variabel yang terlibat kemudian dioperasikan dengan OR. Bentuk persamaan logika untuk fungsi mayoritas tertulis pada Persamaan 2.1. Tanda ’+’ berarti operasi OR dan bukan penambahan secara aritmetika.



F = ABC + ABC + ABC + ABC



(2.1)



Dengan mengamati persamaan tersebut kita dapat menentukan bahwa diperlukan 4 buah AND untuk implementasi suku perkalian ABC, ABC, ABC, dan ABC. Keluaran dari gerbang AND kemudian dihubungkan ke masukan gerbang OR 4-masukan seperti Gambar 2.17. Rangkaian ini menunjukkan fungsi mayoritas, dan kita dapat mengeceknya dengan memasukkan semua kombinasi yang mungkin untuk masukan dan mengamati hasilnya. Yohanes Suyanto



24



2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL A



B



C



F



Gambar 2.17: Implementasi fungsi mayoritas dengan dua-level AND-OR. Inverter tidak dihitung sebagai level. Jika setiap suku mengandung tepat masing-masing variabel 1 kali, dalam bentuk komplemen atau bukan, maka suku ini disebut minterm. Minterm mempunyai nilai 1 dalam keluaran tabel kebenaran. Dengan demikian minterm adalah minimum term yang menghasilkan benar. Sebagai alternatif fungsi dapat ditulis dalam bentuk jumlahan dari kombinasi yang benar. Persamaan 2.1 dapat ditulis ulang menjadi persamaan 2.2 dengan indeks adalah minterm indeks seperti Gambar 2.16. X F = (3, 5, 6, 7) (2.2) Notasi ini digunakan secara resmi sebagai persamaan Boolean karena hanya berisi minterm saja. Persamaan 2.1 dan 2.2 disebut sebagai notasi resmi untuk bentuk SOP.



2.8



Bentuk Product-of-Sum



Sebagai pasangan dari bentuk sum-of-product, persamaan Boolean dapat direpresentasikan dalam bentuk product-of-sum (POS). Persamaan dalam bentuk POS berupa koleksi rangkaian OR yang keluarannya dihubungkan bersama dengan gerbang AND. Salah satu cara untuk membentuk POS adalah dengan jalan melakukan komplemen terhadap bentuk SOP, dan kemudian diterapkan teorema DeMorgan. Sebagai contoh, lihat kembali fungsi mayoritas dalam bentuk tabel kebenaran di Gambar 2.16, bentuk komplemennya adalah baris-baris yang menghasilkan keluaran 0, seperti persamaan 2.3: F = A B C + A BC + ABC + AB C Yohanes Suyanto



(2.3)



2.8. Bentuk Product-of-Sum



25



Dilakukan komplemen pada kedua ruas didapat persamaan 2.4: F = A B C + A BC + ABC + AB C



(2.4)



Penerapan teorema DeMorgan yang berbentuk W + X + Y + Z = W X Y Z didapat persamaan 2.5: F = (A B C) (A BC) (ABC) (AB C)



(2.5)



Penerapan teorema DeMorgan yang berbentuk W XY Z = W +X +Y +Z pada faktor dalam kurung didapat persamaan 2.6 F = (A + B + C)(A + B + C) + (A + B + C)(A + B + C)



(2.6)



Persamaan 2.6 berbentuk POS, dan berisi 4 maxterms, yang membolehkan setiap variabel muncul tepat 1 kali dalam bentuk komplemen maupun tidak. Maxterm, misalnya (A + B + C), mempunyai nilai 0 untuk satu baris dalam tabel kebenaran. Persamaan yang hanya berisi maxterm dalam bentuk POS dikatakan sebagai persamaan product-of-sum. Rangkaian OR-AND sebagai implementasi dari persamaan 2.5 tampaka pada Gambar 2.18. A B C



F



Gambar 2.18: Rangkaian OR-AND dua-level implementasi dari fungsi mayoritas. Inverter tidak dihitung sebagai level Salah satu motivasi penggunaan POS daripada SOP adalah jika menghasilkan bentuk persamaan Boole yang lebih sederhana. Persamaan Boole yang lebih sederhana dapat menghasilkan rangkaian yang lebih sederhana, namun ini tidak pasti karena ada sejumlah faktor yang tidak tergantung langsung pada ukuran persamaan Boole, seperti kompleksitas topologi perkawatan. Yohanes Suyanto



26



2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL



Cacah gerbang adalah ukuran kompleksitas rangkaian yang menunjukkan cacah semua gerbang logika yang digunakan. Cacah masukan gerbang adalah ukuran lain kompleksitas rangkaian yang menunjukkan jumlah masukan ke semua gerbang logika. Untuk rangkaian pada Gambar 2.17 dan Gambar 2.18, cacah gerbang adalah 8 dan cacah masukan gerbang adalah 19 untuk bentuk SOP dan POS. Dalam kasus ini tidak ada perbedaan kompleksitas rangkaian antara bentuk SOP dan POS, tetapi untuk kasus lain perbedaannya menjadi nyata. Ada banyaj variasi metode untuk mereduksi kompleksitas rangkaian digital, beberapa di antaranya dibahas pada Bab 3.



2.9



Logika Positif dan Negatif



Sampai saat ini kita berasumsi bahwa tegangan tinggi dan rendah berpadanan dengan logika 1 dan 0, atau BENAR dan SALAH, yang dikenal sebagai active high atau logika positif. Kita dapat membuat pernyataan yang sebaliknya: tegangan rendah untuk logika 1 dan tegangan tinggi untuk logika 0. Penggunaan logika negatif kadang-kadang lebih disukai daripada logika positif untuk aplikasi yang sifatnya menghalangi daripada membolehkan. Gambar 2.19 menunjukkan ilustrasi pasangan gerbang AND-OR dan NAND-NOR untuk logika positif dan negatif. Logika positif gerbang AND berlaku seperti logika negatif gerbang OR. Gerbang logika secara fisis sama tanpa memperhatikan logika positif atau negatif, hanya interpretasi sinyalnya berubah. Pencampuran logika positif dan negatif dalam satu sistem sebaiknya dihindari untuk mencegah kerancuan, tetapi kadang-kadang hal ini tidak dapat dihindari. Untuk kasus ini, suatu teknik yang dikenal dengan nama ”pencocokan gelembung” membantu untuk menjaga agar logikanya berjalan dengan benar. Idenya adalah rangkaian logika positif bernilai positif dan dipasangi ”gelembung” (yang berarti inversi) untuk semua masukan dan keluaran untuk dihubungkan dengan rangkaian logika negatif. Dengan demikian sinyal yang keluar dari gelembung adalah komplemen dari sinyal yang memasukinya. Perhatikan rangkaian yang ditunjukkan oleh Gambar 2.20a, 2 rangkaian logika positif digabungkan dengan gerbang AND dan dihubungkan ke sistem logika positif. Sistem yang ekuivalen secara logis ditunjukkan pada Gambar 2.20b. Dalam proses pencocokan gelembung, gelembung dipasang pada setiap masukan atau keluaran dari rangkaian aktif rendah seperti Gambar 2.20c. Untuk memudahkan analisis rangkaian, gelembung masukan aktif rendah Yohanes Suyanto



2.10. Data Sheet



27



Level tegangan



A rendah rendah tinggi tinggi



B rendah tinggi rendah tinggi



F rendah rendah rendah tinggi



A B



gerbang AND fisis



F



B rendah tinggi rendah tinggi



F tinggi tinggi tinggi rendah



A B



gerbang NAND fisis



F



Level logika negatif



A B 0 0 0 1 1 0 1 1



A 1 1 0 0



A B



Level tegangan



A rendah rendah tinggi tinggi



Level logika positif



F 0 0 0 1



F = AB



B 1 0 1 0



A B



F 1 1 1 0



F =A+B



Level logika positif



Level logika negatif



A B 0 0 0 1 1 0 1 1



A 1 1 0 0



A B



F 1 1 1 0



F = AB



A B



B 1 0 1 0



F 0 0 0 1



F =A+B



Gambar 2.19: Logika positif dan negatif untuk pasangan AND-OR dan NAND-NOR perlu dicocokkan dengan gelembung keluaran aktif rendah. Dalam Gambar 2.20c ada gelembung yang tidak cocok karena hanya ada 1 gelembung dalam 1 garis. Teorema DeMorgan digunakan untuk konversi dari gerbang OR menjadi gerbang NAND dengan masukan yang dikomplemenkan. Gambar 2.20d menunjukkan gelembung yang sudah cocok.



2.10



Data Sheet



2.11



Komponen Digital



Desain rangkaian digital tingkat tinggi biasanya menggunakan sekumpulan gerbang yang dikemas dalam bentuk komponen bukan gerbang logika tunggal. Hal ini mengakibatkan bahwa kompleksitas rangkaian dapat dikurangi dan pemodelannya menjadi sederhana. Beberapa komponen dibahas dalam bagian berikut. Yohanes Suyanto



28



2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL logika positif



Logika positif x0 Logika positif x1 (a)



(b) logika negatif



Logika negatif x0 Logika negatif x1



logika negatif



Logika negatif x0 Logika negatif x1



logika negatif



Logika negatif x0 Logika negatif x1



(c)



(d)



Gambar 2.20: Proses pencocokan gelembung



2.11.1



Level Integrasi



Sampai saat ini kita membahas desain unit logika kombinasional. Karena kita bekerja dengan gerbang tunggal, maka kita bekerja pada level integrasi skala kecil (small scale integration (SSI), yang meliputi chip dengan isi 10 - 100 komponen. Pengertian komponen di sini berbeda dengan komponen sebelumnya, yaitu mengacu pada transitor dan elemen diskrit lain. Dalam integrasi skala menengah atau mediam scale integration (MSI), isi chip berkisar antara 100-1000 komponen. Integrasi skala besar atau large scale integration (LSI) mengacu pada chip yang berisi 1000-10.000 komponen, dan integrasi skala sangat besar atau very large scale integration (VLSI) berisi komponen yang lebih banyak lagi.



2.11.2



Multiplekser



Multiplekser atau MUX (mutiplexer ) adalah komponen yang mempunyai banyak masukan dan 1 keluaran. Diagram blok dan table kebenaran dari MUX 4-ke-1 ditunjukkan oleh Gambar 2.21. Keluaran F adalah sama dengan masukan pada jalur yang dipilih oleh kendali masukan A dan B. Misalnya, jika AB = 00, maka keluaran F adalah nilai pada masukan D0 (baik 0 maupun 1). Rangkaian yang sesuai untuk MUX ini terlihat pada Gambar 2.22 Saat kita mendesain rangkaian dengan MUX, biasanya kita menggunakan bentuk kotak seperti Gambar 2.21, bukan bentuk terperinci seperti Gambar 2.22. Dengan cara ini, gambar rangkaian menjadi lebih mudah dipahami. Multiplekser juga dapat digunakan untuk implemtasi fungsi Boolean. Gambar 2.23 menunjukkan penggunaan MUX sebagai fungsi mayoritas. Data masukan diambil langsung dari tabel kebenaran fungsi mayoritas, dan masukan kendali dihubungkan langsung ke variabel A, B, dan C. Implementsai fungsi menggunakan MUX adalah dengan memasang 1 pada jalur masukan yang merupakan minterm dan mengisi 0 untuk lainnya. Walaupun Yohanes Suyanto



2.11. Komponen Digital D0 D1 Masukan D0 D1



29



00 01 10 11



AB F



0 0 1 1



0 1 0 1



F D0 D1 D2 D3



A B Kendali masukan F = A BD0 + A BD1 + A BD2 + ABD3 Gambar 2.21: Blok diagram dan tabel kebenaran untuk MUX 4-ke-1 D0 D1 F



D2 D3



A



B



Gambar 2.22: Implementasi MUX 4-ke-1 dengan AND-OR sebagian masukan tidak digunakan namun penggunakan MUX untuk implementasi fungsi Boolean namun banyak juga fungsi Boolean yang menggunakannya, sebab proses desainnya dan implementasinya menjadi lebih sederhana. Kasus lain penggunakan MUX 4-ke-1 untuk fungsi dengan 3 variabel ditunjukkan pada Gambar 2.24. Data msukan diambil dari himpunan {0,1,C, C}, dan pengelompokannya dapat dilihat pada tabel kebenaran. Jika AB = 00 maka F = 0, apapun nilai C, sehingga kita isi 0 untuk jalur masukan 00 pada MUX. Jika AB = 01, maka F = 1 apapun nilai C, sehingga kita isi 1 pada jalur 01 pada MUX. Jika AB = 10 maka F = C, karena untuk C = 0 maka F = 0 dan untuk C = 1 maka F = 1, sehingga kita isi C pada jalur 10 pada MUX. Akhirnya untuk AB = 11, maka F = C, dan kita isi jalur 11 pada MUX dengan C. Dengan cara ini, kita dapat mengimplementasikan fungsi 3 variabel dengan menggunakan MUX 2 variabel. Yohanes Suyanto



30



2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL ABC F 000 0 001 0 010 0 011 1 100 0 101 1 110 1 111 1



0 0 0 1 0 1 1 1



000 001 010 011 100 101 110 111



F



A B C Kendali masukan Gambar 2.23: Implementasi MUX 8-ke-1 untuk fungsi mayoritas ABC F 000 0 001 0 010 1 011 1 100 0 101 1 110 1 111 0



0 1 C



0 1 C C



00 01 10 11



F



A B



C



Gambar 2.24: Implementasi MUX 4-ke-1 untuk fungsi dengan 3 variabel



2.11.3



Demultiplekser



Demultiplekser atau DEMUX (demultiplexer ) adalah kebalikan dari MUX. Diagram blok untuk DMUX 1-ke-4 dengan kendali masukan A dan B serta tabel kebenaran yang sesuai ditunjukkan oleh Gambar 2.25. DEMUX mengirim data masukan D ke salah satu jalur keluaran Fi yang ditentukan oleh kendali masukan. Rangkaian DEMUX 1-ke-4 ditunjukkan pada Gambar 2.26. Aplikasi DEMUX digunakan untuk mengirim data dari satu sumber ke salah satu dari sejumlah tujuan, seperti tombol pada elevator kepada wahana elevator terdekat. DEMUX tidak biasa digunakan pada implementasi fungsi Boolean umumnya, walaupun cara ini juga bisa dilakukan. Yohanes Suyanto



2.11. Komponen Digital



00 01 10 11



D



31



D0 D1 D0 D1



A B



DAB



F0 F1 F2 F3



0 0 0 0 1 1 1 1



0 0 0 0 1 0 0 0



0 0 1 1 0 0 1 1



0 1 0 1 0 1 0 1



0 0 0 0 0 1 0 0



0 0 0 0 0 0 1 0



0 0 0 0 0 0 0 1



Gambar 2.25: Diagram blok dan tabel kebenaran untuk DEMUX 1-ke-4 F0 F1 D F2 F3



A



B



Gambar 2.26: Rangkaian DEMUX 1-ke-4



2.11.4



Dekoder



Dekoder menerjemahkan secara logika kode menjadi artinya. Pada satu saat tepat hanya satu keluaran yang bernilai 1, yang ditentukan oleh kendali input. Diagram blok dan tabel kebenaran dari dekoder 2-ke-4 dengan kendali masukan A dan B tercantum pada Gambar 2.27. Rangkaian dekoder yang sesuai dengan itu terlihat pada Gambar 2.28. Dekoder dapat digunakan untuk mengendalikan rangkaian lain, dan menonaktifkan rangkaian lain. Karena alasan ini, kita tambahkan jalur Enable yang kan menghasilkan keluaran 0 semua jika Enable ini diisi 0, yang secara logika mirip dengan DEMUX dengan masukan 1. Salah satu aplikasi dekoder adalah untuk menerjemahkan alamat memori menjadi lokasi fisis. Dekoder juga dapat digunakan untuk implementasi fungsi Boolean. Karena setiap jalur keluaran berkorespondensi dengan Yohanes Suyanto



32



2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL Enable=1



A B Enable



00 01 10 11



AB



D0 D1 D0 D1



0 0 1 1



0 1 0 1



Enable=0



D0 D1 D2 D3



1 0 0 0



0 1 0 0



0 0 1 0



0 0 0 1



AB



0 0 1 1



0 1 0 1



D0 D1 D2 D3



0 0 0 0



0 0 0 0



0 0 0 0



0 0 0 0



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



D2 D3



Enable Gambar 2.28: Rangkaian dekoder 2-ke-4 minterm yang berbeda, maka fungsi dapat diimplementasikan dengan operasi OR pada keluaran yang berkorespondensi dengan minterm yang bernilai benar. Contohnya Gambar 2.29 adalah implementasi fungsi mayoritas menggunakan dekoder 3-ke-8. Keluaran yang tidak digunakan dibiarkan tak terhubung.



A B C



000 001 010 011 100 101 110 111



M



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



2.11. Komponen Digital



2.11.5



33



Enkoder Prioritas



Enkoder menerjemahkan sekumpulan masukan menjadi kode biner, dan dapat dipahami sebagai kebalikan dari dekoder. Enkoder prioritas adalah salah satu bentuk enkoder yang memperhatikan urutan masukan. Diagram blok dan tabel kebenarannya ada pada Gambar 2.30. Prioritas dalam enkoder ini maksudnya adalah bahwa masukan Ai mempunyai prioritas lebih tinggi daripada Ai+1 . Keluaran berupa nilai 00,01,10, atau 11 tergantung dari jalur masukan yang aktif dengan prioritas tertinggi. Jika tidak masukan yang aktif, keluaran menghasilkan nilai bawaan A0 (F1 F 0 = 00).



A0 A1 A2 A3



A0 A1 A2 A3



00 01 10 11



F0 F1



F0 = A0 A1 A3 + A0 A1 A2 F1 = A0 A2 A3 + A0 A1



0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1



0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1



0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1



0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1



F0 F1



0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0



0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0



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



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



Yohanes Suyanto



34



2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL A0 A1



F0



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) adalah komponen yang berisi matriks AND diikuti dengan matriks OR. PLA dengan 3 masukan dan 2 keluaran ditunjukkan oleh Gambar 2.32. Tiga masukan A, B, dan C dan komplemennya tersedia sebagai masukan untuk 8 gerbang AND yang menghasilkan 8 suku perkalian. Keluaran dari gerbang AND dihubungkan ke masukan semua gerbang OR yang menghasilkan keluaran fungsi F0 dan F1 . Sekering yang dapat diprogram diletakkan pada setiap persilangan pada matriks AND dan OR. PLA diprogram untuk fungsi tertentu dengan memutus sekering pada matriks. Pada saat sekering diputus pada gerbang AND, maka masukan tersebut terhubung ke nilai logika 1. Demikian juga jika sekering diputus pada gerbang OR, maka masukan terhubung ke logika 0. Sebagai contoh bagaimana penggunaan PLA, kita lihat implementasi fungsi mayoritas dengan memakai PLA 3 × 2 (fungsi dengan 3 masukan variabel × 2 keluaran). Untuk keperluan penyederhanaan ilustrasi, bentuk seperti Gambar 2.33 yang dipergunakan, bukan 2.32. Dengan catatan bahwa jalura tunggal pada masukan gerbang AND mewakili 6 jalur masukan, dan jalur tunggal pada setiap gerbang OR mewakili 8 jalur masukan. Tanda bulatan kecil pada persimpangan menunjukkan tempat koneksi dibuat. Dalam Gambar 2.32 fungsi mayoritas hanya menggunakan setengah dari PLA, dan sisanya dapat dipergunakan untuk fungsi lain. Yohanes Suyanto



2.11. Komponen Digital A



35 B



C



F0



F1



Gambar 2.32: PLA 3 masukan 2 keluaran



PLA adalah komponen yang banyak gunanya sebagai rangkaian digital umum. Keunggulan dari penggunaan PLA adalah karena hanya ada sedikit masukan dan keluaran, dan ada banyak gerbang logika di antara masukan dan keluaran. Proses minimisasi jumlah koneksi dalam rangkaian menjadi penting untuk modularisasi sistem menjadi komponen. PLA sangat ideal untuk keperluan ini, dan banyak program otomatisasi desain PLA untuk fungsifungsi tertentu. Untuk menjaga konsep modularitas sering PLA dinyatakan sebagai kotak hitam seperti pada Gambar 2.34, dan diasumsikan bahwa isi PLA dengan mudah dapat dibuat menggunakan program secara otomatis. Yohanes Suyanto



36



2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL A



B



C



ABC ABC ABC ABC



F0



F1



Gambar 2.33: Penyederhanaan PLA



A B C



PLA



F0 F1



Gambar 2.34: PLA dalam bentuk kotak hitam



2.11.7



Penggunaan PLA untuk Penjumlah Ripplecarry



Sebagai contoh lain implementasi PLA dalam rangkaian digital, kita akan mendesain rangkaian untuk menjumlah 2 bilangan. Penjumlahan secara biner mirip dengan penjumlah desimal menggunakan tangan. Bilangan biner yang dijumlahkan dari kanan ke kiri, menghasilkan hasil dan sisa (carry) di setiap bit. Dua bit dan sisa sebelumnya dijumlahkan pada setiap posisi bit, Yohanes Suyanto



2.11. Komponen Digital



37



sehingga kemungkinan masing-masing nilai serta hasil jumlahan dan sisanya dapat disusun seperti pada Gambar 2.35. Ai Bi Ci



0 0 0 0 1 1 1 1



0 0 1 1 0 0 1 1



Si Ci+1



0 1 1 0 1 0 0 1



0 1 0 1 0 1 0 1



Bi Ai



0 0 0 1 0 1 1 1



Ci Full adder Ci+1 Si



Gambar 2.35: PLA dalam bentuk kotak hitam Tabel kebenaran pada Gambar 2.35 menjelaskan mengenai elemen yang disebut sebagai penjumlah penuh (full adder ), dan gambar simbolnya ada disebelahnya. Penjumlah setengah (half adder ), dapat digunakan pada bagian penjumlah paling kanan yang menjumlahkan 2 bit dan menghasilkan jumlah dan sisa. Penjumlah penuh di lain pihak menjumlah 2 bit beserta sisa pada proses sebelumnya dan juga menghasilkan jumlah dan sisa. Penjumlah setengah tidak digunakan pada kasus ini untuk meminimumkan macam komponen. Dengan 4 penjumlah penuh yang dipasang berjenjang dapat dihasilkan penjumlah biner 4 bit, seperti nampak pada Gambar 2.36. Penjumlah paling kanan tetap menggunakan penjumlah penuh dengan menghubungkan masukan c0 dengan 0. b3 a3



c3



b2 a2



c2



b1 a1



c1



b0 a0



Full adder



Full adder



Full adder



Full adder



s3



s2



s1



s0



c0



c4 Gambar 2.36: Implementasi penjumlah 4 bit menggunakan penjumlah penuh berjenjang Perlu diperhatikan bahwa nilai jumlah belum dapat dihitung sampai sisa dari penjumlah penuh sebelumnya dihitung. Rangkaian disebut penjumlah ripple carry karena nilai yang benar seperti bergeser dari kanan ke kiri. Yohanes Suyanto



38



2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL



Walaupun gambar yang diperlihatkan nampak seperti paralel, namun sebenarnya penjumlahan bit dilakukan secara serial dari kanan ke kiri. Hal inilah yang merupakan kelemahan dari rangkaian ini. Pendekatan desain penjumlah 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 alat bantu desain menggunakan komputer untuk VLSI biasanya lebih suka menggunakan PLA daripada MUX atau yang lain karena PLA berbentuk keseragamannya.



2.12



Soal Latihan



2.1 Gambar 2.13 menunjukkan bahwa gerbang OR dapat dibentuk dari gerbang NAND, sedang Gambar 2.15 menunjukkan bahwa AND dapat diimplementasikan dari gerbang NAND. Tunjukkan secara diagram Yohanes Suyanto



2.12. Soal Latihan



39



logika bahwa gerbang XOR dapat diimplementasikan sepenuhnya dengan 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 kebenaran untuk rangkaian tersebut. A B



F



C G



Gambar 2.38: 2.4 Susun tabel kebenaran untuk gerbang XOR dengan 3 masukan! 2.5 Hitung cacah gerbang dari enkoder prioritas 4-ke-2 yang ditunjukkan oleh Gambar 2.31. Gerbang pembalik ikut diperhitungkan. 2.6 Rancanglah rangkaian logika yang merupakan implementasi dari fungsi f berikut dengan menggunakan gerbang AND, OR, dan NOT. f (A, B, C) = ABC + A B C + ABC 2.7 Rancanglah rangkaian logika yang merupakan implementasi dari fungsi g berikut dengan menggunakan gerbang AND, OR, dan NOT. Jangan berusaha untuk mengubah bentuk persamaannya! g(A, B, C, D, E) = A(BC + B C) + B(CD + E) 2.8 Apakah kedua fungsi f dan g berikut ekuivalen? Tunjukkan bagaimana Anda mendapatkan jawabannya! f (A, B, C) = ABC + ABC g(A, B, C) = (A ⊕ C)B 2.9 Tulis persamaan Boolean yang menerangkan fungsi F pada rangkaian berikut. Tulis jawaban Anda dalam bentuk SOP (tanpa tanda kurung). Yohanes Suyanto



40



2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL



2.10 Komparator 4 bit adalah komponen dengan 2 buah masukan 4-bit A (A3 A2 A1 A0 ) dan B(B3 B2 B1 B0 ) dan keluaran 1 bit. Keluaran akan 0 jika A=B, dan 1 untuk lainnya. Rancanglah komparator 4 bit dengan gerbang yang sudah dipelajari dalam bab ini. Petunjuk: Pikirkanlah bahwa komparator 4 bit dapat disusun dari kombinasi komparator 1 bit. 2.11 Gunakan hanya gerbang NOR untuk merealisasikan operasi XOR! 2.12 Ubahlah rangkaian 2.39 dalam bentuk rangkaian NOR! A B C F



A C D B Gambar 2.39:



2.13 Gambar diagram waktu yang menunjukkan operasi rangkaian Gambar 2.40. Anggap bahwa masukan mulai dari ABC = 000 dan berakhir pada ABC = 111. Abaikan waktu tunda dalam gerbang. Q



C



P A B A Gambar 2.40: 2.14 Jabarkan tabel kebenaran dari rangkaian Gambar 2.40. 2.15 Rancanglah sebuah rangkaian kombinasional yang mempunyai 3 masukan dan menghasilkan 3 keluaran yang berupa komplemen 2 (2’s complement) dari masukan. Yohanes Suyanto



2.12. Soal Latihan



41



2.16 Rancanglah rangkaian kombinasional yang mempunyai 4 masukan dan menghasilkan 4 keluaran yang berupa komplemen 2 dari masukan. Bit pertama adalah bit tanda. 2.17 Desain rangkaian dekoder BCD-to-7-segment dengan masukan berupa 4-bit BCD. Rangkaian harus menghasilkan 7 keluaran, yang masingmasing terhubung dengan 1 segmen pada penampil 7-segmen seperti Gambar 2.41. Saat keluaran dari rangkaian bernilai 1 maka segmen yang terhubung dengannya adakan menyala, selain itu segmen tersebut akan mati. Penampil 7-segmen dapat menampilkan nilai BCD 0 sampai dengan 9.



Gambar 2.41: 2.18 Dua bilangan 2-bit akan dijumlahkan. Desain rangkaian penjumlahnya. 2.19 Susun sebuah penjumlah penuh dan sebuah half-adder untuk membentuk penjumlah 2 bilangan 2-bit. 2.20 Bandingkan kompleksitas rangkaian Soal 2.18 dan 2.19. Mana yang lebih cepat? 2.21 Desain rangkaian 2-level yang menjumlah digit BCD dengan 3. Implementasikan rangkaian tersebut dengan half-adder kemudian dengan full-adder. Bandingkan kompleksitas dan kecepatannya. 2.22 Realisasikan fungsi KESAMAAN dengan 2 masukan menggunakan: (a) gerbang NAND (b) gerbang NOR



Yohanes Suyanto



42



2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL



Yohanes Suyanto



BAB 3 REDUKSI LOGIKA DIGITAL KOMBINASIONAL Dalam bab ini akan dibahas pendekatan secara sistematik untuk mereduksi mengurangi) jumlah komponen yang digunakan dalam rangkaian digital. Pertama akan kita lihat cara mereduksi ukuran dari ekspresi logika kombinasional, yang dapat berhubungan dnegan jumlah dan ukuran gerbag dalam implementasi rangkaian digital. Kemudian akan kita bahas cara mereduksi jumlah state (keadaan) dalam finite state machine (FSM), dan melihat lebih jah mengenai perancangan FSM yang mengakibatkan perubahan jumlah dan ukuran gerbang logika dalam implementasi FSM.



3.1



Reduksi Ekspresi 2 Level



Dalam banyak kasus norma SOP (sum-of-products) atau POS (product-ofsums) bukan dalam bentuk yang minimal baik dalam jumlah maupun ukuran. Karena persamaan Boolean yang lebih kecil akan diterjemahkan dalam jumlah masukan gerbang yang lebih sedikit dalam rangkaian, maka reduksi persamaan menjadi penting untuk dipertimbangkan saat rangkaian menjadi begitu kompleks. Tiga metode untuk mereduksi persamaan Boolean akan dibahas dalam bagian ini: 1. reduksi secara aljabar 2. reduksi dengan peta Karnaugh 3. reduksi tabular 43



44



3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL



Metode reduksi secara aljabar merupakan metode reduksi pokok dan mendasari 2 metode lainnya. Metode ini juga metode paling abstrak, dan hanya berdasar pada teorema akjabar Boole. Metode peta Karnaugh dan tabular kenyataannya adalah implementasi dengan kertas dan pensil dari metode aljabar. Kita bahas keduanya karena membolehkan kita untuk menggambar proses reduksi, dan dengan demikian menjadi lebih mudah dimengerti bagaimana proses reduksi terjadi. Proses manual ini hanya efektif untuk fungsi dengan 6 variabel atau kurang. Untuk fungsi dengan variabel yang lebih banyak, perlu bantuan komputer untuk melakukannya.



3.1.1



Metode Aljabar



Metode aljabar adalah penerapan aljabar Boole, lihat Bab 2, untuk tujuan reduksi ukuran ekspresi. Perhatikan persamaan Boolean berikut yang diambil dari Bab 2: F = ABC + ABC + ABC + ABC



(3.1)



Sifat aljabar Boole dapat diterapkan pada Persamaan 3.1 menjadi bentuk yang lebih sederhana seperti Persamaan 3.2 sampai dengan 3.4: F = ABC + ABC + AB(C + C)



Sifat distributif



(3.2)



F = ABC + ABC + AB(1)



Sifat komplemen



(3.3)



F = ABC + ABC + AB



Sifat identitas



(3.4)



Gambar 3.1 merupakan rangkaian dari Persamaan 3.4. Bandingkan dengan Gambar 2.17. Jumlah gerbang berkurang dari 8 menjadi 6 dan jumlah masukan ke gerbang berkurang dari 19 menjadi 13. Kita dapat mereduksi Persamaan 3.4 lebih lanjut. Dengan menggunakan sifat idempoten, kita buat Persamaan 3.5, yang mengenalkan suku ABC. F = ABC + ABC + AB + ABC



Sifat idempoten



(3.5)



Kita dapat menerapkan sifat distributif, komplemen, dan identitas sekali lagi sehingga didapat persamaan yang lebih sederhana sebagai berikut: F = ABC + AC(B + B) + AB



Sifat distributif



(3.6)



F = ABC + AC(1) + AB



Sifat komplemen



(3.7)



F = ABC + AC + AB



Sifat identitas



(3.8)



Yohanes Suyanto



3.1. Reduksi Ekspresi 2 Level A



B



45



C



F



Gambar 3.1: Implementasi fungsi mayoritas direduksi Pers 3.8 mempunyai gerbang input lebih sedikit yaitu 11. Kita iterasi metode ini sekali lagi dan mereduksi persamaan lebih lanjut seperti ditunjukkan berikut ini: F = ABC + AC + AB + ABC



Sifat idempoten



(3.9)



F = BC(A + A) + AC + AB F = BC(1) + AC + AB F = BC + AC + AB



Sifat distributif Sifat komplemen Sifat identitas



(3.10) (3.11) (3.12)



Persamaan 3.12 sekarang menjadi bentuk 2 level minimal, dan tidak dapat direduksi lagi.



3.1.2



Metode Peta Karnaugh



Metode peta Karnaugh adalah teknik untuk mereduksi persamaan logika digital dengan menggunakan grafik (gambar) sehingga dapat diikuti prosesnya secara visual. Variabel yang muncul di banyak minterm (suku) adalah calon terkuat untuk dieliminasi. Dasar dari peta Karnaugh adalah diagram Venn yang asalnya digunakan untuk visualisasi konsep himpunan. Diagram Venn untuk variabel biner berisi persegi panjang yang menunjukkan bentuk SOP biner. Diagram Venn untuk 3 variabel A, B, dan C ditunjukkan dalam Gambar 3.2. Satu lingkaran menunjukkan 1 variabel. Di dalam lingkaran bersangkutan variabel tersebut bernilai 1, sedang di luarnya bernilai 0. Irisan menunjukkan minterm, seperti gambar tersebut. Yohanes Suyanto



46



3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL ABC A



B AB C



ABC



ABC ABC



ABC



A BC C



Gambar 3.2: Diagram Venn untuk 3 variabel biner Daerah yang diarsir adalah calon kuat untuk direduksi. Dalam gambar napak bahwa daerah ABC dapat dikombinasi dengan setiap 3 daerah lainnya untuk menghasilkan suku yang terreduksi. Peta Karnaugh adalah bentuk hubungan atau relasi yang ditransformasi dari diagram Venn. Seperti dalam diagram Venn, dalam peta Karnaugh, minterm yang berbeda tepat 1 nilai variabel diletakkan berdekatan. Peta Karnaugh untuk fungsi mayoritas ditunjukkan pada Gambar 3.3. Setiap sel dalam peta Karnaugh bersesuaian dengan entri dalam fungsi tabel kebenaran dari fungsi yang sama, dan karena ada 8 entri dalam table kebenaran maka ada8 sel dalam peta Karnaugh. Angka 1 dalam sel menunjukkan nilai 1 (benar) dalam entri tabel kebenaran. Angka 0 diisikan pada sel lainnya, namun untuk kejelasan angka 0 ini diganti dengan kosong saja. Label yang tercantum di sisi atas dan kiri tersusun dalam bentuk kode Gray, yang memastikan bahwa tepat 1 nilai variabel saja yang berubah di antara sel yang berdekatan sepanjang sisi atas ataupun kiri. A 1 C



1



1 B



Yohanes Suyanto



1



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 komplemen dari aljabar Boole. Pada Gambar 3.3 nampak beberapa nilai 1 yang bertetangga, sehingga dapat direduksi. Pengelompokan sel bertetangga dibuat sehingga membentuk persegi panjang dengan ukuran pangkat 2 sel, seperti 1, 2, 4, 8, dan seterusnya. Ukuran kelompok meningkat berarti lebih banyak variabel yang dieliminasi, sehingga selalu diusahakan untuk membentuk kelompok sebesa-besarnya. Kita mulai proses reduksi dengan membuat kelompok 1-an yang tidak masuk dalam kelompok yang lebih besar. Penentuan kriteria kebertetanggaan menjadi penting, karena pengelompokan yang berbeda menghasilkan persamaan yang berbeda pula. Contoh pengelompokan seperti Persamaan 3.13. ABC + ABC = AB(C + C) = AB(1) = AB (3.13) A 1 C



1



1



1



B Untuk fungsi mayoritas, 3 kelompok dengan ukuran 2 sel dapat dibentuk, seperti Gambar 3.4. Setiap sel yang berisi 1 mempunyai paling sedikit 1 tetangga yang berisi 1, sehingga tidak ada kelompok yang berukuran 1 sel. Untuk kelompok berukuran 2 sel, ternyata semua sel berisi 1 masuk dalam kelompok berukuran 2 sel. Ada 1 sel yang merupakan anggota dari 3 kelompok. Hal ini diperbolehkan mengingat sifat idempoten aljabar Boole. Dengan sifat komplemen variabel yang berbeda pada sel bertetangga akan dieliminasi, dan menghasilkan persamaan minimal (Persamaan 3.14). M = BC + AC + AB



(3.14)



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



48



3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL



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



A B C



F



Gambar 3.5: Fungsi mayoritas direduksi



Perhatikan pemilihan metode pengelompokan dengan mulai dari sel yang tidak dapat dimasukkan ke dalam kelompok yang lebih besar. Jika kita mulai dari kelompok paling besar terlebih dahulu hasilnya dapat berbeda dan kurang minimal. Gambar 3.6 menunjukkan peta Karnaugh hasil pendekatan dengan mulai dari sel yang tidak dapat dimasukkan dalam kelompok yang lebih besar. Hasilnya ada 4 kelompok dengan anggota masing-masing 2 sel. Gambar 3.7 menunjukkan proses reduksi dengan mulai dari kelompok terbesar terlebih dahulu. Hasilnya ada 5 kelompok, 1 berukuran 4 sel dan 4 berukuran 2 sel. Jadi, persamaan minimal tidak dihasilkan jika diawali dengan mencari kelompok terbesar. Kedua persamaan pada kedua gambar menghasilkan rangkaian yang secara logis benar. Namun demikian salah satu rangkaian tidak menghasilkan rangkaian minimal. Yohanes Suyanto



3.1. Reduksi Ekspresi 2 Level



49 A 1 1



1



1 D



1



1



1



C 1 B F = ABC + ACD + ABC + ACD Gambar 3.6: Pengelompokan mulai dari sel yang tidak masuk dalam kelompok yang lebih besar A 1 1



1



1 D



1



1



1



C 1 B F = BD + ABC + ACD + ABC + ACD Gambar 3.7: Pengelompokan mulai dari kelompok yang paling besar Contoh lain, perhatikan peta Karnaugh pada Gambar 3.8. Tepi peta Karnaugh dapat dilipat secara horisontal dan vertikal, dan keempat sudut secara logis bertetangga. Persamaan minimal yang sesuai juga tertera pada gambar. Yohanes Suyanto



50



3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL A 1



1



1



1 D 1



1



C 1



1



1 B



F = BCD + B D + AB Gambar 3.8: Posisi sudut pada peta Karnaugh secara logis bertetangga Don’t care Perhatikan peta Karnaugh pada Gambar 3.9. Isi sel berupa d artinya don’t care, boleh dianggap bernilai 1 atau 0, mana yang menguntungkan. Kondisi ini adalah kondisi yang tidak pernah muncul selama operasi. Misalnya, X = 1 menyatakan kondisi saat elevator berada di lantai dasar, sedang Y = 1 menyatakan kondisi saat elevator berada di lantai tertinggi, maka kedua kondisi itu tidak mungkin terjadi bersamaan. Dengan demikian isian pada tabel kebenaran pada X = Y = 1 diisi dengan d. A 1



d 1



1 D



1



1



C d B



Yohanes Suyanto



3.1. Reduksi Ekspresi 2 Level



51



Gambar 3.10: Peta Karnaugh dengan 5 variabel Gambar 3.9: Peta Karnaugh yang sama dapat menghasilkan persamaan minimal berbeda Jika d di pojok kanan atas dianggap 1 sedang d di kiri bawah dianggap 0, maka hasilnya F = B C D + BD Namun jika d di pojok kanan atas yang dianggap 0 dan d di kiri bawah dianggap 1, maka hasilnya F = A B D + BD Dengan demikian ada kemungkinan persamaan minimal untuk fungsi boolean bisa lebih dari satu. Dalam praktik, suatu persamaan lebih disukai daripada persamaan lainnya, mungkin karena untuk mengurasi fan-out salah satu variabel, atau mintermnya dapat dipakai bersama dengan fungsi lain.



3.1.3



Dimensi yang lebih tinggi



Gambar 3.10 menunjukkan peta Karnaugh dengan 5 variabel. Perhatikan cara pemberian label pada sisi atas. Ingat bahwa sel yang bertetangga berbeda 1 bit saja. A 1



1 1



1



1



1 E



1



1



1



1



D 1



1 B C



C



F = A B D E + A C D E + BE Yohanes Suyanto



52



3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL A 1



1



F 1



1



1



1 E



D



F



1



1 B C



C



F = B C E F + ABDE



Gambar 3.11: Peta Karnaugh dengan 6 variabel Peta Karnaugh dengan 6 variabel juga dapat dibuat seperti ditunjukkan oleh Gambar 3.11. Peta Karnaugh dapat diperluas lagi untuk 7 variabel atau lebih, namun tampilannya akan susah dipahami. Oleh karena itu untuk jumlah variabel lebih dari 4 lebih cocok menggunakan pendekatan algoritmis dan mudah diimplementasikan menggunakan program komputer. Rangkaian multilevel Peta Karnaugh mereduksi ukuran ekspresi 2 level. Proses ini tidak menghasilkan bentuk minimal dari rangkain multilevel. Misalnya persamaan 3.14 adalah bentuk minimal 2 level yang terdiri atas level AND (3 buah) dan level OR (1 buah) sehingga membentuk SOP. Diagram yang sesuai dengan itu adalah Gambar 3.1 yang mempunyai cacah gerbang masukan sebanyak 9. Bentuk 3 level dapat dibuat dengan mengeluarkan salah satu faktor (misalnya A) secara aljabar, seperti Persamaan 3.15. M = BC + A(C + B) Yohanes Suyanto



(3.15)



3.1. Reduksi Ekspresi 2 Level



53



A B C



M



Gambar 3.12: Implementasi fungsi mayoritas 3 level Diagram logika yang sesuai dengan persamaan tersebut ada pada Gambar 3.12 yang mempunyai gerbang masukan sebanyak 8, sehingga lebih sederhana daripada rangkaian 2 level. Namun demikian rangkaian 3 level mempunyai tundaan gerbang yang lebih besar. Rangkaian 2 level mempunyai tundaan delay sebesar 2 karena ada 2 gerbang pada jalur terpanjang antara masukan dan keluaran. Rangkaian pada Gambar 3.12 mempunyai tundaan gerbang sebesar 3. Variabel isian peta Bentuk yang lebih sederhana untuk menampilkan peta Karnaugh memungkinkan mengisi variabel pada sel. Contohnya, perhatikan peta Karnaugh yang ada pada Gambar 3.13. Hanya digunakan 8 sel walaupon ada 4 variabel, yang secara normal membutuhkan 24 = 16 sel. Variabel isian peta D diperlakukan sebagai 1 untuk keperluan pengelompokan, yang dalam kasus ini sel tersebut masuk dalam 1 kelompok sendiri karena tidak ada tetangga D yang bernilai 1. Hasil persamaan terreduksi ada pada gambar juga. Perhatikan bahwa variabel D muncul pada minterm A B C D, dan D diasumsikan bernilai 0 atau 1, walaupun untuk keperluan pengelompokan D dianggap bernilai 1. A D C



1



1 B



Yohanes Suyanto



54



3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL



Gambar 3.13: Peta Karnaugh dengan isian variabel D Gambar 3.14: Peta Karnaugh dengan 3 variabel isian A D C



d



E



1



1



E



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 menghasilkan BC. Berikutnya variabel D diproses menghasilkan A C D. Variabel E giliran berikutnya, menghasilkan BE. Akhirnya variabel E diproses, menghasilkan A B C E. Perhatikan bahwa variabel isian dan komplemennya diproses terpisah, seperti E pada contoh ini. Bentuk persamaan reduksi ada pada Persamaan 3.16. F = BC + A CD + BE + A B C E



3.1.4



(3.16)



Metode Tabulasi



Pendekatan otomatis untuk reduksi ekspresi Boolean biasa digunakan pada fungsi dengan keluaran tunggal atau jamak. Metode tabulasi atau juga dikenal dengan metode Quine-McCluskey, membentuk perkalian yang berbeda pada 1 variabel secara berturut-turut, dan kemudian dihasilkan himpunan suku terreduksi yang dapat mencakup semua fungsi keluaran. Proses ini lebih mudah diimplementasikan pada komputer daripada metode peta, dan hasil suku-suku reduksinya dapat digunakan oleh lebih dari 1 fungsi. Reduksi fungsi tunggal Tabel kebenaran pada Gambar 3.15 menggambarkan F yang merupakan fungsi 4 variabel A, B, C, dan D, yang menyertakan 3 don’t care. Proses reduksi secara tabel dimulai dengan mengelompokkan minterm berdasarkan jumlah nilai 1-nya. Minterm 0000, tidak mempunyai nilai 1, sehingga dijadikan grup tersendiri. Minterm 0001, 0010, 0100, dan 1000 mempunyai Yohanes Suyanto



3.1. Reduksi Ekspresi 2 Level



55



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



A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1



B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1



C D F 0 0 d 0 1 1 1 0 0 1 1 1 0 0 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1 0 1 0 1 1 1 d 0 0 0 0 1 1 1 0 0 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 kemungkinan minterm yang mempunyai dua nilai 1, yang dapat masuk dalam grup ini. Hanya minterm 0011, 0101, 0110, dan 1010 yang menghasilkan keluaran 1, sehingga minterm inilah yang masuk dalam grup. Ada 3 minterm yang menghasilkan keluaran 1 dan mempunyai tiga nilai 1, yaitu 0111, 1011, dan 1110. Akhirnya grup yang beranggotakan empat nilai 1 ada satu minterm, dan merupakan grup terakhir. Untuk tabel kebenaran yang lebih besar, proses dapat berlanjut terus. Grup dikelompokkan lagi sehingga grup yang berbeda tepat 1 jumlah nilai 1-nya dapat digabung, seperti Gambar 3.16a. Yohanes Suyanto



56



3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL Keadaan A B C 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 1 0 1 1 1 0 1 1 1 0 1 1 1 (a)



awal D √ 0 √ 1 √ 1 √ 1 √ 0 √ 0 √ 1 √ 1 √ 1 √ 1



Setelah reduksi I A B C D 0 0 0 ∗ √ 0 0 1 √ 0 0 1 √ 0 1 1 √ 0 1 1 √ 0 1 1 √ 1 0 1 0 1 1 ∗ 1 0 1 ∗ √ 1 1 1 √ 1 1 1 √ 1 1 1 (b)



Setelah reduksi II A B C D 0 1 ∗ 1 1 ∗ 1 1 ∗ (c)



Gambar 3.16: Proses reduksi tabulasi Langkah berikutnya dalam proses reduksi adalah membentuk sebuah konsensus antara setiap pasang grup bertetangga untuk semua suku dengan beda nilai tepat 1 variabel saja. Bentuk umum teorema konsensus dari Bab 2 adalah: XY + XZ + Y Z = XY + XZ (3.17) Suku Y Z adalah tidak perlu karena sudah tercakup oleh suku yang lain, sehingga dapat dieliminasi. Secara aljabar, teorema tersebut dapat dibuktikan sebagai berikut: XY + XZ + Y Z = = = = =



XY + XZ + Y Z(X + X) XY + XZ + XY Z + XY Z XY + XY Z + XZ + XY Z XY (1 + Z) + XZ(1 + Y ) XY + XZ



Teorema konsensus juga mempunyai bentuk dualitasnya: (X + Y )(X + Z)(Y + Z) = (X + Y )(X + Z)



(3.18)



Ide dari penerapan konsensus pada reduksi tabulasi adalah untuk mengambil keuntungan dari sifat invers dari aljabar Boole, mirip seperti yang dipergunakan pada peta Karnaugh. Misalnya, 0000 dan 0001 berbeda nilainya pada variabel D, sehingga 000 dimasukkan dalam daftar pada bagian atas tabel reduksi seperti terlihat pada Gambar 3.16b. Tanda garis bawah Yohanes Suyanto



3.1. Reduksi Ekspresi 2 Level



57



menunjukkan posisi variabel yang dieliminasi, dalam contoh ini D. Minterm √ 0000 dan 0001 pada Gambar 3.16a ditandai dengan cek ( ) untuk menunjukkan bahwa entri ini sudah tercakup pada tabel reduksi. Setelah semua suku pada grup pertama disilangkan dengan semua suku pada grup kedua, kemudian beralih untuk membentuk konsensus antara grup kedua dan ketiga. Ada kemungkinan bahwa beberapa suku tidak dapat dikombinasi menjadi suku yang lebih kecil karena berbeda pada lebih dari 1 variabel. Contohnya, suku 0001 dan 0011 dapat dikombinasi menjadi suku lebih kecil 00 1 namun 0001 dan 0110 tidak dapat dikombinasi karena berbeda pada 3 variabel. √ Sekali suku sudah ditandai dengan , suku tersebut masih dapat dipergunakan untuk proses reduksi karena sifat idempotens. Tujuan dari langkah dalam proses ini adalah untuk menemukan semua kemungkinan suku terreduksi, sehingga kita dapat menemukan himpunan terkecil suku yang masuk dalam fungsi pada langkah berikutnya. Proses berlanjut untuk grup-grup sisanya. Setiap suku yang tidak tercakup dalam pengelompokkan konsensus ditandai dengan asteris (∗) untuk menunjukkan bahwa ini adalah suku prime implicant. Pada Gambar 3.16a terlihat bahwa setelah reduksi pertama semua minterm sudah terpakai sehingga tidak ada prime implicant. Setelah reduksi pertama, kita dapat melanjutkan untuk iterasi berikutnya. Dua suku dapat dikombinasi jika keduanya hanya berbeda 1 variabel saja. Garis bawah harus pada posisi yang sama. Entri pertama pada Gambar 3.16b mempunyai garis bawah pada kolom paling kanan, sehingga tidak ada entri pada grup kedua yang cocok. Oleh karena itu entri ini ditandai dengan ∗, yang menunjukkan bahwa suku ini adalah prime implicant dan tidak dapat direduksi lagi. Kita beralih ke grup kedua dan ketiga pada Gambar 3.16b. Suku 00 1 dan 01 1 dikombinasi menjadi suku 0 1 seperti tertera pada Gambar 3.16c. Proses terus terlanjut hingga reduksi kedua lengkap. Dalam penyusunan tabel reduksi pada Gambar 3.16c, prime implicant dari tabel sebelumnya (Gambar 3.16b) tidak diikutkan. Proses berlanjut sampai hanya tersisa prime implicant. Pada contoh ini, proses berhenti setelah reduksi kedua dan menghasilkan 3 suku tersisa sebagai prime implicant seperti pada Gambar 3.16c. Setiap prime implicant dikumpulkan untuk menyusun fungsi, walaupun belum minimal. Untuk meminimalkan suku-suku yang digunakan, disusun tabel pilihan seperti pada Gambar 3.17. Setiap prime implicant dibuat 1 baris dalam table pilihan dan kolom berisi minterm dari fungsi asli yang harus dicakup. Kondisi don’t care tidak perlu dicakup sehingga tidak dimasukkan dalam daftar. Yohanes Suyanto



58



3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL prime Minterm implicant 0001 0011 0101 0110 0111 1010 1101 √ 000 √ √ ∗011 √ ∗101 √ √ √ √ 0 1 √ √ 11 √ √ √ ∗11 Gambar 3.17: Tabel pilihan



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



Himpunan 1 000 11



Himpunan 2 0 1



Gambar 3.18: Tabel pilihan terreduksi Sisa prime implicant dalam tabel pilihan terreduksi membentuk himpunan pilihan, yang digunakan untuk mendapatkan himpunan minimal. Seperti pada Gambar 3.18, ada 2 himpunan prime implicant yang menampung 2 minterm sisa. Karena himpunan 2 adalah suku paling sederhana, maka suku inilah yang dipilih untuk membentuk persamaan minimal untuk F , yang terdiri atas prime implicant esensial dan prime implicant pilihan Yohanes Suyanto



3.1. Reduksi Ekspresi 2 Level



59



pada himpunan 2 (Persamaan 3.19). F = ABC + ABC + BD + AD



(3.19)



Selain menggunakan cara visual untuk mendapatkan himpunan dari himpunan pilihan, dapat juga dilakukan proses secara algoritmis. Proses dimulai dengan menyatakan persamaan yang mencakup semua prime implicant dalam himpunan pilihan pada Gambar 3.18. Ekspresi logis ditulis untuk setiap kolom pada tabel pilihan terreduksi seperti berikut: Kolom 0001 0011



Penjumlahan (X + Y) (Y + Z)



Untuk mencari himpunan yang mencakup semua kolom, prime implicant dikelompokkan sehingga paling tidak setiap kolom ditandai sekali. Ini berarti bahwa relasi berikut harus terpenuhi, dengan G adalah adalah suku dalam tabel pilihan terreduksi: G = (X + Y )(Y + Z) Dengan menerapkan sifat-sifat aljabar Boole didapat: G = (X + Y )(Y + Z) = XY + XZ + Y + Y Z = XZ + Y Setiap suku dalam persamaan ini menyatakan himpunan prime implicant yang mencakup suku-suku dalam tabel pilihan terreduksi. Suku terkecil (Y ) merupakan himpunan prime implicant (0 1) terkecil yang mencakup sukusuku tersisa. Hasil akhir yang didapat sama seperti cara sebelumnya: F = ABC + ABC + BD + AD



(3.20)



Reduksi Fungsi Jamak Metode reduksi tabel digunakan untuk mereduksi fungsi Boolean tunggal. Namun demikian cara ini juga dapat dipergunakan untuk mereduksi fungsi jamak yang menggunakan variabel yang sama, untuk menghasilkan persamaan kolektif yang kecil. Metode berikut menggunakan cara dengan mencari irisan dari semua kemungkinan kombinasi dari suku-suku yang dapat digunakan bersama, dan kemudian memilih himpunanan terkecil yang mencakup seluruh fungsi. Sebagai contoh kita gunakan tabel kebenaran yang ada pada Gambar 3.19 yang menunjukkan 3 fungsi dengan 3 variabel. Notasi mi menunjukkan minterm yang indeksnya i menurut tabel kebenaran. Yohanes Suyanto



60



3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL Minterm m0 m1 m2 m3 m4 m5 m6 m7



A 0 0 0 0 1 1 1 1



B 0 0 1 1 0 0 1 1



C F0 0 1 1 0 0 0 1 1 0 0 1 0 0 0 1 1



F1 0 1 0 1 1 0 1 1



F2 0 0 1 1 0 0 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) F0,2 (A, B, C) F1,2 (A, B, C) F0,1,2 (A, B, C)



= = = =



m3 + m7 m3 + m7 m3 + m6 + m7 m3 + m7



Dengan menggunakan metode reduksi yang dijelaskan sebelumnya, dapat disusun prime implicant untuk masing-masing fungsi: Fungsi F0 F1 F2 F0,1 F0,2 F1,2 F0,1,2



prime implicant 000, 11 0 1, 1 0, 11, 11 1 11 11 11, 11 11



Daftar prime implicant direduksi dengan mengeliminasi prime implicant yang sudah tercantum pada fungsi dengan orde yang lebih tinggi. Misalnya, 11 muncul di F0,1,2 , sehingga tidak perlu dicantumkan dalam fungsi yang lain. Demikian juga, 11 muncul di F1,2 , dan tidak perlu dimunculkan di F1 ataupun F2 . Demikian seterusnya, sehingga didapat: Yohanes Suyanto



3.1. Reduksi Ekspresi 2 Level Fungsi F0 F1 F2 F0,1 F0,2 F1,2 F0,1,2



61 prime implicant 000 0 1, 1 0 1 kosong kosong 11 11



Kemudian dapat disusun tabel pilihan keluaran jamak seperti pada Gambar 3.20. Baris berisi prime implicant dan kolom menunjukkan minterm yang harus tercantum pada masing-masing fungsi. Baris akan diisi dengan × jika prime implicant yang bersangkutan tidak dapat digunakan pada fungsi di kolom-kolom yang bersangkutan. Misalnya, prime implicant 000 digunakan oleh fungsi F0 tetapi tidak digunakan oleh fungsi F1 maupun F2 , sehingga daerah perpotongan baris 000 dan kolom F1 dan F2 diisi ×. Prime plicant F0 F1 F1 F2 F1,2 F0,1,2



Minterm im∗000 ∗0 1 ∗1 0 ∗1 ∗11 ∗ 11



F0 (A, B, C) m0 √



m3



m7



× × × ×



× × × × √



× × × × √



F1 (A, B, C)



F2 (A, B, C)



m1



m3



m4



m6



m7



m2



m3



m6



m7



× √



× √



×







×







×



×



×



×



× √



× √ √



× × × √



× × × √



× × × √



× × × √















√ √



Gambar 3.20: Tabel pilihan keluaran jamak Bentuk minimal dari persamaan keluaran didapat dengan cara yang mirip dengan proses reduksi tabular. Kita mulai dengan prime implicant esensial. Misalnya, minterm m0 pada fungsi F0 hanya dicakup oleh prime implicant 000, sehingga 000 adalah esensial. Baris yang berisi 000 kemudian dihapus dari tabel, demikian juga kolom yang berisi tanda cek pada baris tersebut. Proses berlanjut sampai semua fungsi sudah tercakup atau tinggal prime implicant nonesensial yang tersisa. Cara menentukan himpunan terkecil dari prim implicant yang mencakup semua fungsi adalah dengan cara yang sudah dijelaskan pada bagian sebelumnya. Tanda asterisk pada Gambar 3.20 adalah prime implicant esensial. Pada kasus ini, hanya ada satu prime implicant nonesensial (11 ) yang tersisa, tetapi semua mintermnya sudah terwakili oleh prime implicant esensial, seYohanes Suyanto



62



3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL



hingga tidak perlu dibuat tabel reduksi. Persamaan terreduksinya menjadi: F0 (A, B, C) = A B C + BC F1 (A, B, C) = AC + AC + BC F2 (A, B, C) = B



Yohanes Suyanto



3.2. Soal Latihan



3.2



63



Soal Latihan



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



64



3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL



f (A, B, C, D) =



X



(2, 8, 10, 11) +



X



d (0, 9)



3.7 Dari suatu rangkaian logika yang tersedia, apakah mungkin disusun tabel kebenaran yang mengandung don′ tcare? Jelaskan! 3.8 Multiplekser 4-ke-1 dapat dinyatakan dalam tabel kebenaran berikut: A B 0 0 0 1 1 0 1 1



F D0 D1 D2 D3



Gunakan peta Karnaugh yang berisi variabel untuk menghasilkan persamaan Boolean SOP terreduksi! 3.9 Fungsi F (A, B, C) = Π(1, 5, 6, 7), cari rangkaian 2 level minimum dengan NAND dan NOR. 3.10 Dengan F (A, B, C, D) = A CD + BD + ACD, realisasikan dengan menggunakan jumlah gerbang sesedikit mungkin. 3.11 Untuk fungsi-fungsi berikut: (i) F = Σm (1, 4, 5, 6, 8, 9, 11) + Σd (7, 15) (ii) F = Σm (2, 3, 6, 8, 9, 11, 13) + Σd (1, 12, 14) (iii) F = Σm (3, 6, 7, 8, 9, 10, 18, 21, 22, 23, 26, 29, 30) dengan menggunakan peta karnaugh, cari: (a) bentuk SOP minimum F (b) bentuk SOP minimum F (c) bentuk POS minimum F (d) bentuk POS minimum F 3.12 Selesaikan Soal 3.11 dengan metode tabular (Quine-McCluskey). 3.13 Dengan menggunakan peta karnaugh sederhanakan fungsi berikut: (a) F (A, B, C, D) = Σm (2, 3, 4, 10, 12, 13) + Σd (11, 14, 15) Yohanes Suyanto



3.2. Soal Latihan



65



(b) F (A, B, C, D, E) = Σm (0, 7, 11, 13, 14, 15, 16, 23, 28, 29, 30, 31) + Σd (1, 2, 17, 19, 25) 3.14 Selesaikan Soal 3.13 menggunakan metode tabular (QM). 3.15 Desain sebuah rangkaian pembanding (komparator) yang memiliki 2 masukan bilangan 2 bit (A dan B) dan menghasilkan 3 keluaran yang sesuai dengan A = B, A > B, dan A < B. Keluaran bernilai 1 jika nilai sesuai dengan kondisi masukan, selain itu bernilai 0. Gunakan gerbang NAND saja. Carilah bentuk rangkaian minimum. 3.16 Desain komparator seperti Soal 3.15 menggunakan gerbang XOR saja. Bandingkan kompleksitas dari 2 desain tersebut. 3.17 Rancanglah suatu rangkaian logika yang mempunyai 2 kendali (C1 dan C2 ) dan 1 masukan (D). Rangkaian ini mempunyai satu keluaran (Z) yang akan bernilai 1 jika C1 = C2 = 1. Untuk kondisi lainnya Z = 0 jika C1 = C2 = 0; Z = D jika C1 = 1 dan C2 = 0; serta Z = D jika C1 = 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) =



X



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



X



d (2, 6)



3.19 Untuk rangkaian Gambar 3.21 A B A C



F C Gambar 3.21:



(a) Cari bentuk minimum dari F. Yohanes Suyanto



66



3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL



A B C F (b) Lengkapi diagram waktu di atas, asumsikan gerbang bersifat ideal. (c) Jika setiap gerbang mempunyai waktu tunda sebesar δt, tentukan waktu minimum yang diperlukan antara 2 perubahan masukan, agar rangkaian beroperasi dengan benar. (d) Gambar diagram waktu dengan memperhatikan waktu tunda δt. 3.20 Untuk rangkaian yang ditunjukkan pada Gambar 2.40, tulis P dan Q sebagai fungsi yang minimum dari A, B, dan C. 3.21 Tentukan 4 bentuk fungsi rangkaian 2 level yang minimum untuk P dan Q pada Gambar 2.40. 3.22 Gunakan metode tabulasi untuk mereduksi keluaran jamak berikut: Minterm m0 m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 m11 m12 m13 m14 m15 Yohanes Suyanto



A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1



B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1



C D 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1



F0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 1 1



F1 0 0 0 0 0 1 0 1 0 0 1 0 0 1 1 1



F2 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1



3.2. Soal Latihan



67



3.23 Rangkaian penjumlah tidak penuh (half-adder ) mempunyai 2 masukan dan menghasilkan 2 keluaran: satu sesuai dengan nilai jumlah sedang lainnya sesuai dengan nilai simpanan. Rancang bentuk rangkaian minimal penjumlah tersebut dengan menggunakan NAND saja. 3.24 Rangkaian penjumlah penuh (full-adder ) mempunyai 3 masukan dan menghasilkan 2 keluaran: satu sesuai dengan nilai jumlah ketiganya sedang lainnya sesuai dengan nilai simpanan. Rancang bentuk rangkaian minimal penjumlah tersebut. 3.25 Desain sebuah penjumlah penuh dengan menggunakan half-adder dan tambahan gerbang minimum. 3.26 Untuk rangkaian Gambar 3.22, tentukan: (a) Tabel kebenarannya. (b) Fungsi keluarannya. (c) Rangkaian AND-OR minimumnya. (d) Rangkaian OR-AND minimumnya. Y Y



F1



X Z



F2 Gambar 3.22:



Yohanes Suyanto



68



3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL



Yohanes Suyanto



BAB 4



RANGKAIAN LOGIKA DIGITAL SEKUENSIAL



Telah kita pelajari tentang unit logika kombinasional yang keluarannya hanya tergantung pada masukan saat itu atau dengan kata lain keluarannya merupakan fungsi dari masukan saja. Unit logika sekuensial atau sering disebut sebagai mesin keadaan berhingga (finite state machine, FSM), keluarannya bergantung pada masukan dan keluaran sebelumnya. FSM dibedakan dengan CLU karena selain menghasilkan keluaran juga menghasilkan keadaan (state). Hal ini penting untuk implementasi rangkaian memori dan juga unit kendali pada komputer. 69



70



4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL i0 Input in



.. . .. .



Unit logika kombinasional



Q



Q



Q



Q



.. .



f0 Output f1



.. .



CK



D



CK



Sinyal Sinkronisasi



D



Gambar 4.1: Model klasik dari FSM Model klasik dari FSM tampak pada Gambar 4.1. Bagian CLU memiliki masukan dari jalur i0 − ik yang berasal dari luara FSM dan juga masukan keadaan s0 − sn yang berasal dari dalam FSM sendiri. CLU menghasilkan bit keluaran f0 − fm dan bit keadaan terbaru. Dengan adanya elemen tunda maka keadaan sekarang bertahan terus sampai ada sinyal sinkronisasi yang menyebabkan nilai Di menggantikan nilai si sebagai bit keadaan baru, karena diambil dari Qi .



4.1



Flip-Flop S-R



Flip-flop adalah susunan gerbang logika yang menjaga keluaran tetap stabil walaupun masukan sudah tidak aktif. Keluaran flip-flop ditentukan oleh nilai masukan dan juga nilai keluaran sebelumnya, sehingga unit logika kombinasional tidak cukup untuk menangani hal ini. Flip-flop dapat digunakan untuk menyimpan informasi bit tunggal, dan berlaku sebagai pembangun memori komputer. Jika kedua masukan pada gerbang NOR dua masukan bernilai 1, maka keluarannya akan 0, selain itu keluarannya akan 1. Seperti dibahas pada bab sebelumnya, waktu yang diperlukan untuk menghasilkan keluaran dari masukan gerbang logika tidaklah seketika tetapi sebesar ∆τ yang merupakan Yohanes Suyanto



4.1. Flip-Flop S-R



71



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



A B



∆τ



A+B



∆τ Gambar 4.2: Gerbang NOR dengan rangkaian tunda Waktu perambatan melalui gerbang NOR mempengaruhi operasi flipflop. Perhatikan flip-flop set-reset (S-R) pada Gambar 4.3, yang berisi gerbang NOR yang saling silang. Jika kita isikan 1 pad S, maka Q akan bernilai 0 setelah waktu tunda ∆τ , yang menyebabkan Q bernilai 1 (dianggap R bernilai 0) setelah waktu tunda 2∆τ . Akibatnya adalah selama penggalan waktu tertentu ada waktu singkat sebesar ∆τ yang Q dan Q bernilai 0, yang secara logis tidak dibenarkan, tetapi kondisi ini dapat diperbaiki dengan konfigurasi tuan-hamba (master-slave) yang akan kita bahas nanti. Jika kemudian S diisi dengan 0, maka Q tetap, sampai nilai R beranjak menjadi 1. Dengan demikian flip-flop S-R dapat menyimpan nilai bit tunggal dan dapat berlaku sebagai elemen memori paling dasar. Qi Si Ri



S



R



Q



Q



0 0 0 0 1 1 1 1



0 0 1 1 0 0 1 1



0 1 0 1 0 1 0 1



Qi+1



0 0 1 (dilarang)



1 0 1 (dilarang)



∆τ



Gambar 4.3: Flip-flop S-R dengan NOR Jika diperhatikan lebih lanjut dari tabel kebenaran pada Gambar 4.3 dapat disimpulkan bahwa jika: 1. S = 0, R = 0 maka Qi+1 = Qi (tetap seperti sebelumnya) Yohanes Suyanto



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 sifat flip-flop, yang seharusnya nilai Q berlawanan dengan nilai Q, sehingga dalam penggunaan, nilai S = R = 1 perlu dihindari.



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



Ri 0 1 0 1



Qi+1 Qi 0 1 (terlarang)



Gambar 4.4: Tabel kebenaran Flip-flop S-R Ada banyak cara untuk menyusun rangkaian sebuah flip-flop S-R. Penggunaan gerbang NOR yang saling silang untuk flip-flop S-R adalah hanya salah satu cara. Dua gerbang NAND yang dihubungkan saling silang juga dapat menghasilkan flip-flop S-R, dengan nilai S = R = 1 mengakibatkan keluaran tidak berubah. Dengan menggunakan teorema DeMorgan kita dapat mengubah gerbang NOR dalam flip-flop S-R menjadi gerbang AND seperti dalam Gambar 4.5. Dengan penggeseran gelembung, maka gerbang AND dapat diubah menjadi gerbang NAND. Penggeseran gelembung pada S dan R mengakibatkan pertukaran label S dan R. S R



S



Q Q







R



S



Q Q







R



Q Q







R



Q



S



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 keluaran rangkaian lain, dalam bentuk rangkaian logika berjenjang. Hal ini biasa terjadi pada rangkaian logika konvensional. Masalahnya adalah transisi dapat terjadi pada waktu yang tidak diinginkan. Yohanes Suyanto



4.2. Flip-flop S-R Berdetak



73



Perhatikan rangkaian pada Gambar 4.6. Jika sinyal A, B, dan C semuanya berubah dari keadaan 0 menjadi 1, maka sinyal C akan mencapai gerbang XOR sebelum A dan B keluar dari gerbang AND. Akibatnya nilai S akan 1 walaupun sebentar sampai keluaran dari gerbang AND sudah mantap dan dioperasian XOR dengan C. Jika nilai 1 pada S bertahan cukup lama maka akan mengakibatkan nilai yang tersimpan dalam flip-flop bisa berubah. A B C C A B



S Q



AB S



R



Q R Q Q



Diagram waktu Gambar 4.6: Rangkaian yang mengandung hazard Jika keadaan akhir dari flip-flop sensitif terhadap kedatangan sinyal maka dapat menimbulkan glitch, yang sebenarnya merupakan keadaan atau keluran yang tidak diinginkan. Rangkaian yang dapat menghasilkan glitch disebut rangkaian yang mengandung hazard. Untuk menyelaraskan pengendalian terhadap rangkaian yang tergantung pada keadaan (misalnya flip-flop) maka digunakanlah detak (clock ) yang akan mengaktifkan rangkaian dalam selang waktu tertentu secara serentak. Rangkaian detak menghasilkan sinyal 1 dan 0 bergantian terus menerus dengan periode waktu yang tetap sehingga membentuk gelombang kotak seperti Gambar 4.7. Waktu yang diperlukan detak untuk naik, turun dan kemudian mulai naik lagi disebut waktu siklus atau periode. Gelombang kotak yang ditampilkan pada gambar tersebut adalah bentuk gelombang detak ideal. Dalam kenyataannya, gelombang tersebut tidak berbentuk persegi tetapi membulat karena perlu waktu untuk menjadi tinggi dan rendah, tidak Yohanes Suyanto



74



4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL



berlangsung seketika.



Amplitudo Waktu periode = 25ns Gambar 4.7: Detak yang berupa gelombang kotak Kecepatan detak berkebalikan dengan waktu siklus. Untuk waktu siklus sebesar 25 ns/siklus berarti kecepatannya adalah 1/25 siklus/ns, yang sama dengan 40.000.000 siklus per detik atau 40 MHz. Kita dapat menggunakan sinyal detak untuk menghilangkan hazard dengan membuat flip-flop S-R berdetak, yang dapat dilihat pada Gambar refgbrffsrdetak. Simbol CLK berarti clock atau detak. Sekarang S dan R tidak dapat mengubah keadaan hingga detak bernilai tinggi. Dengan demikian S dan R dibuat mantap dahulu pada posisi detak rendah, baru kemudian detak menjadi tinggi dan nilai yang stabil akan tersimpan dalam flip-flop. S S



R Q



CLK



CLK R



Q



Q Q



2∆τ Diagram waktu 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 menyimpan nilai 1 atau 0 adalah dengan menggunakan flip-flop D seperti pada Gambar Yohanes Suyanto



4.3. Flip-flop D dan konfigurasi tuan-hamba



75



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



D



Q



CLK



D CLK



Q Rangkaian D



Q



CK Q



Q Q 2∆τ Diagram waktu



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



Dn Qn+1 0 0 1 1 a. versi 1



Dn Qn+1 0 Dn 1 Dn b. versi 2



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



Flip-flop biasa digunakan pada rangkaian yang mempunyai umpan balik dari keluaran kembali ke jalur masukan melalui rangkaian lain. Hal ini kadang-kadang menyebabkan keadaan flip-flop berubah lebih dari sekali dalam satu siklus detak. Untuk memastikan bahwa dalam satu siklus hanya terjadi 1 perubahan keadaan pada flip-flop, kita cegat kalang umpan balik dengan membentuk flip-flop tuan-hamba seperti Gambar 4.11. Yohanes Suyanto



76



4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL



D CLK



D



Q



CK Q



D



Q



CK Q



D



Q



CK CK Q Gambar 4.11: Flip-flop tuan-hamba Flip-flop tuan-hamba berisi 2 flip-flop yang disusun berurutan dengan detak untuk flip-flop kedua dipasang pembalik. Flip-flop tuan akan berubah saat detak tinggi, tetapi flip-flop hamba tidak berubah sampai detak rendah. Dengan demikian diperlukan detak naik kemudian turun untuk memindahkan isi jalur D pada flip-flop tuan ke keluaran Qs pada flip-flop hamba. Simbol segitiga pada flip-flop tuan-hamba menunjukkan bahwa perubahan keadaan hanya terjadi pada saat detak berubah naik ( dari 0 ke 1) atau turun (dari 1 ke 0). Untuk konfigurasi seperti Gambar 4.11 berlaku bahwa perubahan terjadi saat detak turun (dari 1 ke 0). Flip-flop picuan level keadaan berubah terus-menerus selama detak bernilai tinggi (atau rendah tergantung desain flip-flop). Flip-flop picuan tepi berubah hanya saat terjadi perubahan detak dari tinggi-ke-rendah atau dari rendah-ke-tinggi. Beberapa buku tidak memasang simbol segitiga pada masukan detak. Untuk membedakan antara flip-flop picuan level atau picuan tepi digunakan cara lain. Penggunaan simbol segitiga membuat tipe flip-flop menjadi jelas.



4.4



Flip-flop JK dan T



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



4.4. Flip-flop JK dan T



77



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



J



Q



J



Q



CK CK



CLK Q



K



K



Q



Simbol



Rangkaian



Gambar 4.12: Flip-flop J-K dan simbolnya



Jn 0 0 0 0 1 1 1 1



Kn Qn Qn+1 0 0 0 0 1 1 1 0 0 1 1 0 0 0 1 0 1 1 1 0 1 1 1 0 a. versi lengkap



Jn Kn Qn+1 0 0 Qn 0 1 0 1 0 1 1 1 Qn b. versi ringkas



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



1



J



T



CK CK K



Q Q



T



Q Q



Gambar 4.14: Flip-flop T dan simbolnya Yohanes Suyanto



78



4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL T 0 0 1 1 a. versi



Qn 0 1 0 1 lengkap



Qn+1 0 1 1 0



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 J dan K keduanya bernilai tinggi dan detak juga tinggi, flip-flop dapat bergantian nilainya lebih dari satu kali sampau detak menjadi rendah. Situasi ini merupakan salah satu alasan penggunaan konfigurasi tuan-hamba. Diagram skematik untuk flip-flop J-K tuan-hamba, terlihat pada Gambar 4.16.



J CLK K



Q Q



J Q CK CK KQ Simbol



Rangkaian 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 machine (FSM) pada Gambar 4.1. Elemen penunda dapat diimplementasi dengan flip-flop tuan-hamba dan sinyal sinkronikasi dengan detak. Umumnya, untuk implementasi umpan balik digunakan flip-flop. Perlu diketahui bahwa kita dapat melabeli flip-flop menurut kemauan kita, asal artinya jelas. Pada Gambar 4.1 posisi masukan Di dan keluaran Qi saling dipertukarkan dari posisi normal yang kita bahas sebelumnya. Yohanes Suyanto



4.5. Desain Mesin Keadaan Berhingga 0001



Reset Pencacah Sinkron 3-bit



q0 q1 s0 s1



CLK



79 0100 0101 D D



Q



CK



Q



CK CK Q



CK Q



Gambar 4.17: Pencacah modulo 4



Misalnya, FSM pencacah sinkron modulo 4 mencacah dari 00 hingga 11 dan berulang lagi. Diagram blok FSM pencacah sinkron ditunjukkan pada Gambar 4.17. Fungsi RESET (logika positif) mengakibatkan nilai keluaran q0 q1 adalah 00 jika diaktifkan. Keluaran akan berurutan sesuai nilai pada jalur q0 dan q1 pada waktu yang bersesuaian dengan detak. Setiap nilai baru keluaran muncul, maka nilai umpan balik s0 s1 juga berubah. Kita perhatikan bahwa desain pencacah dapat dilakukan dengan mendaftar semua kemungkinan masukan dan keluaran yang terjadi pada 4 jalur q1 q0 dan keadaan s1 s0 . Berdasarkan daftar tersebut kemudian dibuat rangkaian logika kombinasional yang merupakan implementasi pencacah. Dua flip-flop digunakan untuk mecatat bit keadaan. Bagaimana kita tahu bahwa dibutuhkan 2 bit sebagai pencacat keadaan untuk umpan balik? Kenyataannya adalah bahwa kita tidak tahu dari awal jumlah bit yang dibutuhkan untuk mencatat keadaan, sehingga untuk bahasan berikutnya kita akan melihat pendekatan yang lebih umum dalam perancangan mesin keadaan berhingga. Untuk pencacah kita dapat mulai dari penyusunan diagram transisi keadaan seperti Gambar 4.18 dengan keadaan A sampai dengan D dan garis berarah menunjukkan transisi. Dalam kasus ini keadaan A untuk nilai pencacah 00, B untuk 01, C untuk 10, dan D untuk 11. Yohanes Suyanto



80



4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL 0/01 1/00



A



1/00



B 0/10



1/00 0/00, 1/00 C



0/11



D



Gambar 4.18: Diagram transisi keadaan pencacah modulo 4 Misalnya, FSM diinisialisasi pada keadaan A. Ada 2 kemungkinan masukan yaitu: 0 dan 1. Jika masukan (RESET) bernilai 0, maka FSM akan berpindah ke keadaan B dan menghasilkan keluaran 01. Jika RESET bernilai 1, FSM tetap pada keadaan A dan menghasilkan keluaran 00. Mirip dengan ini, jika FSM di keadaan B, akan berpindah ke keadaan C dengan keluaran 10 jika RESET 0, jika tidak akan kembali ke keadaan A dengan keluaran 00. Demikian juga untuk keadaan yang lain, dapat diinterpretasikan dengan cara yang sama. Sekali kita berhasil membuat diagram transisi keadaan, kita dapat menulisnya dalam bentuk tabel keadaan seperti Gambar 4.19. Keadaan sekarang terlihat di bagian kiri, dan kondisi masukan ada di bagian atas. Isi tabel adalah pasangan keadaan/keluaran berikutnya yang diambil langsung dari diagram transisi keadaan pada Gambar 4.18. Ambil salah satu bari misalnya keadaan sekarang B dan masukan kondisi adalah 0, maka keadaan berikutnya adalah C dan keluaran berikutnya adalah 10.



Masukan Keadaan sekarang



A B C D



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



Gambar 4.19: Tabel keadaan untuk pencacah modulo-4 Setelah kita membuat tabel keadaan, kita tentukan nilai biner untuk setiap keadaan. Karena ada 4 keadaan, kita membutuhkan paling tidak 2 bit Yohanes Suyanto



4.5. Desain Mesin Keadaan Berhingga



81



untuk mengkodekan keadaan menjadi biner secara unik. Kita tentukan saja pengkodeannya: A = 00, B = 01, C = 10, dan D = 11, dan mengganti setiap label A, B, C, dan D dengan kode keadaannya, seperti pada Gambar 4.20. Dalam praktiknya, penetapan kode keadaan ini akan berpengaruh terhadap bentuk rangkaian akhir, namun secara logika pengkodean ini mengakibatkan hasil akhir yang sama.



Masukan Keadaan sekarang



A:00 B:01 C:10 D:11



RESET 0 1 01/01 00/00 10/10 00/00 11/11 00/00 00/00 00/00



Gambar 4.20: Tabel keadaan untuk pencacah modulo-4 dengan pengkodeannya



Dari tabel keadaan, dapat dihasilkan tabel kebenaran untuk keadaan berikutnya dan fungsi keluaran seperti pada Gambar 4.21. Subskrip untuk variabel keadaan menunjukkan waktu. Keadaan sekarang ditulis dengan st dan keadaan berikutnya ditulis dengan st+1 . Biasanya subskrip ini diabaikan dengan pengertian bahwa ruas kanan dari persamaan memuat keadaan sekarang dan ruas kiri memuat keadaan berikutnya. Perlu dicatat bahwa s0 (t + 1) = q0 (t + 1) dan s1 (t + 1) = q1 (t + 1), sehingga cukup diimplementasikan s0 (t + 1) dan s1 (t + 1) saja sedang q0 (t + 1) dan q1 (t + 1) dapat diambil langsung padanya. Yohanes Suyanto



82



4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL RESET



r(t) s1 (t) 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 s0 (t + 1) s1 (t + 1) q0 (t + 1) q1 (t + 1)



s0 (t)



s1 s0 (t + 1) q1 q0 (t + 1)



0 1 0 1 0 1 0 1 = = = =



r(t) r(t) r(t) r(t)



s1 (t) s1 (t) s1 (t) s1 (t)



01 10 11 00 00 00 00 00



01 10 11 00 00 00 00 00



s0 (t) + r(t) s0 (t) + r(t) s0 (t) + r(t) s0 (t) + r(t)



s1 s1 s1 s1



s0 (t) s0 (t) s0 (t) s0 (t)



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



Akhirnya, kita implementasikan keadaan berikutnya dan fungsi keluaran dengan menggunakan gerbang logika dan flip-flop D tuan-hamba untuk variabel keadaan seperti pada Gambar 4.22.



Reset D CLK



Q q1



CK CK Q



D



Q



q0



CK CK Q Gambar 4.22: Desain logika untuk pencacah modulo-4 Yohanes Suyanto



4.6. Contoh: Detektor Urutan



4.6



83



Contoh: Detektor Urutan



Contoh lain, kita akan merancang mesin yang mengeluarkan nilai 1 saat 2 dari 3 masukan terakhir bernilai 1. Contohnya, masukan dengan urutan 011011100 mengeluarkan hasil dengan urutan 001111010. Ada satu jalur masukan seri dan kita asumsikan bahwa pada awalnya tidak ada masukan. Untuk kasus ini, kita akan menggunakan flip-flop D dan MUX 8-ke-1. 0/0 0/0



1/0



B



0/0



D



1/0



E



0/0



1/1 0/0



A



0/0



1/0



C



F



1/1



0/1



1/0



G



1/0



Gambar 4.23: Diagram transisi keadaan untuk detektor urutan Kita mulai dengan menyusun diagram transisi keadaan, seperti pada Gambar 4.23. Ada 8 kemungkinan urutan 3 bit yang masuk ke dalam mesin: 000, 001, 010, 011, 100, 101, 110, dan 111. Keadaan A adalah keadaan awal, yang kita asumsikan belum ada data yang masuk. Pada keadaan B dan C baru masuk 1 bit data sehingga keluarannya 0. Keadaan D, E, F, dan G paling tidak menerima 2 bit masukan kalau keadaan sebelumnya adalah B atau C. Setelah masuk pada keadaan D, E, F, atau G maka sistem akan berkutat di keadaan ini saja. Keadaan D akan dikunjungi saat dua masukan terakhir bernilai 00. Keadaan E, F, dan G dikunjungi jika dua masukan terakhir adalah 01, 10, dan 11. x



Masukan Keadaan sekarang



A B C D E F G



0 B/0 D/0 F/0 D/0 F/0 D/0 F/1



1 C/0 E/0 G/0 E/0 G/1 E/1 G/0



Gambar 4.24: Tabel keadaan detektor urutan Yohanes Suyanto



84



4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL



Langkah berikutnya adalah membuat tabel keadaan seperti tertera pada Gambar 4.24, yang dituangkan dari diagram transisi keadaan. Selanjutnya, kita akan membuat penetapan kode keadaan seperti Gambar 4.25a. Berdasarkan penetapan kode keadaan kita dapat membuat tabel kebenaran untuk keadaan berikutnya dan fungsi keluaran. Lihat Gambar 4.25b. Dua baris terakhir pada tabel berisi keadaan 111, yang dalam praktiknya tidak akan pernah muncul, karena keadaan 111 untuk kasus ini tidak ada. Dengan demikian keadaan berikutnya dan keluaran pada 2 baris tersebut tidak perlu diperhatikan, dan ditulis sebagai ’d’ yang berarti don’t care, abaikan saja.



Keadaan sekarang



0 001/0 011/0 101/0 011/0 101/0 011/0 101/1



A:000 B:001 C:010 D:011 E:100 F:101 G:110



s2 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1



X



Masukan



1 010/0 100/0 110/0 100/0 110/1 100/1 110/0



(a)



s1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1



s0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1



x 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1



s2 0 0 0 1 1 1 0 1 1 1 0 1 1 1 d d



s1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 d d



s0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 d d



z 0 0 0 0 0 0 0 0 0 1 0 1 1 0 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-flop untuk setiap variabel keadaan, sehingga seluruhnya perlu 3 flip-flop. Ada 3 fungsi keadaan berikutnyadan 1 fungsi keluaran, sehingga kita membutuhkan 4 MUX. Pemilihan s2 , s1 , dan s0 sebagai pengendali MUX merupakan pilihan begitu saja. Pilihan kombinasi lain juga dapat digunakan. 0 x 1 x 1 x 1 0



000 001 010 011 100 101 110 111



DQ CK



x x x x x x x 0



000 001 010 011 100 101 110 111



DQ CK



x x x x x x x 0



000 001 010 011 100 101 110 111



DQ CK



x x x x x x x 0



CLK



Gambar 4.26: Diagram logika detektor urutan Yohanes Suyanto



000 001 010 011 100 101 110 111



4.7. Contoh: Pengendali mesin penjualan



4.7



85



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 penjualan menerima tiga macam koin Rp 100, Rp 200, dan Rp 500. Jika nilai yang dimasukkan sama atau lebih besar dari Rp 400, maka mesin akan mengeluarkan barang dagangan, dan mengembalikan uang kelebihan, kemudian menunggu transaksi berikutnya. D/110 S/100 L/110 S/000 D/000 A Rp 0



B Rp 100 L/101 D/000



D Rp 300 L/111



S/000



L/111, D/100 C Rp 200



S/000 S=seratusan (Rp 100) D=duaratusan (Rp 200) L=duaratusan (Rp 200)



Gambar 4.27: Diagram transisi keadaan pengendali mesin penjualan Kita mulai menyusun diagram transisi keadaan seperti Gambar 4.27. Di keadaan A, belum ada koin yang dimasukkan, sehingga uang yang masuk adalah Rp 0. Jika koin seratusan atau duaratusan dimasukkan maka keadaan akan berubah ke B atau C. Jika koin limaratusan yang dimasukkan maka uang yang masuk sejumlah Rp 500. Mesin akan mengeluarkan barang dagangan dan mengeluarkan kembalian koin seratusan, dan keadaan tetap di A. Hal ini ditandai dengan ”L/110” dalam kalang memutar di keadaan A. Dari keadaan B atau C dapat berpindah ke keadaan D. Dari D kembali ke A atau B. Perhatikan saat koin limaratusan dimasukkan pada keadaan D. Mestinya mesin akan mengeluarkan barang dagangan, mengembalikan Rp 400, dan kembali ke A, tetapi menurut diagram tersebut mesin akan mengeluarkan barang, mengembalikan Rp 300, dan menuju ke keadaan B. Mesin tetap menahan uang sebesar Rp 100. Yohanes Suyanto



86



4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL Masukan



K.S.



A B C D



S D L 00 01 10 B/000 C/000 A/110 C/000 D/000 A/101 D/000 A/100 A/111 A/100 A/110 B/111



Masukan K.S.



A:00 B:01 C:10 D:11



S 00 01/000 10/000 11/000 00/100



D 01 10/000 11/000 00/100 00/110



L 10 00/110 00/101 00/111 01/111



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



Dari diagram transisi keadaan dapt disusun tabel keadaan seperti pada Gambar 4.28a. Kemudian dapat ditentukan kode keadaan untuk simbol S, D, dan L dalam bentuk biner, seperti pada Gambar 4.28b. Akhirnya, kita buat diagram rangkaiannya seperti Gambar 4.29a. Kode keadaan terdiri atas 2 bit sehingga diperlukan 2 flip-flop D. Empat masukan pada PLA digunakan 2 bit untuk keadaan sekarang dan 2 bit koin x1 x0 . PLA menghasilkan 5 keluaran untuk 2 bit keadaan berikutnya, bit pengeluaran barang, dan bit kembalian seratusan dan duaratusan. Kita asumsikan bahwa pemasukan koin dianggap masukan dan detak juga.



Rancangan PLA pada Gambar 4.29a, dapat diikuti prosesnya dengan melihat Gambar 4.29b dan 4.29c, yang disusun secara manual. Namun untuk kasus yang kompleks biasanya menggunakan alat bantu komputer. Yohanes Suyanto



4.8. Mesin Mealy dan Moore x1 x0



5 × 5s 1 PLA s0 Q CK CK Q D



z2 z1 z0



87 s1



s0 x1 x0



CLK



Q CK CK Q D (a) desimal



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15



s 1 s 0 x 1 x 0 s 1 s 0 z2 z1 z0 0000 01000 0001 10000 0010 00110 0011 ddddd 10000 0100 11000 0101 00101 0110 0111 ddddd 11000 1000 00100 1001 00111 1010 1011 ddddd 00100 1100 00110 1101 01111 1110 1111 ddddd



(c) s1



s0



z2



z1



z0



(b)



Gambar 4.29: Mesin penjualan (a) rangkaian, (b) tabel kebenaran (c) realisasi PLA



4.8



Mesin Mealy dan Moore



Keluaran dari rangkaian FSM yang kita bahas sebelumnya sejauh ini ditentukan oleh keadaan sekarang dan masukan. Keadaan dikelola oleh flip-flop picuan tepi surut, maka perubahan keadaan hanya terjadi saat tepi surut pada detak. Apapun perubahan yang terjadi pada masukan tidak mempunyai efek terhadap keadaan selama detak rendah. Masukan langsung menghasilkan keluaran tanpa melewati flip-flop. Dengan demikian perubahan masukan dapat mengakibatkan perubahan keluaran, tanpa memperhatikan detak dalam keadaan rendah atau tinggi. Pada Gambar 4.29, perubahan salah satu masukan x1 atau x0 dapat mengakibatkan perubahan keluaran z2 z1 z0 tanpa tergantung pada detak. Model seperti ini dinamakan model FSM Mealy. Dalam model Mealy, keluaran berubah segera setelah masukan berubah, sehingga tidak ada tundaan yang diakibatkan oleh detak. Pada model FSM Moore, keluaran menyatu pada bit keadaan, sehingga perubahan keluaran Yohanes Suyanto



88



4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL



terjadi pada pulsa detak setelah perubahan masukan. Kedua model ini digunakan oleh perancang rangkaian dan pada bagian ini akan kita bahas perbedaannya dengan mengemukakan contoh. Sebagai contoh model FSM Moore adalah pencacah biner 2 bit seperti pada Gambar 4.30. Mesin ini mencacah dari 0 sampai dengan 3 dan berulang dari 0 lagi, mirip dengan pencacah modulo-4. Mesin hanya mencacah jika x = 1, jika tidak mesin akan bertahan pada keadaan sekarang. Perlu diperhatikan bahwa keluaran menyatu pada variabel keadaan, sehingga tidak ada jalur langsung antara masukan dan keluaran yang tidak melewati flip-flop. 0 x



01 1



0



00



1



01



1 0



0 1



11



1



10



00 10 11



D



Q



CK CK Q



00 0



01 10 11 CLK



D



Q



CK CK Q



Gambar 4.30: FSM Moore pencacah biner 2 bit Model Mealy dianggap lebih berdaya guna daripada model Moore sebab satu detak saja dapat mengakibatkan perubahan keluaran suatu mesin. Perubahan keluaran ini dapat mengubah keluaran mesin lain, jika dihubungkan dengan masukan mesin lain tersebut, demikian seterusnya. Dalam model Moore, perubahan selalu sinkron dengan detak, sehingga perubahan beruntun antar mesin tidak dapat terjadi. Perubahan keluaran suatu mesin mempunyai efek yang kecil terhadap mesin berikutnya pada model Moore. Oleh karena itu, analisis dan pelacakan kesalahan dapat ditelusuri bagian per bagian dengan lebih mudah. Pada praktiknya kedua model ini digunakan.



4.9



Register



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



z0



z1



4.9. Register



89



pan dalam N flip-flop D. Contoh word dengan panjang 4-bit dapat dilihat pada Gambar 4.31. Susunan flip-flop yang digunakan untuk menyimpan data disebut register. Dalam konfigurasi pada gambar tersebut data masukan Di dimasukkan ke register saat jalur Write dan Enable tinggi, sinkron dengan detak. D3



D2 D



WR CLR EN



Q



D1 Q



D



CK



D



CK



Q3



D0 Q



D



CK



Q2



Q



CK



Q1



Q0



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.



WR



D3 D2 D1 D0



CK EN



Q3 Q2 Q1 Q0



Gambar 4.32: Register 4-bit disederhanakan



Register geser akan menggeser isi pada setiap flip-flop ke flip-flop sesudahnya, dan menerima masukan pada ujung masukan serta memuntahkan isinya pada ujung keluaran, sehingga memungkinkan untuk disusun secara bersambungan. Perhatikan register geser pada Gambar 4.33. Register dapat digeser ke kiri, digeser ke kanan, menerima masukan secara paralel, atau dibiarkan isinya tetap, semunya sinkron dengan detak. Fasilitas pemasukan paralel dan pembacaan paralel memungkinkan register geser berfungsi sebagai pengubah serial ke paralel atau pengubah paralel ke serial. Yohanes Suyanto



90



4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL



c1 c0 D3



D2



D1



Input geser kanan



D0



output geser kiri Input geser kanan



Q



D



D



Q



D



Q



D



Output geser kanan



Q



c0 c1



CK



CLK EN



CK



Q3 Kendali c1 c0 0 0 1 1



0 1 0 1



CK



Q2



CK



Q1



Q0



Fungsi Tetap Geser kiri Geser kanan Muat paralel



Input geser kanan Output geser kiri c0 c1



D3D2D1D0 Output geser kanan Input geser kiri



Q3Q2Q1Q0



Gambar 4.33: Register geser



4.10



Pencacah



Pencacah adalah bentuk lain dari register yang keluarannya mempunyai pola dalam rentang bilangan biner tertentu. Gambar 4.34 menunjukkan konfigurasi 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 ditempatkan dalam mode bergantian, dan setiap masukan detak dioperasikan AND dengan keluaran Q sebelumya, mengakibatkan frekuensi detak baru sebesar setengahnya. Detak ini akan memicu pada flip-flop berikutnya, demikian seterusnya. Hasilnya adalah setiap flip-flop Fi akan mengasilkan keluaran Qi dengan frekuensi f rac12i . Jika pola Qi dengan i = 2 sampai dengan 0 disusun hasilnya adalah 000, 001, ... ,111. Yohanes Suyanto



4.11. Soal Latihan



1 CLK EN



J



91



Q



1



CK CK K



J



Q



1



CK CK K



Q



J



Q



CK CK K



Q



Q



RESET



Q2



Q1



Q0



ENABLE PENCACAH MOD(8) RESET



Q2 Q1 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 tergantung pada keadaan, jalur detak, maupun jalur EN. Selain flip-flop pada LSB, keadaannya berubah karena keadaan flip-flop tetangganya, tidak sekedar karena detak. Rangkaian ini mirip dengan Gambar 4.22 tetapi lebih mudah diperluas menjadi ukuran yang lebih besar karena tinggal menghubungkan keluaran dari MSB unit ini ke masukan LSB unit berikutnya.



4.11



Soal Latihan



4.1 Ada 2 buah flip-flop JK tuan-hamba Q1 dan Q2 . Keluaran dari Q1 dihubungkan masing-masing ke J dan K pad Q2 dan keluaran dari Q2 dihubungkan masing-masing ke J dan K pada Q1 . Keadaan awal Q1 = 1 dan Q2 = 1. Gambar diagram waktu yang menunjukkan hubungan tuan-hamba untuk masing-masing flip-flop. Apa keuntungan dari formasi ini? 4.2 Tunjukkan bahwa flip-flop JK dapat diubah menjadi flip-flop D dengan memasang pembalik di antara masukan J dan K! 4.3 Rancanglah rangkaian logika sekuensial yang sesuai dengan diagram keadaan berikut. Gunakan flip-flop SR. Yohanes Suyanto



92



4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL



4.4 Gambarlah rangkaian sekuensial dengan menggunakan 2 buah flip-flop yang persamaan masukannya adalah: JA = Bx JB = x



Yohanes Suyanto



KA = Bx KB = A ⊕ x



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 keadaan yang berbeda. Di dalam penggunaannya sebagai pencacah pulsa, setiap satu keadaan (dari 2N keadaan) digunakan untuk menyatakan sudah berapa jumlah pulsa yang masuk pada pencacah. Dengan demikian hubungan antara flip-flop satu dengan lainnya harus sedemikian rupa sehinga keadaannya akan berubah secara berurutan setiap kali ada pulsa masuk. Kalau jumlah pulsa sudah mencapai harga tertinggi, pencacah akan kembali ke keadaan awalnya. Pencacah modulo-k adalah pencacah yang kembali ke keadaaan mulamulanya setelah k buah pulsa masuk.



Oleh karena setiap keadaan dari pencacah menyatakan jumlah pulsa yang masuk, sedang keadaan pencacah ditentukan oleh keluaran dari flip-flop pembentuknya yaitu QA , QB , QC , QD , . . . , akan lebih mudah jika harga dari QA QB QC QD . . . sebagai bilangan biner digunakan untuk menyatakan jumlah pulsa yang tercacah, seperti yang terlihat pada Tabel 5.1. Pencacah modulo-16 disebut juga sebagai pencacah biner 4 bit, pencacah modulo-8 disebut pencacah biner 3 bit, sedang pencacah modulo-10 disebut dengan pencacah desimal. 93



94



5. PENCACAH



Tabel 5.1: Beberapa jenis pencacah. Jumlah pulsa 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16



5.1



QA 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0



Modulo-16 QB QC 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0



QD 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0



QA 0 0 0 0 1 1 1 1 0



Modulo-8 QB QC 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 dst.



QA 0 0 0 0 0 0 0 0 1 1 0



Modulo-10 QB QC 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 0 dst.



QD 0 1 0 1 0 1 0 1 0 1 0



QA 0 0 0 0 1 1 0



Modulo-6 QB QC 0 0 0 1 1 0 1 1 0 0 0 1 0 0 dst.



Pencacah Sinkron



Pada pencacah sinkron perubahan keluaran setiap flip-flop terjadi secara serentak karena pulsa masukan yang akan dicacah dihubungkan pada masukan detak pada setiap flip-flop, sehingga pulsa masukan berfungsi sebagai pulsa detak. Dengan demikian untuk menghubungkan flip-flop satu dengan flip-flop yang lain dilakukan dengan mengatur masukan pada setiap flip-flop agar perubahan keluarannya sesuai dengan tabel pencacahnya. (Tabel 5.1). Oleh karena itu pada bab ini hanya akan dibicarakan pembentukan pencacah dengan menggunakan flip-flop J-K atau T. Untuk mengingatkan kembali pengaturan masukan pada flip-flop ditulis lagi tabel kebenaran dari flipflop J-K dan T seperti terlihat pada Tabel 5.2. Tabel 5.2: Tabel kebenaran flip-flop J-K dan T Jn 0 0 0 0 1 1 1 1



Yohanes Suyanto



Kn 0 0 1 1 0 0 1 1



Qn 0 1 0 1 0 1 0 1 (a)



Qn+1 0 1 0 0 1 1 1 0



Tn 0 0 1 1



Qn 0 1 0 1



(b)



Qn+1 0 1 1 0



5.1. Pencacah Sinkron



95



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



Tabel 5.3: Tabel penetapan nilai J-K dan T Qn 0 0 1 1



5.1.1



−→ −→ −→ −→



Qn+1 0 1 0 1 (a)



Jn 0 1 x x



Kn x x 1 0



Qn 0 0 1 1



→ → → →



Qn+1 0 1 0 1 (b)



Tn 0 1 1 0



Pencacah Sinkron Modulo-6



Pencacah ini memerlukan 3 buah flip-flop dan dipilih flip-flop jeni J-K. Hasil pencacahan ada pada keluaran ketiga flip-flop yaitu QA QB QC . Dari Tabel 5.1 terlihat bahwa nilai awal adalah QA QB QC = 000, setelah pulsa masuk keluaran berubah menjadi QA QB QC = 001. Berdasarkan Tabel 5.3 pengaturan nilai J dan K untuk masing-masing flip-flop adalah: flip-flop A flip-flop B flip-flop C



QA : 0 → 0 maka QB : 0 → 0 maka QC : 0 → 1 maka



JA = 0, KA =x JB = 0, KB =x JC = 1, KC =x



Selanjutnyapada keadaan QA QB QC = 001, yang berubah menjadi 010 setelah pulsa masuk, pengaturannya adalah: flip-flop A flip-flop B flip-flop C



QA : 0 → 0 maka QB : 0 → 1 maka QC : 1 → 0 maka



JA = 0, KA = x JB = 1, KB = x JC = x, KC = 1



Kalau ini dilakukan terus, hasil seluruhnya akan terlihat seperti pada Tabel 5.4. Karena nilai pencacah modulo-6 tidak pernah mencapai nilai 110 dan 111 maka pada QA QB QC = 110 dan QA QB QC = 110 nilai J dan K diisi sembarang (x). Yohanes Suyanto



96



5. PENCACAH



Tabel 5.4: Pengisian QA QB QC 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1



nilai J dan K pada pencacah modulo-6 J A KA J B KB J C KC 0 x 0 x 1 x 0 x 1 x x 1 0 x x 0 1 x 1 x x 1 x 1 x 0 0 x 1 x x 1 0 x x 1 x x x x x x 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 dikerjakan dengan peta K. Khusus untuk JC dan KC mudah dilihat bahwa jika nilai x diganti dengan 1 maka JC = KC = 1. Untuk flip-flop A dan B nilai J dan K dapat ditentukan dengan menggunakan peta K seperti pada Gambar 5.1. Persamaan yang diperoleh adalah:



Yohanes Suyanto



JA = QB QC



KA = QC



JB = QA QC



KB = QC



5.1. Pencacah Sinkron



QA QB



00



01



97



11



10



QA QB



QC



00



01



11



0 1



1



x



x



0



x



x



x



x



x



1



x



x



x



1



11



10



x



x



x



1



JA



QA QB



00



01



KA



11



10



QA QB



QC



00



01



QC



0 1



10



QC



1



x



x



0



x



x



x



1



x



JB



x KB



Gambar 5.1: Peta Karnaugh untuk penentuan persamaan J dan K pada pencacah modulo-6 sinkron [h] Q



J



Q



CK Q



K



J



1 Q



CK Q



K



J CK



Q



K



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 setiap ada pulsa detak masuk. Atas dasar ini, pengaturan perubahan keluaran agar sesuai dengan tabel pencacahan dapat dilakukan dengan 2 cara: Yohanes Suyanto



98



5. PENCACAH 1. Harga T dari masing-masing flip-flop untuk setiap harga QA QB QC QD (ada 4 flip-flop) diatur agar perubahan keluarannya sesuai dengan tabel pencacahan, seperti yang dibahas di 5.1.1. 2. Masukan T dihubunghkan ke Vcc sehingga selalu mempunyai nilai 1, sedang pengaturan perubahan keluarannya dilakukan dengan meneruskan pulsa masukan ke masukan detak kalau keluarannya diinginkan berubah, dan tidak meneruskannya kalau keluaran harus tidsak berubah. Hal ini dapat dilakukan dengan menambahkan gerbang AND di depan masukan detak seperti pada Gambar 5.3. 1 Q



T



Q



C



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 akan berhubungan dengan pembicaraan mengenai pencacah naik/turun (up/down counter ). Dengan cara ke-2 berarti nilai P untuk setiap flip-flop harus P = 1 kalau keluarannya ingin berubah dan P = 0 kalai keluarannya diinginkan tetap. Pengaturan ini terlihat pada Tabel 5.5. QA QB QC QD



00



01



11



10 QA QB QC QD



00



x



01



x



1



x



x



x



x



11



1



01



11



10



QA QB QC QD



00



01



11



00



x



00



01



x



01



1



1



x



1



1



x



11 10



00



1



1



10



x



x



11



x



x



10



10



x



x



PA PB



PC



Gambar 5.4: Peta Karnaugh untuk penentuan persamaan pengatur detak pada pencacah modulo-10 sinkron Dari Tabel 5.5 mudah dilihat jika x untuk PD diisi 1 maka PD = 1, yang berarti bahwa untuk flip-flop D pulsa masukan dapat dihubungkan langsung Yohanes Suyanto



x



5.1. Pencacah Sinkron



99



Tabel 5.5: Pengaturan nilai P untuk modulo-10 menggunakan flip-flop T QA QB QC QD PA PB PC PD 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 1 1 0 1 1 1 0 1 0 0 0 0 0 1 0 1 0 1 0 0 1 1 0 1 1 0 0 0 0 1 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 x x x x 1 0 1 1 x x x x 1 1 0 0 x x x x 1 1 0 1 x x x x 1 1 1 0 x x x x 1 1 1 1 x x x x



ke masukan detak. Nilai PA , PB , dan PC , dari peta K Gambar 5.4 dapat ditulis: PA = QA QD + QB QC QD PB = QC QD PC = QA QD Dengan demikian rangkaian pencacah sinkron modulo-10, dapat disusun seperti pada Gambar 5.5. 1 Q



T



Q



A Q



T



Q



B C



Q



T



Q



C C



Q



T



D C



Q



C



Pulsa Masukan



Gambar 5.5: Rangkaian pencacah modulo-10 sinkron menggunakan flip-flop T Yohanes Suyanto



100



5. PENCACAH



Buktikan kalau digunakan flip-flop T dengan cara 1 maka persamaannya menjadi: TA = PA ,



5.2



TB = PB ,



TC = PC ,



danTD = PD



Pencacah Tak Sinkron



Pada pencacah tak sinkron pulsa masukan hanya dihubungkan ke masukan detak pada flip-flop yang terdepan (LSB), sedang sebagai pulsa detak untuk flip-flop berikutnya digunakan keluaran dari flip-flop sebelumnya. Dengan demikian perubahan dari keluaran masing-masing flip-flop akan terjadi bergantian dari depan ke belakang. Kalau pada pencacah ini digunakan master-slave flip-flop T (atau flipflop J-K dengan J disambung ke K), untuk pencacah modulo-2N bentuknya sangat sederhana (ingat bahwa perubahan keluaran master-slave flip-flop terjadi jika pulsa detak berubah dari 1 ke 0). Hal ini dapat dilihat misalnya untuk pencacah modulo-8 (23 ) yang tabel pencacahannya tercantum di tabel 5.1 (QC adalah LSB). Karena pulsa masukan dimasukkan ke CKC sedang QC berubah setiap ada pulsa masuk, maka TC dapat dihubungkan ke harga 1. 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 dapat dihubungkan ke harga 1. Selanjutnya demikian juga oleh karena setiap QB berubah dari 1 ke 0 ternyata QA berubah, maka kalau QB dihubungkan ke CKA , TC dapat dihubungkan ke harga 1. Dengan demikian bentuk dari pencacah tak sinkron modulo-8 terlihat pada Gambar 5.6. 1 Q



T



Q



A Q



T



Q



B C



Q



T



C C



Q



C



Pulsa Input



Gambar 5.6: Rangkaian pencacah modulo-8 tak sinkron menggunakan flipflop T Untuk pencacah modulo-4 (22 ), modulo-16 (24 ) kita tinggal menyesuaikan jumlah flip-flopnya saja. Pencacah seperti ini juga disebut ripple counter. Untuk pencacah tak sinkron modulo-k dengan k 6= 2N agak lebih sulit karena pulsa detak dari suatu flip-flop tidak selalu dapat diperoleh dari flip-flop di depannya. Misalnya saja untuk modulo-6, pada perubahan dari Yohanes Suyanto



5.2. Pencacah Tak Sinkron



101



QA QB QC = 101 menjadi QA QB QC = 000, oleh karena QA harus berubah dari 1 ke 0 sedang QB nilainya tetap, maka QB tidak dapat digunakan sebagai pulsa detak flip-flop A. Dengan demikian yang dapat digunakan sebagai pulsa detak flip-flop A dan flip-flop B adalah QC . Hanya saja karena untuk setiap QC berubah dari 1 ke 0, QB dan QA tidak selalu berubah, maka harga T atau J dan K tidak boleh selalu berharga 1 tetapi harus diatur seperti pada pencacah sinkron. Perlu diingat bahwa untuk master-slave flip-flop perubahan pulsa detak dari 0 ke 1 tidak mengubah keadaan keluaran, sehingga pada saat QC (sebagai pulsa detak) berubah dari 0 ke 1, harga T atau J dan K dari flip-flop A dan flip-flop B boleh diisi sembarang (x). Dengan cara ini maka dapat diperoleh tabel J dan K sebagai fungsi QA QB QC , yang untuk pencacah tak sinkron modulo-6, terlihat pada Tabel 5.6. Tabel 5.6: Nilai J dan QA QB QC 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Dengan membuat peta persamaan: JA = JB = JC =



K untuk pencacah tak sinkron modulo-6 J A KA J B KB J C KC x x x x 1 x 0 x 1 x x 1 x x x x 1 x 1 x x 1 x 1 x x x x 1 x x 1 0 x x 1 x x x x x x x x x x x x



K dari tabel kebenaran tersebut maka diperoleh QB QA 1



KA = 1 KB = 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 memanfaatkan masukan 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



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 hasil pencacahan sama dengan k − 1, ke masukan sebuah gerbang NAND. Hubungkan juga pulsa masukan ke gerbang NAND tersebut. (d) hubungkan keluaran gerbang NAND tersebut ke masukan preset dari flip-flop yang keluarannya 0 pada saat hasil pencacahan sama dengan k − 1. Jadi untuk pencacah desimal (modulo-10) tak sinkron, karena pada saat pencacahan mencapai 9 nilai QA QB QC QD = 1001, maka keluaran QA dan QB dihubungkan ke masukan NAND, sedang keluaran NAND dihubungkan ke preset dari flip-flop B dan flip-flop C. Lihat Gambar 5.7. 1 CLR Q



CLR T



Q



C



Q



A Q



CLR T



Q



C



Q



B



PR



CLR T



Q



C



Q



C



PR



T



D



PR



C



Pulsa Input



PR



Gambar 5.7: Rangkaian pencacah modulo-10 tak sinkron menggunakan flipflop T Dengan cara ini maka setelah QA QB QC QD = 1001, kalau pulsa masukan naik dari 0 ke 1 maka preset=0 sehingga QA QB QC QD = 1111 dan setelah pulsa masukan kembali ke 0, QA QB QC QD = 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



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



103



(c) hubungkan keluaran dari flip-flop yang nilainya 1 pada saat hasil pencacahan=k, ke sebuah gerbang NAND. (d) hubungkan keluaran gerbang NAND ke masukan clear dari setiap flip-flop Jadi untuk membentuk pencacah tak sinkron modulo-5, karena pada saat hasil pencacahan mencapai 5 nilai QA QB QC = 101, maka QA dan QC dihubungkan ke masukan/clear setiap flip-flop. Lihat Gambar 5.8



1 CLR Q



CLR T



Q



C



Q



A Q



CLR T



Q



C



Q



B



PR



T



C



PR



C



Pulsa Input



PR



Gambar 5.8: Rangkaian pencacah modulo-5 tak sinkron menggunakan flipflop T Dengan cara ini setelah pulsa ke 5 masuk, mulau-mula QA QB QC = 101, tetapi karena pada keadaan ini keluaran NAND menjadi 0, maka sesaat kemudian keluarannya menjadi QA QB QC = 000.



5.3



Pencacah counter )



Naik/Turun



(up/down



Sangat sulit membuat pencacah naik/turun tak sinkron, sehingga yang tersedia dalam bentuk IC selalu merupakan pencacah sinkron, dan pada umumnya dibentuk dari flip-flop T atau flip-flop JK dengan J = K. Ada 2 cara untuk membentuk pencacah naik/turun. Cara pertama, selain saluran masukan ditambahkan saluran pengatur x (naik/turun) yang menjadikan pencacah turun jika x = 1 dan menjadikan pencacah naik jika x = 0. Pada cara kedua ada 2 saluran masukan. Saluran pertama untuk masukan pencacah naik dan saluran kedua untuk masukan pencacah turun. Pada cara pertama pulsa masukan dihubungkan ke CK setiap flip-flop sedang T atau J=K dari setiap flip-flop diatur sehingga perubahan keluarannya sesuai dengan tabel pencaah naik atau turun. Sebagai contoh untuk pencacah desimal naik/turun kalau mula-mula QD QC QB QA = 0000 (QA =LSB), Yohanes Suyanto



104



5. PENCACAH



untuk x = 0 (naik) karena setelah terjadi pulsa detak, keluaran berubah menjadi 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. Kalau hal ini dilanjutkan diperoleh Tabel 5.7.



Tabel 5.7: Nilai T untuk pencacah naik/turun modulo-10 TD TC TB TA QD QC QB QA x = 0 x = 1 x = 0 x = 1 x = 0 x = 1 x = 0 x = 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 1 0 1 0 1 1 0 1 0 0 0 0 0 1 0 1 1 1 0 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 0 0 0 1 1 1 0 1 1 1 1 0 1 0 1 0 1 1 1 0 0 0 0 1 0 1 0 1 1 1 1 0 0 1 1 0 0 0 0 0 1 1 1 0 1 0 x x x x x x x x 1 0 1 1 x x x x x x x x 1 1 0 0 x x x x x x x x 1 1 0 1 x x x x x x x x 1 1 1 0 x x x x x x x x 1 1 1 1 x x x x x x x x



Dengan membuat peta K diperoleh persamaan: TD TC TB TA



= = = =



xQA QB QC + x(QA QD + QA QB QC ) xQA QB (QC + QD ) + xQA QB xQA (QB + QC + QD ) + xQA QD 1



Pada cara kedua, masukan T atau J=K dari setiap flip-flop dihubungkan ke nilai 1 (atau dibiarkan terbuka), sedang pengaturan keluarannya dilakukan dengan cara meneruskan masukan pulsa ke masukan detak kalau ada perubahan dan tidak meneruskannya jika keluarannya tetap. Hal ini dibicarakan pada bagian 5.1.2. Namun karena masukan pulsa ada 2 saluaran maka pengaturnya (P) juga ada 2. Lihat Gambar 5.9. Yohanes Suyanto



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



105



1 Q



T



Pnaik Pulsa masukan naik Q



C



Pturun Pulsa masukan turun



Gambar 5.9: Pengatur pulsa pada pencacah naik/turun Dengan cara ini jika Pnaik/turun = 1 maka pulsa masukan naik/turun diteruskan, sedang jika Pnaik/turun = 0 maka masukan pulsa naik/turun tidak diteruskan. 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 P adalah: PD turun PD naik PC turun PC naik PB turun PB naik PA turun PA naik



= = = = = = = =



QA QB QC (QA QD + QA QB QC ) QA QB (QC + QD ) QA QB QA (QB + QC + QD ) QA QD 1 1



Yohanes Suyanto



106



Yohanes Suyanto



5. PENCACAH



BAB 6 REGISTER Kalau sebuah flip-flop dapat digunakan untuk menyimpan data 1 bit, maka sederetan n flip-flop dapat digunakan untuk menyimpan data n bit. Kumpulan dari flip-flop ini disebut register. Ada 2 cara untuk memasukkan atau mengeluarkan data dari suatu register, yaitu serial dan paralel. Pada caa serial data dimasukkan/dikeluarkan bit demi bit berganti-ganti lewat satu saluran (biasanya LSB lebih dahulu), sedang pada cara paralel, n bit dimasukkan/dikeluarkan secara bersamaan lewat n saluran. Dengan demikian ada 4 macam register yaitu: serial in serial out (SISO), serial in parallel out (SIPO), parallel in serial out (PISO), dan parallel in parallel out (PIPO). Untuk memahami kerja setiap macam register tersebut perhatikan Gambar 6.1.



masukan serial



QA



A



Preset Enable (PE)



PR



CK R



CK Q



CLR



R



CK Q



R



CLR



CK Q



CLR



PR Q



S



R



Q



S CK



Q CLR



QE



E



PR Q



S



QD



D



PR Q



S



QC



C



PR Q



S



QB



B



R



Q CLR



Clear Detak



Gambar 6.1: Register serial-parallel Pada pembicaraan flip-flop D 4.3 telah dikemukakan bahwa kalau nilai S berlawnaan dengan R maka flip-flop SR akan bekerja sebagai flip-flop D, 107



108



6. REGISTER



yang berarti bahwa outputnya setelah pulsa detak akan sama dengan nilai S. Pada Gambar 6.1 terlihat bahwa dengan adanya gerbang NOT pada masukan flip-flop A, dan dengan dihubungkannya S dengan Q, R dengan Q untuk flipf-lop yang lain, maka setiap flipf-lop bekerja sebagai flip-flop D. Setipa flip-flop juga dilengkapi dengan masukan preset dan clear, sehingga agar flip-flop dapat bekerja sebagaimana mestinya setiap kali perlu diatur PE=0 dan Clear=1, karena dengan demikian Pr=Cr=1. Untuk mereset setiap flip-flop dapat dikerjakan dengan mengubah sebentar Clear ke 0 (dan kemudian dikembalikan lagi ke 1). Dengan demikian pada saat Cr = 0 dan Pr = 1 maka Q = 0, dan setelah clear kembali ke 1 nilai Q tetap. Jika setelah di-reset kemudian nilai PE diubah sebentar ke 1 (dan kemudian dikembalikan lagi ke 0), maka QA QB QC QD QE = 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 dapat dikerjakan melalui masukan A, B, C, D, dan E, dengan mengubah sebentar PE ke 1. Perlu diingat sebelum memasukkan data secara paralel, register perlu di reset terlebih dahulu (mengapa?). Jadi dengan register Gambar 6.1, data dapat dimasukkan baik secara seri maupun paralel, dan demikian juga dapat dikeluarkan baik secara serial maupun paralel. Untuk menghindari gejala race around perlu digunakan flipflop (SR atau JK) tuan-hamba (master-slave).



6.1



Serial In Parallel Out - SIPO



Untuk memasukkan atau menulis data 5 bit secara serial, misalnya saja 10011 (LSB adalah bit paling kanan), mula-mula register perlu di-reset sehingga QA QB QC QD QE = 00000. Kemudian sinkron dengan pulsa detak pertama, kedua, ketiga, keempat, dan kelima, masukkan lewat masukan serial berturut-turut nilai 1, 1, 0, 0, dan 1. Dengan demikian setelah pulsa detak ke-satu , QA QB QC QD QE =10000 setelah pulsa detak ke-dua , QA QB QC QD QE =11000 setelah pulsa detak ke-tiga , QA QB QC QD QE =01100 setelah pulsa detak ke-empat, QA QB QC QD QE =00110 setelah pulsa detak ke-lima , QA QB QC QD QE =10011 Jadi setelah pulsa detak ke-lima data 5 bit dapat dibaca atau dikeluarkan lewat 5 buah keluaran flip-flop secara paralel. Sudah tentu pulsa detak dihentikan setelah ke lima bit data masuk pada register. Oleh karena data dimasukkan secara serial dan dapat dikeluarkan secara paralel, register ini disebut register serial in parallel out atau disebut juga pengubah serial ke Yohanes Suyanto



6.2. Serial In Serial Out - SISO



109



paralel (serial to parallel converter ).



6.2



Serial In Serial Out - SISO



Kalau setelah data dimasukkan secara serial seperti yang dijelaskan pada bagian 6.1, kemudian dimasukkan pulsa detak sebanyak 5 kali, maka setiap bit data akan bergeser ke kanan 5 kali. Dengan demikian, pada pulsa detak ke-satu , QE =1 pada pulsa detak ke-dua , QE =1 pada pulsa detak ke-tiga , QE =0 pada pulsa detak ke-empat, QE =0 pada pulsa detak ke-lima , QE =1 Dengan kata lain, data 5 bit akan keluar lewat QE secara berganti-ganti sinkron dengna pulsa detak (LSB keluar terlebih dahulu). Jadi register Gambar 6.1 dapat juga bekerja sebagai register serial in parallel out atau SISO.



6.3



Parallel In Serial Out- PISO



Telah dibicarakan sebelumnya bahwa data 5 bit dapat dimasukkan secara bersama-sama lewat masukan A, B, C, D, dan E (E = LSB), yaitu dengan cara melakukan reset terlebih dahulu regsiter dan kemudian mengubah PE sebentar ke 1. Jadi kalau misalnya niai ABCDE = 10011, maka setelah dikerjakan operasi seperti tersebut di atas maka nilai QA QB QC QD QE = 10011. Kalau data ini dikeluarkan secara serial lewat QE , maka perlu dimasukkan pulsa detak sebanyak 5 kali seperti telah dibicarakan pada bagian 6.2. Jadi jelas register ini dapat juga dipergunakan sebagai register parallel in serial out atau disebut juga sebagai parallel to serial converter.



6.4



Parallel In Parallel Out - PIPO



Dari pembicaraan bagian 6.3 dan bagian 6.1 dan bagian 6.2 jelas register ini juga dapat bekerja sebagai register parallel in parallel out. Hanya saja biasanya untuk mengatur pengeluaran data secara paralel, masing-masing keluaran dari flip-flop dihubungkan ke masukan sebuah AND, sedang masukan yang lain dari setiap gerbang AND dihubungkan ke ”masukan baca”. Dengan demikian untuk mengeluarkan/membaca data secara paralel ”masukan baca” diatur = 1. Yohanes Suyanto



110



6.5



6. REGISTER



Register Geser Kanan/Kiri (Right/Left Shift Register )



Pada register yang telah dibicarakan, bit demi bit data akan bergeser ke kanan kalau pada register dimasukkan pulsa detak. Register seperti ini disebut register geser kanan atau right shift register. Adakalanya diperlukan suatu register yang dapat menggeser ke kanan atau ke kiri. Untuk register seperti ini diperlukan suatu rangkaian pengatur yang dapat menghubungkan masukan D suatu flip-flop dengan keluaran flip-flop sebelah kirinya (Qki ) kalau harus bergeser kanan, atau dengan keluaran flip-flop sebelah kanannnya kalau harus geser kiri. Rangkaian pengatur seperti ini terlihat pada Gambar 6.2. S Qka D



Q



CK



Q



Qki



Gambar 6.2: Pengatur geser kanan atau kiri untuk register geser Untuk register yang dapat diisi secara paralel melalui D juga, maka diperlukan suatu pengatur yang dapat menghubungkan D dengan Qka , atau dengan Qki atau dengan masukan paralel. Pengatur ini terlihat pada Gambar 6.3. S0



S1 QKa



Masukan Paralel QKi



D



Q



CK



Q



Gambar 6.3: Pengatur geser kanan atau kiri untuk register geser dengan masukan paralel Yohanes Suyanto



6.6. Soal Latihan



111



Dari Gambar 6.3 didapat persamaan: D S0 S0 S0



= = = =



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



Untuk S0 = S1 = 0 oleh karena D = Qka + Qki (tidak dikehendaki), maka lewat pengatur lain pulsa detak dibuat tidak dapat masuk register. Skema lengkap register 5 bit terlihat pada Gambar 6.4. c1 c0 D3



D2



D1



Input geser kanan



D0



output geser kiri Input geser kanan



Q



D



D



Q



D



Q



D



Output geser kanan



Q



c0 c1



CK



CLK EN



CK



Q3 Kendali c1 c0 0 0 1 1



0 1 0 1



CK



Q2



CK



Q1



Q0



Fungsi Tetap Geser kiri Geser kanan Muat paralel



Input geser kanan Output geser kiri c0 c1



D3D2D1D0 Output geser kanan Input geser kiri



Q3Q2Q1Q0



Gambar 6.4: Register geser 5 bit lengkap



6.6



Soal Latihan



6.1 Suatu register 4 bit mempunyai masukan paralel D3 D2 D1 D0 dan x serta keluaran Q3 Q2 Q1 Q0 dan y. Nilai y akan 1 apabila keluaran register mempunyai cacah bit yang bernilai 1 ganjil, selain itu y bernilai 0. Operasi register ditentukan oleh nilai x dan y seperti tabel berikut: Yohanes Suyanto



112



6. REGISTER x 0 0 1 1



y 0 1 0 1



operasi tetap parallel in geser kanan geser kiri



Yohanes Suyanto



BAB 7 REDUKSI LOGIKA DIGITAL SEKUENSIAL 7.1



Reduksi Keadaan



Dalam Bab 4 kita bahas metode perancangan FSM tanpa memperhatikan bahwa ada kemungkinan terdapat mesin yang mempunyai fungsi sama dengan jumlah keadaan yang lebih sedikit. Pada bagian ini kita pusatkan perhatian pada bagaimana mereduksi jumlah keadaan dalam rangkaian sekuensial. Kita mulai dengan penjelasan mengenai FSM yaitu mesin dengan beberapa keadaan dan kemudian kita dapat berhipotesis bahwa ada mesin yang mempunyai fungsi yang ekuivalen dengan hanya berkeadaan tunggal. Kita terapkan semua kombinasi masukan untuk mengecek mesin tersebut dan mengamati keluarannya. Jika mesin menghasilkan keluaran yang berbeda untuk masukan sama pada waktu yang berbeda, maka paling tidak ada 2 keadaan yang berbeda yang tidak ekuivalen. Keadaan yang berbeda ditempatkan pada kelompok yang terpisah, dan proses dilanjutkan hingga tidak ditemui lagi perbedaan. Jika ada kelompok yang mempunyai keadaan lebih dari satu, maka keadaan-keadaan tersebut adalah ekuivalen dan mesin yang lebih kecil dapat disusun dengan setiap kelompok menjadi satu keadaan. Sebagai contoh, perhatikan mesin keadaan M0 yang ditunjukkan oleh tabel keadaan seperti pada Gambar 7.1. Kita mulai proses reduksi dengan berhipotesis bahwa kelima keadaan dapat direduksi menjadi keadaan tunggal, didapat partisi P0 untuk mesin baru M1 : P0 = (ABCDE) 113



114



7. REDUKSI LOGIKA DIGITAL SEKUENSIAL Masukan Keadaan A B C D E



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



Gambar 7.1: Tabel keadaan mesin M0 yang akan direduksi



Kemudian kita kenai masukan tunggal untuk mesin asli M0 dan amati keluarannya. Saat M0 dalam keadaan A, dan mendapat masukan 0, keluarannya adalah 0. Saat mesin M0 dalam keadaan A dan mendapat masukan 1, hasilnya adalah 1. Keadaan B dan E mempunyai perilaku yang mirip, tetapi keadaan C dan D menghasilkan keluaran 1 dan 0 saat dikenai masukan 0 dan 1. Dengan demikian, kita tahu bahwa keadaaan A, B, dan E dapat dibedakan dari keadaan C dan D, sehingga kita peroleh partisi baru P1 : P1 = (ABE)(CD) Setelah dikenai masukan tunggal pada M0 , kita tahu bahwa mesin akan dalam keadaan kelompok ABE atau kelompok CD. Sekarang kita perlu mengamati perilaku mesin dengan keadaan yang baru. Salah satu cara adalah dengan mendaftar semua keadaan berikutnya yang mungkin dalam bentuk hirarki seperti pada Gambar 7.2. Proses penyusunan hirarki dimulai dengan mendaftar semua keadaan pada partisi yang sama. Untuk mesin M0 , partisi awal (ABCDE) dicantumkan sebagai puncak hirarki. Kemudian mesin M0 dikenai masukan 0, keadaan berikutnya akan salah satu dari C, D, C, C, atau A yang berasal dari keadaaan A, B, C, D, atau E. Hasil ini ditunjukkan dengan partisi (CDA)(CC) pada sisi 0, dengan level turun satu dari puncak. Keluaran pada kelompok (CDA) berbeda dengan keluaran pada kelompok (CC), sehingga keadaan asalnya dapat dibedakan. Kelompok asalnya ditulis dalam bentuk partisi (ABE)(CD). Yohanes Suyanto



7.1. Reduksi Keadaan



115 (ABCDE) 0



1



(EEC)(BA) (ABE)(CD) 0 1



(CDA)(CC) (ABE)(CD) 0 1



(CC)(C)(CC) (AB)(E)(CD)*



(BA)(E)(BB) (AB)(E)(CD) 0 1



(DC)(A)(DD) (AB)(E)(CD) 0 1



(CC)(C)(CC)



(EE)(C)(EE) (AB)(E)(CD)*



(AA)(C)(DC) (AB)(E)(CD) 0 1



(CC)(C)(CC)



(CC)(B)(EE) (AB)(E)(CD)*



(EE)(B)(AB)



(AB)(E)(AA) (AB)(E)(CD) 0 1



(CD)(A)(CC)



(EE)(C)(EE)



Gambar 7.2: hirarki Analog dengan hal tersebut, setelah dikenai 1 pada masukan M0 , keadaan berikutnya akan berada pada salah satu dari E, E, B, A, atau C dari keadaan awal A, B, C, D, atau E. Hasil ini tergambar pada hirarki bagian kanan. Pada lapisan berikutnya, kita lihat kelompok (CDA) dan (CC) secara terpisah. Jika dikenai nilai 0 pada masukan M0 dalam keadaan C, D, atau A, maka keluaran untuk keadaan C dan D akan menghasilkan keadaan C dan C dengan keluaran 1. Tetapi untuk keadaan A keluarannya 0 dengan keadaan C. Oleh karena itu kemudian digambarkan (CC)(C) pada jalur 0,0 dari puncak hirarki. Jika dikenai 0 pada M0 saat keadaan C atau D keluaran akan sama dan keadaan menjadi C. Dengan demikian secara lengkap pada jalur 0,0 dari puncak hirarki dihasilkan keadaan (CC)(C)(CC) dari keadaan awal (AB)(E)(CD). Dengan demikian sampai di sini, A tidak berbeda dengan B, dan C tidak berbeda dengan D, tetapi setiap kelompok dapat dibedakan saat dikenai urutan masukan 0,0 pada M0 tanpa memperhatikan keadaan awalnya. Cara ini dilanjutkan terus sampai tidak ada partisi yang lebih kecil yang dapat dibuat. Misalnya, saat partisi berisi kelompok keadaan yang tidak daYohanes Suyanto



116



7. REDUKSI LOGIKA DIGITAL SEKUENSIAL



pat dibedakan lagi seperti (CC)(C)(CC), maka pada titik ini kemudian ditandai dengan asterisk (*) dan pada titik ini proses dihentikan. Hirarki pada Gambar 7.2 menunjukkan ilustrasi variasi yang dapat timbul saat melakukan ekpansi. Jika partisi yang dibuat sudah pernah ada di tempat lain dalam hirarki maka partisi tersebut ditandai dengan coret dan ekpansi di titik itu dihentikan. 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 hasil akhirnya adalah P3 . Mesin M1 adalah reduksi dari M0 . Keadaan mesin M1 adalah (AB), (CD), dan (E) yang dapat ditulis sebagai A’, B’, dan C’. Tabel transisi keadaan mesin M1 yang baru terlihat pada Gambar 7.3. Masukan Keadaan AB : A′ CD : B ′ E : C′



X 0 B ′ /0 B ′ /1 A′ /0



1 C ′ /1 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 sehingga implementasinyapun menjadi berbeda pula. Misalnya mesin M pada mempunyai table keadaan yang tertera pada Gambar ??.a. Dari tabel tersebut dapat ditentukan nilai keadaan yang berbeda. Sebagai contoh tabel pada Gambar ??.b dan ??.c adalah 2 penetuan nilai keadaan yang berbeda tetapi untuk mesin M yang sama. Pada tabel P N0 secara sederhana ditentukan nilai keadaan dengan nilai urut. A → 00, B → 01, C → 10, dan D → 11. Pada tabel P N1 nilai C dan D ditukar. Yohanes Suyanto



7.2. Masalah Penentuan Nilai Keadaan Masukan X K.S. 0 1 A B/1 A/1 B C/0 D/1 C C/0 D/0 D B/1 A/0 a. Mesin M



Gambar 7.4: keadaannnya



117



Masukan X K.S. 0 1 A : 00 01/1 00/1 B : 01 10/0 11/1 C : 10 10/0 11/0 D : 11 01/1 00/0 b. P N0



Masukan X K.S. 0 1 A : 00 01/1 00/1 B : 01 11/0 10/1 C : 11 11/0 10/0 D : 10 01/1 00/0 c. P N1



Tabel keadaan mesin M dan 2 macam penentuan nilai



Dengan menerapkan nilai keadaan P N0 diperoleh persamaan keadaan dan keluaran yang ditunjukkan oleh Gambar 7.5. Dalam gambar tersebut juga ditunjukkan reduksi persamaan menggunakan metode peta Karnaugh. Dari persamaan-persamaan tersebut diperoleh jumlah masukan gerbang adalah 29. Masukan gerbang adalah jumlah variabel dan suku pada persamaan logika.



X



0



1



0



X



K0 K1



K0 K1



00



00



01



1



1



11



10 1



1



K0 = K0 K1 + K0 K1



11



K1



=



X



0



1



1



1



K0 K1



00



1



01



10



1



1



01 10



1 1



1 1



11



Z = K0 K1 +K0 X+K0 K1 X K0 K1 X + K0 K1 X +K0 K1 X + K0 K1 X



Gambar 7.5: Peta Karnaugh untuk M dengan nilai keadaan P N0 Jika digunakan penetapan nilai P N1 bentuk peta Karnaugh dan persamaan logikanya terlihat pada Gambar 7.6. Jumlah masukan gerbang untuk persamaan-persamaan ini hanya 6. S0 dan S1 tidak dihitung dalam jumlah ini karena keduanya tidak melewati satu gerbangpun hanya dihubungkan langsung ke variabel. Yohanes Suyanto



118



7. REDUKSI LOGIKA DIGITAL SEKUENSIAL



X



0



1



X



0



1



X



K0 K1



K0 K1



00



00



1



00



01



1



1



01



1



01



10



1



1



10



1



10



11



1



11



11



K0 = K1



0



1



1



1



K0 K1



K1 = X



1



1



Z = K1 X + K0 X



Gambar 7.6: Peta Karnaugh untuk M dengan nilai keadaan P N1



7.3



Contoh Reduksi: Detektor Urutan 0/0 0/0 0/0



1/0



B



1/0



E



0/0



1/1 0/0



A



1/0



D



0/0 C



1/0



F



1/1



0/1 G



1/0



Gambar 7.7: Diagram transisi keadaan untuk detektor urutan Mesin detektor urutan akan menghasilkan nilai 1 jika tepat 2 dari 3 masukan terakhir bernilai 1. Mesin ini sudah pernah dibahas pada Bab 4. Untuk masukan berupa 011011100 hasil keluarannya adalah 001111010. Ada satu masukan serial dan diasumsikan tidak pada awalnya tidak ada masukan. Diagram keadaan mesin ini terlihat pada Gambar 7.7. Kemungkinan kombinasi dari 3 nilai masukan terakhir ada 8 macam yaitu: 000, 001, 010, Yohanes Suyanto



7.3. Contoh Reduksi: Detektor Urutan



119



011, 100, 101, 110, dan 111. Keadaan A adalah keadaan awal saat belum ada nilai masukan yang masuk. Keadaan B dan C adalah saat baru ada 1 masukan, sehingga belum memungkinkan untuk menghasilkan keluaran 1. Demikian juga keadaan D, E, F, dan G belum mungkin menghasilkan keluaran 1 saat menerima perpindahan dari keadaan B atau C. Keadaan D terjadi saat 2 masukan terakhir bernilai 00. Keadaan E, F, atau G terjadi saat 2 masukan terakhir bernilai 01, 10, atau 11. Keluaran bernilai 1 hanya mungkin untuk perpindahan keadaan dari E (01) atau F (10) yang mendapat masukan 1, atau keadaan dari G (11) yang mendapat masukan 0. x



Masukan Keadaan sekarang



A B C D E F G



0 B/0 D/0 F/0 D/0 F/0 D/0 F/1



1 C/0 E/0 G/0 E/0 G/1 E/1 G/0



Gambar 7.8: Tabel keadaan detektor urutan Langkah berikutnya adalah menyusun tabel keadaan. Tabel ini terlihat pada Gambar 7.8. Dari tabel tersebut kemudian dilakukan reduksi keadaan yang dimulai dengan hipotesis bahwa semua keadaan adalah sama (identik). Untuk membuktikan kebenaran hipotesis itu dilakukan penghalusan. Jika sekelompok keadaan bisa dibedakan terhadap kelompok lainnya, maka hipotesis itu gugur. Namun tetap dilanjutkan penghalusan kelompok keadaan sehingga tidak ada lagi yang dapat dibedakan (dipecah). Urutan proses ini adalah: P0 P1 P2 P3



= = = =



(ABCDEF G) (ABCD)(EF )G) (A)(BD)(C)(E)(F )G) √ (A)(BD)(C)(E)(F )G) x



Masukan Keadaan sekarang



A’ B’ C’ D’ E’ F’



0 B’/0 B’/0 E’/0 E’/0 B’/0 E’/1



1 C’/0 D’/0 F’/0 F’/1 D’/1 F’/0



Gambar 7.9: Tabel keadaan detektor urutan yang baru Yohanes Suyanto



120



7. REDUKSI LOGIKA DIGITAL SEKUENSIAL x



Masukan Keadaan sekarang



0 s2 s1 s0 s2 s1 s0 z 000 001/0 001 001/0 010 100/0 011 100/0 100 001/0 101 100/1



A’: B’: C’: D’: E’: F’:



1 s2 s1 s0 z 010/0 011/0 101/0 101/1 011/1 101/0



Gambar 7.10: Tabel penentuan nilai keadaan detektor urutan



K2 K1 K0 X



K2 K1 K0 X 00 00



01



11



1



10



1



11



d



1



00



1



d



1



01



1



d



1



d



1



11



1



d d



01



11



00



1



d



00



d



01



1



d



01



d



11



1



d



1



11



10



1



d



1



10



10



00



01



1



11



10



1



d d



1



Z = K2 K 0 X + K1 K0 X + K2 K0 X



Gambar 7.11: Peta Karnaugh untuk detektor urutan Yohanes Suyanto



1



K1 = K 2 K 1 X + K2 K 0 X K2 K1 K0 X



K0 = K 2 K 1 X + K0 X



K2 = K1 + K2 K0



10



d



10



d



K2 K1 K0 X 00



01



10



1



01



00



11



7.4. Tabel Eksitasi



121 x



D



Q



K0 CK



CK



CK Q



D



Q



K1 CK CK Q D



Q



K2 CK CK Q



z



Gambar 7.12: Skema rangkaian detektor urutan Keadaan B dan D untuk jalur 0,0,0 pada diagram keadaan adalah sama. Tabel keadaan yang baru terlihat pada Gambar 7.9. Dengan nilai keadaan seperti pada Gambar 7.10 maka peta Karnaugh dapat disusun seperti pada Gambar 7.11 dan rangkaiannya ada pada Gambar 7.12. Perlu diperhatikan bahwa ada 4 kondisi don’t care pada baris 110 dan 111 karena kedua keadaan ini tidak pernah muncul atau tidak digunakan dalam tabel keadaan.



7.4



Tabel Eksitasi



Semua flip-flop yang telah dibicarakan tersedia di pasaran dalam komponen tersendiri, dan pada awalnya seorang desainer rangkaian digital sekuensial perlu memilih salah satunya. Pemilihan jenis flip-flop biasanya mempertimbangkan harga, unjuk kerja, ketersediaan, dan lain-lain. Saat pengembangan rangkaian digital sudah menggunakan teknologi VLSI, orang cenderung memilih D flip-flop. Namun demikian adakalanya aplikasi masih menunYohanes Suyanto



122



7. REDUKSI LOGIKA DIGITAL SEKUENSIAL



tut untuk menggunakan flip-flop selain D flip-flop. Untuk situasi seperti ini pemikiran utama adalah memilih jenis flip-flop yang menghasilkan jumlah komponen sesedikit mungkin, karena flip-flop dapat diperoleh dalam bentuk komponen tunggal. Flip-flop S-R, J-K, D, ataupun T, dapat dibuat tabel eksitasinya yang terlihat pada Gambar 7.13. Setiap tabel menunjukkan nilai yang harus diisikan pada masukan flip-flop untuk mendapatkan keluaran yang diharapkan pada t + 1 dari keadaan keluaran sebelumnya (t). S−R f lip − f lop



Qt 0 0 1 1



Qt+1 0 1 0 1



S 0 1 0 0



R 0 0 1 0



D f lip − f lop



Qt 0 0 1 1



Qt+1 0 1 0 1



D 0 1 0 1



J −K f lip − f lop



Qt 0 0 1 1



Qt+1 0 1 0 1



J 0 1 d d



K d d 1 0



T f lip − f lop



Qt 0 0 1 1



Qt+1 0 1 0 1



T 0 1 1 0



Gambar 7.13: Tabel eksitasi untuk flip-flop S-R, D, J-K, dan T 01/1 00/0



01/0



11/0



A 10/1



B 00/1



00 A/0 A/1



A B Masukan Keadaan sekarang



A:0 B:1



11/1 XY



Masukan Keadaan sekarang



10/0



00 0/0 0/1



01 A/1 B/0



10 A/1 B/0



XY 01 10 0/1 0/1 1/0 1/0



11 B/0 B/1



11 1/0 1/1



Gambar 7.14: Diagram transisi keadaan, tabel keadaan, dan penentuan nilai keadaan untuk penjumlah berseri Sebagai contoh kasus digunakan penjumlah berseri. Gambar 7.14 merupakan diagram keadaan, tabel keadaan, dan penentuan nilai keadaan untuk Yohanes Suyanto



7.4. Tabel Eksitasi



123



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



X 0 0 0 0 1 1 1 1



Y 0 0 1 1 0 0 1 1



Kt 0 1 0 1 0 1 0 1



D 0 0 0 1 0 1 1 1



Set S 0 0 0 0 0 0 1 0



Reset R 0 1 0 0 0 0 0 0



T 0 1 0 0 0 0 1 0



J 0 d 0 d 0 d 1 d



K d 1 d 0 d 0 d 0



Z 0 1 1 0 1 0 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 pada Gambar 7.15. Tabel ini disusun dengan memperhatikan keadaan sekarang (Kt ) dan keadaan berikutnya (Kt+1 ) jika mendapatkan masukan Xdan Y . Berdasarkan perubahan keadaan tersebut kemudian ditentukan nilai masukan untuk masing-masing flip-flop dengan memperhatikan tabel eksitasinya. Misalnya, pada baris pertama dengan nilai X = Y = 0, dan keadaan awal adalah 0, maka keadaan selanjutnya adalah 0 juga. Jadi keluaran dari nilai 0 menjadi 0 lagi. Untuk flip-flop D, nilai D adalah 0, sedang untuk flip-flop J-K, nilai J = 0, dan K = d. Demikian seterusnya sehingga tabel kebenaran tersebut dilengkapi. Persamaan Boolean untuk penjumlah berseri jika menggunakan flip-flop J-K adalah: J = XY K = X Y Z = X Y K + XY K + XY K + XY K Jika menggunakan D, S-R, atau T persamaan Boolean yang digunakan masing-masing adalah: D S R T



= = = =



XY + XK + Y K XY K X YK X Y K + XY K Yohanes Suyanto



124



7.5



7. REDUKSI LOGIKA DIGITAL SEKUENSIAL



Soal Latihan



7.1 Reduksilah tabel keadaan berikut: Masukan K.S. A B C D E F G



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



7.2 Reduksilah tabel keadaan berikut: Masukan K.S. A B C D E



XY 00 01 10 11 A/0 B/0 C/0 D/0 A/0 B/1 D/0 D/1 E/1 B/0 B/0 E/1 A/0 D/1 D/0 B/1 C/1 D/0 D/0 E/1



7.3 Berikut adalah tabel keadaan ternary. Tunjukkan proses dan hasil akhir dari reduksi tabelnya! Masukan K.S. A B C D E F G



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



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



7.4 Dalam tabel keadaan terreduksi berikut, nilai keadaan sudah ditentukan. Rancanglah mesinnya menggunakan flip-flop D, gerbang AND dan OR. Gunakan peta Karnaugh untuk mereduksi ekspresi untuk fungsi keadaan berikutnya dan keluaran. Hati-hati untuk menyusun peta Karnaugh secara benar karena tabel tersebut hanya terdiri atas 3 baris. Yohanes Suyanto



7.5. Soal Latihan



125 Masukan K.S. A : 00 B : 01 C : 10



X 0 1 00/0 01/1 10/1 00/1 01/1 10/0



Yohanes Suyanto