Rangkaian Penjumlah Adder RANGKAIAN PEMBANDING DAN PENJUMLAH

Gambar 7.15 : Rangkaian penjumlah paro. Rangkaian penjumlah seperti gambar 7.15 tersebut hanya dapat digunakan untuk menjumlahkan biner pada posisi satuan saja, artinya tidak dapat digunakan untuk menjumlahkan posisi duaan, empatan, delapanan, dan seterusnya. Hal ini disebabkan karena rangkaian penjumlah tadi tidak memiliki masukan untuk simpanan hasil penjumlahan dari posisi sebelumnya. Rangkaian dengan sifat seperti itulah yang dikenal sebagai rangkaian penjumlah paro half adder. Simbol dari rangkaian penjumlah paro tampak pada Gambar 7.16 di bawah ini. Gambar 7.16 : Simbol rangkaian penjumlah paro. Rangkaian Penjumlah Penuh Full Adder atau FA Sebagaimana telah dipelajari, penjumlah paro hanya dapat digunakan untuk proses penjumlahan bilangan pada posisi satuan saja, atau lebih umum pada bagian LSB-nya saja LSB singkatan dari Least Significant Byte karena tidak tersedia terminal masukan untuk menampung terjadinya simpanan dari posisi sebelumnya. Padahal proses penjumlahan pada umumnya melibatkan simpanan. Suatu rangkaian yang memenuhi syarat A B S Jumlah C Simpanan HA S atau  C A B tersebut dikenal sebagai rangkaian penjumlah penuh full adder. Tentu saja rangkaian penjumlah penuh memiliki tiga terminal masukan dan dua terminal keluaran. Sekarang dapat dipikirkan fungsi dari rangkaian penjumlah penuh. Kita dapat merancang suatu rangkaian gerbang logika yang berfungsi sebagai penjumlah penuh. Lebih dahulu kita susun suatu tabel kebenaran yang menunjukkan perubahan nilai-nilai masukan dan keluaran untuk semua keadaan masukan yang mungkin. Tabel 7.6 berikut adalah tabel kebenaran suatu rangkaian dengan tiga masukan A, B, dan C i serta dengan dua keluaran S dan C . Tabel 7.6 : Baris ke Masukan Keluaran A B C i S C o 1 2 3 4 5 6 7 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Oleh karena terdapat dua keluaran, kita akan merancang rangkaian untuk setiap keluaran secara individual. Berdasarkan tabel 7.6 dapat kita turunkan ke dalam Peta Karnaugh untuk kedua keluaran yang masing-masing tampak pada Gambar 7.17. AB C i A B A B AB A B AB C o A B A B AB A B C i 1 1 C o 1 C i 1 1 C o 1 1 1 a Jumlah S b Simpanan C o Gambar 7.17 : Tabel kebenaran rangkaian penjumlah penuh a Untuk tabel keluaran Jumlah S b Untuk terminal keluaran simpanan C Persamaan logika untuk Keluaran Jumlah S berdasarkan pada gambar 7.17 a adalah : S = Sm 1,2,4,7 = A B C i + A B C i + A B C i + ABC i = A B C i + B C i + A B C i + BC i ______ = A B  C i + A B  C = A + B  C i . 7.10 Sedangkan persamaan logika untuk Keluaran Simpanan berdasarkan pada gambar 7.17 b adalah : C = Sm 3,5,6,7 = BC i + AC i + AB. 7.11 Diagram rangkaian logika untuk penjumlah penuh FA sebagai realisasi dari persamaan 7.10 dan persamaan 7.11 di atas terlihat pada Gambar 7.18 berikut. Gambar 7.18 : Diagram rangkaian penjumlah penuh FA Gambar 7.18 bukanlah satu-satunya rangkaian penjumlah penuh, masih banyak cara yang dapat digunakan untuk menghasilkan persamaan logika yang sesuai dengan keluaran S dan C. Cara lain untuk mendapatkan rangkaian penjumlah penuh adalah dengan menyusun dua penjumlah paro dan satu gerbang OR seperti tampak pada Gambar 7.19 di bawah ini. Gambar 7.19 : Diagram rangkaian penjumlah penuh A B C i S C o A S HA B C o A S HA B C o S C o C i A B Kita telah mengetahui bahwa setiap rangkaian penjumlah penuh memiliki lima terminal, tiga terminal sebagai masukan A, B, dan C i dan dua terminal sebagai keluaran S dan C . Oleh karena itu, untuk selanjutnya rangkaian penjumlah penuh digambarkan dengan simbol seperti tampak pada Gambar 7.20. Gambar 7.20 : Diagram simbol rangkaian penjumlah penuh. Penjumlah Jajar Paralel Rangkaian penjumlah yang telah dipelajari masih terbatas untuk menjumlahkan dua bilangan biner A dan B yang masing-masing 1 bit. Artinya bilangan A hanya dapat bernilai 0 atau 1, demikian pula bilangan B dapat berharga 0 atau 1 saja. Dalam kenyataannya, mesin hitung seperti kalkulator ataupun komputer melakukan operasi penjumlahan dalam bentuk biner tetapi setiap bilangan dapat memiliki bit yang lebih besar dari pada 1 bit. Untuk alasan ini, marilah kita pelajari rangkaian penjumlah yang dapat menjumlahkan dua bilangan yang masing masing lebih dari 1 bit. Satu rangkaian penjumlah paro dan beberapa rangkaian penjumlah penuh dapat disusun menjadi rangkaian penjumlah paralel yang dapat menjumlahkan bilangan- bilangan dengan bit besar lebih dari 1 bit. Gambar 7.21 di bawah ini memperlihatkan diagram rangkaian penjumlah paralel 2 bit yang tersusun atas satu penjumlah paro dan satu penjumlah penuh. Misalkan hendak dijumlahkan dua bilangan A dan B yang masing-masing A = A 1 A dan B = B 1 B . FA C i A B S C o Gambar 7.21 : Diagram rangkaian penjumnlah paralel 2 bit yang menggunakan HA dan FA. Penjumlah paro HA pada gambar 7.21 di atas dapat digantikan dengan penjumlah penuh FA1 yang terminal simpanan masukannya C i dibuat 0 rendah. Perhatikan Gambar 7.22 berikut ini. Gambar 7.22 : Diagram rangkaian penjumlah paralel 2 bit tanpa HA. S C o HA S C o FA A 1 B 1 C i A B Empatan Duaan Satuan A 1 A B 1 B + B 1 C i S C o FA2 A 1 Empatan Duaan Satuan A 1 A B 1 B + S C o FA1 A B C i Agar Anda semakin jelas, marilah kita menyusun rangkaian penjumlah paralel 3 bit dengan menggunakan tiga buah penjumlah penuh. Rangkaian tersebut dapat digunakan untuk menjumlahkan bilang A = A 2 A 1 A dan bilangan B = B 2 B 1 B . Rangkaian yang kita maksudkan terlihat pada Gambar 7.23 di bawah ini. Gambar 7.23 : Diagram rangkaian penjumlah paralel 3 bit. Berdasarkan contoh-conttoh pada gambar 7.22 dan gambar 7.23, selanjutnya Anda dapat merancang rangkaian penjumlah paralel 4 bit, 5 bit, ..., n bit. Ternyata, jika Anda ingin membuat rangkaian penjumlah paralel n bit, Anda memerlukan n buah rangkaian penjumlah penuh FA. Jadi banyak bit bilangan yang akan dijumlahkan menentukan cacah rangkaian penjumlah penuh yang diperlukan. Rangkaian penjumlah paralel n bit dapat digunakan untuk menjumlahkan dua bilangan A dan B yang masing-masing bilangan adalah A = A n-1 A n-2 ... A 3 A 2 A 1 A dan bilangan B = B n-1 B n-2 ... B 3 B 2 B 1 B . Rangkaian penjumlah paralel sangat lazim digunakan dalam rangkaian digital. Tentu saja untuk menghitung hasil penjumlahan dari bilangan biner yang lebih panjang bit besar diperlukan penjumlah penuh yang lebih banyak. Rangkaian penjumlah paralel banyak tersedia dalam bentuk rangkaian terpadu IC. Salah satu yang terkenal adalah dikemas sebagai rangkaian penjumlah paralel 4 bit yang di dalamnya terdiri dari empat buah penjumlah A 2 A1 A B 2 B 1 B + S C o FA1 A B C i 4-an 2-an 1-an 8-an S C o FA2 A 1 B 1 C i S C o FA3 A 2 B 2 C i penuh. Untuk jenis TTL IC tersebut berseri 7483 dan juga 74283, sedangkan jenis CMOS adalah 4008. Gambar 7.24 berikut memperlihatkan simbol dari penjumlah paralel 4 bit yang dikemas dalam IC 7483. Masukan-masukan pada IC tersebut untuk dua bilangan masing-masing 4 bit yaitu A 3 A 2 A 1 A dan B 3 B 2 B 1 B serta simpanan C i . Sedangkan keluarannya adalah bit-bit hasil penjumlahan S 3 S 2 S 1 S dan simpanan C . Gambar 7.24 : Simbol penjumlah paralel 4 bit 7483 Dua atau lebih penjumlah paralel dapat dihubungkan secara kaskade untuk menyesuaikan penjumlahan bilangan-bilangan dengan bit yang lebih besar. Sebagai contoh Gambar 7.25 di bawah ini menunjukkan cara dua buah IC 7483 dihubungkan secara kaskade untuk menjumlahkan dua bilangan yang masing-masing 8 bit. Gambar 7.25 : Dua IC 7483 yang dirangkai secara kaskade C o Penjumlah paralel 4 bit C i 7483 A 3 A 2 A 1 A B 3 B 2 B 1 B S 3 S 2 S 1 S C o Penjumlah paralel 4 bit C i 7483 A 7 A 6 A 5 A 4 B 7 B 6 B 5 B 4 S 7 S 6 S 5 S 4 C o Penjumlah paralel 4 bit C i 7483 A 3 A 2 A 1 A B 3 B 2 B 1 B S 3 S 2 S 1 S Dua bilangan yang dijumlahkan melalui rangkaian pada gambar 7.25 di atas masing-masing adalah A = A 7 A 6 A 5 A 4 A 3 A 2 A 1 A dan B = B 7 B 6 B 5 B 4 B 3 B 2 B 1 B yang hasilnya S = S 7 S 6 S 5 S 4 S 3 S 2 S 1 S . Cara penjumlahannya adalah Secara lebih rinci dapat dijelaskan bahwa IC 7483 sebelah kanan menjumlahkan bilangan 4 bit LSB yang simpanannya C diumpankan ke masukan C pada IC 7483 sebelah kiri. Prosesnya adalah IC 7483 sebelah kiri menjumlahkan bilangan 4 bit MSB beserta simpanan yang dihasilkan dari IC 7483 sebelah kanan. Prosesnya adalah Sekarang Anda dapat menyusun penjumlah paralel dari IC 7483 untuk menjumlahkan dua bilangan dengan bit yang lebih besar. A 7 A 6 A 5 A 4 A 3 A 2 A 1 A B 7 B 6 B 5 B 4 B 3 B 2 B 1 B + S 7 S 6 S 5 S 4 S 3 S 2 S 1 S A 3 A 2 A 1 A B 3 B 2 B 1 B + S 3 S 2 S 1 S C i C C I = 0 IC berikutnya A 7 A 6 A 5 A 4 B 7 B 6 B 5 B 4 + S 7 S 6 S 5 S 4 C i C C dari IC sebelumnya

3. Rangkaian Pengurang

Anda dapat dengan mudah menuliskan suatu bilangan positif atau negatif dengan meletakkan tanda + atau - di depan bilangan tersbut. Misalkan +7 menyatakan bilangan positif 7, -7 menyatakan bilangan negatif 7, dan sebagainya. Kenyataannya mesin digital kalkulator dan komputer dapat menangani bilangan negatif sebaik menangani bilangan positif. Tetapi akan menjumpai masalah jika ingin menyimpan suatu bilangan, yang dapat positif atau negatif di dalam rangkaian digital, karena rangkaian digital hanya dapat menyimpan data dalam bentuk 0 atau 1. Dengan demikian diperlukan suatu cara yang mantap untuk memberikan tanda suatu bilangan itu positif atau negatif dengan 0 atau 1. Cara yang biasa digunakan untuk memberikan tanda pada suatu bilangan adalah menggunakan MSB Most Significant Bit dari data bilangan sebagai bit tanda dan menggunakan sisa bit-bit data bilangan itu untuk menyatakan ukuran atau besarnya. Perjanjian yang sudah lazim adalah bahwa 0 sebagai bit tanda untuk menyatakan suatu bilangan positif dan 1 sebagai bit tanda untuk menyatakan suatu bilangan negatif. Untuk lebih jelasnya perhatikan Gambar 7.26 berikut. Gambar 7.26 : Bilangan biner bertanda Dalam suatu memori A berisi bit-bit 0110100. MSB atau bit paling kiri A 6 adalah 0 sebagai bit tanda bahwa bilangan tersebut positif. Enam bit sisanya A 6 A 5 A 4 A 3 A 2 A 1 A 1 1 1 = + 52 Bit tanda Besar bilangan B 6 B 5 B 4 B 3 B 2 B 1 B 1 1 1 1 1 1 = - 31 Bit tanda Besar bilangan menyatakan besar bilangan, 110100 yang setara dengan desimal 52. Jadi bilangan di dalam memori A adalah +52. Pada memori B berisi 1011111. MSB atau bit paling kiri B 6 adalah 1 sebagai bit tanda bahwa bilangan tersebut negatif. Enam bit sisanya, 011111, menyatakan besar bilangan yang setara dengan desimal 31. Jadi bilangan di dalam memori B adalah -31. Jelaslah bahwa bit tanda digunakan untuk menunjukkan tanda suatu bilangan biner itu positif atau negatif. Untuk bilangan positif, bit-bit sisanya selain bit tanda selalu menyatakan besar bilangan biner tersebut. Sedangkan pada bilangan negatif, ada banyak cara untuk menyatakan besarnya. Salah satu cara dikenal sebagai komplemen 2. Cara tersebut dipilih karena dalam mesin digital modern banyak yang menggunakannya. Komplemen 2 dari suatu bilangan biner dibentuk dengan cara menginversi 0 menjadi 1 dan 1 menjadi 0 setiap bit data dan kemudian menambah hasil inversi itu dengan 1. Misalkan kita hendak menuliskan desimal 7 dalam biner 8 bit dengan cara komplemen 2. Dimulai dengan menuliskan +7 dalam 8 bit biner, diperoleh 00000111. Inversikan setiap bit, termasuk MSB-nya, diperoleh 11111000. Akhirnya menambahkan 1 pada hasil inversi tersebut, diperoleh 11111001. Hasil akhir inilah sebagai penyajian desimal -7 dengan cara komplemen 2. Untuk memperjelas langkah-langkah tadi perhatikan yang berikut ini. Untuk membuat rangkaian penginversi kita ingat kembali sifat gerbang EX-OR, yaitu 0 + 0 = 0, 0 + 1 = 1 + 0 = 1, dan 1 + 1 = 0, maka menginversi suatu bilangan biner dapat dilakukan dengan gerbang EX-OR dengan cara salah satu masukan gerbang itu dipertahankan selalu 1. Perhatikan Gambar 7.27. +7 00000111 inversinya 11111000 tambahan 1 + komplemen 2 11111001 bit tanda negatif Dengan satu contoh rangkaian penginversi 4 bit di atas, tentu saja Anda dapat membuat rangkaian penginversi untuk n bit dengan cara memasang gerbang EX-OR sebanyak n buah. Sedangkan untuk penambahan dengan 1, Anda dapat memanfaatkan rangkaian penjumlah seperti yang telah kita bahas terdahulu. Selanjutnya, untuk mempelajari cara pengurangan bilangan biner kita ingat kembali pada salah satu prinsip ilmu hitung bahwa pengurangan adalah penjumlahan dengan bilangan negatif. Sebagai gambaran perhatikan bahwa 7 - 5 = 7 + -5. Tentu saja prinsip tersebut juga berlaku pada bilangan biner. Karena Anda telah mempelajari satu cara menyatakan bilangan biner negatif dengan komplemen 2 dan juga penjumlahan bilangan biner, maka Anda dapat melakukan operasi pengurangan pada bilangan biner. Untuk itu marilah kita mencoba mengurangkan 3 pada 7, atau dengan kata lain menambahkan negatif 3 pada 7 dengan memanfaatkan IC 7483. 7 - 3 = 7 + -3 = -3 + 7 = 4. Pertama membuat -3 dalam bentuk biner 4 bit dengan cara komplemen 2, hasilnya adalah 1101 dengan MSB 1 merupakan bit tanda bahwa bilangan tersebut adalah negatif. Sedangkan 7 dinyatakan sebagai 0111, dengan MSB 0 sebagai bit tanda bilangan positif. Bilangan 1101 kita umpankan A A A 1 A 1 A 2 A 2 A 3 A 3 1 Gambar 7.27 : Diagram rangkaian penginversi 4 bit. ke masukan A 3 A 2 A 1 A dan 0111 ke B 3 B 2 B 1 B pada IC 7483. Hasil proses itu muncul pada keluaran S 3 S 2 S 1 S sebagai 0100. Proses lengkapnya adalah Selanjutnya Sedangkan diagram rangkaian dari proses di atas seperti tampak pada Gambar 7.28 di bawah ini. Gambar 7.28 : Diagram rangkaian penjumlah untuk menjumlahkan bilangan positif dan negatif cara komplemen 2. Cara dan rangkaian untuk operasi pengurangan bilangan biner tersebut bukanlah satu-satunya. Masih banyak cara dan rangkaian lain yang +3 0011 inversi 1100 tambah 1 1 + -3 1101 menurut cara komplemen 2. +7 0111 -3 1101 + 10100 bit tanda positif diabaikan, karena bilangan-bilangan itu hanya dinyatakan dalam 4 bit. C o Penjumlah paralel 4 bit C i 7483 A 3 A 2 A 1 A B 3 B 2 B 1 B S 3 S 2 S 1 S 1 0 1 1 1 = +7 0 1 0 0 = +4 hasil operasi 1 1 0 1 = -3