Dipublikasikan: 11 Desember 2025
Terakhir diperbarui: 11 Desember 2025
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.
Daftar Isi
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.
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.
Seiring waktu, BCD digunakan pada:
Meskipun komputer modern lebih sering menggunakan representasi biner murni, BCD tetap digunakan dalam aplikasi yang membutuhkan konversi desimal langsung tanpa error pembulatan.
Setiap digit desimal 0–9 direpresentasikan dengan 4 bit biner tetap. Contoh:
Untuk angka lebih dari satu digit, setiap digit dikodekan secara terpisah.
Contoh:
123 → 0001 0010 0011
BCD memungkinkan operasi aritmatika desimal langsung. Contohnya, penjumlahan digit per digit dengan koreksi 6 decimal addend jika hasil > 9.
BCD mudah dikonversi kembali ke desimal dengan membaca setiap 4-bit sebagai digit.
Karena 4-bit per digit, parsing, penyimpanan, dan transmisi menjadi sederhana dan deterministik.
Input: 7 → 0111
Input: 4 → 0100
Input: 259 →
2 → 0010
5 → 0101
9 → 1001
Output BCD: 0010 0101 1001
Input: 42 → 0100 0010 (dua digit per byte)
Input: 42 → 0000 0100 0000 0010 (satu digit per byte)
Input: 1985 → 0001 1001 1000 0101
BCD 0010 0101 1001 → baca tiap 4-bit → 2 5 9 → desimal 259
Angka sensor: 127 → 0001 0010 0111 → dikirim byte per byte ke MCU.
Kelebihan:
Kekurangan: