Binary Coded Decimal (BCD)

Dipublikasikan: 11 Desember 2025

Terakhir diperbarui: 11 Desember 2025

Raymond Kelvin Nando — Binary Coded Decimal (BCD) adalah metode encoding di mana setiap digit desimal direpresentasikan dengan sejumlah bit biner tetap, biasanya 4 bit per digit. Teknik ini digunakan untuk mempermudah operasi aritmatika, penyimpanan, dan transmisi angka desimal dalam sistem digital. BCD populer di kalkulator, komputer awal, sistem keuangan, dan perangkat embedded yang memerlukan representasi numerik yang presisi tanpa konversi desimal-biner penuh.

Pengertian Binary Coded Decimal

Binary Coded Decimal adalah encoding angka desimal (0–9) menggunakan bentuk biner 4-bit tetap per digit. Setiap digit desimal diubah menjadi representasi biner yang sesuai:

0 → 0000
1 → 0001
2 → 0010
3 → 0011
4 → 0100
5 → 0101
6 → 0110
7 → 0111
8 → 1000
9 → 1001

BCD mempermudah perangkat digital dalam melakukan perhitungan desimal tanpa kehilangan presisi akibat konversi floating-point atau biner penuh. BCD juga memungkinkan manipulasi digit per digit, yang sangat berguna di sistem finansial dan kalkulator.

Sejarah Perkembangan Binary Coded Decimal

BCD diperkenalkan pada era komputer awal (1940–1960), ketika sistem digital harus bekerja dengan angka desimal secara langsung. Kalkulator elektronik dan mainframe awal menggunakan BCD untuk menghindari kesalahan pembulatan saat melakukan operasi aritmatika desimal.

Orang lain juga membaca :  AES-CTR Bitstream Encoding

Seiring waktu, BCD digunakan pada:

  • Kalkulator elektronik (contoh: kalkulator Casio dan HP klasik)
  • Komputer mainframe IBM seri awal
  • Sistem perbankan dan keuangan digital
  • Perangkat embedded yang memerlukan presisi tinggi untuk angka desimal

Meskipun komputer modern lebih sering menggunakan representasi biner murni, BCD tetap digunakan dalam aplikasi yang membutuhkan konversi desimal langsung tanpa error pembulatan.

Prinsip Dasar, dan Metode Binary Coded Decimal

1. Representasi Digit

Setiap digit desimal 0–9 direpresentasikan dengan 4 bit biner tetap. Contoh:

  • 0 → 0000
  • 5 → 0101
  • 9 → 1001

2. Encoding Multidigit

Untuk angka lebih dari satu digit, setiap digit dikodekan secara terpisah.
Contoh:
123 → 0001 0010 0011

3. Varian BCD

  • Packed BCD: dua digit desimal disimpan dalam satu byte (8 bit)
    Contoh: 12 → 0001 0010
  • Unpacked BCD: satu digit per byte
    Contoh: 12 → 0001 0000 0010 0000 (biasanya nibble tinggi atau rendah diisi 0)

4. Operasi Aritmatika

BCD memungkinkan operasi aritmatika desimal langsung. Contohnya, penjumlahan digit per digit dengan koreksi 6 decimal addend jika hasil > 9.

5. Reversibilitas

BCD mudah dikonversi kembali ke desimal dengan membaca setiap 4-bit sebagai digit.

6. Keuntungan Fixed-Length

Karena 4-bit per digit, parsing, penyimpanan, dan transmisi menjadi sederhana dan deterministik.

Contoh Input → Output Binary Coded Decimal

Contoh 1: Angka sederhana

Input: 7 → 0111
Input: 4 → 0100

Contoh 2: Angka multidigit

Input: 259 →
2 → 0010
5 → 0101
9 → 1001
Output BCD: 0010 0101 1001

Contoh 3: Packed BCD

Input: 42 → 0100 0010 (dua digit per byte)

Contoh 4: Unpacked BCD

Input: 42 → 0000 0100 0000 0010 (satu digit per byte)

Orang lain juga membaca :  Adaptive Huffman

Contoh 5: Kalkulator elektronik

Input: 1985 → 0001 1001 1000 0101

Contoh 6: Reversibilitas

BCD 0010 0101 1001 → baca tiap 4-bit → 2 5 9 → desimal 259

Contoh 7: Perangkat embedded

Angka sensor: 127 → 0001 0010 0111 → dikirim byte per byte ke MCU.

Kelebihan & Kekurangan Binary Coded Decimal

Kelebihan:

  • Representasi desimal presisi tinggi
  • Mudah untuk operasi aritmatika per digit
  • Reversibel tanpa kehilangan data
  • Sesuai untuk aplikasi finansial dan kalkulator
  • Parsing dan penyimpanan sederhana
  • Deterministik dalam bit per digit
  • Kompatibel dengan protokol lama dan embedded
  • Mempermudah debugging karena bisa dibaca per digit

Kekurangan:

  • Membutuhkan lebih banyak bit dibanding representasi biner murni
  • Kurang efisien untuk operasi matematika besar atau floating-point
  • Tidak sepadat biner murni untuk penyimpanan
  • Operasi aritmatika memerlukan koreksi tambahan untuk hasil > 9
  • Tidak ideal untuk kompresi data
  • Kurang populer di komputer modern kecuali aplikasi khusus
  • Bisa memperlambat proses bila dibandingkan aritmatika biner native

Referensi

  • IEEE Std 754-2008: Standard for Floating-Point Arithmetic.
  • Stallings, W. (2017). Data and Computer Communications.
  • Tanenbaum, A. (2015). Structured Computer Organization.
  • Babbage, C. (1843). Notes on the Analytical Engine.
  • Knuth, D. (1997). The Art of Computer Programming, Vol. 2: Seminumerical Algorithms.

Citation

Previous Article

Binary Coded Symbol (BCS)

Next Article

Alain Badiou

Citation copied!