i
TEKNIK
DIGITAL
Arif Wibisono, S.Pd, M.Kom.
S1 PENDIDIKAN TEKNOLOGI INFORMASI
FAKULTAS MATEMATIKA ILMU PENGETAHUAN ALAM
DAN TEKNOLOGI INFORMASI
ii
KATA PENGANTAR
elamat datang di buku Teknik Digital. Pada panduan ini, anda akan mempelajari dasar-dasar serta konsep digital itu sendiri. Anda juga akan belajar menerapkan dasar dan konsep digital tersebut kemudian memecahkan berbagai jenis permasalahan yang berkaitan dengan digital. Pada dasarnya, panduan ini dibagi menjadi delapan bab, yaitu Pengenalan Konsep Digital, Sistem Bilangan dan Kode, Rangkaian Logika, Aljabar Boolean, Desain Rangkaian Logika, Rangkaian Aritmetik, Flip Flop,
serta Register dan Counter. Pada dua bab pertama adalah teori singkat tentang topik utama yang dibahas. Sedangkan pada bab selanjutnya kita berlatih sekaligus mengenal teorinya. Contoh-contoh soal pada panduan ini sudah saya susun sedemikian rupa sehingga mudah membandingkan soal satu dengan lainnya sehingga muncul pemahaman utuh
Buku ini disusun sebagai harapan agar menjadi panduan Mahasiswa dalam mendalami digital, khususnya konsep digital itu sendiri maupun yang sedang mengambil mata kuliah teknik digital.
Buku ini juga berisi beberapa contoh soal yang variatif, disesuaikan dengan kebutuhan pengajaran.
Pada kesempatan ini, saya juga ingin mengucapkan terima kasih kepada keluarga, istri utamanya yang selalu memberikan dorongan dan semangat. Juga ucapan terima kasih kepada semua pihak yang telah membantu penerbitan buku ini baik secara langsung maupun tidak langsung. Akhir kata, semoga buku ini dapat bermanfaat bagi saya dan bagi para mahasiswa yang menempuh mata kuliah teknik digital.
Semarang, Agustus 2017
iii
DAFTAR ISI
KATA PENGANTAR ... ii
DAFTAR GAMBAR ... vi
DAFTAR TABEL ... viii
BAB 1. PENGENALAN KONSEP DIGITAL ... 1
1.1. Representasi Bilangan ... 1
1.1.1. Representasi Analog ... 1
1.1.2. Representasi Digital ... 2
1.2. Kelebihan Dan Keterbatasan Sistem Digital ... 3
1.3. Sistem Bilangan Digital ... 4
1.3.1. Sistem Desimal ... 4
1.3.2. Sistem Biner ... 5
1.4. Menyatakan Kuantitas-Kuantitas Biner ... 6
Soal Latihan ... 7
BAB 2. SISTEM BILANGAN DAN KODE ... 9
2.1. Konversi Biner ke Desimal ... 9
2.2. Konversi Desimal ke Biner ... 9
2.3. Penjumlahan Biner... 11
2.4. Menyatakan Tanda Bilangan ... 11
2.4.1. True Magnitude Form ... 12
2.4.2. Bentuk Komplemen ke 1... 13
2.4.3. Bentuk Komplemen Ke 2 ... 13
2.4.4. Mengubah Bentuk Komplemen Menjadi Biner ... 15
2.5. Penjumlahan Pada Sistem Komplemen ke 2 ... 15
2.6. Pengurangan Dalam Sistem Komplemen Ke 2 ... 17
2.7. Perkalian Bilangan-Bilangan Biner ... 18
2.8. Perkalian dalam sistem komplemen ke 2 ... 18
2.9. Pembagian Biner... 19
2.10. Sistem Bilangan Oktal ... 19
2.10.1. Konversi Oktal ke Desimal... 20
2.10.2. Konversi Biner ke Oktal / Oktal ke Biner ... 20
2.10.3. Pembagian Secara Berulang ... 20
2.10.4. Keuntungan dari Sistem Oktal ... 21
2.11. Sistem Heksadesimal ... 21
2.11.1. Konversi Heksadesimal ke Desimal... 22
2.11.2. Konversi Desimal ke Heksadesimal (dengan pembagian berulang) ... 22
2.11.3. Konversi Biner ke Heksadesimal / Heksadesimal ke Biner ... 22
2.11.4. Konversi Oktal ke Heksadesimal / Heksadesimal ke Oktal ... 23
2.12. Penjumlahan Heksadesimal ... 23
2.13. Kode BCD ... 23
2.13.1. Binary-Coded-Decimal Code ... 23
iv
2.14. Penjumlahan BCD ... 25
2.14.1. Jumlah Samadengan Sembilan atau Kurang ... 25
2.14.2. Jumlah Lebih Besar dari 9 ... 26
2.15. Kode Excess-3 ... 27
2.16. Kode Gray ... 28
2.16.1. Mengubah dari Gray Ke Biner... 30
SOAL LATIHAN ... 31
BAB 3. RANGKAIAN LOGIKA... 34
3.1. Konstanta dan Variable Boolean ... 34
3.2. Operasi-Operasi Logika Boolean ... 35
3.2.1. Tabel Kebenaran ... 35
3.3. Sekilas tentang IC TTL ... 41
SOAL LATIHAN ... 43
BAB 4. ALJABAR BOOLEAN ... 47
4.1. Menguraikan Rangkaian-Rangkaian Logika Secara Aljabar ... 47
4.1.1. Rangkaian-rangkaian yang menggunakan Inverter ... 47
4.2. Mengevaluasi Output Rangkaian Logika ... 48
4.2.1. Penentuan Level Output Dari Suatu Diagram ... 48
4.3. Implementasi Rangkaian-Rangkaian dari Ekspresi Boolean ... 49
4.4. Teorema-teorema Boolean ... 50
4.4.1. Teorema Multivariabel... 51
4.5. Teorema DeMorgan‟s ... 51
4.5.1. Teorema DeMorgan‟s Tiga Variabel ... 52
4.5.2. Implikasi Teorema DeMorgan's ... 52
4.6. Keuniversalan dari NAND gate dan NOR gate ... 53
4.7. Representasi Alternative Gate Logika ... 54
4.8. Konsep dari Level-Level Logika Aktif ... 54
SOAL LATIHAN ... 55
BAB 5. DESAIN RANGKAIAN LOGIKA ... 59
5.1. Ekspresi-Ekspresi Sum-of-Products dan Product-of-Sums ... 59
5.2. Menurunkan Suatu Ekspresi Dari Suatu Tabel Kebenaran SOP ... 59
5.3. Rangkaian-Rangkaian Exclusive OR dan Exclusive NOR ... 61
5.3.1. Exclusive-OR ( EX-OR) : ... 61
5.3.2. Exclusive-NOR ( EX-NOR) : ... 62
5.4. Metode Karnaugh Map ... 63
5.4.1. Dua variabel ... 63
v
5.4.3. Empat variabel ... 65
5.4.4. Lima variabel ... 65
5.4.5. Enam variabel input ... 66
SOAL LATIHAN ... 67
BAB 6. RANGKAIAN ARITMETIK ... 68
6.1. Unit Aritmetik ... 68
6.2. Penjumlah Biner Paralel... 69
6.3. Penjumlah Biner Serial ... 71
6.4. Rangkaian Penjumlah Biner ... 73
6.4.1. Half Adder (HA) ... 73
6.4.2. Full Adder (FA) ... 74
6.5. Rangkaian Pengurang Biner ... 77
6.5.1. Half Subtractor (HS) ... 77
6.5.2. Full Subtractor (FS) ... 79
6.6. Rangkaian Penjumlah/Pengurang ... 81
7.4. Clocked SR Flip-Flop ... 89
7.5. Clocked JK Flop-Flop ... 91
7.6. Clocked D Flip-Flop ... 93
7.7. T Flip-Flop ... 95
7.8. Flip-Flop Input Sinkron dan Asinkron ... 95
SOAL LATIHAN ... 96
BAB 8. REGISTER DAN COUNTER ... 97
8.1. Register ... 97
8.2. Counter ... 100
8.2.1. Counter-Counter Asinkron ... 100
8.3. Modulo Number ... 102
8.3.1. Self-Stopping Ripple Counter ... 103
8.3.2. Counter-Counter dengan Sembarang/Setiap Mod Number ... 103
8.3.3. Counter Sinkron... 104
SOAL LATIHAN ... 107
vi
DAFTAR GAMBAR
Gambar 1. Diagram dari tegangan analog versus waktu ... 2
Gambar 2. Diagram dari tegangan digital versus waktu ... 3
Gambar 3. Diagram blok dari sistem kontrol temperature ... 4
Gambar 4. Menggunakan saklar untuk menyatakan bilangan-bilangan biner ... 6
Gambar 5. Bentuk sinyal digital ... 7
Gambar 6. Menyatakan Tanda Bilangan ... 12
Gambar 7. Rangkaian logika dengan dua input A dan B ... 35
Gambar 8. Simbol rangkaian untuk OR gate 2 input ... 36
Gambar 9. Simbol OR gate tiga input ... 37
Gambar 10. Simbol AND gate dua input ... 37
Gambar 11. AND dengan 3 input ... 38
Gambar 12. Simbol NOT gate ... 39
Gambar 13. NOR Gate dua input ... 39
Gambar 14. OR Gate tiga input yang disusun dari NOR gate dan NOT gate ... 40
Gambar 15. NAND Gate dua input ... 40
Gambar 16. SN74LS00 ... 41
Gambar 17. Rangkaian logika dengan ekspresi Booleannya ... 47
Gambar 18. Rangkaian yang menggunakan inverter ... 47
Gambar 19. Penentuan level output ... 49
Gambar 20. Membangun suatu rangkaian logika dari suatu ekspresi boolean ... 50
Gambar 21. Universal NAND Gate ... 53
Gambar 22. Universal NOR gate ... 54
Gambar 23. Simbol Gate Logika Standar dan Simbol Ekivalennya ... 54
Gambar 24. Interprestasi dari dua symbol NAND Gate ... 55
Gambar 25. AND Gate dengan input A‟ dan B... 60
Gambar 26. Rangkaian EX-OR, tabel kebenaran dan simbol ... 61
Gambar 27. Rangkaian EX-NOR, tabel kebenaran dan simbol ... 62
Gambar 28. Karnaugh Map dua variable ... 63
Gambar 29. Diagram bagian-bagian fungsional dari unit aritmetik ... 69
Gambar 30. Contoh proses penjumlahan biner ... 70
Gambar 31. Diagram blok rangkaian adder pararel 4 bit yang menggunakan full adder 71 Gambar 32. Serial adder ... 72
Gambar 33. Blok diagram Half Adder ... 73
Gambar 34. Rangkaian Half Adder ... 74
Gambar 35. Blok diagram FA ... 74
Gambar 36. Full adder yang disusun dari 2 buah HA ... 75
Gambar 37. Rangkaian FA ... 77
Gambar 38. Blok diagram Half Subtractor ... 78
Gambar 39. (a) Rangkaian HS tersusun dari EX-OR, AND dan NOT ... 79
Gambar 40. Blok Diagram FS ... 79
vii
Gambar 42. Rangkaian Full Subtractor... 81
Gambar 43. Penjumlahan dan pengurangan dengan Kontrol Add/Sub ... 82
Gambar 44. Rangkaian adder/subtractor 4 bit ... 83
Gambar 45. Diagram sistem digital umum ... 84
Gambar 46. Simbol FF secara umum ... 85
Gambar 47. NAND Gate Latch ... 86
Gambar 48. NOR Gate Latch ... 87
Gambar 49. Pulsa Clock (Sinyal Jam) ... 88
Gambar 50. Clocked SR Flip-Flop dengan pulsa clock aktif tinggi ... 89
Gambar 51. Bentuk-bentuk gelombang ... 90
Gambar 52. Clocked SR Flip-Flop dengan pulsa clock aktif rendah ... 90
Gambar 53. Rangkaian Clocked SR Flip-Flop ... 91
Gambar 54. Clocked JK Flip-Flop... 91
Gambar 55. Bentuk Gelombang ... 92
Gambar 56. Rangkaian JK FF ... 93
Gambar 57. D FF yang ditrigger pada transisi menuju positif ... 94
Gambar 58. Susunan JK FF yang bekerja sebagai D FF ... 94
Gambar 59. D FF yang disusun dari NAND Gate ... 95
Gambar 60. T Flip Flop ... 95
Gambar 61. Clocked JK FF dengan input-input asinkron ... 96
Gambar 62. Blok diagram register memori 4-bit ... 97
Gambar 63. Transfer data (a) mode seri, dan (b) mode pararel ... 97
Gambar 64. Rangkaian register memori 4-bit ... 98
Gambar 65. Shift Register 4-bit ... 99
Gambar 66. Register pararel input pararel output ... 100
Gambar 67. Counter Asinkron 4-bit ... 101
Gambar 68. Self stopping ripple counter yang berhenti pada 1001 ... 103
Gambar 69. Mod-6 counter dengan meng-clear suatu mod-8 counter pada saat terjadi hitungan ... 104
viii
DAFTAR TABEL
Tabel 1. Hubungan antara heksadesimal, desimal dan biner ... 21
Tabel 2. Representasi kode BCD dan kode Excess-3 ... 27
Tabel 3. Representasi kode Gray dan Biner ... 29
Tabel 4. Level logika / Logic Level ... 34
Tabel 5. Dengan operasi OR, 1+1=1, 1+1+1=1 ... 37
Tabel 6. Dengan operasi AND , 1*1 = 1, 1*1*1 = 1 ... 38
Tabel 7. Tabel kebenaran Half Subtractor ... 78
Tabel 8. Tabel kebenaran ... 86
Tabel 9. Tabel kebenaran ... 87
Tabel 10. Tabel Kebenaran ... 89
Tabel 11. Tabel kebenaran ... 102
Tabel 12. Tabel counter mod-8 binary counter ... 105
Tabel 13. Tabel exitasi untuk JK Flip-Flop... 105
1
BAB 1. PENGENALAN KONSEP DIGITAL
Di dalam science, teknologi, bisnis dan pada semua bidang-bidang ilmu yang lain, selalu berurusan dengan kuantitas . Kuantitas-kuantitas ini diukur, dimonitor, dicatat, dan dimanipulasi secara aritmetik.
1.1.
Representasi Bilangan
Pada dasarnya ada 2 cara dalam merepresentasikan atau menyatakan nilai bilangan dari suatu kuantitas yaitu analog dan digital.
1.1.1.
Representasi Analog
Pada representasi analog suatu kuantitas direpresentasikan dengan kuantitas lain yang nilainya berbanding lurus dengan kuantitas pertama tersebut. Suatu contoh dari representasi analog adalah speedometer mobil, dimana simpangan jarum sebanding dengan kecepatan mobil. Posisi sudut dari jarum menunjukkan besarnya kecepatan mobil, dan jarum tersebut mengikuti setiap perubahan yang terjadi pada saat kecepatan mobil naik atau turun.
Contoh lain adalah thermostat ruang, dimana melengkungnya batang bimetal sebanding dengan temperatur ruang. Pada saat temperatur berubah secara bertingkat, lengkungan batang berubah sebanding dengan perubahan temperatur.
Kuantitas-kuantitas analog seperti yang diutarakan di atas mempunyai suatu karakteristik penting: kuantitas berubah secara bertingkat pada suatu rentang harga kontinyu.
2 Gambar 1. Diagram dari tegangan analog versus waktu
1.1.2.
Representasi Digital
Pada representasi digital, kuantitas tidak dinyatakan dengan kuantitas-kuantitas sebanding tetapi dengan symbol-simbol yang disebut digit. Sebagai contoh, perhatikanlah jam digital, yang menunjukkan waktu dalam bentuk digit-digit desimal yang menyatakan jam-menit-dan detik. Seperti diketahui, waktu berubah secara kontinyu, tetapi yang terbaca dalam jam digital tidak berubah secara kontinyu, ia berubah satu step demi satu step per detik. Dengan kata lain, representasi digital dari waktu berubah dalam step-step diskrit. Dibandingkan dengan representasi analog dari waktu yang ditunjukkan oleh jarum jam, dimana pembacaan skala berubah secara kontinyu.
3 Gambar 2. Diagram dari tegangan digital versus waktu
Secara sederhana perbedaan utama antara kuantitas analog dan kuantitas digital, dapat dinyatakan sebagai berikut :
Analog = Continuous
Digital = Discrete (Step by Step)
1.2.
Kelebihan Dan Keterbatasan Sistem Digital
Kelebihan Sistem Digital1. Mudah dalam mendesainnya.
2. Penyimpanan informasi lebih mudah 3. Ketelitiannya lebih besar
4. Kerjanya dapat diprogram. Sistem analog dapat juga deprogram tetapi lebih kompleks dan terbatas.
5. Rangkaian digital lebih rendah noise nya
6. Rangkaian digital dapat di fabrikasi dalam IC chips Keterbatasan Sistem Digital
4 apabila akan menggunakan teknik digital diperlukan langkah-langkah sebagai berikut :
1. Ubahlah input yang masih dalam besaran analog menjadi bentuk digital (Analog to Digital Converter atau ADC)
2. Selanjutnya proses dilakukan secara digital
3. Ubah output digital menjadi besaran analog (Digital to Analog Converter atau DAC)
Diagram berikut menunjukkan sistem kontrol temperature
Gambar 3. Diagram blok dari sistem kontrol temperature
1.3.
Sistem Bilangan Digital
Banyak sistem-sistem bilangan yang digunakan pada teknologi digital. Yang paling umum adalah sistem-sistem desimal, biner, oktal dan heksadesimal. Sistem desimal adalah yang banyak dikenal karena sering digunakan setiap hari. Dengan mempelajari karakteristiknya akan membantu memahami sistem-sistem bilangan lain secara lebih baik.
1.3.1.
Sistem Desimal
Sistem desimal tersusun atas 10 angka atau simbol, yang dikenal dengan digit. Ke-10 simbol ini adalah 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Sistem desimal juga disebut sistem basis-10.
5 sebagai Most Significant Digit (MSD). 4 bobotnya paling kecil dan disebut Least Significant Digit (LSD). Perhatikan contoh lain, 75.25. Bilangan ini sesungguhnya sama dengan tujuh puluh plus lima satuan plus dua persepuluh plus lima perseratus.
103 102 101 100 10-1 10-2 10-3
Jadi bilangan 245.14 sama dengan :
(2x102) + (4x101) + (5x100) + (1x10 -1) + (4x10 -2).
1.3.2.
Sistem Biner
Hampir semua sistem digital menggunakan sistem bilangan biner sebagai dasar sistem bilangan dari operasinya, meskipun sistem-sistem bilangan lain sering digunakan secara bersama-sama dengan biner. Dengan menggunakan 2 level yang ada pada sistem biner maka sangatlah mudah untuk mendesain rangkaian - rangkaian elektronik yang akurat dibandingkan dengan menggunakan 10 level yang ada pada sistem desimal. Dalam sistem biner, hanya ada 2 simbol atau digit yaitu 0 dan 1 yang dikenal juga dengan sistem basis-2.
Sistem biner ini dapat digunakan untuk menyatakan setiap kuantitas yang dapat dinyatakan dalam desimal atau sistem bilangan yang lainnya. Sistem biner juga suatu system nilai posisional, dimana tiap-tiap digit biner mempunyai nilainya sendiri atau bobot yang dinyatakan sebagai pangkat 2. Perhatikan contoh berikut 101.112.
6
Tabel berikut menunjukkan urutan hitungan pada system bilangan biner.
1.4.
Menyatakan Kuantitas-Kuantitas Biner
Dalam system digital informasi yang akan diproses biasanya dinyatakan dalam bentuk biner. Kuantitas biner dapat dinyatakan dengan setiap alat yang hanya mempunyai dua kondisi kerja. Sebagai contoh sebuah saklar yang hanya mempunyai kondisi terbuka yang menyatakan biner 0 atau kondisi tertutup yang menyatakan biner 1.
7 Pada sistem-sistem digital elektronik, informasi biner dinyatakan oleh sinyal-sinyal listrik yang terdapat pada input dan output dari berbagai macam rangkaian-rangkaian elektronik. Dalam sistem ini, biner 0 dan 1 dinyatakan oleh dua tegangan yang ekstrim berlawanan. Misalnya biner 0 dapat dinyatakan dengan harga nominal 0 volt dan biner 1 dinyatakan dengan 5 volt. Untuk lebih jelasnya perhatikan gambar 1.5 berikut.
Biner 1 : tegangan antara 2V sampai 5V Biner 0 : tegangan antara 0V sampai 0.8 V
Tegangan antara 0.8V sampai 2V tidak digunakan, karena akan menyebabkan kesalahan dalam rangkaian digital.
Gambar 5. Bentuk sinyal digital
Soal Latihan
1. Apa perbedan antara besaran analog dan besaran digital ?
2. Berikut ini yang manakah menyatakan kuantitas analog dan manakah yang digital?
a. Tekanan tabung
b. Perubahan temperatur dalam perioda 24 jam c. Switch sepuluh-posisi
8 3. Ubahlah bilangan-bilangan biner berikut ini menjadi bilangan-bilangan
desimal: a. 11001 b. 1001.101 c. 1011001
9
BAB 2. SISTEM BILANGAN DAN KODE
Didalam sistem-sistem digital informasi numerik biasanya dinyatakan dalam sistem bilangan biner (atau kode biner lain yang bersangkutan). Sistem biner telah diperkenalkan pada Bab I, dimana telah ditunjukkan pula kesamaan-kesamaan nya dengan system desimal. Beberapa system lain untuk menyatakan data numerik juga penting di dalam sistem-sistem digital, yakni sistem oktal, heksadesimal, Binary-coded-decimal (BCD), dan Excess-3. Berbagai macam system bilangan, hubungan-hubungannya, dan operasi-operasi aritmetik akan dibahas pada bab ini.
2.1.
Konversi Biner ke Desimal
Setiap bilangan biner dapat dikonversi menjadi ekivalen desimalnya dengan cara menjumlahkan bobot-bobot pada bilangan biner yang mengandung bit 1, sebagai contoh:
2.2.
Konversi Desimal ke Biner
10 Untuk bilangan-bilangan desimal yang lebih besar, cara diatas menghabiskan waktu. Suatu cara yang lebih mudah yaitu dengan melakukan pembagian berturut-turut dengan 2 dan menuliskan sisanya sampai diperoleh hasil 0. Perhatikan contoh berikut : bilangan desimal 25.375 dikonversi ke biner. Langkah yang pertama adalah memisahkan bilangan bulat dengan pecahan. Konversi ini dilakukan dengan secara berturut-turut membagi 25 dengan 2 dan menuliskan sisanya setiap pembagian sampai diperoleh hasil bagi 0.
Bagian pecahan dari bilangan (0.375) yang dikonversikan ke biner secara berturut-turut dikalikan dengan 2 dan seterusnya mengikuti prosedur seperti berikut ini :
0.375 x 2 = 0.75 = 0.75 + carry 0 0.75 x 2 = 1.50 = 0.50 + carry 1 0.50 x 2 = 1.00 = 0.00 + carry 1 0.37510 = .0112
Akhirnya hasil selengkapnya untuk 25.375 dapat dituliskan sebagai gabungan dari konversi bulat dan pecahan :
11
2.3.
Penjumlahan Biner
Penjumlahan bilangan biner dilakukan sama seperti penjumlahan bilangan-bilangan desimal. Dalam kenyataannya, penjumlahan biner lebih sederhana karena hanya ada lebih sedikit kasus yang dipelajari. Berikut adalah penjumlahan desimal:
3 7 6 4 6 1 8 3 7
Langkah-langkah yang sama berlaku pula pada penjumlahan biner, tetapi bagaimanapun juga hanya ada empat kasus yang terjadi pada penjumlaha biner pada
Penjumlahan adalah operasi aritmetik yang paling penting dalam sistem digital. Operasi pengurangan, perkalian dan pembagian seperti yang dilakukan pada komputer dan kalkulator digital sesungguhnya hanya menggunakan penjumlahan sebagai operasi dasarnya.
2.4.
Menyatakan Tanda Bilangan
12 menyatakan besarnya bilangan. Karena hampir semua komputer dan kalkulator digital menangani bilangan-bilangan positip maupun bilangan-bilangan negatip, suatu cara diperlukan untuk menyatakan tanda bilangan (+ atau -). Ini biasanya dilakukan dengan menambahkan bit lain pada bilangannya yang disebut bit tanda atau sign bit . Konvensi umum yang telah diterima adalah bahwa 0 pada sign bit menyatakan bilangan positip dan 1 pada sign bit menyatakan bilangan negatip. Ini ditunjukkan pada gambar 6. register A mengandung bit-bit 0110100. 0 pada bit paling kiri (A6) adalah sign bit yang menyatakan positip. Enam bit yang lain menyatakan besarnya bilangan 1101002, yang sama dengan 52 dalam desimal. Jadi bilangan yang disimpan dalam register A adalah +52. Demikian juga, bilangan yang disimpan dalam register B adalah -31, karena sign bitnya adalah 1 yang menyatakan negatip.
Sign bit digunakan untuk menunjukkan apakah bilangan biner yang disimpan adalah positip atau negatip. Untuk bilangan-bilangan positip, bit-bit selebihnya (selain sign bit) selalu digunakan untuk menyatakan besarnya bilangan dalam bentuk biner. Tetapi untuk bilangan-bilangan negatip ada tiga bentuk yang digunakan untuk menyatakan besarnya bilangan biner yaitu bentuk true-magnitude, bentuk komplemen ke 1, dan bentuk komplemen ke 2.
Gambar 6. Menyatakan Tanda Bilangan
2.4.1.
True Magnitude Form
13
2.4.2.
Bentuk Komplemen ke 1
Bentuk komplemen ke 1 dari setiap bilangan biner diperoleh dengan mengubah setiap 0 di dalam bilangan tersebut menjadi 1, dan setiap 1 di dalam bilangan menjadi 0. Dengan kata lain mengubah setiap bit menjadi komplemennya. Misalnya komplemen ke 1 dari 101101 adalah 010010, dan komplemen ke 1 dari 011010 adalah 100101.
Apabila bilangan-bilangan negatip dinyatakan dalam bentuk komplemen 1, sign bitnya dibuat 1 dan besarnya dikonversikan dari bentuk biner sesungguhnya menjadi komplemen ke 1-nya. Sebagai contoh bilangan -57 akan dinyatakan sebagai berikut :
Sign bit
-57 = 1 111001 (true magnitude form) = 1 000110 (bentuk komplemen ke 1)
Ingat bahwa sign bit tidak dikomplemenkan tetapi dipertahankan tetap sebagai 1 untuk menunjukkan bilangan negatip. Berikut beberapa contoh tambahan dari bilangan-bilangan negatip yang dinyatakan dalam bentuk komplemen ke 1.
2.4.3.
Bentuk Komplemen Ke 2
Bentuk komplemen ke 2 dari suatu bilangan biner dibentuk dengan mengambil komplemen ke 1 dari bilangannya dan dengan menambahkan 1 pada posisi least significant bit. Prosedurnya ditunjukkan seperti di bawah ini untuk mengubah 111001 (desimal 57) menjadi bentuk komplemen ke 2-nya.
1 1 1 0 0 1 komplemenkan tiap bit untuk membentuk komplemen ke 1
0 0 0 1 1 0
14 Jadi, dalam representasi komplemen ke 2-nya dari – 57 akan ditulis sebagai 1000111. Juga disini, bit yang paling kiri merupakan sign bit. 6 bit yang lain merupakan bentuk komplemen ke 2 dari besar bilangannya. Sebagai contoh lain komplemen ke 2 dari 14 ditulis 10010. Ketiga bentuk dari menyatakan bilanganbilangan negatip untuk -57 diikhtisarkan pada gambar dibawah:
1 1 1 1 0 0 1 True magnitude
1 0 0 0 1 1 0 Komplemen ke 1
1 0 0 0 1 1 1 Komplemen ke 2
Sign bit
Gambar diatas Tiga cara yang digunakan untuk menyatakan bilangan-bilangan biner negative. Ketiga bentuk tersebut sekarang digunakan dalam sistem-sistem digital. Beberapa mesin-mesin digital menyimpan bilangan-bilangan negatip dalam true magnitude form, tetapi terlebih dahulu mengubahnya menjadi komplemen ke 1 atau komplemen ke 2 sebelum mengerjakan setiap operasi-operasi aritmetik. Mesin-mesin lain menyimpan bilangan-bilangan negatip dalam bentuk komplemen ke 1 dan komplemen ke 2. Pada hampir semua mesin-mesin digital modern, untuk operasi-operasi aritmetik bilangan-bilangan negatipnya ada dalam komplemen ke 1 atau bentuk komplemen ke 2. Saat ini representasi komplemen ke 2 paling banyak digunakan. Harus di ingat bahwa dalam ketiga sistem, true magnitude, komplemen ke 1 dan komplemen ke 2, bilangan-bilangan positip selalu dalam bentuk biner sesungguhnya dan dengan sign bit 0. Perbedaannya terletak pada representasi bilangan-bilangan negatipnya.
15
2.4.4.
Mengubah Bentuk Komplemen Menjadi Biner
Untuk mengubah dari komplemen ke1 menjadi biner yang sebenarnya hanya diperlukan untuk mengkomplemenkan lagi setiap bit-nya. Untuk mengubah dari komplemen ke 2 menjadi biner yang sebenarnya hanya diperlukan untuk mengkomplemenkan setiap bit dan kemudian menambah 1 pada LSB nya.
2.5.
Penjumlahan Pada Sistem Komplemen ke 2
Sistem komplemen ke 1 dan sistem komplemen ke 2 adalah sangat mirip. Tetapi bagaimanapun juga, sistem komplemen ke 2 adalah yang umum digunakan karena keuntungan yang terdapat pada pelaksanaan rangkaiannya.
Kasus I : Dua Bilangan Positip
Penjumlahan dari dua bilangan positip adalah langsung. + 9 0 1001 (yang ditambah)
+ 4 0 0100 (yang menambah) + 13 0 1101
Sign bit
Perhatikan bahwa sign bit dari yang ditambahkan dan yang menambah dua-duanya adalah 0 dan sign bit dari jumlahnya adalah 0, yang menunjukkan bahwa jumlah tersebut adalah positip. Juga perhatikan bahwa yang ditambah dan yang menambah dibuat mempunyai jumlah bit yang sama. Ini harus selalu dilakukan dalam sistem komplemen ke 2.
Kasus II : Bilangan Positip dan Bilangan Negatip yang Lebih Kecil
Misal penjumlahan +9 dan -4. Ingat bahwa -4 akan ada dalam bentuk komplemen ke 2. Jadi, +4 (00100) harus diubah menjadi -4 (11100)
Sign bit
16 +5 10 0101
Carry ini diabaikan, sehingga hasilnya adalah 00101 = +5 Perhatikan bahwa sign bit-sign bit tersebut juga ikut dalam proses penjumlahan. Ternyata sebuah carry dihasilkan pada posisi hasil penjumlahan terakhir. Carry ini selalu diabaikan, sehingga jumlah akhir sama dengan 00101 (+5)
Kasus III : Bilangan Positip dan Bilangan Negatip yang Lebih Besar
Contoh penjumlahan -9 dan +4
- 9 1 0111 (yang ditambah) +4 0 0100 (yang menambah) -5 1 1011 (jumlah = -5)
Disini jumlahnya mempunyai sign bit 1, yang menunjukkan suatu bilangan negatip. Karena jumlahnya adalah negatip, maka merupakan bentuk komplemen ke 2, sehingga empat bit terakhir (1011) menyatakan komplemen ke 2 dari 0101 (ekivalen dengan desimal 5). Jadi 11011 adalah ekivalen dengan -5.
Kasus IV : Dua Bilangan Negatip
- 9 1 0111 (yang ditambah)
Kasus V : Bilangan yang sama dan berlawanan
- 9 1 0111 (yang ditambah) +9 0 1001 (yang menambah) -13 100000
17
2.6.
Pengurangan Dalam Sistem Komplemen Ke 2
Operasi pengurangan dengan menggunakan sistem komplemen ke 2 sesungguhnya melibatkan operasi penjumlahan dan sama sekali tidak berbeda dengan berbagai macam kasus yang telah dibahas pada sub bab 1.9. Pada saat mengurangkan satu bilangan biner dari bilangan biner yang lain, maka prosedurnya adalah sebagai berikut :
1. Cari komplemen ke 2 dari pengurang, termasuk dengan sign bit-nya. Apabila pengurangnya merupakan suatu bilangan positip, maka harus dirubah ke suatu bilangan negatip dalam bentuk komplemen ke 2. Apabila pengurangnya merupakan bilangan negatip, ini akan mengubahnya menjadi bilangan positip dalam bentuk biner sebenarnya.
2. Setelah menemukan komplemen ke 2 dari pengurang, tambahkan kepada yang dikurangi. Bilangan yang dikurangi tersebut dipertahankan dalam bentuk aslinya. Hasil dari penjumlahan ini merupakan selisih yang dicari. Sign bit dari selisih ini menentukan apakah tandanya + atau – dan apakah merupakan bentuk biner sesunguhnya atau bentuk komplemen ke 2.
Contoh :
Yang dikurangi (9) 01001 Pengurang (+4) 00100
Ubahlah pengurang menjadi komplemen ke 2-nya (11100). Sekarang tambahkan bilangan ini dengan yang dikurangi :
18 diabaikan, sehingga hasilnya adalah 00101 = + 5
2.7.
Perkalian Bilangan-Bilangan Biner
Perkalian bilangan biner dilakukan dengan cara yang sama dengan perkalian bilangan desimal, contoh :
1001 yang dikalikan = 910 1011 pengali = 1110
Hampir semua mesin-mesin digital hanya dapat menjumlahkan dua bilangana bilangan terse biner pada satu saat tertentu. Oleh karenanya penjumlahan hasil perkalian dilakukan dua demi dua; yaitu, yang pertama dijumlahkan dengan yang kedua, hasilnya dijumlahkan dengan yang ketiga, dan seterusnya.
2.8.
Perkalian dalam sistem komplemen ke 2
19
2.9.
Pembagian Biner
Proses untuk membagi suatu bilangan biner oleh bilangan biner lain adalah sama dengan proses yang diikuti untuk bilangan-bilangan desimal, contoh :
0011 (9 : 3 = 3)
Pembagian dari bilangan-bilangan bertanda dilakukan dengan cara yang sama seperti perkalian. Bilangan-bilangan negatip dijadikan positip dengan mengkomplementasikan dan kemudian baru melaksanakan pembagian. Apabila yang dibagi dan pembagi tandanya berlawanan, hasil baginya diubah menjadi bilangan negatip dengan menghitung komplementasi ke 2-nya dan diberi sign bit 1. Apabila yang dibagi dan pembagi tandanya sama, hasil baginya dibiarkan tetap positip dan diberi sign bit 0.
2.10.
Sistem Bilangan Oktal
20
83 82 81 80 8-1 8-2 8-3
=512 =64 =8 =1 . =1/8 =1/64 =1/512
Most Significant Digit (MSD)
Octal Point Least Significant Digit (LSD)
2.10.1.
Konversi Oktal ke Desimal
Contoh : 24.68 = 2 x (81) + 4 x (80) + 6 x (8-1) = 20.7510
2.10.2.
Konversi Biner ke Oktal / Oktal ke Biner
Digit Oktal 0 1 2 3 4 5 6 7
Binary Ekivalen 000 001 010 011 100 101 110 111
Setiap digit oktal dinyatakan oleh tiga bit dari digit biner. Contoh : 100 111 0102 = (100) (111) (010)2 = 4 7 28
2.10.3.
Pembagian Secara Berulang
Metode ini menggunakan pembagian berulang dengan 8. Contoh konversi 17710 ke octal dan biner:
177/8 = 22 + sisa 1 1 (LSB) 22/8 = 2 + sisa 6 6
21 Hasil 17710 = 2618
Konversi ke Biner = 0101100012
2.10.4.
Keuntungan dari Sistem Oktal
Pada umumnya sistem oktal tersebut berguna apabila sejumlah besar informasi bit-bit biner akan ditulis, di display, atau disampaikan dari orang yang satu ke orang yang lain secara tertulis atau lisan. Misalnya lebih mudah dan lebih kecil kemungkinan salahannya menyampaikan bilangan biner 1010111001012 sebagai 53458 (ekivalen oktalnya). Penerima informasi dapat dengan mudah mengubahnya menjadi biner.
2.11.
Sistem Heksadesimal
Sistem heksadesimal menggunakan basis 16. Jadi memiliki 16 kemungkinan simbol digit. Sistem ini menggunakan digit-digit : 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E, dan F.
Tabel 1. Hubungan antara heksadesimal, desimal dan biner
Heksadesimal Desimal Biner
0 0 0000
22
2.11.1.
Konversi Heksadesimal ke Desimal
Contoh : 2AF16 = 2 x (162) + 10 x (161) + 15 x (160) = 68710
2.11.2.
Konversi Desimal ke Heksadesimal (dengan pembagian
berulang)
Metode ini menggunakan pembagian 16 secara berulang. Contoh : konversi37810 ke heksadesimal dan biner: 378/16 = 23 + sisa 10 A (LSB)
23/16 = 1 + sisa 7 7
1/16 = 0 + sisa 1 1 (MSB) Hasil 37810 = 17A16
Konversi ke Biner = 0001 0111 10102
2.11.3.
Konversi Biner ke Heksadesimal / Heksadesimal ke Biner
Hexadecimal Digit 0 1 2 3 4 5 6 7
Binary Equivalent 0000 0001 0010 0011 0100 0101 0110 0111
Hexadecimal Digit 8 9 A B C D E F
Binary Equivalent 1000 1001 1010 1011 1100 1101 1110 1111 Setiap digit heksadesimal dinyatakan dengan empat bit dari digit biner.
23
2.11.4.
Konversi Oktal ke Heksadesimal / Heksadesimal ke Oktal
Contoh : Konversikan 5A816 ke Oktal . 5A816 = 0101 1010 1000 (Biner)
= 2 6 5 0 (Oktal)
2.12.
Penjumlahan Heksadesimal
Penjumlahan heksadesimal dilakukan sama persis dengan penjumlahan desimal, yang perlu diperhatikan bahwa bilangan heksadesimal merupakan bilangan ber-basis 16. Contoh :
4 5 8 A 1 3 6 7 1 4 9 5
A C 9 E A 8
2.13.
Kode BCD
Apabila bilangan-bilangan, huruf-huruf, kata-kata dinyatakan dalam suatu grup simbol-simbol tertentu, ini disebut pengkodean, dan grup simbol-simbol tersebut dinamakan kode. Barangkali salah satu kode yang paling dikenal adalah kode Morse, dimana serangkaian titik dan garis menyatakan huruf-huruf alphabet. Semua sistem digital menggunakan beberapa bentuk bilangan biner untuk operasi internalnya, tetapi untuk menyajikan hasilnya ke luar digunakan bilangan desimal. Ini berarti bahwa konversi-konversi antara sistem biner dan desimal sering dilakukan. Telah diketahui bahwa konversi antara desimal dan biner untuk bilangan-bilangan besar dapat panjang dan rumit. Oleh karena itu kadang-kadang digunakan cara-cara pengkodean bilangan desimal lain, yang menggabungkan beberapa sifat dari sistem desimal dan sistem biner.
2.13.1.
Binary-Coded-Decimal Code
24 Karena digit desimal besarnya dapat mencapai 9, maka diperlukan 4 bit untuk mengkode setiap digit (kode biner untuk 9 adalah 1001). Untuk menunjukkan kode BCD, ambil bilangan desimal 874, setiap digit dapat diubah menjadi ekivalen binernya sebagai berikut :
8 7 4
1000 0111 0100
Sebagai contoh lain, ubahlah 94.3 menjadi representasi kode BCD-nya 9 4 . 3
1001 0100 . 0011
Dengan demikian, kode BCD menyatakan setiap digit bilangan desimal dengan bilangan biner 4 bit. Jelaslah bahwa hanya digunakan bilangan-bilangan biner 4 bit dari 0000 sampai 1001.
2.13.2.
Perbandingan Antara Kode BCD dan Kode Biner
Penting untuk diketahui bahwa bilangan BCD tidak sama dengan bilangan biner langsung. Kode biner langsung mengkodekan lengkap seluruh bilangan desimal dan menyatakan dalam biner; kode BCD mengubah tiap-tiap digit desimal menjadi biner secara individual (satu per satu). Sebagai contoh ambil bilangan desimal 137 dan bandingkan kode biner langsung dengan BCD-nya :
13710 = 100010012 (biner)
13710 = 0001 0011 0111 (BCD)
25 frekuensi, kalkulator, dan jam digital semuanya menggunakan BCD karena mereka menyajikan informasi output dalam desimal.
BCD sering tidak digunakan dalam komputer digital berkecepatan tinggi, oleh karena dua alasan. Pertama, BCD membutuhkan lebih banyak bit dibanding kode biner langsung, oleh karena itu kurang efisien. Kedua, proses aritmetik untuk BCD lebih rumit dibanding biner langsung sehingga memerlukan rangkaian yang lebih kompleks. Semakin kompleks akan memperlambat kecepatan operasinya.
2.14.
Penjumlahan BCD
Penjumlahan bilangan-bilangan desimal yang berbentuk BCD paling mudah dipahami melalui dua kasus yang dapat terjadi pada saat digit-digit desimal dijumlahkan.
2.14.1.
Jumlah Samadengan Sembilan atau Kurang
Penjumlahan 5 dan 4 yang menggunakan BCD untuk menyatakan tiap-tiap digit :
5 0101 BCD untuk 5
4 0100 BCD untuk 4
9 1001 BCD untuk 9
Contoh lain :
4 5 0100 0101 BCD untuk 4 5
3 3 0011 0011 BCD untuk 3 3
26 Pada contoh di atas tak satupun hasil penjumlahan dari digit-digit desimal melampaui 9, oleh karena itu tidak dihasilkan carry-carry desimal. Untuk kasus-kasus ini proses penjumlahan BCD adalah langsung dan sama dengan penjumlahan biner.
2.14.2.
Jumlah Lebih Besar dari 9
Perhatikan penjumlahan BCD 6 dan 7 dalam BCD berikut ini :
6 0110 BCD untuk 6
7 0111 BCD untuk 7
13 1101 grup kode terlarang dalam BCD
27 1000 0010 jumlah BCD yang benar
2.15.
Kode Excess-3
Kode excess-3 ada hubungannya dengan kode BCD dan kadang-kadang digunakan menggantikan BCD karena mempunyai keuntungan kentungan dalam operasi-operasi aritmetik tertentu. Pengkodean excess-3 untuk bilangan desimal dilaksanakan dengan cara yang sama seperti BCD kecuali bahwa angka 3 ditambahkan pada setiap digit desimal sebelum mengkodekan dalam biner. Misalnya, mengkode bilangan desimal 3 kedalam kode excess-3, pertama-tama kita harus menambah 3 untuk memperoleh 7. Kemudian 7 dikodekan dalam kode biner 4-bit ekivalennya, yaitu 0111.
Sebagai contoh lain, ubahlah 46 menjadi representasi kode excess-3.
Tabel dibawah ini mencantumkan representasi kode BCD dan kode excess-3 untuk digit-digit desimal. Perhatikanlah bahwa kedua kode tersebut hanya menggunakan 10 dari 16 kemungkinan grup-grup kode 4-bit. Tetapi bagaimanapun juga, kode exces-3 tidak menggunakan grup-grup kode yang sama. Untuk excess-3, grup-grup kode yang terlarang adalah 0000,0001,0010,1101,1111.
Tabel 2. Representasi kode BCD dan kode Excess-3
28 minimum change code,dimana hanya mengubah satu bit dalam grup kodenya apabila pindah dari satu step ke step berikutnya. Kode Gray merupakan kode tak berbobot atau unweighted,yang berarti bahwa posisi-posisi bit dalam grup-grup kode tidak mempunyai bobot tertentu. Oleh karena itu, kode Gray tidak sesuai untuk operasi aritmetik tetapi digunakan pada alat-alat input/output dan pada beberapa jenis konvertor-konvertor analog ke digital.
Tabel 4 menunjukkan representasi kode Gray untuk bilangan-bilangan desimal dari 0 sampai 15,bersama-sama dengan kode biner langsung. Apabila kita memperhatikan grup-grup kode Gray untuk setiap bilangan desimal, dapat dilihat bahwa pada setiap perpindahan dari satu bilangan desimal ke bilangan berikutnya hanya mengubah satu bit kode Gray. Misalnya, pada saat pindah dari 3 ke 4, kode Gray berubah dari 0010 dan 0110, dengan hanya kedua dari kiri yang berubah. Naik dari 14 ke 15 bit-bit kode Gray berubah dari 1001 ke 1000,dengan hanya bit terakhir yang berubah. Ini adalah karakteristik utama dari kode Gray. Bandingkanlah ini dengan kode biner, dimana pada setiap tempat mulai dari satu sama ke seluruh bit berubah pada saat naik dari satu step ke step berikutnya.
29 berarti (signifikan) dalam waktu-waktu transisi dari bit-bit yang berbeda. Apabila demikian halnya, maka transisi dari 0111 menjadi 1000 dapat menghasilkan satu atau lebih keadaan-keadaan intermediate.
Tabel 3. Representasi kode Gray dan Biner
Desimal Kode Biner Kode Gray
30 Terjadinya 1111 hanya sesaat tetapi dapat menyebabkan kesalahan operasi dari elemen-elemen yang sedang dikontrol oleh bit-bit. Jelaslah bahwa dengan menggunakan kode Gray dapat meniadakan masalah ini, karena hanya terjadi satu perubahan bit per transisi dan diantara bit-bit tidak terjadi race. Mengubah kode biner ke kode Gray :
Bit pertama dari kode Gray samadengan bit pertama dari bilangan biner
Bit kedua dari kode Gray samadengan exclusive-OR dari bit pertama dan kedua dari bilangan biner, yaitu akan samadengan 1 apabila bit-bit kode biner tersebut berbeda, 0 apabila sama.
Bit kode Gray ketiga samadengan exclusive-OR dari bit-bit kedua dan ketiga dari bilangan biner, dan seterusnya.
Untuk menunjukkannya,marilah kita mengubah biner 10110 menjadi kode Gray :
2.16.1.
Mengubah dari Gray Ke Biner
31 1. Bit biner pertama adalah sama dengan bit kode Gray pertama
2. Apabila bit Gray kedua 0, bit biner kedua sama dengan yang pertama; apabila bit gray kedua 1, bit biner kedua adalah kebalikan dari bit biner pertama.
3. Langkah 2 diulang untuk setiap bit berikutnya. Untuk lebih jelasnya perhatikan contoh berikut :
SOAL LATIHAN
1. Konversikan (63.25)10 ke biner. 11111.11
111001.01 111111.01 111111.1 NA
2. Konversikan (43.8125)10 ke biner. 101011.1101
110101.1101 101011.1011 110101.1011 NA
3. Konversikan (1001011.011)2 ke desimal 73.0375
32 75.573
NA
4. Konversikan (110101.1011)2 to desimal 53.6875
53.6375 52.6875 55.6375 NA
33 (72.25)8
(75.5)8
9. Konversikan (485)10 ke basis 16. (1E5)16
(231)16 (5E1)16 (15E)16 NA
10.Konversikan (397)10 ke basis 3. (12310)3
34
BAB 3. RANGKAIAN LOGIKA
Alat-alat digital dan rangkaian-rangkaian logika bekerja dalam sistem bilangan biner; yaitu, semua variabel-variabel rangkaian adalah salah satu 0 atau 1 (rendah atau tinggi). Karakteristik dari alat-alat digital ini membuatnya mungkin menggunakan Aljabar Boolean sebagai suatu alat matematik untuk menganalisa dan mendisain rangkaian-rangkaian dan sistem-sistem digital.
3.1.
Konstanta dan Variable Boolean
Perbedaan utama antara aljabar boolean dan aljabar biasa adalah bahwa dalam aljabar Boolean konstanta-konstanta dan variabel-variabelnya hanya dimungkinkan mempunyai dua harga, 0 atau 1. Boolean 0 dan 1 tidak menyatakan bilangan-bilangan yang sebenarnya tetapi menyatakan keadaan dari suatu variabel tegangan atau apa yang disebut level logika atau logic level-nya. Suatu tegangan dalam suatu rangkaian digital dikatakan sedang pada level logika 0 atau level logika 1, tergantung kepada nilai bilangan yang sebenarnya. Dalam bidang logika digital beberapa istilah lain digunakan secara sinonim dengan 0 dan 1. beberapa yang banyak dipakai ditunjukkan pada tabel
Saklar terbuka Saklar tertutup Tabel 4. Level logika / Logic Level
35 Gerbang-gerbang logika ini merupakan rangkaian digital yang disusun dari dioda, transistor dan resistor dimana output rangkaian merupakan hasil dari dasar operasi logika (OR, AND, NOT).
3.2.
Operasi-Operasi Logika Boolean
Operasi-operasi logika dasar tersebut adalah :
1. Penjumlahan Logika yang juga disebut penjumlahan OR atau OR addition atau secara sederhana operasi OR. Simbol yang umum untuk operasi ini adalah tanda plus (+).
2. Perkalian logika yang juga disebut perkalian AND atau secara simpel operasi AND. Simbol yang umum untuk operasi ini adalah tanda perkalian (.)
3. Komplementasi logika yang juga disebut inversi atau secara simpel operasi NOT. Simbol untuk operasi ini adalah garis atas ( ) atau ( ‟ ).
3.2.1.
Tabel Kebenaran
Tabel kebenaran merupakan suatu tabel yang mendiskripsikan bagaimana logika output tergantung pada level logika input.
Pada gambar berikut ditunjukkan suatu rangkaian logika yang mempunyai dua input A dan B dengan output X.
36 Jika salah satu input A atau (OR) B berlogika 1, maka output X adalah 1. Maka
rangkian logika yang berada dalam kotak “?” adalah sebuah OR gate.
3.2.2.
Operasi OR
Ekspresi X = A + B dapat dibaca sebagai ” X sama dengan A plus B ” atau ” X sama dengan A atau B ”. Tanda + tidak menyatakan penjumlahan biasa, tetapi menyatakan operasi OR, yang aturannya diberikan di dalam tabel yang ditunjukkan pada gambar dibawah. Operasi OR menghasilkan output 1 jika salah satu input atau kedua-nya berlogika 1. Operasi OR menghasilkan output 0 hakedua-nya jika semua input berlogika 0.
Gambar 8. Simbol rangkaian untuk OR gate 2 input
3.2.3.
OR gate
Rangkaian digital OR gate adalah suatu rangkaian yang mempunyai dua input atau lebih dan yang outputnya sama dengan operasi OR dari input. Gambar dibawah menunjukkan symbol untuk suatu OR gate dua input. Input-input A dan B adalah level-level tegangan logika dan output X adalah suatu level-level tegangan logika yang harganya sama dengan hasil dari operasi OR dari A dan B; yaitu X = A + B. Dengan kata lain OR gate tersebut bekerja sedemikian rupa sehingga outputnya tinggi (berlogika 1) jika salah satu input A atau B atau dua-duanya berada pada level logika 1. Output OR gate tersebut akan rendah (logika 0) hanya apabila semua inputnya berlogika 0.
37 Gambar 9. Simbol OR gate tiga input
Tabel 5. Dengan operasi OR, 1+1=1, 1+1+1=1
3.2.4.
Operasi AND
Ekspresi X = A * B dapat dibaca sebagai ” X sama dengan A dan B ” . Tanda perkalian tersebut sering kali dihilangkan seperti pada aljabar biasa, sehingga ekspresi tersebut menjadi X = AB. Operasi AND adalah sama sebagai perkalian biasa, dimana variabel-variabelnya dapat berupa salah satu 0 atau 1. Operasi AND menghasilkan 1 jika semua variabel input adalah 1. Output akan 0 jika salah satu input atau semua input-nya adalah 0.
38
3.2.5.
AND gate
Suatu AND gate dua input ditunjukkan secara simbolis pada gambar 3.3. Output AND gate sama dengan operasi AND dari input-inputnya yaitu, X = AB. Dengan kata lain, AND gate adalah suatu rangkaian yang bekerja sedemikian rupa sehingga outputnya adalah tinggi hanya apabila semua input-inputnya adalah tinggi. Untuk semua kasus yang lain output AND gate adalah rendah.
Contoh, AND gate tiga input beserta tabel kebenarannya.
Gambar 11. AND dengan 3 input
Tabel 6. Dengan operasi AND , 1*1 = 1, 1*1*1 = 1
3.2.6.
Operasi NOT
Operasi NOT tidak sama dengan operasi-operasi OR atau AND, dalam hal ini operasi NOT dapat bekerja pada suatu variabel tunggal. Misalnya, apabila variabel A diberikan kepada operasi NOT, hasil X dapat diekspresikan sebagai :
___
A
39
X = A‟
Dimana ”garis-atas” atau tanda ”string” menyatakan operasi NOT. Ekspresi ini
dibaca ” X sama dengan inverse A” atau ” X sama dengan komplemen A”.
Tabel kebenaran dari operasi NOT ditunjukkan di bawah ini :
Gambar 12. Simbol NOT gate
3.2.7.
NOR Gate
NOR dan NAND gate digunakan secara luas dalam rangkaian digital. Gate-gate ini sesungguhnya adalah kombinasi operasi-operasi dasar AND, OR, dan NOT.
NOR gate ekivalen dari OR gate yang diikuti dengan inverter seperti ditunjukkan pada gambar dibawah, sehingga ekspresi output untuk NOR gate dua input adalah :
X = ( A + B )'
40 Berikut suatu contoh OR gate tiga input yang disusun dari NOR gate diikuti dengan NOT gate :
Gambar 14. OR Gate tiga input yang disusun dari NOR gate dan NOT gate
3.2.8.
NAND Gate
Operasi dari NAND gate ekivalen dengan AND gate yang diikuti oleh suatu inverter seperti ditunjukkan pada gambar 3.9, sehingga ekspresi output dari NAND gate adalah :
X = ( AB )'
41
3.3.
Sekilas tentang IC TTL
Selama ini kita hanya mengenal symbol-symbol suatu gerbang logika. Di dalam prakteknya suatu gerbang-gerbang logika ini dikemas dalam suatu IC (integrated circuits). Salah satu diantaranya yang terkenal adalah TTL (transistor-transistor logic). Setiap IC TTL ini mempunyai seri-seri tersendiri yang sudah ditetapkan oleh pabrik. Untuk lebih jelasnya berikut ini adalah salah satu data book dari TTL seri 74 yaitu SN74LS00.
Gambar 16. SN74LS00
43
SOAL LATIHAN
Untuk soal no 1 dan 2, perhatikan gambar berikut:
1. Apa logika output X jika kedua input A dan B diberi logika 0?
0 1
I don't know NA
2. Apa logika output X jika input A=1 dan B=0?
44
I don't know NA
3. Untuk tiga input (A,B C) OR gate, logika apa yang dibutuhkan di input agar output=0?
A=0, B=0, C=1 A=0, B=1, C=0 A=1, B=1, C=1 A=0, B=0,C=0 NA
Untuk soal no 4 dan 5, perhatikan gambar berikut :
4. Apa logika output X jika input A=1, B=0 and C=1?
0 1
I don't know NA
5. Apa logika input yang dibutuhkan agar output=1?
45 Untuk soal 6 dan 7, perhatikan gambar berikut :
6. Apa logika output dari gambar di atas jika input A=0, B=1?
0 1
Not sure NA
7. Apa logika input yang dibutuhkan supaya output=1?
A=0, B=0 A=0, B=1 A=1, B=0 A=1, B=1 I don't know
Untuk soal nomor 8 , perhatikan gambar berikut :
8. Apa logika input yang dibutuhkan output=0?
46 9. Perhatikan tabel kebenaran berikut, apa tipe gate yang sesuai dengan tabel
tersebut?
47
BAB 4. ALJABAR BOOLEAN
4.1.
Menguraikan Rangkaian-Rangkaian Logika Secara Aljabar
Setiap rangkaian logika, bagaimanapun kompleksnya, dapat diuraikan secara lengkap dengan menggunakan operasi-operasi Boolean yang telah didifinisikan sebelumnya, karena rangkaian OR gate, AND gate, dan NOT gate merupakan blok-blok bangun dasar dari system-sistem digital. Perhatikan rangkaian pada gambar 4.1. Rangkaian ini tiga input, A, B, dan C dan suatu output X. Dengan menggunakan ekspresi Boolean untuk tiap gate dengan mudah dapat ditentukan ekspresi outputnya.
Gambar 17. Rangkaian logika dengan ekspresi Booleannya
4.1.1.
Rangkaian-rangkaian yang menggunakan Inverter
Jika suatu Inverter ada disuatu rangkaian logika, ekspresi outputnya secara
sederhana sama dengan ekspresi input dengan tandan string ( „ ) diatasnya.
48
4.2.
Mengevaluasi Output Rangkaian Logika
Sekali ekspresi Boolean untuk suatu output rangkaian diperoleh, level logika dari ouput dapat ditentukan untuk setiap harga –harga dari input-input rangkaian.
Berikut ini dua buah contoh untuk mengevaluasi output rangkaian logika : Misal : A=0, B=1, C=1, D=1
4.2.1.
Penentuan Level Output Dari Suatu Diagram
49 Gambar 19. Penentuan level output
4.3.
Implementasi Rangkaian-Rangkaian dari Ekspresi Boolean
Apabila operasi dari suatu rangkaian didifinisikan oleh suatu ekspresi Boolean, maka suatu diagram rangkaian logika dapat diimplementasikan secara langsung dari ekspresi tersebut.
Misal, apabila diperlukan untuk membuat suatu rangkaian yang didifinisikan oleh output Y = AC+BC' + A'BC. Ekspresi Boolean ini mengandung tiga term (AC, BC', A'BC), yang di OR-kan menjadi satu. Ini artinya bahwa ada OR gate tiga input yang masing-masing input sama dengan AC, BC', dan A'BC .
50 Gambar 20. Membangun suatu rangkaian logika dari suatu ekspresi boolean
4.4.
Teorema-teorema Boolean
51
Dua teorema paling penting dari aljabar Boolean ditemukan oleh seorang matematikawan bernama DeMorgan. Teorema-teorema DeMorgan sangat berguna dalam menyederhanakan ekspresi-ekspresi aljabar Boolean. Dua teorema tersebut adalah:
(16) (x+y)' = x' * y'
(17) (x*y)' = x' + y'
52 dinyatakan, komplemen dari suatu penjumlahan OR sama dengan perkalian AND dari komplemen-komplemennya.
Teorema (17) menunjukkan bahwa apabila hasil kali dua variable dikomplementasikan, hasilnya adalah ekivalen dengan mengomplementasikan variable-variabel tersebut secara individual dan kemudian hasilnya di-OR-kan.
Contoh :
X
= [(A'+C) * (B+D')]'
= (A'+C)' + (B+D')'
[dengan teorema (17)]
= (A''*C') + (B'+D'')
[dengan teorema (16)]
= AC' + B'D
4.5.1.
Teorema DeMorgan’s Tiga Variabel
(18) (x+y+z)' = x' * y' * z'
(19) (xyz)' = x' + y' + z'
4.5.2.
Implikasi Teorema DeMorgan's
53
Untuk (17): (x*y)‟ = x‟ + y‟
4.6.
Keuniversalan dari NAND gate dan NOR gate
Adalah mungkin untuk mengimplementasikan suatu ekspresi Boolean hanya menggunakan NAND gate dan tanpa jenis gate lainnya. Ini dikarenakan NAND gate, dalam kombinasi yang benar dapat digunakan untuk melaksanakan setiap operasi Boolean yaitu OR, AND, dan INVERT. Ini ditunjukkan pada gambar dibawah ini :
Gambar 21. Universal NAND Gate
54 Gambar 22. Universal NOR gate
4.7.
Representasi Alternative Gate Logika
Sisi kiri dari ilustrasi di bawah ini merupakan symbol standar untuk setiap gate logika, dan sisi kanan menunjukkan symbol alternative.
Gambar 23. Simbol Gate Logika Standar dan Simbol Ekivalennya
4.8.
Konsep dari Level-Level Logika Aktif
55 Gambar 24. Interprestasi dari dua symbol NAND Gate
SOAL LATIHAN
1. Persamaan output dari gambar berikut :
x'y'+z (x'+y')z x'y'z x'+y'+z NA
2. Apa persamaan output gambar berikut :
56
x'y'z x'+y'+z' NA
3. Apa persamaan output gambar berikut :
xz'+y xz+y x'z+y' x'y'+y'z' x'y'+y'z
4. Rangkaian berikut ekivalen dengan gate ?
AND OR NAND NOR
None of the above
5. Fungsi di bawah ini yang sama dengan fungsi: f=x+yz' ?
57
(y+x')(x'+z') NA
6. Beberapa fungsi logic biner dapat diimplementasikan hanya dengan :
AND OR NOT
AA (anyone is sufficient) NAND
7. Fungsi dari rangkaian berikut adalah :
abcd ab+cd (a+b)(c+d) a+b+c+d (a'+b')(c'+d')
8. F=A'B+(C'+E)(D+F'), gunakan de Morgan's theorem untuk mendapatkan F'.
ACE'+BCE'+D'F (A+B')(CE'D'F) A+B+CE'D'F
58 9. Fungsi dari rangkaian berikut adalah :
x'+y'+z' x+y+z x'z'+y'z' xy+z z
10.Sederhanakan persamaan berikut : {[(AB)'C]'D}'
59
BAB 5. DESAIN RANGKAIAN LOGIKA
Pada Bab ini akan dipelajari prosedur-prosedur dasar yang digunakan dalam mendesain rangkaian-rangkaian logika apabila persyaratan-persyaratan yang diinginkan diberikan. Persyaratan-persyaratan tersebut biasanya diberikan dalam salah bentuk tabel kebenaran yang menunjukkan level output yang diinginkan untuk semua kombinasi-kombinasi input. Pada rangkaian logika kombinatorial, output pada setiap saat waktu tertentu hanya bergantung kepada level-level input yang ada pada saat itu.
5.1.
Ekspresi-Ekspresi Sum-of-Products dan Product-of-Sums
Bentuk-bentuk umum yang digunakan dalam metode desain rangkaian logika yaitu Sum-of-Products (SOP) atau Jumlah-hasil kali. Beberapa contoh dari bentuk SOP sebagai berikut :
1. ABC + A‟BC‟
2. AB + A‟BC‟ + C‟D‟ + D
Bentuk umum kedua adalah bentuk Product-of-Sums (POS) atau hasil kali-jumlah, beberapa contohnya adalah sebagai berikut :
1. (A + B + C) . (C + D) 2. (A + B) . (C + D) . (E + F)
5.2.
Menurunkan Suatu Ekspresi Dari Suatu Tabel Kebenaran SOP
60
Gambar 25. AND Gate dengan input A‟ dan B
Sekarang perhatikan kasus yang ditunjukkan pada tabel kebenaran yang menunjukkan bahwa output X harus 1 untuk dua kasus yang berbeda : A = 0, B = 1 dan A = 1, B = 0. Berdasarkan persyaratan tersebut dapat dituliskan persamaan output X =
A‟B + AB‟ Disain rangkaian logika-nya ditunjukkan pada gambar dibawah ini.
A B X Outputnya akan tinggi hanya apabila mayoritas dari input-inputnya tinggi.
Jawaban :
61 Ekspresi SOP untuk X dapat ditulis sebagai :
X = A‟BC + AB‟C + ABC‟ + ABC
A B C
X
5.3.
Rangkaian-Rangkaian Exclusive OR dan Exclusive NOR
Dua rangkaian khusus yang sering digunakan dalam system-sistem digital adalah rangkaian exclusive-OR dan exclusive-NOR.
5.3.1.
Exclusive-OR ( EX-OR) :
Perhatikan rangkaian logika dibawah bentuk persamaan output dari rangkaian ini adalah :
Gambar 26. Rangkaian EX-OR, tabel kebenaran dan simbol
62 Tabel kebenarannya menunjukkan bahwa, output X = 1 untuk dua kasus : A = 0, B = 1 dan A = 1, B = 0. Dengan kata lain, rangkaian ini menghasilkan output tinggi apabila kedua inputnya berada pada level yang berlawanan.
Karakteristik-karakteristik dari EX-OR gate diikhtisarkan sebagai berikut : 1. Hanya mempunyai dua input dan outputnya adalah :
X = A’B + AB’
2. Outputnya tinggi hanya apabila dua inputnya berada pada level-level yang berlawanan.
5.3.2.
Exclusive-NOR ( EX-NOR) :
Rangkaian NOR bekerjanya sama sekali berlawanan dengan exclusive-OR. Gambar dibawah menunjukkan suatu rangkaian EX-NOR dan tabel kebenarannya. Bentuk persamaan outputnya adalah :
X = AB + A’B’
Gambar 27. Rangkaian EX-NOR, tabel kebenaran dan simbol
Tabel kebenarannya menunjukkan bahwa output X = 1 untuk dua kasus yaitu A=0, B=0 dan A=1, B=1. Dengan kata lain output tinggi apabila kedua inputnya berada pada level yang sama.
63
X = AB + A’B’
2. Outputnya tinggi hanya apabila dua inputnya berada pada level yang sama.
5.4.
Metode Karnaugh Map
Karnaugh Map adalah suatu metode termudah untuk penyederhanaan ekspresi logika sampai enam variabel input. Dalam metode ini semua kombinasi input yang mungkin direpresentasikan pada map (peta). Fungsi logika yang terdiri dari n variabel memiliki 2n kotak.
5.4.1.
Dua variabel
Fungsi logika dengan dua input A dan B dapat digambarkan dengan menggunakan Karnaugh Map sebagai berikut :
Gambar 28. Karnaugh Map dua variable
Contoh :
64 Dengan menggunakan K-map, secara mudah dapat dilakukan penyederhanaan fungsi logika, yaitu dengan cara membuat loop untuk output yang berlogika 1. Loop dapat dilakukan untuk jumlah 2n. Dari loop yang ada ternyata variabel A yang tidak berubah sehingga secara langsung dapat ditulis ekspresi output : F = A
5.4.2.
Tiga variabel
Fungsi logika dengan tiga input A, B, dan C dapat digambarkan dengan menggunakan Karnaugh Map sebagai berikut.
Contoh : Sederhanakan fungsi logika F = A‟BC‟ + A‟BC + AB‟C‟ + AB‟C
65
5.4.3.
Empat variabel
Untuk empat variabel input dibutuhkan 24 map, seperti ditunjukkan pada gambar berikut.
Sebagai contoh, sederhanakan fungsi logika :
F = A‟B‟C‟D‟ + A‟B‟C‟D + A‟BC‟D‟ + A‟BC‟D + A‟BCD + AB‟CD‟
Dengan menggunakan K-map dapat disederhanakan menjadi :
F = AB’CD’ + A’BD + A’C’
5.4.4.
Lima variabel
67 Untuk enam variabel input, dibuat map sejumlah 4x16.
Persamaan output-nya : X = A’B’E’F’ + C E’F + B’EF + B’CEF’
SOAL LATIHAN
1. Susunlah suatu rangkaian logika yang outputnya tinggi hanya apabila A=1, B=0, dan C=1
2. Susunlah suatu rangkaian logika yang outputnya tinggi hanya apabila A=0, B=1, dan C=1
3. Rancanglah suatu rangkaian logika yang outputnya tinggi hanya apabila mayoritas input A, B, dan C rendah.
4. Rancanglah rangkaian logika SOP yang sesuai dengan tabel kebenaran berikut :
A B C X
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 0
68
BAB 6. RANGKAIAN ARITMETIK
Fungsi terpenting dari hampir semua komputer dan kalkulator adalah melakukan operasi-operasi aritmetik. Operasi-operasi ini semuanya dilaksanakan di dalam unit aritmetik komputer, di dalam unit ini gate-gate logika dan flip-flop dikombinasikan sedemikian rupa sehingga dapat melakukan operasi penjumlahan, pengurangan, perkalian dan pembagian bilangan-bilangan biner. Pada bab ini akan dipelajari beberapa rangkaian aritmetik dasar yang digunakan untuk melaksanakan operasi-operasi aritmetik yang dibahas pada BAB V. dalam beberapa hal akan dibahas sampai proses desain yang sebanarnya, meskipun rangkaian-rangkaian tersebut mungkin tersedia dipasaran dalam bentuk rangkaian terintegrasi (IC), tujuan pembahasan ini adalah untuk memberikan lebih banyak latihan dalam menggunakan teknik-teknik yang dipelajari pada BAB III.
6.1.
Unit Aritmetik
Semua operasi aritmetik terjadi di dalam unit aritmetik komputer. Gambar dibawah adalah diagram blok yang menunjukkan elemen-elemen utama yang terdapat di dalam unit aritmetik. Kegunaan utama dari unit aritmetik adalah menerima data biner yang disimpan di dalam memori dan melaksanakan operasi-operasi aritmetik atas data tersebut sesuai dengan instruksi-instruksi dari unit kontrol.
Unit aritmetik paling sedikit mengandung dua buah flip-flop register : B register dan accumulator register atau register pengumpul. Unit aritmetik juga mengandung logika kombinatorial yang melaksanakan operasi-operasi aritmetik atas bilangan-bilangan biner yang disimpan di dalam B register dan accumulator register.
Urutan operasi berjalan sebagai berikut :
69 2. Bilangan yang ditambahkan tersebut ditransfer dari memori menuju B
register
3. Bilangan di dalam B register dan bilangan di dalam accumulator register dijumlahkan menjadi satu di dalam rangkaian-rangkaian logika. Jumlah yang diperoleh kemudian dikirimkan ke accumulator untuk disimpan.
4. Bilangan baru di dalam accumulator tersebut dapat tetap tinggal di sana sehingga bilangan lain dapat ditambahkan kepadanya, atau apabila proses aritmetik tersebut telah selesai, hasilnya dapat di transfer ke memori untuk di simpan.
Gambar 29. Diagram bagian-bagian fungsional dari unit aritmetik
6.2.
Penjumlah Biner Paralel
70 Gambar 30. Contoh proses penjumlahan biner
71 Dengan demikian dapat dirancang suatu rangkaian logika yang dapat melakukan proses ini hanya dengan menggunakan rangkaian-rangkaian identik untuk tiap-tiap posisi bit. Ini ditunjukkan pada gambar dibawah ini.
Gambar 31. Diagram blok rangkaian adder pararel 4 bit yang menggunakan full adder
Pada diagram ini variabel-variabel A3 , A2 , A1 , dan A0 menyatakan bit-bot augent yang disimpan dalam accumulator register. Variabel-variabel B3 , B2 , B1 , dan B0 menyatakan bit-bit addend yang disimpan dalam B register. Varabel-varabel C3 , C2 , C1 , dan C0 menyatakan bit-bit Carry untuk posisi-posisi yang sesuai. Variabel-varabel S3 , S2 , S1 , dan S0 adalah bit-bit sum untuk tiap-tiap posisi.
Rangkaian Full Adder yang digunakan pada tiap-tiap posisi mempunyai tiga input: bit A, bit B, dan bit C, dan menghasilkan dua output : bit sum dan carry bit.
6.3.
Penjumlah Biner Serial
72 Pada penjumlahan seri proses penjumlahan dilakukan dengan cara yang kurang lebih sama dengan cara yang dilakukan pada saat mengerjakan penjumlahan di atas kertas, yaitu satu posisi demi satu posisi. Ini menghasilkan rangkaian yang jauh lebih sederhana dibandingkan dengan penjumlahan paralel tetapi menghasilkan kecepatan operasi yang jauh lebih lambat.
Gambar dibawah menunjukkan diagram dari sebuah adder serial 4-bit. Register A dan B digunakan untuk menyimpan bilangan-bilangan yang akan dijumlahkan. Pada adder seri register-register tersebut merupakan shift register yang harga-harga binernya menggeser dari kiri ke kanan atas komando tiap pulsa clock. Output-output A0 dan B0 (LSB) diberikan ke dalam suatu rangkaian full adder tunggal bersama-sama dengan output Q dari carry FF. Carry FF adalah FF tersendiri yang digunakan untuk menyimpan carry out dari FA sehingga dapat dijumlahkan dengan posisi signifikan berikutnya dari bilangan-bilangan di dalam register-register.
73
6.4.
Rangkaian Penjumlah Biner
6.4.1.
Half Adder (HA)
Half adder adalah suatu rangkaian penjumlah system bilangan biner yang paling sederhana. Rangkaian ini hanya dapat digunakan untuk operasi penjumlahan data bilangan biner sampai 1 bit saja. Rangkaian half adder mempunyai 2 masukan dan 2 keluaran yaitu Summary out (Sum) dan Carry out (Carry). Secara blok diagram dapat digambar sebagai berikut :
Gambar 33. Blok diagram Half Adder
Dimana A dan B merupakan data-data Input.
Operasi dari HA dapat ditunjukkan pada tabel kebenaran berikut :
Input Output
A B Carry Sum
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
Persamaan logikanya adalah :
74 Half Adder dapat diimplementasikan dengan menggunakan EX-OR gate atau susunan gate yang membentuk fungsi EX-OR untuk sum dan AND gate untuk carry. Rangkaian HA dapat ditunjukkan pada gambar dibawah ini. untuk HA yang disusun dari EX-OR dan AND dan gambar disebelahnya untuk HA yang disusun dari AND, OR dan NOT gate.
(a) (b) Gambar 34. Rangkaian Half Adder
6.4.2.
Full Adder (FA)
Rangkaian full adder dapat digunakan untuk menjumlahkan bilangan biner yang lebih dari 1 bit.Ciri pokok dari Full adder dibandingkan dengan half adder terletak pada jenis/jumlah masukan. Pada Full adder terdapat tambahan satu masukan, yaitu Carry_in.