1 - Sistem Bilangan Komplemen
1 - Sistem Bilangan Komplemen
Sokku, ST
Arti sebenarnya dari bilangan 168 dapat dilihat dengan jelas jika kita perhatikan
pembacaannya “seratus enem puluh delapan”. Pada dasaarnya bilangan itu merupakan
kontraksi dari (1x100)+(6x 10)+8. Hal yang penting adalah harga setiap digit ditentukan
olah kedudukannya. Misalnya, 2 dalam 2000 berharga lain daripada 2 dalam 20. Kita
menyatakan hal ini dengan mengucapkan verbal “dua ribu” dan “dua puluh”. Representasi
verbal yang berbeda telah ditemukan untuk bilangan dari 10 sampai 20 (sebelas,
duabelas, ….), tetapi dari dua puluh ke atas kita memecah hanya pada pangkat 10
(ratusan, ribuan, jutaan, miliunan, biliunan). Namun, bilangan tersebut selalu dikontraksi,
dan hanya 10 simbol bilangan dipakai, tak peduli besarnya bilangan yang akan ditulis.
Aturan umum untuk merepresentasikan bilangan dalam sistem decimal dengan memakai
notasi kedudukan adalah sebagai berikut:
𝑎𝑛−1 10𝑛−1 + 𝑎𝑛−2 10𝑛−2 + ⋯ + 𝑎0 dinyatakan sebagai 𝑎𝑛−1 𝑎𝑛−2 … . 𝑎0, disinin
menyatakan banyaknya digit sebelah kiri tanda koma dalam sistem decimal.
Basis, atauradiks(radix) suatu sistem bilangan didefenisikan bilangan yang digit
berbeda-beda yang dapat menempati setiap kedudukan dalam sistem bilangan. Setiap
bilangan decimal memiliki basis, atau radiks 10. Ini berarti bahwa sistem memiliki 10 digit
yang berbeda (0,1,2,…,9), setiap digit dapat dipakai pada setiap kedudukan dalam
sebuah bilangan. Sejarah mencatat pemakaian beberapa sistem bilangan lain. Sistem
kuiner yang memiliki basis 5 lazim dipakai oleh orang-orang Eksimo dan Indian Amerika
Utara.Contoh sistem duodesimal (basis 12) dapat dilihat pada lonceng, inci, kaki, atau
gros.
Tabel 2.1
Desimal Biner Desimal Biner
1 = 1 11 = 1011
2 = 10 12 = 1100
3 = 11 13 = 1101
4 = 100 14 = 1110
5 = 101 15 = 1111
6 = 110 16 = 10000
7 = 111 17 = 10001
8 = 1000 18 = 10010
9 = 1001 19 = 10011
10 = 1010 20 = 10100
diterangkan, bilangan 125 berarti (1 x 102) + (2 x 101) + (5 x 100). Dalam sistem biner ,
bilangan yang sama (125) direpresentasikan sebagai 1111101 yang berarti
(1x26)+(1x25)+(1x24)+(1x23)+(1x22)+(1x20).
Perhatikan bahwa pecahan dibentuk dengan cara umun yang sama dengan dalam sistem
decimal. Misalnya,
0.123 = (1 × 10−1 ) + (2 × 10−2 ) + (3 × 10−3 )
dalam sistem desimal, dan
0.101 = (1 × 10−1 ) + (0 × 10−2 ) + (1 × 10−3 )
dalam sistem biner.
0×0 = 0
1×0 = 0
0×1 = 0
1×1 = 1
DESIMAL BINER
5 101
101) 11001
5) 25 101
101
101
DESIMAL BINER
2.416….. 10.011010101
12)29.0000 1100)11101.00
24 1100
50 10100
48 1100
20 10000
12 1100
80 ………
72
8
Konversi hasil bagi yang diperoleh dalam contoh kedua dari biner ke decimal ialah
sebagai berikut :
10.0110101 = 1 × 21 = 2. 0
0 × 20 = 0.0
0 × 2−1 = 0.0
1 × 2−2 = 0.25
1 × 2−3 = 0.125
0 × 2−4 = 0.0
1 × 2−5 = 0.03125
0 × 2−6 = 0.0
1 × 2−7 = 0.0078125
0 × 2−8 = 0.0
1 × 2−9 = 0.001953125
+
2.416015625
1 × 26 = 64
1 × 25 = 32
1 × 24 = 16
1 × 23 = 8
1 × 22 = 4
0 × 21 = 0
1 × 20 = 1
125
Metode ini tidak berlaku bagi bilangan yang mengandung pecahan. Jika metode
yang sama di pakai, kita perlu membagi bilangan itu menjadi bilangan bulat dan bilangan
pecahan. Ini berarti 102,247 harus di bagi menjadi 102 dan 0,247 dan representasi biner
untuk masing-masing bagian di cari, kemudian kedua bagian itu di jumlahkan.
Konversi pecahan desimal menjadi pecahan biner dapat di lakukan dengan
memakai beberapa teknik. Lagi-lagi cara terjelas ialah mengurangi pangkat bilangan
negatif terbesar dari 2 yang dapat di kurangakan dari pecahan desimal. Kemudian
pangakat negatif tertinggi berikutnya dari 2 dikurangkan dari sisa pengurangan pertama,
dan proses ini diteruskan sampai sisanya tidak ada, atau sampai kecermatan yang di
perllukan.
Jadi 0,875 desimal direpresentasikan sebagi 0,111 biner. Suatu cara yang lebih
sederhana untuk pecahan yynang lebih panjang ialah dengan berulang-ulang
“menggandakan” pecahan desimal itu. Jika 1 muncul di sebalah kiri koma desimal setelah
perkalian dengan 2 dilakukan, 1 ditambahkan pada bagian kanan pecahan biner yang di
bentuk. Jika perkalian dengan 2, angka 0 ada di sebelah kiri koma bilangan desiamal; 0
ditambah pada sebelah kanan bilangan biner. Contoh berikut ini menjelaskan pemakaian
teknik ini dalam mongkorvensi 0,4375 desimal menjadi sistem biner.
Representasi Biner
Dalam hal ini masing-masing bit biner disimpan dalam peranti dwi-mantap yang
terpisah. Simbol selain garis bawah dapat dipakai untuk memisahkan bit tanda dan bit
harga, misalnya memakai garis pendek, titik atau bintang. Jadi, -1011 (desimal 11 negatif)
dapat ditulis 1-1011 atau 1*1011 dan +1100 sebagai 0-1100 atau 0*1100 atau 0.1100.
sebenarnya, tanpa tanda juga dapat dipakai dirasakan bahwa indikasi dapat dibuat untuk
memudahkan pembacaan bilangan bertanda yang memakai bit tanda.
Tabel 2.3
KODE EKSES 3
Desimal Kode Biner
0 0011
1 0100
2 0101
3 0110
4 0111
5 1000
6 1001
7 1010
8 1011
9 1100
kita memerlukan 12 bit biner sebagai berikut : 0010 0001 0100. Untuk
merepresentasikan 1246 diperlukan 16 bit: 0001 0010 0100 0110.
Ini merupakan kode yang sangat berguna dan telah banyak dipakai.Namun, salah
satu kesulitan kode ini terletak pada pembentukan komplemen suatu bilangan dalam
sistem ini. Sudah menjadi lazim untuk melakukan pengurangan dalam computer dengan
menjumlahkan komplemen pengurangan ; namun, jika sistem BCD 8, 4, 2, 1 dipakai,
komplemen bilangan tersimpan yang paling wajar tidak terpakai, karena cara terlangsung
untuk computer untuk membuat komplemen sebuah bilangan ialah dengan mengubah
setiap 9 menjadi 1 dan 1 menjadi 0. Namun, komplemen alalmiah dari 0010 (2 desimal)
ialah 1101, yang berharga 13 dan bukan karakter BCD yang sah dalam sistem ini. Untuk
mengatasi kesukaran ini beberapa kode lain telah dipakai. Salah satu kode yang
pertaman dipakai dalam mesin Mark yang dibangun di Harvard dan telah dipakai secara
luas sejak waktu itu ialah kode akses 3 dan dibentuk dengan menambahkan 3 pada
bilangan decimal disusul dengan membentuk bilangan terkode biner dalam kode biner
berbobot normal. Misalnya untuk membentuk representasi akses 3 dari 4, mula-mula kita
tambah 3, menghasilkan 7, kemudian, BCD yang “normal” dipakai, sehingga
menghasilkan 0111.Jadi 0111 adalah kode akses 3 untuk digit decimal 4.Table 2.3
menunjukkan 10 digit decimal dank ode untuk masing-masingnya.
Dengan melakukan komplemen untuk setiap digit dari kode biner yang
merepresentasikan digit decimal, komplemen 9 digit tersebut terbentuk.Misalnya,
komplemen dari 0100 (1 desimal) ialah 1011, yaitu 8 desimal.
Bilangan decimal 243 dikode dalam sistem ekses 3 menjadi 0101 0111 0110, dan
bilangan decimal 347 menjadi 0110 0111 1010. Komplemen 9 dari 243 ialah 756 desimal,
atau 1010 1000 1001 biner. Table 2.4 mendaftar representasi kode akses 3 untuk setiap
digit desimal untuk 10 bilangan bersama dengan komplemen 9 dari masing-masing
kelompok kode dapat dibentuk dengan mengubah setiap 10 bilangan bersama dengan
komplemen 9 yang bersangkutan . dapat diperiksa bahwa komplemen 9 dari masing-
masing kelompok kode dapat dibentulk dengan mengubah setiap 0 menjadi 1 dan 1
menjadi 0 kelompok kode.
Kode akses 3 bukan merupakan kode yang berbobot. Karena pada masing-masing
bit tidak bias diberi bobot tertentu sedemikian seihngga jumlahnya sama dengan digit
decimal yang direpresentasikannya.
Tabel 2.4
Digit
Kode Ekses 3 Komplemen 9
Desimal
0 0011 1100
1 0100 1011
2 0101 1010
3 0110 1001
5 0111 1000
6 1000 0111
7 1001 0110
8 1010 0101
9 1100 0011
BINER TERKODE
BOBOT BIT
Desimal 2 4 2 1
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 1 0 1 1
6 1 1 0 0
7 1 1 0 1
8 1 1 1 0
9 1 1 1 1
Tabel 2.6
OKTAL DESIMAL OKTAL DESIMAL
0 0 11 9
1 1 12 10
2 2 13 11
3 3 14 12
4 4 15 13
5 5 16 14
6 6 17 15
7 7 20 16
10 8 21 17
Tabel 2.7
TIGA DIGIT BINER DIGIT OKTAL
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7
1111101112 = 7672
1101101012 = 6658
110112 = 338
10012 = 118
10101.112 = 25.68
1100.1112 = 14.78
1011.11112 = 13.748
200 ÷ 8 = 25 sisa 0
25 ÷ 8 = 3 sisa 1
3 ÷ 8 = 0 sisa 3
Jadi 2002 = 3108
Perhatikan jika bilangan yang harus dibagi kurang dari 8, kita pakai 0 sebagai
pembagi dan bilangan itu sendiri sebagai sisa. Marilah kita periksa :
3108 = (310 × 8210 ) + (110 × 8110 ) + (010 × 8010 ) = 19210 + 810 = 20010
Dibawah ini ada satru contoh lagi. Kita ingin mengkonversi 3964 10 menjadi oktal:
Terdapat beberapa teknik lain untuk mengkoversi oktal ke desimal dan desimal ke
oktal, tetapi teknik ini biasanya tidak sering dipakai secara manual, dan pemakaian telah
terbukti bernilai sama seperti cara lain dalam proses seperti ini. Tabel oktal ke desimal
dan desimal ke oktal tersedia pada buku-buku tertentu, termasuk buku yang diterbitkan
oleh pabrik mesin biner.
Pemakaian penting dari oktal ialah dalam pembuatan daftar program dan untuk
“perlimbahan” (dumps) untuk mesin biner, sehinbgga amembuat pencetaknya lebih total.
Buku pertunjuk beberapa pabrik terbesar memakai bilangan oktal untuk
merepresentasikan bilangan biner karena kemudahan konversi dan ketetalannya.
Sistem bilangan heksadesimal sangat berguna karena alasan yang sama. Semua
seri computer IBM 370 dan computer besar lainnya, juga khusunya banyak mini computer
dan mikrokomputer, memorinya diorganisasi menjadi kumpulan-kumpulan byte, masing-
masing terdiri dari delapan digit biner.Setiap byte dipakai sebagai kesatuan tunggal untuk
merepresentasikan karakter alfanumerik atau dipecah menjadi dua potongan 4 bit. (Kita
akan memeriksa pengkodean karakter alfanumerik dengan memakai byte dalam bab 7).
Jika byte diperlukan sebagai dua potongan 4 bit, maka pemrogramannya bebas untuk
memilih untuk menyatakan setiap karakter 4 bit sebagai suatu bilangan biner atau dua
bilangan desimal berkode biner. Misalnya byte 00011000 dapat dinyatakan sebagai
bilangan biner, dalam kasus ini bilangan itu sama dengan 24 desimal, atau sebagai dua
karakter desimal terkode biner, dalam kasus ini bilangan itu merepresentasikan bilangan
desimal 18.
Jika mesinnya mengolah bilangan dalam biner, tetapi dalam kelompok empat digit,
lebih enak untuk mempunyai satu kode untuk merepresentasikan masing-masing
kumpulan empat digit itu. Karena terdapat 16 kode bilangan berbeda yang bias
direpresentasikannya, digit 0 hingga 9 tidak cukup banyak, sehingga huruf A, B, C, D, E
dan F juga dipakai (lihat Tabel 2.8).
Untuk mengkonvesikan biner keheksadesimal kita memecah bilangan biner itu
menjadi enak untuk mempunyai satu kode untuk merepresentasikan setiap kelompok
empat digit menurut kode yang dituliskan di atas. Jadi 101110112 = BB16, 100101012
=9516, 110001112 = C716, dan 100010112 = 8B16. Campuran alphabet dan digit desimal
Tabel 2.8
kelihatannya aneh ketika baru melihatnya, tetapi itu sebenarnya tidak lain dari symbol
yang memudahkan, seperti juga digit desimal.
2.13 RINGKASAN
Sel memori individual yang dipakai dalam computer adalah dwimantap dalam operasinya
dan mampu menyimpan bit biner tunggal. Jadi yang paling praktis dipakai untuk
merepresentasikan bilangan biner, dan sistem ini telah dijelaskan beserta dengan teknik
konversinbya ked an dari computer.
Bilangan negative direpresentasikan dalam computer dengan memakai bit tanda
yaitu 1 bilangan itu negataif dan 0 bila bilangan itu positif. Bilangan negative seringkali
disertai dengan contoh bagaimana campuran bilangan yang direpresentasikan dalam
bentuk itu dapat ditambahkan atau dikurangkan.
Representasi langsung dari bilangan decimal dapat dilaksanakan dengan memakai
representasi BCD (biner terkode desimal).Hal ini dijelaskan dan contohnya pun diberikan.
Sistem bilangan octal dan heksadesimal dijelaskna juga. Sistem ini sangat berguna
untuk merepresentasikan bilangan biner dalam bentuk kompak dan untuk memudahkan
komunikasi harga dalam penyajian tertulis. Computer seringkali terorganisasi dengan
bilangan yang direpresentasikan dalam kelompok 8 bit yang membuat heksadesimal
sangat berguna pada saat ini.