Rabu, 30 September 2009

SISTEM BILANGAN DAN ARITMATIKA BINER

SISTEM BILANGAN DAN ARITMATIKA BINER

1. Sistem desimal dan biner

Dalam sistem bilangan desimal, nilai yang terdapat pada kolom ketiga pada Tabel 12, yaitu A, disebut satuan, kolom kedua yaitu B disebut puluhan, C disebut ratusan, dan seterusnya. Kolom A, B, C menunjukkan kenaikan pada eksponen dengan basis 10 yaitu 100 = 1, 101 = 10, 102 =100. Dengan cara yang sama, setiap kolom pada sistem bilangan biner, yaitu sistem bilangan dengan basis, menunjukkan eksponen dengan basis 2, yaitu 20 = 1, 21 =2, 22 = 4, dan seterusnya.

Tabel 12. Nilai Bilangan Desimal dan Biner

Setiap digit biner disebut bit; bit paling kanan disebut least significant bit (LSB), dan bit paling kiri disebut most significant bit (MSB).

Tabel 13. Daftar Bilangan Desimal dan Bilangan Biner

Untuk membedakan bilangan pada sistem yang berbeda digunakan subskrip. Sebagai contoh 910 menyatakan bilangan sembilan pada sistem bilangan desimal, dan 011012 menunjukkan bilangan biner 01101. Subskrip tersebut sering diabaikan jika sistem bilangan yang dipakai sudah jelas.

Tabel 14. Contoh Pengubahan Bilangan Biner menjadi desimal

· Konversi Desimal ke Biner

Cara untuk mengubah bilangan desimal ke biner adalah dengan pembagian. Bilangan desimal yang akan diubah secara berturut-turut dibagi 2, dengan memperhatikan sisa pembagiannya. Sisa pembagian akan bernilai 0 atau 1, yang akan membentuk bilangan biner dengan sisa yang terakhir menunjukkan MSBnya. Sebagai contoh, untuk mengubah 5210 menjadi bilangan biner,

diperlukan langkah-langkah berikut :

52 : 2 = 26 sisa 0, LSB

26 : 2 = 13 sisa 0

13 : 2 = 6 sisa 1

6 : 2 = 3 sisa 0

3 : 2 = 1 sisa 1

1 : 2 = 0 sisa 1, MSB

Sehingga bilangan desimal 5210 akan diubah menjadi bilangan biner 110100.

Cara di atas juga bisa digunakan untuk mengubah sistem bilangan yang lain, yaitu oktal atau heksadesimal.

2. Bilangan Oktal

Bilangan Oktal adalah sistem bilangan yang berbasis 8 dan mempunyai delapan simbol bilangan yang berbeda : 0,1,2,….,7.

Teknik pembagian yang berurutan dapat digunakan untuk mengubah bilangan desimal menjadi bilangan oktal.

Bilangan desimal yang akan diubah secara berturut-turut dibagi dengan 8 dan sisa pembagiannya harus selalu dicatat. Sebagai contoh, untuk mengubah bilangan 581910 ke oktal, langkah-langkahnya adalah :

5819 : 8 = 727, sisa 3, LSB

727 : 8 = 90, sisa 7

90 : 8 = 11, sisa 2

11 : 8 = 1, sisa 3

1 : 8 = 0, sisa 1, MSB

Sehingga 581910 = 132738

· Bilangan Oktal dan Biner

Setiap digit pada bilangan oktal dapat disajikan dengan 3 digit bilangan biner, lihat Tabel 15. Untuk mengubah bilangan oktal ke bilangan biner, setiap digit oktal diubah secara terpisah. Sebagai contoh, 35278 akan diubah sebagai berikut:

38= 0112, MSB

58 = 1012

28 = 0102

78 = 1112, LSB

Sehingga bilangan oktal 35278 sama dengan bilangan 011 101 010 111.

Sebaliknya, pengubahan dari bilangan biner kebilangan oktal dilakukan dengan mengelompokkan setiap tiga digit biner dimulai dari digit paling kanan, LSB. Kemudian, setiap kelompok diubah secara terpisah ke dalam bilangan oktal. Sebagai contoh, bilangan 111100110012 akan dikelompokkan menjadi 11 110 011 001, sehingga.

112 = 38, MSB

1102 = 68

0112 = 38

0012 = 18, LSB

Jadi, bilangan biner 11110011001 apabila diubah menjadi bilangan oktal akan diperoleh 36318.

3. Bilangan Hexadesimal

Bilangan heksadesimal, sering disingkat dengan hex, adalah bilangan dengan basis 1610, dan mempunyai 16 simbol yang berbeda, yaitu 0 sampai dengan 15.

Bilangan yang lebih besar dari 158 memerlukan lebih dari satu digit hex. Kolom heksadesimal menunjukkan eksponen dengan basis 16, yaitu 160 = 1, 161 = 16, 162 = 256, dan seterusnya. Sebagai contoh :

152B16 = (1 x 163) + (5 x 162) + (2 x 161) + (11 x 160)

= 1 x 4096 + 5 x 256 + 2 x 16 + 11 x 1

= 4096 + 1280 + 32 + 11

= 541910

Sebaliknya, untuk mengubah bilangan desimal menjadi bilangan heksadesimal, dapat dilakukan dengan cara membagi bilangan desimal tersebut dengan 16. Sebagai contoh, untuk mengubah bilangan 340810 menjadi bilangan heksadesimal, dilakukan dengan langkah-langkah sebagai berikut :

3409/16 = 213, sisa 1 10 = 116, LSB

213/16 = 1 3, sisa 5 10= 516

13/16 = 0, sisa 1310 = D16, MSB

Sehingga, 340910 = D5116.

· Bilangan Hexadesimal dan Biner

Setiap digit pada bilangan heksadesimal dapat disajikan dengan empat buah bit.

Untuk mengubah bilangan heksadesimal menjadi bilangan biner, setiap digit dari bilangan heksadesimal diubah secara terpisah ke dalam empat bit bilangan biner. Sebagai contoh, 2A5C16 dapat diubah ke bilangan biner sebagai berikut.

216 = 0010, MSB

A16 = 1010

516 = 0101

C16 = 1100, LSB

Sehingga, bilangan heksadesimal 2A5C akan diubah menjaid bilngan biner 0010 1010 0101 1100. Sebaliknya, bilangan biner dapat diubah menjadi bilangan heksadesimal dengan cara mengelompokkan setiap empat digit dari bilangan biner tersebut dimulai dari sigit paling kanan. Sebagai contoh, 01001111010111002 dapat dikelompokkan menjadi 0100 1111 0101 1110. Sehingga:

01002 = 416, MSB

11112 = F16

01012= 516

11102 = E16, LSB

Dengan demikian, bilangan 0100 1111 0101 11102 = 4F5E16.

4. Bilangan Biner Pecahan

Dalam sistem bilangan desimal, bilangan pecahan disajikan dengan menggunakan titik desimal. Digit-digit yang berada di sebelah kiri titik desimal mempunyai nilai eksponen yang semakin besar, dan digit-digit yang berada di sebelah kanan titik desimal mempunyai nilai eksponen yang semakin kecil. Sehingga

0.110 = 10-1 = 1/10

0.1010 = 10-2 = 1/100

0.2 = 2 x 0.1 = 2 x 10-1, dan seterusnya.

Cara yang sama juga bisa digunakan untuk menyajikan bilangan biner pecahan. Sehingga,

0.12 = 2-1 = ½, dan

0.012= 2-2 = ½2 = ¼

Sebagai contoh,

0.1112 = ½ + ¼ + 1/8

= 0.5 + 0.25 + 0.125

= 0.87510

101.1012 = 4 + 0 + 1+ ½ + 0 + 1/8

= 5 + 0.625

= 5.62510

Pengubahan bilangan pecahan dari desimal ke biner dapat dilakukan dengan cara mengalihkan bagian pecahan dari bilangan desimal tersebut dengan 2, bagian bulat dari hasil perkalian merupakan pecahan dalam bit biner. Proses perkalian diteruskan pada sisa sebelumnya sampai hasil perkalian sama dengan 1 atau sampai ketelitian yang

diinginkan. Bit biner pertama yang diperoleh merupakan MSB dari bilangan biner pecahan. Sebagai contoh, untuk mengubah 0.62510 menjadi bilangan biner dapat dilaksanakan dengan

0.625 x 2 = 1.25, bagian bulat = 1 (MSB), sisa = 0.25

0.25 x 2 = 0.5, bagian bulat = 0, sisa = 0.5

0.5 x 2 = 1.0, bagian bulat = 1 (LSB), tanpa sisa

Sehingga, 0.62510 = 0.1012

5. Sistem Bilangan BCD

Sampai saat ini kita hanya melihat pengubahan dari bilangan desimal ke bilangan biner murni. Pada beberapa aplikasi, misalnya sistem berdasar mikroprosesor, seringkali lebih sesuai apabila setiap digit bilangan desimal diubah menjadi 4 digit bilangan biner. Dengan cara ini, suatu bilangan desimal 2 digit akan diubah menjadi dua kelompok empat digit bilangan biner, sehingga keseluruhannya menjadi 8 bit, tidak bergantung pada nilai bilangan desimalnya sendiri. Hasilnya sering disebut sebagai binarycoded decimal (BCD). Penyandian yang sering digunakan dikenal sebagai sandi 8421 BCD. Selain penyandian 8421 BCD, juga dikenal sejumlah penyandian yang lain.

Contoh :

Ubah 25 menjadi bilangan BCD

Penyelesaian

210 = 0010 dan

510 = 0101

Sehingga, 2510 = 0010 0101 BCD

6. Aritmatika Biner

a. Penjumlahan Biner

Penjumlahan bilangan biner serupa dengan penjumlahan pada bilangan desimal. Dua bilangan yang akan dijumlahkan disusun secara vertikal dan digit-digit yang mempunyai signifikansi sama ditempatkan pada kolom yang sama. Digit-digit ini kemudian dijumlahkan dan jika dijumlahkan lebih besar dari bilangan basisnya (10 untuk desimal, dan 2 untuk biner), maka ada bilangan yang disimpan. Bilangan yang disimpan ini kemudian dijumlahkan dengan digit di sebelah kirinya, dan seterusnya. Dalam penjumlahan bilangan biner, penyimpanan akan terjadi jika jumlah dari dua digit yang dijumlahkan adalah 2.

Berikut adalah aturan dasar untuk penjumlahan pada sistem bilangan biner.

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 0, simpan 1

Tabel 14. menunjukkan perbandingan antara penjumlahan pada sistem bilangan desimal dan sistem bilangan biner, yaitu 82310 + 23810 dan 110012 + 110112.

Tabel 15. Penjumlahan

a. Penjumlahan decimal

b. Penjumlahan biner

Marilah kita perhatikan penjumlahan biner dengan lebih seksama.

Kolom satuan : 1 + 1 = 0, simpan 1

Kolom 2-an : 0 + 1 = yang disimpan = 0, simpan 1

Kolom 4-an : 0 + 0 yang disimpan = 1

Kolom 8-an : 1 + 1 = 0, simpan 1

Kolom 16-an : 1 + 1 yang disimpan = 1, simpan 1

Kolom 32-an : yang disimpan 1 = 1

Jika lebih dari dua buah digit biner dijumlahkan, ada kemungkinan yang disimpan lebih besar dari 1. Sebagai contoh,

1 + 1 = 0, simpan 1

1 + 1 + 1 = 1, simpan 1

Contoh berikut menunjukkan penjumlahan dengan penyimpanan lebih besar dari 1.

1 + 1 + 1 + 1 = (1 + 1) + (1 + 1)

= (0, simpan 1) + (0, simpan 1)

= 0, simpan 2;

1 + 1 + 1 + 1 + 1 = 1 + (1 + 1) + (1 + 1)

= 1, simpan 2

0 + yang disimpan 2 = 1, simpan 1

1 + yang disimpan 2 = 0, simpan 2, dan seterusnya.

b. Pengurangan Biner

Pada bagian ini hanya akan ditinjau pengurangan bilangan biner yang memberikan hasil positif. Dalam hal ini, metode yang digunakan adalah sama dengan metode

yang digunakan untuk pengurangan pada bilangan desimal. Dalam pengurangan bilangan biner jika perlu dipinjam 1 dari kolom di sebelah kirinya, yaitu kolom yang

mempunyai derajat lebih tinggi. Aturan umum untuk pengurangan pada bilanagan biner adalah sebagai berikut :

0 – 0 = 0

1 – 0 = 1

1 – 1 = 0

0 – 1 = 1, pinjam 1

Contoh : Kurangilah 11112 dengan 01012

Penyelesaian

Susunlah dua bilangan di atas ke dalam kolom sebagai berikut :

Secara lebih rinci, dimulai dari LSB (20 = 1)

Kolom 20 1 – 1 = 0

Kolom 21 1 – 0 = 1

Kolom 22 1 – 0 = 0

Kolom 23 1 – 0 = 1

Sehingga, 11112 – 01012 = 10102

Contoh Kurangilah 11002 dengan 10102

Penyelesaian

Secara lebih terinci, dimulai dari LSB (20 = 1)

Kolom 20 0 – 0 = 0

Kolom 21 0 – 1 = 1

Dalam kasus ini kita harus meminjam 1 dari bit pada kolom 22. Karena datang dari kolom 22, maka nilainya 2 kali nilai pada kolom 21. Sehingga, 1 (bernilai 22) – 1 (bernilai 21) = 1 (bernilai 12).

Bila meminjam 1 dari kolom di sebelah kiri maka berlaku aturan umum 1 – 1 = 1.

Kolom 22 0 – 0 = 0 Nilai 1 dari kolom 2 diubah menjadi nol karena sudah dipinjam seperti yang ditunjukkan dengan anak panah. Kolom 23 1 – 1 = 0 Sehingga, 11002 – 10102 = 00102

c. Bilangan Biner Bertanda

Sejauh ini kita hanya melihat bilangan biner positif atau bilangan biner tak bertanda. Sebagai contoh bilangan biner 8-bit dapat mempunyai nilai antara:

0000 00002 = 0010 dan 1111 11112 = 25510

yang semuanya bermilai positif, tanda ‘-‘ diletakkan di sebelah kiri bilangan desimal, misalnya –2510. Dalam sistem bilangan biner, tanda bilangan (yaitu negatif) juga disandikan dengan cara tertentu yang mudah dikenal dengan sistem digital. Untuk menyatakan bilangan negatif pada bilangan biner, bit yang dikenal dengan bit tanda bilangan (sign bit) ditambah di sebelah kiri MSB. Bilangan biner yang ditulis dengan cara di atas menunjukkan tanda dan besarnya bilangan. Jika bit tanda ditulis 0, maka bilangan tersebut positif, dan jika ditulis 1, bilangan tersebut adalah bilangan negatif. Pada bilangan biner bertanda yang terdiri dari 8-bit, bit yang paling kiri

menunjukkkan besarnya. Perhatikan contoh berikut :

Bit 7 6 5 4 3 2 1 0

Bit 26 25 24 23 22 21 20

tanda (64) (32) (16) (8) (4) (2) 1

Maka, 0110 0111 = +(64+32+4+2+1) = +10310

1101 0101 = -(64+16+4+2) = - 8510

1001 0001 = -(16 + 1) = -1910

0111 1111 = +(64+32+16+8+4+2+1) = +12710

1111 1111 = -(64+32+16+8+4+2+1) = - 12710

1000 0000 = -0 = 0

0000 0000 = +0 = 0

Dari contoh diatas dapat dilihat, bahwa hanya karena tujuh bit yang menunjukkan besarnya , maka bilangan terkecil dan terbesar yang ditunjukan bilangan biner bertanda yang terdiri dari 8-bit adalah :

[1]111 11112 = - 12710 dan

[0]111 11112 = + 12710

Dengan bit dalam kurung menunjukkan bit tanda bilangan.

Secara umum, bilangan biner tak bertanda yang terdiri dari n-bit mempunyai nilai maksimum M = 2n – 1. Sementara itu, untuk bilangan bertanda yang terdiri dari n-bit mempunyai nilai maksimum M = 2 n-1 – 1. Sehingga, untuk register 8-bit di dalam mikroprosesor yang menggunakan sistem bilangan bertanda, nilai terbesar

yang bisa disimpan dalam register tersebut adalah:

M = 2(n-1) – 1

= 2(8-1) – 1

= 27 - 1

= 12810 – 1

= 12710

sehingga mempunyai jangkauan – 12710 sampai +12710.

d. Perkalian

Perkalian pada bilangan biner mempunyai aturan sebagai

berikut :

0 x 0 = 0

1 x 0 = 0

0 x 1 = 0

1 x 1 = 1

Perkalian bilangan biner dapat dilakukan seperti perkalian bilangan desimal. Sebagai contoh, untuk mengalikan 11102 = 1410 dengan 11012 = 1310 langkah-langkah yang harus ditempuh adalah :

Biner Desimal

1 1 1 0 1 4

1 1 0 1 1 3

----------------------------- ----------

1 1 1 0 4 2

0 0 0 0 1 4

1 1 1 0

1 1 1 0

------------------------------------------- + -------------- +

1 0 1 1 0 1 1 0 1 8 2

Perkalian juga bisa dilakukan dengan menambah bilangan yang dikalikan ke hilangan itu sendiri sebanyak bilangan pengali.

Contoh di atas, hasil yang sama akan diperoleh dengan menambahkan 1112 ke bilangan itu senidiri sebanyak 11012 atau tiga belas kali.

e. Pembagian

Pembagian pada sistem bilangan biner dapat

dilakukan sama seperti contoh pembagian pada sistem

bilangan desimal. Sebagai contoh, untuk membagi 110011

(disebut bilangan yang dibagi) dengan 1001 (disebut

pembagi), langkah-langkah berikut perlu dilakukan.

Hasil 1 0 1

Pembagi 1 0 0 1 1 1 0 0 1

1 0 0 1

---------------------

0 0 1 1 1 1

1 0 0 1

-----------------

Sisa 1 1 0

Sehingga hasilnya adalah 1012, dan sisa pembagian adalah1102.

Pembagian bisa juga dilakukan dengan cara menjumlahkan secara berulang kali bilangan pembagi dengan bilangan itu sendiri sampai jumlahnya sama dengan bilangan yang dibagi atau setelah sisa pembagian yang diperoleh lebih kecil dari bilangan pembagi.

Referensi

Modul Pembelajaran, Dasar Elektronika Analog dan Digital, Sekolah Menengah Kejuruan Bidang Keahlian Teknik Telekomunikasi, Direktorat Pendidikan Menengah Kejuruan, 2003

Tidak ada komentar: