Translate

Wednesday, April 24, 2013

SISTEM BILANGAN KOMPUTER

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 per-hitungannya 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
                                                    1  +  1  = 0  , dengan pindahan 1 pada bit biner sebelah                                               kirinya.
         Contoh :
         1).      1 0 0 1  (9)                                    2).      0 1  1  1  (7)
                    1 1 1 0  (14)                                            1 0  1 0   (10)
                   ---------------  +                                                                    ----------------------------.  +
                   1  0 1 1 1  (23)                                       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. Tiap-tiap 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)            0110 (komplemen-1=hasilnya)
                   -------+                                               menunjukkan hasilnya bil.negatif  -6
menanda-   0101 (Hasilnya +5)                   
kan hasilnya bil.positif

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  sisa 5
                            1 : 8 =    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 sisa  2
                             2  : 16 =     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 menge-lompokkan 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    110    111
                         5           6       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      =    ( D6B )16
                         13=D       6            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)                          111    (7)
                                   101 (5)   _                     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)                            101 (5)
                                 111 (7) _                         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 bilang-an 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        0101         (25)
                 0001        1000 +      (18)
                 0011        1101
                       1 +      1010  _
                 0100        1101
                                 0101 +
                                                   1 0010
                                        1 +    
                                 0011
                   4              3

No comments:

Post a Comment