Anda di halaman 1dari 134

PERANCANGAN SISTEM DIGITAL

(4TF1227) 2 SKS

Dosen Pengampu :

AGUS SURYADI, M.KOM


NIDN. 1028088702

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS IBNU SINA
Daftar Isi

1 SISTEM BILANGAN 1
1.1 Pendahuluan .......................................................................................... 1
1.2 Nilai Basis .......................................................................................... 2
1.2.1 Desimal ...................................................................................... 2
1.2.2 Biner ...................................................................................... 3
1.2.3 Oktal ................................................................................... 4
1.2.4 Heksadesimal ............................................................................ 4
1.3 Faktor Bobot ..................................................................................... 4
1.4 Konversi sistem bilangan .................................................................. 5
1.4.1 Konversi bilangan desimal menjadi biner ........................... 5
1.4.2 Konversi bilangan desimal menjadi oktal ............................ 6
1.4.3 Konversi bilangan desimal menjadi heksadesimal.................. 7
1.4.4 Cara lain konversi bilangan .................................................. 7
1.5 Sistem Kode ...................................................................................... 9

2 RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL 11


2.1 Unit Logika Kombinasional ............................................................. 11
2.2 Tabel Kebenaran ............................................................................. 12
2.3 Gerbang Logika ............................................................................... 13
2.4 Implementasi Elektronik dari Gerbang Logika .............................. 16
2.5 Buffer Tri-State ............................................................................... 19
2.6 Sifat-sifat Aljabar Boole .................................................................. 20
2.7 Bentuk Sum-of-Product dan Diagram Logika ................................ 22
2.8 Bentuk Product-of-Sum .................................................................. 24
2.9 Logika Positif dan Negatif .............................................................. 26
2.10 Data Sheet ........................................................................................... 27
2.11 Komponen Digital ........................................................................... 27
2.11.1 Level Integrasi ..................................................................... 28
2.11.2 Multiplekser ............................................................................ 28
2.11.3 Demultiplekser ........................................................................ 30
2.11.4 Dekoder ................................................................................... 31
iii
iv DAFTAR ISI

2.11.5 Enkoder Prioritas ................................................................. 33


2.11.6 PLA ............................................................................. 34
2.11.7 Penggunaan PLA untuk Penjumlah Ripple-carry ............36
2.12 Soal Latihan .................................................................................38

3 REDUKSI LOGIKA DIGITAL KOMBINASIONAL 43


3.1 Reduksi Ekspresi 2 Level ................................................................. 43
3.1.1 Metode Aljabar .................................................................... 44
3.1.2 Metode Peta Karnaugh ....................................................... 45
3.1.3 Dimensi yang lebih tinggi.................................................... 51
3.1.4 Metode Tabulasi ..................................................................... 54
3.2 Soal Latihan .................................................................................63

4 RANGKAIAN LOGIKA DIGITAL SEKUENSIAL 69


4.1 Flip-Flop S-R .................................................................................70
4.2 Flip-flop S-R Berdetak ..................................................................... 72
4.3 Flip-flop D dan konfigurasi tuan-hamba ........................................ 74
4.4 Flip-flop JK dan T ............................................................ 76
4.5 Desain Mesin Keadaan Berhingga .................................................. 78
4.6 Contoh: Detektor Urutan ............................................................... 83
4.7 Contoh: Pengendali mesin penjualan ............................................ 85
4.8 Mesin Mealy dan Moore .................................................................... 87
4.9 Register ................................................................................................ 88
4.10 Pencacah .............................................................................................. 90
4.11 Soal Latihan .................................................................................91

5 PENCACAH 93
5.1 Pencacah Sinkron ............................................................................ 94
5.1.1 Pencacah Sinkron Modulo-6 ............................................... 95
5.1.2 Pencacah Sinkron Modulo-10 ................................................ 97
5.2 Pencacah Tak Sinkron ...................................................................100
5.3 Pencacah Naik/Turun (up/down counter ) ....................................103

6 REGISTER 107
6.1 Serial In Parallel Out - SIPO ..................................................... 108
6.2 Serial In Serial Out - SISO ........................................................ 109
6.3 Parallel In Serial Out- PISO ................................................. 109
6.4 Parallel In Parallel Out - PIPO.................................................. 109
6.5 Register Geser Kanan/Kiri (Right/Left Shift Register ).................110
6.6 Soal Latihan .............................................................................. 111
DAFTAR ISI v

7 REDUKSI LOGIKA DIGITAL SEKUENSIAL 113


7.1 Reduksi Keadaan ........................................................................... 113
7.2 Masalah Penentuan Nilai Keadaan .............................................. 116
7.3 Contoh Reduksi: Detektor Urutan ............................................... 118
7.4 Tabel Eksitasi .............................................................................121
7.5 Soal Latihan ...............................................................................124
Daftar Gambar

1.1 Perulangan horisontal dan vertikal .................................................. 3


1.2 Konversi bilangan desimal 19 menjadi biner ................................... 5
1.3 Pengujian bilangan biner 10011 menjadi bilangan desimal ............ 6
1.4 Konversi bilangan desimal 321 menjadi oktal ................................. 6
1.5 Pengujian bilangan oktal 501 menjadi bilangan desimal ................ 6
1.6 Konversi bilangan desimal 321 menjadi heksadesimal ..................... 7
1.7 Pengujian bilangan heksadesimal 141 menjadi bilangan desimal 7
1.8 Pengubahan bilangan oktal 157 menjadi biner ............................... 7
1.9 Pengubahan bilangan biner 10011001 menjadi oktal ...................... 8

2.1 Unit logika kombinasi, jika dilihat dari luar ...................................12


2.2 Tabel kebenaran untuk saklar A dan B serta lampu Z ................ 13
2.3 Tabel kebenaran untuk semua kemungkinan fungsi dari 2 ma-
sukan ................................................................................................14
2.4 Fungsi AND, OR, dan NOT sebagai pembentuk fungsi-fungsi
lainnya.......................................................................................... 15
2.5 Simbol gerbang logika untuk fungsi Boolean AND, OR, buffer,
dan NOT ...........................................................................................16
2.6 Simbol gerbang logika untuk fungsi Boolean NAND, NOR,
XOR, dan XNOR ......................................................................... 17
2.7 Variasi gerbang logika (a) tiga masukan dan (b) masukan de-
ngan komplemen ................................................................................. 17
2.8 (a) pembalik dengan terminal tenaga dimunculkan dan (b)
rangkaian transistor untuk pembalik ..............................................18
2.9 Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang
logika keluaran, (b) gerbang logika masukan .................................18
2.10 Rangkaian transistor (a) NAND 2 masukan (b) NOR 2 masukan 19
2.11 Buffer tri-state dan Buffer tri-state kendali inversi ........................19
2.12 Pembuktian teorema DeMorgan untuk 2 variabel .........................21
2.13 Penyusunan NAND menjadi OR .................................................. 22
2.14 Implementasi OR dengan NAND (gambar lain) .......................... 22

vii
DAFTAR GAMBAR ix

2.15 Penyusunan NAND menjadi AND ............................................... 22


2.16 Tabel kebenaran untuk fungsi mayoritas ....................................... 23
2.17 Implementasi fungsi mayoritas dengan dua-level AND-OR. In-
verter tidak dihitung sebagai level. ................................................ 24
2.18 Rangkaian OR-AND dua-level implementasi dari fungsi may-
oritas. Inverter tidak dihitung sebagai level .................................. 25
2.19 Logika positif dan negatif untuk pasangan AND-OR dan NAND-
NOR .............................................................................................. 27
2.20 Proses pencocokan gelembung .......................................................... 28
2.21 Blok diagram dan tabel kebenaran untuk MUX 4-ke-1 ................. 29
2.22 Implementasi MUX 4-ke-1 dengan AND-OR ............................... 29
2.23 Implementasi MUX 8-ke-1 untuk fungsi mayoritas ....................... 30
2.24 Implementasi MUX 4-ke-1 untuk fungsi dengan 3 variabel .......... 30
2.25 Diagram blok dan tabel kebenaran untuk DEMUX 1-ke-4 ........... 31
2.26 Rangkaian DEMUX 1-ke-4 ........................................................... 31
2.27 Diagram blok dan tabel kebenaran dekoder 2-ke-4 ........................ 32
2.28 Rangkaian dekoder 2-ke-4.................................................................. 32
2.29 Implementasi fungsi mayoritas dengan dekoder 3-ke-8 ................. 32
2.30 Diagram blok dan tabel kebenaran enkoder prioritas 4-ke-2......... 33
2.31 Rangkaian enkoder prioritas 4-ke-2 ................................................ 34
2.32 PLA 3 masukan 2 keluaran .......................................................... 35
2.33 Penyederhanaan PLA ................................................................... 36
2.34 PLA dalam bentuk kotak hitam ................................................... 36
2.35 PLA dalam bentuk kotak hitam ................................................... 37
2.36 Implementasi penjumlah 4 bit menggunakan penjumlah penuh
berjenjang ........................................................................................ 37
2.37 Penjumlah penuh menggunakan PLA .......................................... 38
2.38 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.39 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.41 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.1 Implementasi fungsi mayoritas direduksi ...................................... 45


3.2 Diagram Venn untuk 3 variabel biner ............................................ 46
3.3 Peta Karnaugh untuk fungsi mayoritas .......................................... 47
3.4 Pengelompokan sel bertetangga pada fungsi mayoritas .................. 47
3.5 Fungsi mayoritas direduksi ............................................................. 48
3.6 Pengelompokan mulai dari sel yang tidak masuk dalam kelom-
pok yang lebih besar ........................................................................... 49
3.7 Pengelompokan mulai dari kelompok yang paling besar ................. 49
3.8 Posisi sudut pada peta Karnaugh secara logis bertetangga .......... 50
viii DAFTAR GAMBAR

3.10 Peta Karnaugh dengan 5 variabel ..................................................... 51


3.9 Peta Karnaugh yang sama dapat menghasilkan persamaan
minimal berbeda ..............................................................................51
3.11 Peta Karnaugh dengan 6 variabel ...................................................52
3.12 Implementasi fungsi mayoritas 3 level ............................................53
3.13 Peta Karnaugh dengan isian variabel D ...................................... 54
3.14 Peta Karnaugh dengan 3 variabel isian ..........................................54
3.15 Tabel kebenaran suatu fungsi dengan don’t care ............................ 55
3.16 Proses reduksi tabulasi ....................................................................56
3.17 Tabel pilihan ....................................................................................58
3.18 Tabel pilihan terreduksi ...................................................................58
3.19 Tabel kebenaran untuk 3 fungsi dengan 3 variabel ........................ 60
3.20 Tabel pilihan keluaran jamak ..........................................................61
3.21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

4.1 Model klasik dari FSM ................................................................. 70


4.2 Gerbang NOR dengan rangkaian tunda ..........................................71
4.3 Flip-flop S-R dengan NOR ........................................................... 71
4.4 Tabel kebenaran Flip-flop S-R.........................................................72
4.5 Flip-flop S-R dengan NAND ......................................................... 72
4.6 Rangkaian yang mengandung hazard ............................................... 73
4.7 Detak yang berupa gelombang kotak ............................................... 74
4.8 Flip-flop S-R berdetak .....................................................................74
4.9 Flip-flop D. Simbol CLK menunjukkan clock atau detak............ 75
4.10 Tabel kebenaran untuk flip-flop D. Nilai keluaran sama dengan
nilai masukan pada detak sebelumnya ............................................. 75
4.11 Flip-flop tuan-hamba .......................................................................76
4.12 Flip-flop J-K dan simbolnya ......................................................... 77
4.13 Tabel kebenaran untuk flip-flop J-K. Nilai J=1 dan K=1 diper-
bolehkan ...................................................................................... 77
4.14 Flip-flop T dan simbolnya ............................................................ 77
4.15 Tabel kebenaran untuk flip-flop T ............................................ 78
4.16 Flip-flop J-K tuan-hamba dan simbolnya..................................... 78
4.17 Pencacah modulo 4 ............................................................................ 79
4.18 Diagram transisi keadaan pencacah modulo 4 ................................ 80
4.19 Tabel keadaan untuk pencacah modulo-4 ....................................... 80
4.20 Tabel keadaan untuk pencacah modulo-4 dengan pengkodeannya 81
4.21 Tabel kebenaran untuk keadaan berikutnya dan fungsi kelu-
aran pencacah modulo-4 .................................................................... 82
4.22 Desain logika untuk pencacah modulo-4.......................................... 82
DAFTAR GAMBAR 1

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


4.24 Tabel keadaan detektor urutan ...................................................... 83
4.25 Penetapan kode keadaan dan tabel kebenaran detektor urutan 84
4.26 Diagram logika detektor urutan ..................................................... 84
4.27 Diagram transisi keadaan pengendali mesin penjualan ................. 85
4.28 (a) Tabel keadaan pengendali mesin penjualan (b) penetapan
kode keadaan pengendali mesin penjualan ...................................... 86
4.29 Mesin penjualan (a) rangkaian, (b) tabel kebenaran (c) real-
isasi PLA ................................................................................ 87
4.30 FSM Moore pencacah biner 2 bit ................................................... 88
4.31 Register 4-bit ................................................................................... 89
4.32 Register 4-bit disederhanakan ........................................................... 89
4.33 Register geser ...................................................................................... 90
4.34 Pencacah modulo 8 ............................................................................ 91

5.1 Peta Karnaugh untuk penentuan persamaan J dan K pada


pencacah modulo-6 sinkron ............................................................ 97
5.2 Pencacah sinkron modulo-6............................................................... 97
5.3 Pengaturan pulsa detak pada 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 flip-
flop T .................................................................................... 100
5.7 Rangkaian pencacah modulo-10 tak sinkron menggunakan
flip-flop T .............................................................................. 102
5.8 Rangkaian pencacah modulo-5 tak sinkron menggunakan flip-
flop T .................................................................................... 103
5.9 Pengatur pulsa pada pencacah naik/turun .................................. 105

6.1 Register serial-parallel ................................................................... 107


6.2 Pengatur geser kanan atau kiri untuk register geser .................... 110
6.3 Pengatur geser kanan atau kiri untuk register geser dengan
masukan paralel ............................................................................. 110
6.4 Register geser 5 bit lengkap ............................................................ 111

7.1 Tabel keadaan mesin M0 yang akan direduksi ............................. 114


7.2 hirarki ............................................................................................. 115
7.3 Tabel keadaan mesin M1 hasil direduksi ...................................... 116
7.4 Tabel keadaan mesin M dan 2 macam penentuan nilai
keadaannnya .................................................................................. 117
2 DAFTAR GAMBAR

7.5 Peta Karnaugh untuk M dengan nilai keadaan PN 0 ............... 117


7.6 Peta Karnaugh untuk M dengan nilai keadaan PN 1 ............... 118
7.7 Diagram transisi keadaan untuk detektor urutan ........................ 118
7.8 Tabel keadaan detektor urutan ..................................................... 119
7.9 Tabel keadaan detektor urutan yang baru ................................... 119
7.10 Tabel penentuan nilai keadaan detektor urutan ............................120
7.11 Peta Karnaugh untuk detektor urutan ......................................... 120
7.12 Skema rangkaian detektor urutan ................................................. 121
7.13 Tabel eksitasi untuk flip-flop S-R, D, J-K, dan T...................... 122
7.14 Diagram transisi keadaan, tabel keadaan, dan penentuan nilai
keadaan untuk penjumlah berseri ................................................. 122
7.15 Tabel kebenaran perubahan keadaan pada flip-flop ......................123
BAB 1

SISTEM BILANGAN

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

1
2 1. SISTEM BILANGAN

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

1.2 Nilai Basis


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

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

0 −→ 0
p 1
e 2
r 3
u 4
l 5 Perulangan horisontal
a 6
n 7
g 8
a 9
n 1 −→ 10
11
v 12
e 13
r 14
t 15
i 16
k 17
a 18
l 19
2 −→ 20
...
9 −→ 90
...
9 −→ 9990
Gambar 1.1: Perulangan horisontal dan vertikal

1.2.2 Biner

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

Desimal Biner
13 1101
123 1111011
45 101101
1023 1111111111
4 1. SISTEM BILANGAN

1.2.3 Oktal
Sistem oktal adalah sistem basis-8 dengan simbol sebanyak 8 macam yaitu:
0,1,2,3,4,5,6, dan 7. Contoh:

Desimal Biner Oktal


13 1101 15
123 1111011 173
45 101101 33
1023 1111111111 1777

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

Desimal Biner Heksadesimal


13 1101 D
123 1111011 7B
45 101101 2D
1023 1111111111 3FF
Sistem duodesimal adalah sistem berbasis 12 digunakan oleh orang Ro-
mawi untuk beberada keperluan. Sistem vigesimal adalah sistem bilangan
berbasis 20 digunakan oleh orang Maya sedang seksagesimal berbasis 60 dan
digunakan oleh orang Babylonia.

1.3 Faktor Bobot


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

200= 0
0 × 101 = 0 × 1 = 0
0
2×× 10
10 ==20×× 100
10 == 2000
2

200 (hasil penjumlahan)

Contoh lain untuk bilangan 312,


1.4. Konversi sistem bilangan 5

312=
2 × 100 = 2 × 1 = 2
1 × 101 = 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
0 × 21 =0×1 = 0
1 × 22 =1×2 = 2
1 × 23 =1×4 = 4
0
1×× 22 = × 16
= 10 × 8 =
= 160
4

22 (hasil penjumlahan)

1.4 Konversi sistem bilangan


1.4.1 Konversi bilangan desimal menjadi biner
Pengubahan bilangan desimal menjadi bilangan biner dapat dilakukan de-
ngan membagi dua bilangan desimal tersebut secara berulang sampai habis
sambil mencatat sisa hasil bagi (modulo). Sebagai contoh bilangan desi-
mal 19 dapat diubah menjadi bilangan biner dengan cara yang terlihat pada
Gambar 1.2.

19 = 9 sisa 1
2
9 = 4 sisa 1
2
4 = 2 sisa 0
2
2 = 1 sisa 0
2
1 = 0 sisa 1
2
1910 = 1 0 0 1 12
Gambar 1.2: Konversi bilangan desimal 19 menjadi biner

Untuk menguji hasil konversi tersebut dapat dilakukan dengan cara se-
belumnya. Lihat Gambar 1.3.
6 1. SISTEM BILANGAN

10110= 0
0 × 21 =1×1 = 1
1×2 =1×2 = 2
1 × 22 =0×4 = 0
0 × 23 =0×8 = 0
1 × 24 = 1 × 16 = 16
19 (hasil penjumlahan)
Gambar 1.3: Pengujian bilangan biner 10011 menjadi bilangan desimal

1.4.2 Konversi bilangan desimal menjadi oktal


Pengubahan bilangan desimal menjadi bilangan oktal dapat dilakukan de-
ngan cara yang sama dengan konversi dari bilangan desimal menjadi bilangan
biner, dengan mengganti bilangan pembagi dengan delapan. Sebagai contoh
bilangan desimal 321 dapat diubah menjadi bilangan oktal dengan cara yang
terlihat pada Gambar 1.4.

321
8 = 40 sisa 1
40
8 = 5 sisa 0
5
8
= 0 sisa 5
32110 = 5 0 18
Gambar 1.4: Konversi bilangan desimal 321 menjadi oktal

Untuk menguji hasil konversi tersebut dapat dilakukan dengan cara se-
belumnya. Lihat Gambar 1.5.

501=
1 × 80 = 1 × 1 = 1
0×8 =0×8 =
1 0
5 × 82 = 5 × 64 = 320
321 (hasil penjumlahan)
Gambar 1.5: Pengujian bilangan oktal 501 menjadi bilangan desimal

Sekilas terlihat bahwa perhitungan di atas tidak benar. Namun demikian,


perlu diingat bahwa perhitungan tersebut dilakukan dalam bilangan oktal.
Hasil dari 152 adalah 6 dengan sisa 1, karena sebenarnya 158 = 1310.
1.4. Konversi sistem bilangan 7

1.4.3 Konversi bilangan desimal menjadi heksadesimal


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

321
16 = 20 sisa 1
20
16 = 1 sisa 4
1
16
= 0 sisa 1
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= 0
1 × 16 = 1 × 1 = 1
4 × 16 = 4 × 16 =
1
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 di-
lakukan dengan mengubahnya terlebih dahulu ke bilangan desimal, kemudian
diubah ke sistem bilangan tujuan. Namun demikian pengubahan bilangan
biner menjadi bilangan oktal (dan bilangan heksadesimal) dan sebaliknya da-
pat dilakkan secara langsung dengan cara seperti ditunjukkan pada Gambar
1.8.

[h!]
1578 = `0˛0¸1x `1˛0¸1x `1˛1¸1x= 11011112
1 5 7

Gambar 1.8: Pengubahan bilangan oktal 157 menjadi biner


8 1. SISTEM BILANGAN

Cara tersebut dilakukan dengan mengubah setiap digit bilangan oktal


menjadi 3 digit biner (bit). Ingat 8 adalah 23. Sebaliknya untuk men-
gubah bilangan biner menjadi bilangan oktal dapat ditempuh dengan men-
gelompokkan setiap 3 bit dari bilangan biner dari kanan dan menerjemahkan
masing-masing kelompok menjadi bilangan oktal yang sesuai. Lihat Gambar
1.9.
[h!]
100110012 = `1˛0̧x `0˛1¸1x `0˛0¸1x = 2318
2 3 1

Gambar 1.9: Pengubahan bilangan biner 10011001 menjadi oktal

Pengubahan bilangan heksadesimal menjadi biner dapat dilakukan de-


ngan menerjemahkan setiap digit bilangan heksadesimal menjadi 4 bit. Bi-
langan 4 didapat karena 16 (heksadesimal) adalah 24.
Contoh 1.1

Ubah bilangan 2BA16 menjadi bilangan desimal!

Jawab:

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


= 2 × 256 + 11 × 16 + 10 × 1
= 512 + 176 + 10 = 69810

Contoh 1.2

Ubah bilangan 84510 menjadi bilangan heksadesimal!

Jawab:

845
= 52 sisa 13(D)
16
52
= 3 sisa 4
16
3
= 0 sisa 3
16
Jadi 84510 = 34D16
1.4. Konversi sistem bilangan 9

1.5. Sistem Kode 9

Contoh 1.3
Ubah bilangan 2B16 menjadi bilangan biner!
Cara I:
Bilangan setiap kali dibagi dengan 2. Perlu diingat bahwa pem-
bagian dilakukan dalam bilangan heksadesimal.
2B
2 = 15 sisa 1
15
2 = A sisa 1
A
2 = 5 sisa 0
5
2 = 2 sisa 1
2
2 = 1 sisa 0
1
2 = 0 sisa 1
Jadi 2B16
= 1010112
Cara II:
Setiap digit bilangan heksadesimal diterjemahkan menjadi 4 bit.
2B16 = 0010 1011 = 1010112
2 11
Contoh 1.4
Ubah bilangan biner 110011011 menjadi bilangan heksadesimal!
Jawab:
Setiap 4 bit dikelompokkan untuk diterjemahkan menjadi masing-
masing 1 digit heksadesimal
110011011 = 1 1001 1011
= 1 9 B = 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.
10 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. Pem-
bahasan dimulai dengan rangkaian logika kombinasional yang hasil kelu-
arannya hanya tergantung pada masukan saat itu, kemudian dilanjutkan de-
ngan rangkaian logika sekuensial yang hasil keluarannya tergantung pada
masukan saat itu dan hasil keluaran sebelumnya. Dengan memahami prin-
sip logika digital, dapat dirancang rangkaian logika digital seperti yang ada
dalam komputer.

2.1 Unit Logika Kombinasional


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

11
12 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

i0 −→ −→ f0(i0, i1)
i1 −→ unit logika −→ f1(i1, i3, i4)
. .
. kombinasional
in −→ −→ fm(i9, in)
Gambar 2.1: Unit logika kombinasi, jika dilihat dari luar

berlaku di semua keadaan.


Walaupun sebagian besar komputer digital adalah komputer biner, na-
mun rangkaian yang menggunakan multi-nilai juga ada. Jalur yang men-
girimkan data denga multi-nilai menjadi lebih efisien daripada menggunakan
2 nilai saja. Rangkaian digital multi-nilai berbeda dengan rangkaian ana-
log karena rangkaian digital multi-nilai mempunyai variasi nilai terhingga
sedangkan sinyal analog mempunyai nilai kontinu. Secara teori penggu-
naan rangkaian digital multi-nilai adalah menguntungkan. Namun dalam
pratiknya sulit untuk membuat rangkaian multi-nilai yang handal dalam
membedakan nilai lebih dari 2 macam. Oleh karena itu, logika multi-nilai
saat ini digunakan secara terbatas.
Dalam buku ini hanya akan dibahas mengenai rangkaian digital biner,
yang mempunyai tepat 2 macam nilai yang diperbolehkan untuk masukan
maupun keluaran. Dengan demikian, hanya sinyal binerlah yang digunakan
dalam pembahasan selanjutnya.

2.2 Tabel Kebenaran


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


A B Z A B Z
0 0 0 0 0 1
0 1 1 0 1 0
0 0 1 1 0 0
0 1 0 1 1 1
(a) (b)
Gambar 2.2: Tabel kebenaran untuk saklar A dan B serta lampu Z

2.3 Gerbang Logika


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

Masukan Keluaran
A B False AND AB A AB B XOR OR
0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1

Masukan Keluaran
A B NOR XNOR B A+B A A+B NAND True
0 0 1 1 1 1 1 1 1 1
0 1 0 0 0 0 1 1 1 1
1 0 0 0 1 1 0 0 1 1
1 1 0 1 0 1 0 1 0 1
Gambar 2.3: Tabel kebenaran untuk semua kemungkinan fungsi dari 2 ma-
sukan

Fungsi A dan B hanya mengulang nilai masukan A dan B sedang fungsi


A dan B adalah komplemen A dan B yang nilai berkebalikan dengan A dan
B. Fungsi ini dapat ditulis juga dengan NOTA dan NOTB. Fungsi NAND
kependekan dari NOTAND sedang NOR kependekan dari NOTOR. Fungsi
XOR bernilai benar jika salah satu masuka bernilai benar, dan bukan kedua-
duanya benar. Fungsi XNOR adalah komplemen dari XOR. Fungsi lainnya
dapat diduga sendiri artinya.
Dari 16 fungsi tersebut, ada 3 fungsi paling dasar dalam gerbang logika
ini adalah AND, OR dan NOT . Ke-13 fungsi lainnya dapat disusun dari 3
fungsi tersebut. Lihat Gambar 2.4.
Gerbang logika adalah alat 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 sejum-
lah gerbang dengan satu sinyal saja. Gerbang NOT (disebut juga pembalik
atau inverter ) menghasilkan 1 untuk masukan 0 dan menghasilkan 0 un-
2.3. Gerbang Logika 15

False = 0
AB = A AND NOT B
A = A
AB = NOT A AND B
B = B
XOR = A AND NOT B OR NOT A AND B
NOR = NOT (A OR B)
XNOR = NOT (A AND NOT B OR NOT A AND B)
B = NOT B
A+B = A OR NOT B
A = NOT A
A+B = NOT A OR B
NAND = NOT (A AND B)
True = 1

Gambar 2.4: Fungsi AND, OR, dan NOT sebagai pembentuk fungsi-fungsi
lainnya

tuk masukan 1. Sekali lagi, keluaran pembalik ini adalah komplemen dari
masukan. Lingkaran kecil di bagian keluaran atau masukan berfungsi juga
sebagai komplemen.
Dalam Gambar 2.6, gerbang NAND dan NOR mengahasilkan komplemen
dari gerbang AND dan OR. Gerbang XOR menghasilkan 1 jika salah satu
masukan bernilai 1, tetapi tidak keduanya. Secara umum, gerbang XOR
menghasilkan 1 jika masukan yang bernilai 1 berjumlah ganjil. Ini penting
untuk diingat karena gerbang XOR tidak selalu mempunyai 2 masukan. Ger-
bang XNOR menghasilkan komplemen dari gerbang XOR.
Simbol logika seperti gambar 2.5 dan 2.6 hanya merupakan bentuk dasar.
Masih banyak variasi simbol yang sering digunakan. Contohnya, dapat
berupa AND dengan 3 masukan seperti Gambar 2.7a. Lingkaran kecil se-
bagai simbol kompelemen juga dapat dipasang pada bagian masukan seperti
pada Gambar 2.7b.
Secara 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)
16 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

A B F A B F
0 0 0 0 0 0
0 1 0 0 1 1
1 0 0 1 0 1
1 1 1 1 1 1

A F = AB A F = A+B
B B
AND OR

A F A F
0 0 0 1
1 1 1 0

A F =A A F =A
BUFFER NOT
Gambar 2.5: Simbol gerbang logika untuk fungsi Boolean AND, OR, buffer,
dan NOT

untuk masukan berupa logika 0 (0V). Bagian berikut membahas 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 di-
hubungkan dengan sumber tenaga yang cocok.
Gerbang logika tersusun dari alat elektronik yang disebut transistor, yang
dapat bersifat sebagai saklar yang mengendalikan sinyal elektronis kuat de-
ngan menggunakan sinyal elektronis lemah. Transistor juga bersifat penguat
yang dapat menguatkan sinyal masukan sehingga dapat digunakan untuk di-
hubungkan dengan banyak gerbang logika. Tanpa penguatan, kita mungkin
hanya dapat mengirim sinyal ke sejumlah kecil gerbang logika, sebelum sinyal
itu bercampur dengan derau sehingga tidak terdeteksi lagi.
2.4. Implementasi Elektronik dari Gerbang Logika 17

A B F A B F
0 0 1 0 0 1
0 1 1 0 1 0
1 0 1 1 0 0
1 1 0 1 1 0

A F = AB A F =A+B
B B
NAND NOR

A B F A B F
0 0 0 0 0 1
0 1 1 0 1 0
1 0 1 1 0 0
1 1 0 1 1 1

A F =A⊕ B A
B B F = A⊕ B
Exclusive-OR (XOR) Exclusive-NOR (XNOR)
Gambar 2.6: Simbol gerbang logika untuk fungsi Boolean NAND, NOR,
XOR, dan XNOR
A A
B F = ABC F = A+B
C B

(a) (b)

Gambar 2.7: Variasi gerbang logika (a) tiga masukan dan (b) masukan de-
ngan komplemen

Simbol transistor tampak seperti Gambar 2.8c yang digunakan sebagai


gerbang pembalik. Untuk masukan berupa 0 (0 V) pada basis akan meng-
hasilkan keluaran 1 (+5 V) pada kolektor, karena tidak ada arus dari 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 menun-
jukkan logika 0, maka kita perlu menentukan batas tegangan yang aman
untuk nilai logika 0 dan 1. Jika kita menentukan secara ketat bahwa logika 0
adalah 0 V dan logika 1 adalah 5 V, maka kemungkinan rangkaian kita tidak
bekerja sebagai mana mestinya jika keluarannya adalah 0.1 V bukan 0 V. Hal
18 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

VCC
R

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

Gambar 2.8: (a) pembalik dengan terminal tenaga dimunculkan dan (b)
rangkaian transistor untuk pembalik

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

Logika 1
Logika 1

2.4 V
2.0 V
Daerah Daerah
terlarang terlarang
0.8 V
0.4 V Logika 0
Logika 0

0.0 V 0.0 V
(a) (b)
Gambar 2.9: Penentuan nilai tegangan untuk logika 0 dan 1 (a) gerbang
logika keluaran, (b) gerbang logika masukan

Gambar 2.10 menunjukkan rangkaian transistor untuk gerbang logika


NAND dan NOR. Untuk rangkaian NAND kedua masukan A dan B harus
berada pada daerah tegangan logika 1 untuk menghasilkan keluaran pada
daerah tegangan logika 0. Untuk rangkaian gerbang NOR, salah satu ma-
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 ma-
sukan

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, de-
ngan pengecualian bahwa ada tambahan masukan untuk mengendalikan kelu-
aran 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 meny-
atakan keadaan tak berfungsi ini. Perlu diketahui bahwa keadaan φ tidak
menunjukkan 0 atau 1, tetapi menyatakan bahwa tidak ada sinyal. Dalam
istilah elektronika keadaan ini disebut berimpedansi tinggi high impedance.
Buffer tri-state kendali inversi mirip dengan buffer tri-state kecuali masukan
kendalinya merupakan komplemen. Lihat Gambar 2.11b.

A F = AC A F = AC
atau atau
C F =∅ C F =∅
(a) (b)

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

Keluaran yang secara elektronis tak terhubung berbeda dengan keluaran


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 tri-
state 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 diter-
apkan pada ekspresi logika Boole. Postulat (dikenal sebagai postulat Hunt-
ington) merupakan aksioma dasar untuk aljabar Boole dan tidak memer-
lukan pembuktian. Teorema dapat dibuktikan melalui postulat. Setiap relasi
dalam tabel mempunyai bentuk AND dan OR sebagai hasil dari prinsip du-
alisme. Bentuk dualisme ini memungkinan mengubah bentuk AND menjadi
OR dan sebaliknya bentuk OR menjadi AND.
Relasi Dualisme Sifat
Postulat AB = BA A+B +B +A Komutatif
A(B + C) = AB + AC A + BC = (A + B) + (A + C) Distributif
1A = A 0+A= A Identitas
AA = 0 A+A =1 Komplemen
Teorema 0A = 0 1+A= 1 Teorema nol dan satu
AA = A A+A=A Idempoten
A(BC) = (AB)C A + (B + C) Asosiatif
A=A Involusi
AB = A + B A+B =A B Teorema DeMorgan
AB + AC + BC (A + B)(AC)(B + C) Teorema konsensus
= AB + AC = (A + B)(A + C)
A(A + B) = A A + AB = A Teorema absorbsi

Tabel 2.1: Sifat-sifat dasar aljabar Boole

Sifat komutatif menyatakan bahwa urutan kemunculan du avriabel dalam


fungsi AND dan OR tidak mengakibatkan hasil yang berbeda. Dengan prin-
sip dualisme, sifat komutatif mempunyai bentuk AND (AB = BA) dan ben-
tuk OR (A + B = B + A). Sifat distributif menunjukkan bagiaman variabel
didistribusikan melalui operasi AND. Karena prinsip dualisme juga maka ada
sifat distributif untuk OR.
Sifat identitas menunjukkan bahwa variabel yang di-AND-kan dengan 1
atau di-OR-kan dengan 0, menghasilkan nilai variabel itu sendiri. Sifat kom-
plemen mengakibatkan bahwa variabel yang dikenakan operasi AND ter-
hadap komplemen variabel tersebut, menghasilkan 0 (karena paling tidak
2.6. Sifat-sifat Aljabar Boole 21

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

A B AB = A+B A+B = AB
0 0 1 1 1 1
0 1 1 1 0 0
1 0 1 1 0 0
1 1 0 0 0 0
Gambar 2.12: Pembuktian teorema DeMorgan untuk 2 variabel

Tidak semua gerbang logika dibicarakan secara mendalam karena


berdasarkan 3 himpunan gerbang logika yaitu {AND, OR, NOT}, {NAND},
dan {NOR }, satu himpunan dapat disusun dari gerbang-gerbang pada him-
punan lainnya.
Sebagai contoh misalnya implementasi OR dengan menggunakan him-
punan {NAND .} Teorema DeMorgan dapat digunakan untuk menyusun
gerbang OR dari gerbang NAND seperti Gambar 2.13 dan 2.14. Penjelasan-
nya adalah sebagai berikut:

A+B = A+B Teorema involusi


= AB Teorema DeMorgan

Untuk mendapatkan inversi (NOT) dari gerbang NAND penjelasannya


adalah:
22 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

A F =A+B ≡ A
B B F =AB

Gambar 2.13: Penyusunan NAND menjadi OR

A = A+A Teorema idempoten


= AA Teorema DeMorgan

A
A A+B ≡ A+B
B
B

Gambar 2.14: Implementasi OR dengan NAND (gambar lain)

Fungsi AND dalam {NAND} (Gambar 2.15) dijelaskan sebagai berikut:

AB = AB Teorema involusi

A F = AB ≡ A
B B F = AB

Gambar 2.15: Penyusunan NAND menjadi AND

Ekuivalensi di antara fungsi-fungsi logika menjadi penting dalam prak-


tik, karena suatu jenis gerbang logika kemungkinan mempunyai karakteristik
yang lebih baik daripada yang lainnya.

2.7 Bentuk Sum-of-Product dan Diagram


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

Indeks A B C F
minterm
0 0 0 0 0
1 0 0 1 0
2 0 1 0 0
3 0 1 1 1
4 1 0 0 0
5 1 0 1 1
6 1 1 0 1
7 1 1 1 1
Gambar 2.16: Tabel kebenaran untuk fungsi mayoritas

{AND, OR, NOT (misalnya).


} Disebut persamaan dua-level karena ada satu
level bentuk AND dilanjutkan dengan satu level bentuk OR. Fungsi Boolean
untuk mayoritas ini bernilai benar jika nilai F pada tabel kebenaran bernilai
benar. Dengan demikian F akan benar untuk nilai A = 0, B = 1, dan C = 1,
atau A = 1, B = 0, dan C = 1, dan seterusnya seperti dalam tabel.

Salah satu cara untuk menuliskan persamaan logika adalah dengan meng-
gunakan bentuk sum-of-product atau SOP, yang merupakan kumpulan AND
dari variabel yang terlibat kemudian dioperasikan dengan OR. Bentuk per-
samaan logika untuk fungsi mayoritas tertulis pada Persamaan 2.1. Tanda
’+’ berarti operasi OR dan bukan penambahan secara aritmetika.

F = ABC + ABC + ABC + ABC (2.1)

Dengan mengamati persamaan tersebut kita dapat menentukan


bahwa diperlukan 4 buah AND untuk implementasi suku perkalian
ABC, ABC, ABC, dan ABC. Keluaran dari gerbang AND kemudian
dihubungkan ke masukan gerbang OR 4-masukan seperti Gambar 2.17.
Rangkaian ini menunjukkan fungsi mayoritas, dan kita dapat mengeceknya
dengan memasukkan semua kombinasi yang mungkin untuk masukan dan
mengamati hasilnya.
24 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

A B C

Gambar 2.17: Implementasi fungsi mayoritas dengan dua-level AND-OR.


Inverter tidak dihitung sebagai level.

Jika setiap suku mengandung tepat masing-masing variabel 1 kali, dalam


bentuk komplemen atau bukan, maka suku ini disebut minterm. Minterm
mempunyai nilai 1 dalam keluaran tabel kebenaran. Dengan demikian
minterm adalah minimum term yang menghasilkan benar. Sebagai alternatif
fungsi dapat ditulis dalam bentuk jumlahan dari kombinasi yang benar. Per-
samaan 2.1 dapat ditulis ulang menjadi persamaan 2.2 dengan indeks adalah
minterm indeks seperti Gambar 2.16.
Σ
F = (3, 5, 6, 7) (2.2)
Notasi ini digunakan secara resmi sebagai persamaan Boolean karena
hanya berisi minterm saja. Persamaan 2.1 dan 2.2 disebut sebagai notasi
resmi untuk bentuk SOP.

2.8 Bentuk Product-of-Sum


Sebagai pasangan dari bentuk sum-of-product, persamaan Boolean dapat di-
representasikan dalam bentuk product-of-sum (POS). Persamaan dalam
bentuk POS berupa koleksi rangkaian OR yang keluarannya dihubungkan
bersama dengan gerbang AND. Salah satu cara untuk membentuk POS
adalah dengan jalan melakukan komplemen terhadap bentuk SOP, dan ke-
mudian diterapkan teorema DeMorgan. Sebagai contoh, lihat kembali fungsi
mayoritas dalam bentuk tabel kebenaran di Gambar 2.16, bentuk komple-
mennya adalah baris-baris yang menghasilkan keluaran 0, seperti persamaan
2.3:

F = A B C + A BC + ABC + AB C (2.3)
2.8. Bentuk Product-of-Sum 25

Dilakukan komplemen pada kedua ruas didapat persamaan 2.4:

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

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


Penerapan teorema DeMorgan yang berbentuk WXY Z = W +X +Y +Z
pada faktor dalam kurung didapat persamaan 2.6

F = (A + B + C)(A + B + C) + (A + B + C)(A + B + C) (2.6)


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

Gambar 2.18: Rangkaian OR-AND dua-level implementasi dari fungsi may-


oritas. Inverter tidak dihitung sebagai level

Salah satu motivasi penggunaan POS daripada SOP adalah jika meng-
hasilkan bentuk persamaan Boole yang lebih sederhana. Persamaan Boole
yang lebih sederhana dapat menghasilkan rangkaian yang lebih sederhana,
namun ini tidak pasti karena ada sejumlah faktor yang tidak tergan-
tung langsung pada ukuran persamaan Boole, seperti kompleksitas topologi
perkawatan.
26 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

Cacah gerbang adalah ukuran kompleksitas rangkaian yang menun-


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

2.9 Logika Positif dan Negatif


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

Level tegangan Level logika positif Level logika negatif


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

A gerbang F
B AND A F = AB A
F = A+B
fisis B B

Level tegangan Level logika positif Level logika negatif


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

A
B gerbang
NAND F A A
F = AB F =A+B
fisis B B

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

perlu dicocokkan dengan gelembung keluaran aktif rendah. Dalam Gambar


2.20c ada gelembung yang tidak cocok karena hanya ada 1 gelembung dalam
1 garis. Teorema DeMorgan digunakan untuk konversi dari gerbang OR
menjadi gerbang NAND dengan masukan yang dikomplemenkan. Gambar
2.20d menunjukkan gelembung yang sudah cocok.

2.10 Data Sheet

2.11 Komponen Digital


Desain rangkaian digital tingkat tinggi biasanya menggunakan sekumpulan
gerbang yang dikemas dalam bentuk komponen bukan gerbang logika tung-
gal. Hal ini mengakibatkan bahwa kompleksitas rangkaian dapat dikurangi
dan pemodelannya menjadi sederhana. Beberapa komponen dibahas dalam
bagian berikut.
28 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

Logika positif x0 logika Logika negatif x0 logika


Logika positif x1 positif Logika negatif x1 negatif
(a) (b)

Logika negatif x0 logika Logika negatif x0 logika


Logika negatif x1 negatif Logika negatif x1 negatif
(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 inte-
grasi skala kecil (small scale integration (SSI), yang meliputi chip dengan
isi 10 - 100 komponen. Pengertian komponen di sini berbeda dengan kom-
ponen sebelumnya, yaitu mengacu pada transitor dan elemen diskrit lain.
Dalam integrasi skala menengah atau mediam scale integration (MSI), isi
chip berkisar antara 100-1000 komponen. Integrasi skala besar atau large
scale integration (LSI) mengacu pada chip yang berisi 1000-10.000 kompo-
nen, dan integrasi skala sangat besar atau very large scale integration
(VLSI) berisi komponen yang lebih banyak lagi.

2.11.2 Multiplekser
Multiplekser atau MUX (mutiplexer ) adalah komponen yang mempunyai
banyak masukan dan 1 keluaran. Diagram blok dan table kebenaran dari
MUX 4-ke-1 ditunjukkan oleh Gambar 2.21. Keluaran F adalah sama dengan
masukan pada jalur yang dipilih oleh kendali masukan A dan B. Misalnya,
jika AB = 00, maka keluaran F adalah nilai pada masukan 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. Imple-
mentsai fungsi menggunakan MUX adalah dengan memasang 1 pada jalur
masukan yang merupakan minterm dan mengisi 0 untuk lainnya. Walaupun
2.11. Komponen Digital 29

AB F
D0 00
D1 01 00 D0
Masukan F 01 D1
D0 10 10 D2
D
1 11 11 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 imple-


mentasi fungsi Boolean namun banyak juga fungsi Boolean yang menggu-
nakannya, sebab proses desainnya dan implementasinya menjadi lebih seder-
hana.
Kasus lain penggunakan MUX 4-ke-1 untuk fungsi dengan 3 variabel
ditunjukkan pada Gambar 2.24. Data msukan diambil dari himpunan
{
0,1,C, C , }dan pengelompokannya dapat dilihat pada tabel kebenaran. Jika
AB = 00 maka F = 0, apapun nilai C, sehingga kita isi 0 untuk jalur ma-
sukan 00 pada MUX. Jika AB = 01, maka F = 1 apapun nilai C, sehingga
kita isi 1 pada jalur 01 pada MUX. Jika AB = 10 maka F = C, karena untuk
C = 0 maka F = 0 dan untuk C = 1 maka F = 1, sehingga kita isi C pada
jalur 10 pada MUX. Akhirnya untuk AB = 11, maka F = C, dan kita isi
jalur 11 pada MUX dengan C. Dengan cara ini, kita dapat mengimplemen-
tasikan fungsi 3 variabel dengan menggunakan MUX 2 variabel.
30 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

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

ABC F
0 00
000 0 0 1 01
001 0 F
C 10
010 1 1 C 11
011 1
100 0 C
101 1 A B
110 1
C
111 0

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

2.11.3 Demultiplekser

Demultiplekser atau DEMUX (demultiplexer ) adalah kebalikan dari MUX.


Diagram blok untuk DMUX 1-ke-4 dengan kendali masukan A dan B serta
tabel kebenaran yang sesuai ditunjukkan oleh Gambar 2.25. DEMUX men-
girim data masukan D ke salah satu jalur keluaran 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 el-
evator terdekat. DEMUX tidak biasa digunakan pada implementasi fungsi
Boolean umumnya, walaupun cara ini juga bisa dilakukan.
2.11. Komponen Digital 31

DAB F0F1F2F3
00 D0 000 0 000
01 D1 001 0 000
D 10 010 0 000
D0
11 D1 011 0 000
A B 1 0 0 1 000
101 0 100
110 0 010
111 0 001
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 in-
put. Diagram blok dan tabel kebenaran dari dekoder 2-ke-4 dengan kendali
masukan A dan B tercantum pada Gambar 2.27. Rangkaian dekoder yang
sesuai dengan itu terlihat pada Gambar 2.28. Dekoder dapat digunakan
untuk mengendalikan rangkaian lain, dan menonaktifkan rangkaian lain.
Karena alasan ini, kita tambahkan jalur Enable yang kan menghasilkan kelu-
aran 0 semua jika Enable ini diisi 0, yang secara logika mirip dengan DEMUX
dengan masukan 1.
Salah satu aplikasi dekoder adalah untuk menerjemahkan alamat me-
mori menjadi lokasi fisis. Dekoder juga dapat digunakan untuk implemen-
tasi fungsi Boolean. Karena setiap jalur keluaran berkorespondensi dengan
32 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

Enable=1 Enable=0
AB D0D1D2D3 AB D0D1D2D3
00 D0
A 0 0 1 0 0 0 0 0 0 0 0 0
01 D1
B 0 1 0 1 0 0 0 1 0 0 0 0
Enable 10 D0
1 0 0 0 1 0 1 0 0 0 0 0
11 D1
1 1 0 0 0 1 1 1 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 D2
B

D3
Enable
Gambar 2.28: Rangkaian dekoder 2-ke-4

minterm yang berbeda, maka fungsi dapat diimplementasikan dengan ope-


rasi OR pada keluaran yang berkorespondensi dengan minterm yang berni-
lai benar. Contohnya Gambar 2.29 adalah implementasi fungsi mayoritas
menggunakan dekoder 3-ke-8. Keluaran yang tidak digunakan dibiarkan tak
terhubung.

000
001
010
A
011
B M
100
C
101
110
111

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


2.11. Komponen Digital 33

2.11.5 Enkoder Prioritas

Enkoder menerjemahkan sekumpulan masukan menjadi kode biner, dan da-


pat dipahami sebagai kebalikan dari dekoder. Enkoder prioritas adalah salah
satu bentuk enkoder yang memperhatikan urutan masukan. Diagram blok
dan tabel kebenarannya ada pada Gambar 2.30. Prioritas dalam enkoder
ini maksudnya adalah bahwa masukan 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 ak-
tif, keluaran menghasilkan nilai bawaan A0 (F1F 0 = 00).

A0A1A2A3 F0F1

0 0 0 0 0 0
A0 00 0 0 0 1 1 1
A1 01 F0 0 0 1 0 1 0
A2 10 F1 0 0 1 1 1 0
A3 11 0 1 0 0 0 1
0 1 0 1 0 1
F0 = A0 A1 A3 + A0 A1 A2 0 1 1 0 0 1
0 1 1 1 0 1
F1 = A0 A2 A3 + A0 A1
1 0 0 0 0 0
1 0 0 1 0 0
1 0 1 0 0 0
1 0 1 1 0 0
1 1 0 0 0 0
1 1 0 1 0 0
1 1 1 0 0 0
1 1 1 1 0 0

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

Enkoder prioritas digunakan untuk memilih dari sejumlah alat yang


berkompetisi untuk menggunakan jalur yang sama, misalnya jika sejum-
lah pengguna secara serentak berusaha menggunakan sistem komputer yang
sama. Rangkaian enkoder prioritas 4-ke-2 tampak pada Gambar 2.31.
34 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

A0
F0
A1

A2
F1
A3

Gambar 2.31: Rangkaian enkoder prioritas 4-ke-2

2.11.6 PLA

Larik logika dapat diprogram atau programmable logic array (PLA) adalah
komponen yang berisi matriks AND diikuti dengan matriks OR. PLA de-
ngan 3 masukan dan 2 keluaran ditunjukkan oleh Gambar 2.32. Tiga ma-
sukan A, B, dan C dan komplemennya tersedia sebagai masukan untuk 8
gerbang AND yang menghasilkan 8 suku perkalian. Keluaran dari gerbang
AND dihubungkan ke masukan semua gerbang OR yang menghasilkan kelu-
aran fungsi 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 dipu-
tus pada gerbang AND, maka masukan tersebut terhubung ke nilai logika
1. Demikian juga jika sekering diputus pada gerbang OR, maka masukan
terhubung ke logika 0.

Sebagai contoh bagaimana penggunaan PLA, kita lihat implementasi


fungsi mayoritas dengan memakai PLA 3×2 (fungsi dengan 3 masukan
variabel ×
2 keluaran). Untuk keperluan penyederhanaan ilustrasi, bentuk
seperti Gambar 2.33 yang dipergunakan, bukan 2.32. Dengan catatan bahwa
jalura tunggal pada masukan gerbang AND mewakili 6 jalur masukan, dan
jalur tunggal pada setiap gerbang OR mewakili 8 jalur masukan. Tanda bu-
latan kecil pada persimpangan menunjukkan tempat koneksi dibuat. Dalam
Gambar 2.32 fungsi mayoritas hanya menggunakan setengah dari PLA, dan
sisanya dapat dipergunakan untuk fungsi lain.
2.11. Komponen Digital 35

A B C

F0 F1
Gambar 2.32: PLA 3 masukan 2 keluaran

PLA adalah komponen yang banyak gunanya sebagai rangkaian digital


umum. Keunggulan dari penggunaan PLA adalah karena hanya ada sedikit
masukan dan keluaran, dan ada banyak gerbang logika di antara masukan
dan keluaran. Proses minimisasi jumlah koneksi dalam rangkaian menjadi
penting untuk modularisasi sistem menjadi komponen. PLA sangat ideal un-
tuk keperluan ini, dan banyak program otomatisasi desain PLA untuk fungsi-
fungsi tertentu. Untuk menjaga konsep modularitas sering PLA dinyatakan
sebagai kotak hitam seperti pada Gambar 2.34, dan diasumsikan bahwa isi
PLA dengan mudah dapat dibuat menggunakan program secara otomatis.
36 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

A B C

ABC

ABC

ABC

ABC

F0 F1
Gambar 2.33: Penyederhanaan PLA

A F0
B PLA F1
C

Gambar 2.34: PLA dalam bentuk kotak hitam

2.11.7 Penggunaan PLA untuk Penjumlah Ripple-


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

sehingga kemungkinan masing-masing nilai serta hasil jumlahan dan sisanya


dapat disusun seperti pada Gambar 2.35.

AiBiCi SiCi+1
Bi Ai
0 0 0 0 0
Ci
0 0 1 1 0
0 1 0 1 0 Full
0 1 1 0 1 adder
1 0 0 1 0
1 0 1 0 1 Ci+1
1 1 0 0 1 Si
1 1 1 1 1

Gambar 2.35: PLA dalam bentuk kotak hitam

Tabel kebenaran pada Gambar 2.35 menjelaskan mengenai elemen yang


disebut sebagai penjumlah penuh (full adder ), dan gambar simbolnya ada
disebelahnya. Penjumlah setengah (half adder ), dapat digunakan pada
bagian penjumlah paling kanan yang menjumlahkan 2 bit dan menghasilkan
jumlah dan sisa. Penjumlah penuh di lain pihak menjumlah 2 bit be-
serta sisa pada proses sebelumnya dan juga menghasilkan jumlah dan sisa.
Penjumlah setengah tidak digunakan pada kasus ini untuk meminimumkan
macam komponen. Dengan 4 penjumlah penuh yang dipasang berjen-
jang dapat dihasilkan penjumlah biner 4 bit, seperti nampak pada Gambar
2.36. Penjumlah paling kanan tetap menggunakan penjumlah penuh dengan
menghubungkan masukan c0 dengan 0.
b3 a3 b2 a2 b1 a1 b0 a0
c3 c2 c1 c0

Full Full Full Full


adder adder adder adder

c4
s3 s2 s1 s0
Gambar 2.36: Implementasi penjumlah 4 bit menggunakan penjumlah penuh
berjenjang

Perlu diperhatikan bahwa nilai jumlah belum dapat dihitung sampai sisa
dari penjumlah penuh sebelumnya dihitung. Rangkaian disebut penjum-
lah ripple carry karena nilai yang benar seperti bergeser dari kanan ke kiri.
38 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

Walaupun gambar yang diperlihatkan nampak seperti paralel, namun sebe-


narnya penjumlahan bit dilakukan secara serial dari kanan ke kiri. Hal inilah
yang merupakan kelemahan dari rangkaian ini. Pendekatan desain penjum-
lah penuh menggunakan PLA, nampak pada Gambar 2.37
A B 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 meng-
gunakan PLA daripada MUX atau yang lain karena PLA berbentuk keser-
agamannya.

2.12 Soal Latihan


2.1 Gambar 2.13 menunjukkan bahwa gerbang OR dapat dibentuk dari
gerbang NAND, sedang Gambar 2.15 menunjukkan bahwa AND da-
pat diimplementasikan dari gerbang NAND. Tunjukkan secara diagram
2.12. Soal Latihan 39

logika bahwa gerbang XOR dapat diimplementasikan sepenuhnya de-


ngan gerbang NAND!

2.2 Gambar diagram logika untuk setiap elemen dari himpunan AND, OR,
NOT dapat diimplentasikan dengan hanya menggunakan NOR.

2.3 Lihat gambar rangkaian logika berikut, kemudian susunlah tabel kebe-
naran untuk rangkaian tersebut.

A
B F
C

Gambar 2.38:

2.4 Susun tabel kebenaran untuk gerbang XOR dengan 3 masukan!


2.5 Hitung cacah gerbang dari enkoder prioritas 4-ke-2 yang ditunjukkan
oleh Gambar 2.31. Gerbang pembalik ikut diperhitungkan.

2.6 Rancanglah rangkaian logika yang merupakan implementasi dari fungsi


f berikut dengan menggunakan gerbang AND, OR, dan NOT.

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

2.7 Rancanglah rangkaian logika yang merupakan implementasi dari fungsi


g berikut dengan menggunakan gerbang AND, OR, dan NOT. Jangan
berusaha untuk mengubah bentuk persamaannya!

g(A, B, C, D, E) = A(BC + B C) + B(CD + E)

2.8 Apakah kedua fungsi f dan g berikut ekuivalen? Tunjukkan bagaimana


Anda mendapatkan jawabannya!

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


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

2.9 Tulis persamaan Boolean yang menerangkan fungsi F pada rangkaian


berikut. Tulis jawaban Anda dalam bentuk SOP (tanpa tanda kurung).
40 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL

2.10 Komparator 4 bit adalah komponen dengan 2 buah masukan 4-bit A


(A3A2A1A0) dan B(B3B2B1B0) dan keluaran 1 bit. Keluaran akan 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 ma-


sukan dan menghasilkan 3 keluaran yang berupa komplemen 2 (2’s
complement ) dari masukan.
2.12. Soal Latihan 41

2.16 Rancanglah rangkaian kombinasional yang mempunyai 4 masukan dan


menghasilkan 4 keluaran yang berupa komplemen 2 dari masukan. Bit
pertama adalah bit tanda.

2.17 Desain rangkaian dekoder BCD-to-7-segment dengan masukan berupa


4-bit BCD. Rangkaian harus menghasilkan 7 keluaran, yang masing-
masing terhubung dengan 1 segmen pada penampil 7-segmen seperti
Gambar 2.41. Saat keluaran dari rangkaian bernilai 1 maka segmen
yang terhubung dengannya adakan menyala, selain itu segmen tersebut
akan mati. Penampil 7-segmen dapat menampilkan nilai BCD 0 sampai
dengan 9.

Gambar 2.41:

2.18 Dua bilangan 2-bit akan dijumlahkan. Desain rangkaian penjumlahnya.

2.19 Susun sebuah penjumlah penuh dan sebuah half-adder untuk memben-
tuk penjumlah 2 bilangan 2-bit.

2.20 Bandingkan kompleksitas rangkaian Soal 2.18 dan 2.19. Mana yang
lebih cepat?

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

2.22 Realisasikan fungsi KESAMAAN dengan 2 masukan menggunakan:

(a) gerbang NAND


(b) gerbang NOR
42 2. RANGKAIAN LOGIKA DIGITAL KOMBINASIONAL
BAB 3

REDUKSI LOGIKA DIGITAL


KOMBINASIONAL

Dalam bab ini akan dibahas pendekatan secara sistematik untuk mereduksi
mengurangi) jumlah komponen yang digunakan dalam rangkaian digital.
Pertama akan kita lihat cara mereduksi ukuran dari ekspresi logika kombi-
nasional, yang dapat berhubungan dnegan jumlah dan ukuran gerbag dalam
implementasi rangkaian digital. Kemudian akan kita bahas cara mereduksi
jumlah state (keadaan) dalam 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-of-
sums) bukan dalam bentuk yang minimal baik dalam jumlah maupun uku-
ran. Karena persamaan Boolean yang lebih kecil akan diterjemahkan dalam
jumlah masukan gerbang yang lebih sedikit dalam rangkaian, maka reduksi
persamaan menjadi penting untuk dipertimbangkan saat rangkaian menjadi
begitu kompleks.
Tiga metode untuk mereduksi persamaan Boolean akan dibahas dalam
bagian ini:

1. reduksi secara aljabar

2. reduksi dengan peta Karnaugh

3. reduksi tabular

43
44 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL

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

3.1.1 Metode Aljabar


Metode aljabar adalah penerapan aljabar Boole, lihat Bab 2, untuk tujuan
reduksi ukuran ekspresi. Perhatikan persamaan Boolean berikut yang diam-
bil dari Bab 2:

F = ABC + ABC + ABC + ABC (3.1)


Sifat aljabar Boole dapat diterapkan pada Persamaan 3.1 menjadi bentuk
yang lebih sederhana seperti Persamaan 3.2 sampai dengan 3.4:

F = ABC + ABC + AB(C + C) Sifat distributif (3.2)


F = ABC + ABC + AB(1) Sifat komplemen (3.3)
F = ABC + ABC + AB Sifat identitas (3.4)

Gambar 3.1 merupakan rangkaian dari Persamaan 3.4. Bandingkan dengan


Gambar 2.17. Jumlah gerbang berkurang dari 8 menjadi 6 dan jumlah ma-
sukan ke gerbang berkurang dari 19 menjadi 13.
Kita dapat mereduksi Persamaan 3.4 lebih lanjut. Dengan menggunakan
sifat idempoten, kita buat Persamaan 3.5, yang mengenalkan suku ABC.

F = ABC + ABC + AB + ABC Sifat idempoten (3.5)


Kita dapat menerapkan sifat distributif, komplemen, dan identitas sekali lagi
sehingga didapat persamaan yang lebih sederhana sebagai berikut:

F = ABC + AC(B + B) + AB Sifat distributif (3.6)


F = ABC + AC(1) + AB Sifat komplemen (3.7)
F = ABC + AC + AB Sifat identitas (3.8)
3.1. Reduksi Ekspresi 2 Level 45
A B C

Gambar 3.1: Implementasi fungsi mayoritas direduksi

Pers 3.8 mempunyai gerbang input lebih sedikit yaitu 11. Kita iterasi
metode ini sekali lagi dan mereduksi persamaan lebih lanjut seperti ditun-
jukkan berikut ini:

F = ABC + AC + AB + ABC Sifat idempoten (3.9)


F = BC(A + A) + AC + AB Sifat distributif (3.10)
F = BC(1) + AC + AB Sifat komplemen (3.11)
F = BC + AC + AB Sifat identitas (3.12)

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

3.1.2 Metode Peta Karnaugh


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

ABC
A B
AB C ABC

ABC
ABC
A BC
ABC
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 kebe-
naran maka ada8 sel dalam peta Karnaugh. Angka 1 dalam sel menunjukkan
nilai 1 (benar) dalam entri tabel kebenaran. Angka 0 diisikan pada sel lain-
nya, namun untuk kejelasan angka 0 ini diganti dengan kosong saja. Label
yang tercantum di sisi atas dan kiri tersusun dalam bentuk kode Gray, yang
memastikan bahwa tepat 1 nilai variabel saja yang berubah di antara sel
yang berdekatan sepanjang sisi atas ataupun kiri.

C 1 1 1

B
3.1. Reduksi Ekspresi 2 Level 47

Gambar 3.3: Peta Karnaugh untuk fungsi mayoritas

Gambar 3.4: Pengelompokan sel bertetangga pada fungsi mayoritas

Nilai 1 yang bertetangga pada peta Karnaugh dapat dikenai sifat kom-
plemen dari aljabar Boole. Pada Gambar 3.3 nampak beberapa nilai 1
yang bertetangga, sehingga dapat direduksi. Pengelompokan sel bertetangga
dibuat sehingga membentuk persegi panjang dengan ukuran pangkat 2 sel,
seperti 1, 2, 4, 8, dan seterusnya. Ukuran kelompok meningkat berarti lebih
banyak variabel yang dieliminasi, sehingga selalu diusahakan untuk mem-
bentuk kelompok sebesa-besarnya.
Kita mulai proses reduksi dengan membuat kelompok 1-an yang tidak
masuk dalam kelompok yang lebih besar. Penentuan kriteria kebertetang-
gaan menjadi penting, karena pengelompokan yang berbeda menghasilkan
persamaan yang berbeda pula. Contoh pengelompokan seperti Persamaan
3.13.
ABC + ABC = AB(C + C) = AB(1) = AB (3.13)
A

C 1 1 1

Untuk fungsi mayoritas, 3 kelompok dengan ukuran 2 sel dapat diben-


tuk, seperti Gambar 3.4. Setiap sel yang berisi 1 mempunyai paling sedikit
1 tetangga yang berisi 1, sehingga tidak ada kelompok yang berukuran 1
sel. Untuk kelompok berukuran 2 sel, ternyata semua sel berisi 1 masuk
dalam kelompok berukuran 2 sel. Ada 1 sel yang merupakan anggota dari 3
kelompok. Hal ini diperbolehkan mengingat sifat idempoten aljabar Boole.
Dengan sifat komplemen variabel yang berbeda pada sel bertetangga akan
dieliminasi, dan menghasilkan persamaan minimal (Persamaan 3.14).

M = BC + AC + AB (3.14)

Suku BC dihasilkan dari penyederhanaan (ABC + ABC), yang direduksi


menjadi BC(A + A dan kemudian menjadi BC. Suku AC dihasilkan dari
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

Gambar 3.5: Fungsi mayoritas direduksi

Perhatikan pemilihan metode pengelompokan dengan mulai dari sel yang


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

1 1 1
D
1 1 1
C
1

F = ABC + ACD + ABC + ACD

Gambar 3.6: Pengelompokan mulai dari sel yang tidak masuk dalam kelom-
pok yang lebih besar

1 1 1
D
1 1 1
C
1

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.
50 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL

1 1 1

1
D
1 1
C
1 1 1

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. Kon-
disi ini adalah kondisi yang tidak pernah muncul selama operasi. Misalnya,
X = 1 menyatakan kondisi saat elevator berada di lantai dasar, sedang Y = 1
menyatakan kondisi saat elevator berada di lantai tertinggi, maka kedua kon-
disi itu tidak mungkin terjadi bersamaan. Dengan demikian isian pada tabel
kebenaran pada X = Y = 1 diisi dengan d.

1 d

1 1
D
1 1
C
d

B
3.1. Reduksi Ekspresi 2 Level 51

Gambar 3.10: Peta Karnaugh dengan 5 variabel

Gambar 3.9: Peta Karnaugh yang sama dapat menghasilkan persamaan min-
imal berbeda

Jika d di pojok kanan atas dianggap 1 sedang d di kiri bawah dianggap


0, maka hasilnya
F = B C D + BD
Namun jika d di pojok kanan atas yang dianggap 0 dan d di kiri bawah
dianggap 1, maka hasilnya

F = A B D + BD

Dengan demikian ada kemungkinan persamaan minimal untuk fungsi boolean


bisa lebih dari satu. Dalam praktik, suatu persamaan lebih disukai daripada
persamaan lainnya, mungkin karena untuk mengurasi fan-out salah satu vari-
abel, atau mintermnya dapat dipakai bersama dengan fungsi lain.

3.1.3 Dimensi yang lebih tinggi


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

1 1

1 1 1 1
E
1 1 1 1
D
1 1

C C
F = A B D E + A C D E + BE
52 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL

1 1

F
1 1

1 1
E

D F

1 1

B
C C
F = B C E F + ABDE

Gambar 3.11: Peta Karnaugh dengan 6 variabel

Peta Karnaugh dengan 6 variabel juga dapat dibuat seperti ditunjukkan


oleh Gambar 3.11. Peta Karnaugh dapat diperluas lagi untuk 7 variabel
atau lebih, namun tampilannya akan susah dipahami. Oleh karena itu untuk
jumlah variabel lebih dari 4 lebih cocok menggunakan pendekatan algoritmis
dan mudah diimplementasikan menggunakan program komputer.

Rangkaian multilevel

Peta Karnaugh mereduksi ukuran ekspresi 2 level. Proses ini tidak meng-
hasilkan bentuk minimal dari rangkain multilevel. Misalnya persamaan 3.14
adalah bentuk minimal 2 level yang terdiri atas level AND (3 buah) dan
level OR (1 buah) sehingga membentuk SOP. Diagram yang sesuai dengan
itu adalah Gambar 3.1 yang mempunyai cacah gerbang masukan sebanyak
9. Bentuk 3 level dapat dibuat dengan mengeluarkan salah satu faktor (mi-
salnya A) secara aljabar, seperti Persamaan 3.15.

M = BC + A(C + B) (3.15)
3.1. Reduksi Ekspresi 2 Level 53
A B C

Gambar 3.12: Implementasi fungsi mayoritas 3 level

Diagram logika yang sesuai dengan persamaan tersebut ada pada Gambar
3.12 yang mempunyai gerbang masukan sebanyak 8, sehingga lebih sederhana
daripada rangkaian 2 level. Namun demikian rangkaian 3 level mempunyai
tundaan gerbang yang lebih besar. Rangkaian 2 level mempunyai tundaan
delay sebesar 2 karena ada 2 gerbang pada jalur terpanjang antara masukan
dan keluaran. Rangkaian pada Gambar 3.12 mempunyai tundaan gerbang
sebesar 3.

Variabel isian peta


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

C 1 1

B
54 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL

Gambar 3.13: Peta Karnaugh dengan isian variabel D

Gambar 3.14: Peta Karnaugh dengan 3 variabel isian

D d E E

C 1 1

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

3.1.4 Metode Tabulasi


Pendekatan otomatis untuk reduksi ekspresi Boolean biasa digunakan pada
fungsi dengan keluaran tunggal atau jamak. Metode tabulasi atau juga dike-
nal dengan metode Quine-McCluskey, membentuk perkalian yang berbeda
pada 1 variabel secara berturut-turut, dan kemudian dihasilkan himpunan
suku terreduksi yang dapat mencakup semua fungsi keluaran. Proses ini
lebih mudah diimplementasikan pada komputer daripada metode peta, dan
hasil suku-suku reduksinya dapat digunakan oleh lebih dari 1 fungsi.

Reduksi fungsi tunggal


Tabel kebenaran pada Gambar 3.15 menggambarkan F yang merupakan
fungsi 4 variabel A, B, C, dan D, yang menyertakan 3 don’t care. Proses
reduksi secara tabel dimulai dengan mengelompokkan minterm berdasarkan
jumlah nilai 1-nya. Minterm 0000, tidak mempunyai nilai 1, sehingga di-
jadikan grup tersendiri. Minterm 0001, 0010, 0100, dan 1000 mempunyai
3.1. Reduksi Ekspresi 2 Level 55

nilai 1 tunggal, tetapi hanya minterm 0001 yang menghasilkan 1, sehingga


minterm ini dijadikan grup lain.

A B C D F
0 0 0 0 d
0 0 0 1 1
0 0 1 0 0
0 0 1 1 1
0 1 0 0 0
0 1 0 1 1
0 1 1 0 1
0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 1
1 0 1 1 d
1 1 0 0 0
1 1 0 1 1
1 1 1 0 0
1 1 1 1 d
Gambar 3.15: Tabel kebenaran suatu fungsi dengan don’t care

Grup berikutnya adalah minterm dengan dua nilai 1, dan ada 6 kemungk-
inan minterm yang mempunyai dua nilai 1, yang dapat masuk dalam 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.
56 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL

Keadaan awal Setelah reduksi I Setelah reduksi II


A B C D A B C D A B C D
√ ∗
0 0 0 0 √ 0 0 0 √ 0 1 ∗
0 0 0 1 √ 0 0 1 √ 1 1 ∗
0 0 1 1 √ 0 0 1 √ 1 1 ∗
0 1 0 1 0 1 1 √ (c)

0 1 1 0 √ 0 1 1 √
1 0 1 0 √ 0 1 1

0 1 1 1 √ 1 0 1
1 0 1 1 0 1 1 ∗

1 1 0 1 √ 1 0 1 √∗
1 1 1 1 √
(a) 1 1 1

1 1 1
(b)
Gambar 3.16: Proses reduksi tabulasi

Langkah berikutnya dalam proses reduksi adalah membentuk sebuah kon-


sensus antara setiap pasang grup bertetangga untuk semua suku dengan beda
nilai tepat 1 variabel saja. Bentuk umum teorema konsensus dari Bab 2
adalah:
XY + XZ + Y Z = XY + XZ (3.17)
Suku Y Z adalah tidak perlu karena sudah tercakup oleh suku yang lain,
sehingga dapat dieliminasi. Secara aljabar, teorema tersebut dapat dibuk-
tikan sebagai berikut:

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

(X + Y )(X + Z)(Y + Z) = (X + Y )(X + Z) (3.18)


Ide dari penerapan konsensus pada reduksi tabulasi adalah untuk
mengambil keuntungan dari sifat invers dari aljabar Boole, mirip seperti yang
dipergunakan pada peta Karnaugh. Misalnya, 0000 dan 0001 berbeda ni-
lainya pada variabel D, sehingga 000 dimasukkan dalam daftar pada bagian
atas tabel reduksi seperti terlihat pada Gambar 3.16b. Tanda garis bawah
3.1. Reduksi Ekspresi 2 Level 57

menunjukkan posisi variabel yang dieliminasi, dalam contoh ini D. Minterm


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

Sekali suku sudah ditandai dengan , suku tersebut masih dapat diper-
gunakan untuk proses reduksi karena sifat idempotens. Tujuan dari langkah
dalam proses ini adalah untuk menemukan semua kemungkinan suku terre-
duksi, sehingga kita dapat menemukan himpunan terkecil suku yang masuk
dalam fungsi pada langkah berikutnya.
Proses berlanjut untuk grup-grup sisanya. Setiap suku yang tidak ter-
cakup dalam pengelompokkan konsensus ditandai dengan asteris (∗) untuk
menunjukkan bahwa ini adalah suku prime implicant. Pada Gambar 3.16a
terlihat bahwa setelah reduksi pertama semua minterm sudah terpakai se-
hingga tidak ada prime implicant.
Setelah reduksi pertama, kita dapat melanjutkan untuk iterasi berikut-
nya. Dua suku dapat dikombinasi jika keduanya hanya berbeda 1 variabel
saja. Garis bawah harus pada posisi yang sama. Entri pertama pada Gam-
bar 3.16b mempunyai garis bawah pada kolom paling kanan, sehingga tidak
ada entri pada grup kedua yang cocok. Oleh karena itu entri ini ditandai de-
ngan ∗, yang menunjukkan bahwa suku ini adalah prime implicant dan tidak
dapat direduksi lagi. Kita beralih ke grup kedua dan ketiga pada Gambar
3.16b. Suku 00 1 dan 01 1 dikombinasi menjadi suku 0 1 seperti tertera
pada Gambar 3.16c. Proses terus terlanjut hingga reduksi kedua lengkap.
Dalam penyusunan tabel reduksi pada Gambar 3.16c, prime implicant
dari tabel sebelumnya (Gambar 3.16b) tidak diikutkan. Proses berlanjut
sampai hanya tersisa prime implicant. Pada contoh ini, proses berhenti sete-
lah reduksi kedua dan menghasilkan 3 suku tersisa sebagai prime implicant
seperti pada Gambar 3.16c.
Setiap prime implicant dikumpulkan untuk menyusun fungsi, walaupun
belum minimal. Untuk meminimalkan suku-suku yang digunakan, disusun
tabel pilihan seperti pada Gambar 3.17. Setiap prime implicant dibuat 1
baris dalam table pilihan dan kolom berisi minterm dari fungsi asli yang harus
dicakup. Kondisi don’t care tidak perlu dicakup sehingga tidak dimasukkan
dalam daftar.
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 im-
plicant esensial dapat mencakup lebih dari satu minterm. Untuk itu dibuat-
lah tabel pilihan terreduksi yang tidak menyertakan prime implicant esensial
dan mintermnya, seperti pada Gambar 3.18. Tabel pilihan terreduksi dapat
berisi prime implicant esensial yang kemudian dikenai proses reduksi lagi,
sampai tabel pilihan terreduksi hanya berisi prime implicant nonesensial.

Himpunan Minterm Himpunan 1 Himpunan 2


pilihan 0001
√ 0011 000 0 1
X 000 √ √ 11
Y 0 1 √
Z 11
Gambar 3.18: Tabel pilihan terreduksi

Sisa prime implicant dalam tabel pilihan terreduksi membentuk him-


punan pilihan, yang digunakan untuk mendapatkan himpunan minimal.
Seperti pada Gambar 3.18, ada 2 himpunan prime implicant yang menam-
pung 2 minterm sisa. Karena himpunan 2 adalah suku paling sederhana,
maka suku inilah yang dipilih untuk membentuk persamaan minimal untuk
F , yang terdiri atas prime implicant esensial dan prime implicant pilihan
3.1. Reduksi Ekspresi 2 Level 59

pada himpunan 2 (Persamaan 3.19).

F = ABC + ABC + BD + AD (3.19)


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

Kolom Penjumlahan
0001 (X + Y)
0011 (Y + Z)

Untuk mencari himpunan yang mencakup semua kolom, prime implicant


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

F = ABC + ABC + BD + AD (3.20)

Reduksi Fungsi Jamak


Metode reduksi tabel digunakan untuk mereduksi fungsi Boolean tunggal.
Namun demikian cara ini juga dapat dipergunakan untuk mereduksi fungsi
jamak yang menggunakan variabel yang sama, untuk menghasilkan per-
samaan kolektif yang kecil. Metode berikut menggunakan cara dengan men-
cari irisan dari semua kemungkinan kombinasi dari suku-suku yang dapat
digunakan bersama, dan kemudian memilih himpunanan terkecil yang men-
cakup seluruh fungsi.
Sebagai contoh kita gunakan tabel kebenaran yang ada pada Gambar
3.19 yang menunjukkan 3 fungsi dengan 3 variabel. Notasi mi menunjukkan
minterm yang indeksnya i menurut tabel kebenaran.
60 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL

Minterm A B C F0 F1 F2
m0 0 0 0 1 0 0
m1 0 0 1 0 1 0
m2 0 1 0 0 0 1
m3 0 1 1 1 1 1
m4 1 0 0 0 1 0
m5 1 0 1 0 0 0
m6 1 1 0 0 1 1
m7 1 1 1 1 1 1
Gambar 3.19: Tabel kebenaran untuk 3 fungsi dengan 3 variabel

Bentuk lengkap persamaan Boolean dari kasus ini adalah:

F0(A, B, C) = m0 + m3 + m7
F1(A, B, C) = m1 + m3 + m4 + m6 + m7
F2(A, B, C) = m2 + m3 + m6 + m7

Irisan dibentuk dengan membuat semua kombinasi fungsi seperti berikut:

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

Dengan menggunakan metode reduksi yang dijelaskan sebelumnya, dapat


disusun prime implicant untuk masing-masing fungsi:

Fungsi prime implicant


F0 000, 11
F1 0 1, 1 0, 11, 11
F2 1
F0,1 11
F0,2 11
F1,2 11, 11
F0,1,2 11

Daftar prime implicant direduksi dengan mengeliminasi prime implicant


yang sudah tercantum pada fungsi dengan orde yang lebih tinggi. Misalnya,
11 muncul di 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:
3.1. Reduksi Ekspresi 2 Level 61

Fungsi prime implicant


F0 000
F1 0 1, 1 0
F2 1
F0,1 kosong
F0,2 kosong
F1,2 11
F0,1,2 11

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

Minterm F0(A, B, C) F1(A, B, C) F2(A, B, C)


Prime im- m0 m3 m7 m1 m3 m4 m6 m7 m2 m3 m6 m7
plicant √
F0 ∗000 × × × × × × × × ×
√ √
F1 ∗0 1 × × × √ √ × × × ×
F1 ∗1 0 × × × ×
√ ×
√ ×
√ ×

F2 ∗1 × × × × × × × ×

√ √ √
F1,2 ∗11 × ×
√ ×
√ √ √
√ √
F0,1,2 ∗ 11

Gambar 3.20: Tabel pilihan keluaran jamak

Bentuk minimal dari persamaan keluaran didapat dengan cara yang 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, se-
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
3.2. Soal Latihan 63

3.2 Soal Latihan


3.1 Ada fungsi P (A, B, C) = Σm(0, 1, 3) + Σd(2, 7) dan Q(A, B, C) =
Σm(1, 3, 5, 7) + Σd(6), gunakan peta karnaugh untuk mencari:

(a) P dalam bentuk minterm


(b) P dalam bentuk maxterm
(c) (P.Q) dalam bentuk minterm
(d) (P + Q) dalam bentuk maxterm
3.2 Cari bentuk minimum SOP untuk setiap fungsi berikut menggunakan
peta karnaugh:

(a) F = Σm(0, 2, 3, 4, 6)
(b) F = ΠM (0, 1, 4)
(c) F = BC D + BCD + A C D + BD + A B C D

3.3 Cari bentuk minimum POS untuk Soal 3.2.

3.4 Ada fungsi P (A, B, C, D) = Σm(0, 2, 4, 7, 8, 10) dan Q(A, B, C, D) =


ABD + B C D, gunakan peta karnaugh untuk mencari (P ⊕ Q) dalam
bentuk minimum:

(a) SOP
(b) POS

3.5 Diberikan dua fungsi berikut, f dan g. Susunlah peta Karnaugh dan
carilah ekspresi SOP minimal untuk f dan g!
f (A, B, C, D) = 1 jika dua atau lebih masukannya bernilai 1, selain itu
f (A, B, C, D) = 0
g(A, B, C, D) = 1 jika banyaknya nilai 1 pada masukan adalah
genap (termasuk masukan tanpa nilai 1), selain itu g(A, B, C, D) =
f (A, B, C, D)

3.6 Gunakan peta Karnaugh untuk menyederhanakan fungsi f dengan nilai


don′t care seperti di bawah ini. Buatlah dalam bentuk:

(a) sum-of -product


(b) product-of -sum
64 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL

Σ Σ
f (A, B, C, D) = (2, 8, 10, 11) + d(0, 9)

3.7 Dari suatu rangkaian logika yang tersedia, apakah mungkin disusun
tabel kebenaran yang mengandung don′tcare? Jelaskan!

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

A B F
0 0 D0
0 1 D1
1 0 D2
1 1 D3

Gunakan peta Karnaugh yang berisi variabel untuk menghasilkan per-


samaan Boolean SOP terreduksi!

3.9 Fungsi F (A, B, C) = Π(1, 5, 6, 7), cari rangkaian 2 level minimum de-
ngan NAND dan NOR.

3.10 Dengan F (A, B, C, D) = A CD + BD + ACD, realisasikan 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)


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) = m(3, 5, 7, 10, 13, 15) + 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.


66 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL

(b) Lengkapi diagram waktu di atas, asumsikan gerbang bersifat ideal.


(c) Jika setiap gerbang mempunyai waktu tunda sebesar δt, tentukan
waktu minimum yang diperlukan antara 2 perubahan masukan,
agar rangkaian beroperasi dengan benar.
(d) Gambar diagram waktu dengan memperhatikan waktu tunda δt.

3.20 Untuk rangkaian yang ditunjukkan pada Gambar 2.40, tulis P dan Q
sebagai fungsi yang minimum dari A, B, dan C.

3.21 Tentukan 4 bentuk fungsi rangkaian 2 level yang minimum untuk P


dan Q pada Gambar 2.40.

3.22 Gunakan metode tabulasi untuk mereduksi keluaran jamak berikut:

Minterm A B C D F0 F1 F2
m0 0 0 0 0 0 0 1
m1 0 0 0 1 0 0 0
m2 0 0 1 0 0 0 0
m3 0 0 1 1 1 0 0
m4 0 1 0 0 0 0 1
m5 0 1 0 1 1 1 0
m6 0 1 1 0 0 0 0
m7 0 1 1 1 1 1 0
m8 1 0 0 0 0 0 0
m9 1 0 0 1 0 0 0
m10 1 0 1 0 0 1 1
m11 1 0 1 1 0 0 0
m12 1 1 0 0 0 0 0
m13 1 1 0 1 1 1 0
m14 1 1 1 0 1 1 1
m15 1 1 1 1 1 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 min-
imal penjumlah tersebut dengan menggunakan NAND saja.

3.24 Rangkaian penjumlah penuh (full-adder ) mempunyai 3 masukan dan


menghasilkan 2 keluaran: satu sesuai dengan nilai jumlah ketiganya
sedang lainnya sesuai dengan nilai simpanan. Rancang bentuk rangka-
ian minimal penjumlah tersebut.

3.25 Desain sebuah penjumlah penuh dengan menggunakan half-adder dan


tambahan gerbang minimum.

3.26 Untuk rangkaian Gambar 3.22, tentukan:

(a) Tabel kebenarannya.


(b) Fungsi keluarannya.
(c) Rangkaian AND-OR minimumnya.
(d) Rangkaian OR-AND minimumnya.

Y
Y F1

X
Z F2

Gambar 3.22:
68 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL
BAB 4

RANGKAIAN LOGIKA
DIGITAL SEKUENSIAL

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

69
70 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

i0 f0
Input . . Output
in Unit logika f1
kombinasional
. .

Q CK

Q D

Q CK
Sinyal
Sinkronisasi

Q 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 f−m 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 sta-
bil walaupun masukan sudah tidak aktif. Keluaran flip-flop ditentukan oleh
nilai masukan dan juga nilai keluaran sebelumnya, sehingga unit logika kom-
binasional 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
4.1. Flip-Flop S-R 71

waktu perambatan melalui gerbang logika. Waktu tunda ini kadang-kadang


dimunculkan sebagai rangkaian tunda untuk keperluan analisis seperti Gam-
bar 4.2. Waktu tunda ini secara normal tidak dimunculkan tetapi tetap ada.

A ∆τ
B A+B

∆τ
Gambar 4.2: Gerbang NOR dengan rangkaian tunda

Waktu perambatan melalui gerbang NOR mempengaruhi operasi flip-


flop. Perhatikan flip-flop set-reset (S-R) pada Gambar 4.3, yang berisi ger-
bang NOR yang saling silang. Jika kita isikan 1 pad S, maka Q akan bernilai 0
setelah waktu tunda ∆τ , yang menyebabkan Q bernilai 1 (dianggap R berni-
lai 0) setelah waktu tunda 2∆τ . Akibatnya adalah selama penggalan waktu
tertentu ada waktu singkat sebesar ∆τ yang Q dan Q bernilai 0, yang secara
logis tidak dibenarkan, tetapi kondisi ini dapat diperbaiki dengan 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.

QiSiRi Qi+1

S 0 0 0 0
Q
0 0 1 0
0 1 0 1
Q 0 1 1 (dilarang)
R 1 0 0 1
1 0 1 0
1 1 0 1
1 1 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)


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 de-
ngan mengganggap Si dan Ri sebagai masukan dan Qi+1 sebagai keluaran.
Nilai dari Qi+1 merupakan fungsi dari Qi. Lihat Gambar 4.4.

Si Ri Qi+1
0 0 Qi
0 1 0
1 0 1
1 1 (terlarang)
Gambar 4.4: Tabel kebenaran Flip-flop S-R

Ada banyak cara untuk menyusun rangkaian sebuah flip-flop S-R. Peng-
gunaan gerbang NOR yang saling silang untuk flip-flop S-R adalah hanya
salah satu cara. Dua gerbang NAND yang dihubungkan saling silang juga da-
pat menghasilkan flip-flop S-R, dengan nilai S = R = 1 mengakibatkan kelu-
aran tidak berubah. Dengan menggunakan teorema DeMorgan kita 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 Q S Q S Q R Q
≡ ≡ ≡
R Q R 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 ter-
jadi pada rangkaian logika konvensional. Masalahnya adalah transisi dapat
terjadi pada waktu yang tidak diinginkan.
4.2. Flip-flop S-R Berdetak 73

Perhatikan rangkaian pada Gambar 4.6. Jika sinyal A, B, dan C se-


muanya berubah dari keadaan 0 menjadi 1, maka sinyal C akan 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.

C
C S
A Q AB
B
S
Q
R
R

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 de-
tak ideal. Dalam kenyataannya, gelombang tersebut tidak berbentuk persegi
tetapi membulat karena perlu waktu untuk menjadi tinggi dan rendah, tidak
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 de-
ngan membuat flip-flop S-R berdetak, yang dapat dilihat pada Gambar refg-
brffsrdetak. Simbol CLK berarti clock atau detak. Sekarang S dan R 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.

R
S
Q
CLK
CLK
Q
Q
R
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
4.3. Flip-flop D dan konfigurasi tuan-hamba 75

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

D D
Q
CLK
CLK
Q
Q
Rangkaian
Q
D Q
2∆τ
Diagram waktu
CK Q

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

Dn Qn+1 Dn Qn+1
0 0 0 Dn
1 1 1 Dn
a. versi 1 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 ba-


lik 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.
76 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

D D Q D Q

CLK CK 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 ren-
dah. Dengan demikian diperlukan detak naik kemudian turun untuk me-
mindahkan isi jalur D pada flip-flop tuan ke keluaran Qs pada flip-flop
hamba. Simbol segitiga pada flip-flop tuan-hamba menunjukkan bahwa pe-
rubahan keadaan hanya terjadi pada saat detak berubah naik ( dari 0 ke 1)
atau turun (dari 1 ke 0). Untuk konfigurasi seperti Gambar 4.11 berlaku
bahwa perubahan terjadi saat detak turun (dari 1 ke 0).
Flip-flop picuan level keadaan berubah terus-menerus selama detak berni-
lai tinggi (atau rendah tergantung desain flip-flop). Flip-flop picuan tepi
berubah hanya saat terjadi perubahan detak dari tinggi-ke-rendah atau dari
rendah-ke-tinggi. Beberapa buku tidak memasang simbol segitiga pada ma-
sukan detak. Untuk membedakan antara 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
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 J Q
Q
CLK CCKK
K Q
K Q

Rangkaian Simbol
Gambar 4.12: Flip-flop J-K dan simbolnya

Jn Kn Qn Qn+1
0 0 0 0
0 0 1 1 Jn Kn Qn+1
0 1 0 0 0 0 Qn
0 1 1 0 0 1 0
1 0 0 1 1 0 1
1 0 1 1 1 1 Qn
1 1 0 1 b. versi ringkas
1 1 1 0
a. versi lengkap
Gambar 4.13: Tabel kebenaran untuk flip-flop J-K. Nilai J=1 dan K=1 diper-
bolehkan.

1 J Q T Q
T CCKK
K Q Q

Gambar 4.14: Flip-flop T dan simbolnya


78 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

T Qn Qn+1
0 0 0 T Qn+1
0 1 1 0 Qn
1 0 1 1 Qn
1 1 0 b. versi ringkas
a. versi lengkap
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 bergan-
tian 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 Q JQ
CLK
CCK
K
K Q
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 ma-
chine (FSM) pada Gambar 4.1. Elemen penunda dapat diimplementasi de-
ngan flip-flop tuan-hamba dan sinyal sinkronikasi dengan detak. Umumnya,
untuk implementasi umpan balik digunakan flip-flop. Perlu diketahui 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.
4.5. Desain Mesin Keadaan Berhingga 79

0001 Reset q0 0100


Pencacah q1 0101
Sinkron s0 D Q
3-bit
CK
s1 D Q
CK Q
CLK CK
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
q0q1 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 s0s1 juga berubah.

Kita perhatikan bahwa desain pencacah dapat dilakukan dengan mendaf-


tar semua kemungkinan masukan dan keluaran yang terjadi pada 4 jalur q1q0
dan keadaan s1s0. 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 ba-
hasan berikutnya kita akan melihat pendekatan yang lebih umum dalam
perancangan mesin keadaan berhingga. Untuk pencacah kita dapat mu-
lai dari penyusunan diagram transisi keadaan seperti Gambar 4.18 dengan
keadaan A sampai dengan D dan garis berarah menunjukkan transisi. Dalam
kasus ini keadaan A untuk nilai pencacah 00, B untuk 01, C untuk 10, dan
D untuk 11.
80 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL
0/01

1/00 A B
1/00
0/10

1/00

0/00, 1/00

C D
0/11

Gambar 4.18: Diagram transisi keadaan pencacah modulo 4

Misalnya, FSM diinisialisasi pada keadaan A. Ada 2 kemungkinan ma-


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

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

Gambar 4.19: Tabel keadaan untuk pencacah modulo-4

Setelah kita membuat tabel keadaan, kita tentukan nilai biner untuk se-
tiap keadaan. Karena ada 4 keadaan, kita membutuhkan paling tidak 2 bit
4.5. Desain Mesin Keadaan Berhingga 81

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

Masukan RESET
Keadaan
sekarang 0 1
A:00 01/01 00/00
B:01 10/10 00/00
C:10 11/11 00/00
D:11 00/00 00/00

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


nya

Dari tabel keadaan, dapat dihasilkan tabel kebenaran untuk keadaan


berikutnya dan fungsi keluaran seperti pada Gambar 4.21. Subskrip un-
tuk variabel keadaan menunjukkan waktu. Keadaan sekarang ditulis de-
ngan 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 diimple-
mentasikan s0(t + 1) dan s1(t + 1) saja sedang q0(t + 1) dan q1(t + 1) dapat
diambil langsung padanya.
82 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

RESET

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


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

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


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

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

Akhirnya, kita implementasikan keadaan berikutnya dan fungsi keluaran


dengan menggunakan gerbang logika dan flip-flop D tuan-hamba untuk vari-
abel keadaan seperti pada Gambar 4.22.

Reset

D Q
CLK CK q1
CK Q

D Q q0
CK
CK Q

Gambar 4.22: Desain logika untuk pencacah modulo-4


4.6. Contoh: Detektor Urutan 83

4.6 Contoh: Detektor Urutan


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

0/0 D

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

A 1/1 0/0
0/0 F
1/1
1/0
C
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 pal-
ing tidak menerima 2 bit masukan kalau keadaan sebelumnya adalah B atau
C. Setelah masuk pada keadaan D, E, F, atau G maka sistem akan berkutat
di keadaan ini saja. Keadaan D akan dikunjungi saat dua masukan terakhir
bernilai 00. Keadaan E, F, dan G dikunjungi jika dua masukan terakhir
adalah 01, 10, dan 11.
Masukan x
Keadaan
sekarang 0 1
A B/0 C/0
B D/0 E/0
C F/0 G/0
D D/0 E/0
E F/0 G/1
F D/0 E/1
G F/1 G/0

Gambar 4.24: Tabel keadaan detektor urutan


84 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

Langkah berikutnya adalah membuat tabel keadaan seperti tertera pada


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

s2 s1 s0 x s2 s1 s0 z
Masukan X 0 0 0 0 0 0 1 0
Keadaan
sekarang 0 1 0 0 0 1 0 1 0 0
A:000 001/0 010/0 0 0 1 0 0 1 1 0
B:001 011/0 100/0 0 0 1 1 1 0 0 0
C:010 101/0 110/0 0 1 0 0 1 0 1 0
D:011 011/0 100/0 0 1 0 1 1 1 0 0
E:100 101/0 110/1 0 1 1 0 0 1 1 0
F:101 011/0 100/1 0 1 1 1 1 0 0 0
G:110 101/1 110/0 1 0 0 0 1 0 1 0
1 0 0 1 1 1 0 1
(a) 1 0 1 0 0 1 1 0
1 0 1 1 1 0 0 1
1 1 0 0 1 0 1 1
1 1 0 1 1 1 0 0
1 1 1 0 d d d d
1 1 1 1 d d d d

(b)

Gambar 4.25: Penetapan kode keadaan dan tabel kebenaran detektor urutan

Akhirnya, kita susun rangkaiannya seperti Gambar 4.26. Perlu 1 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 000 x 000 x 000 x 000


x 001 x 001 x 001 x 001
1 010 x 010 x 010 x 010
x 011 x 011 x 011 x 011
1 100 DQ x 100 DQ x 100 DQ x 100
x 101 x 101 x 101 x 101
1 110 CK x 110 CK x 110 CK x 110
0 111 0 111 0 111 0 111

CLK

Gambar 4.26: Diagram logika detektor urutan


4.7. Contoh: Pengendali mesin penjualan 85

4.7 Contoh: Pengendali mesin penjualan


Kita akan merancang pengendali mesin penjualan menggunakan flip-flop dan
’kotak hitam’ yang mewakili PLA seperti pada Gambar 4.27. Mesin pen-
jualan menerima tiga macam koin Rp 100, Rp 200, dan Rp 500. Jika nilai
yang dimasukkan sama atau lebih besar dari Rp 400, maka mesin akan men-
geluarkan barang dagangan, dan mengembalikan uang kelebihan, kemudian
menunggu transaksi berikutnya.
D/110
L/110 S/100
S/000 D/000
A B D
Rp 0 Rp 100 Rp 300

L/101 L/111

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

Gambar 4.27: Diagram transisi keadaan pengendali mesin penjualan

Kita mulai menyusun diagram transisi keadaan seperti Gambar 4.27. Di


keadaan A, belum ada koin yang dimasukkan, sehingga uang yang masuk
adalah Rp 0. Jika koin seratusan atau duaratusan dimasukkan maka keadaan
akan berubah ke B atau C. Jika koin limaratusan yang dimasukkan maka
uang yang masuk sejumlah Rp 500. Mesin akan mengeluarkan barang da-
gangan dan mengeluarkan kembalian koin seratusan, dan keadaan tetap di
A. Hal ini ditandai dengan ”L/110” dalam kalang memutar di keadaan A.
Dari keadaan B atau C dapat berpindah ke keadaan D. Dari D kembali ke
A atau B.
Perhatikan saat koin limaratusan dimasukkan pada keadaan D. Mestinya
mesin akan mengeluarkan barang dagangan, mengembalikan Rp 400, dan
kembali ke A, tetapi menurut diagram tersebut mesin akan mengeluarkan
barang, mengembalikan Rp 300, dan menuju ke keadaan B. Mesin tetap
menahan uang sebesar Rp 100.
86 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

Masukan S D L Masukan S D L
K.S. 00 01 10 K.S. 00 01 10
A B/000 C/000 A/110 A:00 01/000 10/000 00/110
B C/000 D/000 A/101 B:01 10/000 11/000 00/101
C D/000 A/100 A/111 C:10 11/000 00/100 00/111
D A/100 A/110 B/111 D:11 00/100 00/110 01/111
Gambar 4.28: (a) Tabel keadaan pengendali mesin penjualan (b) penetapan
kode keadaan pengendali mesin penjualan

Dari diagram transisi keadaan dapt disusun tabel keadaan seperti pada
Gambar 4.28a. Kemudian dapat ditentukan kode keadaan untuk simbol S, D,
dan L dalam bentuk biner, seperti pada Gambar 4.28b. Akhirnya, kita buat
diagram rangkaiannya seperti Gambar 4.29a. Kode keadaan terdiri atas 2 bit
sehingga diperlukan 2 flip-flop D. Empat masukan pada PLA digunakan 2 bit
untuk keadaan sekarang dan 2 bit koin x1x0. 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.
4.8. Mesin Mealy dan Moore 87

s1 s0 x1 x0
x1 z2
x0 z1
5 × 5s z0
1
PLA
s0

QCK
CK CLK
Q D

QCK
CK
Q D

(a)
desimal s1s0x1x0 s1s0z2z1z0
0 0000 01000
1 0001 10000
2 0010 00110
3 0011 ddddd
4 0100 10000
5 0101 11000
6 0110 00101
7 0111 ddddd
8 1000 11000
9 1001 00100
10 1010 00111
11 1011 ddddd
12 1100 00100 (c)
13 1101 00110
14 1110 01111 s1 s0 z2 z1 z0
15 1111 ddddd

(b)

Gambar 4.29: Mesin penjualan (a) rangkaian, (b) tabel kebenaran (c) real-
isasi PLA

4.8 Mesin Mealy dan Moore


Keluaran dari rangkaian FSM yang kita bahas sebelumnya sejauh ini diten-
tukan oleh keadaan sekarang dan masukan. Keadaan dikelola oleh flip-flop
picuan tepi surut, maka perubahan keadaan hanya terjadi saat tepi surut
pada detak. Apapun perubahan yang terjadi pada masukan tidak mempu-
nyai efek terhadap keadaan selama detak rendah. Masukan langsung meng-
hasilkan keluaran tanpa melewati flip-flop. Dengan demikian perubahan ma-
sukan dapat mengakibatkan perubahan keluaran, tanpa memperhatikan de-
tak dalam keadaan rendah atau tinggi. Pada Gambar 4.29, perubahan salah
satu masukan x1 atau x0 dapat mengakibatkan perubahan keluaran z2z1z0
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
88 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

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

0 00
x 01
D Q z0
1 10
CK
1 11
0 00 01 0 CK Q

1 1
00
01
0 11 10 0 D Q z1
1 10
CK
1L1K
C 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. Pe-
rubahan keluaran ini dapat mengubah keluaran mesin lain, jika dihubungkan
dengan masukan mesin lain tersebut, demikian seterusnya. Dalam model
Moore, perubahan selalu sinkron dengan detak, sehingga perubahan berun-
tun antar mesin tidak dapat terjadi. Perubahan keluaran suatu mesin mem-
punyai efek yang kecil terhadap mesin berikutnya pada model Moore. Oleh
karena itu, analisis dan pelacakan kesalahan dapat ditelusuri bagian per
bagian dengan lebih mudah. Pada praktiknya kedua model ini digunakan.

4.9 Register
Informasi yang terdiri atas bit tunggal tersimpan dalam flip-flop D. Sejumlah
N bit informasi membentuk satu word dengan panjang N-bit dapat disim-
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 D1 D0

D Q D Q D Q D Q

WR
CLR CK CK CK CK
EN

Q3 Q2 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 Q 1 Q 0

Gambar 4.32: Register 4-bit disederhanakan

Register geser akan menggeser isi pada setiap flip-flop ke flip-flop sesudah-
nya, dan menerima masukan pada ujung masukan serta memuntahkan isinya
pada ujung keluaran, sehingga memungkinkan untuk disusun secara bersam-
bungan. Perhatikan register geser pada Gambar 4.33. Register dapat digeser
ke kiri, digeser ke kanan, menerima masukan secara paralel, atau dibiarkan
isinya tetap, semunya sinkron dengan detak. Fasilitas pemasukan paralel dan
pembacaan paralel memungkinkan register geser berfungsi sebagai pengubah
serial ke paralel atau pengubah paralel ke serial.
90 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

c1

c0
Input
D3 D2 D1 D0 geser kanan
output geser kiri
Input geser kanan

Outp ut
D Q D Q D Q D Q geser kanan
c0
c1
CLK CK CK CK CK
EN

Q3 Q2 Q1 Q0
Kendali
Fungsi
c1 c0

0 0 Tetap Input geser kanan D3D2D1D0


0 1 Geser kiri Output geser kiri Output geser kanan
1 0 Geser kanan c0 Input geser kiri
1 1 Muat paralel c1
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 konfig-
urasi pencacah modulo 8 dengan pola biner tiap langkah adalah: 000, 001,
010, 011, 100, 101, 110, 111 dan diulang lagi. Tiga flip-flop J-K ditempatkan
dalam mode bergantian, dan setiap masukan detak dioperasikan AND de-
ngan keluaran Q sebelumya, mengakibatkan frekuensi detak baru sebesar
setengahnya. Detak ini akan memicu pada flip-flop berikutnya, demikian
seterusnya. Hasilnya adalah setiap flip-flop Fi akan mengasilkan keluaran
Qi dengan frekuensi frac12i. Jika pola Qi dengan i = 2 sampai dengan 0
disusun hasilnya adalah 000, 001, ... ,111.
4.11. Soal Latihan 91

1 J Q 1 J Q 1 J Q

CLK CC
KK CC
KK CC
KK
EN
K Q K Q K Q

RESET

Q2 Q1 Q0

ENABLE
PENCACAH MOD(8)
RESET
Q2 Q1 Q 0

Gambar 4.34: Pencacah modulo 8

Dalam rangkaian tersebut juga ditambahkan jalur RESET tak sinkron,


yang akan melakukan pengisian 000 pada pencacah, dan tidak tergantung
pada keadaan, jalur detak, maupun jalur EN. Selain 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.
92 4. RANGKAIAN LOGIKA DIGITAL SEKUENSIAL

4.4 Gambarlah rangkaian sekuensial dengan menggunakan 2 buah flip-flop


yang persamaan masukannya adalah:

JA = Bx KA = Bx
JB = x 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 jum-
lah 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 awal-
nya. Pencacah modulo-k adalah pencacah yang kembali ke keadaaan mula-
mulanya setelah k buah pulsa masuk.

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

93
94 5. PENCACAH

Tabel 5.1: Beberapa jenis pencacah.


Modulo-16 Modulo-8 Modulo-10 Modulo-6
Jumlah pulsa
QA QB QC QD QA QB QC QA QB QC QD QA QB QC
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 1 0 0 0 1 0 0 1
2 0 0 1 0 0 1 0 0 0 1 0 0 1 0
3 0 0 1 1 0 1 1 0 0 1 1 0 1 1
4 0 1 0 0 1 0 0 0 1 0 0 1 0 0
5 0 1 0 1 1 0 1 0 1 0 1 1 0 1
6 0 1 1 0 1 1 0 0 1 1 0 0 0 0
7 0 1 1 1 1 1 1 0 1 1 1 dst.
8 1 0 0 0 0 0 0 1 0 0 0
9 1 0 0 1 dst. 1 0 0 1
10 1 0 1 0 0 0 0 0
11 1 0 1 1 dst.
12 1 1 0 0
13 1 1 0 1
14 1 1 1 0
15 1 1 1 1
16 0 0 0 0

5.1 Pencacah Sinkron


Pada pencacah sinkron perubahan keluaran setiap flip-flop terjadi secara
serentak karena pulsa masukan yang akan dicacah dihubungkan pada ma-
sukan 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 pen-
cacah dengan menggunakan flip-flop J-K atau T. Untuk mengingatkan kem-
bali pengaturan masukan pada flip-flop ditulis lagi tabel kebenaran dari flip-
flop J-K dan T seperti terlihat pada Tabel 5.2.

Tabel 5.2: Tabel kebenaran flip-flop J-K dan T


Jn Kn Qn Qn+1 Tn Qn Qn+1
0 0 0 0 0 0 0
0 0 1 1 0 1 1
0 1 0 0 1 0 1
0 1 1 0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0
(a) (b)
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 Qn+1 Jn Kn Qn Qn+1 Tn
0 −→ 0 0 x 0 → 0 0
0 −→ 1 1 x 0 → 1 1
1 −→ 0 x 1 1 → 0 1
1 −→ 1 x 0 1 → 1 0
(a) (b)

5.1.1 Pencacah Sinkron Modulo-6

Pencacah ini memerlukan 3 buah flip-flop dan dipilih flip-flop jeni J-K. Hasil
pencacahan ada pada keluaran ketiga flip-flop yaitu QAQBQC. Dari Tabel
5.1 terlihat bahwa nilai awal adalah QAQBQC = 000, setelah pulsa masuk
keluaran berubah menjadi QAQBQC = 001. Berdasarkan Tabel 5.3 pengat-
uran nilai J dan K untuk masing-masing flip-flop adalah:
flip-flop A QA : 0 → 0 maka JA = 0, KA =x flip-
flop B QB : 0 → 0 maka JB = 0, KB =x flip-flop
C QC : 0 → 1 maka JC = 1, KC =x
Selanjutnyapada keadaan QAQBQC = 001, yang berubah menjadi 010
setelah pulsa masuk, pengaturannya adalah:
flip-flop A QA : 0 → 0 maka JA = 0, KA = x flip-
flop B QB : 0 → 1 maka JB = 1, KB = x flip-flop
C QC : 1 → 0 maka 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 QAQBQC = 110 dan QAQBQC = 110 nilai J dan K diisi
sembarang (x).
96 5. PENCACAH

Tabel 5.4: Pengisian nilai J dan K pada pencacah modulo-6


QAQBQC JA KA JB KB JC KC
0 0 0 0 x 0 x 1 x
0 0 1 0 x 1 x x 1
0 1 0 0 x x 0 1 x
0 1 1 1 x x 1 x 1
1 0 0 x 0 0 x 1 x
1 0 1 x 1 0 x x 1
1 1 0 x x x x x x
1 1 1 x x x x x x

Tabel 5.4 tidak lain adalah tabel kebenaran dari 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:

JA = QBQC KA = Q C

JB = QAQC KB = Q C
5.1. Pencacah Sinkron 97

QAQB 00 01 11 10 QAQB 00 01 11 10
QC QC

0 x x 0 x x x

1 1 x x 1 x x x 1

JA KA

QAQB 00 01 11 10 QAQB 00 01 11 10
QC QC

0 x x 0 x x x

1 1 x x 1 x x x 1

JB KB

Gambar 5.1: Peta Karnaugh untuk penentuan persamaan J dan K pada


pencacah modulo-6 sinkron

[h]
1

Q J Q J Q J

CK CK CK

Q K Q K 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:
98 5. PENCACAH

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


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

2. Masukan T dihubunghkan ke Vcc sehingga selalu mempunyai ni-


lai 1, sedang pengaturan perubahan keluarannya dilakukan dengan
meneruskan pulsa masukan ke masukan detak kalau keluarannya di-
inginkan berubah, dan tidak meneruskannya kalau keluaran harus tid-
sak berubah. Hal ini dapat dilakukan dengan menambahkan gerbang
AND di depan masukan detak seperti pada Gambar 5.3.

1
Q T

Pengatur P
Q C
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 00 01 11 10
QC QD QA QB QA QB
00 01 11 10 00 01 11 10
QC QD QC QD
00 x
00 x 00 x
01 x 1
01 x 01 1 1 x
11 1 x x
11 1 1 x x 11 1 1 x
10 x x
10 x x 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
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 = QAQD + QBQCQD
PB = QCQD
PC = QAQD

Dengan demikian rangkaian pencacah sinkron modulo-10, dapat disusun


seperti pada Gambar 5.5.

Q T Q T Q T Q T

A B C D
Q C Q C Q C Q C

Pulsa Masukan

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


T
100 5. PENCACAH

Buktikan kalau digunakan flip-flop T dengan cara 1 maka persamaannya


menjadi:

TA = PA, TB = PB, T C = P C, danTD = PD

5.2 Pencacah Tak Sinkron


Pada pencacah tak sinkron pulsa masukan hanya dihubungkan ke masukan
detak pada flip-flop yang terdepan (LSB), sedang sebagai pulsa detak un-
tuk flip-flop berikutnya digunakan keluaran dari flip-flop sebelumnya. De-
ngan demikian perubahan dari keluaran masing-masing flip-flop akan terjadi
bergantian dari depan ke belakang.
Kalau pada pencacah ini digunakan master-slave flip-flop T (atau flip-
flop J-K dengan J disambung ke K), untuk pencacah modulo-2N bentuknya
sangat sederhana (ingat bahwa perubahan keluaran master-slave flip-flop ter-
jadi 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 da-
pat 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 T Q T

A B C
Q C Q C Q C Pulsa Input

Gambar 5.6: Rangkaian pencacah modulo-8 tak sinkron menggunakan flip-


flop T

Untuk pencacah modulo-4 (22), modulo-16 (24) kita tinggal menyesuaikan


jumlah flip-flopnya saja. Pencacah seperti ini juga disebut ripple counter.
Untuk pencacah tak sinkron modulo-k dengan k 2N agak lebih sulit
karena pulsa detak dari suatu flip-flop tidak selalu dapat diperoleh dariflip-
flop di depannya. Misalnya saja untuk modulo-6, pada perubahan dari
5.2. Pencacah Tak Sinkron 101

QAQBQC = 101 menjadi QAQBQC = 000, oleh karena QA harus berubah


dari 1 ke 0 sedang QB nilainya tetap, maka QB tidak dapat digunakan seba-
gai 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 pe-
rubahan 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 QAQBQC, yang untuk
pencacah tak sinkron modulo-6, terlihat pada Tabel 5.6.

Tabel 5.6: Nilai J dan K untuk pencacah tak sinkron modulo-6


QA QB QC JA KA JB KB JC KC
0 0 0 x x x x 1 x
0 0 1 0 x 1 x x 1
0 1 0 x x x x 1 x
0 1 1 1 x x 1 x 1
1 0 0 x x x x 1 x
1 0 1 x 1 0 x x 1
1 1 0 x x x x x x
1 1 1 x x x x x x

Dengan membuat peta K dari tabel kebenaran tersebut maka diperoleh


persamaan:
JA = QB KA = 1
JB = QA KB = 1 (5.1)
JC = 1 KC = 1
Buatlah rangkaian dari pencacah ini!
Perlu diketahui bahwa dengan cara ini pencacah tak sinkron modulo-k,
dengan k /= 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.


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 terse-
but.
(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 QAQBQCQD = 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 CLR CLR CLR
Q T Q T Q T Q T

A B C D
Q C Q C Q C Q C Pulsa Input
PR PR PR PR

Gambar 5.7: Rangkaian pencacah modulo-10 tak sinkron menggunakan flip-


flop T

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

2. menggunakan masukan clear

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

2N−1 < k < 2N

(b) hubungkan flip-flop sebagai ripple-counter


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 QAQBQC = 101, maka QA dan
QC dihubungkan ke masukan/clear setiap flip-flop. Lihat Gambar 5.8

1
CLR CLR CLR
Q T Q T Q T

A B C
Q C Q C Q C Pulsa Input
PR PR PR

Gambar 5.8: Rangkaian pencacah modulo-5 tak sinkron menggunakan flip-


flop T

Dengan cara ini setelah pulsa ke 5 masuk, mulau-mula QAQBQC = 101,


tetapi karena pada keadaan ini keluaran NAND menjadi 0, maka sesaat
kemudian keluarannya menjadi QAQBQC = 000.

5.3 Pencacah Naik/Turun (up/down


counter )
Sangat sulit membuat pencacah naik/turun tak sinkron, sehingga yang terse-
dia dalam bentuk IC selalu merupakan pencacah sinkron, dan pada umumnya
dibentuk dari flip-flop T atau flip-flop JK dengan J = K.
Ada 2 cara untuk membentuk pencacah naik/turun. Cara pertama, se-
lain saluran masukan ditambahkan saluran pengatur x (naik/turun) 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 keluaran-
nya sesuai dengan tabel pencaah naik atau turun. Sebagai contoh untuk pen-
cacah desimal naik/turun kalau mula-mula QDQCQBQA = 0000 (QA =LSB),
104 5. PENCACAH

untuk x = 0 (naik) karena setelah terjadi pulsa detak, keluaran berubah men-
jadi 0001, maka diatur TD = 0, TC = 0, TB = 0, TA = 1. Untuk x = 1 (turun)
setelah nilai 0000 adalah 1001 maka TD = 1, TC = 0, TB = 0, TA = 1. 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 = xQA QB QC + x(QAQD + QAQBQC)


TC = xQA QB(QC + QD) + xQAQB
TB = xQA(QB + QC + QD) + xQAQD
TA = 1

Pada cara kedua, masukan T atau J=K dari setiap flip-flop dihubungkan
ke nilai 1 (atau dibiarkan terbuka), sedang pengaturan keluarannya dilakukan
dengan cara meneruskan masukan pulsa ke masukan detak kalau ada peruba-
han dan tidak meneruskannya jika keluarannya tetap. Hal ini dibicarakan
pada bagian 5.1.2. Namun karena masukan pulsa ada 2 saluaran maka pen-
gaturnya (P) juga ada 2. Lihat Gambar 5.9.
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 = QA QB QC
PD naik = (QAQD + QAQBQC )
PC turun = QA QB (QC + QD)
PC naik = QAQB
PB turun = QA(QB + QC + QD )
PB naik = QAQD
PA turun = 1
PA naik = 1
106 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. Kumpu-
lan 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 dima-
sukkan/dikeluarkan secara bersamaan lewat n saluran.
Dengan demikian ada 4 macam register yaitu: serial in serial out (SISO),
serial in parallel out (SIPO), parallel in serial out (PISO), dan parallel in
parallel out (PIPO). Untuk memahami kerja setiap macam register tersebut
perhatikan Gambar 6.1.
A QA B QB C QC D QD E QE
Preset Enable
(PE)

PR PR PR PR PR
masukan S Q S Q S Q S Q S Q
serial
CK CK CK CK CK

R Q R Q R Q R Q R Q
CLR CLR CLR CLR 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 seben-
tar Clear ke 0 (dan kemudian dikembalikan lagi ke 1). Dengan demikian
pada saat Cr = 0 dan Pr = 1 maka Q = 0, dan setelah clear kembali ke 1
nilai Q tetap. Jika setelah di-reset kemudian nilai PE diubah sebentar ke 1
(dan kemudian dikembalikan lagi ke 0), maka QAQBQCQDQE = ABCDE.
Pada saat PE = 1, A = 1, maka Pr = 0, sehingga QA = 1. Pada saat PE =
1, A = 0, maka Pr = 1 sehingga QA = 0.
Dengan demikian untuk memasukkan data 5 bit secara paralel 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 se-
hingga QAQBQCQDQE = 00000. Kemudian sinkron dengan pulsa detak
pertama, kedua, ketiga, keempat, dan kelima, masukkan lewat masukan se-
rial berturut-turut nilai 1, 1, 0, 0, dan 1. Dengan demikian
setelah pulsa detak ke-satu , QAQBQCQDQE =10000
setelah pulsa detak ke-dua , QAQBQCQDQE =11000
setelah pulsa detak ke-tiga , QAQBQCQDQE =01100
setelah pulsa detak ke-empat, QAQBQCQDQE =00110
setelah pulsa detak ke-lima , QAQBQCQDQE =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 di-
hentikan setelah ke lima bit data masuk pada register. Oleh karena data
dimasukkan secara serial dan dapat dikeluarkan secara paralel, register ini
disebut register serial in parallel out atau disebut juga pengubah serial ke
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 Gam-
bar 6.1 dapat juga bekerja sebagai register serial in parallel out atau SISO.

6.3 Parallel In Serial Out- PISO


Telah dibicarakan sebelumnya bahwa data 5 bit dapat dimasukkan secara
bersama-sama lewat masukan A, B, C, D, dan E (E = LSB), yaitu dengan
cara melakukan reset terlebih dahulu regsiter dan kemudian mengubah PE
sebentar ke 1. Jadi kalau misalnya niai ABCDE = 10011, maka setelah diker-
jakan operasi seperti tersebut di atas maka nilai QAQBQCQDQE = 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 ma-
sukan yang lain dari setiap gerbang AND dihubungkan ke ”masukan baca”.
Dengan demikian untuk mengeluarkan/membaca data secara paralel ”ma-
sukan baca” diatur = 1.
110 6. REGISTER

6.5 Register Geser Kanan/Kiri (Right/Left


Shift Register )
Pada register yang telah dibicarakan, bit demi bit data akan bergeser ke
kanan kalau pada register dimasukkan pulsa detak. Register seperti ini dise-
but register geser kanan atau right shift register. Adakalanya diperlukan
suatu register yang dapat menggeser ke kanan atau ke kiri. Untuk register
seperti ini diperlukan suatu rangkaian pengatur yang dapat menghubungkan
masukan D suatu 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

Qki
CK Q

Gambar 6.2: Pengatur geser kanan atau kiri untuk register geser

Untuk register yang dapat diisi secara paralel melalui D juga, maka diper-
lukan suatu pengatur yang dapat menghubungkan D dengan Qka, atau de-
ngan Qki atau dengan masukan paralel. Pengatur ini terlihat pada Gambar
6.3.
S0

S1
QKa

Masukan D Q
Paralel

QKi CK Q

Gambar 6.3: Pengatur geser kanan atau kiri untuk register geser dengan
masukan paralel
6.6. Soal Latihan 111

Dari Gambar 6.3 didapat persamaan:

D = S0Qka + S0S1Pi + S1Qki


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

Untuk S0 = S1 = 0 oleh karena D = Qka + Qki (tidak dikehendaki), maka


lewat pengatur lain pulsa detak dibuat tidak dapat masuk register. Skema
lengkap register 5 bit terlihat pada Gambar 6.4.
c1

c0
Input
D3 D2 D1 D0 geser kanan
output geser kiri
Input geser kanan

Outp ut
D Q D Q D Q D Q geser kanan
c0
c1
CLK CK CK CK CK
EN

Q3 Q2 Q1 Q0
Kendali
Fungsi
c1 c0

0 0 Tetap Input geser kanan D3D2D1D0


0 1 Geser kiri Output geser kiri Output geser kanan
1 0 Geser kanan c0 Input geser kiri
1 1 Muat paralel c1
Q3Q2Q1Q0

Gambar 6.4: Register geser 5 bit lengkap

6.6 Soal Latihan


6.1 Suatu register 4 bit mempunyai masukan paralel D3D2D1D0 dan x
serta keluaran Q3Q2Q1Q0 dan y. Nilai y akan 1 apabila keluaran reg-
ister mempunyai cacah bit yang bernilai 1 ganjil, selain itu y bernilai
0. Operasi register ditentukan oleh nilai x dan y seperti tabel berikut:
112 6. REGISTER

x y operasi
0 0 tetap
0 1 parallel in
1 0 geser kanan
1 1 geser kiri
BAB 7

REDUKSI LOGIKA DIGITAL


SEKUENSIAL

7.1 Reduksi Keadaan

Dalam Bab 4 kita bahas metode perancangan FSM tanpa memperhatikan


bahwa ada kemungkinan terdapat mesin yang mempunyai fungsi sama de-
ngan jumlah keadaan yang lebih sedikit. Pada bagian ini kita pusatkan per-
hatian pada bagaimana mereduksi jumlah keadaan dalam rangkaian sekuen-
sial. Kita mulai dengan penjelasan mengenai FSM yaitu mesin dengan bebe-
rapa keadaan dan kemudian kita dapat berhipotesis bahwa ada mesin yang
mempunyai fungsi yang ekuivalen dengan hanya berkeadaan tunggal. Kita
terapkan semua kombinasi masukan untuk mengecek mesin tersebut dan
mengamati keluarannya. Jika mesin menghasilkan keluaran yang berbeda
untuk masukan sama pada waktu yang berbeda, maka paling tidak ada 2
keadaan yang berbeda yang tidak ekuivalen. Keadaan yang berbeda ditem-
patkan pada kelompok yang terpisah, dan proses dilanjutkan hingga tidak
ditemui lagi perbedaan. Jika ada kelompok yang mempunyai keadaan lebih
dari satu, maka keadaan-keadaan tersebut adalah ekuivalen dan mesin yang
lebih kecil dapat disusun dengan setiap kelompok menjadi satu keadaan.
Sebagai contoh, perhatikan mesin keadaan M0 yang ditunjukkan oleh
tabel keadaan seperti pada Gambar 7.1. Kita mulai proses reduksi dengan
berhipotesis bahwa kelima keadaan dapat direduksi menjadi keadaan tung-
gal, didapat partisi P0 untuk mesin baru M1:

P0 = (ABCDE)

113
114 7. REDUKSI LOGIKA DIGITAL SEKUENSIAL

Masukan X
Keadaan 0 1
A C/0 E/1
B D/0 E/1
C C/1 B/0
D C/1 A/0
E A/0 C/1
Gambar 7.1: Tabel keadaan mesin 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, kelu-
arannya 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 ma-
sukan 0 dan 1. Dengan demikian, kita tahu bahwa keadaaan A, B, dan E
dapat dibedakan dari keadaan C dan D, sehingga kita peroleh partisi baru
P 1:
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 dimu-
lai dengan mendaftar semua keadaan pada partisi yang sama. Untuk mesin
M0, partisi awal (ABCDE) dicantumkan sebagai puncak hirarki. Kemu-
dian 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).
7.1. Reduksi Keadaan 115

(ABCDE)
0 1

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

(CC)(C)(CC) (BA)(E)(BB) (AA)(C)(DC) (CC)(B)(EE)


(AB)(E)(CD)* (AB)(E)(CD) (AB)(E)(CD) (AB)(E)(CD)*
0 1 0 1

(DC)(A)(DD) (EE)(C)(EE)
(CC)(C)(CC) (EE)(B)(AB)
(AB)(E)(CD) (AB)(E)(CD)*
0 1

(AB)(E)(AA)
(CC)(C)(CC)
(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 ter-
pisah. 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 da-
116 7. REDUKSI LOGIKA DIGITAL SEKUENSIAL

pat dibedakan lagi seperti (CC)(C)(CC), maka pada titik ini kemudian di-
tandai dengan asterisk (*) dan pada titik ini proses dihentikan. Hirarki pada
Gambar 7.2 menunjukkan ilustrasi variasi yang dapat timbul saat melakukan
ekpansi.
Jika partisi yang dibuat sudah pernah ada di tempat lain dalam hirarki
maka partisi tersebut ditandai dengan coret dan ekpansi di titik itu dihen-
tikan.
Partisi level berikutnya adalah:

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 X
Keadaan 0 1
AB : A′ B′/0 C′/1
CD : B′ B′/1 A′/0
E : C′ A′/0 B′/1
Gambar 7.3: Tabel keadaan mesin M1 hasil direduksi

7.2 Masalah Penentuan Nilai Keadaan


Untuk mesin yang sama dapat ditentukan nilai keadaan yang berbeda se-
hingga implementasinyapun menjadi berbeda pula. Misalnya mesin M pada
mempunyai table keadaan yang tertera pada Gambar ??.a. Dari tabel terse-
but dapat ditentukan nilai keadaan yang berbeda. Sebagai contoh tabel pada
Gambar ??.b dan ??.c adalah 2 penetuan nilai keadaan yang berbeda tetapi
untuk mesin M yang sama.
Pada tabel PN 0 secara sederhana ditentukan nilai keadaan dengan nilai
urut. A → 00, B → 01, C → 10, dan D → 11. Pada tabel PN 1 nilai C dan
D ditukar.
7.2. Masalah Penentuan Nilai Keadaan 117

Masukan X Masukan X Masukan X


K.S. 0 1 K.S. 0 1 K.S. 0 1
A B/1 A/1 A : 00 01/1 00/1 A : 00 01/1 00/1
B C/0 D/1 B : 01 10/0 11/1 B : 01 11/0 10/1
C C/0 D/0 C : 10 10/0 11/0 C : 11 11/0 10/0
D B/1 A/0 D : 11 01/1 00/0 D : 10 01/1 00/0
a. Mesin M b. PN 0 c. PN 1

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


keadaannnya

Dengan menerapkan nilai keadaan PN 0 diperoleh persamaan keadaan dan


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

X 0 1 X 0 1 X 0 1
K0K1 K0K1 K0K1

00 00 1 00 1 1

01 1 1 01 1 01 1

10 10 1 10 1

11 1 1 11 1 11

K0 = K0K1 + K0K1 Z = K0 K1+K0X+K0K1X


K1 = K0 K1 X + K0 K1 X
+K0K1X + K0K1X

Gambar 7.5: Peta Karnaugh untuk M dengan nilai keadaan PN 0

Jika digunakan penetapan nilai PN 1 bentuk peta Karnaugh dan per-


samaan logikanya terlihat pada Gambar 7.6. Jumlah masukan gerbang untuk
persamaan-persamaan ini hanya 6. S0 dan S1 tidak dihitung dalam jumlah
ini karena keduanya tidak melewati satu gerbangpun hanya dihubungkan
langsung ke variabel.
118 7. REDUKSI LOGIKA DIGITAL SEKUENSIAL

X 0 1 X 0 1 X 0 1
K0K1 K0K1 K0K1

00 00 1 00 1 1

01 1 1 01 1 01 1

10 1 1 10 1 10

11 11 1 11 1

K 0 = K1 K1 = X Z = K1 X + K0X

Gambar 7.6: Peta Karnaugh untuk M dengan nilai keadaan PN 1

7.3 Contoh Reduksi: Detektor Urutan


0/0

0/0 D

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

A 1/1 0/0
0/0 F
1/1
1/0
C
0/1
1/0 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,
7.3. Contoh Reduksi: Detektor Urutan 119

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

Gambar 7.8: Tabel keadaan detektor urutan

Langkah berikutnya adalah menyusun tabel keadaan. Tabel ini terlihat


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

P0 = (ABCDEFG)
P1 = (ABCD)(EF )G)
P2 = (A)(BD)(C)(E)(F )G)

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

Masukan x
Keadaan
sekarang
0 1
A’ B’/0 C’/0
B’ B’/0 D’/0
C’ E’/0 F’/0
D’ E’/0 F’/1
E’ B’/0 D’/1
F’ E’/1 F’/0

Gambar 7.9: Tabel keadaan detektor urutan yang baru


120 7. REDUKSI LOGIKA DIGITAL SEKUENSIAL

Masukan x
Keadaan
sekarang 0 1
s2s1s0 s2s1s0z s2s1s0z
A’: 000 001/0 010/0
B’: 001 001/0 011/0
C’: 010 100/0 101/0
D’: 011 100/0 101/1
E’: 100 001/0 011/1
F’: 101 100/1 101/0

Gambar 7.10: Tabel penentuan nilai keadaan detektor urutan

K2K1 K2K1
K 0X K 0X
00 01 11 10 00 01 11 10

00 1 d 1 00 d

01 1 d 1 01 1 d 1

11 1 1 d 1 11 1 d

10 1 d 10 d

K0 = K2K1X + K0X K1 = K2K1X + K2K0X


K2K1 K2K1
K 0X K 0X
00 01 11 10 00 01 11 10

00 1 d 00 d

01 1 d 01 d 1

11 1 d 1 11 1 d

10 1 d 1 10 d 1

K2 = K1 + K2K0 Z = K2K0X + K1K0X + K2K0X

Gambar 7.11: Peta Karnaugh untuk detektor urutan


7.4. Tabel Eksitasi 121

D Q
CK CK
K0
CK Q

D Q
CK
K1
CK Q

D Q
CK
K2
CK Q

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 mempertim-
bangkan harga, unjuk kerja, ketersediaan, dan lain-lain. Saat pengemban-
gan rangkaian digital sudah menggunakan teknologi VLSI, orang cenderung
memilih D flip-flop. Namun demikian adakalanya aplikasi masih menun-
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 di-
isikan pada masukan flip-flop untuk mendapatkan keluaran yang diharapkan
pada t + 1 dari keadaan keluaran sebelumnya (t).
Qt Qt+1 S R Qt Qt+1 D
S−R 0 0 0 0 D 0 0 0
flip − flop 0 1 1 0 flip − flop 0 1 1
1 0 0 1 1 0 0
1 1 0 0 1 1 1

Qt Qt+1 J K Qt Qt+1 T
J −K 0 0 0 d T 0 0 0
flip − flop 0 1 1 d flip − flop 0 1 1
1 0 d 1 1 0 1
1 1 d 0 1 1 0

Gambar 7.13: Tabel eksitasi untuk flip-flop S-R, D, J-K, dan T

01/1 11/0 01/0

00/0 A B 10/0

10/1 00/1 11/1

Masukan XY
Keadaan
sekarang 00 01 10 11
A A/0 A/1 A/1 B/0
B A/1 B/0 B/0 B/1

Masukan XY
Keadaan
sekarang 00 01 10 11
A:0 0/0 0/1 0/1 1/0
B:1 0/1 1/0 1/0 1/1

Gambar 7.14: Diagram transisi keadaan, tabel keadaan, dan penentuan nilai
keadaan untuk penjumlah berseri

Sebagai contoh kasus digunakan penjumlah berseri. Gambar 7.14 meru-


pakan diagram keadaan, tabel keadaan, dan penentuan nilai keadaan untuk
7.4. Tabel Eksitasi 123

penjumlah berseri. Keadaan A adalah saat berada dalam keadaan tanpa


simpanan (carry) sedang keadaan B adalah keadaan dengan simpanan.

Keadaan
sekarang Set Reset
X Y Kt D S R T J K Z
0 0 0 0 0 0 0 0 d 0
0 0 1 0 0 1 1 d 1 1
0 1 0 0 0 0 0 0 d 1
0 1 1 1 0 0 0 d 0 0
1 0 0 0 0 0 0 0 d 1
1 0 1 1 0 0 0 d 0 0
1 1 0 1 1 0 1 1 d 0
1 1 1 1 0 0 0 d 0 1
Gambar 7.15: Tabel kebenaran perubahan keadaan pada 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 eksi-
tasinya. Misalnya, pada baris pertama dengan nilai X = Y = 0, dan keadaan
awal adalah 0, maka keadaan selanjutnya adalah 0 juga. Jadi keluaran dari
nilai 0 menjadi 0 lagi. Untuk 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 = XY
Z = X Y K + XY K + XY K + XY K

Jika menggunakan D, S-R, atau T persamaan Boolean yang digunakan


masing-masing adalah:

D = XY + XK + Y K
S = XY K
R = X YK
T = X Y K + XY K
124 7. REDUKSI LOGIKA DIGITAL SEKUENSIAL

7.5 Soal Latihan


7.1 Reduksilah tabel keadaan berikut:

Masukan X
K.S. 0 1
A D/0 G/1
B C/0 G/0
C A/0 D/1
D B/0 C/1
E A/1 E/0
F C/1 F/0
G E/1 G/1

7.2 Reduksilah tabel keadaan berikut:


Masukan XY
K.S. 00 01 10 11
A A/0 B/0 C/0 D/0
B A/0 B/1 D/0 D/1
C E/1 B/0 B/0 E/1
D A/0 D/1 D/0 B/1
E C/1 D/0 D/0 E/1
7.3 Berikut adalah tabel keadaan ternary. Tunjukkan proses dan hasil
akhir dari reduksi tabelnya!

Masukan x
K.S. 0 1 2
A B/0 E/2 G/1
B D/2 A/1 D/0
C D/2 G/1 B/0
D B/2 F/1 C/0
E A/0 E/2 C/1
F C/0 E/2 F/1
G D/0 E/2 A/1
7.4 Dalam tabel keadaan terreduksi berikut, nilai keadaan sudah diten-
tukan. Rancanglah mesinnya menggunakan 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.
7.5. Soal Latihan 125

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

Anda mungkin juga menyukai