Anda di halaman 1dari 22

1

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 Sistem Bilangan Puluhan


Sistem bilangan puluhan atau desimal (decimal system) adalah sistem bilan-
gan yang kita pergunakan sehari-hari. Sistem bilangan ini disusun oleh sepuluh
simbol angka yang mempunyai nilai yang berbeda satu sama lain dan karena itu
dikatakan bahwa dasar/basis atau akar (base, radix) dari pada sistem bilangan ini
adalah sepuluh. Kesepuluh angka dasar tersebut, sebagaimana telah kita ketahui,
adalah: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Nilai yang terkandung dalam setiap simbol
angka secara terpisah (berdiri sendiri) disebut nilai mutlak (absolute value).
Jelaslah bahwa harga maksimum yang dapat dinyatakan oleh hanya satu angka
adalah 9. Harga-harga yang lebih besar dapat dinyatakan hanya dengan memakai
lebih dari satu angka secara bersama-sama. Nilai yang dikandung oleh setiap
angka di dalam suatu bilangan demikian ditentukan oleh letak angka itu di dalam
deretan di samping oleh nilai mutlaknya. Cara penulisan ini disebut sebagai
sistem nilai (berdasarkan) letak/posisi (positional value system). Angka yang
berada paling kanan dari suatu bilangan bulat tanpa bagian pecahan disebut
berada pada letak ke 0 dan yang di kirinya adalah ke 1, ke 2 dan seterusnya sam-
pai dengan ke (n-1) jika bilangan itu terdiri dari n angka. Nilai letak dari pada
angka paling kanan, yaitu kedudukan ke 0, adalah terkecil, yaitu 10 0 = 1. Nilai

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)

1.2 Biner, Oktal dan Heksadesimal


Secara umum, semua sistem digital bekerja dengan sistem bilangan biner
(binary) sehingga sistem binerlah yang paling penting dalam sistem digital. Selain
sistem bilangan biner, sistem yang paling umum dipakai dalam pengkodean
instruksi untuk komputer digital adalah sistem bilangan oktal dan hekadesimal.
Harga dalam desimal (puluhan) yang dinyatakan oleh suatu bilangan biner,
oktal, heksadesimal atau yang lain-lain yang bukan desimal dapat dihitung
dengan memakai rumus:
an-1an-2... a1a0 a-1a-2... a-m= an-1 Rn-1 + an-2 Rn-2 +... + a1 R1 + a0 R0
+ a-1 R-1 + ... + a-m R-m (1.2)
dengan: an-1 = angka yang paling kiri,
R = Angka dasar dari pada sistem bilangan
n = cacah angka yang menunjukan bilangan bulat
m = cacah angka yang menunjukkan bilangan pecahan
Persamaan (1.2), yang merupakan bentuk umum dari pada persamaan (1.1),
berlaku untuk semua sistem bilangan yang berdasarkan letak yang tegas. Untuk
semua sistem bilangan seperti bilangan Romawi, misalnya, persamaan ini
tentunya tak dapat dipergunakan.

1.2.1 Bilangan Biner


Sistem bilangan biner mempunyai hanya dua macam simbol angka, yaitu 0
dan 1, dan karena itu dasar dari sistem bilangan ini adalah dua. Harga yang ditun-
jukkan oleh bilangan biner dalam puluhan dapat dihitung dengan memakai per-

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.

1.2.2 Bilangan Oktal dan Heksadesimal


Bilangan Oktal mempunyai delapan macam simbol angka, yaitu: 0, 1, 2, 3,
4, 5, 6, 7, dan karena itu, dasar daripada bilangan ini adalah delapan. Harga
desimal yang dinyatakan oleh suatu bilangan oktal diperoleh dengan me-
masukkan R= 8 kedalam pers. (1.2) di depan. Sebagai contoh,
(235,1)8 = 2 x 82 + 3 x 81 + 5 x 80 + 1 x 8-1 = (157,125)10.
Sistem bilangan Heksadesimal terdiri atas 16 simbol angka sehingga bilang-
an dasarnya adalah 16. Sepuluh dari simbol tersebut diambil dari kesepuluh
simbol angka pada sistem bilangan puluhan dan enam angka yang lain diambil
dari huruf dalam abjad A - F. Jadi, ke-16 simbol heksadesimal adalah: 0, 1, 2, 3,
4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Huruf-huruf A, B, C, D, C dan F secara berturut-
turut bernilai 10, 11, 12, 13, 14, 15.
Harga desimal yang dinyatakan oleh bilangan heksadesimal juga dapat dihi-
tung dengan memasukkan harga R = 16 kedalam pers. (1.2) di depan. Sebagai
contoh,
(3C5,A)16 = 3 x 162 + 12 x 161 + 5 x 160 + 10 x 16-1
= (965,0625)10
Yang membuat sistem bilangan oktal dan heksadesimal banyak dipakai
dalam sistem digital adalah mudahnya pengubahan dari biner ke oktal dan hek-
sadesimal, dan sebaliknya, seperti akan dibicarakan dalam sub-bab berikut ini.

1.3 Konversi Bilangan


Konversi bilangan desimal ke sistem biner diperlukan dalam menerjemah-
kan keinginan manusia kedalam kode-kode yang dikenal oleh sistem digital,
terutama komputer digital. Konversi dari biner ke desimal diperlukan untuk
menterjemahkan kode hasil pengolahan sistem digital ke informasi yang dikenal
oleh manusia. Pengubahan (konversi) dari biner ke oktal dan heksadesimal dan

3
1.1 Sistem Bilangan Puluhan 4

sebaliknya merupakan pengantara konversi dari/ke biner ke/dari desimal.


Konversi ini banyak dilakukan karena disamping cacah angka biner yang disebut
juga "bit", singkatan dari "binary digit", jauh lebih besar dibandingkan dengan
angka-angka pada sistem oktal dan heksadesimal, juga karena konversi itu sangat
mudah.
Konversi dari biner, oktal dan heksadesimal ke sistem bilangan desimal, se-
perti telah dijelaskan di bagian depan, dapat dilakukan dengan memakai per-
samaan (1.2). Konversi sebaliknya akan diterangkan dalam sub-bab sub-bab
berikut ini.

1.3.1 Konversi Desimal-Biner


Kalau kita perhatikan konversi dari biner ke desimal dengan memakai pers.
(1.2), maka dapat dilihat bahwa untuk bagian bulat (di kiri tanda koma) kita
peroleh dengan melakukan perkalian dengan 2 setiap kita bergerak ke kiri. Untuk
bagian pecahan, kita melakukan pembagian dengan 2 setiap kita bergerak ke
kanan. Untuk melakukan konversi dari desimal ke biner kita melakukan sebalik-
nya, yaitu untuk bagian bulat bilangan desimal kita bagi dengan 2 secara berturut-
turut dan sisa pembagian pertama sampai yang terakhir merupakan angka-angka
biner paling kanan ke paling kiri. Untuk bagian pecahan, bilangan desimal dikali-
kan 2 secara berturut-turut dan angka di kiri koma desimal hasil setiap perkalian
merupakan angka biner yang dicari, berturut-turut dari kiri ke kanan. Contoh
berikut ini memperjelas proses itu.

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

Perhatikan bahwa walaupun pembagian diteruskan, hasil berikutnya akan


tetap 0 dan sisanya juga tetap 0. Ini benar karena penambahan angka 0 di kiri bi -
langan tidak mengubah harganya.

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:

457 : 2 = 228 sisa 1 0,65 x 2 = 1,3


228 : 2 = 114 sisa 0 0,30 x 2 = 0,6
114 : 2 = 57 sisa 0 0,60 x 2 = 1,2
57 : 2 = 28 sisa 1 0,20 x 2 = 0,4
28 : 2 = 4 sisa 0 0,40 x 2 = 0,8
14 : 2 = 7 sisa 0 0,80 x 2 = 1,6
7 : 2 = 3 sisa 1 0,60 x 2 = 1,2
3 : 2 = 1 sisa 1 0,20 x 2 = 0,4
1 : 2 = 0 sisa 1 0,40 x 2 = 0,8
0,80 x 2 = 1,6
Jadi, (457,65)10 = (111001001,1010011001 .....)2
Dari contoh terakhir ini dapat dilihat bahwa untuk bagian pecahan,
pengalian dengan 2 akan berulang-ulang menghasilkan deretan 1,6; 1,2; 0,4; 0,8
yang berarti bahwa deretan angka biner 11001100 akan berulang terus. Ini berarti
bahwa ada bilangan pecahan puluhan yang tak dapat disajikan dalam biner
dengan ketelitian 100 %. Kesalahan atau ralat konversi itu semakin kecil bila
cacah angka biner (bit) yang dipergunakan lebih besar. Bagaimanapun juga,
cacah bit dalam setiap sistem digital sudah tertentu sehingga ketelitian
pengkodean untuk setiap sistem digital sudah tertentu pula.

1.3.2 Konversi Biner-Oktal-Heksadesimal


Kemudahan konversi biner-oktal-heksadesimal secara timbal balik terletak
pada kenyataan bahwa 3 bit tepat dapat menyatakan angka terbesar dalam oktal,
yaitu 7, dan 4 bit tepat dapat menyatakan angka terbesar dalam heksadesimal,
yaitu F=(15)10. Ini berarti bahwa untuk mengubah bilangan biner ke oktal, bilang-
an biner dapat dikelompokkan atas 3 bit setiap kelompok dan untuk mengubah
biner ke heksadesimal, bilangan biner dikelompokkan atas 4 bit setiap kelompok.
Pengelompokan harus dimulai dari kanan bergerak ke kiri. Sebagai contoh, untuk
memperoleh setara dalam oktal dan heksadesimal, bilangan biner 1011001111
dapat dikelompokkan sebagai berikut:
1 011 001 111 10 1100 1111
(1 3 1 7)8 (2 C F )16

5
1.1 Sistem Bilangan Puluhan 6

Konversi sebaliknya, dari oktal dan heksadesimal ke biner juga dapat


dilakukan dengan mudah dengan menggantikan setiap angka dalam oktal dan
heksadesimal dengan setaranya dalam biner.
Contoh 1.
(3456)8 = (011 100 101 110)2
(72E)16 = (0111 0010 1110)2
Dari contoh ini dapat dilihat bahwa konversi dari oktal ke heksadesimal dan
sebaliknya akan lebih mudah dilakukan dengan mengubahnya terlebih dahulu ke
biner.
Contoh 2.
(3257)8 = (011 010 101 111)2
(0110 1010 1111)2 = (6AF)16
Perhatikan bahwa bilangan biner dalam konversi oktal biner dan konversi
biner-heksadesimal hanyalah berbeda dalam pengelompokannya saja.

1.3.3 Konversi Desimal-Oktal dan Heksadesimal


Konversi desimal ke oktal dan desimal ke heksadesimal dapat dilakukan dengan
melakukan pembagian berulang-ulang untuk bagian bulat dan perkalian berulang-
ulang untuk bagian pecahan seperti yang dilakukan pada konversi desimal-biner
di bagian depan. Sebenarnya cara ini berlaku untuk semua dasar sistem bilangan.
Contoh : Untuk (205,05)10
Oktal: Heksadesimal:
205 : 8 = 25 sisa 5 205 : 16 = 12 sisa 13 = D
25 : 8 = 3 sisa 1 12 : 16 = 0 sisa 12 = C
3 : 8 = 0 sisa 3

0,05 x 8 = 0,4 0,05 x 16 = 0,8


0,40 x 8 = 3,2 0,80 x 16 = 12,8 (12 = C)
0,20 x 8 = 1,6 0,80 x 16 = 12,8
0,60 x 8 = 4,8
0,80 x 8 = 6,4
0,40 x 8 = 3,2
0,20 x 8 = 1,6
Jadi, (205,05)10 = (315,031463146...)8 = (CD,0CCCC..)16

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

b. Komplemen 10: (327,15)c,10 = 103- 327,15


= 1000,00 - 327,15 = 672,85
Komplemen 9: (327,15)c,9 = 103- 10-2- 327,15
= 1000,00 - 0,01 - 327,15 = 672,84

c. Komplemen 2: (10110)c,2 = 25-(10110)2


= (100000)2 - (10110)2 = (01010)2
Komplemen 1: (10110)c,1 = 25 - 20 - (10110)2
= (100000)2 - (00001)2 - (10110)2
= (01001)2

d. Komplemen 2: (1101,01)c,2 = 24 - (1101,01)2 = (10000,00)2


( 1101,01)2
( 0010,11)2

Komplemen 1: (1101,01)c,1 = 25 - 20 - (1101,01)2 = (10000,00)2


( 0,01)2
( 1111,11)2
( 1101,01)2
( 0010,10)2

7
1.1 Sistem Bilangan Puluhan 8

e. Komplemen 16: (320)c,16 = 163- (320)16


= (1000)16 - (320)16 = (CE0)16
Komplemen 15: (320)c,16= 163- 160- (320)16
= (1000)16 - (001)16 - (320)16 = (CDF)16

f. Komplemen 16: (A53,2)c,16 = 163- (A53,2)16


= (1000,0)16 - (320,0)16 = (5AC,E)16
Komplemen 15: (A53,2)c,15 = 163 - 16-1 - (A53,2)16
= (1000,0)16
(0000,1)16
( FFF,F)16
( A53,2)16
(5AC,D)16
Dari definisi dan contoh-contoh di atas dapat dilihat bahwa komplemen R-1
dari suatu bilangan dapat diperoleh dengan mengurangi angka terbesar dengan
setiap angka dalam bilangan yang bersangkutan, sedangkan komplemen R dapat
diperoleh dengan menambahkan 1 ke angka paling kanan dalam komplemen R-1

Contoh 2.
Dari contoh 1 di atas dapat dilihat bahwa:

(345)c,9 = 654 (9-3= 6, 9-4= 5, 9-5= 4)


1
655 = (345)c,10

(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.

(b) Untuk bilangan biner 10100,101


Komplemen 2 adalah: 01011,011
komplemen 1 adalah : 01011,010

1.5 Pengurangan dengan Komplemen


Di bagian depan telah diterangkan bahwa tujuan pemakaian komplemen
adalah untuk melaksanakan pengurangan dengan penjumlahan. Hal ini dapat di-
lakukan dalam setiap sistem bilangan. Karena pengurangan dalam sistem
bilangan desimal dapat dilakukan dengan mudah kalau memakai alat-alat tulis,
pengurangan dengan komplemen tidak memberikan keuntungan. Tetapi, dalam
sistem elektronik digital cara pengurangan dengan komplemen ini sangat penting,
dan semua sistem digital memakai cara ini. Ini penting karena pengubahan
bilangan biner menjadi komplemennya dapat dilakukan dengan mudah dan
karena peranti keras (hard ware) untuk penjumlahan dan pengurangan dapat
menggunakan komponen yang sama sehingga harga akan lebih murah.

1.5.1 Pengurangan dengan komplemen R


Pengurangan dengan komplemen R (komplemen 10 dalam sistem bilangan
desimal, komplemen 2 dalam biner) untuk dua bilangan dapat dilakukan sebagai
berikut:
Sebutlah yang dikurangi sebagai M dan pengurang sebagai N. Untuk menghitung
M - N, nyatakan N sebagai komplemen R-nya dan tambahkan ke M. Bila ada
"end carry" (penambahan angka di kiri) pada penjumlahan itu, maka angka
tambahan tidak dipakai (dibuang saja). Bila tidak ada "end carry" ini berarti
bahwa hasil pengurangan (yang dilakukan dengan penjumlahan) itu adalah
negatif. Untuk hal terakhir ini, harga hasil sebenarnya adalah negatif dari pada
komplemen hasil penjumlahan itu.

Contoh 1. Pengurangan dengan komplemen 10 untuk desimal.


25643 - 13674: M = 25643 25643
N = 13674 komplemen 10 = 86326
+
end carry 1 11969
end carry, dibuang : 11969

10023 - 13674: M = 10023 10023

9
1.1 Sistem Bilangan Puluhan 10

N = 13674, komplemen 10 = 86326


+
96349
Karena tidak ada end carry, hasil ini dikomplemenkan, sehingga hasil sebe-
narnya adalah - 03651.

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.

1.5.2 Pengurangan dengan komplemen R-1


Seperti pada pengurangan dengan komplemen R, pada pengurangan dengan
komplemen R-1 juga pengurang N dinyatakan dalam komplemennya, yaitu kom-
plemen R-1. Harga komplemen ini ditambahkan ke bilangan yang dikurangi M.
Perbedaan pelaksanaannya dengan pengurangan dengan komplemen R adalah
penangganan end-carry. Kalau pada pengurangan dengan komplemen R end-
carry itu dibuang, maka pada komplemen R-1 end carry itu ditambahkan ke
angka yang paling kanan hasil penambahan. Penanganan carry seperti ini disebut
"end carry-around carry".
Contoh 1. Desimal: 25643 - 13674: 10023 - 13674:
25643 → 25643 10023 → 10023
- 13674 → 86325 - 13674 → 86325
end carry 1 11968 96348
1 (negatif)
11969 Komplemen-9 = - 03651
Contoh 2. Biner : 100100 → 100100
100010 → 011101

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.

1.6 Pengurangan dalam Komputer Digital


Setiap satuan data dalam komputer digital disajikan/dinyatakan dengan se-
deretan angka-angka biner dengan panjang yang tertentu. Penyajian yang paling
umum adalah dengan panjang deretan yang merupakan kelipatan 4 atau 8 seperti
4, 8, 16, 36, atau 64 bit. Panjang deretan yang membentuk satu kesatuan data ini
sering disebut "panjang kata" (word length).
Untuk data yang bersifat bilangan (numerik), setiap kata mempunyai bit
tanda yang biasanya digunakan bit yang paling tinggi nilainya (Most Significant
Bit, disingkat MSB), yaitu bit paling kiri. Untuk bilangan yang positif, umumnya
bit tanda berharga 0, sedangkan untuk bilangan negatif bit tanda ini berharga 1.
Bilangan negatif dapat disajikan dalam 3 cara, yaitu :
1. Dalam bentuk harga mutlak/magnitude dengan tanda (signed magnitude).
2. Dalam bentuk komplemen 1.
3. Dalam bentuk komplemen 2.

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 :

Komplemen 1 : 0001 0001 0001 0001


0000 0101 1111 1010
end carry around 0000+1011
1
+
0000 1100
Komplemen 2 : 0001 0001 0001 0001
0000 0101 1111 1011
+
0000 1100
end carry dibuang 0000 1100
Kalau seandainya kedua operannya tidak dinyatakan secara lengkap, maka
akan diperoleh :

17 10001 dapat membawa kepada 10001


5 101 011
10100
Ini jelas salah. Kesalahan ini sebenarnya dapat segera dilihat bila diperhati-
kan bahwa hasil 10001-101 bertanda negatif (bit paling kiri berharga 1).
Dalam melihat harga sebenarnya dari hasil pengurangan, perhatikan contoh
berikut ini.
0000 0101 0000 0101 0000 0101
0101 1100 1001 0011 1001 0100
1001 1000 1001 1001
Harga sebenarnya : - (0110 0111) - (0110 0111)

12
(komplemen 1) (komplemen 2)

1.7 Penyajian Data


Seperti diterangkan di bagian depan, setiap sinyal diskrit dapat dinyatakan
sebagai kombinasi dari sejumlah angka biner (bit). Penyataan ini berarti
pengubahan suatu bentuk informasi kebentuk yang lain dengan pengkodean yang
terdiri atas sekelompok biner yang merupakan satu kesatuan. Pengelompokkan
yang paling banyak dilakukan adalah pengelompokan atas kelipatan 4 bit. Kode
yang terdiri atas 4 bit disebut "Nibble", kelompok yang terdiri atas 8 bit disebut
"byte", dan kelompok terdiri dari 16 bit (2 byte) disebut "word". Word yang
terdiri atas lebih dari 2 byte sering disebut long word. Berikut ini diuraikan secara
singkat beberapa jenis kode yang sering dipergunakan dalam teknik digital.

1.7.1 Kode Bilangan Titik Mengambang


Data bilangan, disebut juga data numerik, dibedakan atas bilangan bulat,
disebut integer, dan bilangan (yang mengandung bagian) pecahan, disebut real.
Bilangan real terdiri atas bagian bulat dan bagian pecahan yang dipisahkan
dengan titik (dalam ejaan bahasa Indonesia: koma) yang disebut decimal point
(koma desimal) untuk bilangan desimal, binary point (koma biner) untuk
binangan biner. Posisi titik pemisah ini dapat bersifat tetap (fixed point) seperti
yang telah digunakan di awal bab ini dan dapat pula mengambang (floating
point). Peletakan titik pemisah ini dibuat mengambang untuk memperbesar harga
data yang dapat dinyatakan dengan panjang kata yang tertentu dan meningkatkan
ketelitian (presisi) penyajian. Di dalam komputer, pada umumnya, data real
disajikan dengan titik pisah mengambang (floating point representation), sering
disingkat FLP. Sebagai contoh, bilangan desimal 125.125 dapat disajikan dengan
1.25125 x 102 atau 0.125125 x 103 atau 12512.5 x 10-2 atau sebagainya.
Perhatikan penempatan titik desimalnya yang berpindah posisi dalam
bilangannya. Perpindahan satu posisi ke kanan berarti mengalikan harga dengan
10, diimbangi dengan penurunan pangkat pengali 10 dan penggeseran titik
desimal ke kiri diimbangi dengan penaikan pangkat pengali 10.
Dalam biner, bilangan 125.125 = (0111 1101.00100000) 2 ini dapat
dinyatakan dalam bentuk:
0111 1101.00100000 = 0.111 110100100000 x 27 = 111 1101 001.00000 x 2-3
Penggeseran titik biner ke kiri diimbangi dengan penaikan pangkat pengali
2 dan penggeseran ke kanan diimbangi dengan penurunan pangkat pengali 2.
Penyajian floating point menyajikan bilangan dengan tiga komponen: tanda
S (Sign), pangkat E (Exponent), dan Mantissa M (significand) dengan makna:
S M x 2E
Tanda S disajikan dalam 1 bit dengan harga 0= positif, 1= negatif.
Pangkat E merupakan bilangan bertanda dalam komplemen 2 yang disajikan
dalam kata dengan panjang w = 8 bit, jadi harganya -128 s/d +127. Untuk

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)

Harga yang dapat disajikan oleh FLP ini:


presisi tunggal : ± (2-2-23) x 2127  ±1038.53
presisi ganda : ± (2-2-52) x 21023  ±10308.25
Untuk contoh data sebelumnya,
125.125 = (0111 1101.00100000)2
= (0.111 110100100000)2 x 27 bentuk ternormalisasi.
berarti S= 0 (positif),
pangkat E= 7 (0000 0111)2 dibiaskan menjadi
E= 0000 0111 + 0111 1111= 1000 0110 (= 134).
mantissa M= 111 1101 0010 0000 0000 0000
disimpan 11 1101 0010 0000 0000 0000 0
maka dalam penyajian floating point, data 125.125 disimpan sebagai :
0 1000 0110 111 1010 0100 0000 0000 0000 = (4 3 7 A 4 0 0 0)16
Untuk melihat harga yang dikandung dalam bilangan floating point ini, kita
urai kembali ke penyajian binernya dan diterjemahkan menurut suku-sukunya:
(4 3 7 A 4 0 0 0)16= 0100 0011 0 111 1010 0100 0000 0000 0000
tanda positif
pangkat : 86h= 134 dikurangi 127 = 7
mantissa: 7A4000h disisipkan 1 implisit pada MSB:
1111 1010 0100 0000 0000 0000= FA4000h

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).

1.7.2 Kode BCD


Seperti telah diterangkan dalam uraian mengenai sistem bilangan oktal dan
heksadesimal di bagian depan, untuk menyatakan 1 angka desimal diperlukan 4
angka biner. Tetapi dengan 4 bit sebenarnya dapat dinya-takan 16 macam simbol
yang berbeda sehingga kesepuluh simbol dalam bilangan desimal dapat dinya-
takan dengan beberapa himpunan (set) kode yang berbeda. Perlu dibedakan
dengan tegas antara pengkodean dan konversi. Kalau suatu bilangan dikonversi-
kan ke bilangan lain maka kedua bilangan itu mempunyai harga/nilai. Sebagai
contoh, kalau angka 8 desimal dikonversikan ke biner, maka satu-satunya pilihan
adalah 1000. Tetapi kalau angka 8 ini dikodekan ke biner, ada bermacam-macam
kode yang dapat dibentuk, walaupun hanya terdiri atas 4 bit. Dari bermacam-
macam kode untuk angka-angka desimal, kode BCD (singkatan dari Binary
Coded Decimal) merupakan kode yang paling sederhana karena kode itu sendiri
merupakan konversi dari desimal ke biner.
Setiap bit dalam BCD diberi bobot menurut letaknya dalam urutan kode se-
suai dengan rumus (1.2) di depan, yaitu 1, 2, 4, dan 8, berurut dari bit yang paling
kanan. Jadi, untuk angka 9, yaitu 8 + 1, kode BCD-nya adalah: 1001; untuk angka
6 yaitu 4 + 2, kodenya adalah: 0110. Kode-kode 1010, 1100, 1011, 1100, 1101,
1110, dan 1111 tidak ada didalam BCD karena nilai kode-kode ini sudah lebih
dari 9. Kode-kode BCD yang lengkap ditunjukkan pada Tabel 1.1.
Setiap angka desimal dikodekan dengan satu BCD yang empat bit. Karena
itu, untuk menyatakan bilangan desimal ratusan diperlukan 3 kode BCD, jadi 12
bit. Sebagai contoh, bilangan 163 dikodekan dengan 0001 0110 0011.
Seperti yang ditunjukkan pada Tabel 1.1, bobot bit pada setiap posisi dapat
dibuat berbeda-beda. Keuntungan kode BCD standar (8421) terletak pada kenya-
taan bahwa kode itu merupakan konversi langsung dari bit ke angka desimal.
Dengan memberi bobot yang lain dapat diperoleh keuntungan berupa simetri atau
sifat komplemen. Sebagai contoh, kode dengan bobot 2421 dan 84-2-1 mempu-
nyai sifat mengkomplemenkan sendiri (self complementing). Perhatikan bahwa
komplemen 3 adalah 6 dan dalam kode 84-2-1 ini ditunjukkan dengan 1010 (=6)
yang merupakan komplemen dari 0101 (=3).

15
1.1 Sistem Bilangan Puluhan 16

1.7.3 Kode Excess-3 (XS3)


Seperti dapat dilihat dari Tabel 1.1, kode Excess-3 (XS3) diperoleh dengan
menambahkan 3 (=0011) kepada kode BCD standar, dan inilah alasan pemberian
namanya. Tetapi dengan penambahan ini diperoleh sifat bahwa komplemen
dalam kode XS3 juga menghasilakan komplemen dalam desimal. Sebagai contoh,
komplemen 0100 (= 1 dalam desimal) adalah 1011 (= 8 dalam desimal) dan
dalam desimal 1 adalah 8. Watak mengkom-plemenkan sendiri (self comple-
menting) ini sangat berguna dalam komputer yang menggunakan kode BCD
dalam perhitungannya sebab rangkaian elektronik komplemennya sederhana.

Tabel 1.1. Kode-kode untuk angka-angka desimal


Desi- BCD* Excess-3 Modified
mal 8,4,2,1 (XS3) 8,4,-2,-1 2,4,2,1 Gray Gray
0 0000 0011 0 0 0 0 0000 0000 0010
1 0001 0100 0 1 1 1 0001 0001 0110
2 0010 0101 0 1 1 0 0010 0011 0111
3 0011 0110 0 1 0 1 0011 0010 0101
4 0100 0111 0 1 0 0 0100 0110 0100
5 0101 1000 1 0 1 1 1011 0111 1100
6 0110 1001 1 0 1 0 1100 0101 1101
7 0111 1010 1 0 0 1 1101 0100 1111
8 1000 1011 1 0 0 0 1110 1100 1110
9 1001 1100 1 1 1 1 1111 1101 1010
10 1010 1111
11 1011 1110
12 1100 1010
13 1101 1011
14 1110 1001
15 1111 1000
* Kode dengan bobot 8421 dianggap sebagai kode BCD standar.

1.7.4 Kode Gray


Kode Gray bersifat reflective untuk kode 4 bit utuh, yaitu setengah bagian
atas, yaitu untuk kode desimal 8-15, merupakan bayangan cermin dari pada
setengah bagian bawah, yaitu kode untuk desimal 0-7, kecuali untuk bit 3 (bit ke
4 dari kanan). Sifat yang lebih penting dari kode Gray adalah bahwa kode untuk
desimal yang berturutan berbeda hanya pada 1 bit. Sifat ini sangat penting dalam
pengubahan sinyal-sinyal mekanis atau listrik ke bentuk digital. Sebagai contoh,
kalau tegangan yang dikenakan pada suatu voltmeter digital berubah dari 3 volt
ke 4 volt (dalam biner dari 0011 ke 0100), maka ada kemungkinan bit 2 (bit ke 3
dari kanan) akan berubah lebih dulu dari bit-bit yang lain sehingga akan
memberikan penunjukan sementara 0111 (= 7) yang jelas salah. Dengan
penggunaan kode Gray kesalahan seperti ini tidak akan terjadi.
Di samping itu, dibangun juga kode Gray termodifikasi untuk satu digit

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.

1.7.5 Kode Alfanumerik


Dalam penggunaan komputer secara umum, walaupun kode yang diolah
dalam komputer itu sendiri adalah angka-angka biner, tetapi selain angka-angka
desimal juga diproses huruf-huruf dan tanda-tanda baca/tanda khusus lainnya.
Untuk memroses data seperti ini tentunya diperlukan sistem kode yang lebih luas
dari pada sistem-sistem kode yang telah diterangkan sebelumnya. Kode yang ber-
laku umum ini disebut kode "Alphanumeric" yang sering juga disingkat dengan
nama "Alphameric". Dua jenis kode yang paling umum dipakai dalam dunia
komputer sekarang ini adalah: ASCII (baca: eskii, singkatan dari: American
Standard Code for Information Interchange) dan EBCDIC (baca: ebsidik,
singkatan dari: Extended Binary Coded Decimal Interchange Code).
ASCII terdiri atas 7 bit yang dapat mengkodekan semua angka desimal,
huruf abjad, baik huruf besar maupun kecil, tanda-tanda khusus dan tanda baca,
dan beberapa kode kendali/kontrol yang umum dipakai dalam komunikasi data.
Dalam praktek sekarang, walaupun aslinya 7 bit, kebanyakan ASCII mengguna-
kan 8 bit dengan bit tambahan dipakai sebagai bit parity, kadang-kadang untuk
membentuk aksara yang bukan aksara latin.
Sistem kode EBCDIC terdiri atas 8 bit, digunakan dalam komputer-
komputer IBM tipe 360 dan 370 yang sangat terkenal itu.
Dalam perekaman data pada kartu tebuk (puch card), data alfanumerik diko-
dekan dengan menggunakan kode Hollerith standar yang terdiri atas 12 bit. Kartu
tebuk standar terdiri atas 80 kolom yang terdiri atas 12 baris tebukan yang
dibedakan atas 2 kelompok, yaitu baris 12, 11, dan 0 di bagian atas disebut
sebagai zone dan baris 9, 8, 7,.., 1 di bagian bawah disebut baris numeric.
Dalam Tabel 1.2 ditunjukkan ketiga jenis kode Alfanumerik yang disebut
di atas. Bilangan yang ditunjukkan dalam kolom kode Hollerith dalam tabel ini
menunjukkan nomor baris yang ditebuk/dilubangi sedangkan posisi yang tidak
ditunjukkan berarti kosong. Perhatikan bahwa kode-kode EBCDIC sangat erat
hubungannya dengan kode Hollerith. Terutama dalam kode huruf, naiknya satu
harga angka heksadesimal pertama pada kode EBCDIC setara dengan turunnya
satu baris lubang pada kode Hollerith. Juga perhatikan bahwa dalam kode
Hollerith, angka dinyatakan dengan 1 lubang, huruf dengan 2 lubang sedangkan
tanda lain dari 1, 2, atau 3 lubang pada kolom yang sama. Dalam EBCDIC, untuk
4 bit paling kiri, angka dinyatakan dengan 1111 (F heksadesimal), huruf kapital
dinyatakan dengan C s/d E dan untuk huruf kecil dinyatakan dengan angka heksa-
desimal 8 s/d A, sedang tanda lain dinyatakan dengan 01xx, dengan x dapat
berarti 0 atau 1. Dalam ASCII, karakter dengan kode dibawah 20 heksadesimal
digunakan sebagai kode kendali komunikasi, angka dikodekan dengan 30h - 39h,
huruf kapital dikodekan 41h - 5Ah, huruf kecil 61h - 7Ah dan kode yang lainnya
untuk tanda-tanda baca. Jelaslah bahwa kode ASCII lebih mudah untuk diingat.

17
1.1 Sistem Bilangan Puluhan 18

1.7.6 Kode penunjuk kesalahan


Dalam hubungan antar satu komputer dengan yang lain, sering terjadi
perbedaan antara sinyal yang dikirim dan sinyal yang diterima. Ini terjadi karena
adanya gangguan (noise) yang timbul pada saluran komunikasinya. Untuk
mengetahui adanya kesalahan itu sering ditambahkan satu bit tambahan kepada
kode sinyal aslinya. Bit tambahan ini disebut bit parity. Dengan penambahan bit
parity ini, maka kesalahan satu bit dalam setiap kode yang merupakan kesatuan
dapat diketahui/diditeksi. Bit parity biasanya ditambahkan pada saat pengiriman
dan dibuang kembali di sisi penerimaan sebelum diproses. Perlu dicatat bahwa bit
parity ini hanyalah menunjukkan adanya kesalahan, bukan membetulkan
kesalahan itu.

Tabel 1.2. Kode Alfanumerik ASCII, EBCDIC, dan Hollerith


Tanda ASCII EBCDIC Kartu Tanda ASCII EBCDIC Kartu
NUL 00 00 12,0,9,8,1 blank 20 40 no punch
SOH 01 01 12, 9, 1 ! 21 5A 12,8,7
STX 02 02 12, 9, 2 " 22 7F 8,7
ETX 03 03 12, 9, 3 # 23 7B 8,3
BOT 04 37 9,7 $ 24 5B 11,8,3
ENQ 05 2D 0, 9,8,5 % 25 6C 0,8,4
ACK 06 2E 0, 9,8,6 & 26 50 12
BEL 07 2F 0,9,8,7 ' 27 7D 8,5
BS 08 16 11,9,4 ( 28 4D 12,8,5
HT 09 05 11,9,5 ) 29 5D 11,8,5
LF 0A 25 0,9,5 * 2A 5C 11,8,4
VT 0B 0B 12,9,8,3 + 2B 4E 12,8,6
FF 0C 0C 12,9,8,4 , 2C 6B 0,8,3
CR 0D 0D 12,9,8,5 - 2D 60 11
S0 0E 0E 12,9,8,6 . 2E 4B 12,8,3
S1 0F 0F 12,9,8,7 / 2F 61 0,1
DLE 10 10 12,11,9,8,1 0 30 F0 0
DC1 11 11 11,9,1 1 31 F1 1
DC2 12 12 11,9,2 2 32 F2 2
DC3 13 13 11,9,3 3 33 F3 3
DC4 14 35 9,8,4 4 34 F4 4
NAK 15 3D 9,8,5 5 35 F5 5
SYN 16 32 9,2 6 36 F6 6
ETB 17 26 0,9,6 7 37 F7 7
CAN 18 18 11,9,8 8 38 F8 8
EM 19 19 11,9,8,1 9 39 F9 9
SUB 1A 3F 9,8,7 : 3A 7A 8,2

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.

1.8 Soal Latihan


1. Nyatakanlah bilangan-bilangan desimal berikut dalam sistem bilangan:
a. Biner, b. Oktal, c. Heksadesimal.
5 11 38 1075 35001 0.35 3.625 4.33
2. Tentukanlah kompelemen 1 dan kompelemen 2 dari bilangan biner berikut:
1010 1101 11010100 1001001
3. Tentukanlah kompelemen 9 dan kompelemen 10 dari bilangan desimal berikut:
21 139 2400 9101
4. Tentukanlah kompelemen 7 dan kompelemen 8 dari bilangan Oktal berikut:
21 137 320 161
5. Tentukanlah kompelemen 15 dan kompelemen 16 dari bilangan Heksadesimal:
BAC B3F 120 1A1
6. Dengan panjang kata 8 bit dan bit paling kiri menyatakan tanda, 0= positif dan
1= negatif, nyatakanlah bilangan-bilangan desimal berikut dalam biner dengan
menggunakan kompelemen 1 dan kompelemen 2: 7 -11; -27
7. Dalam sistem yang menggunakan ukuran kata 16 bit, tentukanlah harga desi-
mal dari bilangan-bilangan berikut:
Biner : 0100 1101 1100 1000; 1011 0100 1010 0101
Oktal : 6573 ; 72501 ; 112372
Heksadesimal: 16B ; 7A50 ; 807C
8. Dengan melakukan operasi penjumlahan, laksanakan pengurangan berikut:
Desimal: 125 - 32; 15 - 72
Biner 8 bit: 00001001 - 00001000; 00001001 – 00001110
9. Nyatakanlah bilangan desimal berikut dalam kode-kode BCD, Gray dan XS3:
51 125 0234
10. Tentukanlah hasil penjumlahan dalam kode BCD berikut:
52 + 19 125 + 93 59 + 45

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

1.7 Penyajian Data 13


1.7.1 Kode Bilangan Titik Mengambang 13
1.7.2 Kode BCD 15
1.7.3 Kode Excess-3 (XS3) 15
1.7.4 Kode Gray 16
1.7.5 Kode Alfanumerik 17
1.7.6 Kode penunjuk kesalahan 17
1.8 Soal Latihan 20

22

Anda mungkin juga menyukai