(4TF1227) 2 SKS
Dosen Pengampu :
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
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
vii
DAFTAR GAMBAR ix
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.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:
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:
200= 0
0 × 101 = 0 × 1 = 0
0
2×× 10
10 ==20×× 100
10 == 2000
2
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)
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
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
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
[h!]
1578 = `0˛0¸1x `1˛0¸1x `1˛1¸1x= 11011112
1 5 7
Jawab:
Contoh 1.2
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
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
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.
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
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
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
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
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
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
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
A F = AC A F = AC
atau atau
C F =∅ C F =∅
(a) (b)
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
A F =A+B ≡ A
B B F =AB
A
A A+B ≡ A+B
B
B
AB = AB Teorema involusi
A F = AB ≡ A
B B F = AB
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
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.
A B C
F = A B C + A BC + ABC + AB C (2.3)
2.8. Bentuk Product-of-Sum 25
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:
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
A gerbang F
B AND A F = AB A
F = A+B
fisis B B
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
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
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
2.11.3 Demultiplekser
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
000
001
010
A
011
B M
100
C
101
110
111
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
A0
F0
A1
A2
F1
A3
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.
A B C
F0 F1
Gambar 2.32: PLA 3 masukan 2 keluaran
A B C
ABC
ABC
ABC
ABC
F0 F1
Gambar 2.33: Penyederhanaan PLA
A F0
B PLA F1
C
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
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
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.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:
A
B
C
F
A
C
D
B
Gambar 2.39:
Q
C
P
A
B
A
Gambar 2.40:
Gambar 2.41:
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.
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. 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.
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:
Persamaan 3.12 sekarang menjadi bentuk 2 level minimal, dan tidak dapat
direduksi lagi.
ABC
A B
AB C ABC
ABC
ABC
A BC
ABC
C
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
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
M = BC + AC + AB (3.14)
A B C
1 1 1
D
1 1 1
C
1
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
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.9: Peta Karnaugh yang sama dapat menghasilkan persamaan min-
imal berbeda
F = A B D + BD
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
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
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.
C 1 1
B
54 3. REDUKSI LOGIKA DIGITAL KOMBINASIONAL
D d E E
C 1 1
F = BC + A CD + BE + A B C E (3.16)
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
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:
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.
Kolom Penjumlahan
0001 (X + Y)
0011 (Y + Z)
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
F0(A, B, C) = m0 + m3 + m7
F1(A, B, C) = m1 + m3 + m4 + m6 + m7
F2(A, B, C) = m2 + m3 + m6 + m7
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
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 ×.
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
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
(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
(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)
Σ Σ
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!
A B F
0 0 D0
0 1 D1
1 0 D2
1 1 D3
3.9 Fungsi F (A, B, C) = Π(1, 5, 6, 7), cari rangkaian 2 level minimum de-
ngan NAND dan NOR.
(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.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
B
A
C F
C
Gambar 3.21:
3.20 Untuk rangkaian yang ditunjukkan pada Gambar 2.40, tulis P dan Q
sebagai fungsi yang minimum dari A, B, dan C.
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
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
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.
A ∆τ
B A+B
∆τ
Gambar 4.2: Gerbang NOR dengan rangkaian tunda
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) ∆τ
Jika diperhatikan lebih lanjut dari tabel kebenaran pada Gambar 4.3
dapat disimpulkan bahwa jika:
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
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
R
S
Q
CLK
CLK
Q
Q
R
Q
2∆τ
Diagram waktu
Gambar 4.8: Flip-flop S-R berdetak
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.
D D Q D Q
CLK CK Q CK Q
D Q
CK
CK Q
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
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.
J Q JQ
CLK
CCK
K
K Q
KQ
Simbol
Rangkaian
Gambar 4.16: Flip-flop J-K tuan-hamba dan simbolnya
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
1/00 A B
1/00
0/10
1/00
0/00, 1/00
C D
0/11
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
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
RESET
Gambar 4.21: Tabel kebenaran untuk keadaan berikutnya dan fungsi kelu-
aran pencacah modulo-4
Reset
D Q
CLK CK q1
CK Q
D Q q0
CK
CK Q
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
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
CLK
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)
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.
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
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
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
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
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
JA = Bx KA = Bx
JB = x KB = A⊕x
BAB 5
PENCACAH
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
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.
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 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
[h]
1
Q J Q J Q J
CK CK CK
Q K Q K Q K
Input
1
Q T
Pengatur P
Q C
Pulsa Masukan
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
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
ke masukan detak. Nilai PA, PB, dan PC, dari peta K Gambar 5.4 dapat
ditulis:
PA = QAQD + QBQCQD
PB = QCQD
PC = QAQD
Q T Q T Q T Q T
A B C D
Q C Q C Q C Q C
Pulsa Masukan
Q T Q T Q T
A B C
Q C Q C Q C Pulsa Input
A B C D
Q C Q C Q C Q C Pulsa Input
PR PR PR PR
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.
(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
1
CLR CLR CLR
Q T Q T Q T
A B C
Q C Q C Q C Pulsa Input
PR PR PR
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.
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
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
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).
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
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
x y operasi
0 0 tetap
0 1 parallel in
1 0 geser kanan
1 1 geser kiri
BAB 7
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
(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)
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)
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
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
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
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
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
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
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
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
D Q
CK CK
K0
CK Q
D Q
CK
K1
CK Q
D Q
CK
K2
CK Q
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.
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
00/0 A B 10/0
Masukan XY
Keadaan
sekarang 00 01 10 11
A A/0 A/1 A/1 B/0
B A/1 B/0 B/0 B/1
Masukan XY
Keadaan
sekarang 00 01 10 11
A:0 0/0 0/1 0/1 1/0
B:1 0/1 1/0 1/0 1/1
Gambar 7.14: Diagram transisi keadaan, tabel keadaan, dan penentuan nilai
keadaan untuk penjumlah berseri
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
D = XY + XK + Y K
S = XY K
R = X YK
T = X Y K + XY K
124 7. REDUKSI LOGIKA DIGITAL SEKUENSIAL
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
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