Ir. Lilik Eko Nuryanto, MKom. SISTEM DIGITAL Program Studi Teknik Informatika – S1 Universitas Dian Nuswantoro Semarang KATA PENGANTAR Rancangan Digital berkaitan dengan rancangan rangkaian-rangkaian elektronik digital. Subyek ini juga dikenal dengan nama-nama lain seperti rancangan logika, rangkaian switching, logika digital, dan sistem seperti komputer digital, kalkulator elektronik, perangkat kontrol digital, peralatan komunikasi digital, dan banyak aplikasi lain yang membutuhkan perangkat keras digital elektronik. Buku ini menyajikan perangkat dasar yang digunakan dalam perancangan rangkaian digital dan menyediakan sejumlah metoda dan prosedur yang sesuai untuk berbagai macam aplikasi rancangan digital, misalnya pada komputer maupun pada interface-nya. Buku ini terdiri dari 5 bab. Bab I sampai 4 berkaitan dengan rangkaian kombinasional, dan bab 5 membahas rangkaian sekuensial sinkron. Setiap bab dilengkapi pula dengan latihan soal. Penyajian ditekankan pada pemahaman prinsip-prinsip kerja maupun fungsi per komponen, kemudian diikuti dengan penjelasan untuk pemakaian lebih lanjut tentang aplikasinya. Buku ini digunakan untuk mahasiswa Universitas Dian Nuswantoro Semarang Fakultas Ilmu Komputer Program Studi Teknik Informatika, dan masih akan selalu diperbaiki. Penulis menyadari bahwa masih banyak kekurangan-kekurangan dalam penyusunan buku ini, maka saran dan kritik sangat penulis harapkan. Semarang, Penulis i DAFTAR ISI Halaman Kata Pengantar .................................................................................................................. i Daftar Isi ........................................................................................................................... ii BabI1 Sistem Biner .......................................................................................................... 1 1.1 Komputer Digital dan Sistem Digital .................................................................... 1 1.2 Bilangan Biner ...................................................................................................... 3 1.3 Konversi Basis Bilangan ....................................................................................... 6 1.4 Bilangan Oktal dan Heksadesimal ........................................................................ 10 1.5 Kode Biner ............................................................................................................ 11 1.6 Binary Storage and Registers ................................................................................ 15 1.7 Logika Biner ......................................................................................................... 16 1.8 Rangkaian Terpadu (Integrated Circuit = IC) ....................................................... 21 Ringkasan .......................................................................................................................... 23 Soal-Soal ........................................................................................................................... 24 Bab II Aljabar Boolean dan Gerbang Logika .................................................................. 25 2.1 Pendahuluan .......................................................................................................... 25 2.2 Teorema-teorema Boolean .................................................................................... 25 2.2.1 Teorema Variabel Ganda (Multivariabel) ................................................. 28 2.2.2 Teorema DeMorgan .................................................................................. 29 2.3 Gerbang Logika Digital ........................................................................................ 30 2.4 Keluarga Logika Digital IC ................................................................................... 32 Ringkasan .......................................................................................................................... 36 Soal-Soal............................................................................................................................ 37 Bab III Penyederhanaan Fungsi Boole .............................................................................. 39 3.1 Ekspresi “Sum-of-Products” dan “Product-of-Sums” .......................................... 39 3.2 Mendapatkan Ekspresi dari Tabel Kebenaran ....................................................... 40 ii 3.2.1 Penyelesaian Sum-of-Products ................................................................. 40 3.2.2 Penyelesaian Product-of-Sums ................................................................. 42 3.3 Penyelesaian Sum-of-Products diubah ke NAND gates ....................................... 44 3.4 Penyelesaian Product-of-Sums diubah ke NOR gates .......................................... 46 3.5 Karnough Map ...................................................................................................... 48 3.6 Kondisi “Don’t Care” ............................................................................................ 55 3.7 Rangkaian Exclusive-OR dan Exclusive-NOR ..................................................... 56 Ringkasan .......................................................................................................................... 59 Soal-Soal ........................................................................................................................... 61 Bab IV Logika Kombinasional .......................................................................................... 63 4.1 Pendahuluan .......................................................................................................... 63 4.2 Prosedur Perancangan ........................................................................................... 64 4.3 Adders (Penjumlah) .............................................................................................. 65 4.4 Substractors (Pengurang) ...................................................................................... 69 4.5 Decoder ................................................................................................................. 71 4.6 Encoder ................................................................................................................. 75 4.7 Multiplexer ............................................................................................................ 76 4.8 Demultiplexer ........................................................................................................ 77 Ringkasan .......................................................................................................................... 79 Soal-Soal ........................................................................................................................... 81 Bab V Logika Sekuensial Sinkron ................................................................................... 82 5.1 Pendahuluan .......................................................................................................... 82 5.2 Jenis-jenis Flip-Flops ............................................................................................ 84 5.2.1 Dasar Rangkaian Flip-Flop ....................................................................... 84 5.2.2 Clocked RS Flip-Flop ............................................................................... 85 5.2.3 Clocked D Flip-Flop ................................................................................. 86 5.2.4 Clocked JK Flip-Flop ................................................................................ 87 5.2.5 Clocked T Flip-Flop .................................................................................. 88 5.3 Tabel Eksitasi Flip-Flop ........................................................................................ 90 iii 5.4 Merancang Pencacah (Counter) ............................................................................ 91 5.4.1 95 Asynchronous Counter (Pencacah asinkron) ............................................ 5.4.1.1 Bilangan Mod .............................................................................. 97 5.4.1.2 Counter Asinkron dengan Mod Tertentu .................................... 98 5.4.1.3 Self Stopping Counter ................................................................. 101 5.4.1.4 Down Counter ............................................................................. 102 5.4.1.5 Up/Down Counter ....................................................................... 104 Ringkasan .......................................................................................................................... 106 Soal-Soal ........................................................................................................................... 109 Daftar Pustaka ................................................................................................................... 111 Bibliografi ................................................................................................................... 112 iv Sistem Digital BAB I SISTEM BINER Alokasi Waktu : 6 x 45 menit Tujuan Instruksional Khusus : 1. 2. 3. 4. Mahasiswa dapat Mahasiswa dapat Mahasiswa dapat Mahasiswa dapat menjelaskan komputer digital dan sistem digital. menjelaskan sistem bilangan biner, oktal dan heksadesimal. menjelaskan logika biner. menjelaskan rangkaian terpadu – IC. 1.1. KOMPUTER DIGITAL DAN SYSTEM DIGITAL Komputer digital telah membuat banyak kemajuan di bidang ilmiah, industri, dan perdagangan, yang hal tersebut tidak bisa tercapai jika tidak ada komputer digital. Komputer digunakan dalam pengolahan data perhitungan ilmiah, perdagangan, dan bisnis, pengatur lalu lintas udara, petunjuk ruang angkasa, bidang pendidikan, dan di banyak bidang lain. Sifat yang paling menyolok dari komputer digital adalah keadaannya yang umum. Komputer digital dapat mengikuti urutan instruksi, dinamakan program, yang beroperasi pada data yang diberikan. Pemakai dapat menentukan dan mengubah program dan/atau data menurut kebutuhan tertentu. Sebagai hasil dari sifat fleksibel ini, komputer digital untuk kegunaan umum (general-purpose digital computer) dapat melakukan berbagai macam tugas pengolahinformasi. General-purpose digital computer adalah contoh yang paling dikenal dari sistem digital. Contoh lain termasuk sentral telpon (telephone switching exchanges), voltmeter digital, penghitung frekuensi, dan mesin penghitung. Karakteristik dari sistem digital adalah pengolahan elemen tersendiri (discrete elements) suatu informasi. Elemen diskrit tersebut dapat berupa : impuls listrik, angka desimal, huruf alpabetik, operasi arithmatika, tanda baca, atau kumpulan lain dari simbol-simbol yang berarti. Penjajaran elemen diskrit informasi menunjukkan kuantitas informasi. Sebagai contoh, huruf d, o, dan g membentuk kata dog. Angka 237 membentuk suatu bilangan. Jadi, urutan dari elemen diskrit membentuk suatu bahasa, yaitu suatu disiplin yang menyampaikan informasi. Elemen diskrit informasi ditunjukkan dalam sistem digital oleh kuantitas fisik dinamakan sinyal. Sinyal listrik yang paling umum adalah tegangan dan arus. Sinyal-sinyal dalam sistem digital elektronik hanya memiliki dua nilai yang berlainan dan dikatakan sebagai biner. 1 Sistem Digital Diagram blok dari komputer digital ditunjukkan pada Gambar 1.1. Unit memory menyimpan program bersama-sama dengan input, output, dan data. Processor unit melakukan operasi arithmatika dan tugas-tugas pengolah data lainnya sesuai yang ditentukan oleh program. Control unit mengawasi aliran informasi dari berbagai macam unit. Control unit memanggil instruksi, control unit menginformasikan processor untuk menjalankan operasi yang ditentukan oleh instruksi tersebut. Keduanya, program dan data disimpan di memory. Control unit mengawasi instruksi-instruksi program, dan processor mengolah data sebagaimana yang ditentukan oleh program. Program dan data yang disiapkan oleh pemakai ditransfer ke dalam memory unit dengan menggunakan perangkat input seperti keyboard. Perangkat output seperti printer, menerima hasil dari suatu perhitungan dan hasil yang dicetak diberikan kepada pemakai. Perangkat input dan output adalah sistem digital khusus yang digerakkan oleh bagian elektromekanik dan dikontrol oleh rangkaian digital elektronik. Control Unit Processor Or Arithmatic Logical Unit Storage Or Memory Unit Input Devices And Control Gambar 1.1 Output Devices And Control Diagram blok dari komputer digital Komputer digital adalah interkoneksi dari modul-modul digital. Untuk memahami operasi dari setiap modul digital, perlu memiliki pengetahuan dasar dari sistem digital dan sifat-sifat umumnya. Empat bab yang pertama dari buku ini mengenalkan alat dasar perancangan digital 2 Sistem Digital seperti bilangan binerdan kode-kode, Aljabar Boolean, dan blok bangunan dasar dimana dari blok tersebut rangkaian digital elektronik dibentuk. Processor, jika digabungkan dengan control unit, membentuk suatu komponen yang menunjuk sebagai central processor unit atau CPU. CPU tersebut dikemas dalam paket rangkaian terintegrasi yang dinamakan microprocessor. Memory unit, bersama-sama dengan bagian yang mengontrol antarmuka (interface) antara microprocessor dan perangkat input dan output, dapat dikemas dalam paket microprocessor atau dapat dalam paket rangkaian terpadu yang kecil. CPU yang digabungkan dengan memory dan interface mengatur untuk membentuk komputer ukuran kecil yang dinamakan microcomputer. Telah disebutkan bahwa komputer digital mengolah elemen diskrit dari suatu informasi dan bahwa elemen-elemen ini direpresentasikan dalam bentuk biner. Operand yang digunakan untuk perhitungan dapat diekspresikan dalam sistem bilangan biner. Elemen-elemen diskrot yang lain, termasuk angka desimal, di representasikan dalam kode biner. Pengolahan data dilakukan dengan menggunakan elemen logika biner, menggunakan sinyal biner. Kuantitas disimpan dalam elemen penyimpanan biner (binary storage elements). Tujuan dari bab ini adalah untuk mengenalkan bermacam-macam konsep biner sebagai kerangka referensi untuk studi yang lebih rinci pada Bab-bab berikutnya. 1.2. BILANGAN BINER Bilangan desimal seperti 5273 menunjukkan kuantitas sama dengan 5 ribuan ditambah 2 ratusan, ditambah 7 puluhan, ditambah 3 satuan. Ribuan, ratusan, dst adalah pangkat dari 10 dinyatakan secara tidak langsung oleh posisi dari koefisiennya. Untuk lebih tepatnya, 5273 harus ditulis sebagai : 5 x 103 + 2 x 102 + 7 x 101 + 3 x 100 Secara umum, suatu bilangan dengan titik desimal dinyatakan deretan koefisien sebagai berikut : a5a4a3a2a1a0a-1a-2a-3 Koefisien aj adalah satu dari sepuluh angka (0, 1, 2, ..., 9), dan nilai subkrip j memberi nilai tempat dan, sehingga, pangkat 10 dan dengan pangkat tersebut koefisien harus dikalikan. 3 Sistem Digital Sistem bilangan desimal dikatakan sebagai basis atau radik 10 sebab sistem bilangan desimal tersebut menggunakan 10 angka dan koefisiennya dikalikan dengan pangkat 10. Sistem biner adalah sistem bilangan yang berbeda. Koefisien sistem bilangan biner mempunyai dua nilai kemungkinan; 0 dan 1. Masing-masing koefisien aj dikalikan dengan 2j. Sebagai contoh, ekuivalen desimal dari bilangan biner 11010.11 adalah 26,75, seperti yang ditunjukkan dari perkalian koefisien dengan pangkat 2 : 1 x 24 + 1 x 23 + 0 x 22 + 1 x 21 + 0 x 20 + 1 x 2-1 + 1 x 2-2 = 26,75 Secara umum, suatu bilangan yang diekspresikan dalam sistem basis –r mempunyai koefisien dikalikan dengan pangkat r : a0.rn + a0-1.rn-1 + ... + a2.r2 + a1.r + a0 + a-1.r-1 + a-2.r-2 + ... + a-m.r-m Koefisien aj memiliki batasan nilai dari 0 sampai r-1. Untuk membedakan antara bilangan yang berbeda basisnya, kita masukkan koefisien dalam tanda kurung dan menulis subkrip sesuai basis yang digunakan. Contoh bilangan berbasis 5 adalah : (4021.2)5 = 4 x 53 + 0 x 52 + 2 x 51 + 1 x 50 + 2 x 5-1 = (511.4)10 Catatan bahwa nilai koefisien untuk basis 5 hanya dapat 0, 1, 2, 3, dan 4. Tabel 1-1 menunjukkan daftar dari 16 bilangan yang pertama dalam sistem desimal, biner, oktal, dan heksadesimal. Dalam sistem bilangan Heksadesimal (basis 16), sepuluh angka yang pertama pinjam dari sistem desimal. Huruf-huruf A, B, C, D, E, F digunakan untuk angkaangka secara berturut-turut 10, 11, 12, 13, 14, dan 15. Contoh bilangan heksadesimal adalah : (B65F)16 = 11 x 163 + 6 x 162 + 5 x 161 + 15 x 160 = (46687)10 4 Sistem Digital Tabel 1-1. Bilangan dengan basis yang berbeda Desimal Biner Oktal Heksadesimal (basis 10) (basis 2) (basis 8) (basis 16) 00 0000 00 0 01 0001 01 1 02 0010 02 2 03 0011 03 3 04 0100 04 4 05 0101 05 5 06 0110 06 6 07 0111 07 7 08 1000 10 8 09 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F Dari bilangan biner pada Tabel 1-1 dapat dilihat bahwa nilai digit 1 bertambah besar bila bergeser ke kiri, sehingga bila menghitung naik (cout-up), digit satu harus selalu bergeser ke kiri. Sebaliknya bila menghitung turun (count-down), digit 1 harus bergeser ke kanan. Dengan demikian digit yang paling kanan bernilai yang paling kecil, digit yang paling kiri bernilai yang paling besar. Digit yang paling kanan : Disebut LSD (Least Significant Digit), yaitu digit yang mempunyai bobot paling kecil. Digit yang paling kiri : Disebut MSD (Most Significant Digit), yaitu digit yang mempunyai bobot paling besar 5 Sistem Digital Karena masing-masing digit bilangan biner disebut juga “Bit” (berasal dari : Binary Digit), maka singkatan atau istilah LSD dapat diganti dengan LSB (Least Significant Bit), istilah MSD dapat diganti dengan MSB (Most Significant Bit). Kedua istilah tersebut sangat penting dalam perhitungan bilangan biner. Contoh LSB dan MSB : 101101 MSB LSB Operasi arithmatika dengan bilangan dalam basis r mengikuti aturan yang sama seperti bilangan desimal. Contoh penambahan, pengurangan, dan perkalian dua bilangan biner ditunjukkan di bawah ini : Jumlah : 101101 101101 1011 100111 + 100111 - 101 1010100 [45 + 39 = 84] Selisih : 000110 101 x 1011 [45 – 39 = 6] 101 101 0000 1011 11110 110 101 + 0 Hasil kali :110111 Hasil bagi : [11 x 5 = 55] [30 : 5 = 6] 1.3. KONVERSI BASIS BILANGAN Bilangan biner dapat dikonversikan ke desimal dengan membentuk jumlah dari pangkat 2 dari koefisien-koefisiennya yang mempunyai nilai 1. Sebagai contoh : (1010,011)2 = 23 + 21 + 2-2 + 2-3 = (10,375)10 Bilangan biner tersebut mempunyai empat buah 1 dan ekuivalen desimalnya didapatkan dari jumlah dari pangkat 2 nya. Dengan cara yang sama, suatu bilangan yang diekspresikan dalam 6 Sistem Digital basis r dapat dikonversikan ke ekuivalen desimalnya dengan mengalikan masing-masing koefisiennya dengan pangkat dari r-nya dan menambah. Berikut adalah contoh konversi dari oktal ke desimal : (630,4)8 = 6 x 82 + 3 x 8 + 4 x 8-1 = (408,5)10 Konversi dari desimal ke biner atau ke sistem basis –r yang lain, lebih sesuai jika bilangan tersebut dipisahkan ke dalam bagian bulat dan bagian pecahan dan konversi untuk masingmasing bagian dikerjakan secara terpisah. Konversi bulat dari desimal ke biner paling baik dijelaskan dengan contoh : Contoh 1-1 : Konversikan/ubah desimal 41 ke biner. Pertama, 41 dibagi dengan 2 untuk memberi hasil bagi bulat 20 dan sisa ½. Hasil bagi tersebut dibagi lagi dengan 2 untuk memberi hasil bagi dan sisa yang baru. Proses ini dilanjutkan terus sampai hasil bagi bulat menjadi 0. Koefisien dari bilangan biner yang diharapkan didapatkan dari sisanya sebagai berikut. Hasil bagi bulat Sisa Koefisien 41 20 2 + ½ a0 = 1 20 10 2 + 0 a1 = 0 10 5 2 5 2 2 2 1 2 1 0 2 + 0 a2 = 0 + ½ a3 = 1 + 0 a4 = 0 + ½ a5 = 1 Jawab : (41)10 = (a5a4a3a2a1a0)2 = (101001)2 Proses arithmatika tersebut dapat dilakukan lebih mudah sebagai berikut : 7 Sistem Digital Bulat Sisa 41 20 1 10 0 5 0 2 1 1 0 0 1 101001 = jawab Konversi dari desimal bulat ke sistem basis –r lainnya menggunakan cara yang sama dengan contoh di atas, hanya pembaginya adalah dengan r sebagai pengganti 2. Contoh 1-2 : Konversikan desimal 153 ke oktal. Basis r yang dibutuhkan adalah 8. Pertama, 153 dibagi dengan 8 untuk memberi hasil bagi bulat 19 dan sisa 1. Kemudian 19 dibagi dengan 8 untuk memberi hasil bagi bulat 2 dan sisa 3. Terakhir, 2 dibagi dengan 8 untuk memberi hasil bagi bulat 0 dan sisa 2. Proses ini dapat dilakukan dengan mudah sebagai berikut : Bulat Sisa 153 19 1 2 3 0 2 = (231)8 Konversi desimal pecahan ke biner diselesaikan dengan metoda yang serupa dengan cara yang digunakan pada bulat, hanya pembagian diganti dengan perkalian, dan yang diakumulasi bulatnya tidak sisanya. Sekali lagi, metoda tersebut paling baik dijelaskan dengan contoh. Contoh 1-3 : Konversikan (0,6875)10 ke biner. Pertama 0,67875 dikalikan 2 untuk memberi hasil bulat dan pecahan. Pecahan yang baru dikalikan lagi dengan untuk memberi hasil bulat yang baru dan pecahan yang baru. Proses ini dilanjutkan terus sampai pecahannya menjadi 0 atau sampai jumlah angka mempunyai ketepatan yang cukup. Koefisien dari bilangan biner yang didapatkan dari nilai bulatnya sebagai berikut : 8 Sistem Digital Bulat Pecahan Koefisien 0,6875 x 2 = 1 + 0,3750 a-1 = 1 0,3750 x 2 = 0 + 0,7500 a-2 = 0 0,7500 x 2 = 1 + 0,5000 a-3 = 1 0,5000 x 2 = 1 + 0,0000 a-4 = 1 Jawab : (0,6875)10 = (0, a-1a-2a-3a-4)2 = (0,1011)2 Untuk mengkonversikan desimal pecahan ke bilangan yang diekspresikan dalam basis r, menggunakan prosedur yang sama. Perkaliannya adalah dengan r sebagai pengganti 2, dan koefisien yang didapatkan dari bulatnya bisa mempunyai batasan nilai dari 0 sampai r-1 sebagai pengganti 0 dan 1. Contoh : 1-4 : Konversikan (0,513)10 ke oktal 0,513 x 8 = 4,104 0,104 x 8 = 0,832 0,832 x 8 = 6,656 0,656 x 8 = 5,248 0,248 x 8 = 1,984 0,984 x 8 = 7,872 Jawaban, sampai tujuh angka di belakang koma, didapatkan dari bagian bulat dari hasil kali sebagai berikut : (0,513)10 = (0,406517 ....)8 Konversi bilangan desimal dengan kedua bagian bulat dan pecahan dikerjakan dengan mengubah bagian bulat dan pecahan secara terpisah dan kemudian menggabungkan kedua jawaban bersama-sama. Dengan menggunakan hasil pada Contoh 1-1 dan 1-3, kita dapatkan (41,6875)10 = (101001,1011)2 9 Sistem Digital Dari Contoh 1-2 dan 1-4, kita memiliki : (153,513)10 = (231,406517)8 1.4. BILANGAN OKTAL DAN HEKSADESIMAL Pengubahan dari dan ke biner, oktal, dan heksadesimal memegang peranan penting dalam komputer digital. Karena 23 = 8 dan 24 = 16, setiap digital oktal dapat diwakili tiga digit biner dan tiap digit heksadesimal dapat diwakili empat digit biner. Konversi/pengubahan dari biner ke oktal dapat dengan mudah dikerjakan dengan memisahkan bilangan biner ke dalam kelompok-kelompok tiap 3 digit. Digit oktal tersebut kemudian dibentuk pada tiap kelompok. Prosedur ini dapat diperjelas dengan contoh sebagai berikut : ( 10 110 001 101 6 1 5 2 011 , 111 3 100 000 4 0 7 110 )2 = (26153,7406)8 6 Konversi dari biner ke heksadesimal caranya sama seperti di atas, tetapi bilangan binernya dibagi dalam kelompok empat digit : ( 10 1100 0110 C 6 2 1011 , 1111 B F 0010 )2 = (2C6B, F2)16 2 Digit heksadesimal (atau oktal) untuk tiap kelompok dari digit-digit biner dapat diingat dengan mudah setelah mempelajari harga-harga yang tertera pada Tabel 1-1. Konversi dari oktal atau heksadesimal ke biner dikerjakan dengan prosedur kebalikan dari cara di atas. Tiap digit oktal diubah ke ekuivalen tiga digit binernya. Dengan cara yang sama, tiap digit heksadesimal diubah ke ekuivalen empat digit binernya. Ini ditunjukkan dengan contoh berikut : (673,124)8 = ( 110 6 (306,D)16 = ( 0011 3 111 7 0000 0 011 , 001 3 010 1 0110 , 1101 )2 6 D 10 2 100 )2 4 Sistem Digital 1.5. KODE BINER Tabel 1-2 Kode biner untuk digit desimal Digit (BCD) 8421 Ekses-3 84-2-1 2421 Desimal (Biquinary) 5043210 0 0000 0011 0000 0000 0100001 1 0001 0100 0111 0001 0100010 2 0010 0101 0110 0010 0100100 3 0011 0110 0101 0011 0101000 4 0100 0111 0100 0100 0110000 5 0101 1000 1011 1011 1000001 6 0110 1001 1010 1100 1000010 7 0111 1010 1001 1101 1000100 8 1000 1011 1000 1110 1001000 9 1001 1100 1111 1111 1010000 Tabel 1-3 Parity-bit generation (a) Message P (odd) (b) Message P (even) 0000 1 0000 0 0001 0 0001 1 0010 0 0010 1 0011 1 0011 0 0100 0 0100 1 0101 1 0101 0 0110 1 0110 0 0111 0 0111 1 1000 0 1000 1 1001 1 1001 0 1010 1 1010 0 1011 0 1011 1 1100 1 1100 0 1101 0 1101 1 11 Sistem Digital 1110 0 1110 1 1111 1 1111 0 Tabel 1-4 Four-bit reflected code (Gray code) Reflected code Decimal equivalent 0000 0 0001 1 0010 2 0010 3 0110 4 0111 5 0101 6 0100 7 1100 8 1101 9 1111 10 1110 11 1010 12 1011 13 1001 14 1000 15 Tabel 1-5 Character Alphanumeric character code 6-Bit internal 7-Bit ASCII 8-Bit EBCDIC 12-Bit card code code code code A 010 001 100 0001 1100 0001 12,1 B 010 010 100 0010 1100 0010 12,2 C 010 011 100 0011 1100 0011 12,3 D 010 011 100 0100 1100 0100 12,4 E 010 100 100 0101 1100 0101 12,5 F 010 110 100 0110 1100 0110 12,6 12 Sistem Digital G 010 111 100 0111 1100 0111 12,7 H 011 000 100 1000 1100 1000 12,8 I 011 001 100 1001 1100 1001 12,9 J 100 001 100 1010 1101 0001 11,1 K 100 010 100 1011 1101 0010 11,2 L 100 011 100 1100 1101 0011 11,3 M 100 100 100 1101 1101 0100 11,4 N 100 101 100 1110 1101 0101 11,5 O 100 110 100 1111 1101 0110 11,6 P 100 111 101 0000 1101 0111 11,7 Q 101 000 101 0001 1101 1000 11,8 R 101 001 101 0010 1101 1001 11,9 S 110 010 101 0011 1110 0010 0,2 T 110 011 101 0100 1110 0011 0,3 U 110 100 101 0101 1110 0100 0,4 V 110 101 101 0110 1110 0101 0,5 W 110 110 101 0111 1110 0110 0,6 X 110 111 101 1000 1110 0111 0,7 Y 111 000 101 1001 1110 1000 0,8 Z 111 001 101 1010 1110 1001 0,9 0 000 000 011 0000 1111 0000 0 1 000 001 011 0001 1111 0001 1 2 000 010 011 0010 1111 0010 2 3 000 011 011 0011 1111 0011 3 4 000 100 011 0100 1111 0100 4 5 000 101 011 0101 1111 0101 5 6 000 110 011 0110 1111 0110 6 7 000 111 011 0111 1111 0111 7 8 001 000 011 1000 1111 1000 8 9 001 001 011 1001 1111 1001 9 13 Sistem Digital Blank 110 000 010 0000 0100 0000 No punch . 011 011 010 1110 0100 1011 12,8,3 ( 111 100 010 1000 0100 1101 12,8,5 + 010 000 010 1011 0100 1110 12,8,6 $ 101 100 010 0100 0101 1011 11,8,3 * 011 100 010 1010 0101 1100 11,8,4 ) 100 000 010 1001 0101 1101 11,8,5 - 110 001 010 1101 0110 0000 11 / 111 011 010 1111 0110 0001 0,1 , 001 011 010 1100 0110 1011 0,8,3 010 1101 0111 1110 8,6 = ASCII = American Standard Code for Information Interchange BCD = Binary Coded Decimal EBCDIC = Extended BCD Interchange Code Kebanyakan komputer menterjemahkan kode input ke dalam kode 6-bit internal. Sebagai contoh, kode internal yang mewakili nama “DIAN OKE” adalah : 010100 D 011001 I 010001 A 100101 N 110000 blank 14 100110 O 100010 K 010101 E Sistem Digital 1.6. BINARY STORAGE AND REGISTERS Gambar 1-2 Transfer of information with registers Kita asumsikan bahwa kode yang digunakan adalah kode ASCII dengan sebuah parity-ganjil delapan bit. 15 Sistem Digital Gambar 1.3 Contoh pengolahan informasi biner 1.7. LOGIKA BINER Logika biner mempelajari variabel-variabel yang memuat dua diskrit nilai dan mempelajari operasi-operasi yang mengasumsikan arti logika. Dua nilai pada variabel tersebut mungkin di sebut dengan nama yang berbeda-beda (sebagai contoh : betul dan salah, ya dan tidak, dsb), tetapi untuk tujuan kita, adalah lebih sesuai untuk berpikir pada istilah bits dan memberi nilai 1 dan 0. Logika biner digunakan untuk menggambarkan/mendeskripsikan pemanipulasian dan pemrosesan informasi biner. Ini khususnya untuk analisa dan rancangan sistem digital. Sebagai contoh, rangkaian logika digital pada Gambar 1.3 yang menunjukkan arithmatika biner adalah rangkaian yang memiliki sifat yang paling sesuai diekspresikan dengan menggunakan variabel biner dan operasi logika. Logika biner yang dikenalkan pada bab ini 16 Sistem Digital adalah sama dengan aljabar yang dinamakan Aljabar Boolean. Mengenai aljabar boolean duanilai akan dijelaskan lebih rinci pada Bab 2. DEFINISI LOGIKA BINER Logika biner terdiri dari variabel biner dan operasi logika. Variabel-variabel itu ditandai dengan huruf-huruf alphabet seperti A, B, C, x, y, z dan sebagainya, dengan tiap variabel hanya mempunyai dua kemungkinan perbedaan nilai : 1 dan 0. Ada tiga operasi logika dasar : AND, OR, dan NOT. 1. AND : Operasi ini dilambangkan dengan sebuah titik atau dengan sebuah operator. Sebagai contoh, x, y = z atau xy = z dibaca : “x AND y sama dengan z”. Operasi logika AND diartikan bahwa z = 1 bila dan hanya bila x = 1 dan y = 1; jika tidak z = 0. (Ingat bahwa x, y, dan z adalah variabel-variabel biner dan dapat mempunyai nilai 1 atau 0, dan tidak yang lain). 2. OR : Operasi ini dilambangkan dengan tanda plus, sebagai contoh, x + y = z dibaca “x OR y sama dengan z”. Artinya bahwa z = 1 jika x = 1 atau jika y = 1 atau jika keduanya x = 1 dan y = 1. Jika kedua x = 0 dan y = 0 maka z = 0. 3. NOT : Operasi ini dilambangkan dengan sebuah ‘ atau kadang-kadang dengan ¯. Sebagai contoh, x’ = z (atau x = z) dibaca : “x NOT sama dengan z”, berarti bahwa z adalah kebalikan dari x. Dengan kata lain, jika x = 1 maka z = 0; tetapi jika x = 0 maka z = 1. Logika biner menyerupai arithmatika biner, dang operasi-operasi AND dan OR mempunyai beberapa kesamaan dengan perkalian dan penambahan (AND = perkalian dan OR penambahan). Kenyataannya, simbol-simbol yang digunakan untuk AND dan OR adalah sama seperti yang digunakan untuk perkalian dan penambahan. Jadi, logika biner tidak seharusnya dibingungkan dengan arithmatika biner. Untuk tiap penggabungan dari nilai x dan y, ada sebuah harga z yang dispesifikasikan dengan definisi operasi logika. Definisi-definisi ini dapat ditunjukkan dalam bentuk singkat dan jelas dengan menggunakan tabel kebenaran (truth tables). Tabel kebenaran adalah tabel untuk semua kemungkinan kombinasi dari variabel-variabel, dan menunjukkan hubungan antara nilai-nilai yang dibawa variabel dan hasil operasi. Sebagai contoh, tabel kebenaran untuk operasi-operasi AND dan OR dengan variabel x dan y diperoleh dengan mendaftar semua 17 Sistem Digital nilai kemungkinan yang dipunyai variabel-variabel tersebut jika digabungkan dalam pasangan. Hasil operasi untuk tiap kombinasi lalu didaftar pada baris terpisah. Tabel kebenaran untuk AND, OR dan NOT ditunjukkan pada Tabel 1-6. Tabel ini memperlihatkan definisi operasi dengan jelas. Tabel 1-6 Tabel kebenaran dari operasi logika AND X Y OR X.Y X Y NOT X+Y X2 X 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 1 RANGKAIAN SWITCHING DAN SINYAL BINER Penggunaan dari variabel-variabel biner dan aplikasi logika biner ditunjukkan dengan rangkaian switching sederhana pada Gambar 1.4. Misalkan switch manual A dan B menyatakan dua variabel biner dengan harga-harga sama dengan 0 jika switch terbuka dan 1 jika switch tertutup. Juga misalkan lampu L menyatakan variabel biner yang ketiga sama dengan 1 jika lampu menyala (on) dan 0 jika mati (off). Untuk switch-switch (sakelar-sakelar) yang dipasang seri, lampu menyala jika A dan B ditutup. Untuk switch-switch yang dipasang pararel, lampu menyala jika A atau B ditutup. Dengan jelas bahwa kedua rangkaian itu dapat diterangkan dengan menggunakan logika biner dengan operasi-operasi AND dan OR, berturut-turut : L=A.B Untuk rangkaian pada Gambar 1.4 (a) L=A+B Untuk rangkaian pada Gambar 1.4 (b) Gambar 1.4 Rangkaian switching yang memperlihatkan logika biner 18 Sistem Digital Rangkaian digital elektronika kadang-kadang disebut rangkaian switching karena rangkaian tersebut bertindak seperti switch, dengan elemen aktif seperti transistor apakah terhubung (switch tertutup) atau tidak terhubung (switch terbuka). Sebagai ganti untuk merubah switch secara manual, rangkaian switching elektronika menggunakan sinyal-sinyal biner untuk mengontrol/mengatur keadaan terhubung atau terputusnya elemen aktif. Sinyal-sinyal listrik seperti tegangan atau arus ada disetiap bagian dari sistem digital pada satu dari dua harga yang dapat dikenal (kecuali saat transisi). Sebagai contoh : sistem digital tertentu (untuk rangkaian-rangkaian yang dioperasikan dengan tegangan) mungkin mendefinisikan logik-1 sebagai sinyal dengan harga nominal 3 volt, dan logik-0 sebagai sinyal dengan harga nominal 0 volt. Seperti yang ditunjukkan pada gambar 1.5, tiap level tegangan mempunyai penyimpangan yang dapat diterima dari harga nominalnya. Daerah yang tidak diterima hanya daerah saat transisi. Terminal input rangkaian digital menerima sinyal-sinyal biner dalam toleransi yang diijinkan, dan respon pada terminal output dengan sinyal-sinyal biner yang berada dalam toleransi yang ditentukan. Gambar 1.5 Contoh sinyal-sinyal biner GERBANG LOGIKA (LOGIC GATES) Rangkaian digital elektronik juga dinamakan rangkaian logika (logic circuit). Sebab, dengan masukan (input) yang benar, rangkaian tersebut membentuk jalur manipulasi logika. Segala 19 Sistem Digital informasi yang diharapkan, untuk perhitungan yang menggunakan komputer atau untuk pengontrol dapat dioperasikan dengan mengirim sinyal-sinyal biner melalui bermacammacam gabungan dari rangkaian logika. Masing-masing sinyal mewakili sebuah variabel dan membawa satu bit informasi. Rangkaian logika yang menunjukkan operasi-operasi logika dari AND, OR, dan NOT ditunjukkan dengan simbol-simbolnya pada Gambar 1.6. Rangkaian-rangkaian ini dinamakan “Gerbang (gate)”, yaitu blok-blok perangkat keras (hardware) yang menghasilkan logik-1 atau logik-0 pada sinyal keluaran (output) jika syarat-syarat logik input terpenuhi. Catatan : Empat nama yang berbeda telah digunakan untuk macam rangkaian yang sama : rangkaian digital, rangkaian switching, rangkaian logika, dan gerbang (gate). Keempat nama tersebut banyak digunakan, tetapi kita harus mengacu pada rangkaian sebagai AND, OR, dan NOT gates. NOT Gates kadang-kadang dinamakan rangkaian pembalik (inverter circuit) karena rangkaian tersebut membalik sinyal biner. Gambar 1.6 Simbol-simbol untuk rangkaian logika digital Sinyal-sinyal input x dan y dalam gate dua-input pada gambar 1.6 dapat mempunyai nilai dari empat kemungkinan : 00, 10, 11 atau 01. Sinyal-sinyal input tersebut di tunjukkan pada gambar 1.7, bersama-sama dengan sinyal output untuk AND dan OR gates. Diagram waktu (timing diagram) pada gambar 1.7 menggambarkan responsi setiap rangkaian untuk masing-masing dari keempat kemungkinan 20 Sistem Digital kombinasi input biner. Alasan untuk nama “inverter” untuk NOT gate adalah muncul dari pembedaan sinyal x (input inverter) dan sinyal x (output dari inverter). Gerbang AND dan OR dapat memiliki lebih dari dua input. Gerbang AND dengan tiga input dan gerbang OR dengan empat input ditunjukkan pada gambar 1.6 (c) dan (d). AND gate tigainput ber-responsi dengan output logik-1 jika semua ketiga sinyal input adalah logik-1. Outputnya menghasilkan sinyal logik-0 jika ada input yang berlogik-0. OR gate empat-input ber-responsi dengan logik-1 jika ada input yang berlogik-1. Outputnya menjadi logik-0 jika semua sinyal input berlogik-0. Sistem matematika logika biner lebih dikenal sebagai Aljabar Boolean, atau switching. Aljabar ini digunakan untuk menjelaskan operasi jaringan yang kompleks suatu rangkaian digital. Perancang sistem digital menggunakan Aljabar Boolean untuk mentransformasikan diagram rangkaian ke dalam ekspresi aljabar dan sebaliknya. Bab 2 dan 3 akan membahas Aljabar Boolean tersebut. Bab 4 menunjukkan bagaimana Aljabar Boolean tersebut dapat digunakan untuk menjelaskan interkoneksi antar jaringan gerbang logika secara matematika. Gambar 1.7 Sinyal-sinyal input-output untuk gate (a), (b), dan (c) dari Gbr. 1.6. 1.8. RANGKAIAN TERPADU (Integrated Circuits = IC) Rangkaian digital selalu dibuat dengan rangkaian terpadu. Rangkaian terpadu (disingkat IC) adalah kristal semikonduktor silikon kecil, yang dinamakan chip, berisi komponen elektronik seperti transistor, dioda, resistor, dan kapasitor. Komponen yang bermacam-macam tersebut dirangkai di dalam chip untuk membentuk suatu rangkaian elektronik. Paket IC ada dua macam, yaitu paket rata/flat dan paket dual-in-line (DIP), seperti yang ditunjukkan pada Gambar 1.8. Yang paling banyak digunakan adalah paket dual-in-line karena harga yang murah dan mudah dipasang pada papan rangkaian. 21 Sistem Digital Ukuran paket IC sangat kecil. Sebagai contoh, gerbang AND dikemas dalam 14-pin (kaki) dengan sinyal kontinyu untuk menyediakan fungsi elektronik seperti amplifier dan pembanding tegangan. IC digital beroperasi dengan sinyal biner. Gambar 1.8 Paket rangkaian terpadu (IC) IC yang didalamnya hanya terdiri dari beberapa gerbang logika, tergolong perangkat integrasi skala-kecil (Small-Scale Integration = SSI). Untuk berkualifikasi sebagai Medium-Scale Integration (MSI) device, IC tersebut harus menunjukkan fungsi logika yang lengkap dan memiliki gerbang logika antara 10-100 gerbang logika. Juga ada Very-Large-Scale Integration (VLSI) device yang berisi ribuan gerbang dalam chip tunggal. 22 Sistem Digital Ringkasan Dalam bilangan biner : Digit yang paling kanan : Disebut LSB (Least Significant Bit), yaitu digit yang mempunyai bobot paling kecil. Digit yang paling kiri : Disebut MSB (Most Significant Bit), yaitu digit yang mempunyai bobot paling besar Konversi dari desimal ke biner atau ke sistem basis –r yang lain, lebih sesuai jika bilangan tersebut dipisahkan ke dalam bagian bulat dan bagian pecahan dan konversi untuk masingmasing bagian dikerjakan secara terpisah. Konversi/ pengubahan dari biner ke oktal dapat dengan mudah dikerjakan dengan memisahkan bilangan biner ke dalam kelompok-kelompok tiap 3 digit. Digit oktal tersebut kemudian dibentuk pada tiap kelompok. Konversi dari biner ke heksadesimal caranya sama seperti di atas, tetapi bilangan binernya dibagi dalam kelompok empat digit Konversi dari oktal atau heksadesimal ke biner dikerjakan dengan prosedur kebalikan dari cara di atas. Tiap digit oktal diubah ke ekuivalen tiga digit binernya. Dengan cara yang sama, tiap digit heksadesimal diubah ke ekuivalen empat digit binernya. Sistem matematika logika biner lebih dikenal sebagai Aljabar Boolean, atau switching. Aljabar ini digunakan untuk menjelaskan operasi jaringan yang kompleks suatu rangkaian digital. Perancang sistem digital menggunakan Aljabar Boolean untuk mentransformasikan diagram rangkaian ke dalam ekspresi aljabar dan sebaliknya. Rangkaian terpadu (disingkat IC) adalah kristal semikonduktor silikon kecil, yang dinamakan chip, berisi komponen elektronik seperti transistor, dioda, resistor, dan kapasitor. 23 Sistem Digital Soal-Soal 1. Ubahlah bilangan desimal di bawah ini menjadi bilangan biner : a. 35 b. 526 c. 279,75 d. 7/8 2. Ubahlah bilangan di bawah ini menjadi bilangan desimal : a. (101000101)2 b. (1101,1011)2 c. (357,4)8 d. (2AF6)16 3. a. Jumlahkan (1101)2 dengan (1111)2 b. Kurangkan (0111)2 dari (1011)2 c. Kalikan (1001)2 dengan (1001)2 4. Ubahlah bilangan desimal di bawah ini : a. 989 menjadi bilangan radik 8 b. 732 menjadi bilangan radik 5 c. 876 menjadi bilangan radik 12 d. 932 menjadi bilangan radik 16 5. Ubahlah (1675)10 menjadi bilangan oktal? 6. Buatlah kode heksadesimal dari bilangan desimal 6699? 7. Jadikanlah bilangan oktal : a. (110111011)2 b. (101111011)2 c. (11010111)2 8. Ubahlah (10111000111)2 menjadi heksadesimal? 9. Ubahlah bilangan di bawah ini : a. (573)8 menjadi bilangan biner b. (967)16 menjadi bilangan biner 24