Chapter 7 (BCD Adder)
Dalam sistem digital, bilangan sering kali direpresentasikan dalam bentuk biner karena lebih sesuai dengan logika kerja perangkat elektronik. Namun, dalam banyak aplikasi seperti kalkulator, sistem tampilan digital, dan perangkat pengolah data numerik, dibutuhkan representasi angka desimal yang dapat dibaca manusia. Untuk menjembatani kebutuhan tersebut, digunakan sistem BCD (Binary Coded Decimal), yaitu representasi bilangan desimal dalam bentuk biner 4-bit. Pada sistem ini, setiap digit desimal 0–9 direpresentasikan oleh kombinasi biner dari 0000 hingga 1001. Proses penjumlahan dua angka BCD tidak semudah penjumlahan biner biasa karena hasil penjumlahan dua digit BCD bisa menghasilkan nilai lebih dari 9 (1001), yang bukan merupakan representasi BCD yang valid. Oleh karena itu, digunakan BCD Adder, yaitu rangkaian logika yang dirancang khusus untuk menjumlahkan dua digit BCD beserta carry-nya, dan secara otomatis melakukan koreksi jika hasil penjumlahan melebihi 9. Materi ini menjadi penting dalam memahami bagaimana sistem digital menangani operasi aritmatika desimal dalam perangkat berbasis logika biner.
- Memahami prinsip kerja penjumlahan BCD.
- Menganalisis dan merancang rangkaian BCD Adder.
- Menguji kebenaran fungsi rangkaian BCD Adder melalui simulasi atau praktik langsung.
- Gerbang AND
- Gerbang OR
- Gerbang XOR
- NOT
- IC7483
IC 7483 adalah sebuah 4-bit binary full adder yang digunakan untuk melakukan penjumlahan dua buah bilangan biner 4-bit. IC ini memiliki dua kelompok input, yaitu A (A1–A4) dan B (B1–B4), yang masing-masing mewakili empat bit dari dua bilangan biner yang akan dijumlahkan. Selain itu, terdapat satu pin carry-in (C₀) yang memungkinkan IC ini digunakan dalam rangkaian penjumlahan bertingkat (multi-bit addition). Hasil penjumlahan ditampilkan melalui empat pin output sum (S1–S4), dan jika terjadi carry dari hasil penjumlahan tersebut, akan muncul pada pin carry-out (C₄). IC ini umum digunakan dalam sistem digital dan aritmatika karena dapat menangani penjumlahan dengan kecepatan tinggi dan akurasi yang baik. Dengan tegangan kerja standar TTL sebesar 5 volt, IC 7483 sering dijumpai dalam aplikasi kalkulasi digital, pengolah data biner, serta rangkaian ALU (Arithmetic Logic Unit).
Single digit BCD (Binary-Coded Decimal) adder digunakan untuk menjumlahkan dua digit BCD (masing-masing 4 bit) dan menghasilkan hasil dalam format BCD pula. Namun, karena hasil penjumlahan dua digit BCD bisa lebih dari 9 (1001), maka diperlukan koreksi untuk memastikan hasil tetap dalam representasi BCD yang valid (0–9).
Bila hasil penjumlahan menghasilkan nilai 10 (1010) hingga 15 (1111), maka dilakukan koreksi dengan menambahkan 0110 (decimal 6).
Koreksi ini dilakukan berdasarkan logika boolean yang memastikan bahwa nilai 0110 hanya ditambahkan jika diperlukan.
Hasil dari adder pertama (yang mungkin belum valid BCD) kemudian dikoreksi oleh adder kedua.
Implementasi Bertingkat (Cascade)
Untuk menjumlahkan lebih dari satu digit BCD (misalnya dua bilangan desimal tiga digit), digunakan beberapa tahap penjumlahan BCD secara bertingkat.
Masing-masing tahap (tahap LSD, MSD, dst.) menggunakan single-digit BCD adder.
Carry dari hasil adder sebelumnya digunakan sebagai carry-in untuk adder selanjutnya.
Contoh Penjumlahan Tiga Digit:
Adder pertama (LSD) menghasilkan BCD untuk digit paling kanan (S₃ S₂ S₁ S₀) dan menghasilkan carry.
Adder kedua menerima carry tersebut dan menghasilkan BCD untuk digit tengah (S₇ S₆ S₅ S₄).
Adder ketiga menerima carry dari adder kedua dan menghasilkan BCD untuk digit paling kiri (S₁₁ S₁₀ S₉ S₈).
Dengan demikian, single digit BCD adder merupakan blok dasar yang bisa dirangkai untuk membentuk sistem penjumlahan BCD multi-digit.
7.21 Single-Digit BCD adder |
Rangkaian ini dirancang untuk menjumlahkan dua digit BCD (masing-masing 4-bit) dan memberikan hasil dalam format BCD yang valid. Penjumlahan BCD memerlukan koreksi jika hasil penjumlahan lebih dari 9 (1001). Rangkaian terdiri dari dua tahap utama:
1. Penjumlahan Awal oleh 4-Bit Binary Adder (Adder Pertama)
Input:
BCD Digit-1
danBCD Digit-2
(masing-masing 4 bit).Output: Bit hasil penjumlahan biner
Z₃ Z₂ Z₁ Z₀
.Juga menghasilkan carry yang akan digunakan untuk koreksi.
2. Logika Koreksi (Correction Logic)
Koreksi dilakukan jika hasil penjumlahan awal lebih besar dari 1001 (decimal 9).
Syarat koreksi ditentukan oleh logika:
Koreksi diperlukan jika (Z₃ AND (Z₂ OR Z₁)) OR carry = 1
Logika ini direpresentasikan oleh kombinasi gerbang AND dan OR pada gambar.
Output dari logika ini adalah sinyal
K
, yang menjadi sinyal kontrol apakah akan menambahkan 6 (0110) atau tidak.
3. Penjumlahan Koreksi oleh 4-Bit Binary Adder Kedua
Jika
K = 1
, maka 0110 (decimal 6) ditambahkan ke hasil awal untuk koreksi.Jika
K = 0
, maka hasil awal tetap digunakan (tidak perlu koreksi).Hasil akhir dari penjumlahan ini adalah output BCD
S₃ S₂ S₁ S₀
.
4. Output
S₃ S₂ S₁ S₀
: Hasil penjumlahan dalam format BCD yang valid.C
: Carry keluar, bisa digunakan untuk BCD adder berikutnya jika penjumlahan berlanjut ke digit lebih tinggi.
BCD Adder (Binary-Coded Decimal Adder) adalah rangkaian logika yang digunakan untuk menjumlahkan dua angka desimal yang masing-masing direpresentasikan dalam bentuk BCD (Binary-Coded Decimal), yaitu 4-bit biner untuk setiap digit desimal (0–9).
Saat dua digit BCD dijumlahkan, hasilnya bisa lebih dari 9 (1001 dalam biner), yang bukan representasi valid dalam BCD. Oleh karena itu, koreksi diperlukan dengan cara menambahkan 6 (0110) ke hasil penjumlahan agar hasil kembali menjadi representasi BCD yang valid.
BCD Adder biasanya terdiri dari:
-
Dua buah 4-bit binary adder untuk menjumlahkan digit dan melakukan koreksi.
-
Satu rangkaian deteksi koreksi untuk menentukan kapan hasil perlu dikoreksi (jika hasil > 9 atau terjadi carry-out).
-
Output terdiri dari dua digit BCD atau lebih (jika ada carry-out).
Rangkaian ini banyak digunakan dalam kalkulator, jam digital, dan sistem yang memerlukan tampilan angka desimal.
Jawaban:
0101 + 0100 = 1001 (hasil 9 dalam BCD)
Karena hasil ≤ 1001 dan tidak ada carry, tidak perlu koreksi
Hasil akhir: 1001 (9)
Jawaban:
1001 + 0101 = 1110 (14 dalam biner)
Karena hasil > 1001, perlu koreksi:
1110 + 0110 = 1 0100 (ada carry, hasil dua digit BCD)
Hasil akhir: 0001 0100 → BCD = 1 dan 4 → 14
Jawaban:
0111 + 0110 = 1101 (13 dalam biner)
Karena hasil > 1001, perlu koreksi:
1101 + 0110 = 1 0011
Hasil akhir: 0001 0011 → BCD = 1 dan 3 → 13
Soal:
1) Jumlahkan dua bilangan BCD berikut:
-
A = 0101 (yaitu 5)
-
B = 0111 (yaitu 7)
Apakah penjumlahan ini memerlukan koreksi? Berapa hasil akhirnya dalam format BCD?
Penjelasan:
-
5 + 7 = 12
-
Dalam biner, 5 + 7 = 1100
-
Karena hasil melebihi 9 (1001), maka perlu dikoreksi dengan menambahkan 6 (0110 dalam biner).
-
1100 + 0110 = 1 0010
-
Angka ‘1’ adalah carry yang menandakan puluhan, dan 0010 berarti 2
Jawaban:
Hasil akhir dalam BCD adalah 0001 0010, yaitu 12 dalam desimal
Soal:
Jumlahkan dua angka BCD berikut:
-
A = 0011 (3)
-
B = 0101 (5)
Apakah diperlukan koreksi? Berapa hasil akhirnya dalam BCD?
Penjelasan:
-
3 + 5 = 8
-
Dalam biner, 0011 + 0101 = 1000
-
Karena hasil kurang dari atau sama dengan 9, maka tidak perlu koreksi
Jawaban:
Hasil akhir dalam BCD adalah 1000, yaitu 8 dalam desimal
Soal:
Jumlahkan dua bilangan desimal 67 dan 58 menggunakan format BCD.
Tunjukkan proses koreksi jika diperlukan dan hasil akhirnya.
Langkah 1: Representasikan angka dalam BCD
-
67 → 0110 (6) dan 0111 (7)
-
58 → 0101 (5) dan 1000 (8)
Langkah 2: Tambahkan digit satuan (7 + 8)
-
7 + 8 = 15
-
Dalam biner: hasil adalah 1111 → lebih dari 9 → perlu koreksi
-
Tambah 6 → hasil menjadi 1 0101
-
1 sebagai carry ke digit puluhan
-
0101 (5) sebagai digit satuan
-
Langkah 3: Tambahkan digit puluhan (6 + 5 + carry 1)
-
6 + 5 + 1 = 12
-
Dalam biner: hasil 1100 → juga lebih dari 9 → perlu koreksi
-
Tambah 6 → hasil menjadi 1 0010
-
1 sebagai carry ke digit ratusan
-
0010 (2) sebagai digit puluhan
-
Hasil akhir BCD:
-
0001 (1) → ratusan
-
0010 (2) → puluhan
-
0101 (5) → satuan
Jawaban:
BCD output = 0001 0010 0101 → artinya 125 dalam desimal
1. Apa yang membedakan BCD Adder dari binary adder biasa?
A. BCD Adder hanya menjumlahkan angka heksadesimalB. BCD Adder menjumlahkan angka desimal dalam representasi biner dan memperbaiki hasil jika melebihi 9C. BCD Adder hanya digunakan untuk bilangan negatifD. BCD Adder menghasilkan output dalam bentuk ASCII
2. Jika dua digit BCD, yaitu 0100 (4) dan 1001 (9), dijumlahkan, berapa output biner setelah koreksi dilakukan oleh BCD Adder?
A. 0001 0011 (13 dalam biner)B. 0001 0010 (12 dalam biner)C. 0000 1101 (13 tanpa koreksi)D. 0001 0100 (14 dalam biner)
3. Dalam perancangan BCD Adder, koreksi dilakukan dengan menambahkan angka 6 (0110) apabila:
A. Carry-out dari penjumlahan adalah 0B. Hasil lebih besar dari 1001 atau terjadi carry-outC. Salah satu input lebih besar dari 5D. Input mengandung angka negatif
Rangkaian ini merupakan implementasi penjumlah BCD (BCD Adder/Subtractor) berbasis IC 7483 yang dikombinasikan dengan gerbang logika XOR untuk memungkinkan operasi penjumlahan maupun pengurangan berdasarkan sinyal kontrol. Input A (A1–A4) dan B (B1–B4) masing-masing merepresentasikan 4-bit bilangan biner. Input A terhubung langsung ke IC 7483 tanpa modifikasi, sedangkan input B terlebih dahulu melewati gerbang XOR sebelum masuk ke IC.
Setiap bit dari B (B1–B4) dikombinasikan dengan Control Input (bit kontrol) menggunakan gerbang XOR. Fungsi dari XOR ini adalah sebagai pembalik bit, di mana:
-
Jika Control Input = 0, maka B tetap (tidak berubah), sehingga operasi yang dilakukan adalah penjumlahan A + B
-
Jika Control Input = 1, maka B di-invers, yang merupakan tahap awal dari operasi pengurangan A – B dengan metode komplemen dua (pengurangan dilakukan dengan A + (~B + 1))
Pada gambar, Control Input bernilai 0, maka operasi adalah penjumlahan biasa. Input A = 1000 (A4–A1) dan input B = 1001 (B4–B1). Kedua data ini diproses oleh IC 7483, sebuah 4-bit binary full adder, untuk menghasilkan output hasil penjumlahan di pin S1–S4 dan carry-out di pin Cout.
Rangkaian 7.20 [Download]
Rangkaian 7.21 [Download]
Video Simulasi [Download]
Datasheet IC7483 [Download]
Datasheet AND [Download]
Datasheet XOR [Download]
Datasheet 74LS27 [Download]
Datasheet Logicstate [Download]
Tidak ada komentar:
Posting Komentar