SISTEM BILANGAN
Banyak sistem bilangan yang dapat dan telah dipakai dalam melaksanakan
perhitungan. Tetapi ada sistem bilangan yang sudah jarang dipakai ataupun tidak
dipakai lagi sama sekali dan ada pula sistem bilangan yang hanya dipakai pada
hal-hal tertentu saja. Sistem bilangan limaan (quinary) dipergunakan oleh orang
Eskimo dan orang Indian di Amerika Utara zaman dahulu. Sistem bilangan
Romawi yang sangat umum dipakai pada zaman kuno, kini pemakaiannya terba-
tas pada pemberian nomor urut seperti I untuk pertama, II untuk kedua, V untuk
kelima dan seterusnya; kadang-kadang dipakai juga untuk penulisan tahun seperti
MDCCCIV untuk menyatakan tahun 1804. Sistem bilangan dua belasan
(duodecimal) sampai kini masih banyak dipakai seperti 1 kaki = 12 Inci, 1 lusin =
12 buah dan sebagainya. Namun yang paling umum dipakai kini adalah sistem
bilangan puluhan (decimal) yang kita pakai dalam kehidupan sehari-hari.
Karena komponen-komponen komputer digital yang merupakan sistem digi-
tal bersifat saklar (switch), sistem bilangan yang paling sesuai untuk komputer
digital adalah sistem bilangan biner (binary). Keserdehanaan pengubahan
bilangan biner ke bilangan oktal atau heksadesimal dan sebaliknya, membuat bi-
langan oktal dan heksadesimal juga banyak dipakai dalam dunia komputer, teru-
tama dalam hubungan pengkodean. Bilangan Biner, Oktal dan Heksadesimal
akan dibahas dalam bab ini didahului dengan pembahasan singkat tentang bilang-
an desimal sebagai pengantar.
1
1.1 Sistem Bilangan Puluhan 2
letak ke 1 adalah 101, nilai letak ke 2 adalah 102 = 100, dan seterusnya nilai letak
ke n-1 adalah 10n-1.
Untuk bilangan yang mengandung bagian pecahan, bagian bulat dan pecah-
annya dipisahkan oleh tanda koma (tanda titik di Inggris, Amerika, dan lain-lain).
Angka di kanan tanda koma puluhan (decimal point) disebut pada kedudukan
negatif, yaitu letak ke -1, ke -2 dan seterusnya dan nilai letaknya adalah 10-1, 10-2,
dan seterusnya 10-m untuk kedudukan ke (-m) di kanan koma puluhan. Nilai yang
diberikan oleh suatu angka pada suatu bilangan adalah hasil kali dari pada nilai
mutlak dan nilai letaknya. Jadi, nilai yang diberikan oleh angka 5 pada bilangan
1253,476 adalah 5x101 = 50 dan yang diberikan oleh angka 7 adalah 7x10 -2 =
0,07.
Secara umum, suatu bilangan puluhan yang terdiri atas n angka di kiri tanda
koma puluhan dan m angka di kanan tanda koma puluhan, yang dapat dinyatakan
dalam bentuk:
N = an-1 an-2 ... a1 a0, a-1 a-2 ... a-m,
mempunyai harga yang dapat dinyatakan dalam bentuk:
N = an-1 10n-1 + an-2 10n-2 +...+ a1 101 + a0 100 + a-1 10-1 + a-2 10-2 + ...
+ a-m 10-m (1.1)
2
samaan (1.2) di atas dengan memasukkan R= 2 ke dalamnya. Sebagai contoh,
harga bilangan biner 101,01 adalah :
1 x 22 + 0 x 21 + 1 x 20 + 0 x 2-1 + 1 x 2-2 = 5,25
Dapat disadari bahwa bila kita bekerja dengan lebih dari satu bilangan,
maka kita akan mengalami kebingungan bila kita tidak memakai suatu tanda yang
menyatakan dasar setiap bilangan. Untuk mencegah hal ini, pada setiap bilangan
dicantumkan dasar bilangannya, seperti (101) 2 atau 1012 untuk menyatakan
bilangan 101 dalam biner. Jadi, contoh diatas dapat dituliskan sebagai :
(101,01)2 = (5,25)10
Untuk uraian selanjutnya, kita akan memakai cara penulisan ini bilamana
diperlukan. Bilamana dasar dari pada bilangan sudah jelas dari uraian ataupun
bila kita hanya membicarakan satu sistem bilangan, tentunya kita tidak perlu dan
tak akan memberikan tanda tersebut. Didalam praktek pemrograman komputer,
sering tanda tersebut hanya diberikan kepada bilangan yang bukan puluhan.
3
1.1 Sistem Bilangan Puluhan 4
Contoh 1.
Tentukanlah bilangan biner yang berharga sama dengan desimal 118.
Pembagian secara berturut-turut akan menghasilkan:
118 : 2 = 59 sisa 0 7:2= 3 sisa 1
59 : 2 = 29 sisa 1 3:2= 1 sisa 1
29 : 2 = 14 sisa 1 1:2= 0 sisa 1
14 : 2 = 7 sisa 0 0:2= 0 sisa 0
Jadi, (118)10 = (01110110)2
Contoh 2.
Tentukanlah bilangan biner yang berharga sama dengan desimal 0,8125.
Pengalian dengan 2 secara berturut-turut akan menghasilkan :
0.8125 x 2 = 1,625 0,500 x 2 = 1,000
0,625 x 2 = 1,250 0,000 x 2 = 0,000
0,250 x 2 = 0,500
Jadi, (0,8125)10 = (0,11010)2
Perhatikan bahwa angka-angka biner yang dicari adalah angka yang di kiri
4
tanda koma, dan yang paling kiri dalam bilangan biner adalah angka di kiri koma
hasil perkalian pertama. Juga perhatikan bahwa walaupun pengalian diteruskan
hasil perkalian akan tetap 0 dan ini benar karena penambahan angka 0 ke kanan
tidak akan mengubah harganya.
Contoh 3.
Ubahlah bilangan desimal 457,65 ke bilangan biner.
Untuk melakukan konversi ini, dilakukan pembagian untuk bagian bulatnya
dan pengalian untuk bagian pecahannya seperti yang dilakukan pada kedua con-
toh sebelumnya, dengan hasil sebagai berikut ini:
5
1.1 Sistem Bilangan Puluhan 6
1.4 Komplemen
Dalam sistem digital, semua perhitungan aljabar, baik perjumlahan, pengu-
rangan, perkalian maupun pembagian, dilaksanakan dengan penjumlahan. Perka-
lian dan pembagian dilaksanakan dengan melakukan penjumlahan diselingi peng-
geseran. Pelaksanaan pengurangan dengan penjumlahan dilakukan dengan
menambahkan harga negatif bilangan pengurang. Ini dapat dilihat dari
6
persamaan: X - Y = X + (- Y)
Dalam pelaksanaannya, semua bilangan negatif dinyatakan dalam harga
komplemennya. Untuk setiap sistem bilangan dengan dasar R (radix, basis), dibe-
dakan 2 jenis komplemen, yaitu komplemen R dan komplemen R-1. Jadi, untuk
sistem bilangan desimal dengan R= 10 ada komplemen 10 dan ada komplemen 9;
untuk oktal ada komplemen 8 dan komplemen 7; untuk heksadesimal ada
komplemen 16 dan komplemen 15, dan seterusnya.
Komplemen suatu bilangan N dalam sistem bilangan dengan dasar R dide-
finisikan sebagai berikut :
Komplemen R dari N : (N)c,R = Rn - N , N = 0 (1.3)
=0, N=0
Komplemen R-1 dari N : (N)c,R-1 = Rn - R-m - N (1.4)
dengan: n = cacah angka pada bagian bulat,
m = cacah angka pada bagian pecahan.
Contoh 1.
Tentukan komplemen R dari pada bilangan-bilangan berikut:
a. (345)10 b. (327,15)10 c. (10110)2
d. (1101,01)2 e. (320)16 f. (A53,2)16
Penyelesaian :
a. Komplemen 10: (345)c,10= 103- 345 = 1000 - 345 = 655
Komplemen 9: (345)c,9 = 103- 100 - 345 = 654
7
1.1 Sistem Bilangan Puluhan 8
Contoh 2.
Dari contoh 1 di atas dapat dilihat bahwa:
(327,15)c,9 = 672,84
1
672,85 = (327,15)c,10
(10110)c,1 = (01001)2
1
(01010)2 = (10110)c,2
dan seterusnya.
Sebenarnya, komplemen bilangan biner dapat diperoleh dengan sangat
mudah. Komplemen 1 diperoleh dengan menggantikan setiap angka 0 menjadi 1
dan angka 1 menjadi 0. Komplemen 2 dapat diperoleh dengan menambahkan 1
kepada komplemen 1 atau kalau kita bergerak dari kanan ke kiri, biarkanlah
semua angka 0 dan angka 1 paling kanan tak berubah dan semua angka yang di
kiri angka 1 ini diubah dari 0 menjadi 1 dan dari 1 menjadi 0.
Contoh 3.
(a) Untuk bilangan biner 10100100
8
komplemen 1 adalah : 01011011
komplemen 2 adalah : 01011100
Perhatikanlah bahwa untuk komplemen 1, masing-masing bit dikomple-
menkan, 0 menjadi 1 dan 1 menjadi 0, sedangkan untuk komplemen 2 kedua bit 0
di kanan dan bit 1 paling kanan tidak diubah sedangkan bit di kiri bit 1 paling ka-
nan ini dikomplemenkan masing-masing bitnya. Hal ini juga berlaku walaupun
bilangan biner itu mempunyai bagian pecahan, seperti pada contoh (b) berikut ini.
9
1.1 Sistem Bilangan Puluhan 10
Contoh 2.
Pengurangan dengan komplemen 2 untuk biner.
100100 - 100010 : M = 100100, N= 100010
dan -N= (100010)c,2 = 011110
Maka hasil pengurangan adalah :
100100
011110
+
end carry → 1 000010
end carry, dibuang : 000010
100100 - 101100 :
Karena (101100)c,2 = 010100, maka penjumlahan menghasilkan :
100100
010100
+
111000
Karena tidak ada end carry, harga sebenarnya adalah negatif dari 111000,
yaitu: -001000.
10
end carry 1 000001
1
000010
100100 → 100100
101100 → 010011
110111
Negatif komplemen-1: - 001000
Dari uraian di atas dapat dilihat bahwa pengubahan suatu bilangan ke kom-
plemen R-1 lebih mudah dibandingkan dengan pengubahan ke komplemen R.
Tetapi dalam pelaksanaan penjumlahan, komplemen R-1 membutuhkan dua kali
penjumlahan bila ada "end carry", sedangkan dalam komplemen R end carry di-
abaikan/ dibuang saja tanpa perlu dijumlahkan lagi. Disamping itu, dalam penya-
jian dengan komplemen R-1 ada dua harga 0, yaitu +0 dan -0, sedangkan dalam
komplemen R hanya ada satu 0. Hal ini dapat ditunjukkan dengan pengurangan
suatu bilangan dengan bilangan itu sendiri. Sebagai contoh, hasil 1011 - 1011
adalah:
Komplemen 2: 1011
0101
+
0000 (end carry dibuang)
Komplemen 1: 1011
0100
+ (tak ada end carry, negatif)
1111
Dalam perhitungan Aljabar, adanya dua harga nol ini dapat mem-
bingungkan, terutama bila tanda dipakai untuk menentukan langkah proses
selanjutnya. Namun demikian, karena mudahnya pengubahan ke komplemen 1
dalam biner, penyajian dalam komplemen 1 masih juga dipakai.
11
1.1 Sistem Bilangan Puluhan 12
Dalam penyajian dalam bentuk harga mutlak dengan tanda, harga data yang
sebenarnya dapat dilihat langsung dari bagian harga mutlaknya dan bit tanda.
Operasi pengurangan dalam penyajian ini dilakukan seperti biasa dan tanda hasil-
nya ditentukan dengan membandingkan harga mutlak dari bilangan pengurang
terhadap yang dikurangi. Jadi, bit tanda diperlakukan secara terpisah. Dibanding-
kan dua cara penyajian lainnya, penyajian ini lebih jarang dipakai dalam kom-
puter kini.
Penyajian dalam komplemen tidak memperlakukan bit tanda terpisah dari
bit-bit harga mutlak. Harga mutlak sebenarnya tergantung dari harga bit tanda.
Setiap data bilangan negatif mempunyai bit tanda 1 dan untuk mengetahui harga
mutlaknya, bilangan itu harus dikomplemenkan secara keseluruhan. Tetapi harga
mutlak bilangan positif segera dapat dilihat dari penyajian biner bilangan itu.
Sebagai contoh, untuk menyatakan bilangan desimal -45 dalam biner 8 bit, perta-
ma harus dicari setara 45 dalam biner, baru dikomplemenkan. Harga biner 45
disajikan dalam 8 bit adalah 0010 1101. Maka -45 adalah 1101 0010 dalam kom-
plemen 1 dan 1101 0011 dalam komplemen 2.
Karena panjang kata dalam setiap komputer sudah tertentu maka dalam
melakukan pengurangan dalam komplemen, semua bit sebelah kiri yang berharga
0 pun harus ditunjukkan secara lengkap, tak boleh hanya memperhatikan bit-bit
yang di sebelah kanan bit 1 paling kiri. Sebagai contoh, untuk mengurangkan 17 -
5 dalam biner, maka pengurangan harus dilakukan sebagai berikut :
12
(komplemen 1) (komplemen 2)
13
1.1 Sistem Bilangan Puluhan 14
membuat menjadi bilangan bulat tak bertanda, pangkat ini dibiaskan dengan
menambahkan kepada pangkat yang sebenarnya satu harga bias (2 w-1 – 1)= 28-1 – 1
= 127. Ini membuat pangkat yang sebenarnya -127 disajikan (disimpan) sebagai
berharga 0 sedangkan untuk pangkat yang sebenarnya +127 disimpan berharga
254. Jadi harga pangkat yang sebenarnya adalah harga E dikurangi bias (=127).
Jadi E= 0 menunjukkan pangkat -127, E= 255 menunjukkan pangkat +128.
Mantisa merupakan pecahan yang dinormalisasi dengan digit bobot
tertinggi, yaitu digit pertama di kanan titik pecahan, berharga tidak 0 (dalam biner
artinya =1). Karena MSB ini selalu berharga 1 dan bersifat implisit, maka bit ini
tak perlu disimpan sehingga mantissa dapat dinyatakan dalam panjang bit
bertambah satu.
Dalam standar (IEEE 754), bilangan FLP ini dibedakan atas presisi tunggal
(single precision) dan presisi ganda(double precision). Dalam presisi tunggal data
disajikan dalam 32 bit dengan pangkat 8 bit dan mantissa 23 bit sedangkan presisi
ganda menggunakan 64 bit dengan pangkat 11 bit dan mantissa 52 bit seperti
ditunjukkan berikut ini.
31 30 23 22 0
S Exp (8) Mantissa(23)
presisi tunggal
63 62 52 51 0
presisi ganda S Exp (11) Mantissa(52)
14
Jadi harga sebenarnya adalah: 0.1111 1010 0100 0000 0000 0000 x 27
= 111 1101.0010 000 0000 0000 00
= 125.125
Harga pangkat (exponent) E= 0, semua 0 yang berarti pangkat -127, dan E=
11111 111, semua 1 yang berarti pangkat +128 (= 255-127), dalam standar IEEE
digunakan untuk keperluan khusus.
E=0, M= 0 menunjukkan bilangan 0.
M≠ 0, disebut bilangan tak ternormalisasi (denormalized), yaitu tidak
mempunyai bit 1 di depan titik biner.
E=11...11 (semua 1), M= 0 menunjukkan bilangan tak berhingga (= ).
M≠ 0, disebut bukan bilangan (Not a Number, NaN).
15
1.1 Sistem Bilangan Puluhan 16
16
desimal (0-9), yang tetap berbeda hanya satu bit untuk dua harga berturutan,
bahkan antara 9 dan 0, tetapi sifat reflektifnya berada pada setengan harga
desimal yaitu untuk kode desimal 5-9, merupakan bayangan cermin dari pada
setengah bagian bawah, yaitu kode untuk desimal 0-4, kecuali untuk bit 3 (bit ke
4 dari kanan) seperti ditunjukkan pada kolom paling kanan pada Tabel 1.1.
17
1.1 Sistem Bilangan Puluhan 18
18
ESC 1B 24 0,9,7 ; 3B 5E 11,8,6
FS 1C 1C 11,9,8,4 < 3C 4C 12,8,4
GS 1D 1D 11,9,8,5 = 3D 7E 8,6
RS 1E 1E 11,9,8,6 > 3E 6E 0,8,6
US 1F 1F 11,9,8,7 ? 3F 6F 0,8,7
@ 40 7C 8,4
Tabel 1.2. Kode Alfanumerik (Lanjutan)
Tanda ASCII EBCDIC Kartu Tanda ASCII EBCDIC Kartu
A 41 C1 12,1 a 61 81 12,0,1
B 42 C2 12,2 b 62 82 12,0,2
C 43 C3 12,3 c 63 83 12,0,3
D 44 C4 12,4 d 64 84 12,0,4
E 45 C5 12,5 e 65 85 12,0,5
F 46 C6 12,6 f 66 86 12,0,6
G 47 C7 12,7 g 67 87 12,0,7
H 48 C8 12,8 h 68 88 12,0,8
I 49 C9 12,9 i 69 89 12,0,9
J 4A D1 11,1 j 6A 91 12,11,1
K 4B D2 11,2 k 6B 92 12,11,2
L 4C D3 11,3 l 6C 93 12,11,3
M 4D D4 11,4 m 6D 94 12,11,4
N 4E D5 11,5 n 6E 95 12,11,5
O 4F 6 11,6 o 6F 96 12,11,6
P 50 D7 11,7 p 70 97 12,11,7
Q 51 D8 11,8 q 71 98 12,11,8
R 52 D9 11,9 r 72 99 12,11,9
S 53 E2 0,2 s 73 A2 11,0,2
T 54 E3 0,3 t 74 A3 11,0,3
U 55 E4 0,4 u 75 A4 11,0,4
V 56 E5 0,5 v 76 A5 11,0,5
W 57 E6 0,6 w 77 A6 11,0,6
X 58 E7 0,7 x 78 A7 11,0,7
Y 59 E8 0,8 y 79 A8 11,0,8
Z 5A E9 0,9 z 7A A9 11,0,9
[ 5B AD 12,8,2 ( 7B 8B 12,0
\ 5C 15 0,8,2 | 7C 4F 12,11
] 5D DD 11,8,2 ) 7D 9B 11,0
^ 5E 5F 11,8,7 ~ 7E 4A 11,0,1
_ 5F 6D 0,8,5 DEL 7F 07 12,9,7
‘ 60 14 8,1
*)
ASCII dan EBCDIC ditulis dalam kode Hexadecimal
Dalam pemakaian bit parity dikenal dua macam cara: parity genap (even)
19
1.1 Sistem Bilangan Puluhan 20
dan parity ganjil (odd). Dalam sistem parity ganjil, cacah bit 1 harus selalu ganjil.
Bila dalam sistem ini diterima suatu kode dengan cacah bit 1 yang genap, ini ber-
arti telah terjadi kesalahan dalam pengiriman. Dalam sistem parity genap cacah
bit 1 dalam setiap unit kode harus tetap genap. Bila dalam sistem ini diterima
diterima suatu satuan kode dengan cacah bit 1 yang ganjil, maka suatu kesalahan
telah terjadi dalam transmisi. Sebagai contoh, untuk kode-kode BCD standar di
depan, satu angka desimal akan dikirimkan sebagai satuan yang terdiri atas 5 bit
setelah ditambahkan satu bit parity, biasanya pada posisi nilai tertinggi (di kiri).
Untuk desimal 5 dan 8, yang kode-kode sebenarnya adalah 0101 dan 1000, dalam
sistem parity ganjil akan dikirimkan sebagai 10101 dan 01000, sedangkan dalam
parity genap kode-kode tersebut akan dikirimkan sebagai 00101 dan 11000.
20
11. Nyatakanlah harga desimal berikut ini dalam floating point 32 bit:
375.435 -1357.002535 -0.002535
12. Tentukanlah harga desimal yang dinyatakan oleh floating point dalam
heksadesimal : B57C4000
13. Tuliskanlah kode ASCII dan EBCDIC, baik secara biner maupun heksadesi-
mal, larik : "Kodya Medan (SUMUT)".
1 SISTEM BILANGAN 1
1.1 Sistem Bilangan Puluhan 1
1.2 Biner, Oktal dan Heksadesimal 2
1.2.1 Bilangan Biner 2
1.2.2 Bilangan Oktal dan Heksadesimal 3
1.3 Konversi Bilangan 3
1.3.1 Konversi Desimal-Biner 4
1.3.2 Konversi Biner-Oktal-Heksadesimal 5
1.3.3 Konversi Desimal-Oktal dan Heksadesimal 6
1.4 Komplemen 6
1.5 Pengurangan dengan Komplemen 9
1.5.1 Pengurangan dengan komplemen R 9
1.5.2 Pengurangan dengan komplemen R-1 10
1.6 Pengurangan dalam Komputer Digital 11
21
1.1 Sistem Bilangan Puluhan 22
22