Pages

Subscribe:

Rabu, 11 April 2012

Aritmatika Bilangan Biner

Operasi Penjumlahan Bilangan Biner

Operasi aritmatika seperti penjumlahan pada bilangan desimal adalah biasa bagi kita, tetapi bagaimana dengan operasi penjumlahan pada bilangan biner? Pada bilangan biner yang hanya terdiri dari dua sistem bilangan (‘0’ dan ‘1’), tentu-nya operasi penjumlahan terhadap bilangan biner akan lebih sederhana, contoh:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10
1 + 1 + 1 = 11
Sama hal-nya seperti pada operasi aritmatika penjumlahan pada bilangan desimal dimana bila ada hasil penjumlahan yang hasilnya dua digit, maka angka paling sebelah kiri akan dijumlahkan pada bilangan berikutnya atau dikenal dengan istilah ‘Disimpan’. Sebagai contoh perhatikan penjumlahan bilangan biner berikut ini.
              11  1   ←  (disimpan)  →   1
010101       1001001                 001101
100010       0011001                 100001
------(+)    -------(+)              ------(+)
110111       1100010                 101110

Operasi Pengurangan Bilangan Biner

Operasi aritmatika pengurangan pada bilangan biner juga sama seperti operasi pengurangan pada bilangan desimal, sebagai contoh perhatikan operasi dasar pengurangan bilangan biner berikut ini.
0 – 0 = 0
1 – 0 = 1
0 – 1 = 1 → bit ‘0’ meminjam 1 dari bit di sebelah kiri-nya
1 – 1 = 0
Contoh: Pengurangan 37 - 17 = 20 (desimal) atau 100101 - 010001 = 010100 (biner)
 1 → pinjam
100101 = 37
010001 = 17
-----------(-)
010100 = 20
Untuk menyatakan suatu bilangan desimal yang bernilai negatif adalah dengan menambahkan tanda negatif (-) pada bilangan-nya, contoh -1, -2, -3, -4, -5 dan seterusnya. Tetapi pada bilangan biner ini tidak bisa dilakukan, lalu bagaimana untuk membuat atau membedakan suatu bilangan biner itu bernilai negatif (-).
Ada beberapa cara untuk membuat suatu bilangan biner bernilai negatif, cara yang pertama adalah dengan menambahkan ekstra bit pada bagian paling sebelah kiri bilangan (Most Significant Bit / MSB), contoh;
101 = +5
Dengan menambahkan ekstra bit:
0101 = +5 → 0 merupakan ekstra bit (MSB) untuk tanda positif (+)
1101 = -5 → 1 merupakan ekstra bit (MSB) untuk tanda negatif (-)
Cara seperti di atas ternyata dapat menimbulkan salah persepsi jika kita tidak cermat, karena nilai -5 = 1101, 1101 dapat diartikan juga sebagai bilangan 13 dalam bilangan desimal. Maka digunakan cara kedua yaitu menggunakan satu metode yang dinamakan ‘Komplemen Dua’. Komplemen dua merupakan komplemen satu (yaitu dengan merubah bit ‘0’ menjadi ‘1’ dan bit ‘1’ menjadi ‘0’) kemudian ditambah satu, contoh;
0101 = +5 → ubah ke bentuk komplemen satu
1010 → komplemen satu dari 101 ini kemudian ditambahkan 1
   1
----(+)
1111 → ini merupakan bentuk komplemen dua dari 0101 yang bernilai -5
Contoh lain, berapakah nilai -7 pada bilangan biner?
0111 = +7
1000 → bentuk komplemen satu
   1
----(+)
1001 → bentuk komplemen dua dari 0111 yang bernilai -7
Berikut tabel dari perbandingan bilangan biner original dengan bilangan biner dalam bentuk komplemen dua.

 tabel perbandingan biner original dengan komplemen dua

Sedangkan contoh untuk operasi pengurangan menggunakan metode komplemen dua sebenarnya adalah operasi penjumlahan bilangan biner, perhatikan contoh berikut.
Contoh; hasil penjumlahan +6 + (– 4) = 2 (desimal), bagaimana jika dalam operasi penjumlahan bilangan biner (komplemen dua)?
Jawab: Pertama kita cari bentuk komplemen dua dari +4

0100 = +4
1011 → komplemen satu dari 1100
   1
----(+)
100 → komplemen dua dari 100

Lalu jumlahkan +6 = 110 dengan -4 = (100)

110
100
---(+)
010 = +2 → hasil penjumlahan 110 (+6) dengan 100 (-4)
Yang perlu diperhatikan dari operasi pengurangan bilangan biner menggunakan metode komplemen dua adalah jumlah bit-nya. Pada contoh di atas semua operasi pengurangan menggunakan bilangan biner 3 bit (bit = binary digit), maksudnya disini adalah jika bilangan biner yang dihitung merupakan bilangan biner 3 bit maka hasilnya harus 3 bit. Seperti pada pengurangan 110 dengan 100 dimana pada digit paling sebelah kiri (MSB) pada kedua bilangan biner yakni ‘1’ dan ‘1’ jika dijumlahkan hasilnya adalah ‘10’ tetapi hanya digit ‘0’ yang digunakan dan digit ‘1’ diabaikan.
1
 110
 100
----(+)
1010 → ‘1’ pada MSB diabaikan pada operasi pengurangan biner komplemen dua
Contoh lain hasil pengurangan bilangan desimal 3 – 5 = -2 jika dalam biner.
11
011 → bilangan biner +3
011 → komplemen dua bernilai -5
---(+)
110 → hasilnya = -2 (komplemen dua dari +2)
Untuk mengetahui apakah 110 benar-benar merupakan nilai komplemen dua dari +2 cara-nya sama seperti kita merubah dari biner positif ke biner negatif menggunakan metode komplemen dua. Perhatikan operasi-nya berikut ini.
110 = -2
001 → komplemen satu dari 110
  1
---(+)
010 → komplemen dua dari 110 yang bernilai +2
Dari contoh semua operasi perhitungan di atas dapat ditarik kesimpulan bahwa komplemen dua dapat digunakan untuk mengetahui nilai negatif dan nilai positif pada operasi pengurangan bilangan biner.

Operasi Perkalian Bilangan Biner

Sama seperti operasi perkalian pada bilangan desimal, operasi aritmatika perkalian bilangan biner pun menggunakan metode yang sama. Contoh operasi dasar perkalian bilangan biner.
0 x 0 = 0
0 x 1 = 0
1 x 0 = 0
1 x 1 = 1
Contoh perkalian 12 x 10 = 120 dalam desimal dan biner.
Dalam operasi bilangan desimal;

 12
 10
 ---(x)
 00
12
----(+)
120

Dalam operasi bilangan biner;

   1100 = 12
   1010 = 10
   ----(x)
   0000
  1100
 0000
1100
-------(+)
1111000 = 120

Operasi Pembagian Bilangan Biner

Operasi aritmatika pembagian bilangan biner menggunakan prinsip yang sama dengan operasi pembagian bilangan desimal dimana di dalamnya melibatkan operasi perkalian dan pengurangan bilangan.
Contoh pembagian 9 : 3 = 3 (desimal) atau 1001 : 11 = 11 (biner)
     ____
11 / 1001 \ 11 → Jawaban
      11
      ---(-)
       11
       11
       ---(-)
        0
Contoh pembagian 42 : 7 = 6 (desimal) atau 101010 : 110 = 111 (biner)
     _______
110 / 101010 \ 111 → Jawaban
       110
       ------(-)
        1001
         110
        ------(-)
          110
          110
          ----(-)
            0

BCD (Binary Coded Decimal)

BCD adalah sistem pengkodean bilangan desimal yang metodenya mirip dengan bilangan biner biasa; hanya saja dalam proses konversi, setiap simbol dari bilangan desimal dikonversi satu per satu, bukan secara keseluruhan seperti konversi bilangan desimal ke biner biasa. Hal ini lebih bertujuan untuk “menyeimbangkan” antara kurang fasihnya manusia pada umumnya untuk melakukan proses konversi dari desimal ke biner -dan- keterbatasan komputer yang hanya bisa mengolah bilangan biner. Untuk lebih jelas, dapat dilihat pada contoh berikut :

Misalkan bilangan yang ingin dikonversi adalah 17010.
Sesuai dengan posting saya yang sebelumnya, dapat dilihat bahwa bilangan biner dari :
110—-> 00012
710—-> 01112
010—-> 00002

Tetapi, berhubung hasil yang diinginkan adalah bilangan BCD, maka basis bilangannya tinggal ditulis sebagai berikut :
110—-> 0001BCD
710—-> 0111BCD
010—-> 0000BCD

maka, nilai BCD dari 17010 adalah 0001 0111 0000BCD.
Harap diperhatikan bahwa setiap simbol dari bilangan desimal dikonversi menjadi 4 bit bilangan BCD.

Contoh lain, misalkan bilangan yang ingin dikonversi adalah 30910.
310—–> 0011BCD
010—–> 0000BCD
910 —–> 1001BCD
maka, nilai BCD dari 30910 adalah 0011 0000 1001BCD.

Sebagai bahan latihan, dapat juga dicoba konversi BCD bilangan desimal berikut :
1010—–> 0001 0000BCD
44110—-> 0100 0100 0001BCD
27010—-> 0010 0111 0000BCD .....