BAB I SISTEM BILANGAN I.1. Sistem Bilangan Biner. Sistem bilangan yang paling kita kenal adalah sistem bilangan desimal. Selain sistem bilangan desimal terdapat bermacam-macam sistem bilangan, salah satunya ada-lah sistem bilangan biner. Masing-masing sistem bilangan tersebut dibatasi oleh basis yaitu banyaknya angka atau digit yang digunakan. Sistem bilangan desimal mempunyai basis = 10 karena sistem bilangan desimal mempunyai 10 digit yaitu dari 0 sampai dengan 9. Arti biner adalah dua. Sistem bilangan biner hanya menggunakan dua digit, yaitu 0 dan 1. Seluruh digit yang lain (2 sampai 9) tidak dipergunakan. Dengan perkataan lain, bilangan-bilangan biner merupa-kan string dari 0 dan 1. Bobot dari suatu bilangan tergantung kepada basis-nya dan susunan bilangan ter-sebut. Misalnya untuk bilangan desimal 278,94 mempunyai bobot : (2x102)+(7x101)+(8x100)+(9x10-1) +(4x10-2) = 200 + 70 + 8 + 0,9 + 0,04 = (278,94)10 Dari penulisan di atas kita dapat melihat bahwa 2 mewakili harga ratusan (102), 7 mewakili harga puluhan (101), 8 mewakili harga satuan (100), 9 mewakili harga perse-puluhan (10-1), dan 4 mewakili harga perseratusan (10-2). Demikian pula halnya dengan bobot bilangan untuk bilangan biner, cara perhitungannya persis sama, cuma angka 10 diganti dengan angka 2. Contoh untuk bilangan 1101,101: (1x23) + (1x22) + (0x21) + (1 x2 0) + ( 1x 2-1) + ( 0x2-2) + ( 1x2-3) = 8+ 4 + 0 + 1 + 0,5 + 0,125 = ( 13,625)10 Contoh 2 10111,011= 23,375 Dari perhitungan dapat dilihat bahwa digit yang paling kanan mempunyai nilai yang terkecil, sedang digit yang paling kiri mempunyai nilai yang terbesar. Digit yang mempunyai nilai yang terkecil disebut LSB (Least Significant Bit) dan digit yang mempunyai nilai yang terbesar disebut MSB (Most Significant Bit). I.2. Berhitung Biner. Sebagaimana halnya dengan bilangan desimal, yang dapat dilakukan di dalamnya berbagai operasi komputasi (perhitungan), maka pada bilangan-bilangan biner dapat pula dikerjakan operasi-operasi penjumlahan, pengurangan, perkalian dan pembagian. I.2.1. Penjumlahan Biner. Penjumlahan bilangan biner sama saja caranya dengan penjumlahan bilangan desi-mal. Aturan yang digunakan untuk penjumlahan adalah : 0 + 0 =0 0 + 1 =1 1 + 0 =1 sebelah Contoh : 1). 1 0 0 1 (9) 1 1 1 0 (14) --------------- + 1 0 1 1 1 (23) 1 + 1 = 0 , dengan pindahan 1 pada bit biner kirinya. 2). 0 1 1 1 (7) 1 0 1 0 (10) ----------------------------. + 10 0 0 1 (17) I.2.2. Pengurangan Biner Pengurangan bilangan biner dapat dilakukan dengan cara yang sama seperti pengurangan bilangan desimal, yaitu sebagai kebalikan dari penjumlahan. Tiaptiap bit dari pengurang (subtrakenol) mengurangi bit yang berpadanan dengan bilangan yang dikurangi (minunol). Jika angka diminunol lebih kecil dari angka pengurang, maka dipinjam satu (1) dari lajur berikutnya sebelah kiri. Meminjam kebalikan dari pindahan . Cara pengurangan demikian ternyata tidak cocok untuk diwujudkan secara elektronik, karena akan membuat rangkaian menjadi rumit. Hal ini disebabkan karena tidak ada konsep logika -1. Sehingga perlu dicari cara untuk mempresentasikan bilangan-bilangan negatif. Untuk mengatasai cara ini, maka dipakai metoda " mengkomplemen dan menjumlah". Komplemen dari suatu bilangan biner diperoleh dengan cara membalik tiap-tiap bit dari bilangan tersebut. Komplemen dari subtrakenol dijumlahkan dengan minunol dan hasil pindahan dari jumlah bit yang bobotnya paling besar (MSB) dicatat. Jika hasilnya adalah 1, berarti bahwa hasil pengurangan adalah bilangan positif. Untuk mendapatkan hasil akhirnya, maka harus dilakukan "pemindahan memutar ke ujung" (lend around car-ry) dan bit yang paling kecil bobotnya (LSB) harus ditambahkan dengan bit pin-dahan tersebut. Bila bit pindahannya adalah 0, maka dapat disimpulkan: a. Hasil pengurangan adalah negatif. b. Hasil pengurangan merupakan komplemen dari jawaban akhir karena itu untuk mendapatkan hasil akhir yang benar, maka hasil penjumlahan tersebut harus dikomplemenkan. Contoh: 1). 1001 (9) - 0100 (4) 2). 0111 (7) - 1101(13) 1001 (9) 0111 (7) 1011 (komplemen-1 dari 4) 0010(komplemen dari 13 ------------ + --------- + 1 0100 (jumlah) 01001jumlah) 1 (pindahan memutar ke ujung) -------+ menanda- 0101 (Hasilnya +5) kan hasilnya bil.positif 0110 (komplemen-1=hasilnya) menunjukkan hasilnya bil.negatif -6 1100 7 0111 komp-1 1000 ----1 0100 1 0101 5 Bila menggunakan metode ini ada dua hal yang harus diperhatikan : 1. Kedua bilangan harus dituliskan dalam jumlah bit yang sama, misalnya bila suatu bilangan yang terdiri dari 5 bit (10011) dikurangi dengan bilangan yang terdiri dari 3 bit (101), maka bilangan tersebut harus dituliskan dahulu dalam 5 bit yaitu 00101 dan bila dikomplemenkan akan menjadi 11010. 2. Perlu diperhatikan jumalh bit yang digunakan dalam perhitungan sehinggaakan menjadi jelas mana bit yang merupakan hasil pindahan yang akan menentukan tanda bilangan. Bila perhitungan menggunakan 5 bit, maka bit yang ke-6 meru-pakan pindahan, jadi bukan bit yang paling besar bobotnya. Bit tersebut hanya merupakan tanda positif atau negatif dari bilangan hasil pengurangan yang juga akan menentukan. Contoh : 111 (7) - 10110 (22) 00111 (7) 01001 (komplemen dari 22) -------- + 10000 (jumlah) 01111 (komplemen = hasilnya - 15) 1.2.3. Perkalian Biner Cara untuk mengalikan bilangan biner seperti pada perkalian bilangan desimal. Contoh : 1100 (12) x 1011 (4) ------------------> 1100 1011 -------x 1100 1100 0000 1100 -----------10000100 (Hasil = 132) 1.2.4. Pembagian Bilangan Biner Caranya sama saja dengan pembagian pada bilangan desimal. Contoh : 1010 (10) : 100 (4) = 10,1 (2,5) 10,1 100 1010 --100 100 ---- 0 1.3. Konversi Bilangan dari Satu Radiks ke Radiks Lainnya. 1.3.1. Mengubah Bilangan Desimal Menjadi Bilangan Biner. Caranya dapat dilihat pada bahagian sebelumnya. 1.3.2. Mengubah Bilangan desimal menjadi Bilangan Oktal. Caranya sama dengan untuk proses konversi bilangan biner hanya pembaginya yang berbeda yaitu 8. Contoh : Carilah Bilangan Oktal dari (872)10 872 : 8 = 109 sisa 0 (LSB) 109 : 8 = 13 sisa 5 13 : 8 = 1:8= 1 sisa 5 0 sisa 1 (MSB) Hasilnya : (872)10 = (1550)8 1.8*3+5.8*2+5.8*1+0.8*0 512+320+40+0=872 1.3.3. Mengubah Bilangan Desimal Menjadi Bilangan Hexadesimal. Caranya adalah sama dengan mengubah ke bilangan biner hanya pembaginya = 16. Contoh : Carilah bilangan hexadesimal dari (8754)10 8764 : 16 = 547 sisa 12 (LSB) 0-15 10 A, 11 B, 12 C 547 : 16 = 34 sisa 3 34 : 16 = 2 : 16 = 2 sisa 2 0 sisa 2 (MSB) Hasilnya : (8754)10 = (223C)16 1.3.4. Mengubah Bilangan Biner Menjadi Bilangan Oktal. Untuk mengubah bilangan biner menjadi bilangan oktal yaitu dengan mengelompokkan bit-bit bilangan biner tersebut yang terdiri dari 3 bit dimulai dari LSB masing-masing kelompok tersebut. Kemudian dibaca bobot bilangannya atau nilai desi-malnya. Susunan bobot-bobot bilangan tersebut sudah merupakan bilangan oktalnya. Contoh : Hitunglah nilai oktal dari (101110111)2 101 / 110 / 111 = 101 5 6 110 111 7 Hasilnya : (101110111)2 = (567)8 1.3.5. Mengubah Bilangan Oktal Menjadi Bilangan Biner. Cara mengubah bilangan oktal menjadi bilangan biner yaitu masing-masing digit bilangan oktal tersebut diubah langsung menjadi bilangan biner yang terdiri dari 3 bit. Kemudian kelompok bit tersebut disusun sesuai dengan urutan semula. Contoh : Ubahlah (251)8 menjadi bilangan biner. (2 5 1 )8 = ( 010 101 001)2 010 101 001 1.3.6. Mengubah Bilangan Biner Menjadi Bilangan Hexadesimal. Cara mengubah bilangan biner menjadi bilangan hexadesimal yaitu dengan cara mengelompokkan bilangan biner tersebut menjadi kelompok yang terdiri dari 4 bit dimulai dari LSB. Susunan dari bobot bilangan masing-masing kelompok tersebut adalah bilangan hexadesimal yang dicari. Contoh : Ubahlah ( 110101101011)2 menjadi bilangan hexadesimal. 1101 / 0110 / 1011 13=D 6 = ( D6B )16 B 1.3.7. Mengubah Bilangan Hexadesimal Menjadi Bilangan Biner. Cara untuk mengubah bilangan hexadesimal menjadi bilangan biner yaitu masing-masing digit bilangan hexadesimal tersebut diubah langsung menjadi bilangan biner yang terdiri dari 4 bit kemudian kelompok bit tersebut disusun sesuai dengan urutan semula. Contoh : Ubahlah (251)16 menjadi bilangan biner . ( 2 5 1 )16 = (1001010001)2 0010 0101 0001 1.3.8. Bilangan Pecahan. Rumus bobot bilangan untuk bilangan pecahan : d-1r -1 + d -2 r -2 + ...............+ d -n r -n Sehingga rumus umum untuk suatu bilangan utuh dan pecahan adalah : N(r) = dnrn + dn-1 rn-1 + .........+ d1r1 + d0 r0 + d -1r-1 + d-2 r-2 + ........+ d-n r-n dimana : n = menunjukkan digit yang ke berapa dihitung dari do d = digit yang digunakan r = radiks dari bilangan Contoh : ( 25,1 )8 = ( 2x 81 ) + ( 5 x 80 ) + ( 1x 8-1 ) = 16 + 5 + 1/8 = ( 21,125 )10 ( 10,11 )2 = ( 1 x21 ) + (1 x 2-1 ) + ( 1x2-2 ) = 2 + 0,5 + 0,25 = ( 2,75 )10 Untuk mengubah bilangan desimal yang mengandung pecahan menjadi bilangan radiks lain, maka masing-masing bagian yang utuh dan yang pecahan dikerjakan sendiri-sendiri. Bilangan yang utuh iubah dengan cara pembagian sesuai dengan radiksnya terus-menerus sampai habis. Sedangkan bilangan pecahan diubah dengan cara mengalikan berturut-turut dengan radiks baru yang dikehendaki. Tiap-tiap hasil perkalian yang utuh (bukan pecahan) akan menjadi digit-digit pecahan bilangan baru tersebut. 32 16 8 4 2 1 Contoh : Ubahlah ( 20,11 )10 menjadi bilangan biner. Bagian yang utuh Bagian pecahan 20 : 2 = 10 sisa 0 (LSB) 0,11 x 2 = 0,22 0 10 : 2 = 5 sisa 0 0,22 x 2 = 0,44 0 5 : 2 = 2 sisa 1 0,44 x 2 = 0,88 0 2 : 2 = 1 sisa 0 0,88 x 2 = 1,76 11 1 : 2 = 1 sisa 1 (MSB) 0,76 x 2 = 1,52 1 ( 20 )10 = ( 10100 )2 0,52 x 2 = 1,04 1 0,04 x 2 = 0,08 0 ( 0,11 )10 = ( 0,000111 )2 10/3 Hasilnya : ( 20,11 )10 = ( 10100,000111)2 1.4. Komplemen-2 Komplemen-2 dari suatu bilangan biner diperoleh dengan menambahkan 1 pada komplemen-1. Komplemen-2 = Komplemen-1 + 1 Contoh : Komplemen-2 dari 1011 adalah ........... Solusi : Komplemen-1 dari 1011 -------> 0100 0100 1 ------- + 0101 (dalam bentuk komplemen-2) Pengurangan Komplemen-2 Cara mengurangi suatu bilangan biner dengan menggunakan komplemen-2 yaitu pengurangnya diubah dahulu ke bentuk komplemen-2 kemudian dijumlahkan dengan bilangan yang dikurangi. Jika ada pindahan (carry) pada bit MSB-nya, maka pindahan tersebut dibaikan dan hasilnya berupa bilangan positif. Contoh: 7 - 5 = ....... 111 (7) 101 (5) _ 111 (7) 011 + (komplemen 2 dari 5) 1010 Hasilnya adalah 010 (= + 2) carry digit-1 diabaikan 27 - 20 = ........ 11011 (27) 11011 (27) 10100 (20) _ 01100 + (komplemen-2 dari 20) 1 00111 diabaikan Hasilnya : 00111 ( + 7 ) Jika tidak ada pindahan pada bit MSB-nya berarti hasilnya negatif dan berada dalam bentuk komplemen-2. Contoh : 5 - 7 = ........... 101 (5) 111 (7) _ 101 (5) 001 + ( komplemen-2 dari 7) 110 (berada dalam bentuk kompl-2) Hasilnya : komplemen-2 = komplemen-1 + 1 110 = 101 + 001 dikomplemenkan menjadi = 010 ( = - 2) 1.5. Bilangan BCD ( Binary Coded Desimal) Sistem bilangan BCD menggunakan kode biner 4 bit untuk merepresentasikan bilangan desimal 0 sampai 9. Bilangan yang lebih besar dari bilangan ini dinyatakan dengan 2 atau lebih kelompok bilangan biner 4 bit. Contoh : 28 ditulis 0010 1000 yang ekivalen dengan (0010 x 101 ) + (1000 x 100 ) Nibble adalah string dari 4 bit. Bilangan BCD (Binary-coded-desimal) mengungkapkan setiap digit desimal sebagai sebuah nibble. Sebagai contoh : 2.945 dapat diubah menjadi bilangan BCD sebagai berikut : 2 9 4 5 0010 1001 0100 0101 Sebagaimana yang kita lihat, setiap digit desimal dikodekan dengan sebuah nibble. Pada penjumlahan bilangan BCD yang hasilnya lebih besar dari 9 ( 1001 ) maka harus dilakukan pindahan ke kelompok berikutnya. Contoh : 25 + 18 = 43 0010 0001 0011 1+ 0100 0101 1000 + 1101 1010 _ 1101 (25) (18) 0101 + 1 0010 1+ 0011 4 3