elektronikadigital naskah lengkap buku sumarna
(2)
(3)
(4)
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 konsep-konsep 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])
(5)
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 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
BAB III 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
(6)
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
BAB V 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
BAB VI 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
BAB VII 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
(7)
6. Tabel Eksitasi 134
7. Aplikasi Flip-flop 134
8. Soal-soal 137
BAB IX MULTIVIBRATOR 141
1. Multivibrator Monostabil 142
2. Multivibrator Astabil 146
3. Picu Schmitt (Schmitt Trigger) 148
4. Rangkaian Terpadu Monostabil, Astabil dan Picu Schmitt
151
5. IC Pewaktu (Timer) 555 154
6. Aplikasi 159
7. Soal-soal 160
BAB X PENCACAH 162
1. Pencacah Biner Tak Sinkron (Serial atau Riak) 164
2. Pencacah Biner Sinkron (Paralel) 174
3. Soal-soal 185
BAB XI REGISTER 187
1. Register 187
2. Jenis Register 190
3. Aplikasi 194
4. Soal-soal 196
BAB XII 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
(8)
7. Rangkaian Terpadu (IC) Dekoder/demultiplekser dan multiplekser
223
8. Soal-soal 227
(9)
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
(10)
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 (kadang-kadang 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
(11)
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 diperhatikan dengan seksama, kecenderungan piranti-piranti elektronika sekarang ini menuju pada otomatisasi (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
(12)
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.
(13)
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 ?
(14)
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
(15)
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 9616 = 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 + 0,125 = 0,62510
(16)
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; dan a = …, -3, -2, -1, 0, 1, 2, 3, …(bilangan bulat 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.
(17)
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 10 ke n, atau konversi bilangan dari n ke basis-m. 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 suku-suku yang setiap suku-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, n menyatakan basis bilangan yang dituju, a merupakan bilangan bulat 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 :
(18)
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 26 + 1 x 25 + 0 x 24 + 0 x 23 + 0 x 22 + 1 x 21 + 0 x 20 = 1 1 0 0 0 1 0 = 11000102.
Perhatikan bahwa 0 ditempatkan dalam posisi 24, 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 83 + 5 x 82 + 3 x 81 + 0 x 80
= 2 5 3 0 = 25308.
Perhatikan bahwa 0 ditempatkan pada posisi 80 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 A 3 E = 4A3E16.
(19)
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 !
2 98
= 49, sisa 0
2 49
= 24, sisa 1
2 24
= 12, sisa 0
2 12
= 6, sisa 0
2 6
= 3, sisa 0
2 3
= 1, sisa 1
2 1
= 0, sisa 1
Sisa dituliskan dari bawah : 1 1 0 0 0 1 0
Jadi 9810 = 11000102.
(20)
(2). Ubahlah bilangan 136810 ke dalam basis-8 yang setara !
(3). Ubahlah bilangan 1900610 ke dalam heksa-desimal yang setara !
Untuk mengubah bilangan desimal tidak bulat (pecahan) dilakukan dengan dua tahap. Tahap pertama mengubah bagian bulat (di sebelah kiri tanda koma)
8 1368
= 171, sisa 0
8 171
= 21, sisa 3
8 21
= 2, sisa 5
8 2
= 0, sisa 2
Sisa dituliskan dari bawah : 2 5 3 0
Jadi 1368
10= 2530
8.
16 19006
= 1187, sisa 14 (= E)
16 1187
= 74, sisa 3
16 74
= 4, sisa 10 (= A)
16 4
= 0, sisa 4
Sisa dituliskan dari bawah : 4 A 3 E
Jadi 1900610 = 4A3E16.
(21)
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,37510 menjadi basis-2
yang setara ! Tahap pertama mengubah bilangan bulat 9810 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,37510 =
1100010,0112.
Contoh berikutnya adalah mengubah bilangan 1368,2510 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,2510 = 2530,28. Perlu
(22)
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,27510 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 basis-10 sebagai perantara. Karena kita telah akrap dengan bilangan basis-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.
(23)
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 :
1 1100 1011 0000 1001 (tambah 0 pada MSB) 0001 1100 1011 0000 1001 (digit heksadesimal) 1 C B 0 9
(24)
6. Operasi Bilangan
Dalam sistem desimal telah dikenal dengan baik mengenai operasi-dasar bilangan, yakni penjumlahan, pengurangan, perkalian dan pembagian. Operasi-operasi 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
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.
Tabel : Penjumlah Biner
+ 0 1
0 0 1
1 1 10
Tabel : Perkalian Biner
x 0 1
0 0 0
(25)
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 _____________ -
(26)
Perkalian :
1 1 0 1 bilangan yang dikalikan 1 1 0 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 (hasil bagi)
(pembagi) 1 0 1 1 1 0 1 1 1 (bilangan yang dibagi) 1 0 1 _
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
(27)
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 2 5 bilangan pertama
3 3 4 4 5 bilangan ke dua
__________________ +
1 3 2 3 1 5 hasil penjumlahan.
Pengurangan 10 10 pinjaman (borrow) 4 3 0 2 5 bilangan yang dikurangi
1 4 3 1 5 bilangan pengurang
_____________ -
2 3 2 1 5 hasil pengurangan.
Perkalian : 3 4 5 bilangan yang dikalikan
4 2 5 bilangan pengali
________ x 1 2 3 3 0 1
___________ +
(28)
Pembagian :
1 0 4 2 5 (hasil bagi)
(pembagi) 45 4 3 2 3 5 (yang dibagi)
4 _ 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 :
(29)
+ 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 :
(30)
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 (bilangan positif yang dikurangi)
1 0100 (komplemen 1 dari 1011 yang negatif) _________ +
1 0 0001
1 (EAC) ________ +
0 0010 (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)
_______ +
(31)
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 -11000.
Selanjutnya metode komplemen 2. 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 (=5710)
(32)
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 EAC-nya. Jadi hasil yang sebenarnya adalah 0 1001 atau +1001 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).
(33)
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 meng-komplemen-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.
(34)
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
(35)
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
(36)
10. Kerjakanlah pembagian bilangan berikut sesuai dengan basisnya : a. 110111012 : 1012
b. 301234 : 324
c. 7564028 : 548
d. A7B812 : 412
(37)
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 1716 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
(38)
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).
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
7 8 9 4 5 6 1 2 3 0 + =
(39)
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
BCD Bobot
4
0 1 0 0 800 400 200 100
6
0 1 1 0 80 40 20 10
8
1 0 0 0 8 4 2 1
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
Puluhan Satuan
(40)
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 XS-3 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
(41)
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.
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 :
Bilangan Biner
Sandi Gray, Kecuali bit pertama Bit ke (n-1)
Bit ke n
(42)
1 0 1 1 0 (sandi biner)
1 1 1 0 1 (sandi Gray)
Selanjutnya untuk mengubah sandi Gray menjadi biner digunakan langkah-langkah (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 1 0 1 (sandi Gray)
1 0 0 1 (sandi biner)
Ternyata setiap bit biner (kecuali yang pertama) diperoleh dengan mencari EX-OR dari bit sandi Gray yang sesuai dan bit biner sebelumnya. Perhatikan Gambar 3.3 berikut !
Bit pertama
1 beda
0 sama
1 beda
(43)
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 27 = 128 sandi biner yang berbeda.
Sandi Biner, Kecuali bit pertama Sandi Gray
Bit ke (n-1) Sandi biner Bit ke n Sandi Gray
(44)
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 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
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 :
(45)
101 0011 101 0100 100 1111 101 0000 S T O 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
Jika suatu kelompok sandi berisi 1 dalam jumlah genap, maka bit paritas yang ditambahkan bernilai 0. Sebagai contoh, suatu kelompok sadi 100 0001 (sandi
(46)
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 genap-ganjilnya 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.
(47)
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.
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.
Inkubator 2 T2
O2 M2 V2
Inkubator 1 T1
O1 M1 V1
Inkubator 0 T0
O0 M0 V0
T2 O2 M2 V2
T1 O1 M1 V1 T0 O0 M0 V0
LSB MSB
(48)
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
(49)
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
(50)
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
(51)
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
Gambar 4. 1 : Simbol rangkaian gerbang OR dua masukan. A
(52)
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
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
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
A
B Y
C
Gambar 4.2 : Simbol rangkaian gerbang OR tiga masukan
(53)
(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 .
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 :
A B
(54)
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
1 0 1 0
1 1 0 0
1 1 1 1
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 :
A
B Y
C
Gambar 4.4 : Simbol rangkaian gerbang AND tiga masukan
(55)
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
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 !
Gambar 4.6 : (a). Gabungan gerbang AND dan NOT (b). Simbol rangkaian gerbang NAND dua masukan.
Gambar 4.5 :
Simbol rangkaian gerbang NOT. Y A
A
B Y
A B
Y
(56)
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 = AB
0 0 1
0 1 0
1 0 0
1 1 0
Y A
B
A
B Y
(57)
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.
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 = AB A
B
(b) A
B
Y = A + B
(58)
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
(c)
AB
Y = AB (a)
A Y = A
(b) A
(59)
Sedangkan simbol rangkaian dari gerbang EX-OR tampak pada Gambar 4.10 seperti berikut :
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 = AB + AB.
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
A
Y = A B B
(60)
Sedangkan simbol rangkaian dari gerbang EX-NOR tampak pada Gambar 4.11 seperti berikut :
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) !
Gambarnya :
A
Y = A B B
A
B
Y A
B
Y
(61)
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 !
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 B Y
A B
Y
A B Y
A B
(62)
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 !
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 !
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 !
A B C Y
A
B Y
C
A
B Y
C A
B C Y
1 2 3 4 5 6 7 8 Detak
Y Enable
(63)
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
(64)
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)
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 ?
(2)
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 !
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 (S2 S1 S0) dan enable (E) seperti gambar berikut :
A0
A1
E
Y0
Y1
Y2
(3)
10. Dengan terlebih dahulu mempelajari data manual dari IC-IC berikut, jelaskan mekanisme kerja dan fungsi dari rangkaian berikut :
S0
E
S1
S2
Y
t5
t1
t0 t2 t3 t4 t6 t7 t8 t9 t10 t11
D7 D6 D5 D4 D3 D2 D1 D0
A 74151 Y B
C 7493
B OB
OC
OD
Detak 1 MHz
0 1 1
(4)
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, 1986, Elektronika II (Modul 6-9), Kurnia Universitas Terbuka, Jakarta.
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.
(5)
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.
(6)