kata pengantar

advertisement
KATA PENGANTAR
Puji dan syukur dipanjatkan kepada Tuhan seru sekalian alam. Buku
Elektronika Digital (Konsep Dasar dan Aplikasi) ini dapat diselesaikan
meskipun masih sangat singkat apabila dihadapkan kepada persoalan
elektronika yang semakin berkembang.
Perkembangan teknologi dan industri elektronika seperti yang sekarang
terjadi menimbulkan kesulitan tersendiri untuk menulis satu buku ataupun
menyelenggarakan suatu kuliah/kursus yang dapat memuat semua informasi
tentang elektronika. Tetapi sehebat apapun perkembangan teknologi dan
industri elektronika tidak terlepas dari konsep-konsep dasar tentang elektronika
yang telah disemai oleh para pendahulu. Dalam upaya turut memahami, kalau
perlu menguasai, teknologi elektronika dengan lebih kokoh kiranya perlu
menguasai konsep-konsep dasarnya. Dalam rangka itulah, tidak berlebihan bila
buku Elektronika Digital (Konsep Dasar dan Aplikasi) ini disusun dengan
maksud turut berpartisipasi menyediakan sumber belajar yang memuat konsepkonsep dasar tentang elektronika digital. Kiranya buku ini dapat menjadi
pengantar untuk kajian lebih lanjut dan dapat memenuhi keperluan bagi yang
ingin mendapat pedoman secara mendasar. Dengan buku ini memungkinkan
untuk memahami, merancang, dan menyusun rangkaian digital.
Akhirnya, terima kasih yang setulus-tulusnya disampaikan kepada semua
pihak yang telah membantu penulisan buku ini. Bila dijumpai kesalahan
dimohon dengan sangat agar berkenan memberikan teguran. Komentar,
koreksi, kritik dan saran dari para pengguna dan pemerhati diterima dengan
penuh penghargaan dan selanjutnya akan sangat berguna bagi perbaikan buku
ini. Terima kasih.
Yogyakarta, 08 September 2005
Penulis,
( Sumarna ).
([email protected])
DAFTAR ISI
Halaman
HALAMAN JUDUL
i
KATA PENGANTAR
ii
DAFTAR ISI
iii
BAB I
PENDAHULUAN
1
1.
Pengantar
1
2.
Sistem Analog dan Digital
2
3.
Soal-soal
4
BAB II
BAB III
BAB IV
SISTEM BILANGAN
6
1.
Basis-10 (desimal)
7
2.
Basis-2 (biner)
7
3.
Basis-8 (oktal)
8
4.
Basis-16 (heksa-desimal)
8
5.
Konversi (Pengubahan) Bilangan
9
6.
Operasi Bilangan
16
7.
Soal-soal
25
SISTEM SANDI (KODE)
28
1.
Sandi BCD (biner Coded Decimal)
29
2.
Sandi Excess-3 (XS-3)
31
3.
Sandi Gray
31
4.
Sandi ASCII
34
5.
Bit Paritas
36
6.
Aplikasi Sistem Bilangan dan Sandi
38
7.
Soal-soal
39
GERBANG LOGIKA
41
BAB V
BAB VI
BAB VII
1.
Gerbang OR
42
2.
Gerbang AND
43
3.
Gerbang NOT (INVERTER)
45
4.
Gerbang NOR dan NAND
46
5.
Gerbang EX-OR dan EX-NOR
48
6.
Soal-soal
51
ALJABAR BOOLE
54
1.
Pengertian Aljabar Boole
54
2.
Teorema dalam Aljabar Boole
55
3.
Minimalisasi Rangkaian Logika Secara Analitis
57
4.
Soal-soal
60
PETA KARNAUGH
64
1.
Bentuk Standar Fungsi Boole
65
2.
Peta Karnaugh (Peta K)
71
3.
Minimalisasi Rangkaian Logika (Cara Grafis)
76
4.
Aplikasi Desain Rangkaian
81
5.
Soal-soal
84
RANGKAIAN PEMBANDING DAN PENJUMLAH
87
1.
Rangkaian Pembanding (Komparator)
87
2.
Rangkaian Penjumlah (Adder)
102
3.
Rangkaian Pengurang
114
4.
Soal-soal
118
BAB VIII FLIP-FLOP (BISTABIL)
121
1.
Flip-flop Set-Reset (FF-SR)
122
2.
Flip-flop J-K (FF-JK)
129
3.
Flip-flop J-K Master-Slave (FF-JKMS)
131
4.
Flip-flop D (FF-D) dan Flip-flop T (FF-T)
132
5.
Flip-flop yang Dilengkapi dengan Preset dan Clear
133
BAB IX
6.
Tabel Eksitasi
134
7.
Aplikasi Flip-flop
134
8.
Soal-soal
137
MULTIVIBRATOR
141
1.
Multivibrator Monostabil
142
2.
Multivibrator Astabil
146
3.
Picu Schmitt (Schmitt Trigger)
148
4.
Rangkaian Terpadu Monostabil, Astabil dan Picu
151
Schmitt
BAB X
BAB XI
BAB XII
5.
IC Pewaktu (Timer) 555
154
6.
Aplikasi
159
7.
Soal-soal
160
PENCACAH
162
1.
Pencacah Biner Tak Sinkron (Serial atau Riak)
164
2.
Pencacah Biner Sinkron (Paralel)
174
3.
Soal-soal
185
REGISTER
187
1.
Register
187
2.
Jenis Register
190
3.
Aplikasi
194
4.
Soal-soal
196
DEKODER (DEMULTIPLEKSER) DAN MULTIPLEKSER
199
1.
Sistem BCD (Biner Coded Decimal)
201
2.
Dekoder Biner Ke BCD
202
3.
Dekoder BCD Ke Desimal
206
4.
Dekoder BCD Ke Peraga 7 Segmen
208
5.
Demultiplekser
213
6.
Multiplekser
217
7.
Rangkaian Terpadu (IC) Dekoder/demultiplekser dan
223
multiplekser
8.
Soal-soal
DAFTAR PUSTAKA
227
229
BAB I
PENDAHULUAN
1.
Pengantar
Elektronika, khususnya elektronika digital, akan terus mengalami
perkembangan. Perkembangan apapun, meskipun menuju ke arah perbaikan,
selalu
disertai
kekurangan-kekurangan
maupun
hal-hal
yang
tidak
menyenangkan. Para insinyur yang telah berpengalaman sekalipun kadang
merasa tertekan untuk dapat mengikuti kepesatan perkembangan elektronika.
Lebih-lebih bagi para pemula tentu saja menghadapi masalah yang jauh lebih
berat.
Teknologi mutakhir yang paling mengagumkan dan yang memiliki
fleksibilitas tinggi
adalah komputer dan mikroprosesor.
Komputer dan
mikroprosesor dibangun dari rangkaian digital. Rangkaian digital terdiri dari
sekelompok gerbang logika (logic gate) yang dapat menampilkan tugas-tugas
yang sangat berguna. Rangkaian digital menjadi otak dunia teknologi.
Rangkaian digital banyak digunakan untuk pengendalian proses (otomatisasi),
mulai dari proses industri dengan tingkat kompleksitas yang tinggi, robot,
peralatan laboratorium, alat rumah tangga, hiburan, hingga permainan anak.
Elektronika sering tampak seperti hutan belantara yang membingungkan
oleh karena seakan-akan berisi hal-hal yang tidak jelas kaitannya. Di dalam
suatu rangkaian terdiri dari komponen-komponen dengan nama-nama aneh,
parameter-parameter yang tidak sederhana, dan teori yang rumit. Pernyataan ini
tidak bertujuan untuk membuat kita menjadi pesimis, tetapi sebaliknya agar
bersiap-siap untuk bekerja keras jika ingin berkecimpung dalam bidang
elektronika. Thomas A. Edison pernah berpesan bahwa : “Ada cara untuk
menyempurnakan. Singkaplah !”.
Penelitian yang tidak kenal lelah meneruskan berbagai penemuan untuk
menyempurnakan yang sudah ada dan untuk mendapatkan hal-hal yang baru.
Melalui evaluasi gagasan, penelitian, kreativitas, inspirasi dan kerja keras telah
ditemukan hal-hal baru yang lebih inovatif dan semakin sempurna. Kita dapat
mempelajari elektronika sampai sejauh yang kita perlukan. Oleh karenanya kita
tidak perlu pesimis asal siap bekerja keras sampai dengan taraf tertentu kita
dapat menguasainya.
2.
Sistem Analog dan Digital
Dalam sain, teknologi, dan berbagai bidang kehidupan yang lain selalu
berhadapan dengan besaran. Besaran tersebut diukur, dimonitor, dicatat,
dimanipulasi secara matematis, dan lain-lain. Untuk dapat melakukan pekerjaan
tersebut selalu digunakan peralatan. Hal yang sangat penting berkaitan dengan
perubahan besaran tersebut adalah dapat menyajikan nilainya dengan tepat
dan efisien. Secara mendasar ada dua cara penyajian nilai numerik suatu
besaran, yakni secara analog atau digital. Dengan demikian istilah analog dan
digital terkait dengan cara besaran tersebut ditampilkan. Satu contoh
penampilan besaran analog adalah pada speedometer kendaraan, tampak
bahwa simpangan jarum speedometer sebanding dengan laju kendaraan
tersebut. Posisi sudut jarum menunjukkan besarnya laju kendaraan dan posisi
jarum mengikuti perubahan yang terjadi pada laju kendaraan. Contoh lain
adalah pada termometer air raksa, posisi permukaan air raksa di dalam tabung
berubah sebanding dengan perubahan suhu. Masih contoh besaran analog
dapat dijumpai pada sistem audio. Tegangan keluaran yang dihasilkan pada alat
tersebut sebanding dengan sinpangan gelombang suara yang mengenai
mikropon. Perubahan tegangan keluaran mengikuti perubahan suara pada
masukan. Jika diperhatikan dengan seksama, ciri khas dari tampilan analog
adalah dapat berada pada sembarang nilai (berapapun) dalam batas-batas
(jangkauan) tertentu, tidak ada nilai terlarang, kecuali di luar batas-batas
tersebut (yang diijinkan).
Satu contoh besaran yang ditampilkan secara digital dapat kita jumpai
pada jam digital yang hanya menyediakan penunjukan jam dan menit (kadangkadang juga detik). Sebagaimana diketahui bahwa waktu berubah secara
kontinyu tetapi jam tersebut tidak dapat menampilkan waktunya secara
kontinyu. Tampilan jam itu hanya dapat berubah pada tingkat paling kecil dalam
menit (kadang-kadang dalam detik). Dengan kata lain, penyajian waktu tersebut
berubah secara diskrit. Contoh lain tampilan digital adalah pada pencacahan
partikel yang dipancarkan oleh suatu sumber radioaktif. Jelas bahwa cacah
patikel hanya dapat berada pada bilangan bulat seperti tidak ada, satu, dua,
tiga, …, seribu satu, dan seterusnya. Tidak pernah terjadi cacah partikel pada
bilangan yang tidak bulat seperti setengah, seribu seperempat, dan sebagainya.
Ciri khas dari besaran maupun tampilan digital adalah hanya dapat berada pada
nilai-nilai tertentu yang diskrit.
Jika
elektronika
diperhatikan
sekarang
dengan
ini
seksama,
menuju
pada
kecenderungan
otomatisasi
piranti-piranti
(komputerisasi),
minimalisasi (kecil, kompak), dan digitalisasi. Dengan otomatisasi segala
pekerjaan dapat diselesaikan dengan mudah, dan akurat, seolah-olah pekerjaan
dapat selesai dengan sendirinya. Dengan minimalisasi, bentuk fisik berbagai
piranti elektronik menjadi semakin kecil dan kompak, tidak banyak menempati
ruang tetapi kinerjanya sangat handal. Sedangkan dengan digitalisasi
memungkinkan
pengolahan
data
(sinyal,
informasi)
menjadi
semakin
menguntungkan. Kecenderungan pengolahan data dalam bentuk digital
(digitalisasi) memiliki beberapa kelebihan, di antaranya adalah :
1. Lebih tegas (tidak mendua), karena sinyal hanya ditampilkan dalam salah
satu bentuk di antara YA atau TIDAK, HIDUP atau MATI, TINGGI atau
RENDAH, 1 atau 0, 0 VOLT atau 5 VOLT dan sebagainya.
2. Informasi digital lebih mudah dikelola (mudah disimpan dalam memori,
mudah ditransmisikan, mudah dimunculkan kembali, dan mudah diolah
tanpa penurunan kualitas).
3. Lebih tahan terhadap gangguan (noise) dalam arti lebih sedikit kena
gangguan. Jika kena gangguan lebih mudah dikembalikan ke bentuk digitnya
(dengan rangkaian Schmitt Trigger misalnya).
4. Konsumsi daya relatif rendah.
Tetapi karena sifatnya yang diskrit, data (sinyal, informasi) digital tidak dapat
berada pada nilai sembarang (kontinyu). Ada sinyal-sinyal yang secara alamiah
berbetuk diskrit, seperti pulsa-pulsa dari detektor partikel, bit-bit data dari saklar,
keyboard, komputer, dan lain-lain akan lebih tepat jika digunakan elektronika
digital. Dengan kenyataan seperti tersebut, antara elektronika analog (kontinyu)
dan elektronika digital (diskrit) saling melengkapi karena masing-masing
memiliki keunggulan dan sekaligus kelemahan tergantung dari lingkup kerjanya.
Untuk keperluan sensor, elektronika analog lebih baik karena dalam batas-batas
tertentu dapat memberikan nilai sembarang. Selain itu, elektronika analog juga
sesuai untuk sinyal-sinyal kontinyu seperti pada sistem audio. Meskipun
demikian tidak berarti antara elektronika analog dan digital tidak bisa dipadukan.
Tidak jarang dikehendaki pengubahan data analog menjadi bentuk digital
(dengan ADC : Analog to Digital Converter) atau sebaliknya (dengan DAC :
Digital to Analog Converter) agar pengolahan data dapat dilakukan dengan
sebaik-baiknya. Kenyataan ini menunjukkan bahwa piranti dengan sistem digital
telah demikian canggihnya sehingga pekerjaan yang seharusnya diselesaikan
dengan elektronika analog dapat dikerjakan dengan elektronika digital dengan
hasil yang lebih menakjubkan.
3. Soal-soal
1. Apakah perbedaan antara sistem analog dan sistem digital ?
2. Apakah cara penyajian besaran-besaran berikut termasuk dalam kategori
analog atau digital ? Jelaskan !
a. Tekanan udara di dalam ban kendaraan.
b. Ketinggian layang-layang dari permukaan tanah.
c. Kuat arus listrik yang mengalir dalam resistor.
d. Jumlah tablet yang dimasukkan ke dalam suatu wadah.
e. Muatan listrik yang dimiliki oleh suatu benda.
3. Selain yang telah disebutkan pada soal nomor 1 di atas, sebutkan
masing-masing 5 (lima) contoh besaran yang bersifat :
a. Analog.
b. Digital.
4. Sebutkan masing-masing mengenai kelebihan dan keterbatasn rangkaian
digital jika dibandingkan dengan rangkaian analog ?
5. Mengapa komputer lebih cocok menggunakan sistem digital dari pada
menggunakan sistem analog ? Jelaskan !
6. Jelaskan, bagaimana keluaran dari suatu rangkaian dapat ditetapkan
sebagai keluaran digital ?
BAB II
SISTEM BILANGAN
Banyak sistem bilangan yang digunakan pada piranti digital, dan yang
biasa digunakan adalah sistem-sistem bilangan biner, oktal, desimal, dan
heksa-desimal. Sedangkan, dalam kehidupan sehari-hari kita sangat akrap
dengan sistem bilangan desimal, (dasaan, basis-10, atau radiks-10). Meskipun
sistem desimal sangat akrab dengan kita, tetapi sistem tersebut tidak mudah
diterapkan dalam mesin digital. Sistem bilangan yang paling mudah diterapkan
di dalam mesin digital adalah sistem bilangan biner (basis-2) karena sistem
tersebut hanya mengenal 2 keadaan dan kemudian disimbolkan dengan 2
angka yakni 0 dan 1. Hal ini sesuai dengan 2 keadaan sistem pensaklaran di
dalam mesin.
Untuk memudahkan pembahasan, kita membagi sitem bilangan menjadi
basis-10 dan basis-n, di mana n  2 dan n  10. Sehingga dikenal banyak
sistem bilangan seperti basis-2, basis-3, …, basis-8, …, basis-10, …, basis-16,
dan seterusnya. Semua sistem bilangan tersebut temasuk ke dalam sistem
bilangan berbobot, artinya nilai suatu angka tergantung dari posisi relatifnya
terhadap koma atau angka satuan. Misalnya bilangan 5725,5 dalam desimal.
Ketiga angka 5 memiliki nilai yang berbeda, angka 5 paling kanan bernilai lima
persepuluhan, angka 5 yang tengah bernilai lima satuan sedangkan angka 5
yang lainnya bernailai lima ribuan.
Untuk membedakan suatu bilangan dalam sistem bilangan tertentu
digunakan konvensi notasi. Untuk basis-n kita menggunakan indeks n atau
tanda lain yang disepakati. Sebagai contoh bilangan „11‟ basis-2 akan ditulis
dalam bentuk „112‟ untuk mencegah terjadinya salah pengertian dengan
bilangan „118‟, „1110, atau „1116‟ dan seterusnya. Kadang-kadang indeks tersebut
tidak dicantumkan jika basis bilangan tersebut sudah jelas. Misalkan secara
khusus sedang membahas bilangan basis-8, maka bilanga-bilangan dalam
pembahasan tersebut tidak disertai indeks. Sering pula dalam konvensi tersebut
dijumpai bahwa suatu bilangan yang tidak disertai indeks berarti bilangan
tersebut dinyatakan dalam desimal atau basis-10. Selanjutnya dikenal beberapa
cara menyatakan suatu bilangan dalam basis-16 atau heksa-desimal. Cara
menyatakan basisnya adalah dengan menyertakan indeks 16, atau di belakang
bilangan diikuti dengan huruf „h‟, atau sebelum atau sesudah bilangan itu
dicantumkan huruf „H‟ atau tanda „#‟ atau tanda „$‟. Contoh 96 16 = 96h = H96 =
#96 = $96 = 96H.
1. Basis-10 (desinal)
Dalam sistem desimal (basis-10) memupnyai simbol angka (numerik)
sebanyak 10 buah simbol, yaitu 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9. Nilai suatu
bilangan dalam basis-10 dapat dinyatakan sebagai (N x 10a) dengan N = 0, 1,
2, 3, 4, 5, 6, 7, 8, 9 dan a = …, -3, -2, -1, 0, 1, 2, 3, …(bilangan bulat yang
menyatakan posisi relatif N terhadap koma atau satuan).
Contoh :
32510
= 3 x 102 + 2 x 101 + 5 x 100
0,6110
= 0 x 100 + 6 x 10-1 + 1 x 10-2 = 6 x 10-1 + 1 x 10-2
9407,10810
= 9 x 103 + 4 x 102 + 7 x 100 + 1 x 10-1 + 8 x 10-3.
2. Basis-2 (biner)
Dalam sistem biner (basis-2) memupnyai simbol angka (numerik)
sebanyak 2 buah simbol, yaitu 0, dan 1. Nilai suatu bilangan basis-2 dalam
basis-10 dapat dinyatakan sebagai (N x 2a) dengan N = 0 atau 1; dan a = …,
-3, -2, -1, 0, 1, 2, 3, …(bilangan bulat dalam desimal yang menyatakan posisi
relatif N terhadap koma atau satuan).
Contoh :
11012 = 1 x 23 + 1 x 22 + 1 x 20
= 8
+
4
+
1
= 1310.
0,101 = 0 x 20 + 1 x 2-1 + 0 x 2-2 + 1 x 2-3
=
0
+ 0,5 +
= 0,62510
0
+ 0,125
11,01 = 1 x 21 + 1 x 20 + 1 x 2-2
=
2
+
1
+ 0,25
= 3,2510.
3. Basis-8 (oktal)
Dalam sistem oktal (basis-8) memupnyai simbol angka (numerik)
sebanyak 8 buah simbol, yaitu 0, 1, 2, 3, 4, 5, 6, dan 7. Nilai suatu bilangan
basis-8 dalam basis-10 dapat dinyatakan sebagai (N x 8a) dengan N = 0, 1, 2,
3, 4, 5, 6, atau 7;
dan a = …, -3, -2, -1, 0, 1, 2, 3, …(bilangan bulat dalam
desimal yang menyatakan posisi relatif N terhadap koma atau satuan).
Contoh :
647,358
= 6 x 82 + 4 x 81 + 7 x 80 + 3 x 8-1 + 5 x 8-2
= 384 +
32 +
7
+ 0,375 + 0,078125
= 423,45312510.
4. Basis-16 (heksa-desimal)
Dalam sistem heksa-desimal (basis-16) memupnyai simbol angka
(numerik) sebanyak 16 buah simbol. Karena angka yang telah dikenal ada 10
maka perlu diciptakan 6 simbol angka lagi yaitu A, B, C, D, E, dan F dengan
nilai A16 = 1010; B16 = 1110, C16 = 1210, D16 = 1310, E16 = 1410, dan F16 = 1510.
Dengan demikian simbol angka-angka untuk sistem heksa-desimal adalah 0, 1,
2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, dan F. Nilai suatu bilangan basis-16 dalam
basis-10 dapat dinyatakan sebagai (N x 16a) dengan N = 0, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, atau 15;
bulat
dan a = …, -3, -2, -1, 0, 1, 2, 3, …(bilangan
dalam desimal yang menyatakan posisi relatif N terhadap koma atau
satuan).
Contoh : 584AED16 = 5 x 165 + 8 x 164 + 4 163 + 10 x 162 + 14 x 161 + 13 x 160
= 5242880 + 524288 + 16384 + 2560 + 224 + 13
= 578634910.
E,1A16
= 14 x 160 + 1 x 16-1 + 10 x 16-2
=
14
+ 0,0625 + 0,0390625
= 14,0664062510.
5. Konversi (Pengubahan) Bilangan
Ada kalanya kita perlu menyatakan suatu bilangan dalam basis yang
berbeda atau mengubah (mengkonversi) suatu bilangan dari satu basis ke basis
yang lain. Misalkan, konversi bilangan dari basis-n ke basis-10, konversi
bilangan dari basis-10 ke basis-n, atau konversi bilangan dari basis-n ke basism. Untuk konversi bilangan dari basis-n ke basis-10 telah dikemukakan ketika
menyatakan nilai suatu bilangan dari basis-n ke dalam basis-10.
Konversi bilangan dari basis-10 ke basis-n
Setidaknya ada dua cara untuk mengubah bilangan desimal menjadi
bilangan dalam basis selain 10. Cara pertama, biasanya untuk bilangan yang
kecil, adalah kebalikan dari proses konversi bilangan dari basis-n (selain 10) ke
basis-10 (desimal). Bilangan desimal itu dinyatakan sebagai jumlah dari sukusuku yang setiap suku merupakan hasil kali suatu angka (N) dan bilangan n
pangkat bulat, kemudian angka-angka tersebut dituliskan dalam posisi yang
sesuai. Secara umum dapat dituliskan sebagai
(Bilangan)10 =  (N x na).
dengan
N
menyatakan simbol angka yang diijinkan dalam basis-n,
menyatakan basis bilangan yang dituju, a merupakan bilangan bulat
n
dalam
basis-10 yang menyatakan posisi relatif N terhadap koma atau satuan, dan
semua posisi yang tercakup harus diperhitungkan. Untuk lebih jelasnya
perhatikan beberapa ilustrasi berikut :
(1).
Ubahlah bilangan 9810 ke dalam basis-2 yang setara !
9810
=  (N x na)
=  (N x 2a)
= N x 64 + N x 32 + N x 21
= 1 x 26 + 1 x 25 + 1 x 21 (semua posisi belum diperhitungkan)
= 1 x 2 6 + 1 x 25 + 0 x 24 + 0 x 2 3 + 0 x 22 + 1 x 21 + 0 x 2 0
= 1
1
0
0
0
1
0
= 11000102.
Perhatikan bahwa 0 ditempatkan dalam posisi 2 4, 23, 22, dan 20 karena
semua posisi harus diperhitungkan.
(2).
Ubahlah bilangan 136810 ke dalam basis-8 yang setara !
136810=  (N x na)
=  (N x 8a)
= N x 512 + N x 64 + N x 8
= 2 x 83 + 5 x 82 + 3 x 81 (semua posisi belum diperhitungkan)
= 2 x 8 3 + 5 x 82 + 3 x 81 + 0 x 80
= 2
5
3
0
= 25308.
Perhatikan bahwa 0 ditempatkan pada posisi 8 0 karena semua posisi
harus diperhitungkan.
(3).
Ubahlah bilangan 1900610 ke dalam heksa-desimal yang setara !
1900610 =  (N x na)
=  (N x 16a)
= N x 4096 + N x 256 + N x 16 + N x 160
= 4 x 163 + A x 162 + 3 x 161 + 14 x 160
(semua posisi telah diperhitungkan)
= 4
= 4A3E16.
A
3
E
Cara ke dua dikenal sebagai pembagian berulang. Cara ini sangat baik
untuk bilangan desimal yang kecil maupun yang besar. Cara konversinya
adalah membagi bilangan desimal dan hasil baginya secara berulang dengan
basis tujuan kemudian menuliskan sisanya hingga diperoleh hasil bagi 0. Hasil
konversinya adalah menuliskan sisa pertama pada posisi yang paling kecil dan
sisa terakhir pada posisi yang paling besar. Untuk lebih jelasnya berhatikan
beberapa ilustrasi berikut :
(1).
Ubahlah bilangan 9810 ke dalam basis-2 yang setara !
98
= 49, sisa 0
2
49
= 24, sisa 1
2
24
= 12, sisa 0
2
12
= 6, sisa 0
2
6
2
= 3, sisa 0
3
2
= 1, sisa 1
1
2
= 0, sisa 1
Sisa dituliskan dari bawah : 1 1 0 0 0 1 0
Jadi 9810 = 11000102.
(2).
Ubahlah bilangan 136810 ke dalam basis-8 yang setara !
1368
= 171, sisa 0
8
171
= 21, sisa 3
8
21
= 2, sisa 5
8
2
8
= 0, sisa 2
Sisa dituliskan dari bawah : 2 5 3 0
Jadi 136810 = 25308.
(3).
Ubahlah bilangan 1900610 ke dalam heksa-desimal yang setara !
19006
= 1187, sisa 14 (= E)
16
1187
= 74, sisa 3
16
74
16
= 4, sisa 10 (= A)
4
16
= 0, sisa 4
Sisa dituliskan dari bawah : 4 A 3 E
Jadi 1900610 = 4A3E16.
Untuk mengubah bilangan desimal tidak bulat (pecahan) dilakukan dengan
dua tahap. Tahap pertama mengubah bagian bulat (di sebelah kiri tanda koma)
dengan cara seperti yang telah dijelaskan di atas. Tahap ke dua mengubah
bagian pecahannya (di sebelah kanan tanda koma) dengan cara bahwa
bilangan pecahan dikalikan berulang-ulang dengan basis tujuan sampai hasil
perkalian terakhir sama dengan 0 setelah angka di sebelah kiri tanda koma dari
hasil kali setiap perkalian diambil. Selanjutnya angka-angka di sebelah kiri koma
yang diambil tadi dituliskan secara berderet dari kiri ke kanan. Untuk lebih
jelasnya perhatikan ilustrasi pada konversi bilangan 98,375 10 menjadi basis-2
yang setara ! Tahap pertama mengubah bilangan bulat 98 10 ke dalam basis-2
yang hasilnya adalah 11000102. Tahap ke dua mengubah bilangan pecahan
0,37510 ke dalam basis-2 sebagai berikut :
0,375 x 2 = 0,75 dan angka di sebelah kiri koma adalah 0
0,75 x 2 = 1,5 dan angka di sebelah kiri koma adalah 1
0,5 x 2 = 1,0 dan angka di sebelah kiri koma adalah 1.
Hasil pengambilan angka di sebelah kiri koma adalah : 0,011. Selanjutnya hasil
konversi kedua tahap tersebut digabungan sesuai dengan posisinya. Hasil
gabungannya
adalah
1100010,011.
Dengan
demikian
98,375 10
=
1100010,0112.
Contoh berikutnya adalah mengubah bilangan 1368,25 10
ke dalam basis-8
yang setara. Tahap pertama adalah mengubah bagian bulatnya (di sebelah kiri
koma) yaitu 136810 ke dalam basis-8 yang hasilnya telah diperoleh sebesar
25308. Tahap ke dua adalah mengubah bagian pecahannya (di sebelah kanan
koma) yaitu 0,2510 ke dalam basis-8 dengan cara sebagai berikut :
0,25 x 8 = 2,0 dan bilangan di sebelah kiri koma adalah 2. Setelah 2
diambil maka sisanya adalah 0 dan proses perkalian berakhir.
Hasil pengambilan angka di sebelah kiri koma adalah : 0,2. Selanjutnya hasil
konversi kedua tahap tersebut digabungan sesuai dengan posisinya. Hasil
gabungannya adalah 2530,2. Dengan demikian 1368,25 10 = 2530,28. Perlu
dicatat bahwa tidak semua pecahan mudah dikonversi. Ada kalanya hasil
konversi bilangan pecahan tersebut sangat panjang atau bahkan tidak pernah
dihasilkan bilangan yang tepat. Sebagaimana pecahan 2/3 yang dikonversikan
ke dalam bentuk desimal menghasilkan 0,666666…. di mana angka 6 tidak
akan pernah berakhir. Misalnya bilangan 34,275 10 diubah ke dalam bilangan
basis-8 yang setara. Bagian bulatnya menghasilkan 4 x 81 + 2 x 80 atau 428.
Sedangkan bagian pecahannya dikonversi dengan cara berikut :
0,275 x 8 = 2,2 dan angka di sebelah kiri koma adalah 2
0,2 x 8 = 1,6 dan angka di sebelah kiri koma adalah 1
0,6 x 8 = 4,8 dan angka di sebelah kiri koma adalah 4
0,8 x 8 = 6,4 dan angka di sebelah kiri koma adalah 6
0,4 x 8 = 3,2 dan angka di sebelah kiri koma adalah 3
0,2 x 8 = 1,6 dan angka di sebelah kiri koma adalah 1 dan seterusnya.
Jadi 34,27510 = 42,214631463.…. di mana angka 1463 tidak akan pernah
berakhir.
Konversi bilangan dari basis-n ke basis-m (keduanya bukan basis-10)
Untuk mengkonversi suatu bilangan basis-n (bukan basis-10) menjadi
bilangan basis-m (bukan basis-10) dengan n  m diperlukan konversi ke basis10 sebagai perantara. Karena kita telah akrap dengan bilangan basis-10.
Dengan demikian perlu dua tahap konversi. Tahap pertama mengkonversi
bilangan dari basis-n ke basis-10, dan tahap ke dua mengkonversi bilangan
hasil tahap pertama (dalam basis-10) menjadi basis-m. Sebagai contoh ubahlah
bilangan 2378 menjadi bilangan yang setara dalam basis-5 !
Tahap 1 :
2378 = 2 x 82 + 3 x 81 + 7 x 80
= 128 + 24 + 7
= 15910.
Tahap 2 :
15910 = 1 x 53 + 1 x 52 + 1 x 51 + 4 x 50
= 11145.
Jadi
2378
= 11145.
Contoh lain adalah mengubah bilangan 52DA16 ke dalam basis-12 yang setara.
Tahap 1 :
52DA16 = 5 x 163 + 2 x 162 + 13 x 161 + 10 x 160
= 2121010.
Tahap 2 :
2121010 = 1 x 124 + 0 x 123 + 4 x 122 + 3 x 121 + 6 x 120
= 1043612.
Jadi 52DA16 = 1043612.
Ada kalanya pengubahan suatu bilangan dari basis-n ke basis-m tidak
perlu melalui kedua tahap sebagaimana telah dijelaskan di atas. Jika ingin
mengubah suatu bilangan dalam basis-2 (biner) menjadi bilangan setara dalam
basis-8 (oktal) atau basis-16 (heksadesimal) dan sebaliknya, maka digunakan
metode pengelompokan bit. Setiap digit bilangan oktal terdiri dari 3 bit biner, dan
setiap digit bilangan heksadesimal terdiri dari 4 bit biner. Pengelompokan
dimulai dari bagian LSB (Least Significant Bit) menjadi kelompok-kelompok digit
bilangan oktal (3 bit) atau heksadesimal (4 bit), kemudian setiap kelompok
dikonversi menjadi digit bilangan yang bersangkutan. Jika sisa bit hasil
pengelompokan pada MSB (Most Significant Bit) tidak terdiri dari 3 bit atau 4 bit,
maka dapat ditambahkan angka 0 (nol) secukupnya.
Contoh :
Ubahlah bilangan biner 11100101100001001 menjadi heksadesimal !
Karena basis tujuannya adalah heksadesimal, maka pengelompokannya
dalam 4 bit seperti berikut :
(tambah 0 pada MSB)
(digit heksadesimal)
Jadi :
1
1100
1011
0000
1001
0001
1100
1011
0000
1001
1
C
B
0
9
111001011000010012 = 1CB0916
6. Operasi Bilangan
Dalam sistem desimal telah dikenal dengan baik mengenai operasi-dasar
bilangan, yakni penjumlahan, pengurangan, perkalian dan pembagian. Operasioperasi bilangan tersebut juga dapat dikenakan pada sistem bilangan yang lain
seperti dalam sistem-sistem bilangan biner, basis-5, oktal, heksa-desimal, dan
seterusnya. Tetapi pembahasan operasi bilangan kali ini lebih banyak pada
sistem biner, sedangkan untuk sistem bilangan yang lain akan dikemukakan
contoh hanya apabila dipandang perlu.
Prinsip-prinsip penggunaan operasi
bilangan itu sama dengan yang diterapkan pada sistem desimal. Oleh karena
belum akrab dengan sistem bilangan selain desimal, maka untuk memudahkan
pelaksanaan operasi hitung perlu pertolongan tabel operasi. Untuk sistem biner
perhatikan tabel operasi berikut
Tabel : Penjumlah
Biner
Tabel : Perkalian
Biner
+
0
1
x
0
1
0
0
1
0
0
0
1
1
10
1
0
1
Sebagaimana pada sistem desimal, bilangan biner dapat dijumlahkan,
dikurangkan, dikalikan dan dibagi. Dimulai dari operasi penjumlahan pada
bilangan biner. Penjumlahan antara dua bilangan biner dikerjakan dengan cara
yang sama seperti pada penjumlahan bilangan desimal, bahkan penjumlahan
pada bilangan biner lebih sederhana, persoalannya adalah orang tidak terbiasa
dengan sistem biner. Berdasarkan pada tabel penjumlahan untuk bilangan biner
hanya ada 4 (empat) hal yang dapat terjadi, yakni :
1)
0+0 =0
2)
0+1 =1+0 =1
3)
1 + 1 = 10 = 0 + simpanan (carry) 1 untuk posisi berikutnya, dan
4)
1 + 1 + 1 = 11 = 1 + simpanan (carry) 1 untuk posisi berikutnya.
Hal yang ke empat terjadi dua bit pada posisi tertentu adalah 1 dan ada
simpanan dari posisi sebelumnya. Berikut beberapa contoh penjumlahan dua
bilangan biner :
1 1 0 1 1
1 0 0 1
1 1,0 1 1
1 1 0 1 1
1 1 1 1
1 0,1 1 0
___________ +
_________ +
___________ +
1 1 0 1 1 0
1 1 0 0 0
1 1 0,0 0 1
Di dalam mesin digital penjumlahan antara lebih dari dua bilangan biner pada
saat yang sama tidak terjadi, karena rangkaian digital yang melaksanakan
penjumlahan hanya dapat menangani dua bilangan pada saat yang bersamaan.
Jika lebih dari dua bilangan yang ditambahkan, maka bilangan pertama dan ke
dua dijumlahkan lebih dahulu dan hasil penjumlahan itu baru ditambahkan pada
bilangan ke tiga, dan seterusnya. Penjumlahan biner merupakan operasi
aritmatik yang paling penting di dalam sistem digital, karena operasi-operasi
pengurangan, perkalian, dan pembagian
dapat dikerjakan hanya dengan
prinsip penjumlahan. Misalnya pengurangan dapat dibentuk dari penjumlahan
dengan bilangan negatif. Perkalian tidak lain merupakan penjumlahan yang
berulang.
Sedangkan
pembagian
adalah
pengurangan
yang
berulang.
Selanjutnya dikemukakan dahulu contoh operasi lain bilangan biner dengan
cara aljabar biasa.
Pengurangan :
10
pinjaman (borrow)
1 1 0 1 1
bilangan yang dikurangi
1 0 1 1 0
bilangan pengurang
_____________ 0 0 1 0
1
hasil operasi pengurangan.
Perkalian :
1 1 0 1
1 1 0
bilangan yang dikalikan
bilangan pengali
_________ x
0 0 0 0
1 1 0 1
1 1 0 1
________________ +
1 0 0 1 1 1 0
hasil operasi perkalian.
Pembagian :
1 0 1 1
(pembagi) 1 0 1
(hasil bagi)
1 1 0 1 1 1
1 0 1
(bilangan yang dibagi)
_
1 1 1
1 0 1
_
1 0 1
1 0 1
_
0
Untuk pembanding, berikutnya dikemukakan operasi bilangan basis-5 dengan
pertolongan tabel operasi berikut :
Tabel Penjumlahan Basis-5
+
0
1
2
3
4
0
0
1
2
3
4
1
1
2
3
4
10
2
2
3
4
10
11
3
3
4
10
11
12
4
4
10
11
12
13
Tabel Perkalian Basis-5
x
0
1
2
3
4
0
0
0
0
0
0
1
0
1
2
3
4
2
0
2
2
11
13
3
0
3
11
14
22
4
0
4
13
22
31
Penjumlahan :
1
1
1
simpanan (carry)
4
3
3
25
bilangan pertama
3
3
4
45
bilangan ke dua
__________________ +
1
3
2
3
Pengurangan
15
10
hasil penjumlahan.
10
pinjaman (borrow)
4
3
0
25
bilangan yang dikurangi
1
4
3
1
bilangan pengurang
5
_____________ 2
3
Perkalian :
2
15
hasil pengurangan.
3 45
bilangan yang dikalikan
4 25
bilangan pengali
________ x
1
2
3 0
1
3
___________ +
3 1
3
35
hasil perkalian.
Pembagian :
1 0 4 2 5 (hasil bagi)
(pembagi)
45
4 3 2 35
4
(yang dibagi)
_
0 3 2
3 1
_
0 1 3
0 1 3 _
0
Operasi bilangan pada basis yang lain prinsipnya sama. Untuk basis lebih dari
10 kemungkinan terasa sulit oleh karena belum terbiasa saja.
Sebagaimana telah diketahu bahwa mesin digital, seperti komputer dan
kalkulator, hanya dapat mengolah data yang sifatnya biner. Lagi pula, mesin
digital tersebut hanya mengenal operasi penjumlahan dan tidak mengenal
operasi pengurangan. Sedangkan mesin digital mengolah bilangan negatif sama
baiknya
dengan mengolah
bilangan
positif.
Oleh
karena
itu,
operasi
pengurangan harus bisa disajikan dalam bentuk operasi penjumlahan. Selain
itu, untuk keperluan penyimpanan dan pembacaan bilangan diperlukan
kejelasan tentang tanda dari suatu bilangan merupakan bilangan positif atau
negatif. Seperti yang telah dikenal, bilangan positif diberi tanda „+‟ atau tanpa
tanda di depan bilangan yang bersangkutan, sedangkan bilangan negatif
dengan tanda „-„. Untuk ini diperlukan tanda bilangan. Hal ini biasanya
dikerjakan dengan menambahkan bit lain kedalam suatu bilangan. Bit tambahan
itu disebut sebagai bit-tanda (sign bit). Dalam sistem biner tanda „+‟ dan „-„
digantikan dengan „0‟ dan „1‟. Pada umumnya bit tanda itu berupa „0‟ untuk
menyatakan suatu bilangan positif, dan „1‟ untuk bilangan negatif. Sebagai
contoh :
+ 1011 atau 1011 dituliskan sebagai 0 1011
- 1101 dituliskan sebagai 1 1101.
Untuk menyatakan bilangan negatif dalam mesin digital dapat digunakan
beberapa metode. Dua metode yang paling dikenal adalah metode komplemen
1 dan metode komplemen 2.
Bentuk komplemen 1 dari suatu bilangan biner diperoleh secara
sederhana dengan mengubah setiap 0 dalam bilangan itu menjadi 1 dan setiap
1 di dalam bilangan itu menjadi 0. Dengan kata lain mengubah setiap bit
menjadi komplemennya. Sebagai contoh komplemen 1 dari biner
101101
adalah 010010, dan komplemen 1 dari bilangan 011010 adalah 100101. Ketika
bilangan negatif disajikan dalam bentuk komplemen 1, maka bit tandanya
adalah 1 dan besar bilangannya dikonversi menjadi bentuk komplemen 1.
Misalnya bilangan -5710 dapat disajikan menjadi biner negatif sebagai :
-5710 = 1 111001 (besar bilangan dalam biner)
= 1 000110 (bentuk komplemen 1).
Perhatikan bahwa bit tanda tidak ikut dikomplemenkan tetapi dipertahankan
sebagai 1 untuk menunjukkan bahwa bilangan itu negatif. Contoh lain bilangan
negatif yang disajikan dalam bentuk komplemen 1 adalah :
-1410 = 10001
-32610 = 1010111001
-710
= 1000.
Agar lebih memahami metode komplemen 1 ini akan dilakukan operasi
pengurangan pada bilangan biner 1101 – 1011. Pada operasi tersebut dapat
ditambahkan
1111
asalkan diingat bahwa hasilnya nanti kelebihan 1111.
Kelebihan itu harus dihilangkan agar diperoleh hasil yang sebenarnya.
Selanjutnya perhatikan :
1101 + (1111 – 1011)
= 1101 + 0100 = 1 0001.
Bilangan 0100 pada operasi itu merupakan komplemen 1 dari bilangan -1011.
Kelebihan 1111 dihilangkan dengan cara menambahkan
EAC (End Around
Carry = simpanan memutar) kepada LSD (Least Significant Digit = digit bobot
terkecil). Dengan demikian hasil yang sebenarnya adalah :
0001 + 1 (EAC) = 0010.
Bila operasi dilakukan dengan bit tanda, maka yang diubah ke dalam bentuk
komplemen 1 adalah bagian besar bilangan saja (tidak termasuk bit tanda).
Untuk contoh di atas adalah
0 1101
1 0100
_________ +
1 0 0001
1
________ +
0 0010
(bilangan positif yang dikurangi)
(komplemen 1 dari 1011 yang negatif)
(EAC)
(hasil operasi adalah + 0010 karena bit tanda 0).
Contoh tersebut merupakan salah satu kemungkinan dari pengurangan A – B =
C dengan A, B > 0 dan A > B,
sehingga C > 0 (positif).
Kemungkinan lain
adalah A, B > 0 dan A < B, sehingga C < 0 (negatif). Perhatikan contoh berikut
1001 – 1110 = 0 1001 + 1 1110
0 1001
(yang dikurangi)
1 0001
(komplemen 1 dari pengurang)
_______ +
01 1010
0
(EAC)
_______ +
1 1010
(bukan hasil, karena masih negatif, bit tanda 1).
Bila hasilnya negatif, maka hasil tersebut belum hasil yang sebenarnya. Hasil
yang sesungguhnya adalah komplemen 1 dari besar bilangan hasil tersebut.
Jadi, hasil yang sesungguhnya adalah 1 0101 = - 0101.
Kemungkinan berikutnya adalah A < 0 dan B > 0, sehingga C < 0. Dalam hal
ini harus diperhatikan bahwa banyaknya digit hasil operasi tidak boleh melebihi
digit soal. Sehingga demi amannya harus ditambahkan satu digit yakni 0
sebagai MSD (Most Significant Digit = digit paling berbobot). Tambahan digit ini
tidak akan mengubah besar bilangan yang bersangkutan. Sebagai contoh akan
dicoba operasi pada -1101 - 1011 sebagai berikut :
Demi amannya soal diubah menjadi - 01101 – 01011
Dengan bit tanda soal menjadi
1 01101 + 1 01011
1 10010
(komplemen 1 dari yang dikurangi)
1 10100
(komplemen 1 dari pengurang)
_________ +
11 00110
1
(EAC)
_________ +
1 00111
(hasilnya negatif, belum hasil yang sebenarnya)
Hasil yang sebenarnya adalah komplemen 1 dari bilangan 1 00111 yaitu 1
11000 (ingat bit tanda tidak turut dikomplemenkan) atau
Selanjutnya metode komplemen 2.
-11000.
Bentuk komplemen 2 dari suatu
bilangan biner ditentukan dengan cara mengambil komplemen 1 dari bilangan
itu kemudian menambahkan 1 pada posisi LSB (Least Significant Bit = bit paling
tidak berbobot). Sebagai ilustrasi akan diubah bilangan biner 111001 (=57 10)
ke dalam bentuk komplemen 2 –nya.
1 1 1 0 0 1
(bilangan awal)
0 0 0 1 1 0
(bentuk komplemen 1)
1
(menambahkan 1 pada LSB)
___________ +
0 0 0 1 1 1
Jadi, -5710 yang disajikan dalam bentuk komplemen 2 dituliskan sebagai 1
000111. Ingat bahwa bit paling kiri merupakan bit tanda dan 6 bit yang lain
merupakan bentuk komplemen 2 dari besar bilangan awalnya.
Operasi pengurangan dengan metode komplemen 2 juga memiliki tiga
kemungkinan yaitu A – B = C dengan C > 0, A – B = C dengan A < B, dan A
– B = C dengan A < 0, B > 0. Untuk setiap kemungkinan tersebut, perhatikan
contoh-contoh berikut !
1)
1110 – 0101 = 0 1110 + 1 0101
0 1110
(bilangan positif yang dikurangi)
1 1011
(komplemen 2 dari pengurangnya)
________ +
10 1001
(EAC, bit tanda 0, dan hasil sesungguhnya).
Hasil yang sebenarnya diperoleh dengan menghilangkan EACnya. Jadi hasil yang sebenarnya adalah
0 1001
atau
atau 1001.
2)
10011 – 11001 = 0 10011 + 1 11001
0 10011
(bilangan positif yang dikurangi)
1 00111
(komplemen 2 dari pengurangnya)
________ +
01 11010
(EAC, bit tanda 1, dan hasil belum
sesungguhnya).
+1001
Karena hasil masih negatif, maka hasil yang sebenarnya adalah
komplemen 2 dari 11010 yaitu 00110. Jadi hasil pengurangannya
adalah 1 00110 atau – 00110.
3)
-011011 – 011101 = 1 011011 + 1 011101
1 100101
(komplemen 2 dari yang dikurangi)
1 100011
(komplemen 2 dari pengurangnya)
________ +
11 001000
(EAC, bit tanda 1, dan hasil belum
sesungguhnya).
Karena hasilnya negatif (dengan bit tanda 1), maka setelah
menghilangkan EAC, kemudian mengambil komplemen 2 dari
001000 dan akan diperoleh
111000. Jadi hasil sebenarnya dari
pengurangan tersebut adalah 1 111000 atau - 111000.
Di antara kedua metode yang dikemukakan di atas, maka metode
komplemen 2 paling banyak digunakan. Karena dengan metode komplemen 2
memungkinkan untuk membentuk operasi pengurangan hanya penggunakan
operasi penjumlahan yang sesungguhnya. Ini berarti bahwa mesin digital dapat
menggunakan rangkaian yang sama untuk melaksanakan kedua operasi
tersebut. Dengan demikian mendapat penghematan dalam perangkat kerasnya.
Pengubahan dari bentuk komplemen ke nilai biner yang sesungguhnya
sangat sederhana. Dari bentuk komplemen 1 ke nilai biner yang sesungguhnya
ditempuh dengan cara meng-komplemen-kan setiap bit lagi. Sedangkan dari
bentuk komplemen 2 ke nilai biner yang sesungguhnya dilakukan dengan mengkomplemen-kan setiap bit dan kemudian menambahkan 1 pada LSB. Dalam
dua hal itu, pengubahan kembali ke bentuk biner yang sesungguhnya ditempuh
melalui proses yang sama yang telah ditempuh untuk menghasilkan bentuk
komplemennya.
7. Soal-soal
1. Berapakah banyaknya bit (dalam sistem biner) yang diperlukan untuk
memilahkan di antara 99 keadaan yang berbeda ?
2. Ubahlah bilangan biner berikut ke dalam desimal :
a.
10111
b.
110001011
c.
11011,10111
d.
0,00010011
e.
110001111,011101
3. Ubahlah bilangan desimal berikut ke dalam biner :
a.
251
b.
3482
c.
0,635
d.
48,65
e.
237,842
4. Ubahlah bilangan-bilangan berikut ke dalam desimal :
a.
11012
b.
23014
c.
34205
d.
27658
e.
4D2E16
5. Ubahlah bilangan biner berikut masing-masing ke dalam bilangan oktal
dan heksadesimal :
a.
1011
b.
11111011
c.
100000111111
d.
1001010110001101
e.
10000010010111101110
6. Kerjakanlah pengurangan bilangan biner berikut masing-masing dengan
metode komplemen 1 dan komplemen 2 :
a.
101101 – 100111
b.
101011 – 111001
c.
–110101 – 101110
d.
–110101 – 11101
e.
10111 – (– 110010 )
7. Kerjakanlah penjumlahan bilangan berikut sesuai dengan basisnya :
a.
1011,1012 + 101,012
b.
231,214 + 3112,0034
c.
35478 + 230518
d.
A87B12 + 79B412
e.
581DF716 + AE5C0716
8. Kerjakanlah pengurangan bilangan berikut sesuai dengan basisnya :
a.
1011,1012 - 101,012
b.
3231,214 - 312,0034
c.
635478 - 230518
d.
A87B12 - 79B412
e.
581DF716 - 2E5C0716
9. Kerjakanlah perkalian bilangan berikut sesuai dengan basisnya :
a.
11011 x 1011
b.
2314 x 324
c.
35478 x 20518
d.
A87B12 x A412
e.
581DF716 x C0716
10. Kerjakanlah pembagian bilangan berikut sesuai dengan basisnya :
a.
110111012 : 1012
b.
301234 : 324
c.
7564028 : 548
d.
A7B812 : 412
e.
981DF16 : 516
BAB III
SISTEM SANDI (KODE)
Pada mesin digital, baik instruksi (perintah) maupun informasi (data)
diolah dalam bentuk biner. Karena mesin digital hanya dapat „memahami‟ data
dalam bentuk biner. Kita sering menggunakan mesin-mesin digital seperti jam
digital, multimeter digital, termometer digital, kalkulator, komputer, dan
sebagainya. Tampilan yang langsung dapat dilihat berupa angka desimal atau
kumpulan huruf latin yang dikenal dalam keseharian, padahal proses yang
terjadi di dalam mesin-mesin tersebut berbentuk biner. Sedangkan instruksi
maupun informasi dalam bentuk biner tidak disukai karena di luar kebiasaan
sehingga terasa rumit dan kurang praktis. Kita telah terbiasa dengan huruf latin
dari A sampai Z dan angka-angka dari 0, 1, 2, …, sampai 9. Sehingga apabila
disajikan bilangan atau kata dalam bentuk biner tidak segera dapat diketahui
maknanya. Misalnya pada sederet bit biner 00010111, kita tidak segera tahu
bahwa deretan bit itu menyatakan bilangan atau huruf. Jika bilangan, deretan bit
tersebut dapat menunjukkan bilangan 1716 atau bahkan 2310. Agar deretan bit
00010111 dapat tampil sebagai bilangan 17 16 atau 2310 diperlukan teknik atau
rangkaian tertentu. Sebaliknya, agar 1716 atau 2310 dapat dikenali oleh suatu
mesin digital sebagai 00010111 juga diperlukan tehkik atau rangkaian tertentu.
Dalam pemakaian kalkulator, bilangan yang dimasukkan melalui tombol
kunci (tuts) perlu diubah dari bentuk desimal menjadi biner. Sebaliknya bilangan
yang muncul pada tampilan kalkulator mengalami proses pengubahan dari
bentuk biner ke dalam format 7-segmen yang umumnya berbentuk desimal.
Perhatikan ilustrasi pengubahan tampilan kalkulator pada Gambar 3.1.
Kita
akan memasukkan bilangan desimal 5 dengan cara menekan tombol kunci 5.
Rangkaian enkoder (penyandi) mengubah desimal 5 menjadi biner 0101. Unit
pengolah pada kalkulator (CPU : Central Processing Unit) menerima bilangan
itu dalam bentuk biner 0101 karena CPU hanya dapat mengolah data dalam
bentuk biner.
Selanjutnya rangkaian dekoder (pembaca sandi) mengubah
bilangan biner 0101 kembali menjadi bentuk desimal 5. Akhirnya yang muncul
dalam tampilan adalah desimal 5 seperti semula. Dari ilustrasi tersebut
memperlihatkan terjadinya proses pengubahan dari satu jenis sandi (kode) dari
satu sistem bilangan menjadi jenis sandi dari sistem bilangan yang lain.
Awalnya dari sandi desimal menjadi biner, dan akhirnya dari sandi biner menjadi
sandi desimal. Suatu rangkaian pengubah pesan bermakna (misal desimal)
menjadi sandi tertentu (misal biner) disebut enkoder (penyandi). Sedangkan,
sebaliknya, rangkaian pengubah sandi tertentu kembali menjadi pesan yang
bermakna disebut dekoder (pembaca sandi).
7
8
9
4
5
6
1
2
3
0
+
=
Enkoder
CPU
Dekoder
Gambar 3.1 : Aliran pengubahan tampilan kalkulator.
1. Sandi BCD (Biner Coded Decimal)
Kita telah terbiasa dan akrap dengan sistem bilangan desimal dan
karenanya sistem ini dianggap sebagai sandi yang paling bermakna. Dalam
mesin digital biasa menampilkan bilangan dalam bentuk desimal. Sedangkan
proses komputasi dalam mesin digital dalam bentuk biner. Jika hasil komputasi
tetap ditampilkan dalam bentuk biner, kita mengalami hambatan atau bahkan
sulit memahaminya, karena kita tidak biasa dengan bilangan yang tampil dalam
bentuk biner. Jadi tampilan desimal lebih mudah difahami dari pada tampilan
biner. Oleh karena itu diperlukan suatu cara penyandian dari biner ke desimal
dan sebaliknya. Sebagai contoh bilangan desimal 25 dan 43 masing-masing
disandikan dalam biner sebagai berikut :
2510
= 110012
4310
= 1010112 .
Kita lihat bahwa sembarang bilangan desimal dapat disajikan dalam bentuk
biner yang setara. Sekelompok 0 dan 1 dalam bentuk biner dapat dipikirkan
sebagai penggambaran sandi suatu bilangan desimal.
Dua contoh di atas
memperlihatkan bahwa setiap angka biner mempunyai nilai sesuai dengan
posisinya (satuan, duaan, empatan, dan seterusnya). Dalam contoh di atas
semua digit bilangan desimal disandikan langsung, atau sebaliknya semua
pernyataan biner menyandikan suatu bilangan desimal, jadi bukan digit per digit
yang disandikan.
Dalam sandi jenis lain bilangan-bilangan 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9
disandikan sendiri-sendiri. Dengan demikian untuk menyatakan bilangan
desimal lebih dari satu digit, maka setiap digitnya disandikan sendiri. Salah satu
sistem sandi yang cukup terkenal adalah BCD atau desimal yang disandikan
biner. Karena digit desimal yang terbesar 9, maka diperlukan 4 bit biner untuk
menyandi setiap digit. Susunan 4 bit biner tersebut menghasilkan 16 kombinasi
yang berbeda, tetapi hanya diperlukan 10 kombinasi di antaranya. Untuk
menyatakan bilangan desimal N digit diperlukan N x 4 bit biner. Untuk bilangan
bulat, kelompok 4 bit yang pertama (paling kanan) menyatakan satuan,
kelompok 4 bit ke dua adalah puluhan, kelompok 4 bit ke tiga merupakan
ratusan, dan seterusnya. Sebagai contoh bilangan desimal 468 (terdiri dari 3
digit) memerlukan 3 kelompok masing-masing 4 bit seperti tampak pada Tabel
3.1 berikut.
Tabel 3. 1 : Desimal 468 disajikan dengan BCD
Desimal
4
6
BCD
0
Bobot
800 400 200 100
1
0
Ratusan
0
8
0
1
1
0
1
0
0
0
80
40
20
10
8
4
2
1
Puluhan
Satuan
Setiap digit desimal diubah secara langsung menjadi biner yang setara. Perlu
dicatat bahwa 4 bit biner selalu digunakan untuk setiap digit. Dengan demikian
sandi 4 bit biner yang digunakan adalah dari 0000, 0001, 0010, 0011, …, hingga
1001. Dalam BCD tidak digunakan sandi-sandi 1010, 1011, 1100, 1101, 1110,
dan 1111. Jika sembarang bilangan 4 bit yang terlarang itu terjadi pada mesin
yang menggunakan sandi BCD, maka biasanya akan terjadi indikasi terjadinya
kesalahan.
Tampaknya penulisan dengan cara BCD ini merupakan
pemborosan bit, karena 4 bit biner dapat untuk melambangkan 16 bilangan
(pada BCD hanya 10). Tetapi keuntungannya kita tidak perlu menuliskan
bilangan yang lebih besar dari 9 (dalam desimal tidak dikenal A, B, …, F),
sehingga BCD sangat cocok untuk memperagakan bilangan desimal, cukup
dengan mengubah setiap karakter BCD menjadi bilangan desimal yang
diinginkan.
2. Sandi Excess-3 (XS-3)
Dikenal pula sandi jenis lain yang menarik dan kadang-kadang sangat
bermanfaat. Misalnya sandi Excess-3 (XS-3). Jenis sandi XS-3 ini seperti BCD,
terdiri dari kelompok 4 bit untuk melambangkan sebuah digit desimal. Sandi XS3 untuk bilangan desimal dibentuk dengan cara yang sama seperti BCD kecuali
bahwa 3 ditambahkan pada setiap digit desimal sebelum penyandian ke
binernya. Misalkan untuk menyandi bilangan desimal 5 dalam XS-3, pertama
kali menambahkan 3 kepada 5 yang menghasilkan 8, kemudian 8 disandikan
dalam biner 4 bit yang setara, yaitu 1000.
5 + 3 = 8  1000.
Sansi XS-3 hanya menggunakan 10 dari 16 kelompok sandi 4 bit yang mungkin.
Kelompok biner 4 bit yang tidak valid (terlarang) pada sandi XS-3 adalah 0000,
0001, 0010, 1101, 1110, dan 111.
3. Sandi Gray
Sandi Gray merupakan sistem sandi tak berbobot karena posisis bit
dalam kelompok sandi tidak memiliki nilai bobot tertentu. Dengan demikian
sandi Gray tidak cocok dalam operasi aritmatik, dan aplikasinya banyak
dijumpai dalam piranti input/output dan ADC. Dalam sandi Gray, antar sandi
yang berdekatan mengalami perubahan bit minimum, karena sifatnya yang
hanya berubah satu bit dalam kelompok apabila berubah dari satu digit bilangan
ke digit bilangan berikutnya. Hal ini dapat mencegah terjadinya kesalahan dalam
transisi perubahan apabila lebih dari satu bit mengalami perubahan
yang
kemungkinan besar perubahan itu terjadi tidak bersamaan (satu bit lebih dulu
berubah dari yang lain). Misalnya perubahan dari desimal 7 (binernya 0111)
menjadi desimal 8 (binernya 1000) yang seluruh bitnya mengalami perubahan
yang kemungkinan dapat bertransisi dahulu ke biner 1111 (desimal 15).
Kejadian 1111 tersebut sebenarnya hanya sementara tetapi dapat menimbulkan
operasi yang dapat mengacau unsur-unsur yang dikendalikan bit tersebut.
Aturan untuk mengubah biner ke sandi Gray adalah sebagai berikut :
a. Bit pertama (paling kiri) sandi Gray sama dengan bit pertama dari bilangan
biner.
b. Bit ke dua sandi Gray sama dengan EX-OR dari bit pertama dan bit ke dua
bilangan
biner. (EX-OR : sama dengan 1 bila kedua bit biner itu berbeda,
dan 0 bila sama).
c. Bit sandi Gray ke tiga sama dengan EX-OR bit ke dua dan bit ke tiga
bilangan biner.
d. Dan seterusnya, perhatikan Gambar 3.2 yang merupakan gerbang EX-OR
untuk mengubah bit-bit bilangan biner ke dalam sandi Gray, kecuali bit
pertama.
Bilangan Biner
Sandi Gray,
Kecuali bit pertama
Bit ke (n-1)
Bit ke n
Bit ke n
Gambar 3.2 : Pengubah bit-bit sandi biner ke dalam sandi Gray.
Sebagai contoh mengubah bilangan biner 10110 ke dalam sandi Gray (hasilnya
11101) adalah sebagai berikut :
1
0
1
1
0
(sandi biner)
1
1
1
0
1
(sandi Gray)
Bit pertama
Selanjutnya untuk mengubah sandi Gray menjadi biner digunakan langkahlangkah (yang berlawanan dengan cara mengubah biner ke sandi Gray) sebagai
berikut :
a. Bit pertama biner sama dengan bit pertama sandi Gray.
b. Bila bit sandi Gray ke dua 0 maka bit biner ke dua sama dengan yang
pertama, dan bila bit sandi Gray ke dua 1 maka bit biner ke dua adalah
kebalikan dari bit biner pertama.
c. Bila bit sandi Gray ke tiga 0 maka bit biner ke tiga sama dengan yang ke
dua, dan bila bit sandi Gray ke tiga 1 maka bit biner ke tiga adalah kebalikan
dari bit biner ke dua.
d. Demikian seterusnya.
Sebagai contoh mengubah sandi Gray 1101 ke dalam biner yang hasilnya
adalah 1001, seperti tampak pada ilustrasi berikut :
1
beda
0
sama
1
beda
1
1
0
1
(sandi Gray)
1
0
0
1
(sandi biner)
Ternyata setiap bit biner (kecuali yang pertama) diperoleh dengan mencari EXOR dari bit sandi Gray yang sesuai dan bit biner sebelumnya. Perhatikan
Gambar 3.3 berikut !
Sandi Gray
Sandi Biner,
Kecuali bit pertama
Bit ke n
Sandi Gray
Bit ke n
Bit ke (n-1)
Sandi biner
Gambar 3.3 : Pengubah bit-bit sandi Gray ke dalam sandi Biner.
Contoh berikutnya mengubah sandi Gray 1101 ke dalam biner yang hasilnya
adalah 1001.
1
1
0
1
(sandi Gray)
1
0
0
1
(sand I biner)
4. Sandi ASCII
Jika diperhatikan tombol kunci (keyboard) pada komputer, sedikitnya
terdapat 87 tombol kunci baik yang berupa huruf besar dan kecil, angka, tanda
khusus, maupun tombol dengan fungsi khusus. Komputer harus mampu
menangani informasi numerik maupun non numerik, sehingga komputer harus
mampu menganalisis berbagai sandi yang mencakup angka, huruf, tanda, dan
fungsi tertentu. Sandi-sandi ini dikelompokkan sebagai sandi alpanumerik
(alphabed and numeric). Sejumlah tombol yang lengkap dan memadai yang
diperlukan itu meliputi 26 tombol untuk huruf kecil, 26 tombol untuk huruf besar,
10 tombol untuk digit angka, dan sedikitnya 25 tombol untuk tanda maupun
fungsi khusus seperti +, /, %, $, @, #, Esc, Insert, Page Up, dan seterusnya.
Untuk menampilkan 87 karakter yang berbeda tersebut dengan sandi biner
setidaknya diperlukan 7 bit. Dengan 7 bit tersebut akan diperoleh 2 7 = 128 sandi
biner yang berbeda.
Sandi alpanumerik yang paling terkenal adalah sandi ASCII (American
Standard Code for Information Interchange) yang digunakan oleh hampir
seluruh komputer. Pada Tabel 3.2 berikut ini dikemukakan sandi ASCII.
Tabel 3.2 : Sandi ASCII (7 bit)
LSB
MSB
000
001
010
011
100
101
110
111
0000
NUL
DLE
SP
0
@
P
0001
SOH
DC1
!
1
A
Q
A
q
0010
STX
DC2
“
2
B
R
B
r
0011
ETX
DC3
#
3
C
S
C
s
0100
EOT
DC4
$
4
D
T
D
t
0101
ENQ
NAK
%
5
E
U
E
u
0110
ACK
SYN
&
6
F
V
F
v
0111
BEL
ETB
„
7
G
W
G
w
1000
BS
CAN
(
8
H
X
H
x
1001
HT
EM
)
9
I
Y
I
y
1010
LF
SUB
*
:
J
Z
J
z
1011
VT
ESC
+
;
K
[
K
{
1100
FF
FS
,
<
L
\
L

1101
CR
GS
-
=
M
]
M
}
1110
SO
RS
.
>
N

N

1111
SI
US
/
?
O

O
DEL
p
Sandi ASCII selengkapnya dapat dilihat pada daftar di luar buku ini. Sebagai
contoh, seorang operator komputer memasukkan suatu pernyataan dari papan
kunci berupa tulisan
STOP yang maksudnya memerintah komputer untuk
menghentikan suatu program, maka sandi biner yang dikenali komputer adalah
sebagai berikut :
101 0011
101 0100
100 1111
S
T
O
101 0000
P
5. Bit Paritas
Pemindahan data dari satu tempat ke tempat lain pada umumnya dalam
bentuk biner. Misalnya pemindahan data dari komputer ke disket, pemindahan
informasi melalui jalur telepon, pengambilan data dari memori komputer untuk
ditempatkan pada unit aritmatik, dan sebagainya. Proses pemindahan data
tersebut dapat mengalami kesalahan sekalipun pirantinya telah dirancang
sedemikian canggih. Meskipun terjadinya kesalahan itu relatif kecil, tetapi dapat
menghasilkan sesuatu yang tidak berguna dan bahkan sangat fatal. Sehingga
diperlukan mekanisme pemeriksaan data untuk memperkecil kemungkinan
terjadinya kesalahan data. Salah satu cara yang sangat terkenal untuk
mendeteksi kesalahan adalah adalah metode paritas. Di dalam sekelompok
data ditambahkan bit yang disebut bit paritas. Jadi bit paritas merupakan bit
tambahan yang disertakan ke dalam sekelompok sandi yang sedang
dipindahkan dari satu tempat ke tempat lain. Bit paritas dapat berupa 0 atau 1
tergantung pada benyaknya angka 1 yang dimuat di dalam kelompok sandi itu,
sehingga dikenal paritas genap dan paritas ganjil.
Pada metode paritas genap, nilai bit paritas dipilih sedemikian hingga
banyaknya angka 1 dalam suatu kelompok sandi (termasuk bit paritas)
berjumlah genap. Sebagai contoh suatu kelompok sandi 100 0011 yang
merupakan huruf C pada sandi ASCII. Kelompok sandi itu memiliki 1 sebanyak
3 buah (ganjil, tidak termasuk bit paritas). Selanjutnya akan ditambahkan bit
paritas 1 untuk membuat banyaknya angka 1 berjumlah genap (4 termasuk bit
pritasnya). Kelompok sandi yang baru, termasuk bit paritas, kemudian menjadi
1 100 0011
Bit paritas yang ditambahkan
Jika suatu kelompok sandi berisi 1 dalam jumlah genap, maka bit paritas yang
ditambahkan bernilai 0. Sebagai contoh, suatu kelompok sadi 100 0001 (sandi
ASCII untuk huruf A) akan ditandai dengan bit paritas 0, sehingga diperoleh
sandi yang baru (termasuk bit paritas) yaitu 0 100 0001.
Metode paritas ganjil digunakan dengan cara yang persis sama kecuali
bahwa bit paritas dipilih sedemikian jumlah angka 1 (termasuk bit paritas)
adalah ganjil. Sebagai contoh, untuk kelompok sandi 100 0001 diberi bit paritas
1 sehingga diperoleh sandi baru sebagai 1 100 0001. Untuk kelompok sandi
100 0011 dikenai bit paritas 0 dan diperoleh sandi baru yakni 0 100 0011.
Terlepas dari paritas genap atau ganjil yang digunakan, bit paritas
menjadi bagian yang nyata dari suatu sandi. Penambahan bit paritas kepada
sandi ASCII 7 bit menghasilkan sandi 8 bit. Sehingga bit paritas diperlakukan
seperti bit-bit lain di dalam sandi tersebut. Bit paritas digunakan untuk
mendeteksi kesalahan bit tunggal yang terjadi selama pemindahan data dari
satu tempat ke tempat lain. Sebagai ilustrasi akan dipindahkan huruf A dan
digunakan paritas ganjil. Kode yang dipindahkan berupa :
1 100 0001
Ketika rangkaian penerima menerima sandi ini, ia akan memeriksa untuk
mengetahui bahwa sadi itu berisi 1 dalam jumlah ganjil (termasuk bit paritas).
Sehingga penerima akan menganggap bahwa sandi itu diterima benar.
Selanjutnya dianggap bahwa karena suatu gangguan atau kegagalan, maka
penerima sebenarnya menerima sandi sebagai :
1 100 0000
Penerima akan mendapatkan bahwa sandi tersebut berisi 1 dalam jumlah
genap. Hal ini memberitahu penerima bahwa pasti terjadi kesalahan sandi,
karena sebelumnya antara pengirim dan penerima sandi telah setuju untuk
menggunakan
paritas ganjil. Tidak ada cara
bahwa
penerima
dapat
memberitahukan bit mana yang mengalami kesalahan, karena ia tidak tahu
sandi apa yang dimaksudkan.
Selanjutnya menjadi jelas bahwa metode paritas ini tidak akan bekerja
jika terjadi 2 bit yang salah, sebab dua keslahan tidak akan mengubah genapganjilnya jumlah 1 dalam sandi itu. Metode paritas hanya digunakan dalam
keadaan di mana kemungkinan kesalahan satu bit sangat kecil dan
kemungkinan kesalahan dua bit boleh dikatakan tidak ada.
6. Aplikasi Sistem Bilangan dan Sandi
Suatu rumah bersalin memiliki 3 buah inkubator untuk menempatkan
anak-anak yang memerlukan perawatan khusus. Keadaan temperatur (T), kadar
oksigen (O), kelembaban (M) dan suara (V) pada setiap inkubator dapat
dimonitor dari ruang lain menggunakan komputer. Kapan saja temperatur, kadar
oksigen, kelembaban dan suara melebihi atau kurang dari (keadaan bahaya)
nilai normal yang telah ditentukan, maka sensor-sensor besaran pada setiap
inkubator akan memberikan data “1” kepada komputer. Jika semua keadaan
besaran tersebut normal, maka komputer akan menerima data “0”. Ilustrasi
sistem tersebut dapat dilihat pada Gambar 3.4 berikut.
Inkubator 2
Inkubator 1
Inkubator 0
T2
O2
M2
V2
T1
O1
M1
V1
T0
O0
M0
V0
MSB
LSB
T2
O2
M2
V2
T1
O1
M1
V1
T0
O0
M0
V0
Sistem monitor pada komputer
Gambar 3.4 : Sistem monitor inkubator.
a. Jika komputer membaca data $000 (BCD : 0000 0000 0000), maka
setiap inkubator dalam keadaan normal atau aman atau tidak
membahayakan atau tidak ada hal yang mencurigakan.
b. Jika komputer membaca $A51 (BCD :
1010 0101 0001), maka ada
kejadian bahwa T2, M2, O1, V1, dan V0 dalam keadaan tidak normal atau
ada hal yang membahayakan pada anak di dalam inkubator yang
bersangkutan.
c. Jika komputer membaca $0F0 (BCD :
0000 1111 0000), maka ada
kejadian bahwa T1, O1, M1 dan V1 atau inkubator 1 dalam keadaan
tidak normal atau membahayakan pada anak di dalam inkubator tersebut.
d. Jika anak-anak yang ditempatkan dalam ketiga inkubator tersebut semua
menangis, sedangkan hal-hal lain dalam keadaan normal, maka
komputer akan menerima pesan atau data $111 (BCD : 0001 0001
0001).
e. Dan seterusnya.
7. Soal-soal
1. Ubahlah bilangan dalam sandi BCD berikut ke dalam sandi desimal :
a.
1001 0101BCD
b.
0010 0000 BCD
c.
0111 0100 BCD
d.
1001 0011 0110 0001 0010 BCD
e.
1000 0111 0101 0011 1001 BCD
2. Jelaskan perbedaan antara sandi BCD dengan sistem bilangan biner !
3. Ubahlah bilangan desimal berikut ke dalam bilangan sandi BCD :
a. 54
b. 132
c. 8705
d. 43219
e. 908756
4. Dengan bantuan tabel sandi ASCII (7 bit); ubahlah angka, simbol, huruf,
karakter atau fungsi berikut ke dalam sandi tersebut !
a. &
b. 10%
c. (9+x)
d. y - 7
e. ESC
5. Jika pernyataan berikut merupakan pesan dalam sandi ASCII, apakah
makna dari pernyataan berikut (tanda minus atau – tidak perlu diubah) !
a. 1010000-1010101-1010011-1001000
b. 1010011-1000001-1010110-1000101
c. 1010010-1100101-1100001-1100100
d. 1010111-1110010-1101001-1110100-1100101
e. 1101010-1110101-1101101-1110000
BAB IV
GERBANG LOGIKA
Hakekat rangkaian elektronika digital adalah menghasilkan keluaran
digital dari masukan digital. Seperti kita ketahui, mesin-mesin digital hanya
mampu mengenali dan mengolah data yang berbentuk biner. Dalam sistem
biner hanya diijinkan dua keadaan yang tegas berbeda. Contoh dua keadaan
yang tegas berbeda tersebut adalah hidup-mati, tinggi-rendah, benar-salah,
sambung-putus, terbuka-tertutup, siang-malam, besar-kecil, susah-senang,
potensial tinggi-potensial rendah, dan sebagainya. Dua keadaan dari sistem
biner itu disimbolkan dengan angka biner 0 atau 1. Misalnya hidup : 1 dan
mati : 0, tinggi : 1 dan rendah : 0, benar : 1 dan salah : 0 dan seterusnya. Dapat
pula hidup : 0 dan mati : 1, tinggi : 0 dan rendah : 1, benar : 0 dan salah : 1 dan
seterusnya tergantung dari kesepakatan sejak awal. Nilai 1 atau 0 dari sistem
biner itu disebut status atau keadaan logika. Bila keadaan 1 menyatakan
potensial tinggi dan 0 menyatakan potensial rendah maka sistemnya disebut
sistem logika positif. Sebaliknya, bila nilai 0 menyatakan potensial tinggi dan 1
untuk potensial rendah maka hal itu termasuk dalam logika negatif.
Pada
umumnya digunakan logika positif. Pada alat digital, keadaan biner tersebut
adalah potensial tinggi (biasanya +5 volt) dan potensial rendah (biasanya 0
volt) terhadap acuan tertentu (biasanya 0 volt). Keadaan biner itu juga dapat
diperlihatkan dengan lampu yang menyala atau padam.
Alat-alat elektronik digital tersusun dari rangkaian digital, yaitu rangkaian
yang masukan dan keluarannya memenuhi sistem biner. Rangkaian itu dikenal
pula sebagai gerbang logika. Dengan demikian pada gerbang logika
memenuhi aturan main aljabar logika atau aljabar Boole atau sistem biner.
Kenyataannya dalam aljabar Boole hanya mengenal tiga operasi dasar yaitu
OR, AND, dan NOT. Operasi tersebut dapat direalisasikan dalam bentuk
rangkaian elektronik berupa gerbang logika. Ketiga gerbang logika itu dapat
dikembangkan menjadi gerbang logika lain yang sangat bermanfaat seperti
NAND (NOT-AND), NOR (NOT-OR), EX-OR (EXCLUSIVE OR), dan EX-NOR
(EXCLUSIVE NOT OR). Pada gerbang logika memiliki satu atau lebih masukan
dan hanya satu keluaran. Hubungan antara keadaan keluaran dan semua
kombinasi keadaan masukan ditunjukkan melalui tabel kebenaran.
1. Gerbang OR
Gerbang OR memiliki dua atau lebih saluran masukan dan satu saluran
keluaran. Selanjutnya didefinisikan bahwa keadaan keluaran gerbang OR akan
1 (tinggi) bila satu atau lebih masukannya dalam keadaan 1 (tinggi). Misalkan A
maupun B menyatakan saluran masukan gerbang OR yang saling bebas yang
masing-masing hanya dapat bernilai 1 (tinggi) atau 0 (rendah) dan Y
menyatakan saluran keluarannya yang hanya dapat bernilai 1 atau 0, maka
hubungan antara masukan dan keluaran pada gerbang OR tersebut dapat
dituliskan sebagai :
Y = A OR B
atau
Y = A + B.
Dan tabel kebenaran untuk gerbang OR dua masukan tampak pada Tabel 4.1
berikut :
Tabel 4.1 : Tabel kebenaran gerbang OR dua masukan.
A
B
Y=A+B
0
0
0
0
1
1
1
0
1
1
1
1
Sedangkan simbol rangkaian gerbang OR tampak pada Gambar 4.1 di bawah
ini
A
B
Y
Gambar 4. 1 : Simbol rangkaian gerbang OR dua masukan.
Jika C menyatakan saluran masukan ke tiga pada gerbang OR maka akan
diperoleh gerbang OR dengan tiga masukan. Tabel kebenaran dan simbol
rangkaian gerbang OR tiga masukan tampak sebagai berikut :
Tabel 4.2 : Tabel kebenaran gerbang OR tiga masukan.
A
B
C
Y= A+B+C
A
0
0
0
0
B
0
0
1
1
C
0
1
0
1
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
Y
Gambar 4.2 :
Simbol rangkaian gerbang
OR tiga masukan
Ide tersebut dapat dikembangkan untuk gerbang OR empat masukan, lima
masukan, dan seterusnya. Hal-hal yang penting untuk diperhatikan berkaitan
dengan gerbang OR adalah :
a. Keluaran gerbang OR bernilai 1 jika ada masukannya yang bernilai 1.
b. Keluaran gerbang OR bernilai 0 hanya jika semua masukannya bernilai 0.
c. Pada operasi OR berlaku antara lain
1 + 1 = 1,
1 + 1 + 1 = 1, dan
seterusnya.
2. Gerbang AND
Gerbang AND memiliki dua atau lebih saluran masukan dan satu saluran
keluaran.
Selanjutnya didefinisikan bahwa keadaan keluaran gerbang AND
akan 1 (tinggi) bila dan hanya bila semua masukannya dalam keadaan 1
(tinggi). Misalkan A maupun B menyatakan saluran masukan gerbang AND
yang saling bebas yang masing-masing hanya dapat bernilai 1 (tinggi) atau 0
(rendah) dan Y menyatakan saluran keluarannya yang hanya dapat bernilai 1
atau 0, maka hubungan antara masukan dan keluaran pada gerbang AND
tersebut dapat dituliskan sebagai :
Y = A AND B
atau
Y= A.B
atau
Y = AB.
Dan tabel kebenaran untuk gerbang AND dua masukan tampak pada Tabel 4.3
berikut :
Tabel 4.3 : Tabel kebenaran gerbang AND dua masukan.
A
B
Y = AB
0
0
0
0
1
0
1
0
0
1
1
1
Sedangkan simbol rangkaian gerbang AND tampak pada Gambar 4.3 di bawah
ini .
A
Y
B
Gambar 4. 3 : Simbol rangkaian gerbang AND dua masukan.
Jika C menyatakan saluran masukan ke tiga pada gerbang AND maka akan
diperoleh gerbang AND dengan tiga masukan. Tabel kebenaran dan simbol
rangkaian gerbang AND tiga masukan masing-masing tampak pada Tabel 4.4
dan Gambar 4.4 sebagai berikut :
Tabel 4.4 : Tabel kebenaran gerbang AND tiga masukan.
A
B
C
Y = ABC
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
Gambar 4.4 :
1
0
1
0
1
1
0
0
Simbol rangkaian gerbang
AND tiga masukan
1
1
1
1
A
B
Y
C
Ide tersebut dapat dikembangkan untuk gerbang AND empat masukan, lima
masukan, dan seterusnya. Hal-hal yang penting untuk diperhatikan berkaitan
dengan gerbang AND adalah
a. Keluaran gerbang AND bernilai 1 bila dan hanya bila semua masukannya
bernilai 1.
b. Keluaran gerbang AND bernilai 0 jika ada masukannya yang bernilai 0.
c. Pada operasi AND berlaku antara lain 1.1 = 1, 1.1.1 = 1, dan seterusnya;
0.0 = 0.1 = 1.0 = 0, 0.0.0 = 0.0.1 = 0.1.0 = 0.1.1 = 1.1.0 = 1.0.1 = 1.0.0 = 0,
dan seterusnya.
3. Gerbang NOT (INVERTER)
Kita sering memerlukan kebalikan (komplemen) dari suatu pernyataan
logika. Oleh karenanya kita memerlukan gerbang NOT (INVERTER). Tidak
seperti gerbang OR dan AND, gerbang NOT hanya memiliki satu saluran
masukan dan satu saluran keluaran. Keadaan keluatan gerbang NOT selalu
berlawanan (kebalikan atau komplemen) dari keadaan masukannya. Jika A
menyatakan saluran masukan dan Y merupakan saluran keluaran pada gerbang
NOT, maka hubungan antara A dan Y dituliskan sebagai berikut :
Y = NOT A
atau Y = A .
Tabel kebenaran dan simbol rangkaian gerbang NOT berturut-turut tampak
pada Tabel 4.5 dan Gambar 4.5 seperti berikut :
Tabel 4.5 : Tabel kebenaran gerbang NOT
A
Y= A
0
1
1
0
A
Y
Gambar 4.5 :
Simbol rangkaian gerbang NOT.
4. Gerbang NOR dan NAND
Gerbang OR ataupun AND masing-masing dapat digabungkan dengan
gerbang NOT. Gerbang AND yang diikuti dengan gerbang NOT menghasilkan
gerbang NAND (NOT AND). Sedangkan gerbang OR yang diikuti dengan
gerbang NOT menghasilkan gerbang NOR (NOT OR). Dengan demikian
gerbang NAND ataupun NOR masing-masing memiliki dua atau lebih saluran
masukan dan satu saluran keluaran. Perhatikan Gambar 4.6 dan Gambar 4.7
berikut !
A
A
Y
B
(a)
Y
B
(b)
Gambar 4.6 :
(a). Gabungan gerbang AND dan NOT
(b). Simbol rangkaian gerbang NAND dua masukan.
A
A
Y
B
Y
B
(a)
(b)
Gambar 4.7 :
(a). Gabungan gerbang OR dan NOT
(b). Simbol rangkaian gerbang NOR dua masukan.
Tabel kebenaran untuk gerbang NAND dan NOR dua masukan masing-masing
dapat diperhatikan pada Tabel 4.6 dan Tabel 4.7 berikut.
Tabel 4.6 : Tabel kebenaran gerbang NAND dua masukan.
A
B
Y = AB
0
0
1
0
1
1
1
0
1
1
1
0
Dengan memperhatikan tabel kebenaran untuk gerbang NAND dapat
disimpulkan bahwa :
a. Keluaran gerbang NAND bernilai 0 bila semua masukannya bernilai 1.
b. Keluaran gerbang NAND bernilai 1 jika ada masukannya yang bernilai 0.
Tabel 4.7 : Tabel kebenaran gerbang NOR dua masukan.
A
B
Y = A B
0
0
1
0
1
0
1
0
0
1
1
0
Dengan memperhatikan tabel kebenaran untuk gerbang NOR dapat disimpulkan
bahwa :
c. Keluaran gerbang NOR bernilai 1 bila dan hanya bila semua masukannya
bernilai 0.
d. Keluaran gerbang NOR bernilai 0 jika ada masukannya yang bernilai 1.
Segera dapat kita lihat bahwa gerbang NAND dan NOR ternyata lebih populer
dari pada gerbang dasar OR, AND, dan NOT karena gerbang NAND dan NOR
dua masukan lebih bersifat generik, artinya dengan gerbang NAND saja atau
gerbang NOR saja dapat dibuat gerbang OR, AND, maupun NOT. Untuk itu
perhatikan Gambar 4.8 dan Gambar 4.9 di bawah ini.
Y= A
A
A
B
Y = AB
(a)
(b)
A
Y=A+B
B
(c)
Gambar 4.8 :
(a).Gerbang NOT yang tersusun dari gerbang NAND
(b). Gerbang AND yang tersusun dari gerbang NAND
(c). Gerbang OR yang tersusun dari gerbang NAND.
A
Y= A
A
Y=A+B
B
(b)
(a)
A
Y = AB
B
(c)
Gambar 4.9 :
(a). Gerbang NOT yang tersusun dari gerbang NOR
(b). Gerbang OR yang tersusun dari gerbang NOR
(c). Gerbang AND yang tersusun dari gerbang NOR.
5. Gerbang EX-OR dan EX-NOR
Dua gerbang logika yang meskipun tidak mendasar tetapi sering dijumpai
dalam rangkaian digital adalah gerbang EXCLUSIVE-OR (EX-OR atau XOR)
dan gerbang EXCLUSIVE-NOR (EX-NOR). Keluaran pada gerbang EX-OR
akan TINGGI bila dan hanya bila tingkat logika dua masukannya saling
berlawanan. Gerbang EX-OR tidak pernah memiliki lebih dari dua masukan.
Jika A dan B menyatakan dua masukan pada gerbang EX-OR dan Y
menyatakan keluarannya, maka operasi EX-OR itu dituliskan sebagai berikut :
Y = A  B = AB + AB
Tabel kebenaran gerbang EX-OR dapat diperhatikan pada Tabel 4.8 berikut :
Tabel 4.8 : Tabel kebenaran gerbang EX-OR.
A
B
Y=AB
0
0
0
0
1
1
1
0
1
1
1
0
Sedangkan simbol rangkaian dari gerbang EX-OR tampak pada Gambar 4.10
seperti berikut :
A
Y = A B
B
Gambar 4.10 : Simbol rangkaian gerbang EX-OR.
Untuk gerbang EX-OR dapat dikemukakan bahwa :
a. Gerbang EX-OR hanya memiliki dua masukan dan keluarannya Y yang
dinyatakan sebagai Y = A  B = A B + A B .
b. Keluaran gerbang EX-OR pada tingkat logika TINGGI bila dua masukannya
pada tingkat logika yang berbeda ( A = 1 dan B = 0 atau A = 0 dan B = 1).
Pada gerbang EX-NOR akan TINGGI bila dan hanya bila tingkat logika
kedua masukannya sama. Gerbang EX-NOR tidak pernah memiliki lebih dari
dua masukan. Jika A dan B menyatakan dua masukan pada gerbang EX-NOR
dan Y menyatakan keluarannya, maka operasi EX-NOR itu dituliskan sebagai
berikut :
Y = A  B = AB + A B
Tabel kebenaran gerbang EX-NOR dapat diperhatikan pada Tabel 4.9 berikut :
Tabel 4.9 : Tabel kebenaran gerbang EX-NOR.
A
B
Y = AB
0
0
1
0
1
0
1
0
0
1
1
1
Sedangkan simbol rangkaian dari gerbang EX-NOR tampak pada Gambar 4.11
seperti berikut :
A
Y = A B
B
Gambar 4.11 : Simbol rangkaian gerbang EX-NOR.
Untuk gerbang EX-NOR dapat dikemukakan bahwa :
a. Gerbang EX-NOR hanya memiliki dua masukan dan keluarannya Y yang
dinyatakan sebagai Y = A  B = AB + A B .
b. Keluaran gerbang EX-NOR pada tingkat logika TINGGI bila kedua
masukannya pada tingkat logika yang sama ( A = B = 0 atau A = B = 1).
Contoh :
Bentuk gelombang salah satu masukan (A) yang dikenakan kepada gerbang
AND dan bentuk gelombang keluarannya (Y) tampak pada Gambar 4.12 berikut.
Gambarlah bentuk gelombang yang dikenakan kepada masukan lain (B) !
A
Y
A
Y
B
Gambarnya :
B
: Tak Peduli (don’t care), dapat 0 atau 1
6. Soal-soal
1. Apakah yang dimaksud dengan gerbang logika (logic gate) ?
2. Apakah perbedaan antara rangkaian logika dan gerbang logika ?
3. Jelaskan perbedaan antara sistem logika positif dan sistem logika negatif !
4. Jika disusun tabel kebenaran untuk gerbang NAND delapan-masukan,
berapa banyak kombinasi yang berbeda dari semua keadaan masukannya ?
5. Gambarlah bentuk gelombang keluaran pada Y dari gerbang berikut, jika
masukan-masukan A dan B dikenai gelombang simultan seperti pada
gambar di bawah ini !
A
A
Y
B
B
Y
6. Gambarlah bentuk gelombang masukan pada A dari gerbang berikut, jika
gelombang yang dikenakan pada masukan B dan gelombang keluaran Y
seperti pada gambar di bawah ini !
A
A
B
Y
B
Y
7. Gambarlah bentuk gelombang keluaran pada Y dari gerbang berikut, jika
masukan-masukan A, B dan C dikenai gelombang simultan seperti pada
gambar di bawah ini !
A
A
B
C
B
C
Y
Y
8. Gambarlah bentuk gelombang masukan pada B dari gerbang berikut, jika
gelombang-gelombang yang dikenakan pada masukan A dan C serta
gelombang keluaran Y seperti pada gambar di bawah ini !
A
A
B
C
B
Y
C
Y
9. Gambarlah bentuk gelombang (sinyal) yang harus dikenakan pada saluran
Enable untuk gambar berikut agar supaya hanya Detak nomor-nomor 1, 2 dan
5, 6 yang mencapai keluaran Y !
Detak
1
2
3
4
5
6
7
8
Y
Enable
10. (a) Gambarlah bentuk gelombang keluaran pada saluran Y untuk rangkaian
dengan keadaan masukan seperti tampak pada gambar berikut.
(b) Jika
masukan A disambung ke ground (keadaan A = 0), maka gambarlah bentuk
gelombang keluaran Y. (c) Jika masukan A disambung ke + 5 volt (keadaan
A = 1), maka gambarlah bentuk gelombang keluaran Y.
A
B
C
Y
BAB V
ALJABAR BOOLE
1.
Pengertian Aljabar Boole
Dikenal banyak macam aljabar seperti aljabar biasa, aljabar himpunan,
aljabar vektor, aljabar group, aljabar boole, dan lain-lain. Dalam setiap aljabar
memiliki postulat, teorema, dan operasi sendiri-sendiri. Aljabar boole berbeda
dengan aljabar biasa atau aljabar yang lain. Aljabar boole diciptakan pada abad
19 oleh George Boole sebagai suatu sistem untuk menganalisis secara
matematis mengenai logika. Aljabar boole didasarkan pada pernyataan logika
bernilai benar atau salah. Ternyata, aljabar boole ini menjadi alat yang sangat
ampuh untuk merancang maupun menganalisis rangkaian digital. Selanjutnya,
dalam aljabar boole baik konstanta maupun nilai dari suatu variabel hanya
diijinkan memiliki dua kemungkinan nilai (biner) yaitu 0 atau 1. Variabel aljabar
boole sering digunakan untuk menyajikan suatu tingkat tegangan pada terminal
suatu
rangkaian.
Terminal
itu
dapat
berupa
kawat
atau
saluran
masukan/keluaran suatu rangkaian. Misalnya 0 sering digunakan untuk
menandai suatu jangkauan tegangan dari 0 volt sampai dengan 0,8 volt.
Sedangkan 1 sering digunakan untuk jangkauan tegangan dari 2 volt hingga 5
volt.
Dengan demikian tanda 0 dan 1 tidak menggambarkan bilangan yang
sebenarnya tetapi menyatakan keadaan suatu variabel tegangan.
Aljabar boole digunakan untuk menyatakan pengaruh berbagai rangkaian
digital pada masukan-masukan logika, dan untuk memanipulasi variabel logika
dalam menentukan cara terbaik pada pelaksanaan (kinerja) fungsi rangkaian
tertentu. Oleh karena hanya ada dua nilai yang mungkin, aljabar boole lebih
cocok digunakan untuk rangkaian digital dibandingkan dengan aljabar yang lain.
Dalam aljabar boole tidak ada pecahan, desimal, bilangan negatif, akar kwadrat,
akar pangkat tiga, logaritma, bilangan imajiner, dan sebagainya. Kenyataannya,
dalam aljabar boole hanya mengenal 3 (tiga) operasi dasar, yaitu :
1) Penjumlahan logika atau OR dengan simbol operasi „+‟ (tanda plus).
2) Perkalian logika atau AND dengan simbol operasi „.‟ (tanda titik) atau tanpa
tanda sama sekali.
3) Komplementasi atau NOT (atau inversi) dengan simbol operasi „ ‟ (garis di
atas variabel.
Aturan operasi OR, AND dan NOT pada dua tingkat logika 0 dan 1 dapat
dirangkum sebagai berikut :
OR
AND
NOT
0+0=0
0.0=0
0 =1
0+1=1
0.1=0
1 =0
1+0=1
1.0=0
1+1=1
1.1=1
Selanjutnya akan terlihat bahwa aljabar boole dapat digunakan sebagai salah
satu cara untuk menganalisis rangkaian logika dan menyatakan operasinya
secara matematik, terutama untuk mendapatkan konfigurasi rangkaian yang
paling sederhana (paling sedikit jumlah komponen).
2. Teorema dalam Aljabar Boole
Sebagaimana telah dikemukakan sebelumnya bahwa dalam setiap
aljabar memiliki potulat, aturan main, dan operasi sendiri. Ketiga hal tersebut
saling terkait dan terangkum dalam istilah teorema. Berdasarkan teorema dalam
aljabar boole dapat membantu menyederhanakan pernyataan dan rangkaian
logika. Sekali lagi, dalam aljabar boole setiap konstanta dan setiap variabel
hanya dapat bernilai 0 atau 1. Teorema dalam aljabar boole meliputi :
1) A . 0 = 0
2) A . 1 = A
3) A . A = A
4) A . A = 0
5) A + 0 = A
6) A + 1 = 1
7) A + A = A
8) A + A = 1.
Teorema 1) hingga 8) , variabel A sebenarnya dapat menyajikan suatu
pernyataan yang berisi lebih dari satu variabel. Sebagai contoh, bentuk yang
lebih sederhana dari
pernyataan X Y + X Y
dapat ditentukan dengan
memisalkan X Y = A . Kemudian diperoleh A + A = A. Dengan demikian X Y +
X Y = X Y . Teorema berikutnya mencakup lebih dari satu variabel, yaitu :
9)
A + B = B + A (komutatif OR)
10) A . B = B . A
(komutatif AND)
11) A + (B + C) = (A + B) + C = A + B + C (asosiatif OR)
12) A(BC) = (AB)C = ABC (asosiatif AND)
13) A(B + C) = AB + AC (distributif OR)
14) (A + B)(C + D) = AC + BC + AD + BD (distributif AND)
15) A + AB = A
16) A + A B = A + B.
Masih ada dua teorema dalam aljabar boole yang sangat penting yang
disumbangkan oleh matematikawan De Morgan. Kedua teorema de Morgan
tersebut adalah :
______
17) (A + B) = A . B
_____
18) (A . B) = A + B .
Teorema de Morgan itu tidak hanya berlaku untuk dua variabel, selain A dan B
masing-masing terdiri dari lebih dari satu variabel tetapi operasi OR atau AND
dapat diteruskan pada variabel berikutnya , seperti :
_________________
(A + B + C + D + …) = A . B . C . D . …
_______________
(A . B . C . D . …)
= A + B + C + D + ….
3. Minimalisasi Rangkaian Logika Secara Analitis
Realisasi rangkaian logika dengan fungsi tertentu dari suatu pernyataan
logika pada umumnya tidak unik, artinya ada bermacam-macam konfigurasi
rangkaian dengan fungsi yang sama. Tentu saja diinginkan cara ataupun
konfigurasi yang paling sederhana, atau paling mudah dilaksanakan. Dengan
rangkaian yang sederhana memiliki banyak keuntungan misalnya lebih
ekonomis, tidak rumit sehingga meminimalkan kemungkinan terjadinya
kesalahan, mengurangi efek pembebanan, dan sebagainya. Banyak yang
mencari metode terbaik untuk keperluan penyederhanaan itu. Salah satu
metode penyederhanaan rangkaian logika adalah dengan metode analitis.
Metode analitis ini menggunakan teorema-teorema aljabar boole. Sebagai
ilustrasi marilah mencari bentuk yang paling sederhana atau setidaknya lebih
sederhana dari pernyataan atau fungsi logika berikut :
______
Y = ABC + A B ( A . C )
__
__
= ABC + A B ( A + C )
= ABC + A B (A + C )
= ABC + AA B + A B C
= ABC + A B + A B C
= AC (B + B ) + A B
= AC (1) + A B
= A (C + B ).
Jadi
______
Y = ABC + A B ( A . C ) memiliki bentuk yang lebih sederhana yaitu :
Y = A (C + B ).
______
Realisasi rangkaian Y = ABC + A B ( A . C ) dapat diperhatikan pada Gambar
5.1 berikut :
A
C
Y
B
______
Gambar 5.1 : Realisasi pernyataan Y = ABC + A B ( A . C ).
Sedangkan realisasi dari pernyataan Y = A (C + B ) dapat dilihat pada Gambar
5.2 di bawah ini :
B
C
Y
A
Gambar 5.2 : Realisasi pernyataan Y = A (C + B ).
Jika dibandingkan dengan seksama, rangkaian yang ditunjukkan pada Gambar
5.2 jauh lebih sederhana dari pada rangkaian pada gambar 5.1 padahal kedua
rangkaian memiliki fungsi yang sama.
Selanjutnya, untuk lebih memahami penggunaan postulat Boole dalam
rangka penyederhanaan suatu pernyataan logika, perhatikanlah dengan
seksama contoh-contoh berikut ini !
Contoh 1
: Buktikanlah bahwa (A + B)(A + C) = A + BC !
Penyelesaian
:
(A + B)(A + C)
= AA + AC + AB + BC
= A + AC + AB + BC
= A + AB + AC + BC
= A (1 + B) + C (A + B)
= A + C (A + B)
= A + AC + BC
= A (1 + C) + BC
= A + BC.
Contoh 2
: Sederhanakanlah pernyataan logika berikut ini !
A B C + A B C + A B C + AB C .
Penyelesaian
:
A B C + A B C + A B C + AB C = A ( B C + B C ) + A( B C + B C )
= A { C ( B + B)} + A{ C ( B + B)}
=
A C + AC
= C.
Contoh 3
: Carilah bentuk yang paling sederhana dari pernyataan logika :
AB C D + AB C D + ABC D + ABCD.
Penyelesaian
:
AB C D + AB C D + ABC D + ABCD = AB C ( D + D) + ABC (D + D )
= AB C + ABC
= AB ( C + C)
= AB.
Contoh 4
: Carilah bentuk sederhana dari pernyataan berikut :
Y = (A + B + C)(A + B + C )( A + B + C )( A + B + C )( A + B + C ).
Penyelesaian
Y
:
= (A + B + C)(A + B + C )( A + B + C )( A + B + C )( A + B + C )
= (A + B) ( A + B) ( A + C )
= B( A + C ).
Contoh 5
: Buktikanlah bahwa
Penyelesaian
( A B C ) + ( A BC) + (AB C ) = B ( A + C ) !
:
( A B C ) + ( A BC) + (AB C ) = A (B C +BC) + (AB C )
=
A B + AB C
= B( A + A C )
=
A B + BC
=
B ( A +C ) .
4. Soal-soal
1. Berapa banyak dan sebutkan jenis gerbang logika yang diperlukan
untuk menyusun rangkaian dengan persamaan logika berikut :
a. X = (A + B)C
b. Y = AC + (B C + A)
c.
Z = ( AB + C)(AC + BC ) B
2. Tuliskanlah persamaan boolean (persamaan logika) untuk setiap
rangkaian digital berikut, dan kemudian rancanglah rangkaian yang
lebih sederhana (jika mungkin) dengan fungsi yang sama !
a.
A
B
C
V
b.
A
B
W
C
D
c.
A
B
X
C
D
d.
A
Y
B
C
e.
A
B
Z
C
3. Gambarlah rangkaian digital untuk mengimplementasikan persamaan
boolean (persamaan logika) berikut :
a. Z
= A + C( B + D)
b. Y
= (A + B )C + A B C )
c.
= AB( C D ) + B CD(A + C )
X
d. W
= ( AB  A B )  (BC + C )
e. V
= ( AC  ABC  BC ) + (B C )
4. Teorema Boolean apa (dapat lebih dari satu teorema) yang digunakan
untuk mengubah identitas pada setiap persamaan logika berikut :
a. A + (B + C ) = (A + B) + C
b. (AB)C = (CB)A
c.
A(B + C) = AB + AC
d.
AB . C = ( A + B ). C
e. ABC + BC + A = BC + A
5. Dengan menggunakan teorema-teorema aljabar Boole, buktikanlah
bahwa setiap persamaan berikut merupakan identitas !
a. AC + BC + A B C + A B C D = A B + AC
b. (A + C )(A + B + C )(B + C ) = AB + C
c.
( AB  A B ) + AB = A + B
d. ( AC  ABC  BC ) + AB C = C
e. ABC + AB D + B CD + A B + A D + B C + C D = B + D
6. Ubahlah rangkaian pada gambar berikut menjadi rangkaian lain yang
setara (fungsinya sama) tetapi hanya menggunakan gerbang NAND :
A
Y
B
C
7. Ubahlah rangkaian pada gambar berikut menjadi rangkaian lain yang
setara (fungsinya sama) tetapi hanya menggunakan gerbang NOR :
A
B
Y
C
8. Selidiki apakah kedua rangkaian berikut ekivalen, baik menggunakan
teorema aljabar boole ataupun dengan tabel kebenaran !
A
A
Y1
B
Y2
B
9. Susunlah tabel kebenaran dan diagran pewaktunya untuk persamaan
logika berikut :
a.
Y = AB + B C + A B C
b.
Z = A B C + A B C + ABC
10. Tentukan persamaan yang sederhana dan gambarkan rangkaian
logiknya untuk menghasilkan keluaran Y dari masukan A, B, dan C
jika diagram pewaktu untuk setiap saluran tersebut tampak pada
gambar nerikut :
A
B
C
Y
BAB VI
PETA KARNAUGH
Aljabar Boole berperan penting untuk menyederhanakan fungsi logika.
Sedangkan fungsi logika sangat berguna untuk merancang rangkaian digital.
Realisasi dari suatu fungsi logika tidaklah unik, melainkan bermacam-macam
dengan hasil yang sama, sehingga dimungkinkan untuk mencari cara yang
paling sederhana dan mudah untuk direalisasikan atau diimplementasikan.
Dalam merancang rangkaian digital juga perlu menerapkan prinsip ekonomi,
yakni tujuan tercapai dengan resiko, waktu, dan biaya sesedikit mungkin. Para
perancang rangkaian elektronik telah banyak mengeluarkan tenaga dan
meluangkan waktu guna menemukan cara yang tepat untuk dapat merancang
rangkaian elektronik dengan komponen sesedikit mungkin (minimal) dan
mendapatkan hasil yang optimal. Dengan jumlah komponen minimal, selain
lebih ekonomis tetapi secara teknis lebih mengurangi kerumitan rangkaian,
konsumsi daya lebih rendah, dan mengurangi efek pembebanan. Cara-cara
yang telah ditempuh untuk tujuan tersebut meliputi cara analitis (dengan aljabar
Boole), cara grafis, maupun dengan menggunakan komputer.
Peta Karnaugh digunakan sebagai cara penyederhanaan persamaan
logika secara grafis, atau dapat pula dipandang sebagai metoda untuk
mengubah suatu tabel kebenaran ke rangkaian logika yang sesuai secara
sederhana dan rapi. Keuntungan penggunaan peta Karnaugh adalah dapat
melihat
bentuk
umum
persoalan
dan
memungkinkannya
melakukan
penyederhanaan dengan cepat dan tepat. Dengan demikian, minimalisasi
rangkaian logika dengan metoda peta Karnaugh dapat lebih cepat dari pada
dengan metode analitis. Metode analitis memerlukan pengalaman dan
kecerdikan tersendiri.
Meski secara prinsip metode peta Karnaugh dapat
digunakan untuk menyelesaikan persoalan dengan sejumlah variabel masukan,
tetapi secara praktis hanya efektif (terbatas) untuk enam variabel saja.
Sedangkan untuk persoalan yang melibatkan lebih dari enam variabel masukan
akan sangat baik jika diselesaikan dengan bantuan program komputer.
1. Bentuk Standar Fungsi Boole
Fungsi Boole sangat penting untuk merancang rangkaian digital,
khususnya rangkaian logika. Sedangkan aljabar Boole sangat berperan dalam
penyederhanaan fungsi Boole. Batasan fungsi Boole tentu saja memenuhi
operasi-operasi dalam aljabar Boole. Pernyataan logika AND, OR, NOT, dan
kombinasinya dipenuhi oleh fungsi Boole. Dengan demikian fungsi Boole
merupakan fungsi yang menyatakan hubungan antara variabel-variabel
masukan dan keluaran dalam rangkaian logika. Jika suatu fungsi Boole memiliki
variabel-variabel masukan A, B, C, D, … dan variabel keluarannya adalah Y,
maka hubungan antara variabel-variabel masukan dan keluaran tersebut secara
umum dapat dinyatakan sebagai :
Y = f (A,B,C,D,…).
(6-1)
Jumlah dari Hasil Kali (Sum Of Product)
Untuk memahami hubungan antara fungsi Boole, tabel kebenaran, dan
peta Karnaugh terlebih dahulu ditinjau suatu kasus khusus dari persamaan (6-1)
sebagai :
Y = f (A,B,C) = A C + B C .
(6-2)
Tabel kebenaran dari persamaan (6-2) tampak pada Tabel 6-1 berikut :
Tabel 6-1 :
Baris ke
A
B
C
AC
BC
Y = A C + BC
0
0
0
0
0
0
0
1
0
0
1
1
0
1
2
0
1
0
0
1
1
3
0
1
1
1
0
1
4
1
0
0
0
0
0
A BC
A BC
A BC
AB C
5
1
0
1
0
0
0
6
1
1
0
0
1
1
7
1
1
1
0
0
0
Dengan memperhatikan nomor baris di mana Y = 1, dapat diperoleh :
Y = 1
= baris 1 atau baris 2 atau baris 3 atau baris 6
=
001
+
010
+
011
+
110
=
A BC +
A BC
+
A BC
+ AB C
(6-3)
Fungsi Boole seperti disajikan pada persamaan (6-3) merupakan bentuk standar
jumlah dari hasil kali (sum of product). Jika diperhatikan dengan seksama,
setiap bentuk sum of product memenuhi sifat-sifat sebagai berikut :
a. Fungsi tersebut merupakan jumlahan (OR) dari suku-suku
b. Setiap suku berupa perkalian (AND) dari variabel-variabel
c. Semua variabel fungsi muncul pada setiap suku (bentuk kanonik).
Setiap suku dari fungsi Boole dalam bentuk sum of product juga disebut
minterm (suku minimum). Untuk menyingkat penulisan, setiap minterm diberi
simbol m yang diikuti dengan angka indeks menurut nomor barisnya. Untuk
persamaan (6-3) dapat dituliskan kembali sebagai :
Y=
A BC +
A BC
+
A BC + AB C
=
001
+
010
+
011
+
110
=
m1
+
m2
+
m3
+
m6
=
 m (1,2,3,6).
(6-4)
Secara sederhana minterm atau sum of product dapat disajikan dengan cara
sebagai berikut
a. Nyatakanlah A,B,C,D,… dengan 1 dan A , B , C , D ,… dengan 0
b. Nyatakanlah kombinasi biner stiap suku menjadi desimal (n)
c. Nyatakanlah Y =  m (n), dengan n merupakan nilai desimal dari setiap
suku.
Contoh 1 :
Y = f (A,B,C)
= ABC + AB C + A B C + A B C + A B C
= 111
+ 110 + 101 +
001
+ 000
=
+
m1
+
m0
m7
+
m13
m7
m6 +
m5 +
=  m (0,1,5,6,7).
Contoh 2 :
Y = f (A,B,C,D)
=  m (0,2,5,6,7,13).
=
m0
+
=
0000
+
m2
+
0010 +
m5
+
m6
0101 + 0110
+
+
0111 + 1101
= A B C D + A B C D + A B C D + A BC D + A BCD + AB C D.
Hasil Kali dari Jumlah (Product of Sum)
Berdasarkan tabel kebenaran dari persamaan (6-2) dapat juga
diperhatikan nomor baris di mana Y = 1
atau Y = 0, dan selanjutnya dapat
dituliskan sebagai berikut :
Y = 1
= baris 0 atau baris 4 atau baris 5 atau baris 7
=
=
000
+
100
ABC + A BC
+
101
+
111
+ A B C + ABC
(6-5)
Dengan sifat AB = A + B dan A  B = A B persamaan (6-5) dapat dituliskan
menjadi :
_____________________________
Y = Y = ( A B C ) + (A B C ) + (A B C) + (ABC)
______ ______ _____ ____
= ( A B C ) (A B C ) (A B C) (ABC)
= (A + B + C) ( A + B + C) ( A + B + C ) ( A + B + C ).
(6-6)
Fungsi Boole seperti disajikan pada persamaan (6-6) merupakan bentuk standar
hasil kali dari jumlah (Product of Sum). Jika diperhatikan dengan seksama
setiap bentuk product of sum memenuhi sifat-sifat :
a. Fungsi tersebut terdiri dari faktor-faktor
b. Setiap faktor berupa jumlahan (OR) dari variabel-variabel
c. Semua variabel fungsi muncul pada setiap faktor (bentuk kanonik).
Setiap faktor dari fungsi Boole dalam bentuk product of sum juga disebut
maxterm (suku maksimum). Untuk menyingkat penulisan, setiap maksterm
diberi simbol M yang diikuti dengan angka indeks menurut nomor barisnya.
Untuk persamaan (6-6) dapat dituliskan kembali sebagai
Y = (A + B + C) ( A + B + C) ( A + B + C ) ( A + B + C ).
=
000
.
100
=
M0
.
M4
=
.
.
101
M5
.
.
111
M7
 M (0,4,5,7).
(6-7)
Secara sederhana maksterm atau product of sum dapat disajikan dengan cara
sebagai berikut :
a. Nyatakanlah A,B,C,D,… dengan 0 dan A , B , C , D ,… dengan 1
b. Nyatakanlah kombinasi biner stiap faktor menjadi desimal (n)
c. Nyatakanlah Y =  M (n), dengan n merupakan nilai desimal dari setiap
faktor.
Contoh 3 :
Y = f(A,B,C)
= ( A + B + C ) ( A + B + C) (A + B + C )
=
111
.
110
.
001
=
7
.
6
.
1
=  M (1,6,7).
Contor 4 :
Y = f(A,B,C,D) =  M (11,8,3,1,0).
=
1011
.
1000
.
0011
.
0001
.
0000
=( A +B+ C + D )( A +B+C+D)(A+B+ C + D )(A+B+C+ D )(A+B+C+D).
Jika diperhatikan dengan seksama, kedua persamaan (6-4) dan (6-7) dijabarkan
dari tabel kebenaran yang sama. Dengan demikian dapat dituliskan kembali
bahwa :
Y = f (A,B,C) =  m (1,2,3,6) =  M (0,4,5,7).
Terlihat bahwa jika
m = {1,2,3,6},
M = {0,4,5,7}
dan misalkan
S =
{0,1,2,3,4,5,6,7}, maka m  M = 0 dan m  M = S. Jadi m = M1 dan M = m1
(sifat komplemen). Sifat tersebut juga dapat diperoleh secara analitis dengan
menerapkan aljabar Boole tanpa tabel kebenaran. Sebagai ilustrasi marilah kita
coba untuk menyatakan fungsi Y = f (A,B,C) =
minterm dan maksterm seperti berikut :
Y = A + BC + A C
= A (C+ C ) + (A+ A )BC + A C
A + BC + A C dalam bentuk
= AC + A C + ABC + A BC + A C
= AC + AC + ABC + A BC
= AC(B+ B ) + A C (B+ B ) + ABC + A BC
= ABC + A B C + AB C + A B C + ABC + A BC
= ABC + A B C + AB C + A B C + A BC
=
=
111 + 101 + 110 + 100 + 011
7 +
5
+
6
+
4 +
3
=  m (3,4,5,6,7).
Y = A + BC + A C
= (A+B) (A+C) (A C )
= (A+B+A C ) (A+C+A C )
= (A+B+A) (A+B+ C ) (A+C+A) (A+C+ C )
= (A+B) (A+C) (A+B+ C )
= (A+B+C C ) (A+C+B B ) (A+B+ C )
= (A+B+C) (A+B+ C ) (A+B+C) (A+ B +C) (A+B+ C )
= (A+B+C) (A+B+ C ) (A+ B +C)
=
000
.
001
.
010
=
0
.
1
.
2
=  M (0,1,2).
Dari ilustrasi tersebut tampak bahwa :
Y = A + AB + A C
=  m (3,4,5,6,7)
=  M (0,1,2).
Sifat komplemen tersebut dapat digunakan untuk mengubah minterm menjadi
maksterm atau sebaliknya.
Contoh 5 :
Ubahlah minterm
Y = f (A,B,C) = ABC + A B C + A B C + A BC
menjadi
maksterm !
Y = ABC + A B C + A B C + A BC
=
=
=
111 + 100 + 010 + 011
7
+
4
+
2
+
3
 m (2,3,4,7).
Sedangkan bentuk makstermnya adalah :
Y = f(A,B,C)
=  M (0,1,5,6)
=
000
.
001
.
101
.
110
= (A+B+C) (A+B+ C ) ( A +B+ C ) ( A + B +C).
2. Peta Karnaugh (Peta K)
Peta
Karnaugh
digunakan
sebagai
salah
satu
metode
untuk
menyederhanakan fungsi Boole (pernyataan logika). Peta Karnaugh merupakan
penggambaran secara grafik semua kombinasi variabel-variabel yang terlibat
dalam suatu pernyataan logika. Dengan demikian peta Karnaugh merupakan
metode untuk menunjukkan hubungan antara variabel masukan dan keluaran
yang diinginkan. Peta Karnaugh terdiri dari kolom dan baris di mana cacah
kolom dan baris bergantung pada banyaknya variabel yang terlibat dalam suatu
pernyataan logika. Beberapa catatan tentang peta Karnough adalah sebagai
berikut :
a. Jika ada m variabel untuk kolom dan n variabel untuk baris, maka diperlukan
2m kolom dan 2n baris yang membentuk 2(m+n) kotak atau sel. Jumlah kotak
tersebut sama dengan banyaknya baris dalam tabel kebenaran. Hal ini juga
berarti bahwa banyaknya variabel fungsi logika ada (m+n).
b. Nilai dari kombinasi variabel pada setiap sel digunakan untuk memberikan
nomor sel yang bersangkutan. Nilai tersebut menunjukkan nomor baris pada
tabel kebenaran.
c. Sel-sel pada peta Karnough digunakan untuk meletakkan suku minterm atau
faktor maksterm yang sesuai.
d. Tanda 1 digunakan untuk menyatakan bahwa suatu sel berisi minterm,
sedangkan tanda 0 menyatakan bahwa sel itu berisi maksterm.
Untuk lebih jelasnya marilah kita perhatikan beberapa contoh berikut, dimulai
dari fungsi logika dengan 3 variabel masukan sebagai Y = f (A,B,C). Tabel
kebenaran fungsi logika tersebut ditentukan sebagaimana tampak pada Tabel 62 berikut ini.
Tabel 6-2 :
Nomor
Masukan
Keluaran
Baris
A
B
C
Y
0
0
0
0
1
1
0
0
1
1
2
0
1
0
1
3
0
1
1
0
4
1
0
0
0
5
1
0
1
0
6
1
1
0
1
7
1
1
1
0
ABC
A BC
A BC
AB C
Berdasarkan pada tabel 6-2 dapat dituangkan dalam peta Karnough dengan
beberapa cara. Cara pertama kita tetapkan m = 2 (cacah variabel untuk kolom
ada 2, yaitu A dan B), dan n = 1 (cacah variabel untuk baris ada 1, yaitu C).
Dengan demikian cacah kolom 2m = 22 = 4, dan cacah baris ada 2n = 21 = 2.
Peta Karnaugh untuk cara tersebut adalah sebagai berikut :
AB
AB
AB
00
01
C
AB
AB
11
Keadaan :
m=2
n =1
10
C: 0
000
0
010
2
110
6
100
4
C: 1
001
1
011
3
111
7
101
5
Nilai dari kombinasi variabel
Nomor baris
Cara ke dua kita tetapkan m = 1 (cacah variabel untuk kolom ada 1, yaitu A),
dan n = 2 (cacah variabel untuk baris ada 2, yaitu B dan C). Dengan demikian
cacah kolom ada 2m = 21 = 2, dan cacah baris ada 2n = 22 = 4. Peta Karnaugh
untuk cara tersebut adalah sebagai berikut :
A
BC
B C : 00
B C: 01
BC : 11
B C : 10
A
A
0
1
000
100
0
4
001
101
1
5
011
111
3
7
010
110
2
6
Keadaan :
m=1
n =2
Nilai dari kombinasi variabel
Nomor baris
Untuk kedua cara di atas masing-masing memiliki cacah sel yang sama, yaitu
2(m + n) = 2(2 + 1) = 2(1 + 2) = 23 = 8. Perhatikan bahwa nomor sel ditunjukkan oleh
kombinasi biner dari nilai variabel yang bersilangan di sel itu. Sebagai contoh
perhatikan beberapa bagian peta di bawah ini !
A
0
AB
00
atau
000
000
0
0
A B C = 000 (2) = 0
B C : 00
C:0
AB
01
A
0
atau
011
A BC = 011 (2) = 3
011
3
3
BC : 01
C:1
A
1
AB
10
101
5
C:1
atau
101
5
A B C = 101 (2) = 5
B C : 01
dan seterusnya.
Selanjutnya ditetapkan dahulu bahwa kita akan memilih menyatakan fungsi
logika dalam bentuk sum of product yang berarti pula kita menggunakan bentuk
minterm. Sehingga berdasarkan tabel 6-2 kita ambil nomor baris di mana Y = 1,
yaitu terjadi pada baris-baris nomor 0, 1, 2, dan 6. Dengan demikian, kita
menempatkan 1 ke dalam sel-sel yang bernomor 0, 1, 2, dan 6 tadi. Setelah
bentuk minterm tersebut diisikan pada sel-sel yang sesuai akan diperoleh peta
Karnaugh seperti berikut :
AB
AB
AB
00
01
C
0
11
1
1
C: 1
AB
2
1
C: 0
AB
10
6
4
7
5
Keadaan :
m=2
n =1
1
3
1
Atau :
A
BC
B C : 00
B C: 01
A
A
0
1
0
4
1
5
3
7
2
6
Keadaan :
m=1
n =2
1
1
BC : 11
B C : 10
1
1
Pernyataan sum of product untuk keluaran Y pada peta Karnaugh yang telah
diisi dengan 1 dapat diperoleh dengan cara meng-OR-kan bersama seluruh sel
yang berisi 1. Pada peta Karnaugh dengan tiga variabel baik untuk keadaan m =
2 dan n = 1 maupun keadaan m = 1 dan n = 2 seperti di atas, maka pernyataan
logika setiap sel yang berisi 1 adalah A B C (sel 0), A B C (sel 1), A B C (sel 2),
dan AB C (sel 6), sehingga pernyataan untuk keluarannya adalah
Y = A B C + A B C + A B C + AB C .
Tetapi
penyataan
keluaran
demikian
(peng-OR-an)
masih
dapat
disederhanakan lagi dengan cara mengelompokkan sel-sel yang berdekatan
dalam peta Karnaugh yang berisi 1. Proses penggabungan tersebut dinamakan
operasi pengelompokan (looping). Dasar pengelompokan itu adalah postulat
yang berbentuk A + A = 1.
Kelompok-1 : sel 0 dengan sel 1
:
A B C + A BC
:
A B ( C + C)
:
A B (1)
:
A B.
Kelompok-2 : sel 2 dengan sel 6
: A B C + AB C
: ( A + A)B C
: (1)B C
: BC .
Sel 0 dan sel 2 juga dapat dikelompokkan karena kedua sel juga saling
berdekatan. Tetapi karena sel 0 telah dikelompokkan dalam kelompok-1 dan sel
2 dalam kelompok-2, maka kedua sel tersebut tidak perlu dikelompokkan lagi.
Jika semua sel telah dikelompokkan, maka hasil akhirnya diperoleh dengan
cara meng-OR-kan semua kelompok yang dihasilkan. Dengan demikian
diperoleh :
Y = A B C + A B C + A B C + AB C .
= Kelompok-1 + Kelompok-2
=
A B + BC .
Jadi bentuk sederhana dari Y = A B C + A B C + A B C + AB C
adalah
Y = A B + BC .
3. Minimalisasi Rangkaian Logika (Cara Grafis)
Suatu rangkaian elektronik dibuat untuk melaksanakan tugas tertentu.
Realisasi dari suatu desain rangkaian logika (digital) tidak unik. Banyak bentuk
konfigurasi rangkaian dengan fungsi yang sama. Di antara sejumlah konfigurasi
yang mungkin tentu akan dipilih konfigurasi yang paling sederhana. Konfigurasi
tersebut memerlukan komponen dalam jumlah minimal (paling sedikit). Dengan
demikian rangkaian menjadi lebih ekonomis, tidak rumit, konsumsi daya rendah,
dan mengurangi efek pembebanan. Sebagaimana telah dipelajari sebelumnya,
telah dikenal dua cara untuk menyederhanakan pernyataan logika yaitu cara
analitis dengan menerapkan teorema-teorema aljabar Boole dan cara grafis
dengan peta Karnaugh. Karena cara analitis telah dikemukakan pada bagian
aljabar
Boole,
maka
pada
kesempatan
berikut
akan
dibahas
cara
menyederhakanakan (meminimalkan) pernyataan (rangkaian) logika dengan
peta Karnaugh. Meskipun setiap cara memiliki keuntungan tersendiri, tetapi
penyederhanaan
dengan
peta
Karnaugh
memiliki
banyak
keuntungan
dibandingkan dengan cara aljabar yang sering harus menempuh langkah cobacoba (trial and error). Langkah-langkah dalam peta Karnaugh lebih pasti dan
lebih sedikit khususnya untuk pernyataan yang memuat banyak suku. Selain itu,
dengan peta Karnaugh hampir pasti dihasilkan pernyataan yang paling
sederhana.
Telah dikemukakan prinsip-prinsip penggunaan peta Karnaugh untuk
menyederhanakan suatu pernyataan logika berdasarkan tabel kebenaran.
Setelah 0 atau 1 diisikan pada peta Karnaugh, maka penyederhanaan secara
grafis dapat ditempuh dengan cara pengelompokan (looping). Dalam proses
pengelompokan perlu memperhatikan hal-hal sebagai berikut :
a. Cacah sel dalam kelompok sebanyak 2
k
dengan k bilangan bulat positif
termasuk 0. Jadi cacah sel dalam satu kelompok adalah satu sel atau dua
sel atau empat sel atau delapan sel dan seterusnya.
b. Sel-sel suatu kelompok dalam peta Karnaugh membentuk bujur sangkar
atau empat persegi panjang.
c. Sel-sel yang secara horisontal atau vertikal berdekatan hanya berbeda satu
variabel. Sehingga sel-sel pada sisi yang berseberangan (sel-sel tepi) dalam
peta Karnaugh dapat dianggap berdekatan dan dapat dikelompokkan. Pada
peta Karnaugh berikut sel 0 dan sel 2 dianggap berdekatan.
A
BC
B C : 00
B C: 01
A
A
0
1
0
4
1
5
3
7
2
6
Keadaan :
m=1
n =2
1
1
BC : 11
B C : 10
1
1
d. Semakin banyak sel anggota dalam suatu kelompok, akan diperoleh
pernyataan yang semakin sederhana.
e. Cara mendapatkan pernyataan terakhir setelah pengelompakan untuk
minterm adalah dengan meng-OR-kan semua kelompok, dan untuk
maksterm dengan meng-AND-kan semua kelompok.
Berdasarkan prinsip-prinsip penyederhanaan pada peta Karnaugh tersebut
dapat diperoleh bahwa :
a. Kelompok yang terdiri dari dua sel akan mengeliminasi satu variabel yang
muncul dalam bentuk saling komplemen. Contoh untuk peta Karnaugh
sembarang adalah :
C D
CD
CD
CD
AB
0
0
1
1
AB
0
0
0
0
AB
0
0
0
0
AB
0
0
0
0
A BC
Variabel D tereliminasi
karena muncul saling
komplemen sebagai D dan D
b. Kelompok yang terdiri dari empat sel akan mengeliminasi dua variabel yang
muncul dalam bentuk saling komplemen. Contoh untuk peta Karnough
sembarang adalah :
C D
CD
CD
CD
AB
0
0
0
0
AB
0
1
1
0
AB
0
1
1
0
AB
0
0
0
0
BD
Variabel A dan C hilang,
karena muncul saling
komplemen sebagai A dan
A serta C dan C .
c. Kelompok yang terdiri dari delapan sel akan mengeliminasi tiga variabel
yang muncul dalam bentuk saling komplemen. Contoh untuk peta Karnough
sembarang adalah :
C D
CD
CD
CD
AB
0
0
0
0
AB
1
1
1
1
AB
1
1
1
1
AB
0
0
0
0
d. Dan seterusnya.
B
Variabel A, C, dan D hilang,
karena masing-masing muncul
saling komplemen sebagai A dan
A , C dan C , serta D dan D .
Aturan pengelompokan dalam peta Karnaugh dapat disimpulkan bahwa jika
satu variabel muncul dalam bentuk saling komplemen pada satu kelompok,
maka variabel-variabel itu akan dieliminasi (hilang) dari pernyataannya.
Variavel-variabel yang sama pada semua sel pada satu kelompok akan muncul
dalam pernyataan akhir.
Berikut ini disampaikan beberapa contoh cara grafis (dengan peta
Karnaugh) untuk menentukan pernyataan logika paling sederhana dari suatu
fungsi logika empat variabel Y = f (A,B,C,D) yang dinyatakan dalam suatu tabel
kebenaran dan masing-masing dipilih dalam bentuk minterm. Setiap contoh
berdiri sendiri.
Nomor
A
B
C
D
Y
Baris
Dari tabel kebenaran di samping
dapat dituangkan dalam peta
Karnough sebagai :
0
0
0
0
0
0
1
0
0
0
1
0
2
0
0
1
0
0
3
0
0
1
1
0
AB
0
0
0
0
4
0
1
0
0
0
AB
0
1
1
0
5
0
1
0
1
1
AB
0
1
1
0
6
0
1
1
0
0
AB
0
0
1
0
7
0
1
1
1
1
8
1
0
0
0
0
9
1
0
0
1
0
10
1
0
1
0
0
11
1
0
1
1
1
12
1
1
0
0
0
13
1
1
0
1
1
14
1
1
1
0
0
15
1
1
1
1
1
C D C D CD C D
BD
ACD
Sel-sel 5, 7, 13, dan 15 membentuk satu kelompok (terdiri dari 4 sel) yang
menghasilkan satu pernyataan
BD. Kelompok berikutnya terdiri dari sel 11
dan sel 15 (terdiri dari 2 sel) yang menghasilkan pernyataan ACD. Semua sel
yang berisi 1 (minterm) telah dikelompokkan sehingga tinggal menentukan
pernyataan logika terakhirnya, yaitu dengan meng-OR-kan kedua kelompok itu
dan diperoleh pernyataan paling sederhana sebagai
Y = BD + ACD.
Dengan menerapkan postulat Boole dengan mengeluarkan variabel D akan
diperoleh pernyataan lain yang setara sebagai :
Y = (B + AC)D.
Contoh berikutnya adalah :
Nomor
A
B
C
D
Y
Baris
Dari tabel kebenaran di samping
dapat dituangkan dalam peta
Karnough sebagai :
0
0
0
0
0
0
1
0
0
0
1
0
2
0
0
1
0
0
3
0
0
1
1
1
AB
0
0
1
0
4
0
1
0
0
1
AB
1
1
1
1
5
0
1
0
1
1
AB
1
1
0
0
6
0
1
1
0
1
AB
0
0
0
0
7
0
1
1
1
1
8
1
0
0
0
0
9
1
0
0
1
0
10
1
0
1
0
0
11
1
0
1
1
0
12
1
1
0
0
1
13
1
1
0
1
1
14
1
1
1
0
0
15
1
1
1
1
0
C D C D CD C D
BC
A CD
AB
Sel 3 dan sel 7 membentuk satu kelompok dan menghasilkan pernyataan
A CD. Sel-sel 4, 5, 6, dan 7 merupakan satu kelompok yang menghasilkan
pernyataan A B. Sedangkan sel-sel 4, 5, 12, dan 13 menjadi satu kelompok
untuk menghasilkan pernyataan
BC .
Semua sel yang berisi
1
telah
dikelompokkan, maka pernyataan logika selengkapnya adalah :
Y = A B + B C + A CD
atau :
Y = ( A + C )B + A CD
atau :
Y = A (B + CD) + B C .
Dengan langkah yang sejenis, cara-cara pada minterm dapat diterapkan untuk
maksterm, hanya saja pernyataan dalam kelompok merupakan OR dari
variabel, dan pernyataan terakhirnya merupakan AND dari semua kelompok.
Perhatikanlah contoh berikut !.
Nomor
A
B
C
D
Y
Baris
Dari tabel kebenaran di samping
dapat dituangkan dalam peta
Karnough sebagai :
0
0
0
0
0
1
1
0
0
0
1
1
2
0
0
1
0
1
3
0
0
1
1
0
AB
1
1
0
1
4
0
1
0
0
0
AB
0
0
0
0
5
0
1
0
1
0
AB
0
0
1
1
6
0
1
1
0
0
AB
1
1
1
1
7
0
1
1
1
0
8
1
0
0
0
1
9
1
0
0
1
1
10
1
0
1
0
1
11
1
0
1
1
1
C D C D CD C D
B+ C
A +C+D
A +B
12
1
1
0
0
0
13
1
1
0
1
0
14
1
1
1
0
1
15
1
1
1
1
1
Sel 3 dan sel 7 membentuk satu kelompok dan menghasilkan pernyataan
A +C+D. Sel-sel 4, 5, 6, dan 7 merupakan satu kelompok yang menghasilkan
pernyataan A +B. Sedangkan sel-sel 4, 5, 12, dan 13 menjadi satu kelompok
untuk menghasilkan pernyataan
B+ C .
Semua sel yang berisi
0
telah
dikelompokkan, maka pernyataan logika selengkapnya adalah :
Y = ( A +B) (B+ C ) ( A +C+D).
4. Aplikasi Desain Rangkaian
Rangkaian elektronika pada umumnya, dirancang dan dibuat untuk dapat
bekerja atau melaksanakan tugas tertentu. Misalnya rangkaian-rangkaian
bekerja sebagai penguat, pembanding, perata, osilator, penjumlah, pengendali,
penyandi, distributor, dan masih banyak yang lainnya. Pada umumnya, setiap
rangkaian memiliki saluran masukan dan saluran keluaran. Termasuk dalam
saluran masukan adalah saluran pengendali. Tidak berbeda dengan rangkaian
elektronik pada umumnya, rangkaian logika (digital) juga dirancang untuk
menghasilkan keluaran tertentu berdasarkan masukan yang tertentu pula. Jika
fungsi dari suatu rangkaian logika ditentukan berdasarkan pada pernyataan
boolean, maka rangkaian logika tersebut dapat langsung diwujudkan. Perlu
diingat bahwa konfigurasi dari wujud suatu rangkaian logika tidaklah unik.
Rangkaian logika dengan fungsi tertentu dapat muncul dalam konfigurasi yang
bervariasi.
Sembarang rangkaian logika, tidak peduli bagaimanapun rumitnya,
secara ideal dapat diwujudkan dengan tiga gerbang dasar OR, AND, dan NOT.
Ketiga gerbang dasar tersebut benar-benar merupakan bangunan dasar dari
sistem digital. Tetapi dalam prakteknya banyak dijumpai rangkaian yang
dirancang
dengan
fungsi
khusus
seperti
pencacah,
flip-flop,
register,
multiplakser, komparator, pewaktu, dan sebagainya. Selanjutnya dikemukakan
ilustrasi untuk mengimplementasikan rangkaian logika berdasarkan pernyataan
logiknya. Pernyataan tersebut pada umumnya diperoleh dari tabel kebenaran
atau dari hasil suatu analisis. Misal diperlukan suatu rangkaian yang ditentukan
sebagai
Y = A.B.C = ABC. Berdasarkan fungsi tersebut segara diketahui
bahwa ternyata diperlukan gerbang AND tiga masukan. Rangkaian yang
didefinisikan sebagai Y = A + B dalam implementasinya digunakan gerbang
OR dua masukan dan gerbang NOT pada salah satu masukannya. Rasional
yang digunakan pada kasus yang sederhana tersebut dapat dikembangkan
pada rangkaian lain yang jauh lebih rumit.
Pada rangkaian yang rumit, setiap suku atau setiap faktor dari
pernyataan boolean memerlukan gerbang atau sejumlah gerbang tersendiri.
Untuk lebih jelasnya misalkan perlu membuat rangkaian dengan fungsi yang
dinyatakan sebagai Y = AC + B C + A BC. Berdasarkan pernyataan boolean
tersebut dapat dikemukakan bahwa terdapat tiga variabel (A, B, dan C), dan
terdiri dari tiga suku (AC,
B C , dan A BC) yang di-OR-kan bersama. Hal
tersebut berarti diperlukan gerbang OR tiga masukan yang masing-masing
masukan sama dengan
AC, B C , dan A BC.
Ilustrasi tersebut
dapat
digambarkan sebagai berikut.
AC
BC
A BC
Y = AC + B C + A BC
Gambar 6.1 : Diagram gerbang fungsi Y = AC + B C + A BC.
Setiap masukan gerbang OR tersebut merupakan suku-suku hasil operasi AND,
artinya gerbang AND digunakan untuk menghasilkan setiap suku. Selain itu juga
diperlukan dua gerbang NOT untuk menghasilkan suku yang memuat A dan C .
Dengan demikian gambar selengkapnya adalah sebagai berikut.
AC
A
B
Y = AC + B C + A BC
BC
C
A BC
Gambar 6.2 : Diagram rangkaian dari Y = AC + B C + A BC.
Cara sebagaimana dilakukan di atas dapat selalu diikuti walaupun sering
ditemukan langkah yang tidak efisien. Tetapi cara di tersebut lebih menekankan
pada alur pikir yang mendasar. Contoh selanjutnya adalah mendesain diagram
rangkaian logika yang memenuhi fungsi
Y = AB + B C. Pernyataan tersebut
menunjukkan bahwa suku-suku AB dan B C
merupakan masukan pada
gerbang OR, dan setiap suku dihasilkan dari gerbang AND yang terpisah.
Dengan demikian diperlukan dua gerbang AND dua masukan, satu gerbang
NOT, dan satu gerbang OR dua masukan. Gambar desain selengkapnya adalah
sebagai berikut.
A
AB
B
C
Y = AB + B C
BC
Gambar 6.3 : Diagram rangkaian dari Y = AB + B C.
5. Soal-soal
1. Tuliskan fungsi berikut menurut bentuk fungsi standar yang sesuai,
kemudian sederhanakan dengan metode peta Karnaugh !
a. f(A,B,C) = m(0, 2, 3, 4)
b. f(A,B,C) = M(1, 5, 6, 7)
c. f(A,B,C,D) = m(0, 2, 3, 4, 8, 9, 10, 11, 15)
f(A,B,C,D) = m(0, 2, 3, 5, 6, 7, 11, 14, 15)
d.
e. f(A,B,C,D) = M(1, 5, 6, 7, 10, 12, 13, 14, 15)
2. Dengan metode peta Karnaugh, ubahlah persamaan berikut ke dalam
bentuk jumlah dari hasil-kali (sum of product) !
a. V = ABC + A B C + B C
W = B (C D + A D) + B C (A + A D )
b.
c. X =
A B D + B ( C D + ACD ) + A B D
d. Y = A (C D + C D ) + A B D + A B C D
e. Z =
B C D + B C D + C D + C D (B + A B )
3. Jika diketahui fungsi f(A,B,C) = m(3, 4, 6), maka :
a. Carilah bentuk fungsi standar sum of product dari fungsi tersebut !
b. Carilah bentuk fungsi standar product of sum dari fungsi tersebut !
c. Dengan aljabar Boole, tunjukkan bahwa kedua bentuk standar
tersebut adalah ekivalen !
4. Berdasarkan peta Karnaugh berikut, tentukanlah :
AB
00
01
11
10
00
1
1
0
1
01
1
0
0
1
11
1
0
0
1
10
0
1
0
0
CD
a. Tabel kebenaran
b.
Bentuk fungsi standar SP
c. Bentuk fungsi minterm
d. Pernyataan paling sederhana
5. Berdasarkan peta Karnaugh berikut, tentukanlah :
AB
00
01
11
10
00
1
1
0
0
01
1
0
0
1
11
0
0
1
1
10
1
1
0
0
CD
a. Tabel kebenaran
b.
Bentuk fungsi standar PS
c. Bentuk fungsi maksterm
d. Pernyataan paling sederhana
6. Tabel kebenaran berikut diturunkan dari suatu fungsi
Y = f (A,B,C).
Dengan peta Kanaugh, tentukanlah pernyataan paling sederhana dari
fungsi (Y) tersebut !
No. Baris
A
B
C
Y = f(A,B,C)
0
0
0
0
1
1
0
0
1
1
2
0
1
0
1
3
0
1
1
0
4
1
0
0
1
5
1
0
1
0
6
1
1
0
0
7
1
1
1
0
7. Sederhanakan rangkaian berikut dengan menggunakan peta Karnaugh !
a.
A
B
Y
C
D
b.
A
B
C
D
Y
BAB VII
RANGKAIAN PEMBANDING DAN PENJUMLAH
Gerbang-gerbang logika digunakan dalam peralatan digital dan sistem
informasi digital untuk mengendalikan aliran informasi, untuk menyandi maupun
menerjemahkan sandi data digital, untuk mendeteksi maupun memberikan
respon terhadap adanya persyaratan dalam sistem kendali, dan yang tidak
kalah pentingnya adalah untuk menampilkan berbagai operasi aritmatik dan
logik terhadap data digital. Pada kesempatan berikut akan dipelajari rangkaian
digital
(merupakan kombinasi dari gerbang-gerbang logika dasar) yang
memiliki fungsi khusus. Rangkaian tersebut adalah pembanding (comparator)
dan penjumlah (adder). Rangkaian
secara khusus karena
kedua
pembanding
dan
penjumlah
dibahas
rangkaian tersebut sering dijumpai dalam
sistem digital dan merupakan rangkaian dasar dalam mesin komputasi dan
sistem pengendali.
1. Rangkaian Pembanding (Comparator)
Kadang perlu untuk mengetahui apakah suatu bilangan biner A adalah
lebih kecil, sama besar, atau lebih besar bila dibandingkan dengan bilangan B.
Suatu
sistem
rangkaian
keputusan
yang digunakan
pembanding.
yang
untuk membuat
Pembanding digital
keputusan
merupakan
itu
unsur
sangat penting dalam sistem komputer dan
disebut
pembuat
sistem
pengendalian digital. Secara umum, rangkaian pembanding adalah rangkaian
yang digunakan untuk membandingkan suatu besaran masukan dengan
besaran masukan lain
dan
menghasilkan
suatu
keadaan
tertentu pada
keluarannya. Ketika besar dua bilangan biner A dan B dibandingkan, maka
paling banyak ada 3 (tiga) kemungkinan keadaan yang dapat dihasilkan, yaitu
A > B, A < B atau A = B. Tetapi kemungkinan keadaan hasil tersebut yang
jelas hanya ada 2 (dua), yaitu A = B atau A <> B.
Untuk mempelajari rangkaian pembanding, perlu untuk mengingat
kembali salah satu prinsip aljabar Boole bahwa apabila suatu rangkaian
didefinisikan oleh suatu pernyataan Boolean, maka dari pernyataan tersebut
dapat diwujudkan secara langsung rangkaian logikanya.
Sebagai
contoh
dipilih suatu rangkaian dua masukan A dan B dengan satu keluaran Y yang
tabel kebenarannya ditentukan seperti berikut ini.
Tabel 7.1
Baris
Masukan
Keluaran
Ke
A
B
Y
0
0
0
0
1
0
1
1
2
1
0
1
3
1
1
0
Dari tabel tersebut tampak bahwa jika A = B maka Y = 0, dan jika A <> B
(tanda
<>
artinya
tidak sama)
maka
Y = 1.
Untuk
mewujudkan
rangkaiannya terlebih dahulu kita tuangkan dalam Peta Karnaugh, sambil
mengingat
kembali
prinsip
yang
telah dipelajari,
seperti tampak pada
Gambar 7.1 di bawah ini.
A
A
A
B
0
1
B
1
0
B
Gambar 7.1 : Peta Karnoagh untuk tabel 7.1
Berdasarkan bentuk minterm-nya, maka sesuai dengan peta pada Gambar 7.1
di atas dapat dituliskan pernyataan Booleannya sebagai
Y
= f(A,B)
=  m(1,2)
= AB + AB
Dari persamaan (7.1) dapat direalisasikan
(7.1)
diagaram
rangkaian
gerbang
logikamya seperti tampak pada Gambar 7.2 di bawah ini.
A
B
Y
Gambar 7.2 : Diagram rangkaian Y = A B + A B.
Sebenarnya diagram rangkaian pada gambar 7.2
tersebut
telah dikenal
dengan baik sebagai gerbang EX-OR (Exclusive OR). Jika diperhatikan dengan
seksama, diagram rangkaian tersebut
memiliki fungsi membandingkan
masukan A terhadap B yang hasil pembandingannya menentukan keadaan
keluaran Y. Y = 0 berarti A = B dan bila Y = 1 berarti A <> B. Perlu diketahui
bahwa
rangkaian
di
atas
bukanlah
satu-satunya
jawaban.
Dengan
menggunakan persamaan logika lain akan diperoleh rangkaian yang lain
pula. Perhatikan langkah-langkah berikut :
Y
= AB + AB
= 0 + AB + 0 + AB
= A A + AB + B B + AB
= A( A + B ) + B( B + A )
= A ( AB ) + B ( AB )
= (A + B) ( AB )
Diagram rangkaian gerbang logika dari Y = (A + B) ( AB ) seperti tampak pada
Gambar 7.3 di bawah ini.
A
B
Y
Gambar 7.3 : Diagram rangkaian Y = (A + B) ( AB )
Masih banyak cara lain untuk membuat EX-OR dengan memanipulasi logika,
dan untuk meyakinkan gambar 7.3 dapat diperiksa tabel kebenaran melalui
pernyataan logikanya. Dengan cara sebagaimana telah dikemukakan di atas,
dapat dibuat rangkaian pembanding dua masukan dengan keadaan keluaran
yang lain, misalnya jika A = B maka Y = 1, dan jika A <> B maka Y = 0. Tabel
kebenaran untuk keadaan tersebut tercantum pada tabel 7.2 berikut.
Tabel 7.2
Baris
Masukan
Keluaran
Ke
A
B
Y
0
0
0
1
1
0
1
0
2
1
0
0
3
1
1
1
Untuk mewujudkan rangkaian yang memenuhi tabel 7.2, terlebih dahulu kita
susun dalam Peta Karnaugh seperti tampak pada Gambar 7.4 di bawah ini.
A
A
A
B
1
0
B
0
1
B
Gambar 7.4 : Peta Karnaugh untuk tabel 7.2
Sesuai dengan bentuk minterm-nya, maka berdasarkan peta pada gambar 7.4
di atas dapat dituliskan pernyataan Booleannya sebagai
Y
= f(A,B)
=  m(0,3)
= AB + A B
(7.2)
Dari persamaan (7.2) dapat direalisasikan diagaram rangkaian gerbang
logikamya seperti tampak pada Gambar 7.5 di bawah ini.
A
B
Y
Gambar 7.5 : Diagram rangkaian Y = AB + A B
Sebenarnya diagram rangkaian pada gambar 7.5 tersebut telah dikenal dengan
baik sebagai gerbang EX-NOR (Exclusive NOR). Jika diperhatikan dengan
seksama, diagram rangkaian tersebut
memiliki fungsi membandingkan
masukan A terhadap B yang hasil pembandingannya menentukan keadaan
keluaran Y. Y = 0 berarti A <> B dan bila Y = 1 berarti A = B. Perlu diketahui
bahwa
rangkaian
di
atas
bukanlah
satu-satunya
jawaban.
Dengan
menggunakan persamaan logika lain dapat diperoleh rangkaian yang lain lagi.
Dua rangkaian pembanding yang telah dibahas merupakan pembanding
1 bit dengan satu jalur keluaran, yaitu (Y). Selanjutnya dicoba untuk merancang
rangkaian pembanding 1 bit tetapi dengan tiga jalur keluaran. Jalur pertama (X)
untuk keluaran bila A < B, jalur ke dua (Y) untuk keluaran A = B, dan jalur ke
tiga (Z) untuk keluaran A > B. Langkah pertama yang kita tempuh adalah
membuat tabel kebenaran. Perhatikanlah tabel 7.3 berikut ini.
Tabel 7. 3.
Baris
Masukan
Keluaran
ke
A
B
X
Y
Z
0
0
0
0
1
0
1
0
1
1
0
0
2
1
0
0
0
1
3
1
1
0
1
0
Berdasarkan tabel 7.3 tersebut selanjutnya dituangkan dalam Peta Karnaugh
untuk setiap jalur keluaran. Hasil penuangannya tampak pada Gambar 7.6 di
bawah ini.
Gambar 7.6 (a) :
A
B
B
B
A
A
0
1
0
0
Peta Karnaugh tabel 7.3 untuk Jalur
keluaran X. Persamaan logika untuk
keluaran X adalah :
X = AB
(7.3)
Gambar 7.6 (b) :
A
A
A
B
1
0
B
0
1
B
Peta Karnaugh tabel 7.3 untuk Jalur
keluaran Y. Persamaan logika untuk
keluaran Y adalah :
Y = AB + A B
(7-4)
Gambar 7.6 (c) :
A
B
B
B
A
A
0
0
1
0
Peta Karnaugh tabel 7.3 untuk Jalur
keluaran Z. Persamaan logika untuk
keluaran Z adalah :
Z = AB
(7-5)
Perwujudan diagram rangkaian gerbang logika dari gambar 7.6 (a), (b), dan
(c) di atas tampak pada Gambar 7.7 di bawah ini.
X
A
B
Y
Z
Gambar 7.7 : Diagram rangkaian pembanding 1 bit
dengan tiga jalur keluaran.
Pembanding yang memiliki tiga jalur keluaran lebih banyak dijumpai pada
pembanding 2 bit atau lebih. Sampai di sini baru dibahas pembanding dua
bilangan A dan B masing-masing 1 bit. Artinya A dapat bernilai 1 atau 0,
demikian pula B hanya berharga 1 atau 0. Selanjutnya, hendak dirancang
rangkaian pembanding dua bilangan A dan B yang masing masing terdiri dari
2 bit, di mana dapat dinyatakan bahwa A = A 1 A2
dan B = B1 B2 . Dengan
demikian A atau B masing-masing dapat bernilai 00, 01, 10, 11. Tabel 7.4
berikut menampilkan tabel
kebenaran pembanding 2 bit dengan tiga jalur
keluaran berturut -turut X untuk A > B, Y untuk A = B, dan Z untuk A < B.
Tabel 7.4 :
Masukan
Baris
A
Keluaran
B
X
Y
Z
ke
A1
A2
B1
B2
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
1
2
0
0
1
0
0
0
1
3
0
0
1
1
0
0
1
4
0
1
0
0
1
0
0
5
0
1
0
1
0
1
0
6
0
1
1
0
0
0
1
7
0
1
1
1
0
0
1
8
1
0
0
0
1
0
0
9
1
0
0
1
1
0
0
10
1
0
1
0
0
1
0
11
1
0
1
1
0
0
1
12
1
1
0
0
1
0
0
13
1
1
0
1
1
0
0
14
1
1
1
0
1
0
0
15
1
1
1
1
0
1
0
Dari tebel 7.4, guna menentukan persamaan logikanya, dapat dituangkan ke
dalam
Peta Karnaugh
untuk masing-masing
jalur
Perhatikan Gambar 7.8 : (a), (b), dan (c) berikut ini.
keluaran X, Y, dan Z.
A2A1
A2 A1
A 2A1
A2A1
A2 A 1
B2B1
0
1
1
1
B 2B1
0
0
1
1
B2B1
0
0
0
0
B2 B 1
0
0
1
0
B2B1
Gambar 7.8 (a) : Peta Karnaugh tabel 7.4 untuk jalur keluaran X
Persamaan logika untuk jalur keluaran X berdasarkan pada gambar 7.8 (a)
di atas adalah
X = A2 B 2 + A2A1 B 1 + A1 B 2 B 1
A2A1
(7-6)
A2 A1
A 2A1
A2A1
A2 A 1
B2B1
1
0
0
0
B 2B1
0
1
0
0
B2B1
0
0
1
0
B2 B 1
0
0
0
1
B2B1
Gambar 7.8 (b) : Peta Karnaugh tabel 7.4 untuk jalur keluaran Y.
Persamaan logika untuk jalur keluaran Y berdasarkan pada gambar 7.8 (b)
di atas adalah
Y = A 2 A 1 B 2 B 1 + A 2A1 B 2B1 + A2A1B2B1 + A2 A 1B2B1
(7-7)
A2A1
A2 A1
A 2A1
A2A1
A2 A 1
B2B1
0
0
0
0
B 2B1
1
0
0
0
B2B1
1
1
0
1
B2 B 1
1
1
0
0
B2B1
Gambar 7.8 (c) : Peta Karnaugh tabel 7.4 untuk jalur keluaran Z.
Persamaan logika untuk jalur keluaran Z berdasarkan pada gambar 7.8 (c)
di atas adalah
Z = A 2 B2 + A 2 A 1 B1 + A 1 B2 B1
(7-8)
Diagram rangkaian gerbang logika berdasarkan pada persamaan (7-6), (7-7),
dan (7-8) adalah seperti tampak pada Gambar 7.9 berikut ini.
A2
A1
B2
B1
X
Y
Z
Gambar 7.9 : Diagram rangkaian pembanding 2 bit
dengan tiga jalur keluaran.
Gambar 7.9 bukanlah satu-satunya jawaban untuk rangkaian pembanding 2
bit tiga jalur keluaran. Selanjutnya persamaan (7-6), (7-7), atau (7-8) dapat
dimodifikasi untuk mendapatkan persamaan logika lain yang setara. Sebagai
contoh perhatikan persamaan (7-7) yang dapat dimodifikasi menjadi
Y = A 2 A 1 B 2 B 1 + A 2A1 B 2B1 + A2A1B2B1 + A2 A 1B2B1
= A 2 B 2 ( A 1 B 1 + A1B1) + A2B2 (A1B1 + A 1 B 1)
= ( A 2 B 2 + A2B2 ) (A1B1 + A 1 B 1)
(7-9)
Diagram rangkaian gerbang logika dari persamaan (7-9) tersebut dapat dilihat
pada Gambar 7.10 berikut.
A1
B1
A1
B1
Y
A2
B2
A2
B2
Gambar 7.10 : Diagram rangkaian dari persamaan (7-9).
Jika gambar 7.10 tersebut digantikan pada blok keluaran Y dari gambar 7.9
akan didapatkan satu model diagram rangkaian pembanding 2 bit tiga keluaran
yang berbeda dari sebelumnya. Demikian seterusnya dapat dirancang modelmodel rangkaian pembanding 2 bit. Oleh karena telah dikenal langkah-langkah
untuk merancang suatu rangkaian pembanding, maka selanjutnya diagram
rangkaian pembanding lebih disederhanakan. Suatu contoh penyederhanaan
diagram rangkaian pembanding dapat dilihat pada Gambar 7.11 di bawah ini.
A
X
Y
Z
A>B
B
A=B
A<B
A2
A1
A3
A2
A1
B3
B2
B1
Diagran rangkaian pembanding 1 bit
Gambar 7.11 (b) :
X
Y
Z
A>B
B2
B1
Gambar 7.11 (a) :
A=B
A<B
A>B
Diagran rangkaian pembanding 2 bit
Gambar 7.11 (c) :
X
Y
Z
A=B
A<B
Dengan langkah-langkah
Diagran rangkaian pembanding 3 bit
sebagaimana telah dikemukakan di atas, dapat
dirancang rangkaian-rangkaian pembanding 3 bit, 5 bit, dan seterusnya. Tentu
saja semakin besar bit-nya, semakin rumit rangkaiannya.
Sebagai tambahan informasi untuk keperluan praktis, dalam membuat
rangkaian pembanding dengan
jumlah
bit yang lebih
rangkaian-rangkaian pembanding lain yang
dilengkapi
dengan
tiga
terminal
pada
besar digunakan
bagian masukannya
masukan tambahan. Ketiga terminal
masukan tambahan tersebut adalah A>B, A=B, dan A<B. Sebagai contoh
pada Gambar 7.12 berikut adalah pembanding 2 bit tiga keluaran yang
dilengkapi dengan tiga terminal masukan tambahan.
A2
A1
A
A>B
B2
B1
X
Y
Z
A=B
B
A<B
Gambar 7.12 :
Diagran rangkaian pembanding 2 bit
3 keluaran yang dilengkapi dengan 3
terminal masukan tambahan.
A>B
A=B
A<B
Sifat dari ketiga terminal masukan tambahan
tersebut
disusun sedemikian
hingga memenuhi syarat berikut :
1. Keluaran X bernilai 1 jika terminal masukan tambahan A>B berharga 1.
2. Keluaran Z bernilai 1 jika terminal masukan tambahan A<B berharga 1.
3. Jika terminal masukan tambahan A = B berharga 1 maka keluaran (X, Y, dan
Z) dari pembanding tergantung pada data masukan.
Dengan rangkaian pembanding yang memenuhi sifat-sifat tersebut kita dapat
menggabung secara kaskade dua buah pembanding 2 bit untuk membentuk
sebuah
pembanding
4
bit.
Rangkaian hasil
penggabungan tersebut
diperlihatkan pada Gambar 5.13 berikut.
Pembanding 1
A, MSB
B, MSB
0
1
0
A2
A1
X
B2
B1
Y
Z
A>B
A=B
A<B
Pembanding 2
A, LSB
B, LSB
A2
A1
X
B2
B1
Y
Z
A>B
A=B
A<B
Gambar 7.13 : Pembanding 4 bit yang disusun dari 2 buah pembanding 2 bit.
Berdasarkan pada gambar 7.13, pembanding-1 sebagai masukan MSB (most
significant byte) dan tiga terminal masukan tambahan harus dibuat sedemikian
hingga terminal A>B bernilai 0, terminal A=B bernilai 1, dan terminal A<B
bernilai 0.
Hal itu didasarkan pada suatu konsekuensi logis bahwa
membandingkan
dua
bilangan
lebih
efisien
apabila
lebih
dahulu
membandingkan MSB-nya. Jika MSB bilangan A lebih besar dari pada
MSB
bilangan B,
dengan sendirinya A > B dan tidak perlu lagi untuk
membandingkan LSB dari kedua bilangan.
hanya apabila MSB kedua bilangan yang
Pembandingan LSB dilakukan
dibandingkan berharga sama.
Misalkan kita hendak membandingkan bilangan A = 8732, bilangan B = 4299,
dan bilangan C = 8751. Untuk bilangan A anggaplah memiliki MSB-A = 87 dan
LSB-A = 32. Untuk
bilangan B memiliki MSB-B = 42 dan LSB-B = 99.
Sedangkan untuk bilangan C memiliki MSB-C = 87 dan LSB-C = 51. Bilangan
mana yang lebih besar antara A dan B ? Pertama bandingkan MSB-A dan
MSB-B yang berturut-turut adalah 87 dan 42. Jelas MSB-A lebih besar dari
pada MSB-B dengan demikian A>B, dan tidak perlu membandingkan LSB-A
dan LSB-B. Bilangan mana yang lebih besar antara A dan C ? Karena MSB-A
= MSB-C = 87, maka
perlu
untuk
membandingkan LSB-A dan LSB-C.
Ternyata LSB-C = 51 lebih besar dari pada LSB-A = 32, dengan demikian C>A.
Dengan cara yang sama, dapat menggabungkan dua pembanding 4 bit
(IC-7485) menjadi satu pembanding 8 bit, dan diagram rangkaiannya
diperlihatkan pada Gambar 7.14 di bawah ini.
Pembanding 1
A, MSB
4 bit
X
B, MSB
4 bit
0
1
0
A>B
A=B
Y
Z
Pembanding 2
A, LSB
4 bit
X
B, LSB
4 bit
Y
Z
A>B
A=B
A<B
A<B
Gambar 7.14 : Pembanding 8 bit yang disusun dari 2 buah pembanding 4 bit.
Dengan susunan seperti gambar 7.14, jika 4 bit data MSB-A (A8 A7 A6 A5)
lebih besar dari pada 4 bit data MSB-B
dimasukkan
pada
pembanding-1
(B8 B7 B6 B5),
(sebelah
kiri),
yang keduanya
maka keluaran X dari
pembanding-1 akan bernilai 1. Keadaan ini akan mengakibatkan keluaran X
dari pembanding-2 bernilai 1. Sebaliknya jika 4 bit data MSB-A lebih kecil dari
pada 4 bit data MSB-B, maka keluaran Z dari pembanding-1 akan bernilai 1,
dan akan membuat keluaran Z pada pembanding-2 berharga 1. Sedangkan
jika 4 bit MSB-A dan MSB-B bernilai sama, maka keluaran Y pembanding-1
akan berharga 1. Pada keadaan ini keluaran Y pembanding-2 akan tergantung
pada nilai 4 bit data LSB-A (A4 A3 A2 A1) dan LSB-B (B4 B3 B2 B1 ).
Contoh :
Berdasarkan gambar
7.14.X
di
samping, tentukanlah status logik
A0
keluaran (Y) untuk setiap kelompok
B0
data
A1
B1
Y
A2
a.
B3
(word
atau
string)
masukan berikut :
B2
A3
biner
A 3 A2 A1 A3 = 1 0 1 1
B3 B2 B1 B3 = 1 0 1 1
b.
A 3 A2 A1 A3 = 0 1 1 0
B3 B2 B1 B3 = 0 1 1 1
Gambar 7.14.X
a. Ketika data A3 A2 A1 A3 dan B3 B2 B1 B3 dikenakan pada masukan, maka
keluaran dari keluaran dari keempat EX-NOR tersebut adalah 1, sehingga
keluaran dari gerbang AND adalah Y = 1.
b. Pada kasus tersebut keluaran tiga gerbang EX-NOR petama adalah 1,
tetapi keluaran EX-NOR yang ke empat adalah 0 karena kedua
masukannya tidak sama, sehingga keluaran gerbang AND adalah Y = 0.
2. Rangkaian Penjumlah (Adder)
Di dalam sebuah mesin hitung digital, seperti kalkulator dan komputer,
terdapat suatu rangkaian yang berfungsi untuk melaksanakan operasi-operasi
aritmatik
seperti
penjumlahan,
pengurangan, perkalian dan
pembagian.
Bahkan operasi dasar dari perkalian dan pembagian berturut-turut adalah
penjumlahan
merupakan
dan pengurangan. Operasi perkalian secara
penjumlahan
berulang
sedangkan
pembagian
mendasar
merupakan
pengurangan yang berulang pula. Berbagai operasi aritmatik dalam komputer
maupun kalkulator dilaksanakan dalam bentuk biner. Alasan menggunakan
bilangan biner adalah karena kerja dari
rangkaian
digital didasarkan pada
pulsa-pulsa berbentuk kotak yang hanya memiliki keadaan hidup (tinggi) atau
mati (rendah). Sebagai perbandingan, dalam sistem bilangan desimal terdiri
dari 10 digit yaitu 0,1,2,3,4,5,6,7,8, dan 9; sedangkan dalam sistem bilangan
biner hanya dikenal 2 digit yaitu 0 dan 1.
Selanjutnya hendak dipelajari
rangkaian
penjumlah
dan
tentunya
adalah penjumlah biner. Sebagai gambaran perhatikan metode penjumlahan
dua bilangan desimal 58 dan 63 berikut :
Simpanan
1
1
(Carry)
0
0
5
6
8
3
1
2
1
+
Kita telah mengetahui cara menjumlahkan kedua bilangan tersebut. Satuan
berada pada satu kolom dengan satuan, puluhan
dengan puluhan,
demikian seterusnya.
terletak pada satu kolom
Proses penjumlahan pada
suatu
kolom harus ditambah dengan simpanan (carry) yang dihasilkan dari proses
penjumlahan pada kolom sebelumnya (jika ada).
Cara penjumlahan bilangan biner serupa dengan penjumlahan
bilangan desimal. Dalam proses penjumlahan bilangan biner
pada
juga dikenal
simpanan (carry). Jika pada bilangan desimal dikenal posisi satuan (10 0),
puluhan (101),
ratusan (102),
ribuan (103), dan seterusnya; maka pada
bilangan biner juga dikenal posisi satuan (20), duaan (21), empatan (22),
delapanan (23) dan seterusnya. Aturan penjumlahan bilangan biner adalah
0+0=0
0+1=1
1 + 0 = 1.
Dalam bentuk biner tidak dikenal 1 + 1 = 2 karena dalam sistem biner angka 2
bukanlah angka biner. Oleh karena itu, dalam aturan penjumlahan biner
1 + 1 = 0 dengan simpanan 1
dan tentu saja
1 + 1 + 1 = 1 dengan simpanan 1.
Simpanan 1 berarti menambahkan 1 ke dalam kolom posisi berikutnya
yaitu di sebelah kiri tempat
simpanan
tadi dihasilkan. Marilah kita coba
menjumlahkan dua bilangan biner 111010 dan 111111 dengan cara disusun
sebagai berikut
Simpanan
1
1
1
1
1
0
1
1
1
0
1
0
0
1
1
1
1
1
1
+
1
1
1
1
0
0
1
Pada kolom satuan 0 + 1 = 1 tidak menghasilkan simpanan. Pada kolom
duaan 1 + 1 = 0 dengan simpanan 1. Pada kolom empatan karena mendapat
simpanan dari kolom sebelumnya (duaan) maka proses penjumlahannya
adalah 1 + 0 + 1 = 0 dengan simpanan 1. Pada kolom delapanan juga
mendapat simpanan dari kolom sebelumnya sehingga prosesnya 1 + 1 + 1 =
1 dengan simpanan 1. Demikian seterusnya.
Rangkaian Penjumlah Paro (Half Adder atau HA)
Untuk menyusun suatu rangkaian penjumlah biner dari gerbang logika,
maka terlebih dahulu perlu
mengetahui
diturunkan menurut tabel kebenarannya.
fungsi
rangkaian tersebut
dan
Kita mulai dari penjumlahan dua
bilangan A dan B yang masing- masing 1 bit. Perhatikan tabel 7.5 berikut.
Tabel 7.5 :
Masukan
Keluaran
A
B
Jumlah (S)
Simpanan (C)
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
EX-OR
AND
Digit yang
dijumlahkan
Berdasarkan tabel 7.5, bagian keluaran rangkaian yang akan kita susun
terdiri dari jumlah (S) dan simpanan (C). Ternyata kedua kolom keluaran itu
dapat dihasilkan dengan menggunakan dua gerbang logika sebagai berikut :
a. Kolom jumlah (S) merupakan keluaran dari gerbang EX-OR. Ingat kembali
bahwa keluaran gerbang EX-OR akan 1 (tinggi) ketika masukannya tidak
sama 1, tetapi 0 (rendah) pada saat kedua masukan sama.
b. Kolom simpanan (C) merupakan keluaran dari gerbang AND. Keluaran
gerbang tersebut 1 (tinggi) hanya apabila semua masukannya 1.
Gambar 7.15 berikut menunjukkan cara
gerbang
EX-OR
dan
AND
dihubungkan untuk mendapatkan suatu rangkaian penjumlah yang memenuhi
tabel 7.5. Jika diperhatikan, rangkaian penjumlah itu
hanya memiliki dua
terminal masukan masing-masing untuk bit yang akan dujumlahkan dan dua
terminal keluaran berturut-turut untuk jumlah (S) dan simpanan (C).
A
S (Jumlah)
B
C (Simpanan)
Gambar 7.15 : Rangkaian penjumlah paro.
Rangkaian penjumlah seperti gambar 7.15 tersebut hanya dapat digunakan
untuk menjumlahkan biner pada posisi satuan
saja,
artinya tidak dapat
digunakan untuk menjumlahkan posisi duaan,
empatan, delapanan, dan
seterusnya. Hal ini disebabkan karena rangkaian penjumlah tadi tidak memiliki
masukan untuk simpanan
Rangkaian
dengan
hasil penjumlahan dari
posisi
sebelumnya.
sifat seperti itulah yang dikenal sebagai rangkaian
penjumlah paro (half adder). Simbol dari rangkaian penjumlah paro tampak
pada Gambar 7.16 di bawah ini.
S atau 
A
HA
B
C
Gambar 7.16 : Simbol rangkaian penjumlah paro.
Rangkaian Penjumlah Penuh (Full Adder atau FA)
Sebagaimana telah dipelajari, penjumlah paro hanya dapat digunakan
untuk proses penjumlahan bilangan pada posisi satuan saja, atau lebih umum
pada
karena
bagian
LSB-nya
saja
tidak
tersedia
terminal masukan
simpanan
dari
(LSB
singkatan dari Least Significant Byte)
untuk
posisi sebelumnya. Padahal
menampung
proses
terjadinya
penjumlahan
pada
umumnya melibatkan simpanan. Suatu rangkaian yang memenuhi syarat
tersebut dikenal sebagai rangkaian penjumlah penuh (full adder). Tentu
saja rangkaian penjumlah penuh memiliki tiga terminal masukan dan dua
terminal keluaran. Sekarang dapat dipikirkan fungsi dari rangkaian penjumlah
penuh. Kita dapat merancang suatu rangkaian gerbang logika yang berfungsi
sebagai penjumlah penuh. Lebih dahulu kita susun suatu tabel kebenaran
yang menunjukkan perubahan nilai-nilai masukan dan keluaran untuk semua
keadaan masukan yang mungkin. Tabel 7.6 berikut adalah tabel kebenaran
suatu rangkaian dengan tiga masukan A, B, dan Ci serta dengan dua keluaran
S dan C0.
Tabel 7.6 :
Baris
Masukan
Keluaran
ke
A
B
Ci
S
Co
0
0
0
0
0
0
1
0
0
1
1
0
2
0
1
0
1
0
3
0
1
1
0
1
4
1
0
0
1
0
5
1
0
1
0
1
6
1
1
0
0
1
7
1
1
1
1
1
Oleh karena terdapat dua keluaran, kita akan merancang rangkaian untuk
setiap keluaran secara individual. Berdasarkan tabel 7.6 dapat kita turunkan ke
dalam Peta Karnaugh untuk kedua keluaran yang masing-masing tampak
pada Gambar 7.17.
AB
AB
AB
AB
AB
Ci
AB
AB
AB
AB
AB
Co
Ci
0
1
0
1
Co
0
0
1
0
Ci
1
0
1
0
Co
0
1
1
1
(a) Jumlah S
(b) Simpanan (Co)
Gambar 7.17 : Tabel kebenaran rangkaian penjumlah penuh
(a) Untuk tabel keluaran Jumlah (S)
(b) Untuk terminal keluaran simpanan (C0)
Persamaan logika untuk Keluaran Jumlah (S) berdasarkan pada gambar 7.17
(a) adalah :
S
= Sm (1,2,4,7)
= A B Ci + A B C i + A B C i + ABCi
= A ( B Ci + B C i ) + A( B C i + BCi )
______
= A (B  Ci ) + A (B  C )
= A + (B  Ci ).
(7.10)
Sedangkan persamaan logika untuk Keluaran Simpanan berdasarkan
pada
gambar 7.17 (b) adalah :
C = Sm (3,5,6,7)
= BCi + ACi + AB.
(7.11)
Diagram rangkaian logika untuk penjumlah penuh (FA) sebagai realisasi dari
persamaan (7.10) dan persamaan (7.11) di atas terlihat pada Gambar 7.18
berikut.
B
A
Ci
S
Co
Gambar 7.18 : Diagram rangkaian penjumlah penuh (FA)
Gambar 7.18
bukanlah satu-satunya
rangkaian penjumlah penuh,
masih
banyak cara yang dapat digunakan untuk menghasilkan persamaan logika
yang sesuai dengan
keluaran S dan C.
Cara
lain untuk mendapatkan
rangkaian penjumlah penuh adalah dengan menyusun dua penjumlah paro dan
satu gerbang OR seperti tampak pada Gambar 7.19 di bawah ini.
Ci
A
S
S
HA
A
A
S
B
Co
HA
B
B
Co
Gambar 7.19 : Diagram rangkaian penjumlah penuh
Co
Kita telah mengetahui bahwa
setiap
rangkaian
penjumlah penuh
memiliki lima terminal, tiga terminal sebagai masukan (A, B, dan C i ) dan dua
terminal sebagai keluaran (S dan C0 ). Oleh karena itu, untuk selanjutnya
rangkaian penjumlah penuh digambarkan dengan simbol seperti tampak
pada Gambar 7.20.
S
Ci
A
FA
Co
B
Gambar 7.20 : Diagram simbol rangkaian penjumlah penuh.
Penjumlah Jajar (Paralel)
Rangkaian penjumlah yang telah dipelajari masih terbatas untuk
menjumlahkan dua bilangan biner A dan B yang masing-masing 1 bit. Artinya
bilangan A hanya dapat bernilai 0
atau 1, demikian pula bilangan B dapat
berharga 0 atau 1 saja. Dalam kenyataannya, mesin hitung seperti kalkulator
ataupun komputer melakukan operasi penjumlahan dalam bentuk biner
tetapi setiap bilangan dapat memiliki bit yang lebih besar dari pada 1 bit.
Untuk alasan ini, marilah kita pelajari rangkaian penjumlah yang dapat
menjumlahkan dua bilangan
yang
masing masing lebih dari 1 bit.
Satu
rangkaian penjumlah paro dan beberapa rangkaian penjumlah penuh dapat
disusun
menjadi
rangkaian penjumlah paralel
yang dapat menjumlahkan
bilangan- bilangan dengan bit besar (lebih dari 1 bit). Gambar 7.21 di bawah
ini memperlihatkan diagram rangkaian penjumlah paralel 2 bit yang tersusun
atas satu penjumlah paro dan satu penjumlah penuh. Misalkan hendak
dijumlahkan dua bilangan A dan B yang masing-masing A = A1 A0 dan B = B1
B0 .
A1 A0
B1 B0
+
S
A0
HA
B0
Co
S
Ci
A1
FA
B1
Co
Empatan
Duaan
Satuan
Gambar 7.21 : Diagram rangkaian penjumnlah paralel 2 bit
yang menggunakan HA dan FA.
Penjumlah paro (HA) pada gambar 7.21 di atas dapat
digantikan
dengan
penjumlah penuh (FA1) yang terminal simpanan masukannya (C i ) dibuat 0
(rendah). Perhatikan Gambar 7.22 berikut ini.
A1 A0
B1 B0
Ci
+ 0
S
A0
FA1
B0
S
Co Ci
A1
B1
FA2
Co
Empatan
Duaan
Gambar 7.22 : Diagram rangkaian penjumlah paralel 2 bit tanpa HA.
Satuan
Agar Anda semakin jelas, marilah kita menyusun rangkaian penjumlah
paralel 3 bit dengan menggunakan tiga buah penjumlah penuh. Rangkaian
tersebut dapat digunakan untuk menjumlahkan bilang A = A 2A1A0 dan bilangan
B = B2B1B0. Rangkaian yang kita maksudkan terlihat pada Gambar 7.23 di
bawah ini.
A2 A1 A0
B2 B1 B0
0
+
A0
B0
S
Ci
FA1
Co
1-an
S
A1
B1
2-an
Ci
FA2
Co
Ci
A2
B2
FA3
S
4-an
Co
8-an
Gambar 7.23 : Diagram rangkaian penjumlah paralel 3 bit.
Berdasarkan contoh-conttoh pada gambar 7.22 dan gambar 7.23, selanjutnya
Anda dapat merancang rangkaian penjumlah paralel 4 bit, 5 bit, ..., n bit.
Ternyata, jika Anda ingin membuat rangkaian penjumlah paralel n bit, Anda
memerlukan
n
buah
rangkaian penjumlah penuh (FA). Jadi banyak bit
bilangan yang akan dijumlahkan menentukan cacah rangkaian penjumlah
penuh yang diperlukan. Rangkaian penjumlah paralel n bit dapat digunakan
untuk menjumlahkan dua bilangan A dan B yang masing-masing
bilangan
adalah A = A(n-1)A(n-2) ... A3A2A1A0 dan bilangan B = B(n-1)B(n-2) ... B3B2B1B0.
Rangkaian penjumlah paralel sangat lazim digunakan dalam rangkaian digital.
Tentu saja untuk menghitung hasil penjumlahan dari bilangan biner yang
lebih panjang (bit besar) diperlukan penjumlah penuh yang lebih banyak.
Rangkaian penjumlah paralel banyak tersedia dalam bentuk rangkaian
terpadu (IC). Salah satu yang terkenal adalah dikemas sebagai rangkaian
penjumlah paralel 4 bit yang di dalamnya terdiri dari empat buah penjumlah
penuh. Untuk jenis TTL IC tersebut berseri 7483 dan juga 74283, sedangkan
jenis CMOS adalah 4008. Gambar 7.24 berikut memperlihatkan simbol dari
penjumlah paralel 4 bit yang dikemas dalam IC 7483. Masukan-masukan
pada IC tersebut untuk dua bilangan masing-masing 4 bit yaitu A3A2A1A0 dan
B3B2B1B0 serta simpanan Ci. Sedangkan keluarannya adalah
bit-bit
hasil
penjumlahan S3S2S1S0 dan simpanan C0 .
A3 A2 A1 A0
Co
S3
Penjumlah paralel 4 bit
(7483)
S2
S1
S0
B3
B2
Ci
B1 B0
Gambar 7.24 : Simbol penjumlah paralel 4 bit 7483
Dua atau lebih penjumlah paralel dapat dihubungkan secara kaskade untuk
menyesuaikan
penjumlahan
bilangan-bilangan dengan bit yang lebih besar.
Sebagai contoh Gambar 7.25 di bawah ini menunjukkan cara dua buah IC
7483 dihubungkan secara kaskade untuk menjumlahkan dua bilangan yang
masing-masing 8 bit.
A7 A6 A5 A4
Co Penjumlah paralel 4 bit
(7483)
S7
S6
S5
S4
B7 B6
Ci
B5 B4
A3 A2 A1 A0
Co Penjumlah paralel 4 bit
(7483)
B3
B2 B1 B0
S3
S2
Gambar 7.25 : Dua IC 7483 yang dirangkai secara kaskade
Ci
S1
S0
Dua bilangan yang dijumlahkan melalui rangkaian pada gambar 7.25 di atas
masing-masing adalah A = A7 A6 A5 A4 A3 A2 A1 A0 dan B = B7 B6 B5 B4 B3 B2
B1 B0 yang hasilnya S = S7 S6 S5 S4 S3 S2S1 S0. Cara penjumlahannya adalah
A7 A6 A5 A4 A3 A2 A1 A0
B7 B6 B5 B4 B3 B2 B1 B0
+
S7 S6 S5 S4 S3 S2 S1 S0
Secara lebih rinci
dapat
dijelaskan
bahwa
IC 7483
sebelah
kanan
menjumlahkan bilangan 4 bit LSB yang simpanannya (C ) diumpankan ke
masukan C pada IC 7483 sebelah kiri. Prosesnya adalah
IC berikutnya
A3 A2 A1 A0
B3 B2 B1 B0
Ci
+
C0
CI = 0
S3 S2 S1 S0
IC 7483 sebelah kiri menjumlahkan bilangan 4 bit MSB beserta simpanan
yang dihasilkan dari IC 7483 sebelah kanan. Prosesnya adalah
A7 A6 A5 A4
B7 B6 B5 B4
Ci
+
C0
C0 dari IC
sebelumnya
S7 S6 S5 S4
Sekarang Anda dapat menyusun
penjumlah
paralel
menjumlahkan dua bilangan dengan bit yang lebih besar.
dari IC 7483
untuk
3. Rangkaian Pengurang
Anda dapat dengan mudah menuliskan suatu bilangan positif
atau
negatif dengan meletakkan tanda + atau - di depan bilangan tersbut.
Misalkan +7 menyatakan bilangan positif 7, -7 menyatakan bilangan negatif 7,
dan sebagainya. Kenyataannya
dapat
menangani
mesin
digital
bilangan negatif sebaik
(kalkulator
menangani
dan
komputer)
bilangan
positif.
Tetapi akan menjumpai masalah jika ingin menyimpan suatu bilangan, yang
dapat positif atau negatif di dalam rangkaian digital, karena rangkaian digital
hanya dapat menyimpan data dalam bentuk 0 atau 1. Dengan demikian
diperlukan suatu cara yang mantap untuk memberikan tanda suatu bilangan
itu positif atau negatif dengan 0 atau 1.
Cara yang biasa digunakan
untuk
memberikan
tanda
pada suatu
bilangan adalah menggunakan MSB (Most Significant Bit) dari data bilangan
sebagai bit tanda dan menggunakan sisa bit-bit data bilangan itu untuk
menyatakan ukuran
atau
besarnya.
Perjanjian yang sudah lazim adalah
bahwa 0 sebagai bit tanda untuk menyatakan suatu bilangan positif dan 1
sebagai bit tanda untuk menyatakan suatu bilangan negatif. Untuk lebih
jelasnya perhatikan Gambar 7.26 berikut.
A6
0
A5
1
A4
1
Bit tanda
B6
1
Bit tanda
A3
0
A2
1
A1
0
A0
0
= + 52
B1
1
B0
1
= - 31
Besar bilangan
B5
0
B4
1
B3
1
B2
1
Besar bilangan
Gambar 7.26 : Bilangan biner bertanda
Dalam suatu memori A berisi bit-bit 0110100. MSB atau bit paling kiri (A6)
adalah 0 sebagai bit tanda bahwa bilangan tersebut positif. Enam bit sisanya
menyatakan besar bilangan, 110100 yang setara dengan desimal 52. Jadi
bilangan di dalam memori A adalah +52. Pada memori B berisi 1011111.
MSB
atau
bit paling kiri (B6) adalah 1 sebagai bit tanda bahwa bilangan
tersebut negatif. Enam bit sisanya, 011111, menyatakan besar bilangan yang
setara dengan desimal 31. Jadi bilangan di dalam memori B adalah -31.
Jelaslah bahwa bit tanda digunakan untuk menunjukkan tanda suatu
bilangan biner itu positif atau negatif. Untuk bilangan positif, bit-bit sisanya
(selain
bit
Sedangkan
tanda)
selalu
menyatakan
besar
bilangan
biner
pada
bilangan negatif, ada banyak cara untuk
tersebut.
menyatakan
besarnya. Salah satu cara dikenal sebagai komplemen 2. Cara tersebut
dipilih karena dalam mesin digital modern banyak yang menggunakannya.
Komplemen 2 dari suatu bilangan biner dibentuk dengan cara menginversi (0
menjadi 1 dan 1 menjadi 0) setiap bit data dan kemudian menambah hasil
inversi itu dengan 1. Misalkan kita hendak menuliskan desimal
7 dalam
biner 8 bit dengan cara komplemen 2. Dimulai dengan menuliskan +7 dalam 8
bit biner, diperoleh 00000111. Inversikan setiap bit, termasuk
MSB-nya,
diperoleh 11111000. Akhirnya menambahkan 1 pada hasil inversi tersebut,
diperoleh 11111001. Hasil akhir inilah sebagai penyajian desimal -7 dengan
cara komplemen 2. Untuk memperjelas langkah-langkah tadi perhatikan yang
berikut ini.
+7
inversinya
tambahan
00000111
11111000
1
komplemen 2
11111001
+
bit tanda (negatif)
Untuk membuat rangkaian penginversi kita ingat kembali sifat gerbang
EX-OR, yaitu 0 + 0 = 0, 0 + 1 = 1 + 0 = 1, dan 1 + 1 = 0, maka menginversi
suatu bilangan biner dapat dilakukan dengan gerbang EX-OR dengan cara
salah satu masukan gerbang itu dipertahankan selalu 1. Perhatikan Gambar
7.27.
1
A0
A0
A1
A1
A2
Gambar 7.27 :
Diagram rangkaian
penginversi 4 bit.
A2
A3
A3
Dengan satu contoh rangkaian penginversi 4 bit di atas, tentu saja Anda dapat
membuat
rangkaian
penginversi
untuk
n
bit
dengan cara memasang
gerbang EX-OR sebanyak n buah. Sedangkan untuk penambahan dengan 1,
Anda dapat memanfaatkan rangkaian penjumlah seperti yang telah kita bahas
terdahulu.
Selanjutnya, untuk mempelajari cara pengurangan bilangan biner kita
ingat kembali pada salah satu prinsip ilmu hitung bahwa pengurangan adalah
penjumlahan dengan bilangan negatif. Sebagai gambaran perhatikan bahwa
7 - 5 = 7 + (-5). Tentu saja prinsip tersebut juga berlaku pada bilangan biner.
Karena Anda telah mempelajari satu cara menyatakan bilangan biner negatif
(dengan komplemen 2) dan juga penjumlahan bilangan biner, maka Anda
dapat
melakukan
operasi
pengurangan
marilah kita mencoba mengurangkan
3
pada
bilangan biner. Untuk itu
pada 7, atau dengan kata lain
menambahkan negatif 3 pada 7 dengan memanfaatkan IC 7483.
7 - 3 = 7 + (-3)
= (-3) + 7 = 4.
Pertama membuat -3 dalam bentuk biner 4 bit dengan cara komplemen 2,
hasilnya adalah 1101 dengan MSB 1 merupakan bit tanda bahwa bilangan
tersebut adalah negatif. Sedangkan 7 dinyatakan sebagai 0111, dengan
MSB 0 sebagai bit tanda bilangan positif. Bilangan 1101 kita umpankan
ke masukan A3A2A1A0 dan 0111 ke B3B2B1B0 pada IC 7483. Hasil proses itu
muncul pada keluaran S3S2S1S0 sebagai 0100. Proses lengkapnya adalah
+3
inversi
tambah 1
0011
1100
1
-3
1101
+
+7
-3
Selanjutnya
(menurut cara komplemen 2).
0111
1101
+
10100
bit tanda (positif)
diabaikan, karena bilangan-bilangan itu
hanya dinyatakan dalam 4 bit.
Sedangkan diagram rangkaian dari proses di atas seperti tampak pada Gambar
7.28 di bawah ini.
1 1 0 1
A3 A2 A1 A0
1
Co
S3
0
Penjumlah paralel 4 bit
(7483)
S2
S1
1
0
S0
0
B3
B2
0
1
= -3
0
Ci
B1 B0
1
1
= +7
= +4 (hasil operasi)
Gambar 7.28 : Diagram rangkaian penjumlah untuk menjumlahkan
bilangan positif dan negatif cara komplemen 2.
Cara dan rangkaian untuk operasi
bukanlah satu-satunya. Masih
pengurangan
banyak
cara
bilangan
biner
tersebut
dan rangkaian lain yang
fungsinya dapat melaksanakan operasi pengurangan bilangan biner. Tetapi
cara dan rangkaian lain yang dimaksud tidak dibahas, karena terbatasnya
tempat dan kesempatan. Demikian pula belum
pengali dan
pembagi.
Tetapi
jika
diingat
penjumlahan yang berulang dan pembagian
sempat
dibahas rangkaian
bahwa perkalian adalah
adalah pengurangan yang
berulang, maka sebenarnya telah dipelajari prinsip-prinsip dasarnya.
4.
Soal-soal
1. Rancanglah rangkaian komparator biner yang menggunakan gerbang EXOR dan NOR untuk membandingkan dua data biner masing- masing
berukuran 8 bit. Untuk mencoba rancangan tersebut, berikanlah status logik
pada saluran masukannya dengan A = 11011001 dan B = 11011001, apa
yang terjadi pada keluarannya ?
2. Perhatikanlah gambar berikut ! Evaluasilah status logik pada keluaran X, Y,
dan Z ketika pada saluran masukannya dikenai data (word) A = 10110101
dan B = 11000011.
A, LSB
4 bit
7485
B, LSB
4 bit
0
1
0
A>B
A=B
A<B
X
Y
Z
A, MSB
4 bit
7485
B, MSB
4 bit
X
Y
Z
A>B
A=B
A<B
3. Berdasarkan data yang terdapat di dalam lembara data (data sheet) untuk
IC-7485 (siapkan sendiri), dapatkah sekurang-kurangnya dua saluran
keluarannya berstatus logik tinggi (HIGH) secara simultan ? Jelaskan ! Jika
semua masukan IC komparator tersebut berstatus logik rendah (LOW)
kecuali saluran IA < B, evaluasilah apa yang terjadi pada keluarannya ?
4. Mengapa saluran masukan yang diperlukan penjumlah penuh (FA) berbeda
dengan penjumlah paro (HA) ? Agar saluran keluaran S (jumlah) pada FA
berniali 1 (high), apa yang harus dipenuhi pada ketiga saluran masukkannya
? Pada FA, keadaan masukan seperti apa yang dapat menghasilkan nilai 1
(high) pada saluran keluaran Carry-nya (Co) ?
5. Perhatikanlah gambar rangkaian penjumlah paro (HA) berikut ! (a) Kapan
HA digunakan sebagai pengganti FA ? (b) Ubahlah rangkaian HA berikut
hanya dengan menggunakan gerbang-gerbang NOR !
A
C0
S
B
6. Gambarkan diagram blok penjumlah penuh 4 bit yang menggunakan 4 buah
rangkaian penjumlah penuh (FA) !
7. Rancang dan gambarlah rangkaian penjumlah biner 6 bit dengan
menggunakan dua buah IC penjumlah 4 bit 7483 !
8. Rancang dan gambarlah rangkaian penjumlah biner 16 bit dengan
menggunakan empat buah IC-4008 CMOS ! Sebelumnya, carilah lembar
data untuk IC tersebut !
9. Apa yang harus diubah agar rangkaian penjumlah/pengurang berikut jika
gerbang-gerbang EX-OR digantikan dengan gerbang-gerbang EX-NOR ?
A7 B7 A6 B6 A5 B5 A4 B4
A3 B3 A2 B2 A1 B1 A0 B0
1 (kurang)
0 (jumlah)
A3 B3 A2 B2 A1 B1 A0 B0
A3 B3 A2 B2 A1 B1 A0 B0
C0
C0
4008
Ci
S7 S6 S5 S4
4008
Ci
S3 S2 S1 S0
10. Dengan menggunakan rangkaian di bawah ini, kerjakanlah operasi-operasi
berikut :
a.
75 + 56
b.
75 – 56
c.
–53 + 24
d.
–53 – 24
e.
–53 – (–24).
A7 B7 A6 B6 A5 B5 A4 B4
A3 B3 A2 B2 A1 B1 A0 B0
A3 B3 A2 B2 A1 B1 A0 B0
A3 B3 A2 B2 A1 B1 A0 B0
C0
C0
74HC283
S7 S6 S5 S4
Ci
74HC283
Ci
S3 S2 S1 S0
Vcc
1 (kurang)
0 (jumlah)
BAB VIII
FLIP-FLOP (BISTABIL)
Rangkaian-rangkaian gerbang logika seperti penjumlah, pembanding,
dekoder/demultiplekser, dan multiplekser merupakan rangkaian kombinasional.
Keadaan keluaran rangkaian tersebut pada suatu saat hanya tergantung pada
keadaan masukannya
keluaran
pada saat itu juga. Keadaan
masukan
sebelumnya sama sekali tidak mempengaruhi
berdasarkan masukan terbarunya. Hal semacam
ini
ataupun
keadaan keluaran
menunjukkan
bahwa
pada rangkaian kombinasional tidak memiliki kemampuan untuk mengingat
atau
tidak
mampu menyimpan
sebelumnya. Dengan kata lain,
keadaan
yang
pernah dihasilkan
rangkaian kombinasional tidak memiliki unit
pengingat (memori).
Piranti digital
yang
dapat
diprogram,
seperti
komputer,
selain
tersusun dari rangkaian kombinasional tetapi juga terdiri dari unit-unit pengingat
(memori). Unit pengingat ini merupakan rangkaian sekuensial, yaitu suatu
sistem digital yang keadaan keluarannya pada suatu saat selain ditentukan
oleh keadaan masukannya pada saat itu tetapi juga tergantung pada keadaan
masukan dan/atau keluaran pada saat sebelumnya. Jadi jelas bahwa pada
sistem sekuensial diperlukan unit pengingat atau memori yang digunakan
untuk menyimpan data masa lalunya. Unit terkecil dari rangkaian digital yang
memiliki kemampuan untuk mengingat tersebut adalah flip-flop (FF). Flipflop juga disebut sebagai multivibrator bistabil, dwimantap, atau pengunci
(latch). Dengan adanya flip-flop dunia digital menjadi semakin semarak.
Flip-flop adalah suatu rangkaian yang memiliki
dua keadaan stabil.
Keluaran flip-flop bertahan pada satu keadaan hingga ada pulsa pemicu yang
menyebabkan
keluarannya
berubah ke keadaan yang lain. Pulsa pemicu
tersebut berlangsung sangat singkat (pendek) dan tepat. Sekali dipicu flip-flop
akan mempertahankan keadaannya yang baru dan menyimpan data sesudah
adanya perintah masukan berhenti. Flip-flop
rangkaian elektronik
seperti
pencacah,
banyak
register,
digunakan dalam
dan memori. Flip-flop
memiliki banyak jenis yaitu FF-SR, FF-SR Berdetak, FF-JK, FF-JKMS, FF-D,
dan FF-T.
Dengan
mempelajari jenis
flip-flop
yang
paling
sederhana
terlebih dahulu diharapkan dapat lebih mudah untuk memahami jenis-jenis
flip-flop yang lebih rumit. Semua flip-flop yang akan dibahas pada modul ini
tersusun dari gerbang-gerbang logika. Pada dasarnya Flip-flop merupakan
rangkaian logika dengan dua keluaran (Q dan Q ) dengan keadaan yang
saling berkebalikan (saling komplemen). Gambar 8.1 adalah simbol flip-flop
pada umumnya.
Preset
Q
Masukan
Keluaran
Q
FF
Clear
Gambar 8.1 : Simbol umum flip-flop.
Jika sebuah flip-flop dikatakan berada pada keadaan tinggi (1) atau rendah (0),
maka yang dimaksud adalah keadaan pada keluaran normal (Q). Tentu saja
keluaran komplemen ( Q ) selalu berkebalikan dengan Q. Dengan demikian ada
dua
keadaan
kerja yang mungkin dari satu flip-flop. Kedua keadaan kerja
tersebut adalah
(1). Q = 0 dan Q = 1 atau
(2). Q = 1 dan Q = 0.
1. Flip-flop Set-Reset (FF-SR).
Flip-flop Set-Reset
(FF-SR)
merupakan
jenis
flip-flop yang paling
sederhana dan merupakan dasar dari rangkaian flip-flop jenis lain. Nama lain
dari
FF-SR
terbentuk dari
adalah
Flip-flop Set-Clear (FF-SC). Flip-flop pada dasarnya
dua gerbang logika NOT yang keluaran
dihubungkan secara saling-silang (cross coupled).
dan
masukannya
Perhatikan Gambar 8.2.
Sepasang gerbang NOT yang dihubungkan
saling-silang
tersebut masih
bersifat sangat mendasar dan belum sempurna. Rangkaian tersebut hanya
dibangun untuk
mengubah
keadaan
dengan
cara sederhana,
yaitu
menghubung-pendekkan dengan tanah guna menghasilkan keluaran mana
saja pada keadaan tinggi (1).
Q
Q
Gambar 8.2 : Rangkai flip-flop dasar.
Flip-flop yang demikian tentu saja kurang luwes. Flip-flop yang luwes adalah
flip-flop yang dapat dikendalikan. Flip-flop yang sedikit lebih luwes dapat
disusun dari gerbang NAND atau NOR. Tetapi kita akan menyusun satu jenis
flip-flop, yaitu FF-SR dari dua gerbang logika NAND. Perhatikan Gambar 8.3.
S
R
1
Q
2
Q
Gambar 8.3 : FF-SR dari sepasang gerbang NAND.
Masukan S dan R biasanya berada pada keadaan 1 dan salah
satu dari
keduanya harus dikenai pulsa rendah (0) apabila ingin mengubah keadaan
keluaran flip-flop. Jika keadaan masukan S = R = 1, salah satu kemungkinan
keluarannya adalah Q = 0 dan Q = 1. Dengan Q = 0, kedua masukan NAND2 adalah 0 dan 1 yang menghasilkan Q = 1. Keadaan ini menyebabkan
kedua masukan NAND-1 menjadi 1 dan keluarannya Q = 0. Sebenarnya,
asalkan keluaran NAND-1 dalam keadaan 0 akan menghasilkan keluaran
NAND-2 dalam keadaan 1 dan keluaran NAND-1
bertahan
pada 0.
Kemungkinan yang kedua adalah Q = 1 dan Q =
menghasilakn 0 pada keluaran NAND-2
yang
0.
Keadaan
ini akan
mempertahankan keluaran
NAND-1 berharga 1. Maka ada dua kemungkinan keadaan jika S = R = 1.
Terlihat bahwa suatu keadaan akan tergantung apa yang telah terjadi pada
masukan sebelumnya. Selanjutnya kita selidiki ketika Q = 1 dan Q = 0 yang
mendahului pulsa SET yang dimasukkan. Karena
Q = 0 selalu menahan
keluaran NAND-1 dalam keadaan 1, maka pulsa 0 pada S tidak mengubah
sesuatu. Ketika S = 1 keluaran flip-flop masih dalam keadaan Q = 1 dan Q = 0.
Hal ini dapat disimpulkan bahwa jika S = 0 akan menyebabkan keluaran flip-flop
berakhir pada keadaan Q = 1. Operasi ini dikatakan men-set flip-flop.
Keadaan Q = 1 ini juga disebut keadaan set.
Sekarang kita tinjau jika R = 0, S = 1
dan ketika Q = 0, Q = 1
mendahului pulsa R = 0 tadi. Karena Q = 0 selalu membuat keluaran NAND-2
dalam keadaan 1, maka masukan 0 pada R tidak memiliki pengaruh. Ketika R
kembali 1, keluaran flip-flop itu masih Q = 0 dan Q = 1. Keadaan lain jika Q =
1 mendahului masukan pulsa RESET. Ketika R = 0, Q menjadi 1 dan hal ini
memaksa Q menjadi 0 sehingga kedua masukan NAND-2 adalah 0. Maka
ketika R kembali 1, keluaran NAND-2 tetap 1 yang membuat keluaran NAND-1
dalam keadaan 0.
Akhirnya
dapat
disimpulkan bahwa keadaa 0 pada R
menyebabkan keluaran flip-flop Q = 0. Operasi ini disebut me-reset atau
meng-clear flip-flop. Keadaan Q = 0 juga disebut sebagai keadaan reset atau
clear.
Akhirnya ketika secara bersamaan dibuat S = R = 0. Hal ini akan
menghasilkan kedua keluaran NAND Q = Q = 1. Jelas bahwa keadaan ini
tidak diinginkan, karena kedua keluaran flip-flop harus saling komplemen.
Selanjutnya ketika
masukan-masukan S dan R kembali menjadi 1, maka
keadaan keluaran flip-flop akan tergantung masukan
yang
lebih
dahulu
menjadi 1. Perubahan secara bersamaan menjadi 1
akan
menghasilkan
keluaran yang tidak dapat diprediksi. Oleh karena itu, keadaan S = R = 0 tidak
pernah dikenakan pada flip-flop SR. Penjelasan cara kerja flip-flop SR di
atas dapat diringkas seperti berikut :
1. S = R = 1. Keadaan ini tidak memiliki pengaruh terhadap keluaran flip-flop.
Keluaran Q dan
Q
akan tetap apapun keadaan masukan yang
mendahuluinya.
2. S = 0 dan R = 1. Keadaan ini akan selalu mengakibatkan keluaran
menuju ke keadaan Q = 1, dan akan tetap terjadi sampai sesudah S
kembali ke 1. Keadaan ini dikatakan bahwa flip-flop di-set.
3. S = 1 dan R = 0. Keadaan ini selalu menghasilakn Q = 0, dan akan tetap
bertahan sampai setelah R kembali menjadi 1. Keadaan ini dikatakan
bahwa flip-flop di-reset.
4. S = R = 0. Keadaan ini berusaha men-set dan me-reset secara bersamaan
dan menghasilkan keluaran tidak konsisten dengan flip-flop. Keadaan ini
adalah terlarang.
Berdasarkan ringkasan tersebut dapat dibuat tabel kebenaran untuk flip-flop
SR yang menggunakan gerbang NAND seperti berikut :
S
R
Keluaran FF
(Q)
1
1
tak berubah
0
1
1 (set)
1
0
0 (Reset)
0
0
Terlarang
Dari cara kerja flip-flop NAND tampak bahwa masukan-masukan S dan R
adalah aktif rendah. Masukan S akan men-set Q = 1 ketika S menjadi rendah.
Masukan R akan me-reset Q = 0 ketika R menjadi rendah.
Gerbang logika lain yang dapat digunakan untuk menyusun sebuah FFSR adalah NOR. Perhatikanlah Gambar 8.4. Konfigurasi tersebut mirip flipflop NAND kecuali keluaran Q dan Q yang letaknya tertukar.
S
Q
Q
R
Gambar 8.4 : FF-SR dari sepasang gerbang NOR.
Dengan melakukan analisis pada flip-flop NOR seperti flip-flop NAND, akan
menghasilkan tabel kebenaran sebagai berikut :
S
R
Keluaran FF
(Q)
0
0
tak berubah
1
0
1 (Set)
0
1
0 (Resest)
1
1
Terlarang
Berdasarkan tabel kebenaran untuk
flip-flop
NOR
dapat dikemukankan
penjelasan sebagai berikut :
1. S = R = 0. Keadaan ini tidak memiliki pengaruh terhadap keluaran flip-flop.
Keluaran-keluaran Q dan Q akan tetap apapun keadaan masukan yang
mendahuluinya.
2. S = 1 dan R = 0. Keadaan ini akan selalu mengakibatkan keluaran
menuju ke keadaan Q = 1, dan akan tetap terjadi sampai sesudah S
kembali ke 0. Keadaan ini dikatakan bahwa flip-flop di-set.
3. S = 0 dan R = 1. Keadaan ini selalu menghasilakn Q = 0, dan akan tetap
bertahan sampai setelah R kembali menjadi 0. Keadaan ini dikatakan
bahwa flip-flop di-reset.
4. S = R = 1. Keadaan ini berusaha men-set dan me-reset secara bersamaan
dan menghasilkan keluaran tidak konsisten dengan flip-flop karena Q = Q =
0. Jika masukan dikembalikan ke 0 secara bersamaan, keluarannya tidak
dapat diprediksi. Keadaan ini adalah terlarang.
Cara kerja flip-flop NOR tepat sama dengan flip-flop NAND kecuali bahwa
masukan-masukan S dan R adalah aktif tinggi dan keadaan tetapnya terjadi
ketika S = R = 0. Q akan di-set menjadi 1 oleh pulsa tinggi pada masukan S,
dan keadaan ini akan di-reset menjadi 0 oleh pulsa tinggi pada masukan R.
Seperti telah dikemukakan sebelumnya, bahwa rangkaian flip-flop baik
yang tersusun dari gerbang NOT, NAND maupun NOR seperti yang telah kita
pelajari masih merupakan flip-flop yang belum sempurna karena tetap belum
tersedia fasilitas/saluran
untuk
mengendalikannya.
Oleh karena itu,
selanjutnya akan disusun suatu FF-SR lain dengan masukan aktif tinggi dan
memungkinkan untuk dikembangkan menjadi flip-flop yang dapat dikendalikan.
Kita akan memanfaatkan flip-flop NAND seperti yang telah dipelajari dengan
menambahkan gerbang NOT pada kedua
masukannya. Gerbang
tersebut merupakan gerbang NAND yang
kedua masukannya disatukan.
Hal
ini
untuk
menyiapkan
fasilitas pengendalinya. Untuk lebih jelasnya
perhatikan Gambar 8.5.
S
R
NOT
Q
Q
Gambar 8.5 : FF-SR aktif tinggi dari gerbang NAND.
Jika kita analisis dengan seksama, jika S = 1 dan R = 0, maka Q = 1. Jika R =
1 dan S = 0, maka Q = 0. Jika S = R = 0, maka Q dapat berharga 1 atau 0
tergantung
bahwa
dari
keadaan
keadaan
Q yang mendahuluinya. Hal
keluaran flip-flop (Q) pada suatu
ini
saat
menunjukkan
tidak
hanya
ditentukan oleh keadaan masukannya pada saat itu tetapi juga tergantung
pada keadaan keluaran sebelumnya. Dengan demikian tabel kebenaran untuk
FF-SR
aktif
tinggi
di
atas
akan
dilengkapi
sebelumnya (Qn ) dan keadaan keluaran
dengan keadaan keluaran
sesudah ada perubahan pada
masukannya (Qn+1). Pada FF-SR tersebut juga ditemui keadaan terlarang yang
terjadi ketika masukan S = R = 1. Pada keadaan tersebut kedua keluaran dari
flip-flop berharga sama, yakni Qn+1 = Q n+1 = 1. Hal ini bertentangan dengan
konsep flip-flop di mana keluaran yang satu (Q) harus merupakan komplemen
dari keluaran yang lain ( Q ). Dengan demikian, pada pemakainnya, keadaan
S = R = 1 harus dihindari. Tabel kebenaran untuk flip-flop SR aktif
tinggi
selengkapnya tampak pada tabel berikut
S
R
Qn
Qn+1
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
terlarang
1
1
1
terlarang
Sistem digital dapat bekerja
secara
serempak
(sinkron) atau tak
serempak (tak sinkron). Pada sistem tak sinkron keluaran dari rangkaian
dapat berubah keadaan setiap saat jika ada satu atau lebih perubahan
masukan. Sistem digital tak
sinkron sulit dirancang dan sukar ditentukan
kesalahannya. Sedangkan pada sistem sinkron, perubahan keadaan keluaran
ditentukan atau dikendalikan oleh suatu sinyal
penyerempak
yang
sering
disebut detak (clock). Kebanyakan sistem digital berprinsip sinkron, karena
rangkaian
sinkron
lebih
mudah
dirancang, terkendali, dan lebih
mudah
ditentukan kesalahannya karena keluaran rangkaian itu dapat berubah hanya
pada saat yang tertentu.
Pada umumnya sistem digital terdiri dari banyak flip-flop. Untuk
memberikan kemungkinan perubahan flip-flop yang satu sinkron dengan flip-flop
yang lain diperlukan tambahan saluran masukan. Saluran masukan tersebut
dikenal sebagai masukan detak (clock atau Ck). Perhatikan Gambar 8.6.
S’
S
Q
Ck
Q
R
R’
Gambar 8.6 : FF-SR berdetak.
FF-SR yang dilengkapi dengan masukan detak disebut FF-SR berdetak
(Clocked S-R FF). Tanda dari masukan detak ini adalah Ck, Clk, atau CP.
Dengan
adanya
masukan
detak
ini memungkinkan kerja flip-flop dapat
dikendalikan dan menjadikan flip-flop tersebut lebih
sebelumnya,
sempurna
dari
meskipun masih dijumpai kelemahan yakni adanya keadaan
terlarang. Perubahan keluaran dari FF-SR berdetak hanya akan terjadi jika
masukan Ck = 1. Pada saat masukan Ck = 0, maka S' = R' = 1, sehingga
keluaran Q dapat bernilai 0 atau 1. Pada keadaan Ck = 0 meskipun harga S
dan R berubah-ubah keluaran flip-flop tetap. Keluaran flip-flop berubah hanya
ketika Ck bertransisi dari 0 ke 1 dan harga keluaran tersebut tergantung dari
keadaan S dan R pada saat Ck = 1. Transisi detak yang demikian disebut
transisi positif. Selanjutnya keluaran flip-flop tidak akan berubah meskipun Ck
berubah dari 1 ke 0.
Dikenal pula suatu FF berdetak yang mengalami perubahan keluaran
ketika terjadi transisi negatif, yaitu dari 1 ke 0. Tabel kebenaran FF-SR
berdetak sama dengan tabel kebenaran FF-SR aktif tinggi yang telah kita
pelajari. Untuk
keperluan efisiensi dan efektifitas penggambaran, maka FF-
SR berdetak digambarkan seperti tampak pada Gambar 8.7.
S
Q
Ck
_
R
Q
Gambar 8.7 : Diagram untuk FF-SR Berdetak.
2. Flip-flop J-K (FF-JK)
Kelemahan utama
dari
flip-flop
yang
terdahulu
adalah terjadinya
keadaan terlarang. Untuk menghindari kelemahan ini disusunlah jenis flip-flop
baru yang dikenal sebagai FF-JK. FF-JK dapat disusun dari FF-SR berdetak
dengan konfigurasi susunan yang tampak seperti pada Gambar 8.8.
J
Ck
K
S
Q
Ck
_
R
Q
Q
J
Q
_
Ck
Q
(a)
K
Q
(b)
Gambar 8.8 : (a) FF-JK yang tersusun dari FF-SR Berdetak.
(b) Simbol FF-JK.
Dengan memperhatikan rangkaian, tampak bahwa fungsi logika untuk S dan
R pada FF-SR berdetak adalah S = J Q dan R = KQ. Jika dianalisis dengan
seksama
akan
diperoleh
bahwa
tabel kebenaran
untuk
FF-JK
sama
dengan tabel kebenaran FF-SR berdetak kecuali untuk J = k = 1. Perhatikan
tabel kebenaran untuk FF-JK berikut.
J
K
Qn
Qn+1
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
0
Meskipun lebih baik dari sebelumnya, FF-JK tetap memiliki kelemahan.
Kelemahan ini dapat terjadi ketika J = K = 1. Misal mula-mula Q = Qn = 1 dan
pada saat Ck = 1, maka Q akan berubah menjadi Q n+1
= 0. Kemudian karena
sekarang Q = 0, kalau Ck tetap 1, maka keluaran Q akan berubah kembali
menjadi 1. Dengan demikian, jika J = K = 1 dan Ck terlalu lama dalam
keadaan 1, maka keluaran Q akan berubah-ubah dari 0 ke 1 atau dari 1 ke 0.
Hal ini mengakibatkan pada saat Ck kembali ke 0 keadaan keluaran Q tidak
dapat
diprediksi
(tidak
menentu). Kejadian
ini
dikenal
sebagai
gejala
balapan putar (race round). Balapan putar tidak akan terjadi jika lebar pulsa
detak tCk lebih kecil dari pada waktu yang diperlukan untuk berubahnya
keluaran td atau waktu tunda flip-flop. Orde waktu tunda tersebut adalah nano
hingga mikro detik. Jika syarat itu tidak terpenuhi maka pada saat J = K = 1
akan terjadi balapan putar, yaitu keluaran flip-flop akan berubah
secara
berulang pada harga 0 atau 1 selama Ck = 1. Untuk mengatasi kelemahan FFJK kemudian disusun jenis flip-flop baru yang dikenal sebagai flip-flop JK
master-slave (Flip-flop JK-MS).
3. Flip-flop J-K Master-Slave (FF-JKMS)
Flip-flop JKMS dapat disusun dari FF-JK sebagai master (majikan) dan
FF-SR Berdetak sebagai slave (budak). Umpan balik tidak keluar dari FF-JK
tetapi dari FF-SR berdetak. Polaritas dari pulsa detak yang masuk ke FF-JK
berlawanan dengan polaritas pulsa detak yang masuk ke FF-SR berdetak.
Untuk lebih jelasnya perhatikan Gambar 8.9.
J
Ck
K
S
Q
S
Q
Ck
_
Ck
_
R
Q
R
Q
Master
Q
Q
Slave
Gambar 8.9 : FF-JK Master-Slave (JK-MS)
Jika Ck berubah dari 0 ke 1, keluaran dari FF-JK akan berubah sesuai dengan
tabel kebenarannya. Tetapi karena pada saat ini detak dari FF-SR berdetak
bernilai 0, maka keluarannya tetap, akibatnya nilai Q yang diumpan-balikkan
juga
masih
kembali ke
tetap, sehingga tidak terjadi balapan putar. Setelah harga Ck
0, maka nilai keluaran FF-SR berdetak yang juga
merupakan
kaluaran dari FF-JKMS berubah. Oleh karena masukan FF-SR berdetak
dihubungkan dengan keluaran FF-JK yang berarti
harga S dan R selalu
berlawanan, maka keluaran dari FF-SR berdetak akan berubah mengikuti
harga keluaran dari FF-JK. Tabel kebenaran FF-JKMS sama dengan tabel
kebenaran dari FF-JK.
4. Flip-flop D (FF-D) dan Flip-flop T (FF-T)
Flip-flop D (delay atau data) dan flip-flop T (toggle) merupakan jenis
flip-flop lain. FF-D dan FF-T merupakan flip-flop berdetak yang bekerja hanya
dengan satu masukan. FF-D disusun dengan menambahkan gerbang NOT
antara masukan S (J) dan R (K) pada FF-SR berdetak atau FF-JK. Keuntungan
dari FF-D adalah menghindari terjadinya keadaan S = R = 1 yang terlarang.
Sedangkan FF-T tidak lain adalah FF-JK yang kedua masukan J dan K
dihubungkan menjadi satu. Baik FF-D maupun FF-T dapat disusun dari FFJK-MS. Rangkaian kedua flip-flop tersebut tampak pada Gambar 8.10 dan
Gambar 8.11.
D
S/J
Q
D
Ck
_
Ck _
R/K
Q
Q
(a)
Q
(b)
Gambar 9.10 : (a). Rangkaian Flip-flop D dan (b). Simbol Flip-flop D.
T
J
Q
T
Q
_
Ck _
K
Q (a)
Q
Ck
(b)
Gambar 8.11 : (a). Rangkaian Flip-flop T dan (b). Simbol Flip-flop T.
Dengan melakukan analisis akan diperoleh tabel kebenaran kedua flip-flop
sebagai berikut :
D
Qn
Qn+1
T
Qn
Qn+1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
0
5. Flip-flop yang Dilengkapi dengan Preset dan Clear
Sebelum suatu FF dioperasikan sangat diperlukan untuk mengatur
keadaan awal dari FF tersebut. Untuk keperluan inilah maka suatu FF sering
dilengkapi dengan fasilitas masukan preset (Pr) dan clear (Cr), atau kadangkadang masukan clear (Cr) saja. Bentuk sederhana dari FF-JK yang dilengkapi
dengan masukan Pr dan Cr tampak pada Gambar 8.12.
Pr
J
Q
J
Ck
K
Gambar (a)
8.12 :
Pr
Q
Q
_
Ck
K
Q
Cr FF-JK yang dilengkapi dengan Preset
(a)
Cr (b) dan Clear.
(b) Simbol FF-JK dengan Pr dan Cr
Tanpa menunggu adanya pulsa detak, keluaran Q = 1 jika Pr = 0 dan Cr = 1.
Selanjutnya keluaran Q = 0 jika Pr = 1 dan Cr = 0. Keadaan Pr = Cr = 0 perlu
dihindari karena akan mengakibatkan keadaan terlarang yakni Q = Q = 1.
Setelah dilakukan pengaturan keadaan awal keluaran FF, maka masukan Pr
dan Cr harus dikembalikan ke keadaan 1 sehingga FF bekerja sebagaimana
yang seharusnya.
6. Tabel Eksitasi
Tabel eksitasi menyatakan tabel yang berisi kombinasi keadaan masukan
suatu FF untuk mendapatkan eksitasi (loncatan) keadaan keluaran dari keadaan
awal (Qn) ke keadaan berikutnya (Qn+1) yang dimungkinkan. Tabel ini sangat
berguna untuk merancang rangkaian pencacah sinkron. Karena berdasarkan
tabel eksitasi ini akan dapat dibuat tabel transisi dari suatu rangkaian digital
sekuensial, misalkan rangkaian pencacah biner sinkron. Tabel eksitasi suatu FF
diturunkan dari tabel kebenaran FF yang bersangkutan. Berikut ini dikemukakan
tebel eksitasi untuk FF-SR, FF-JK, FF-D, dan FF-T. Tabel eksitasi FF-JK-MS
sama dengan tabel eksitasi FF-JK.
Qn  Q n+1
S
R
J
K
D
T
0  0
0
x
0
x
0
0
0  1
1
0
1
x
1
1
1  0
0
1
x
1
0
1
1  1
x
0
x
0
1
0
Beberapa contoh cara membuat tabel eksitasi dapat dilihat pada FF-JK. Dengan
melihat tabel kebenaran untuk FF-JK yang terdahulu, terbukti bahwa agar
keluaran FF-JK berubah dari keadaan awal 0 (atau Qn = 0) ke keadaan
berikutnya 0 (atau Qn+1 = 0) maka nilai J = 0 sedangkan nilai K boleh 0 atau 1.
Dengan kata lain nilai K boleh sembarang yang dituliskan dengan tanda x.
Selanjutnya, agar pada keluarannya berubah dari 0 ke 1, maka haruslah J = 1
dan K sembarang. Demikian seterusnya untuk perubahan yang lain. Cara
tersebut juga berlaku untuk FF yang lain.
7. Aplikasi Flip-flop
Flip-flop banyak diaplikasikan dalam berbagai persoalan. Aplikasi yang
paling utama adalah pada register dan pencacah. Karena penting dan luasnya,
maka kedua persoalan tersebut akan dibahas dalam bab tersendiri. Berikut ini
hanya dikemukakan beberapa aplikasi yang relatif sederhana dan spesifik.
Komputer digital sering memerlukan rangkaian untuk mengingat apakah
hasil terakhir dari suatu operasi matematik bernilai lebih besar (>), kurang dari
(<) atau sama dengan (=) nol (0). Rangkaian berikut dapat digunakan untuk
menyelesaikan tugas tersebut. Tiga buah gerbang NAND empat masukan
disusun untuk membentuk flip-flop 3 keadaan. Bagian masukannya terdiri dari
tiga saluran ( A , B , dan C ), bagian keluarannya juga terdiri dari tiga saluran (A,
B, dan C). Rangkaian tersebut bersifat aktif rendah (active low). Hanya satu dari
ketiga masukannya boleh rendah (aktif) pada suatu saat, dan hanya satu
keluaran yang berstatus rendah (aktif) yang cocok dengan keadaan masukan
tersebut. Keadaan keluaran ini tetap bertahan hingga terjadi masukan aktif
berikutnya.
B
A
C
2
3
7420
1
7420
C
B
7420
A
Gambar 8.13 : Flip-flop 3 keadaan
Misalkan ketika A rendah, ia memaksa keluaran B dan C tinggi, karena B dan
C tinggi sehingga keempat masukan gerbang 1 tinggi dan keluaran A rendah
yang memberikan masukan rendah pada gerbang 2 dan 3. Keluaran A tetap
rendah setelah
A kembali ke tinggi dan mempertahankan B dan C tinggi.
Misalkan C rendah, ia memaksa keluaran gerbang 1 dan 2 tinggi. Hal ini
membuat keempat masukan gerbang 3 tinggi dan keluaran C menjadi rendah.
Demikian seterusnya.
Contoh aplikasi berikutnya adalah rangkaian yang diperlukan untuk
mengingat nilai bilangan biner (23222120) yang menyajikan keadaan hari di mana
pada suatu saklar pembatas suhu siap berubah status (misalkan ke tinggi).
Rangkaian tersebut menggunakan 4 buah SR-FF karena ada 4 bilangan biner
yang harus diingat, selain itu juga menggunakan gerbang lain yang diperlukan.
Masukan dari detak biner
Saklar
pembatas
suhu
+ 5 volt
Gerbang
strobe
+ 5 volt
S
Q
S
Q
S
Q
S
Q
R
Q
R
Q
R
Q
R
Q
Reset
Keluaran ke sistem pengolah
Gambar 8.14 : SR-FF sebagai rangkaian pengingat
Dengan saklar reset pada posisi tanah, maka masukan R menjadi rendah.
Dengan saklar pembatas suhu pada posisi tanah, maka salah satu masukan
pada setiap gerbang AND berstatus rendah yang mempertahankan masukan S
pada keadaan rendah. Untuk memulai bekerja, pertama saklar reset ditinggikan
(+ 5 volt) sesaat yang akan me-reset semua flip-flop. Sementara itu, bilangan
masukan biner tidak diijinkan mencapai S karena ada keadaan rendah pada
salah satu kaki dari setiap gerbang AND. Gerbang-gerbang ini digunakan untuk
gerbang strobe yang hanya meloloskan informasi hanya ketika semuanya dienable. Ketika saklar permatas suhu tersambung ke + 5 volt sesaat, maka biner
masukan diijinkan lolos menuju S, sehingga men-set flip-flop yang sesuai.
Bilangan biner masukan menggambarkan hari yang keadaan suhunya akan
disaklar untuk diingat dan dibaca kemudian oleh sistem pengolah secara
otomatis.
8.
Soal-soal :
1. Gambar di bawah ini adalah sebuah SR-FF berdetak. Gambarlah bentuk
gelombang keluaran (Q), jika pada masukannya dikenai keadaan seperti
berikut !
S
Ck
Q
S
Ck
Q
R
R
Q
2. Jelaskan cara kerja rangkaian berikut ketika masukan Ck dikenai detak.
Gambarkanlah diagram waktu dari Q1 dan Q2 sesuai dengan detakan yang
dikenakan tadi !
1
J
Q1
J
Ck
1
K
Q2
Ck
Q1
K
Q2
Detak
3. Diketahui suatu rangkaian yang dirancang untuk menghasilkan pulsa
tunggal seperti gambar berikut. Analisislah kapan dapat terjadi pulsa tunggal
pada keluaran (sebutkan status saklar), seberapa lama (terhadap detak),
dan gambarkan bentuk gelombang keluarannya. Kemungkinan pada
keluaran terjadi denyut pendek beberapa saat setelah pulsa tunggal
berakhir. Jika denyut itu terjadi, mengapa dapat terjadi dan sebutkan cara
mengatasinya (rancang ulang) !.
D
Sakla
r
Q
D
7474
Q
Keluaran
7474
Ck
Ck
Detak
4. Perhatikanlah rangkaian flip-flop pada gambar berikut ! (Lihatlah lembar
data untuk setiap jenis flip-flop). Dengan menggambarkan bentuk
gelombang, jelaskan apa yang terjadi pada keluarannya ketika (a) Saklar
terbuka dan status detak rendah (gnd), (b) Saklar terbuka dan status detak
tinggi (+ 5 volt).
Keluaran
74107
Sakla
r
D
Q
7474
J
Q
Ck
Ck
K
Detak
5. Diketahui rangkaian flip-flop seperti tampak pada gambar berikut. Jika pada
saluran masukan dikenai detak dengan frekuensi 8 MHz, berapakah
frekuensi pada saluran Q0 dan Q1 ? Gambarkanlah bentuk gelombangnya
jika dimulai dari keadaan masukan rendah.
Masukan
D Q0
D Q1
Ck
Ck
Q
6. Lihatlah buku/lembar data (CMOS atau TTL) untuk mengetahui cara kerja
flip-flop JK dengan kode IC 74LS76. Jika status logik dari saluran-saluran J,
K, detak, pre-set, dan clear sebagai berikut, maka gambarlah bentuk
gelombang keluaran pada saluran Q !
Ck
SD
RD
J
K
Q
7. Berdasarkan konfigurasi sambungan seperti gambar berikut dan status logik
yang diketahui, gambarlah bentuk gelombang keluaran dari saluran Q !
1
Ck
J
CK
SD Q
RD
74LS76
Q
K
RD
Q
8. Berdasarkan konfigurasi persambungan dan status logik
RD
= 1
sebagaimana tampak pada gambar berikut, maka gambarkanlah bentuk
gelombang keluaran pada Q !
Ck
SD Q
J
SD
CK
Q
74LS76
K
RD
Q
1
9. Berdasarkan konfigurasi sambungan seperti gambar berikut dan status logik
yang diketahui, gambarlah bentuk gelombang keluaran dari saluran Q !
Ck
Data
SD Q
J
CK
74LS76
K
RD
SD
Data
Q
Q
1
10. Perhatikanlah konfigurasi sambungan dan status logik pada gambar berikut,
gambarkanlah bentuk gelombang keluaran pada saluran Q !
1
J
SD Q
RD
CK
1
Ck
74LS76
K
RD
Q
Q
BAB IX
MULTIVIBRATOR
Dalam dunia elektronik banyak proses yang pada prinsipnya sekedar
memutus atau menghubungkan suatu rangkaian listrik (proses pensaklaran).
Proses tersebut harus memenuhi syarat tertentu, yakni cepat (tidak timbul
getaran) dan
tidak menimbulkan percikan bunga api listrik. Saklar mekanik
atau manual tidak dapat memenuhi persyaratan tersebut. Karena saklar
mekanik memiliki kelembaman yang relatif
besar
sehingga kecepatannya
terbatas. Selain itu, saklar mekanik juga menimbulkan percikan bunga api
listrik yang dapat membakar bahan yang bersinggungan. Proses pemsaklaran
tersebut dapat kita jumpai pada sistem pewaktu agar suatu rangkaian dapat
bekerja ataupun tidak bekerja
dalam
selang
waktu
tertentu.
Misalkan
rangkaian pewaktu untuk membuat agar sebuah relay dapat tertutup atau
terputus dalam selang waktu tertentu. Juga sering kita perlukan rangkaian yang
dapat memodulasi lebar pulsa dan penunda waktu (time delay). Rangkaian
elektronik yang
lebar pulsa
monostabil.
mempunyai kemampuan untuk membuat waktu tunda atau
tertentu ini
lebih jauh akan dipelajari dalam multivibrator
Multivibrator sebenarnya merupakan rangkaian elektronik yang
menghasilkan gelombang kotak, atau gelombang lain yang bukan sinusoida
seperti gelombang segi empat dan gelombang gigi gergaji. Nama multivibrator
diturunkan
dari
besar gelombang
kenyataan bahwa gelombang kotak terdiri
sinusoida
dengan
frekuensi
yang
dari
sejumlah
berbeda-beda
(berdasarkan analisis deret fourier).
Selain flip-flop dan monostabil, ada jenis multivibrator lain yang
akan kita pelajari yaitu multivibrator astabil dan picu Schmitt. Keduanya sering
berperan sebagai osilator yang menghasilkan pulsa kotak (square). Pulsa kotak
yang stabil dengan frekuensi tertentu dalam elektronika digital lebih dikenal
sebagai detak (clock). Detak ini penting, bahkan sangat penting, dalam
operasi suatu piranti elektronika digital seperti komputer dan kalkulator.
1. Multivibrator Monostabil
Sesuai dengan namanya, rangkaian multivibrator monostabil mempunyai
keluaran dengan satu keadaan stabil
(mantap). Rangkaian tersebut tetap
dalam keadaan stabilnya sampai ada pemicu. Sekali dipicu, keluarannya
berubah dari
keadaan stabilnya tadi ke keadaan tak stabil (keadaan baru).
Keadaan tak stabil itu bertahan selama waktu tertentu dan setelah itu dengan
sendirinya kembali ke keadaan stabilnya lagi. Ternyata monostabil merupakan
rangkaian yang penting, bahkan terlalu penting, untuk membangkitkan pulsa
yang dapat diatur polaritas dan lebarnya pada amplitudo tetap. Sebuatan
lain untuk monostabil adalah eka-mantap, one-shot,
atau
monoflop.
Monostabil dapat dibuat dengan berbagai cara, namun pada kesempatan
ini kita akan membahas monostabil yang
menggunakan
gerbang
logika
NAND yang dilengkapi dengan resistor dan kapasitor sebagai komponen
pewaktunya. Ada 2 jenis monostabil, yaitu monostabil terpicu positif dan
monostabil terpicu negatif. Perhatikan Gambar 9.1.
K
2
T
1
Q
R
3
Q
C
Gambar 9.1 : Rangkaian monostabil terpicu positif
Anggaplah mula-mula masukan pemicu T = 0, keluaran Q = 1, dan keluaran Q
= 0. Perhatikan keluaran dari NAND-2 dalam keadaan 1 sehingga K = 1. Pada
saat masukan T berubah dari 0 ke 1 (terpicu positif) tentu saja kedua
masukan NAND-1 ada pada keadaan 1, sehingga Q berubah dari 1 ke 0.
Tetapi begitu T berubah dari 0 ke 1, maka keluaran dari NAND-2 juga
berubah menjadi 0. Muatan pada kapasitor C yang mula-mula memberikan K
= 1 sedikit demi sedikit dilucuti (dikosongkan) melalui resistor R sehingga
tegangan pada K turun menuju 0. Perubahan K dari 1 ke 0 ini akan melewati
twgangan ambang yang akan menyebabkan K dianggap 0. Pada saat ini
keluaran NAND-1, yaitu
Q , akan kembali ke keadaan 1 lagi
(keadaan
sebelum dipicu). Lama pulsa t (keadaan tak stabil) di Q tersebut tergantung
pada resistansi R dan kapasitansi C yang terpasang. Secara umum berlaku :
t = R.C.
Karena NAND-3 berperan sebagai NOT, maka antara Q dan Q saling
komplemen, artinya jika Q = 1 maka Q = 0, dan sebaliknya jika Q = 0 maka Q
= 1. Kelemahan dari monostabil terpicu positif adalah adanya syarat agar
pulsa pemicu di T harus lebih lama dari pada pulsa keluaran di Q . Hal ini
diakibatkan oleh adanya hubungan langsung T dengan salah satu masukan
NAND-1 yang menyebabkan jika T = 0 maka Q = 1. Sehingga jika T berubah
ke 0 lagi sebelum pulsa pemicu T mencapai tegangan ambang maka lebar
pulsa keluaran Q tidak tepat sama dengan R.C dan tentu saja harga t (lama
tak stabil) pasti kurang dari pada R.C.
Jenis lain dari monostabil adalah
yang terpicu negatif (dipicu dari 1 ke 0). Cara menyusunnya antara lain
dengan menambahkan NAND-4 seperti terlihat pada Gambar 9.2.
T
B
2
4
A
R
1
3
Q
Q
C
Gambar 9.2 : Rangkaian monostabil terpicu negatif
Menggunakan gerbang logika NAND
Mula-mula T = 1 dan Q = 1, keadaan ini adalah stabil. Jika T berubah dari 1
ke 0 maka keluaran NAND-4 dalam keadaan 1 (A = 1). Karena masukan
NAND-1 keduanya dalam keadaan 1 maka Q = 0. Selanjutnya, tegangan di
titik B semaki lama semakin turun akibat lucutan muatan pada C melalui R.
Sehingga pada saat melewati tegangan ambang membuat Q = 1 kembali
semula. Dengan demikian keluaran
Q
menjadi tidak tergantung pada
perubahan masukan T dari 0 ke 1, oleh karenanya benar-benar berlaku
bahwa lama keadaan tak stabilnya adalah
t = R.C. Untuk lebih jelasnya,
perhatikan bentuk pulsa monostabil terpicu positif dan terpicu negatif pada
Gambar 9.3.
T
T
K
A
B
Tegangan ambang
Q
Q
Q
t
Q
(a)
t
(b)
Gambar 9.3 : Bentuk pulsa pada monostabi (a) terpicu
Positif dan (b) terpicu negatif.
Masih banyak cara untuk menyusun monostabil dari gerbang logika lain,
seperti NOT ataupun NOR, bahkan dengan NAND dengan konfigurasi yang
berbeda-beda. Pada Gambar 9.4 tampak rangkaian monostabil dari gerbang
NAND dengan konfigurasi yang berbeda dari sebelumnya. Misalkan mula-mula
Q adalah stabil dalam keadaan 1. Ketika pulsa sempit 0 dikenakan pada
masukan A, maka keluaran NAND-1 menjadi 1 dan melalui C2 membuat kedua
masukan NAND-2 dalam keadaan 1. Hal ini menghasilkam
keluaran pada
NAND-2 menjadi 0 yang menjamin keluaran NAND-1 tetap 1 meskipun pulsa
masukan telah berakhir. Sekarang C2 membuang muatan lewat R2 dan
dengan demikian kedua masukan NAND-2 menjadi 0. Keadaan ini membuat
keluaran NAND-2 menjadi 1 dan keluaran NAND-1 menjadi 0. Akhirnya,
rangkaian
tersebut
mencapai keadaan stabilnya lagi dengan
masukan
NAND-1 dalam keadaan 1 dan keluaran NAND-2 juga 1. Lama monostabil
tersebut dalam keadaan tidak stabil ditentukan oleh nilai R2 dan C2 .
+
R1
C1
Q
A
Q
C
B 1
C2
2
R2
Gambar 9.4 : Monostabil digital yang tersusun dari gerbang NAND
Contoh berikutnya adalah monostabil digital yang tersusun dari gerbang logika
NOR, dan salah satu konfigurasinya dapat diperhatikan pada Gambar 9.5.
+
A
C
R
Q
1 M
Gambar 9.5 : Monostabil digital yang tersusun dari gerbang NOR.
Keadaan stabil dari monostabil pada Gambar 9.5 adalah Q = 0 dan A = 0.
Selanjutnya, cobalah untuk menjelaskan cara kerja rangkaian tersebut dengan
memberikan pemicu singkat dengan transisi dari 0 ke 1 (pemicu positif).
2. Multivibrator Astabil
Multivibrator astabil merupakan suatu rangkaian yang keadaan pada
keluarannya tidak dapat stabil pada satu keadaan, tetapi berubah secara terusmenerus dari keadaan 0 ke keadaan 1 berulang secara bergantian. Astabil
biasa digunakan
(square).
Masalah
sebagai
osilator yang menghasilkan gelombang kotak
yang biasa dihadapi
adalah
menyangkut
kestabilan
frekuensi keluaran astabil. Astabil banyak digunakan dalam rangkaian digital
untuk membangkitkan
rentetan
gelombang
kotak
untuk
keperluan
pendetakan (clock). Rangkaian digital seperti pencacah, register, dan lainlain mutlak memerlukan gelombang kotak yang dapat diandalkan.
Ada banyak cara untuk menyusun rangkaian astabil dengan gerbang
logika. Sebagai contoh pada Gambar 9.6 disajikan rangkaian astabil dari
gerbang logika NAND yang dilengkapi dengan resistor R dan kapasitor C
sebagai penentu frekuensi.
C
1
A
D
2
B
R
3
Q
Q
4
Gambar 9.6 : Rangkaian multivibrator astabil
menggunakan gerbang NAND
Mula-mula masukan NAND-1 yaitu titik A = 0, maka titik B = 1 dan titik D = 0.
Oleh karena B = 1 dan dan A = 0 maka tegangan B lebih tinggi dari pada A dan
arus mengalir dari B ke A melalui R. Akibatnya kapasitor C aakan terisi dan
tegangannya naik sedikit demi sedikit hingga menuju 1. Pada saat A = 1,
maka B berubah dari 1 ke 0. Keadaan sekarang menjadi
terbalik
dari
sebelumnya. Karena B = 0 dan A = 1, maka arus mengalir dari A ke B melalui
R sedemikian hingga tegangan A turun sedikit demi sedikit. Ketika A = 0
maka B berubah dari 0 ke 1 lagi. Demikian seterusnya, peristiwa tersebut
terjadi
secara
berulang sehingga timbul osilasi. Gerbang
NAND-3
dan
NAND-4 berfungsi sebagai pembentuk gelombang kotak. Bentuk gelombang
dari rangkaian astabil tersebut dapat dilihat pada Gambar 9.7.
A
0
t1
t2
t3
B
Q
Gambar 9.7 : Bentuk gelombang astabil pada Gambar 8.6.
Antara 0 dan t tegangan titik A naik secara eksponensial yang berarti kapasitor
C terisi dan arus mengalir dari B ke A melalui R. Antara t dan t tegangan A
turun yang berarti arus mengalir dari A ke B atau kapasitor C dikosongkan.
Astabil yang menggunakan gerbang logika NAND pada gambar 9.6 bukanlah
satu-satunya konfigurasi.
Selain dengan gerbang NAND, multivibrator astabil digital juga dapat
disusun dari gerbang logika NOT atau NOR. Pada Gambar 9.8 dapat
dilihat astabil yang tersusun dari gerbang logika NOR.
R
Q
A
D
C
R1
Gambar 9.8 : Rangkaian astabil dengan gerbang NOR.
Cobalah untuk menjelaskan
cara kerja astabil pada
mengingat bahwa pengisian dan pengosongan
gambar 9.8
muatan
pada
dengan
kapasitor C
melalui resistor R. Kedua komponen tersebut, yakni C dan R, dihubungkan
dengan keluaran astabil.
3. Picu Schmitt (Schmitt Trigger)
Picu Schmitt sebenarnya merupakan rangkaian bistabil (flip-flop)
yang keadaan keluarannya dikendalikan melalui tingkat tegangan pada
masukannya.
gelombang
Picu
sinus
Schmitt
menjadi
sering digunakan untuk mengubah masukan
gelombang kotak. Gelombang kotak
tersebut
dapat menyediakan pulsa pemicu yang tajam untuk mengendalikan rangkaian
lain. Picu Schmitt sangat baik untuk pembentukan kembali pulsa-pulsa yang
cacat pada tepi tepinya, atau dengan kata lain picu Schmitt sangat handal
untuk penghapusan desah (noise) yang menumpang pada suatu isyarat.
Rangkaian picu Schmitt dapat dibuat dengan menggunakan gerbang
logika NAND 3 masukan sejumlah 3 buah, dan 2 di antara 3 tersbut dirangkai
untuk
membuat
bistabil.
Rangkaian
picu
Schmitt seutuhnya dapat
diperhatikan pada Gambar 9.9.
Q
Vi
Q
Gambar 9.9 : Rangkaian picu Schmitt dengan
gerbang NAND 3 masukan
Suatu bentuk rangkaian astabil
yang
sederhana
dapat
dibuat
dengan
menggunakan picu Schmitt. Sebagai contoh astabil dari picu Schmitt 7413
atau 7414 dapat dilihat pada Gambar 9.10.
R
A
2
1
B
Q
C
Gambar 9.10 : Astabil dengan picu Schmitt 7413.
Jika masukan NAND-1 yaitu A = 0, maka titik B = 1 dan arus akan mengalir
dari B ke A melalui R. Akibatnya keadaan A menjadi naik menuju 1. Jika A
= 1, maka B akan berubah dari 1 ke 0 dan arus mengalir dari A ke B
melalui R. Demikian seterusnya proses tersebut terjadi secara berulang-ulang.
Jika diperhatikan dengan seksama, keadaan Q selalu berkebalikan dengan
keadaan B, artinya jika B = 0 maka Q = 1 dan jika B = 1 maka Q = 0. Ternyata
frekuensi keluaran astabil yang tersusun dari picu Schmitt dapat diandalkan
kestabilannya.
Vi
V+
Vt
Vo
Vcc
t
Gambar 9.11 : Hubungan antara isyarat masukan
dan keluaran pada picu Schmitt.
Picu Schmitt bersifat sebagai komparator yang memiliki dua tingkat
tegangan pada masukannya. Bila tingkat tegangan itu dilampaui oleh suatu
isyarat masukan maka keluarannya akan
mengalami perubahan keadaan.
Untuk lebih jelasnya perhatikan Gambar 9.11. V+ adalah tegangan ambang
atas dan V- menyatakan tegangan ambang bawah. Jika tegangan masukan
Vi > V- maka keadaan keluarannya akan tinggi, dan jika V i < V+ maka
keadaan keluarannya menjadi rendah. Karena ambang atas dan bawah tidak
sama mengakibatkan picu Schmitt memiliki histerisis. Kurva histerisisnya
tampak pada Gambar 9.12.
Vo
Vi
V-
V+
Gambar 9.12 : Kurva histerisis pada picu Schmitt.
Histerisis inilah yang menjadi ciri khas picu Schmitt, yaitu bahwa rangkaian
tidak segera menyambung balik sesudah
isyarat
masukan turun tepat di
bawah suatu tegangan ambang (atas) tetapi pada tingkat tegangan yang
jauh lebih rendah (pada ambang bawah). Lambang picu Schmitt dengan
histerisis sebagai ciri khasnya tampak pada Gambar 9.13.
atau
Gambar 9.13 : Lambang picu Schmitt.
Cara lain untuk membangun rangkaian picu Schmitt adalah menggunakan
suatu penyangga (buffer) seperti CD-4050 dengan memasang balikan positif
seperti tampak pada Gambar 9.14.
(Ri/Rf).Vcc
Vo
Rf
Ri
Vcc
4050
(a)
V- Vcc/2
(b)
Gambar 9.14
:
Vi
V+
(a). Picu Schmitt menggunakan penyangga
(b). Kurva Histerisisnya.
Secara praktis, harga-harga tegangan
ambang
atas
dan
bawah
dapat
dinyatakan sebagai :
V+ =
Vcc ( Ri  R f )
V- = Vcc -
2R f
Vcc ( Ri  R f )
2R f
.
4. Rangkaian Terpadu Monostabil, Astabil, dan Picu Schmitt
Rangkaian monostabil,
astabil
dan
picu
Schmitt
dapat
disusun
dengan gerbang logika dengan menambhkan beberapa komponen diskrit
resistor maupun kapasitor sesuai dengan keperluan. Tetapi cara yang lebih
mudah dan praktis adalah memanfaatkan rangkaian tersebut yang telah
tersedia dalam bentuk IC. Banyak tersedia IC yang telah dirancang secara
khusus sebagai monostabil, astabil ataupun picu Schmitt, beberapa di
antaranya akan dibahas sebagai berikut.
Monostabil/Astabil CD-4047B
IC CD-4047B dapat dioperasikan sebagai salah satu dari monostabil
atau astabil. IC tersebut memerlukan kapasitor luar (dipasang antara kaki 1 dan
3) dan resistor luar (dipasang antara kaki 2 dan 3) untuk menentukan lebar
pulsa bila sebagai monostabil dan
sebagai
astabil.
menentukan
Pengoperasiannya
sebagai
frekuensi
keluaran
astabil adalah
bila
dengan
memberikan keadaan tinggi pada masukan ASTABLE (kaki 5) atau keadaan
rendah pada masukan ASTABLE (kaki 4). Frekuensi keluaran pada Q (kaki
10) dan Q (kaki 11) ditentukan oleh rangkaian konstanta waktu (kapasitor
dan resistor). Frekuensi 2 kali frekuensi keluaran Q tersedia pada keluaran
OSCILLATOR (kaki 13). Sedangkan peropersiannya
sebagai
monostabil
diperoleh ketika pada IC CD-4047B dipicu dengan transisi dari rendah ke tinggi
pada masukan +TRIGGER (kaki 8) atau dengan transisi dari tinggi ke rendah
pada masukan -TRIGGER (kaki 6). IC dapat dipicu ulang dengan memberikan
pulsa transisi dari rendah ke tinggi secara bersamaan pada kedua masukan
+TRIGGER dan RETRIGGER (kaki 12). Suatu pulsa tinggi pada masukan
EXT.RESET (kaki 9) akan me-reset keluaran Q pada keadaan rendah dan
Q pada keadaan tinggi. Diagram IC CD-4047B tampak pada Gambar 9.15.
13
5
3
1
2
12
4
11
6
10
8
9
Gambar 9.15 : Diagram blok IC CD-4047B.
Picu Schmitt 7413
Untuk mendapatkan hasil operasi rangkaian digital yang terpercaya
diperlukan pulsa masukan dengan waktu transisi yang sangat cepat. Transisi
tersebut meliputi dari rendah ke tinggi (transisi positif) ataupun dari tinggi ke
rendah (transisi negatif). Pada daerah transisi tersebut sangat potensial untuk
terjadinya gangguan ataupun keadaan tidak stabil, sehingga daerah transisi
merupakan daerah yang kritis. Adanya pulsa dengan waktu transisi yang
lambat banyak menimbulkan masalah. Salah satu penyelesaiannya adalah
menggunakan
komparator
dengan balikan positif untuk menghasilkan
histerisis. Tetapi ada penyelesaian yang lebih praktis dan mudah, yaitu
menggunakan IC picu Schmitt, misalnya 7413, 7414 dan 40106.
Setiap IC 7413 terdiri dari 2 picu Schmitt yang identik. Secara logik,
setiap rangkaian picu tersebut merupakan gerbang NAND 4 masuan dengan
mengenakan balikan positif dan dengan ambang masukan yang berbeda
untuk pulsa masukan positif maupun negatif. Ambang
transisi
positifnya
sekitar 1,7 volt dan ambang transisi negatifnya sekitar 0,9 volt. Desah
(noise) frekuensi timggi sering menumpang pada sinyal informasi. Desah yang
tidak diinginkan itu dapat dihilangkan dengan menggunakan picu Schmitt yang
cara menyusunnya tampak pada Gambar 9.16.
R
Keluaran
Masukan
C
Gambar 9.16 : Picu Schmitt untuk menghilangkan desah.
Kapasitansi kapasitor C yang optimum tergantung dari sifat desah dan
frekuensi
sinyal,
sehingga
perlu
mengadakan
percobaan untuk
mendapatkan hasil yang terbaik. Picu Schmitt 7413 juga dapat dimanfaatkan
sebagai sumber detak (clock) yang
Gambar 9.17.
rangkaiannya
seperti
tampak
pada
Frekuensi keluaran jika dipasang resistor balikan 330 
dinyatakan dengan pendekatan sebagai
f =
0,8
,
RC
di mana C dalam F.
R
Keluaran
C
7413
Gambar 9.17 : Picu Schmitt sebagai sumber detak.
5. IC Pewaktu (Timer) 555
IC pewaktu 555 sangat populer karena dapat digunakan untuk berbagai
keperluan. IC tersebut dapat dikonfigurasi sebagai multivibrator baik astabil
maupun monostabil. Pada prinsipnya, IC-555 terdiri dari dua-pembanding
tegangan, satu-flip-flop, satu-penguat akhir, satu-transisitor, dan tiga-resistor
tetap masing-masing 5 k. Ketiga resistor membentuk pembagi tegangan yang
menghasilkan tegangan acuan bagi kedua pembanding. Tegangan acuan itu
adalah (1/3)Vcc dan (2/3)Vcc. Pada Gambar 9.18, IC-555 dirangkai sebagai
osilator dengan frekuensi yang dapat diubah-ubah. Setelah Vcc dikenakan, arus
mengalir melalui RA, P, dan RB menuju kondensator C. Kondensator tersebut
terisi muatan yang menyebabkan kenaikan tegangan V C. Tegangan itu dirasa
oleh kedua pembanding pada kaki 2 dan 6. Pembanding-1 akan bereaksi jika
tegangan VC sebesar (2/3) dari Vcc, sehingga flip-flop di-reset dan keluarannya
(kaki 3) ada pada
0 volt (tegangan sebelumnya kira-kira setinggi Vcc).
Bersamaan dengan keadaan ini, flip-flop membuat transistor T menghantar,
sehinggan kaki 7 sekarang di-massa-kan.
Tegangan
kemudi
RA
5
Ambang
teratas
6
P
Koneksi
buangmuatan
7
R
4
Pembanding-1
+
-
a
VC
C
tingkat
akhir
S
FF
Q
3
+
R
5
Pembanding-2
b
2
Ambang
terbawah
(penyulut)
Reset
8
R
RB
Vcc
Tegangan
catu
R
Keluaran
(ke relai)
T
1
555
Koneksi
massa
Gambar 9.18 : Diagram rangkaian IC Pewaktu 555
Hal ini menyebabkan kondensator C membuang muatan lewat R B dan T. T juga
membuat agar arus yang lewat RA dan P dialirkan ke massa. Jika tegangan C
kurang dari (1/3)Vcc, maka flip-flop di-set oleh pembanding-2. Sehingga pada
keluaran terdapat lagi tegangan sebesar Vcc dan tidak ada arus yang lewat T.
Keadaan awalpun berulang, C mulai terisi muatan lagi. Singkatnya, tegangan
kapasitor VC berubah-ubah terus antara (1/3)Vcc dan (2/3)Vcc dan tegangan
keluarannya juga selalu melompat-lompat pada 0 volt dan Vcc sehingga
membentuk gelombang kotak. Frekuensi gelombang kotak tersebut bergantung
pada waktu-muat dan waktu-buang muatan dari kondensator C. Kedua waktu
tersebut berbeda. Selama pengisian, arus yang lewat RA, P, dan RB adalah
lebih kecil dari pada waktu membuang muatan yang hanya lewat R B. Sehingga
pemuatan berjalan lebih lambat. Hal ini berakibat bahwa denyut-denyut berlalu
lebih lama dari pada spasi-spasi. Panjang denyut, jadi frekuensi, dapat diatur
dengan P. Adapun frekuensinya dapat ditentukan dengan rumus :
f =
1,44
.
( RA  P  2 RB )C
Sekiranya potensiometer antara kaki 2 dan kaki 7 didereti RB, maka lama spasi
akan dapat diatur (dalam hal ini nilai P dijumlahkan kepada RB). Karena dalam
rangkaian ini arus mengambil jalan-jalan berbeda selama mengisi dan
membuang muatan, maka lama waktu denyut dan spasi berbeda.
IC-555 Sebagai Astabil
Keluaran multivibrator astabil (AMV) selalu berubah dengan sendirinya
dari rendah ke tinggi kemudian ke rendah lagi secara berulang-ulang.
Perubahan ini akan berhenti jika catu daya diputuskan. IC-555 sebagai astabil
dapat dilihat pada Gambar 9.19 berikut :
+ Vcc
RA
8
4
7
RB
C
555
2
3
6
5
Vo
1
Gambar 9.19 : Konfigurasi IC Pewaktu 555 sebagai astabil.
Karena keadaan keluaran yang tidak menentu, maka diasumsikan keadaan Q
mula-mula rendah dan keluaran pada kaki 3 tinggi. Keadaan Q yang rendah
telah membuat transistor menyumbat sehingga kapasitor C dapat terisi melalui
RA dan RB. Konstanta waktunya adalah (RA + RB)C. Ketika C terisi muatan,
tegangan pada kaki 6 akan naik mencapai (2/3) Vcc. Saat itu pembanding 1
akan memiliki keluaran tinggi yang men-set flip-flop sehingga membuat
transistor menghantar dan menghubung singkatkan RB dan C ke ground.
Akibatnya C akan membuang muatannya melalui RB ke ground. Ini berarti
konstanta waktu pembuangan muatannya adalah RBC. Karena muatannya
terbuang, maka tegangannya akan turun. Ketika tegangan ini turun di bawah
(1/3) Vcc, keluaran pembanding 2 akan menjadi tinggi dan me-reset flip-flop.
Sekarang keluaran Q menjadi rendah dan kaki 3 menjadi tinggi. Keadaan
tersebut akan terus berulang sampai catu daya dimatikan. Dengan demikian
pada keluaran IC akan diperoleh gelombang persegi dengan keadaan rendah
dan tinggi yang tidak sama. Oleh karenanya multivibrator tersebut juga
dinamakan sebagai osilator gelombang persegi. Waktu yang diperlukan C untuk
terisi mencapai (2/3) Vcc lebih lama dari waktu yang diperlukan untuk
membuang muatannya sampai tegangan mencapai (1/3) Vcc. Hal ini terjadi
karena konstanta pengisian (RA + RB)C lebih besar dari pada konstanta waktu
pembuangan RBC. Hal ini mengakibatkan bentuk keluaran yang tidak simetrik,
kondisi tinggi lebih lama dari pada kondisi rendah. Ketidak simetrian bentuk
gelombang tersebut dinyatakan sebagai siklus kerja (duty Cycle) dengan satuan
persen (%). Rumusnya :
D =
Kondisi  tinggi
x 100 %
satu  periode
atau
D =
W
x 100 %.
T
Dalam perancangan, siklus kerja ini dapat dihitung dengan parsamaan
D =
( R A  RB )
x 100 % .
( RA  2 RB )
Sedangkan frekuensi keluarannya dapat dihitung berdasarkan persamaan :
f =
1,44
( RA  2 RB )C
Dalam beberapa penerapan, frekuensi keluaran astabil dapat dibuat variabel
dengan mengubah-ubah nilai RA dan atau RB. Biasanya salah satu diganti
dengan trimpot (resistor variabel). Tetapi dengan memperkecil R A dari pada RB
perlu diperhatikan juga karakteristik IC jenis ini, sehingga cara yang lebih mudah
untuk mendapatkan yaitu siklus kerja 50% adalah menggunakan sebuah dioda
yang dirangkai paralel dengan RB. Cara kerja rangkaian ini sedemikian hingga
menghasilkan siklus kerja 50% adalah dioda menyebabkan pengisian kapasitor
C akan dilakukan melalui RA dan mengkosongkan melalui RB. Bila RA = RB
maka tetapan waktu pengisian dan pengosongan akan menjadi sama sehingga
diperoleh siklus kerja 50%.
IC-555 Sebagai Monostabil
Monostabil hanya memiliki satu keadaan stabil yang dalam hal ini adalah
rendah. Jika dikenai tegangan pemicu, keadaan stabil akan berubah tinggi
selama beberapa saat untuk kemudian kembali ke keadaan semula. Monostabil
yang dibangun dengan IC-555 dapat dilihat pada Gambar 9.20. Pada keadaan
stabil, kaki 3 IC-555 dalam keadaan rendah dan saluran pemicu tinggi. Jika
tegangan pada pemicu diturunkan hingga di bawah (1/3)Vcc, meskipun hanya
sesaat, maka keluaran pembanding 2 akan tinggi dan me-reset flip-flop.
Akibatnya kaki 3 menjadi tinggi dan keluaran Q menjadi rendah. Keadaan Q
yang rendah membuat transistor menyumbat, sehingga kondensator C 1 akan
terisi sampai (2/3)Vcc, karena pada tegangan sebesar ini keluaran pembanding
2 menjadi tinggi dan kaki 3 menjadi rendah kembali. Keadaan ini akan terus
bertahan sampai muncul kembali tegangan pemicu. Lama kaki 3 dalam
keadaan tinggi (keadaan tak stabil) ditentukan oleh nilai R dan C 1 yang dapat
dihitung dengan rumus :
T = 1,1 RC1.
Kaki 4 adalah fasilitas reset pada flip-flop RS. Jika kaki ini dalam keadaan
rendah, maka IC-555 tidak dapat beroperasi. Kaki 4 dijaga pada keadaan tinggi
dengan menghubungkannya ke Vcc.
+ Vcc
R
8
7
10 k
4
2
Pemicu
555
6
3
Keluaran
5
C1
1
0.01 F
C2
Gambar 9.20 : Konfigurasi IC Pewaktu 555 sebagai monostabil
6.
Aplikasi
Hendak dirancang suatu sumber detak 100 kHz dengan menggunakan
IC-555. Dengan demikian IC-555 tersebut harus dikonfigurasikan sebagai
astabil. Berdasarkan persamaan :
f =
1,44
( RA  2 RB )C
dapat diperoleh :
f (RA + 2RB)C = 1,44.
Jika dipilih C = 0,001 F, maka RA + 2RB = 14,4 k dan banyak pilihan untuk
memilih RA dan RB. Pilihan yang terbaik untuk RA dan RB dalam orde k. Salah
satu pilihan adalah RA = 5 k dan RB = 4,7 k. Dengan demikian dengan
kombinasi nilai komponen tersebut diperoleh :
RA + 2RB = 5 k +2 (4,7) k = 14,4 k
C = 0,001 F
Jadi :
f
=
1,44
(14,4)k(0,001) F
 100 kHz.
7.
Soal-soal
1. Sebutkan tiga jenis multivibrator, deskripsikan masing-masing jenis, dan
berikan contoh kegunaannya !
2. Analisislah berdasarkan cara kerjanya, apakah rangkaian pada gambar
berikut merupakan multivibrator ? Jika benar multivibrator, apa jenisnya ?
T
Q
R
Vcc
C
3. Perhatikanlah rangkaian multivibrator berikut ! Gambarkanlah bentuk
gelombang pada keluaran Vo, dan berapakah frekuensi keluarannya ?
+6V
6k8
9
4
7
555
4k7
2
3
Vo
6
1
nF
1
5
0,1 F
4. Rancanglah sebuah rangkaian monostabil dengan menggunakan IC
pewaktu 555 yang dapat menghasilkan lebar pulsa 5 mili detik (5 ms) !
5. Rancanglah suatu rangkaian multivibrator yang dapat menghasilkan detak
(gelombang kotak) dengan frekuensi keluaran 500 kHz menggunakan :
a. IC picuSchmitt 7413 atau 7114,
b. IC Pewaktu 555.
6. Perhatikanlah rangkaian multivibrator berikut ! Berdasarkan potensiometer
yang terpasang, kemudian tentukanlah (a) siklus kerja maksimum dan
minimum, dan (b) frekuensi keluaran maksimum dan minimum yang dapat
dicapai.
+6V
6k8
9
4
7
4k7
555
2
3
Vo
10 k
6
1
1
5
10 nF
nF
7. Suatu rangkaian multivibrator astabil dibangun dari IC picu Schmitt. Jika
tegangan histerisisnya (V+ - V-) berubah (dapat bertambah atau berkurang)
karena fluktuasi suhu, maka apa yang terjadi dengan (a) tegangan, dan (b)
frekuensi keluaran ?.
BAB X
PENCACAH
Aplikasi flip-flop yang paling luas pemakaiannya adalah sebagai
komponen pembangun pencacah dan register. Teknologi sistem digital menjadi
semakin semarak antara lain karena peranan flip-flop yang dapat menampilkan
fungsi baik sebagai pencacah (counter) maupun register. Dalam kehidupan
sehari-hari sering dijumpai mesin-mesin digital yang bekerja sebagai pencatat
seperti pencatat waktu, pencatat frekuensi, pencatat bilangan, pencatat
banyaknya orang yang memasuki suatu tempat, dan sebagainya. Mesin-mesin
pencatat itu bekerja sebagai pencacah. Pada dasarnya mesin-mesin tersebut
mencacah pulsa tegangan. Pencacah termasuk dalam kelompok rangkaian
sekuensial yang merupakan gabungan antara rangkaian kombinasional dan flipflop. Dengan demikian flip-flop merupakan komponen utama dalam menyusun
rangkaian pencacah. Semua jenis flip-flop yang dilengkapi dengan fasilitas
Clock (Ck atau CP), Preset (Pr atau SD), ataupun Clear (Cr atau RD) dapat
digunakan untuk menyusun rangkaian pencacah. Tetapi dalam bab ini akan
banyak menggunakan flip-flop JK atau JK-MS. Perhatikan Gambar 10.1 berikut.
Qo
Q1
FF-0
FF-1
Pr
1
Pulsa masukan
1
J
Q
Ck
Q2
FF-2
Pr
1
1
J
Q
Ck
Pr
1
1
J
Q
Ck
K
K
K
Q
Q
Q
Gambar 10.1 : Cr
Tiga FF-JK yang disusun
secara
serial.
Cr
Cr
Setiap FF memiliki masukan J = K = 1, sehingga keluaran FF itu akan ter-toggle
(berubah tingkat logikanya) ketika pada masukan Ck berubah dari 1 (tinggi) ke 0
(rendah). Pulsa masukan hanya dikenakan pada Ck dari FF-0. Keluaran Qo
dihubungkan ke Ck pada FF-1, dan keluaran Q1 dihubungkan ke Ck dari FF-2.
Bentuk gelombang keluaran pada setiap FF dapat dilihat pada Gambar 10.2.
1
2
3
4
5
6
7
8
Pulsa
masukan
Q0 1
0
Q1 1
0
Q2 1
0
Gambar 10.2 : Bentuk gelombang keluaran dari tiga FF yang disusun seri.
Sebelumnya dianggap bahawa ketiga keluaran FF pada tingkat logika 0, dan
setiap FF hanya dapat berubah keadaan jika pada masukan Ck terjadi transisi
dari 1 ke 0 (NGT : Negative Going Transision). Berdasarkan keadaan itu maka
hal-hal yang perlu diperhatikan adalah :
1) Keluaran FF-0, yaitu Q0 , mengalami perubahan keadaan tingkat logika (tertoggle) pada setiap kali pulsa detak pada Ck-nya mengalami transisi dari 1
ke 0, sehingga gelombang keluaran pada Q0 memiliki frekuensi sama
dengan setengah (1/2) dari frekuensi pulsa (detak) masukan.
2) Keluaran FF-1, yaitu Q1 , mengalami perubahan keadaan tingkat logika (tertoggle) pada setiap kali pulsa detak pada Ck-nya mengalami transisi dari 1
ke 0, sehingga gelombang keluaran pada Q1 memiliki frekuensi sama
dengan setengah (1/2)
dari frekuensi Q0 atau seperempat (1/4) dari
frekuensi pulsa (detak) masukan.
3) Keluaran FF-2, yaitu Q2 , mengalami perubahan keadaan tingkat logika (tertoggle) pada setiap kali pulsa detak pada Ck-nya mengalami transisi dari 1
ke 0, sehingga gelombang keluaran pada Q2 memiliki frekuensi sama
dengan setengah (1/2)
dari frekuensi Q1 atau seperdelapan (1/8) dari
frekuensi pulsa (detak) masukan.
Berdasarkan keterangan di atas, setiap FF membagi frekuensi masukannya
dengan 2 (dua). Jika sekiranya ditambahkan FF ke empat pada rantai Gambar
10.1 dengan keluaran Q3 akan memiliki frekuensi seper-enam-belas (1/16) dari
frekuensi pulsa detak masukan, demikian seterusnya. Secara umum dapat
dikemukakan bahwa dengan N buah FF yang disusun serial akan menghasilkan
frekuensi keluaran pada FF terakhir sebesar fN dan dituliskan sebagai :
fN = (1/2N).f0
(10-1)
dengan f0 adalah frekuensi detak masukan mula-mula. FF yang disusun seperti
pada Gambar 10.1 di atas membentuk rangkaian yang dikenal sebagai
pembagi frekuensi.
1.
Pencacah Biner Tak Sinkron (Serial atau Riak)
Di samping fungsi sebagai pembagi frekuensi, rangkaian seperti Gambar
10.1 juga bekerja sebagai pencacah biner. Hal ini dapat ditunjukkan dengan
menyelidiki sederetan keadaan setiap FF setelah suatu pulsa detak berubah
dari 1 ke 0. Deretan keadaan tersebut tampak pada tabel berikut :
Q2
Q1
Q0
__________________________________________________________________________________
0
0
0
sebelum dikenakan pulsa detak (keadaan awal)
0
0
1
sesudah pulsa 1 (pertama)
0
1
0
sesudah pulsa 2 (ke dua)
0
1
1
sesudah pulsa 3 (ke tiga)
1
0
0
sesudah pulsa 4 (ke empat)
1
0
1
sesudah pulsa 5 (ke lima)
1
1
0
sesudah pulsa 6 (ke enam)
1
1
1
sesudah pulsa 7 (ke tujuh)
0
0
0
sesudah pulsa 8 (ke delapan), kembali berputar
ke keadaan awal.
___________________________________________________________________________________
Misalkan nilai kombinasi dari Q2Q1Q0 merupakan bilangan biner, di mana Q2
adalah posisi 22 (empatan), Q1 adalah posisi 21 (duaan), dan Q0 adalah posisi 20
(satuan). Delapan deret yang pertama dari keadaan Q 2Q1Q0 pada tabel di atas
akan dikenal sebagai serial perhitungan biner dari 000 ke 111. Sesudah pulsa
pertama FF-FF itu dalam keadaan 001 (Q2 = 0, Q1 = 0, dan Q0 = 1) yang
menggambarkan biner 0012 (setara dengan desimal 1); sesudah pulsa ke dua
FF-FF itu dalam keadaan 010 (Q2 = 0, Q1 = 1, dan Q0 = 0) yang
menggambarkan biner 0102 (setara dengan desimal 2); sesudah pulsa ke tiga
FF-FF itu dalam keadaan 011 (Q2 = 0, Q1 = 1, dan Q0 = 1) yang
menggambarkan biner 0112 (setara dengan desimal 3); dan seterusnya
sesudah pulsa ke tujuh FF-FF itu dalam keadaan 111 (Q2 = 1, Q1 = 1, dan Q0 =
1) yang menggambarkan biner 1112 (setara dengan desimal 7). Pada akhir
pulsa ke delapan ketiga FF kembali ke keadaan 000 dan serial biner terulang
dengan sendirinya untuk pulsa detak yang berturut-turut. Pada kejadian tersebut
tampak bahwa untuk tujuh pulsa masukan yang pertama, fungsi rangkaian itu
sebagai pencacah biner di mana keadaan dari FF-FF tersebut menggambarkan
bilangan biner yang setara dengan banyaknya pulsa yang telah terjadi.
Pencacah di atas menghitung nilai tertinggi 111 2 = 710
(8 keadaan) dan
selanjutnya kembali ke 000.
Jenis pencacah dengan konfigurasi seperti pada Gambar 10.1 dikenal
sebagai pencacah tak sinkron atau pencacah serial atau pencacah riak
(ripple), di mana setiap keluaran FF bertindak sebagai sinyal masukan Ck pada
FF berikutnya. Keadaan keluaran setiap FF berubah secara tidak bersamaan
(tak sinkron) terhadap pulsa detak. Hanya FF-0 yang dikenai pulsa detak.
Perubahan keadaan keluaran FF-1 menunggu hingga terpicu dari FF-0.
Perubahan keadaan keluaran FF-2 menunggu hingga terpicu dari FF-1,
demikian seterusnya.
Pencacah seperti pada Gambar 10.1 di atas memiliki 2 3 = 8 keadaan
yang berbeda (dari 000 s/d 111) dan dikenal sebagai pencacah modulo 8
(tepatnya sebagai pencacah biner tak sinkron modulo 8 atau 3 bit). Jika sebuah
FF sejenis ditambahkan menyambung, seperti tampak pada Gambar 10.3,
maka deretan keadaan yang berbeda yang akan dihitung dalam biner ada
sebanyak 16 keadaan, yaitu dari 0000 s/d 1111. Pencacah tersebut memiliki
modulo 16 atau 4 bit. Secara umum dapat dikemukakan bahwa jika ada N buah
FF (atau N bit) yang disusun seperti gambar 10.3 maka pencacah itu memiliki
2N keadaan yang berbeda dan dikatakan bahwa pencacah tersebut merupakan
pencacah biner (N bit) modulo 2N. Pencacah modulo 2N akan mampu
menghitung dari nol hingga setinggi 2N-1 sebelum kembali ke keadaan nol-nya.
Jelas bahwa bilangan modulo selalu sama dengan banyak kombinasi keadaan
keluaran pencacah yang berbeda pada satu siklus (putaran) sebelum kembali
ke keadaan awalnya.
Banyaknya Modulo = 2N.
(10-2)
Bilangan modulo suatu pencacah tak sinkron juga menunjukkan pembagi
frekuensi yang diperoleh pada FF terakhir.
Qo
Q1
FF-0
FF-1
Pr
1
1
Q2
FF-2
Pr
1
J
Q
1
Ck
Q
Cr
FF-3
Pr
1
J
Q
1
Ck
K
Q3
Pr
1
J
Q
1
Ck
Pulsa masukan
K
Q
Cr
J
Q
Ck
K
Q
Cr
K
Q
Cr
Gambar 10.3 : Pencacah biner (4 bit) tak sinkron modulo 16.
Ingat bahwa untuk semua FF dipertahankan J = K = 1. Detak (pulsa) masukan
dikenakan pada Ck dari FF-0. Kemudian keluaran FF-0 akan berubah ke
keadaan yang berlawanan (ter-toggle) setiap kali detak masukan membuat
transisi dari tinggi ke rendah (transisi negatif). Keluaran (Q) dari FF-0 dikenakan
pada masukan Ck dari FF-1, sehingga keluaran FF-1 akan ter-toggle pada
setiap kali Ck-nya mengalami transisi negatif. Dengan cara yang sama, FF-2
dan FF-3 akan ter-toggle setiap kali Ck-nya mengalami transisi negatif. Jika
detak dikenakan terus menerus, maka kombinasi keluaran setiap FF
menggambarkan bilangan biner (4 bit) dengan keluaran FF-3 sebagai MSB dan
keluaran FF-0 sebagai LSB.
Pada akhir detak ke 15 keluaran semua FF
menunjukkan keadaan 1111. Pada detak ke 16 keluaran FF-0 berubah dari 1
ke 0, yang mengakibatkan keluaran FF-1 berubah dari 1 ke 0 dan seterusnya
hingga keluaran semua FF menunjukkan keadaan 0000.
Dengan kata lain,
pencacah tersebut telah melewati satu siklus penuh (dari 0000 hingga 1111)
dan kembali ke keadaan 0000. Dari keadaan 0000 akan dimulai siklus
perhitungan baru untuk deretan detak berikutnya.
Pencacah biner tak sinkron yang telah dikemukakan di atas terbatas
pada bilangan modulo 2N. Dengan demikian modulo pencacah yang dapat
1, 2, 4, 8, 16, 32, … 2 N.
dihasilkan adalah
Nilai tersebut sebenarnya
merupakan bilangan modulo terbesar yang dapat diperoleh dari penggunaan N
buah FF. Bila diingikan pencacah dengan bilangan modulo yang lebih kecil dari
pada 2N maka dapat dilakukan dengan memodifikasi pencacah modulo 2 N.
Dasar modifikasinya adalah membuat pencacah tersebut melompati keadaan
yang secara normal merupakan bagian dari deretan perhitungannya. Cara untuk
mengerjakan lompatan tersebut dapat diperhatikan pada Gambar 10.4.
Qo
Q1
FF-0
1
FF-1
Pr
1
Q2
FF-2
Pr
1
Pr
1
J
J
J
Q
Q
Q
1
Ck
K
Q
Cr
Masukan
1
Ck
K
Q
Ck
K
Q
Cr
Cr
Gambar 10.4 : Pencacah biner (3 bit) tak sinkron modulo 6.
Jika gerbang NAND diabaikan maka pencacah tersebut merupakan pencacah
biner (3 bit) tak sinkron modulo 8 yang akan mencacah dari 000 s/d 111. Jika
gerbang NAND pada gambar 10.4 diperhatikan dapat dijelaskan seperti berikut :
1. Keluaran NAND dihubungkan ke Clear (Cr) pada setiap FF. Pencacah tidak
akan terpengaruh selama keluaran NAND pada keadaan tinggi (Cr setiap FF
pada keadaan 1). Ketika keluaran NAND menuju rendah, maka akan mengclear semua FF sehingga pencacah tersebut segera menuju ke keadaan
000.
2. Kedua masukan NAND masing-masing dihubungkan dengan keluaran FF-1
dan FF-2 sehinggan keluaran NAND tersebut akan menuju rendah kapan
saja Q1 = Q2 = 0. Keadaan ini akan terjadi ketika pencacah berubah dari
keadaan 101 ke 110 (akhir detak ke 6). Keadaan rendah pada keluaran
NAND akan segera meng-clear pencacah tersebut ke keadaan 000. Ketika
FF-FF telah di-clear maka keluaran NAND kembali ke tinggi karena keadaan
Q1 = Q2 = 0 tidak lama terjadi. Perhatikanlah Gambar 10.5 .
1
2
3
4
5
6
7
8
9
10
11
12
Pulsa
masukan
Q0 1
0
Q1 1
0
Q2 1
0
Keluaran1
NAND 0
Gambar 10.5 : Bentuk gelombang pencacah biner tak sinkron modulo 6
Bentuk gelombang keluaran pada Q1 terdapat kenaikan dan gelinciran yang
sangat tajam oleh kejadian sesaat dari keadaan 110 sebelum peng-clear-an.
Kenaikan dan gelinciran itu sangat sempit sehingga tidak menghasilkan
petunjuk yang terlihat pada tampilan. Kenaikan dan gelinciran tersebut dapat
menimbulkan
persoalan
hanya
jika
keluaran
Q1
digunakan
untuk
mengendalikan rangkaian lain.
3. Walaupun pencacah menuju ke keadaan 110 tetapi hanya untuk beberapa
nanodetik sebelum ke keadaan 000. Sehingga pada dasarnya dapat
dikatakan bahwa pencacah tersebut menghitung dari 000 (nol) ke 101 (lima)
dan selanjutnya kembali ke 000. Keadaan 110 dan 111 dilompati sehingga
pencacah tersebut hanya melalui 6 keadaan yang berbeda, dengan
demikian pencacah tersebut merupakan pencacah modulo 6. Deretan
pencacahannya dapat diperhatikan pada tabel berikut.
Q2
Q1
Q0
0
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
Keadaan sementara 110
diperlukan untuk meng-clear
pencacah
Cacah saluaran masukan pada gerbang NAND yang digunakan untuk
menghasilkan lompatan tidak harus 2 saluran tetapi tergantung dari banyaknya
tingkat logika 1 yang digunakan untuk meng-clear pencacahan.
Secara umum dapat dikemukakan bahwa untuk membangun pencacah
biner tak sinkron yang memulai penghitungan (pencacahan) dari nol dan
memiliki bilangan modulo x adalah :
1. Tentukan banyaknya FF terkecil (paling sedikit) sedemikian hingga 2 N  x
dan hubungkan FF-FF tersebut menjadi pencacah tak sinkron.
2. Hubungkan keluaran NAND ke saluran Cr (Clear) setiap FF.
3. Tentukan keluran FF-FF mana yang akan berada pada keadaan tinggi (1)
pada suatu hitungan sama dengan x, kemudian hubungkan keluaran FF-FF
tersebut dengan saluran masukan gerbang NAND.
Sebagai contoh hendak disusun pencacah biner tak sinkron modulo 10 yang
akan mencacah dari 0000 (nol) hingga 1001 (sembilan).
Karena ada 10
keadaan, dan 10 itu terletak di antara 23 = 8 dan 24 = 16, maka diperlukan 4 FF.
Pencacah tersebut di-clear ke nol ketika keadaan 1010 (sepuluh) dicapai. Oleh
karena itu keluaran FF-1 (Q1) dan FF-3 (Q3) harus dihubungkan ke masukan
gerbang NAND. Rangkaian pencacah tersebut tampak pada Gambar 10.6.
Ingat bahwa setiap FF dikenai J = K = 1.
J
Q0
Ck
J
Q1
Ck
FF-0
K
Q2
Ck
FF-1
K
Cr
J
Q3
Ck
FF-2
K
Cr
J
FF-3
K
Cr
Cr
Gambar 10.6 : Pencacah biner tak sinkron modulo 10.
Pencacah modulo 10 pada Gambar 10.6 juga disebut sebagai pencacah
desimal (dekade).
Pencacah dekade tersebut melakukan pencacahan dari
biner 0000 (nol) hingga biner 1001 (sembilan) sehingga pencacah itu juga
disebut sebagai pencacah BCD (Binary Coded Decimal). Pencacah BCD
menggunakan 10 kode (sandi) kelompok BCD yaitu 0000, 0001, 0010, … 1000,
dan 1001.
Pencacah dekade digunakan juga sebagai pembagi frekuensi
dengan 10.
Semua pencacah yang telah dikemukakan sebelumnya merupakan
pencacah naik, karena telah menghitung dari nol hingga bilangan tertinggi yang
dapat dicapai. Selain itu dapat pula disusun pencacah turun yang akan
mencacah dari cacahan tertinggi hingga nol.
Untuk itu perhatikan ilustrasi
pencacah turun berikut.
Q2 Q1
Q0
Q2 Q1
Q0
Q2 Q1
Q0
(7)
1
1
1
1
1
1
1
1
1
(6)
1
1
0
1
1
0
1
1
0
(5)
1
0
1
1
0
1
1
0
1
(4)
1
0
0
1
0
0
1
0
0
(3)
0
1
1
0
1
1
0
1
1
(2)
0
1
0
0
1
0
0
1
0
(1)
0
0
1
0
0
1
0
0
1
(0)
0
0
0
0
0
0
0
0
0
Dst.
Terlihat bahwa pada pencacah turun, setiap FF kecuali yang pertama (FF-0)
harus berubah keadaan (ter-toggle) ketika keluaran FF sebelumnya mengalami
transisi dari rendah ke tinggi (transisi positif). Jika FF-FF tersebut dengan Ck
yang merespon transisi negatif (dari tinggi ke rendah), maka di depan Ck pada
setiap FF dapat dipasang sebuah inverter (NOT). Cara lain dapat dikerjakan
dengan mengendalikan setiap masukan Ck melalui keluaran komplemen ( Q )
dari FF sebelumnya. Untuk lebih jelasnya, perhatikan Gambar 10.7.
FF-0
J
Q0
Ck
K
FF-1
J
Q1
Ck
Q0
K
FF-2
J
Q2
Ck
Q1
K
Q2
Gambar 10.7 : Pencacah biner tak sinkron turun.
Detak masukan tetap dikenakan pada Ck dari FF-0, keluaran komplemen FF-0
( Q 0) dikenakan pada Ck untuk FF-1, dan keluaran komplemen FF-1 ( Q 1)
dikenakan pada Ck untuk FF-2. Keluaran penacahan masih tetap diambilkan
dari keluaran Q2Q1Q0. Bentuk gelombang pada Q2Q1Q0 dapat dilihat pada
Gambar 10.8.
1
2
3
4
5
6
7
8
9
10
11
12
Masukan
Q0 1
0
Q1 1
0
Q2 1
0
Gambar 10.8 : Bentuk gelombang keluaran pencacah turun.
Bentuk gelombang pada Gambar 10.8 menunjukkan bahwa Q 1 (keluaran FF-1)
berubah keadaan ketika Q0 (keluaran FF-0) berubah dari rendah ke tinggi ( Q 0
berubah dari tinggi ke rendah), dan Q2 berubah keadaan ketika Q1 berubah dari
rendah ke tinggi tinggi ( Q 1 berubah dari tinggi ke rendah). Pencacah turun tidak
banyak digunakan sebagaimana pencacah naik. Pencacah turun banyak
digunakan dalam keadaan di mana telah diketahui suatu jumlah yang
diinginkan. Dalam keadaan ini pencacah turun di-preset pada jumlah yang
diinginkan dan selanjunya diijinkan mencacah turun berdasarkan pulsa yang
dikenakan. Ketika pencacahan mencapai nol diperlukan rangkaian gerbang
logika untuk menunjukkan bahwa sejumlah pulsa yang telah di-preset telah
terjadi.
Contoh :
Rancanglah pencacah biner tak sinkron naik modulo 6 menggunakan flip-flop JK
yang dapat di-reset (di-nol-kan) dengan hanya menekan satu saklar.
20
21
1
1
22
1
1
J
SD Q
K
74LS76
Q
J
SD Q
K
74LS76
Q
1
1
J
SD Q
K
74LS76
Q
CK
1
RD
CK
1
CK
1
RD
RD
Masukan
+ 5 volt
(1)
Saklar
100 
Gambar 10.9 : Pencacah biner tak sinkron naik modulo 6
Pencacah
tersebut
memerlukan
3
buah
flip-flop
(modulo
6).
Urutan
pencacahannya adalah 0-1-2-3-4-5-0- dst. Jika nilai 6 (biner 110) tercapai,
maka keluaran gerbang AND menjadi tinggi yang menyebabkan status gerbang
NOR rendah pada jalur RD dan me-reset semua flip-flop ke nol. Segera setelah
semua keluaran flip-flop nol, keluaran gerbang AND menjadi rendah dan
menyebabkan gerbang NOR dan saluran RD
kembali tinggi, selanjutnya
pencacah bekerja kembali. Siklus ini terus berulang sampai saklar manual
ditekan. Keadaan tinggi dari saklar menyebabkan pencacah juga ter-reset.
Resistor 100  untuk mempertahankan salah satu masukan gerbang NOR
rendah ketika saklar terbuka (tidak ditekan). Rangkaian pencacah yang
dimaksud tampak pada Gambar 10.9 di atas.
2.
Pencacah Biner Sinkron (Paralel)
Pada pencacah biner tak sinkron setiap FF tidak berubah secara
bersamaan (tidak terjadi sinkronisasi terhadap detak masukan), tetapi
perubahannya terjadi secara serial (bergantian) di mana perubahan keadaan
suatu FF menunggu pemicuan dari FF sebelumnya. Hal ini menyebabkan
terjadinya akumulasi waktu tunda. Keterbatasan tersebut dapat diatasi dengan
menggunakan pencacah sinkron (paralel) di mana semua FF dipicu secara
bersamaan (paralel) oleh detak masukan. Karena detak masukan dikenakan
pada setiap FF maka digunakan beberapa gerbang dan cara untuk
mengendalikan kapan suatu FF berubah keadaan dan kapan FF itu tetap oleh
adanya pengaruh detak masukan. Untuk keperluan pengendalian itu dikerjakan
melalui saluran masukan FF, misal J dan K. Dengan demikian, dalam
merancang pencacah sinkron perlu menentukan agar J dan K setiap FF sebagai
fungsi keluaran. Untuk mengurangi banyaknya fungsi biasanya digunakan FF-D
dan FF-T, karena kedua FF tersebut memiliki satu saluran masukan.
Jika
dibandingkan dengan pencacah tak sinkron, maka pada pencacah sinkron
berlaku :
a. Saluran Ck untuk semua FF dihubungkan bersama sehingga detak masukan
dikenakan pada setiap FF secara bersamaan (simultan).
b. Hanya FF paling depan, yang berkedudukan sebagai LSB, yang dikenai
keadaan J = K = 1 secara permanen. Saluran J dan K pada FF yang lain
dikendalikan melalui kombinasi keluaran FF-FF yang sesuai.
c. Pencacah sinkron memerlukan lebih banyak persambungan (rangkaian) bila
dibandingkan pencacah tak sinkron yang setara.
d. Pencacah sinkron lebih cepat karena dapat menghitung frekuensi detak
yang lebih tinggi untuk selang waktu yang sama.
Untuk merancang pencacah sinkron dengan suatu jenis FF perlu
mengetahui tabel transisi siklus pencacahannya dan tabel eksitasi dari FF yang
bersangkutan. Selanjutnya, dari kedua tabel itu ditampung dalam suatu tabel
kebenaran
untuk
menentukan
fungsi
saluran
masukannya
terhadap
keluarannya. Fungsi tersebut dapat ditentukan dengan bantuan peta Karnaugh.
Untuk lebih jelasnya, berikut ini dikemukakan cara merancang suatu pencacah
biner sinkron modulo 5 yang menggunakan FF-JK. Untuk pencacah tersebut
jelas diperlukan 3 buah FF. Tabel eksitasi untuk FF-JK (telah dibahas dalam
bab Flip-flop) adalah sebagai berikut :
Qn  Qn+1
J
K
0
0
0
X
0
1
1
X
1
0
X
1
1
1
X
0
Tabel transisi untuk pencacah biner sinkron modulo 5 adalah sebagai berikut :
Q2
Q1
Q0
Pencacahan
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
1
0
1
-
-
-
1
1
0
-
-
-
1
1
1
-
-
-
Bilangan biner tertinggi hasil pencacahannya adalah 100. Dengan demikian
keadaan atau angka biner
101, 110, dan 111 tidak boleh terjadi. Keluaran
pencacah tersebut adalah Q2Q1Q0 di mana Q2 merupakan MSB dan Q0 sebagai
LSB. Masukan Ck setiap FF dihubungkan dengan detak masukan. Fungsi
saluran masukan (J dan K) terhadap saluran keluaran (Q) setiap FF tertuang
dalam tabel kebenaran seperti berikut :
No.
K
Q2
Q1
Q0
J2
K2
J1
K1
J0
0
0
0
0
0
X
0
X
1
X
1
0
0
1
0
X
1
X
X
1
2
0
1
0
0
X
X
0
1
X
3
0
1
1
1
X
X
1
X
1
4
1
0
0
X
1
0
X
1
X
5
0
0
0
X
X
X
X
X
1
6
0
0
1
X
X
X
X
1
X
7
0
1
0
X
X
X
X
X
1
baris
Untuk menentukan J2, K2, J1, K1, J0 dan K0 sebagai fungsi dari variabel keluaran
(Q2, Q1, dan Q0) perlu dicermati satu per satu berdasarkan tabel eksitasi FF-JK.
Misalkan untuk Q2Q1Q0 = 000, oleh karena setelah terjadi detak masukan
keadaannya harus berubah menjadi Q2Q1Q0 = 001, ini berarti terjadi perubahan
pada Q0 dari 0 menjadi 0, dan berdasarkan tabel eksitasi haruslah J 2 = 0 dan
K2 = X. Nilai J dan K tersebut berlaku untuk Q2Q1Q0 dari
001 dan 010.
Sedangkan untuk Q2Q1Q0 = 011 di mana Q2 berubah dari 0 menjadi 1, maka
haruslah J2 = 1 dan K2 = X. Dengan cara yang sama dapat diteruskan untuk
transisi yang lain. Untuk Q2Q1Q0 = 100 pada detak berikutnya harus berubah
menjadi 000 (kembali ke keadaan awal pencacahan), maka J 2 = X dan K2 = 1
karena Q2 mengalami perubahan dari 1 ke 0. Selanjutnya, keluaran pencacah
tidak diijinkan untuk menuju ke keadaan 101, 110, dan 111, maka untuk
keadaan-keadaan tersebut harga J2 dan K2 boleh diisi sembarang, atau J2 = X
dan K2 = X. Cara tersebut harus diteruskan untuk nilai-nilai J1, K1, J0 dan K0.
Jika semua telah terisi, untuk mendapatkan fungsi keadaan masukan terhadap
keluarannya akan dituangkan dalam peta Karnaugh seperti berikut. Oleh karena
ada 6 masukan (3 FF), yaitu J2, K2, J1, K1, J0 dan K0, maka akan diperoleh 6
peta Karnaugh. Tetapi peta Karnaugh untuk masukan LSB, yaitu J 0 dan K0,
tidak perlu dibuat karena pada umumnya berlaku J0 = K0 = 1.
Q2Q1
Q0
Q0
Q0
Q2Q1
Q0
Q0
Q0
Q2Q1
Q0
Q0
Q0
Q2Q1
Q0
Q0
Q0
Q2Q1
Q0
Q0
Q0
Q2Q1
Q0
Q0
Q0
Q 2Q 1
Q 2Q1
Q2Q1
Q2 Q 1
0
0
X
X
X
X
0
1
J2 = Q1Q0
Q 2Q 1
Q 2Q1
Q2Q1
Q2 Q 1
X
X
X
1
X
X
K2 = 1
X
X
Q 2Q 1
Q 2Q1
Q2Q1
Q2 Q 1
0
X
X
0
1
X
J1 = Q0
X
X
Q 2Q 1
Q 2Q1
Q2Q1
Q2 Q 1
X
0
X
X
X
X
X
1
K1 = Q0
Q 2Q 1
Q 2Q1
Q2Q1
Q2 Q 1
1
1
X
1
X
X
J0 = 1
X
X
Q 2Q 1
Q 2Q1
Q2Q1
Q2 Q 1
X
X
X
X
1
1
K0 = 1
X
X
Dari semua peta Karnaugh tersebut di atas, maka dapat diperoleh suatu sistem
persamaan (tidak unik) sebagai berikut :
J0 = K 0 = 1
J1 = K 1 = Q 0
J2 = Q1Q0 dan
K2 = 1.
Atas dasar persamaan tersebut, maka diagram rangkaian pencacah biner
sinkron modulo 5 tampak pada Gambar 10.10 seperti berikut :
1
Q2
J2
Q1
Ck
Q2
K2
J1
Q0
Ck
Q1
K1
J0
Ck
Q0
K0
detak
Gambar 10. 10 : Pencacah biner sinkron modulo 5 dengan FF-JK.
Semua FF yang berdetak dapat digunakan sebagai komponen rangkaian
pencacah biner. Tetapi kebanyakan FF yang digunakan adalah jenis FF-T dan
FF-D, oleh karena kedua jenis FF tersebut masing-masing hanya mempunyai
satu saluran masukan. Dengan demikian persambungan rangkaian pencacah
yang dibuat menjadi lebih sederhana. Perlu diingat bahwa tabel eksitasi setiap
jenis FF tidaklah sama. Sehingga dalam membuat tabel kebenaran harus
mengacu pada tabel eksitasi dari FF yang dipilih.
Pencacah paralel yang telah dikemukakan merupakan pencacah naik,
yakni mencacah dari bilangan kecil ke bilangan yang semakin besar untuk
setiap siklus pencacahan. Ada kalanya juga diperlukan pencacah turun, yakni
mencacah dari bilangan yang besar ke bilangan yang lebih kecil untuk setiap
siklus pencacahan.
Sebagaimana pada pencacah serial, pencacah paralel
turun dapat disusun dengan memanfaatkan keluaran komplemen dari FF ( Q )
untuk memberikan masukan kepada gerbang logika yang lain (biasanya
gerbang AND). Sebagai ilustrasi, pencacah paralel naik paga Gambar 10.9
dapat diubah menjadi pencacah paralel turun dengan menghubungkan keluaran
Q 1 dan Q 0 ke masukan gerbang AND berturut-turut yang ditempati oleh Q1 dan
Q0. Keluaran hasil pencahan tetap diambilkan dari Q2Q1Q0. Perhatikan Gambar
10.11 berikut.
1
Q2
J2
Q1
Ck
Q2
J1
Q0
Ck
Q1
K2
K1
J0
Ck
Q0
K0
detak
Gambar 10. 11 : Pencacah biner sinkron turun modulo 5 dengan FF-JK.
Pencacah seperti Gambar 10.11 itu akan mencacah mengikuti deretan berikut :
Q2
Q1
Q0
1
1
1
1
1
0
1
0
1
1
0
0
0
1
1
Untuk tujuan fleksibilitas dapat dibangun pencacah naik/turun, artinya satu
rangkaian pencacah tersebut dapat difungsikan sebagai pencacah naik atau
pencacah turun tergantung kebutuhan. Salah satu cara untuk membuat fungsi
tersebut adalah mengendalikannya dengan suatu rangkaian pengendali pada
masukan. Rangkaian tersebut digunakan untuk mengendalikan apakah keluaran
normal FF (Q) atau keluaran komplemennya ( Q ) diumpankan ke masukan J
dan K pada FF berikutnya. Rangkaian pengendali untuk mengatur pencacah
naik atau turun itu tampak pada Gambar 10.12.
Detak masukan naik
Pi (naik)
Pi (turun)
FF
berikutnya
Detak masukan turun
Gambar 10.12 : Rangkaian pengendali pencacah naik/turun.
Dari gambar 10.12 itu tampak adanya dua jalur masukan, yaitu masukan detak
untuk pencacah naik dan masukan detak untuk pencacah turun. Dengan
demikian pada masukan Ck dari setiap FF, kecuali FF yang pertama (LSB),
perlu ditambahkan gerbang AND dan OR dalam konfigurasi seperti gambar
10.12. Untuk lebih jelasnya perhatikan contoh rangkaian pencacah naik/turun 3
bit (modulo 8) pada Gambar 10.13. Pencacah itu akan mencacah dari 000 naik
menuju 111, ketika masukan pengendali Cacahan-naik bernilai 1 dan mencacah
dari 111, turun menuju 000 ketika masukan pengendali Cacahan-turun berharga
1. Selama saluran Cacahan-naik dalam keadaan 1 dan saluran Cacahan-turun
pada keadaan 0 maka AND-1 dan AND-2 yang aktif menyalurkan detak
sedangkan AND-3 dan AND-4 tidak bekerja. Hal ini memungkinkan keluaran Q0
dan Q1 terus menuju ke masukan J dan K pada FF berikutnya sehingga
pencacah itu akan mencacah naik terhadap detak masukan. Hal yang
sebaliknya terjadi ketika saluran Cacahan-naik = 0 dan Cacahan-turun = 1.
AND-2
Q2 J2
Q1 J1
FF-1
Ck
FF-2
Cacahan
Q0 J0
naik
AND-1
Ck
1
Ck
FF-0
AND-3
Q 2K2
Q 1K1
Q 0K0
1
AND-4
Cacaha
n
Detak
masukan
Gambar 10.13 : Pencacah paralel naik/turun modulo 8.turun
Contoh :
Rancanglah pencacah biner sinkron/paralel naik modulo 6 menggunakan flipflop JK yang dapat di-reset (di-nol-kan) dengan hanya menekan satu tombol.
20
21
22
Masukan
1
SD
J
CK
Q
74LS76
1
K
RD
J
J
SD
Q
CK
CK
Q
Q
74LS76
K
RD
Q
74LS76
K
RD
Q
+ 5 volt (1)
Tombol
100 
Gambar 10.14 : Pencacah biner sinkron naik modulo 6
Pencacah
tersebut
memerlukan
3
buah
flip-flop
(modulo
6).
Urutan
pencacahannya adalah 0-1-2-3-4-5-0-1- dst. Jika nilai 6 (biner 110) tercapai,
maka keluaran gerbang AND menjadi tinggi yang menyebabkan status keluaran
gerbang NOR rendah pada jalur
RD dan me-reset semua flip-flop ke nol.
Segera setelah semua keluaran flip-flop nol, keluaran gerbang AND menjadi
rendah dan menyebabkan gerbang NOR dan saluran RD kembali tinggi,
selanjutnya pencacah bekerja kembali. Siklus ini terus berulang sampai tombol
manual ditekan. Keadaan tinggi dari tombol menyebabkan pencacah juga terreset.
Aplikasi 1 :
Terlebih dahulu harus melihat buku/lembar data (CMOS atau TTL) dari IC
7490 untuk mempelajari fungsi kaki-kaki (pin) dan cara kerjanya. Selanjutnya
dengan IC tersebut hendak disusun suatu rangkaian guna menghidupkan LED
selama 20 ms sekali setiap 100 ms (termasuk lama menyala) dengan
menggunakan sumber detak 50 Hz. Perhatikan Gambar 10.15 berikut !
+ 5 volt
7404
Sumber detak
50 Hz
LED
270 
Q0 Q1 Q2 Q3
> CP1
> CP0
7490
MR1 MR2 MS1 MS2
Gambar 10.15 : Konfigurasi 7490 debagai pencacah modulo 5.
Karena 20 ms adalah seperlima dari 100 ms, maka dapat digunakan pencacah
modulo 5 dan telah tersedia di dalam IC 7490. Untuk menentukan keluaran
mana yang digunakan untuk mengendalikan LED, maka perhatikan bentuk
gelombang yang dikeluarkan oleh IC 7490 dalam konfigurasi pencacah modulo
5 seperti tampak pada Gambar 10.16.
20 ms
CP1
1
2
3
4
5
6
7
8
9
10
11
Q1
Q2
Q3
0
1
2
3
4
0
1
2
3
4
0
Gambar 10.16 : Bentuk gelombang keluaran pencacah modulo 5 dari 7490
Jika frekuensi detak masukan 50 Hz, maka setiap cacahan akan habis selama
20 ms (1/50 Hz). Saluran keluaran Q3 akan tinggi selama 20 ms sekali dalam
setiap 100 ms. Sehingga dengan membalik (memasang gerbang NOT) saluran
Q3, maka dapat digunakan untuk mengendalikan LED (LED dapat menyala
ketika katoda lebih negatif dari pada anoda).
Aplikasi 2 :
Pelajari fungsi kaki-kaki (pin) dan cara kerja dari IC 74190 melalui buku/lembar
datanya (CMOS atau TTL). Selanjutnya dengan IC tersebut hendak disusun
suatu rangkaian pencacah sinkron yang akan mencacah naik dari 0 s/d 9,
kemudian mencacah turun dari 9 s/d 0, selanjutnya mencacah naik lagi dari 0
s/d 9, demikian seterusnya terjadi berulang-ulang. Perhatikan Gambar 10.17
berikut !
1
0
1
0
7414
1
1
PE
Arah
SD
J
U/D
Q
RC
CP
K
1D
R
D0 D1 D2 D3
NC
CE
Q
Sumber
Detak CP
+5V
74190
Keluaran
1 k
1
nF
TC
Q0 Q1 Q2 Q3
Gambar 10.17 : Pencacah BCD dengan IC 74190.
Oleh karena cacahannya 0 s/d 9, maka rangkaian tersebut berperan sebagai
pencacah BCD (biner coded decimal). Kemudian diinginkan pula mencacah
naik-turun-naik-turun dan seterusnya, maka dipilih rangkaian pencacah yang
dapat balik seperti 74190. Jika terminal U /D di-toggle setiap kali satu putaran
tercapai (terminal TC aktif), maka secara otomatis arah cacahannya dapat balik.
Ketika pertama kali dikenai daya, maka 74190 akan termuati secara paralel
misalnya dengan 5 (0101) dan jalur arah pada status 1. Angka 5 (0101) terjadi
secara acak (dapat angka lain antara
0 s/d 9). Kemuadian pencacah
menghitung turun hingga 0 dan pada saat itu TC akan tinggi yang menyebabkan
flip-flop ter-toggle dan merubah jalur arah menjadi 0. Dengan sumber detak
yang terus-menerus bekerja, pencacah tersebut akan mencacah balik dan
memulai pencacahan naik. Ketika mencapai angka 9, saluran TC menjadi tinggi
dan mengubah arah cacahan lagi. Demikian seterusnya proses tersebut terjadi
berulang-ulang.
3.
Soal-soal :
1. Berapakah modulus (besar modulo) suatu pencacah yang mengeluarkan
pencacahan dari :
a. 0 s/d 5
b. 7 s/d 0
c. 0 s/d 11
d. 2 s/d 15
e. 12 s/d 3.
2. Berapa banyak flip-flop JK yang diperlukan untuk membangun pencacah
biner dengan bilangan modulo berikut ?
a. Modulo 2
b. Modulo 7
c. Modulo 15
d. Modulo 20
e. Modulo 33.
3. Pada saluran masukan pencacah biner tak sinkron 5 bit dikenai frekuensi
18 Mhz. Berapakan frekuensi yang dikeluarkan melalui terminal berikut ?
a. 20
b. 21
c. 22
d. 23
e. 24 .
4. Gambarkanlah diagram pewaktu (bentuk gelombang) pada pencacah biner
naik 5 bit untuk 15 detak masukan.
5. Gambarkanlah diagram pewaktu (bentuk gelombang) pada pencacah biner
turun 3 bit untuk 10 detak masukan.
6. Rangkaian pencacah juga dapat difungsikan sebagai rangkaian pewaktu
(timer). Rancanglah rangkaian pencacah yang akan menghidupkan LED
selama 6 detik setelah penekanan suatu tobol. Sumber detak yang tersedia
berfrekuensi 60 Hz !
7. Rancanglah suatu rangkaian pencacah tak sinkron yang dapat mencacah
0-1-2-3-4-5-6-7-8-9-10-11 kemudian berhenti untuk menyalakan LED
sebagai tanda bahwa proses pencacahan berhenti. Proses pencacahan
tersebut dimulai dengan cara menekan suatu tombol.
8. Rancanglah suatu rangkaian pencacah riak (tak sinkron) yang dapat
menyalakan LED selama 40 ms dan mematikannya selama 20 ms.
Frekuensi detak yang dikenakan pada pencacah tersebut sebesar 100 Hz.
9. Perhatikan gambar berikut, kemudian gambarlah bentuk gelombang pada
saluran
20, 21, dan 22 untuk 10 detak masukan pada
saluran CK !
Berapakah besar bilangan modulo dari rangkaian pencacah berikut ?
20
21
22
CK
1
SD
J
Q
74LS76
1
K
RD
Q
J
CK
Q
74LS76
K
RD
Q
SD
J
CK
Q
74LS76
K
RD
Q
10. Rancanglah rangkaian pencacah biner sinkron naik modulo 7 dengan
menggunakan flip-flop JK. Kemudian gambarkan bentuk gelombang pada
setiap bit keluaran untuk 15 detak masukan !.
BAB XI
REGISTER
1. Register
Register merupakan suatu piranti yang digunakan untuk menyimpan
(sementara) data digit. Data di dalam register itu dapat digeser, dibaca ataupun
dihapus. Register dapat disusun secara langsung dengan flip-flop. Sebuah flipflop (FF) dapat menyimpan (store) atau mengingat (memory) atau mencatat
(register) data 1 bit. Jika ada n buah FF tentu saja dapat menyimpan data n bit.
Dengan kata lain sederet FF dalam konfigurasi tertentu merupakan register
yang kepadanya dapat dituliskan (write) suatu data atau dari register itu dapat
dibaca (read) data yang tersimpan sebelumnya. Pekerjaan menulis, mengingat,
dan menggeser data dapat dipikirkan pada kalkulator. Untuk memasukkan
bilangan 45, pertama menekan tombol (tut) 4 dan segera dilepaskan. Angka 4
muncul pada tampilan kalkulator. Berikutnya menekan tombol 5 dan segera
dilepaskan. Tampak bahwa angka 4 tidak hilang (ter-memory) tetapi tergeser ke
kiri satu posisi dan bilangan 45 segera muncul pada tampilan. Dalam proses
operasi bilangan yang angka-angkanya dimasukkan menurut urutan tertentu,
maka sebelum dioperasikan angka itu harus dicatat (disimpan) lebih dahulu.
Misalnya dilakukan operasi penjumlahan 2 dan 7. Mula-mula dimasukkan 2,
kemudian tekan tombol operasi penjumlahan (+). Angka 2 ini harus disimpan
(dicatat) agar nantinya dapat diproses bersama angka 7 yang dimasukkan
kemudian. Kedua ilustrasi tersebut menunjukkan bahwa register memiliki
ingatan (angka atau angka-angka muncul meskipun penekanan tombol
dilepaskan), dapat dikenakan pergeseran (shift), dan dapat mencatat atau
menyimpan data. Data tersebut ditampung atau disimpan dalam sekelompok
flip-flop yang disebut register.
Operasi yang paling sering dilakukan kepada data yang disimpan di
dalam register adalah operasi pergeseran (shift) atau pemindahan (transfer).
Hal ini mencakup pemindahan data dari satu FF ke FF lain maupun dari satu
register ke register lain. Gambar 11.1 menunjukkan pemindahan data dari satu
register (misal register X) ke register lain (misal register Y) yang masing-masing
register tersusun dari FF-D.
X0
X1
X2
Register X
X
Pulsa
transfer
X
0
X
1
2
D Y0
D Y1
D Y2
Ck
Ck
Ck
Y0
Y1
Register Y
Y2
Gambar 11.1 : Pemindahan data antar register.
Dengan mengenakan pulsa transfer, nilai yang tersimpan paxa X 0 dipindahkan
ke Y0, X1 ke Y1, dan X2 ke Y2. Pemindahan data dari register X ke register Y
tersebut merupakan pemindahan secara sinkron, karena nilai dari X0, X1 dan X2
dipindahkan secara bersamaan (paralel) berturut-turut ke dalam Y0, Y1 dan Y2.
Jika isi register X dipindahkan ke register Y bit demi bit, maka pemindahan
semacam ini disebut sebagai pemindahan secara serial. Gambar 11.2 berikut
menunjukkan dua register masing-masing 3 bit yang dihubungkan sedemikian
hingga isi register X dipindahkan (digeser) secara serial ke dalam register Y.
Jenis FF yang digunakan adalah FF-D karena memerlukan persambungan yang
lebih sedikit dari pada FF-JK.
D X2
D X1
D X0
D Y2
D Y1
D Y0
Ck
Ck
Ck
Ck
Ck
Ck
Pulsa geser
Gambar 11.2 : Pemindahan data antar register secara serial.
Tampak bahwa FF terakhir (X0) dari register X dihubungkan dengan masukan
FF pertama dari register Y. Ketika pulsa geser dikenakan, maka akan terjadi
pemindahan data dengan arah sebagai berikut :
X2
X1
X0
Y2
Y1
Y0 .
Keadaan X2 akan ditentukan oleh masukan D-nya. Sebagai gambaran sebelum
dikenakan satu pulsa geser misalkan register X berisi 101, yakni X 2 = 1, X1 = 0,
X0 = 1 dan register Y dalam keadaan 000. Tabel berikut menunjukkan cara
perubahan setiap FF ketika dikenakan tiga pulsa geser.
X2
X1
X0
Y2
Y1
Y0
1
0
1
0
0
0
sebelum dikenakan pulsa
0
1
0
1
0
0
sesudah pulsa pertama
0
0
1
0
1
0
sesudah pulsa ke dua
0
0
0
1
0
1
sesudah pulsa ke tiga
Hal yang perlu diperhatikan adalah bahwa sebelum pulsa geser dikenakan
setiap masukan FF (D) mengambil harga yang telah tersimpan dalam keluaran
FF di sebelah kirinya.
Dari tabel di atas dapat dikemukakan secara umum
bahwa untuk memindahkan semua bit (data) dari register X yang terdiri dari N
bit seluruhnya ke register Y secara serial memerlukan N pulsa geser. Pada
pemindahan data secara paralel, semua bit (data) dipindahkan secara
bersamaan mengikuti satu pulsa geser, tidak bergantung banyak bit yang
dipindahkan. Dengan membandingkan kedua cara pemindahan data tersebut
tampak bahwa pemindahan data secara paralel lebih cepat dari pada
pemindahan data yang sama apabila dilakukan secara serial. Namun demikian,
pemindahan secara paralel memelukan lebih banyak persambungan dari pada
cara serial. Kedua perbedaan tersebut akan lebih nyata untuk sejumlah besar
bit data dan untuk pemindahan jarak jauh yang memerlukan persambungan
yang lebih panjang.
Jadi pemindahan secara paralel lebih cepat dan
pemindahan secara serial lebih sederhana.
2.
Jenis Register
Jenis register dapat pula diklasifikasikan berdasarkan cara data masuk
ke dalam suatu register untuk disimpan dan cara data dikeluarkan dari register
tersebut. Untuk memasukkan dan mengeluarkan data masing-masing dapat
dilakukan secara serial atau paralel. Cara serial berarti data dimasukkan atau
dikeluarkan ke atau dari register secara beruntun bit demi bit. Sedangkan cara
paralel berarti data yang terdiri dari beberapa bit dimasukkan atau dikeluarkan
ke atau dari register secara serempak. Berdasarkan hal itu maka dikenal 4 jenis
register, yaitu :
(1) Serial In Serial Out (SISO),
(2) Serial In Paralel Out (SIPO),
(3) Paralel In Serial Out (PISO), dan
(4) Paralel In Paralel Out (PIPO).
Salah satu rangkaian sederhana dari setiap jenis register itu tampak pada
gambar berikut.
(1). Serial In Serial Out (SISO)
Masukan
Serial
D Q3
D Q2
D Q1
D Q0
Ck
Ck
Ck
Ck
Pulsa geser
Gambar 11.3 : Register Serial In Serial Out (SISO).
KeluaranSe
rial
(2). Serial In Paralel Out (SIPO)
Keluaran Paralel
Q3
Q2
Q1
Q0
OE
Masukan
serial
D Q3
D Q2
D Q1
D Q0
Ck
Ck
Ck
Ck
Pulsa geser
Gambar 11.4 : Register Serial In Paralel Out (SIPO).
(3). Paralel In Serial Out (PISO)
Masukan Paralel
P3
P2
P1
P0
IE
Pr
D
Resetr
Pr
Q3
D
Pr
Q2
Ck
Ck
D
Pr
Q1
Ck
Cr
D
Q0
Ck
Cr
Cr
Cr
Pulsa geser
Gambar 11.5 : Register Paralel In Serial Out (PISO)
Keluaran
serial
(4). Paralel In Paralel Out (PIPO)
D3
D Q3
Ck
D2
Masukan
Paralel
D1
D Q2
Ck
Q2
Keluaran
Paralel
D Q1
Ck
D0
Q3
Q1
D Q0
Ck
Q0
Pulsa geser
OE
Gambar 11.6 : Register Paralel In Paralel Out (PIPO).
Contoh :
Rancanglah register geser 4 bit untuk jenis PISO yang menggunakan flip-flop
JK dengan kode IC
74LS76. Kemudian gambarlah bentuk gelombang
keluarannya untuk satu siklus dengan memasukkan data biner 0111 (desimal
7). Salah satu konfigurasi rangkaian register tersebut adalah seperti tampak
pada Gambar 11.7 di bawah ini.
Masukan data paralel
1
0
1
1
D3
MSB
Q3
0
D1
D0
Q2
SD
J3
D2
Q
SD
Q
J
LSB
Q1
SD
Q
J
Q0
SD
Q0
J
Qo
Keluaran
>C
>C
P
K3
1
>C
P
Q
RD
K
>C
P
Q
RD
K
P
Q
RD
K
Q0
RD
CP
Reset
Detak masukan
Gambar 11.7 : JK-FF sebagai rangkaian register PISO 4 bit.
CP
1
2
3
4
RD
LSB
D0
Masukan
paralel
D1
D2
MSB
D3
Q0
MSB
LSB
Keluaran serial
Q1
Q2
Q3
Masukan paralel 0111
Di-reset
Gambar 11.8 : Diagram pewaktu register PISO 4 bit
Bentuk gelombang atau diagram pewaktuannya tampak pada Gambar 11.8 di
atas. Pengembalian bit data paling kanan ke awal register tersebut dapat
dilakukan dengan menghubungkan Q0 kembali ke J3 dan Q0 kembali ke K3.
Dengan cara ini bit data awal yang dimasukkan tidak pernah hilang. Setelah
setiap 4 pulsa detak ( 1 siklus) keluaran Q3 Q2 Q1 Q0 tetap berisi empat bit data
awal. Register PISO tersebut dapat pula berfungsi sebagai register PIPO
dengan keluarannya (Q3 Q2 Q1 Q0 ) diambil secara serentak.
3.
Aplikasi
Berikut adalah rancangan penggunaan register geser sebagai pengendali
lampu lalu-lintas (traffic light) dengan urutan kejadian : nyala hijau selama 20
detik, nyala kuning selama 10 detik, dan nyala merah selama 20 detik. Selain
itu, pada malam hari hanya terjadi nyala kuning yang berkedip setiap 1 detik
secara terus menerus. Perhatikanlah Gambar 11.9. Digunakan sumber detak 1
Hz, dan fototransistor untuk membedakan siang dan malam hari. Pada malam
hari proses pergeseran registernya dihentikan dan menyalakan lampu kuning
dengan berkedip. Pada siang hari, cahaya matahari menyinari fototransistor dan
membuatnya hambatan kolektor-emitor rendah yang memberikan tegangan
rendah pada masukan picu schmitt dan menyebabkan masukan rendah pada
masukan gerbang OR ke 4. Detak 1 Hz akan melalui gerbang OR ke 4 masuk
ke pembagi 10. Keluaran pembagi 10 digunakan untuk mengendalikan masukan
detak pada setiap flip-flop. Kemudian keluaran setiap flip-flop akan tinggi selama
10 detik secara bergiliran. Perhatikan bentuk gelombang pewaktunya pada
Gambar 11.10. Kemudian semua keluaran flip-flop dihubungkan seperti pada
gambar. Lampu hijau akan hidup selama 20 detik jika Q 0 atau Q1 tinggi.
Berikutnya, lampu kuning akan hidup selama 10 detik jika Q 2 tinggi. Akhirnya,
lampu merah akan hidup selama 20 detik jika Q3 atau Q4 tinggi.
Lampu Hijau
Lampu Merah
1
Q0
1
SD
J3
Q
Q1
SD
Q
J
3
1
SD
Q
J
1
Q3
SD
Q3
Q2
J
1
SD
Q4
J
Q4
>C
>C
P
K3
>C
P
Q
RD
K
>C
P
Q
RD
K
>C
P
Q
RD
K
P
Q3
RD
K
Q4
RD
1 nF
+5V
1 k
Detak 1 Hz
100 k
Pembagi 10
4
7414
2
Lampu Kuning
Gambar 11.9 : Pengendali lampu lalu-lintas
Pada malan hari, fototransistor berhambatan tinggi sehingga masukan picu
Schmitt pertama tinggi yang mengakibatkan keadaan tinggi pada gerbang OR
ke 4. Keadaan ini akan menghentikan masukan detak ke semua flip-flop.
Keadaan rendah pada keluaran picu Schmitt pertama dihubungkan dengan
saluran
reset
flip-flop
yang
mempertahankan
keadaan
rendah
pada
keluarannya. Keadaan tinggi pada keluaran picu Schmitt ke dua membuat
gerbang AND dapat dilewati detak 1 Hz untuk mengidupkan gerbang OR ke 2
dan menghasilkan cahaya kuning yang berkedip setiap 1 detik. Pada siang hari,
keluaran dari picu Schmitt pertama berubah dari rendah ke tinggi yang
mengakibatkan register geser bekerja kembali. Peralihan dari rendah ke tinggi
mengakibatkan aliran arus sesaat melewati rangkaian RC. Arus ini akan
menyebabkan keadaan tinggi pada masukan picu Schmitt ke tiga dan membuat
keadaan rendah pada S0 yang membuat Q0 tinggi. Ketika arus telah berlalu, S0
kembali tinggi dan register geser akan menghasilkan putaran keadaan tinggi
dari Q0 ke Q1 ke Q2 ke Q3 ke Q4 terus-menerus sepanjang hari.
10 detik
Masukan detak
register geser
Q0
Q1
Q2
Q3
Q4
Hijau
Kuning
Merah
Hijau
Kuning
Merah
Gambar 11.10 : Diagram pewaktu register geser.
4. Soal-soal
1.
Register geser 10 bit mula-mula berisi data 1011011101. Data berapa yang
tersimpan setelah 2 detak pergeseran ke kanan, jika kekosongan yang
terjadi berisi 0 ?
2.
Bentuk gelombang pada gambar berikut terjadi pada saluran kerluaran (Qo)
dari sebuah register geser. Berapa banyak flip-flop yang diperlukan untuk
membuat rangkaian register tersebut ? Jelaskan !.
Detak
masukan
Qo
0
1
2
3
4
5
6
7
8
9
10
3.
Gambarlah bentuk gelombang keluaran (pada Q2) yang dihasilkan dari
rangkaian seperti gambar berikut untuk 10 detak masukan !.
1
SD
Q0
D0
>C
P
1
SD
Q1
D1
>C
P
Q
SD
Q2
D2
>C
Q2
P
Q
RD
1
Q
RD
RD
+5V
Detak masukan
4.
Gambarlah bentuk gelombang pada CP, Q0, Q1, dan Q2 yang dihasilkan dari
rangkaian register seperti gambar berikut !.
1
SD
Q0
D0
>C
P
SD
Q1
D1
>C
P
Q
RD
>C
P
Q
RD
1
SD
Q2
D2
Q
RD
+5V
1
CP
5.
Pelajarilah cara kerja dari IC 74194 melalui buku/lembaran datanya.
Kemudian gambarkanlah bentuk gelombang pada Q0, Q1, Q2, dan Q3
berdasarkan status logika MR , S0, dan S1 seperti yang tertera pada gambar
berikut. Saluran lain dengan keadaan awal : DSR = D0 = 1, dan DSL = D1 =
D2 = D3 = 0.
CP
0
1
2
3
4
5
6
7
8
9
MR
So
S1
6.
Pelajarilah fungsi dan cara kerja IC 74164 melalui manual data TTL-nya.
Berdasarkan
persambungan
seperti
gambar
berikut,
kemudian
gambarkanlah bentuk gelombang pada Q0, Q1, …, Q7 untuk 8 detak.
Rangkaian tersebut digunakan untuk mengkonversi data biner 11010010
dari bentuk serial ke paralel.
1
DSa
DSb
Masukan serial
Strobe
74164
CP
>
Detak
masukan
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
MR
MR
Keluaran paralel
MR
CP
0
1
2
3
4
5
6
7
8
Strobe
DSb
1
1
0
1
0
0
1
0
9
7.
Rancanglah suatu rangkaian register geser (4 bit) dengan mode geser
KANAN/KIRI
yang menggunakan flip-flop D (IC-7474). Mode gesernya
dikendalikan melalui saklar toggle.
BAB XII
DEKODER (DEMULTIPLEKSER) DAN MULTIPLEKSER
Dalam suatu mesin digital, instruksi dan informasi (data) disajikan dalam
bentuk biner, karena mesin digital hanya dapat menanggapi dan mengolah data
yang berbentuk biner. Kita sering melihat atau bahkan menggunakan mesinmesin
digital
seperti
multimeter digital, termometer digital, jam digital,
komputer, kalkulator, dan lain-lain. Tampilan yang langsung dapat kita lihat
dari alat tersebut berupa angka desimal, padahal
proses
yang terjadi di
dalamnya berbentuk biner. Instruksi ataupun informasi dalam bentuk biner
tidak kita sukai, selain karena lebih rumit juga kurang praktis dan di luar
kebiasaan. Kita telah terbiasa dengan huruf dari A sampai Z maupun angkaangka 0, 1, 2, ... 9. Sehingga apabila disajikan angka atau kata dalam
bentuk biner pada umumnya tidak segera
disajikan sederet bit 0001011, kita
tidak
diketahui maknanya. Misalkan
segera tahu deretan bit itu
menyatakan angka atau huruf. Jika angka, sederet bit tersebut dapat
menunjukkan angka 17 atau bahkan angka 23 sebagaimana biasa kita kenal.
Agar 00010111 dapat tampil sebagai 17 atau 23 diperlukan teknik maupun
rangkaian tertentu. Hal ini juga berlaku untuk
langkah sebaliknya, agar
angka 17 atau 23 dapat dikenali oleh suatu mesin digital sebagai 00010111
diperlukan teknik dan rangkaian tertentu pula.
Dalam teknik penyaluran informasi ataupun transmisi data, sering kita
jumpai
di
mana
suatu
rangkaian
menyalurkannya ke salah satu dari
tersedia. Sebaliknya
menerima
sekian
juga sering dijumpai
masukan
banyak
dan
kemudian
jalur keluaran yang
suatu rangkaian yang memiliki
banyak jalur masukan dan satu jalur keluaran. Misalkan transmisi data pada
jaringan telepon, lebih banyak mengirimkan data dalam bentuk serial karena
hanya diperlukan sedikit saluran, sedangkan pada penerimaan akhir
tersebut dikumpulkan kembali dalam bentuk paralel.
data
Dalam pemakaian kalkulator, bilangan yang dimasukkan melalui
tombol kunci (tuts) perlu diubah dari
bentuk
desimal
ke dalam biner.
Sebaliknya bilangan yang muncul pada tampilan kalkulator juga mengalami
proses pengubahan dari bentuk biner ke dalam format 7 segmen yang pada
umumnya benbentuk desimal. Perhatikan Gambar 12.1 berikut ini.
7
8
9
4
5
6
1
2
3
0
+
=
Enkoder
CPU
Dekoder
Gambar 12.1 : Diagram aliran pengubahan tampilan
Kita hendak memasukkan bilangan desimal 9 dengan cara menekan tombol
kunci 9. Rangkaian enkoder mengubah desimal
9
menjadi
bentuk biner
sebagai 1001. CPU menerina bilangan itu dalam bentuk biner 1001 karena
CPU hanya dapat mengolah bentuk biner. Selanjutnya rangkaian dekoder
mengubah bilangan biber 1001 kembali menjadi bentuk desimal 9. Akhirnya
yang muncul dalam tampilan keluaran adalah desimal 9 seperti mula-mula.
Dari penggambaran tersebut memperlihatkan terjadinya proses pengubahan
dari satu jenis (kode) sistem bilangan menjadi jenis (kode) sistem bilangan
lain. Awalnya dari kode desimal menjadi kode biner, dan akhirnya dari kode
biner menjadi
kode
bermakna menjadi
desimal. Suatu rangkaian pengubah suatu pesan
kode tertentu disebut enkoder (penyandi).
Sedangkan
rangkaian pengubah suatu kode tertentu kembali menjadi makna sebernarnya
disebut dekoder (pembaca sandi).
1.
Sistem BCD (Biner Coded Decimal)
Dalam kehidupan sehari-hari kita
telah
terbiasa
dengan
sistem
bilangan desimal dan karenanya sistem ini dianggap sebagai kode yang
paling
bermakna.
Dalam
peralatan
digital
seperti pencacah frekuensi,
multimeter digital, kalkulator, komputer, dan lain-lain menampilkan bilangan
(angka) dalam bentuk desimal. Kita tahu bahwa mekanisme komputasi
dalam alat alat tersebut terjadi dalam bentuk biner. Jika hasil komputasi
tetap ditampilkan dalam bentuk biner, kita mengalami hambatan atau bahkan
sulit memahaminya, karena kita tidak terbiasa dengan bilangan yang tampil
dalam bentuk biner.
Jadi
desimal lebih mudah
difahami dari pada taampilan biner. Oleh karena itu
diperlukan
jelaslah bahwa dalam pemakaiannya tampilan
suatu cara penyandian dari biner ke desimal
Sebagai contoh, dengan menggunakan
sandi
biner
atau
sebaliknya.
paling sederhana,
bilangan desimal 25 dan 43 masing-masing disandikan sebagai berikut
25(10)
= 11001(2)
43(10)
= 101011(2)
Pada dasarnya dikenal dua jenis sandi biner yaitu sandi tak berbobot
dan sandi berbobot. Seperti dua contoh di atas termasuk dalam sandi tak
berbobot, setiap angka biner memiliki nilai sesuai dengan posisinya (satuan,
duaan, empatan, dan seterusnya). Dalam sandi tak berbobot, semua digit
bilangan
desimal disandikan langsung, atau sebaliknya semua
pernyataan
biner menyandikan suatu bilangan desimal, jadi bukan digit per digit. Dalam
sandi berbobot hanya bilangan-bilangan 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9 yang
disandikan. Untuk menyatakan bilangan desimal lebih dari satu digit, maka
setiap digit disandikan sendiri. Salah satu sistem sandi berbobot adalah
BCD (Biner Coded Dacimal) atau
desimal yang disandikan biner.
Untuk
menyatakan setiap digit desimal diperlukan 4 bit biner. Susunan 4 bit biner
tersebut menghasilkan 16 kombinasi yang berbeda, tetapi hanya diperlukan
10
kombinasi
di
antaranya.
Untuk menyatakan bilangan desimal N digit
diperlukan N x 4 bit
biner. Kelompok 4 bit yang pertama (paling
kanan)
menyatakan satuan, kelompok 4 bit ke dua adalah puluhan, kelompok 4 bit ke
tiga merupakan ratusan, dan seterusnya. Sebagai contoh bilangan desimal
468 (adalah 3 digit) memerlukan tiga kelompok 4 bit. Perhatikan Tabel 12.1
berikut.
Tabel 12.1 :
Bobot
800 400 200 100
80 40 20 10
8 4 2 1
Sandi BCD
0
0
1 0 0 0
Digit desimal
1
0
0
4
1 1 0
6
8
Tiga kelompok 4 bit tersebut dapat menyajikan bilangan
antara
0 sanpai
dengan 999 (seribu buah bilangan), dan karenanya dikatakan memiliki
resolusi 1/1000 atau 0,1 %.
2.
Dekoder Biner Ke BCD
Data atau bilangan dalam mesin digital diproses dalam bentuk biner
dan disajikan dalam bentuk kode.
Untuk
mengenal
arti
suatu
kode
diperlukan suatu rangkaian yang dikenal sebagai dekoder. Untuk merancang
suatu rangkaian dekoder
rangkaian
untuk
logika
mengenal
berbobot
pada
prinsipnya
sama
dengan
merancang
pada umumnya. Salah satu rangkaian dekoder adalah
(mengubah) data atau bilangan dalam bentuk biner tak
menjadi sandi biner
berbobot.
Rangkaian
tersebut
dinamakan
dekoder biner ke BCD. Perhatikan bilangan desimal 25 dan 43 yang disajikan
dalam biner tak berbobot dan biner berbobot (BCD) seperti pada Tabel 12.2
berikut.
Tabel 12.2 :
Tak berbobot
Berbobot (BCD)
Desimal
11001
101011
0010
0101
0100
0011
2
5
4
3
Selanjutnya, marilah kita rancang rangkaian dekoder
biner
ke
BCD dan
dibatasi untuk bilangan biner 4 bit sehingga bilangan terbesarnya adalah biner
1111 atau desimal 15. Untuk bit atau bilagan yang lebih besar prinsipnya
sama. Rangkaian yang akan dibuat memiliki 4 terminal masukan (ABCD) dan
8 terminal keluaran (P3P2P1P0S3S2S1S0). Diperlukan 8 terminal keluaran
karena bilangan-bilangan yang dihasilkan ada yang terdiri dari 2 digit (10, 11,
12, 13, 14, dan 15 masing-masing 2 digit). Tabel kebenaran rangkan yang
dimaksud adalah tampak pada Tabel 12.3 di bawah ini.
Tabel 12.3 :
Biner
BCD
Nomor Baris
Puluhan
Satuan
(Desimal)
A
B
C
D
P3
P2
P1
P0
S3
S2
S1
S0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
2
0
0
1
0
0
0
0
0
0
0
1
0
3
0
0
1
1
0
0
0
0
0
0
1
1
4
0
1
0
0
0
0
0
0
0
1
0
0
5
0
1
0
1
0
0
0
0
0
1
0
1
6
0
1
1
0
0
0
0
0
0
1
1
0
7
0
1
1
1
0
0
0
0
0
1
1
1
8
1
0
0
0
0
0
0
0
1
0
0
0
9
1
0
0
1
0
0
0
0
1
0
0
1
10
1
0
1
0
0
0
0
1
0
0
0
0
11
1
0
1
1
0
0
0
1
0
0
0
1
12
1
1
0
0
0
0
0
1
0
0
1
0
13
1
1
0
1
0
0
0
1
0
0
1
1
14
1
1
1
0
0
0
0
1
0
1
0
0
15
1
1
1
1
0
0
0
1
0
1
0
1
Dari tabel 12.3 tampak bahwa ada 8 fungsi
keluaran,
tetapi 3
fungsi di
antaranya, yaitu P3, P2, dan P1 selalu 0. Sehingga tinggal 5 fungsi masingmasing dapat dinyatakan dalam bentuk minterm sebagai :
S0 =  m (1,3,5,7,9,11,13,15)
S1 =  m (2,3,6,7,12,13)
S2 =  m (4,5,6,7,14,15)
S3 =  m (8,9)
P4 =  m (10,11,12,13,14,15).
Fungsi-fungsi tersebut jika dituangkan dalam peta Karnough dapat dilihat
seperti pada Gambar 12.2 di bawah ini.
AB
CD
AB
AB
C D
CD
C D
CD
0
1
1
0
AB A B AB
0
1
1
0
0
1
1
0
0
1
1
0
CD
AB
C D
CD
C D
CD
0
0
1
1
(a)
C D
CD
C D
CD
0
0
1
1
1
1
0
0
0
0
0
0
(b)
AB
CD
AB A B AB
AB
AB
0
0
0
0
AB A B AB
1
1
1
1
(c)
0
0
1
1
0
0
0
0
CD
C D
CD
C D
CD
AB
0
0
0
0
AB A B AB
0
0
0
0
(d)
0
0
0
0
1
1
0
0
a). S0 = D
AB
CD
C D
CD
C D
CD
AB
0
0
0
0
AB A B AB
0
0
0
0
1
1
1
1
0
0
1
1
b). S1 = A C + AB C
c). S2 = A B + BC
d). S3 = A B C
e). P0 = AB + AC.
(e)
Gambar 12.2 : Peta Karnough untuk keluaran-keluaran dari Tabel 11.3.
Realisasi rangkaian dekoder biner ke BCD berdasarkan tabel 12.3 dan gambar
12.2 ditunjukkan pada Gambar 12.3 di bawah ini.
A
B
C
D
S0
S1
S2
S3
P0
P1
P2
P3
Gambar 12.3 : Diagram rangkaian dekoder biner 4 bit ke BCD
3.
Dekode BCD ke Desimal
Data atau bilangan yang disajikan baik dalam sandi biner tak berbobot
maupun dalam sandi BCD masih sulit untuk difahami orang pada umumnya,
karena orang telah terbiasa
perlu rangkaian
inilah yang kita
dengan bilangan desimal. Dengan demikian
untuk mengubah dari sandi BCD ke desimal. Rangkaian
kenal sebagai dekoder BCD ke
desimal.
Marilah
kita
mencoba memahami pengubahan sandi BCD untuk menampilkan desimal 1
digit, misalnya desimal 9, yang tentu saja memerlukan 4 bit biner yang
menyandi BCD. Operasi pengubahan ini dapat dihasilkan dengan gerbang
AND 4 masukan. Perhatikan Gambar 12.4 berikut ini.
A = 1 (MSB)
A
B=0
B
C=0
C
D
D = 1 (LSB)
Saluran 9
Gambar 12.4 : Diagram rangkaian dekoder BCD (4 bit)
Ke desimal 1 digit dengan gerbang AND 4
masukan.
Keluaran gerbang AND pada gambar 6.4 dalam keadaan 1 jika dan hanya jika
masukan-masukan dalam sandi BCD bernilai A = 1 (MSB), B = 0, C = 0, dan
D = 1 (LSB). Karena
sandi
ini
akan
menampilkan
desimal
9,
maka
keluarannya ditandai dengan "saluran 9", (ABCD - 1001).
Sebuah dekoder BCD ke desimal yang lebih lengkap dapat dilihat
pada Gambar 12.5. Pada dekoder tersebut tetap digunakan gerbang NAND
sehingga sebuah keluaran 0 (rendah) untuk kode BCD yang benar dan 1
(tinggi)
pada
kode
lain
yang
salah.
Dekoder tersebut memiliki 4 jalur
masukan A, B, C, D dan 10 jalur keluaran untuk 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Untuk
mendapatkan
gerbang NOT.
masukan
komplemen A , B , C , D dapat
digunakan
S
A
B
(MSB)
C
D (LSB)
A B C D = 0000
0
A B C D = 0001
1
A B C D = 0010
2
.
.
.
A B C D = 1001
9
Gambar 12.5 : Dekoder BCD ke desimal menggunakan gerbang NAND.
Dekoder seperti gambar 12.5 di atas juga dikenal sebagai dekoder 4 jalur
ke 10 jalur (saluran), karena menunjukkan suatu kode masukan 4 bit yang
memilih 1 di antara 10 saluran keluaran.Dengan kata lain dekoder tersebut
bekerja sebagai saklar (switch) 10 posisi yang tanggap terhadap sebuah
perintah masukan BCD.
Kadang-kadang
dalam
selang
waktu
diperlukan
agar
sebuah
dekoder
tertentu.
Dalam
fungsi
demikian
bekerja
hanya
diperlukan satu
tambahan terminal masukan pada setiap gerbang NAND. Terminal tambahan
itu disebut sebagai STROBE atau ENABLE. Semua masukan STROBE
(S) disambung bersama dan dibangkitkan dengan sinyal biner S. Jika S =
1 maka satu gerbang diijinkan (enable) dan terjadi proses penyandian. Jika S
= 0 maka tidak ada kejadian yang mungkin dan proses penyandian
dicegah. Suatu masukan STROBE tersebut dapat digunakan suatu dekoder
yang memiliki sejumlah masukan dan keluaran sembarang.
4.
Dekode BCD ke Peraga 7 Segmen
Angka-angka yang sering kita baca pada alat-alat digital ditampilkan
dengan lampu peraga yang terdiri dari 7 bagian (segmen). Penampil macam
itu dikenal sebagai peraga 7 segmen. Perhatikan Gambar 12.6 berikut.
a
f
g
e
b
c
d
Gambar 12.6 : Peraga 7 segmen
Sebenarnya setiap segmen merupakan sebuah LED (Light Emitting Dyode),
dan masing-masing segmen diberi nama secara berurutan sebagai segmensegmen a, b, c, d, e, f, dan g seperti pada gambar 6.6. Angka desimal yang
ditampilkan terbentuk dari segmen-segmen yang menyala. Misal agar tampil
angka 7 maka segmen yang dinyalakan a, b, dan c. Jika segmen-segmen f,
g, b, dan c yang menyala maka akan muncul angka 4. Demikian seterusnya.
Agar peraga 7-segmen dapat menampilkan suatu angka (desimal),
maka
diperlukan
rangkaian
pengendali
untuk menterjemahkan keadaan
logika masukan BCD menjadi angka yang sesuai. Rangkaian pengendali itu
disebut dekoder BCD ke peraga 7 segmen. Selanjutnya marilah kita merancang
dekoder tersebut.
Terlebih dahulu kita susun
tabel
kebenaran
yang
menyatakan hubungan antara angka yang akan ditampilkan (BCD) dengan
segmen dari peraga 7 segmen yang harus dinyalakan. Untuk itu perhatikan
Tabel 12.4 berikut.
Tabel 12.4 :
Desimal
BCD
Segmen yang menyala
(nomor baris)
A
B
C
D
a
b
c
d
e
f
g
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
2
0
0
1
0
1
1
0
1
1
0
1
3
0
0
1
1
1
1
1
1
0
0
1
4
0
1
0
0
0
1
1
0
0
1
1
5
0
1
0
1
1
0
1
1
0
1
1
6
0
1
1
0
1
0
1
1
1
1
1
7
0
1
1
1
1
1
1
0
0
0
0
8
1
0
0
0
1
1
1
1
1
1
1
9
1
0
0
1
1
1
1
1
0
1
1
Segmen yang menyala pada tabel 12.4 merupakan fungsi keluaran sehingga
terdapat 7 fungsi keluaran yang masing-masing dapat dinyatakan sebagai :
a = m (0,2,3,5,6,7,8,9)
b = m (0,1,2,3,4,7,8,9)
c = m (0,1,3,4,5,6,7,8,9)
d = m (0,2,3,5,8,9)
e = m (0,2,6,8,9)
f = m (0,4,5,6,8,9)
g = m (2,3,4,5,6,8,9).
Berdasarkan fungsi-fungsi keluaran di atas kita dapat menuangkannya ke
dalam peta Karnough seperti tampak pada Gambar 12.7 berikut.
AB
CD
AB
AB
C D
CD
C D
CD
1
0
1
1
AB A B AB
0
1
1
1
X
X
X
X
1
1
X
X
CD
AB
C D
CD
C D
CD
1
1
1
1
(a)
1
1
1
0
AB A B AB
1
1
1
1
X
X
X
X
1
1
X
X
CD
AB
C D
CD
C D
CD
1
0
1
1
(c)
C D
CD
C D
CD
1
1
X
X
AB A B AB
0
1
0
0
X
X
X
X
1
1
X
X
(d)
AB
CD
X
X
X
X
AB
AB
C D
CD
C D
CD
1
0
1
0
(b)
AB
CD
AB A B AB
AB
AB
1
0
0
1
AB A B AB
0
0
0
1
(e)
X
X
X
X
1
1
X
X
CD
C D
CD
C D
CD
AB
1
0
0
0
AB A B AB
1
1
0
1
(f)
X
X
X
X
1
1
X
X
AB
CD
AB
0
0
1
1
C D
CD
C D
CD
Gambar 12.7 :
AB A B AB
1
1
0
1
X
X
X
X
Peta Karnough rangkaian dekoder
BCD ke peraga 7 segmen
1
1
X
X
X : tak peduli (don‟t care)
(g)
Persamaan logika untuk setiap jalur keluaran berdasarkan pada gambar 12.7
adalah :
a = A + BD + B D + CD
b = B + C D + CD
c=B+ C +D
d = B D + BC D + C D + B C
e = B D + CD
f = C D + B D + BC + A
g = B C + B C + C D + A.
Realisasi rangkaian dekoder BCD ke peraga 7 segmen dapat diperhatikan
pada Gambar 12.8 di bawah ini. Diagram rangkaian seperti Gambar 12.8
bukanlah
satu-satunya rangkaian BCD ke peraga 7-segmen. Anda
dapat
mencoba
rangkaian
teknik
sejenis
yang
berbeda
penyandian, pernyataan fungsi keluaran
minterm, dan cara penggabungan atau
Karnaoghnya.
dalam
tergantung
dari
bentuk
maxterm
penyederhanaan
dari
atau
peta
A
B
C
D
g
f
e
d
c
b
a
Gambar 12.8 : Diagram rangkaian dekoder BCD ke peraga 7-segmen.
5.
Demultiplekser
Demultiplekser adalah suatu piranti untuk memilih satu keluaran dari
beberapa keluaran yang tersedia. Demultiplekser identik dengan saklar putar
(rotary) satu kutub banyak posisi. Ide dasar demultiplekser ditunjukkan pada
Gambar 12.9.
Demultiplekser
1
Data masukan
H
(serial)
L
L
H
H
H
HHHLLH
Kendali
(alamat)
6
Data
Keluaran
(paralel)
Gambar 12.9 : Demultiplekser identik dengan saklar putar
Satu kutub banyak posisi.
Satu dari beberapa keluaran dapat dipilih melalui kendali (alamat) dengan
cara memutar
saklar
dengan
sudut
tertentu.
Data pada masukan akan
dipindahkan ke keluaran. Putaran yang cepat dari saklar (sebagai kendali) dan
sinkron dengan saat masukan akan mengubah data masukan serial menjadi
data paralel pada keluarannya. Data dalam gambar 6.9 di atas dalam bentuk
serial
adalah
HHHLLH.
Oleh
karena
sifatnya
yang
demikian,
maka
demultiplekser juga disebut sebagai distributor data dan dapat digunakan
sebagai dekoder. Sebuah demultiplekser akan menerima masukan
dan
meneruskannya ke salah satu dari beberapa keluaran yang mungkin. Dengan
kata lain hanya satu keluaran yang aktif (bekerja) sementara keluarankeluaran yang lain dalam keadaan tidak aktif. Supaya salah satu keluaran saja
yang aktif maka diperlukan jalur pengendali. Banyaknya jalur
pengendali
tergantung dari banyaknya jalur masukan. Sebagaimana telah dikemukakan,
rangkaian dekoder pada gambar 12.5 yang terdahulu biasanya dilengkapi
dengan jalur masukan strobe (S) Jalur strobe (S) tersebut pada umumnya
merupakan keluaran dari masukan enable dan masukan data yang disusun
seperti tampak pada Gambar 12.10 berikut.
Enable
Strobe (S)
Data
Gambar 12.10 : Strobe yang terdiri dari enable dan data
Selanjutnya marilah kita membuat rangkaian demultiplekser dengan dekoder 3
masukan 8 keluaran yang dilengkapi dengan masukan-masukan enable dan
data seperti terlihat pada Gambar 12.11 berikut ini.
A
B
C
Enable
0= A B C
S
Data
1= A BC
.
.
.
7 = ABC
Gambar 12.11 : Dekoder 3 masukan 8 keluaran
Jika enable = 1 maka S = 0 sehingga semua keluaran bernilai 1. Jika enable =
0 maka masukan data akan disalurkan lewat salah satu dari jalur keluarannya
yang ditentukan oleh nilai-nilai masukan A, B, dan C. Misalkan, jika ABC =
110, maka nilai pada jalur keluaran 6 akan sama dengan nilai pada jalur
masukan
data.
Dengan
mekanisme
seperti
inilah
dekoder
berfungsi
sebagai demultiplekser. Jika enable = data = 0, maka rangkaian demultiplekser
pada gambar 12.11 berfungsi sebagai dekoder. Demultiplekser 3 masukan 8
keluaran (disebut dekoder 8 bit atau dekoder 3 ke 8) pada gambar 12.11
selanjutnya digambarkan seperti pada Gambar 12.12 di bawah ini.
A
3 masukan
B
C
Enable
Data
0
1
2
3
4
5
6
7
8 keluaran
Gambar 12.12 : Dekoder 3 masukan ke 8 keluaran
Dekoder atau demultiplekser dengan orde yang lebih tinggi dapat disusun
dari dekoder atau demultiplekser orde lebih rendah. Berikut ini contoh
dekoder/ demultiplekser 5 masukan ke 32 keluaran (32 bit) yang dibangun
dengan cara menggabungkan satu dekoder 2 masukan ke 4 keluaran (4 bit)
dan empat dekoder 3 masukan ke 8 keluaran (8 bit) yang susunannya tampak
pada Gambar 12.13. Sebagai contoh, jika ABCDE = 01110 (desimal 14),
oleh karena AB = 01 maka keluaran dekoder 4 bit yang bernilai 0 adalah
keluaran nomor 1. Sehingga dekoder 8 bit yang bekerja hanyalah nomor 1.
Selanjutnya, karena CDE = 110 (desimal 6) maka keluaran nomor 6
(dimulai dari nomor 0) dari dekoder ini atau keluaran nomor 14 dari dekoder
secara keseluruhan
akan bernilai 0 (aktif). Sedangkan 31 keluaran lainnya
berharga 1 (tidak aktif).
3 ke 8
E
D
0
C
S
2 ke 4
A
0
B
1
2
S
1
S
0
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
16
17
18
19
20
21
22
23
0
1
2
3
4
5
6
7
24
25
26
27
28
29
30
31
3
2
S
Enable
Data
3
S
Gambar 12.13 : Dekoder 32 bit yang tersusun dari satu dekoder 4 bit
dan empat dekoder 8 bit
6.
Multiplekser
Kebalikan fungsi dari demultiplekser adalah multiplekser. Multiplekser
merupakan suatu piranti untuk memilih salah satu masukan dari beberapa
masukan yang tersedia
untuk
disalurkan
ke satu keluaran. Multiplekser
identik dengan saklar putar (rotary) satu kutub banyak posisi. Multiplekser
juga disebut sebagai pemilih data (data selector). Ide dasar multiplekser
ditunjukkan pada Gambar 12.14 di bawah ini.
Multiplekser
Kendali (alamat)
L
Data
Masukan
(paralel)
L
L
H
H
L
LHHLLL
Data keluaran
(serial)
Gambar 12.14 : Multiplekser identik dengan saklar putar
Salah satu masukan dipilih memalui kendali (alamat) dengan cara memutar
saklar pada sudut tertentu. Data pada masukan yang dipilih akan muncul
pada keluarannya. Multiplekser seperti pada gambar 12.14 di atas merupakan
multiplekser analog yang terdiri dari saklar 6 posisi. Sedangkan multiplekser
yang
akan dibahas adalah multiplekser digital yang dapat disusun
dari
gerbang-gerbang logika. Agar dapat memilih salah satu masukan di antara
beberapa masukan yang tersedia diperlukan jalur pengendali. Banyaknya
jalur pengendali ditentukan oleh banyaknya jalur masukan. Misalkan ada 4
jalur masukan yang masing-masing X0, X1, X2, dan X3 maka diperlukan 2
jalur pengendali yaitu S0, dan S1. Karena kombinasi nilai logika kedua jalur
pengendali itu dapat menghasilkan 4 keadaan yang berbeda yaitu 00, 01, 10,
dan 11. Model aturan yang biasa digunakan untuk pemilihan jalur masukan
yang dipilih seperti terlihat pada tabel 12.5 berikut.
Tabel 12.5 :
Nilai pada dua jalur
Jalur masukan yang dipilih
pengendali (S1 S0)
(disalurkan ke keluaran)
00
X0
01
X1
10
X2
11
X3
Diagram blok dari multiplekser 4 masukan 1 keluaran (dan tentunya dengan
2 jalur pengendali) terlihat pada Gambar 12.15.
4 jalur masukan
X0
X1
X2
X3
Y (1 jalur keluaran)
MUX
S0
S1
Gambar 12.15 : Diagram blok multiplekser 4 masukan
Dengan cara yang sama, untuk multiplekser 8 masukan diperlukan
pengendali, dan
seterusnya.
Dengan
demikian
secara
3 jalur
umum dapat
dikatakan bahwa n jalur pengendali dapat memilih satu masukan secara
tegas di antara 2n masukan.
Tentu saja 2n
maksimum
dipilih.
yang
dapat
tersebut
merupakan
Sebagaimana demultiplekser,
jumlah
pada
umumnya multiplekser juga dilengkapi dengan jalur strobe atau enable.
Jalur
ini merupakan jalur perintah yang
memungkinkan
multiplekser
bekerja atau tidak bekerja.
Untuk membuat multiplekser digital, terlebih dahulu perlu
mengingat
kembali sifat-sifat dari gerbang logika dasar, terutama gerbang-gerbang
NOT, AND, dan OR. Karena gerbang-gerbang tersebut yang akan digunakan
untuk menyusun suatu multiplekser.
NOT : Jika masukan rendah maka keluarannya tinggi, dan sebaliknya
jika masukan tinggi maka keluarannya rendah.
AND: Keluaran tinggi, bila dan hanya bila semua masukannya tinggi.
OR : Keluaran rendah, bila dan hanya bila semua masukannya rendah
atau keluaran tinggi jika satu atau lebih masukannya tinggi.
Selanjutnya, marilah menyusun multiplekser digital 4 masukan ke 1
keluaran yang dilengkapi dengan jalur enable dan pengendali (control).
Karena setiap
jalur
masukan
berkaitan dengan
jalur
data,
jalur
enable, dan tentunya 2 jalur pengendali, maka masing-masing jalur
masukan
merupakan
gerbang AND 4 masukan. Agar diperoleh 1
keluaran, maka perlu gerbang OR 4 masukan untuk menampung 4
keluaran dari setiap gerbang AND. Untuk lebih jelasnya perhatikan
Gambar 12.16.
Pengendali
S1
S0
0
Enable
X0
1
X1
Y
X2
2
(Keluaran)
3
X3
Gambar 12.16 : Rangkaian multiplekser digital 4 masukan
Ke 1 keluaran dengan gerbang NOT, AND, dan OR.
Multiplekser pada gambar 12.16, bila enable = 1 maka pemilihan masukan
dilaksanakan, dan sebaliknya bila enable = 0 maka pemilihan masukan tidak
dilaksanakan. Tentu saja dapat dibuat keadaan enable = 0 agar pemilihan
masukan
dilaksanakan
dan
enable = 1 agar pemilihan masukan tidak
dilaksanakan.
Setelah memahami cara kerja multiplekser, kita dapat memanfaatkannya
untuk
berbagai
keperluan
sebatas
kemampuan
multiplekser
tersebut.
Multiplekser sering dimanfaatkan sebagai rangkaian pengubah data paralel ke
serial (paralel to serial converter). Misalkan tersedia data 4 bit dalam bentuk
paralel, lihat kembali gambar 12.15. Data 4 bit tersebut dikenakan pada
masukan multiplekser 4 masukan ke 1 keluaran. Bit ke 0 dikenakan pada X 0,
bit ke 1 dikenakan pada X1, bit ke 2 dikenakan pada X2, dan bit ke 3 dikenakan
pada X3. Melalui jalur pengendali (2 jalur) maka data 4 bit tadi disalurkan ke
keluarannya secara berurutan. Pada periode pertama, ketika jalur pengendali
bernilai 00, maka X0 disalurkan ke
pengendali
bernilai
01,
maka
keluaran.
X1
Pada periode ke dua, jalur
disalurkan ke
keluaran.
Demikian
seterusnya sehingga pada keluarannya terjadi gelombang sebagai data serial
yang semula dimasukkan secara paralel. Untuk menyalurkan data paralel 4
bit ke keluaran secara utuh memerlukan selang waktu 4 periode. Secara umum
data paralel N bit (X(n-1), X(n-2), ... , X2, X1, X0) dapat dikeluarkan secara serial
dari X0, X1, X2, ... , X(n-2), X(n-1) diperlukan selang waktu N periode.
Manfaat
lain
multiplekser
adalah
dapat
digunakan
untuk
merealisasikan suatu rangkaian logika. Multiplekser dengan N jalur pengendali
dapat digunakan untuk membentuk rangkaian logika dengan N variabel
masukan.
Sebagai
contoh,
dengan
masukan) kita hendak membuat
menggunakan multiplekser 3 bit (8
suatu rangkaian logika yang memiliki
persamaan logika sebagai berikut :
Y = f (A, B, C, D)
= Sm (0,1,3,5,7,8,11,13,14).
Terlebih dahulu kita pilih 3 di antara 4 variabel masukan (A,B,C,D) untuk kita
hubungkan dengan 3 jalur pengendali (S0, S1, S2) pada multiplekser, misalkan
kita pilih D, C, dan B. Selanjutnya hubungkan D, C, B tersebut berturut-turut
dengan S2, S1, S0
seperti yang terlihat pada Gambar 12.17.
Untuk
menentukan nilai masukan Xi (i = 0,1,2,3,4,5,6,7) agar keluaran Y sesuai
dengan
fungsi
logika
yang
diinginkan,
buatlah peta Karnough dari Y,
perhatikan gambar 12.17 (b). Pada peta tersebut tampak ada 8 bagian (dibatasi
oleh kotak) yang masing masing berkaitan dengan DCB (variabel yang kita
pilih).
DC
1
A
X0
X1
X2
X3
X4
X5
X6
X7
A
B A
Y
BA
BA
DC
1
X0
1
X2
1
1
X1
1
X3
BA
DC
DC
X6
1
1
X4
1
X7
1
1
X5
1
S2 S1 S0
(b)
(a)
D C B
Gambar 12.17 : Multiplekser 3 bit untuk membuat fungsi
logika Y = m (0,1,3,5,7,8,11,13,14)
(a) Realisasi rangkaian, (b) Peta Karnough.
Untuk nilai DCB = S3S2S1 = 000, oleh karena Y = X0, maka bagian kotak yang
berkaiatan dengan nilai tersebut diberi tanda X0. Demikian juga untuk nilai
DCB = S3S2S1 = 001, karena Y = X1, maka kotak yang berkaiatan dengan
harga tersebut diberi tanda X1, dan seterusnya. Pada kotak X0 oleh karena Y
pada kedua kotak tersebut bernilai 1, maka masukan X0 dihubungkan dengan
nilai 1. Untuk kotak X1, oleh karena Y = X1 = 1 jika A = 1, dan Y = X1 = 0 jika A
= 0, yang berarti X1 = A, maka masukan X1 dari multiplekser dihubungkan
dengan A. Hasil yang sama akan diperoleh untuk kotak-kotak X2, X3, X5, dan
X6. Sedangkan untuk kotak X4 dan X7, oleh karena Y bernilai 1 berkaitan
dengan A = 0, maka X4 dan X7 dihubungkan dengan komplemen A, yaitu A.
Sekali lagi, yang dihubungkan
dengan
masukan pengendali tidak harus
DCB, tetapi dapat memilih 3 di antara 4 variabel A, B, C, dan D. Sebenarnya,
untuk
rangkaian
logika
dengan N variabel masukan dapat
digunakan
multiplekser yang memiliki jumlah jalur pengendali kurang dari N, tetapi perlu
tambahan gerbang pada bagian masukannya.
X0
X1
X2
X3
S1 S0
X0
X1
X2
X3
S1 S0
Keluaran
X0
X1
X2
X3
S1 S0
S1 S0
X0
X1
X2
X3
S1 S0
Gambar 12.18 : Multiplekser 16 masukan 1 keluaran yang tersusun dari
multiplekser-multiplekser 4 masukan 1 keluaran.
Untuk keperluan
pengendalian
yang
lebih
multiplekser dengan jalur masukan yang besar
demikian
itu
selanjutnya
dikenal
sebagai
besar
juga.
kadang
diperlukan
Multiplekser yang
multiplekser orde
tinggi.
Multiplekser orde tinggi sangat sulit ditemukan di pasaran, atau bahkan tidak
tersedia dalam satu kemasan. Tetapi kita dapat menyusun multiplekser orde
tinggi dari multiplekser-multiplekser orde yang lebih rendah. Sebagai contoh
marilah kita merancang multiplekser 16 saluran masukan dan 1 keluaran dari
beberapa multiplekser 4 saluran masukan dan 1 keluaran. Kita perlu 5 buah
multiplekser orde yang lebih rendah tersebut. Perhatikan baik-baik Gambar
12.18.
7.
Rangkaian Terpadu (IC) Dekoder/demultiplekser dan multiplekser
Selain untuk memenuhi keperluan khusus dan dalam keadaan terpaksa,
untuk keperluan praktis kita tidak perlu membuat dekoder/demultiplekser dan
multiplekser dari gerbang-gerbang logika, karena di pasaran telah tersedia
piranti tersebut dalam kemasan standar, yaitu dalam bentuk IC. Selanjutnya
akan dikemukakan beberapa dekoder/demultiplekser dan multiplekser bentuk
IC yang mudah diperoleh di toko-toko elektronika. Perhatikan Tabel 12.6
berikut.
Tabel 12.6 :
No.
1
Kode IC
Deskripsi
7442
Decoder BCD ke desimal atau dekoder 1 ke 10
7443, 7444,
Dekoder 1 ke 10
7445
2
7446, 7447,
Dekode/driver BCD ke 7-segment
7448, 7449
3
74137, 74138
Dekoder/demultiplekser 1 ke 8
4
74139
Dekoder 1 ke 4, di dalam 1 IC tersedia 2 dekoder
5
74150
Multiplekser 16 masukan (16 saluran ke 1 saluran)
6
74151, 74152
Multiplekser 8 masukan (8 saluran)
7
74153
Multiplekser 4 masukan, di dalam 1 IC ada 2
8
74154
Dekoder/demultiplekser 1 ke 16
(4 saluran ke 16
saluran)
9
74155, 74156
Dekoder/demultiplekser 1 ke 4, di dalam 1 IC ada 2
10
74157, 74158
Multiplekser 2 masukan, di dalam 1 IC ada 4
11
74251
Multiplekser 8 masukan
12
74253
Multiplekser 4 masukan, di dalam 1 IC ada 4
13
74257, 74257
Multiplekser 2 masukan, di dalam 1 IC ada 4
Tidak semua IC dekoder/demultiplekser dan multiplekser terdaftar pada tabel
12.6. Masih banyak IC sejenis yang belum tercantum dalan tabel tersebut.
Bahkan
karena
pesatnya perkembangan teknologi IC dimungkinkan lahir IC
sejenis yang baru. Tetapi dengan menguasai prinsip-prinsip dasarnya, dan
dengan usaha yang cukup, Anda dapat memahami IC lain yang sejenis.
Oleh karena banyaknya jenis IC dekoder/demultiplekser dan multiplekser,
sebagai gambaran dipilih dua di antaranya. IC 74138 untuk mewakili dekoder/
demultiplekser, dan IC 74151 yang mewakili multiplekser. IC 74138 merupakan
dekoder/demultiplekser dari 1 ke 8 saluran. Karena kecepatannya yang tinggi
IC tersebut sangat baik untuk keperluan pengkode alamat. Tiga masukan
Enable-nya memungkinkan IC itu disusun menjadi dekoder 1 ke 24 saluran.
Bahkan 4 buah IC 74138 dapat membentuk dekoder 1 ke 32 saluran dengan
tambahan satu gerbang NOT. IC 74138 memiliki 16 kaki. Dua kaki untuk V
dan GND, 3 kaki untuk saluran pengendali (A2 A1 A0 ), 3 kaki untuk masukan
Enable
(E3 E 2 E 1 ),
dan
8 kaki
sisanya untuk saluaran keluaran
( O 7 O 6 O 5 O 4 O 3 O 2 O 1 O 0). Diagram IC 74138 tampak pada Gambar 12.19.
E 1 E 2 E3
A2
A1 A0
3
2
1
7
9
10
+Vcc
E
11
12
16
13 14 15
8
O7 O6 O5 O4 O3 O2 O1 O0
Gambar 12.19 : Diagram dekoder/demultiplekser 74138.
Dekoder/demultiplekser 74138 menerima tiga masukan
A1 A0 ) untuk memilih (mengaktifkan) 1 di
biner berbobot (A 2
antara
8 keluarannya
( O 7 O 6 O 5 O 4 O 3 O 2 O 1 O 0). Keluaran 74138 adalah aktif rendah (active low).
Jika A2 A1 A0 = 000 = 0, maka yang aktif keluaran O0. Jika A2 A1 A0 = 001 =
1, maka yang aktif keluaran O1. Jika A2 A1 A0 = 010 = 2, maka yang aktif
keluaran O2,
dan
seterusnya. Untuk lebih jelasnya, perhatikan
tabel
kebenaran dari IC 74138 yang tertera pada Tabel 12.7.
Tabel 12.7 :
Masukan
Keluaran
E1
E2
E
A0
A1
A2
O0
O1
O2
O3
O4
O5
O6
O7
1
X
X
X
X
X
1
1
1
1
1
1
1
1
1
1
X
X
X
X
1
1
1
1
1
1
1
1
X
X
0
X
X
X
1
1
1
1
1
1
1
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
1
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
0
1
1
1
1
1
1
1
1
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1 : tingkat tegangan tinggi
0 : tingkat tegangan rendah
X : tidak peduli.
Selanjutnya, sebagai contoh multiplekser dipilih IC 74151
yang
merupakan multiplekser digital 8 masukan dengan kecepatan tinggi. dengan IC
74151 memungkinkan untuk memilih satu
jalur
data dari 8 sumber yang
tersedia. IC 74151 memiliki 16 kaki. Seperti pada umumnya IC, 2 kaki untuk V
dan GND, 3 kaki untuk masukan pemilih (S2S1S0), 1 kaki enable aktif
rendah ( E ), 2 kaki untuk jalur keluaran yang saling komplemen ( Z , Z), dan 8
kaki
sisanya untuk
jalur masukan
(I7I6I5I4I3I2I1I0).
Pemilihan jalur
data
masukan yang disalurkan ke keluaran dilakukan melalui masukan pemilih
(S2S1S0). Jika S2S1S0 = 000
= 0, maka masukan I0
yang disalurkan. Jika
S2S1S0 = 001 = 1, maka masukan I1 yang disalurkan. Jika S2S1S0 = 010 =
2, maka masukan I2 yang disalurkan. Demikian seterusnya. Diagram IC
74151 tampak pada Gambar 12.20. Sedangkan tabel kebenarannya dapat
diperhatikan pada Tabel 12.8.
I7 I6
S0
S1
S2
12
13
I5
I4
14 15
I3
I2
I1
I0
+Vcc
1
2
3
4
16
11
10
9
7
E
6
5
Z
Z
Gambar 12.20 : Diagram multiplekser 74151.
8
Tabel 12.8 :
Masukan
Keluaran
E
S0
S1
S2
Z
Z
1
x
x
x
1
0
0
0
0
0
I
0
I0
0
0
0
1
I
1
I1
0
0
1
0
I
2
I2
0
0
1
1
I
3
I3
0
1
0
0
I
4
I4
0
1
0
1
I
5
I5
0
1
1
0
I
6
I6
0
1
1
1
I
7
I7
1 : tingkat tegangan tinggi
0 : tingkat tegangan rendah
Demikianlah gambaran singkat tentang rangkaia
terpadu
(IC) dari
dekoder/demultiplekser dan multiplekser. Informasi yang lebih lengkap tentang
IC-IC tersebut sebaiknya dilihat pada buku data (data book) atau lembaran
data (data sheet) tetang IC tadi.
8.
Soal-soal
1. Jelaskan, mengapa demultiplekser kadang-kadang juga disebut sebagai
distributor data ?
2. Pelajarilah fungsi kaki (pin) dan cara kerja dari IC 74138 melalui buku/
lembaran/manual datanya. Kemudian tunjukkan persambungan yang
diperlukan bila IC tersebut digunakan sebagai demultiplekser. Jelaskan
bagaimana mekanisme kerjanya jika ingin memilih saluran 5 ?
3. Terlebih dahulu harus mempelajari manual data dari IC yang diperlukan,
rancanglah :
a. demultiplekser 8 bit dengan sebuah IC 74139,
b. demultiplekser 16 bit dengan 2 (dua) buah IC 74138.
4. Lihatlah fungsi kaki dan cara kerja IC tersebut pada data manual IC 74154,
apakah fungsi dari kaki-kaki A0, A1, A2, dan A3 ? Rancanglah rangkaian
demultiplekser 1 masukan dan 32 keluaran (32 bit) dengan 2 (dua) buah IC
74154 tersebut !
5. Perhatikan rangkaian berikut ! Jika A1 A0 dan E sebagai saluran masukan,
sedangkan
Y0, Y1, Y2, dan Y3 sebagai saluran keluaran, deskripsikan
mekanisme kerja dari rangkaian yang dimaksud ! Perhatikanlah kombinasi
nilai A1 A0 dengan keluarannya !
A1
Y3
A0
Y2
E
Y1
Y0
6. Jelaskan, mengapa multiplekser kadang-kadang juga disebut sebagai
selektor data ?
7. Rancanglah multiplekser 32 bit dengan menggunakan 4 biah IC 74151 !.
8. Rancanglah suatu rangkaian yang akan mengeluarkan logika rendah ketika
umur suatu bulan 31 hari. Masukannya adalah nomor bulan ( 1 s/d 12)
sebagai bilangan biner 4 bit (Januarai = 0001, dst.). Gunakanlah IC 74150 !.
9. Dengan mempelajari manual data dari IC 74151, gambarlah bentuk
gelombang pada saluran keluaran Y (pin 5), jika setiap saluran masukan
dikenai masukan logik yang tetap, sedangkan saluran pemilih (S 2 S1 S0) dan
enable ( E ) seperti gambar berikut :
t0
t1
t2
t3
t4
t5
t6
t7
t8
t9
t10
t11
E
S0
S1
S2
Y
10. Dengan terlebih dahulu mempelajari data manual dari IC-IC berikut,
jelaskan mekanisme kerja dan fungsi dari rangkaian berikut :
H G F E D C B A
7493
Detak
1 MHz
B
D7 D6 D5 D4 D3 D2 D1 D0
OB
OC
OD
0
1
1
A
B
C
74151
Y
DAFTAR PUSTAKA
Fadeli AR., 1995, Suplemen Elektronika, FMIPA, UGM, Yogyakarta.
Greenfield, J.D., 1994, Practical Digital Design Using ICs, Second Edition,
Prentice-Hall International Inc., New Jersey.
Grob, Bernard., 1987, Electronic Circuits and Applications, McGraw-Hill
Book Company, Auckland.
Hall, Douglas V., 1983, Microprocessors And Gigital Systems, Second
Edition, McGraw-Hill Book Company, Auckland.
Jones, Martin H., 1988, A Practical Introduction to Electronic Circuits,
Second Edition, Cambridge University Press, Cambridge.
Kleitz, W., 1996, Digital Electronics : A Practical Approach, Fourth Edition,
Prentice-Hall International Inc., New Jersey.
Malmstadt, H.V., Enke, C.G., Crouch, S.R., 1981, Electronics and
Instrumentation for Scientists, The Benjamin/Cummings Publishing Company
Inc., California.
Malvino, Albert P., 1983, Digital Computer Electronics : An Introduction to
Microcomputers, Second Edition, McGraw-Hill Book Company, New York.
NN, ____, Diktat Kuliah Elektronika Digital, Jurusan Pendidikan Fisika,
Universitas Sanata Darma, Yogyakarta.
NN, 1978, TTL Data Book, Fairchild Camera and Instrument Corporation,
California.
Sutrisno,
Jakarta.
1986,
Elektronika II (Modul 6-9),
Kurnia Universitas Terbuka,
Taub, Herbert., 1987, Digital Circuits And Microprocessors, McGraw-Hill
Book Company, Auckland.
Tocci, Ronald J., 1991, Digital Systems : Principles And Applications, Fifth
Edition, Prentice-Hall International Inc., Englewood Cliffs, New Jersey.
Penulis adalah staf pengajar tetap di Jurusan Pendidikan Fisika, Fakultas
Matematika dan Ilmu Pengetahuan Alam (FMIPA), Universitas Negeri
Yogyakarta (UNY) sejak tahun 1990 dengan mata kuliah pokok Elektronika.
Menjabat sebagai Kepala Laboratorium Elektronika dan Instrumentasi di jurusan
tersebut. Lahir di Bantul pada tahun 1961. Lulusan dari SMPP 10 (SMA N 8)
Yogyakarta, menamatkan pendidikan S1 di FPMIPA IKIP Yogyakarta (UNY)
jurusan Pendidikan Fisika, menempuh pendidikan Pra-S2 jurusan Fisika di ITB,
dan pernah mengikuti pendidikan/kuliah S2 jurusan Fisika di ITB hingga tahun
1993. Bidang yang diminati hingga sekarang adalah elektronika dan
instrumentasi. Selain Elektronika, mata kuliah lain yang dipegang adalah Sensor
dan Transduser, Mikroprosesor, Mikrokontroler, Elektronika Lanjut, Ketrampilan
Elektronika, serta Kolokium. Buku dan diktat yang pernah ditulis antara lain
Modul Mekanika UT, Modul Elektronika Digital UT, Diktat Elektronika Digital
JICA, dan beberapa Petunjuk Praktikum Elektronika.
Download