Sistem bilangan

advertisement
SISTEM BILANGAN DAN SANDI
1. Pendahuluan
Sistem bilangan yang biasa kita pakai sehari-hari disebut bilangan berbasis
posisi. Bilangan desimal disebut sistem basis 10 (base 10 system), karena sistem ini
mempunyai 10 simbol yang berbeda yaitu 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Kemudian sistem
basis 10 juga dikatakan mempunyai suatu radiks (radix) 10. Jadi radiks dan basis
merupakan istilah yang mempunyai arti persis sama.
Sedangkan pada bilangan biner disebut dengan bilangan radix 2, dimana
bilangan biner hanya memiliki angka 0 dan 1. Untuk bit paling kanan pada bilangan
biner disebut LSB (Least Significant Bit) dan bit paling kiri disebut MSB
(Most Significant Bit).
2. Sistem Bilangan
2.1. Bilangan biner
Pencacahan dalam biner, seperti tabel 2.1. Dimana bilangan biner
diperlihatkan pada kolom sebelah kanan dari tabel, sedangkan ekivalen desimalnya
diperlihatkan pada kolom sebelah kiri. Perhatikan bahwa angka 1 merupakan bit
yang tidak Signifacant (LSB. Least Significant Bit). Dengan kata lain, bila angka 1
muncul pada kolom sebelah kanan, maka hitungan biner ditambah dengan 1. Bagian
kedua dari kanan adalah angka 2. Angka 1 yang muncul pada kolom ini berarti
bahwa hitungan di tambah dengan 2. Tiga nilai tempat lainnya juga ditunjukkan pada
tabel 2.1, dimana masing-masing nilai yang lebih besar merupakan pangkat dari 2
yang ditambahkan. Angka satuan sebenarnya adalah 20, angka duaan adalah 21,
Sistem bilangan dan Sandi /hal 1 dari 14
angka empatan adalah 22, angka delapan adalah 23 dan angka enam belasan
adalah 24.
Pencacah Desimal
Pencacah Biner
16
8
4
2
1
0
0
0
0
0
0
1
0
0
0
0
1
2
0
0
0
1
0
3
0
0
0
1
1
4
0
0
1
0
0
5
0
0
1
0
1
6
0
0
1
1
0
7
0
0
1
1
1
8
0
1
0
0
0
9
0
1
0
0
1
10
0
1
0
1
0
11
0
1
0
1
1
12
0
1
1
0
0
13
0
1
1
0
1
14
0
1
1
1
0
15
0
1
1
1
1
16
1
0
0
0
0
Tabel. 2.1 Pencacahan dalam biner dan desimal
Sistem bilangan dan Sandi /hal 2 dari 14
2.2. Konversi Desimal ke Biner
Ubahlah bilangan desimal 87 ke bilangan biner. Gambar 2.1, akan
menunjukkan cara atau metoda yang mudah untuk proses pengubahan tersebut.
Mula-mula bilangan desimal 87 dibagi dengan 2, menghasilkan 43 dengan sisa 1.
Sisa ini adalah penting dan dicatat pada sebelah kanan. Pada bilangan biner, sisa ini
menjadi LSB. Setelah itu hasil bagi (43) dipindahkan yang ditunjukkan oleh anak
panah dan menjadi bilangan yang dibagi. Hasilnya ini dibagi 2 secara berulang-ulang
sampai hasil bagi menjadi 0 dengan sisa 1, seperti baris terakhir pada gambar. Jadi
desimal 87 sama dengan biner 1010111.
8710 : 2 = 43 sisa
1
43 : 2 = 21
sisa
1
21 : 2 = 10
sisa
1
10 : 2 = 5
sisa
0
5 :2 =2
sisa
1
2 :2 =1
sisa
0
1 :2 =0
sisa
1
8710
=1
0
1
0
1
1
1
Gambar. 2.1 Pengubahan desimal menjadi biner
Bagaimana dengan pengubahan bilangan pecahan ? Ubahlah bilangan desimal 0,375
ke bilangan biner. Gambar 2.2 menunjukkan cara untuk proses pengubahan ini,
dimana bilangan desimal o,375 dikalikan dengan 2 hasil kalinya 0,75. Angka 0 dari
bilangan bulat (angka satuan) menjadi bit yang paling dekat dengan titik biner.
Kemudian 0,75 dikalikan dengan 2 hasilnya adalah 21,50. 1 bilangan bulat (angka
satuan) merupakan bit berikutnya dalam bilangan biner tersebut. Selanjutnya 0,50 ini
dikalikan dengan 2 dan menghasilkan 1,00. 1 pada angka bilangan bulat ini
merupakan angka 1 terakhir dalam bilangan dalam bilangan biner tersebut.
Bila hasil kali adalah 1, maka proses pengubahan telah selesai. Jadi 0.37510 = 0,0112
Sistem bilangan dan Sandi /hal 3 dari 14
0,375 x 2
= 0,75
0,75 x 2
= 1,50
1,50 x 2
= 1,00
0,37510
=.0
1
12
Gambar. 2.2 Pengubahan pecahan desimal menjadi biner pecahan
2.3. Konversi Biner ke Desimal
Ubahlah bilangan biner 1110,101 ke bentuk desimal. Nilai tempat diberikan
sepanjang baris sebelah atas. Perlu kita perhatikan nilai setiap posisi disebelah kanan
titik biner. Tata cara untuk mengubah bilangan biner pecahan sama dengan pada
bilangan bulat.
Nilai tempat dari setiap bit pada bilangan biner ditambahkan satu sama lain
untuk menghasilkan bilangan desimal.
Pada soal ini, 8 + 4 + 2 + 0,5 + 0,124 = 14,625 dalam desimal. Gambar 2.3
memperlihatkan cara atau proses pengubahan dari biner ke desimal.
Pangkat dari 2
23
22
21
20
½1
Nilai tempat
8
4
2
1
0,5
1
1
0 . 1
½2
½3
0,25
0,125
Biner
=
1
0 1
Desimal
=
8 + 4 + 2 + 1 + 0,5 + 0,125 = 14,625
Gambar 2.3 Pengubahan biner menjadi desimal
2.4. Bilangan heksadesimal
Sistem bilangan heksadesimal mempunyai radiks 16 dan disebut sebagai
sistem bilangan basis 16. Bilangan heksadesimal menggunakan simbol 0-9, A, B, C,
D, E, dan F sebagaimana yang ditunjukkan pada kolom heksadesimaldari tabel pada
Gambar 1-12. Huruf A adalah untuk cacahan 10, B untuk 11, C untuk 12, D untuk
13, E untuk 14, dan F untuk 15. Keuntungan dari sistem heksadesimal adalah
Sistem bilangan dan Sandi /hal 4 dari 14
kegunaannya dalam pengubahan secara langsung dari bilangan biner 4-bit.
Perhatikan dalam pengubahan secara langsung dari bilangan biner 4-bit.
Desimal
Biner
Heksadesimal
Desimal
Biner
Heksadesi
mal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
10000
10001
10010
10011
10100
10101
10110
10111
11000
11001
11010
11011
11100
11101
11110
11111
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
Gambar 2.4. Pencacahan dalam sistem bilangan desimal, biner, dan heksadesimal
Lihatlah baris yang diberi label 16 pada kolom desimal dalam Gambar 2.4.
Ekivalen heksadesimalnya adalah 10. Hal ini menunjukkan bahwa sistem bilangan
heksadesimal menggunakan gagasan nilai tempat. Angka 1 (dalam 1016) mempunyai
nilai 16 satuan, sedangkan angka 0 bernilai nol unit.
2.4. Konversi Desimal ke Heksadesimal
Ubahlah bilangan desimal 45 ke ekivalen-heksadesimalnya. Gambar 2.5a
merinci proses pembagian dengan 16 yang kita kenal. Mula-mula bilangan desimal
45 dibagi dengan 16, dan menghasilkan 2 dengan sisa 13. Sisa 13 (D dalam
heksadesimal) ini menjadi LSD dari bilangan heksadesimal terdekat. Hasil bagi (2)
dipindahkan ke posisi bilangan yang dibagi dan kemudian dibagi dengan 16. Ini
menghasilkan 0 dengan sisa 2. Angka 2 ini menjadi digit berikutnya dalam bilangan
heksadesimal tersebut. Proses telah selesai karena bagian bilangan bulat dari hasil
Sistem bilangan dan Sandi /hal 5 dari 14
bagi adalah 0. Proses pada Gambar 1-9a tersebut mengubah bilangan desimal 45
menjadi angka heksadesimal 2D.
Ubahlah angka desimal 250,25 ke angka heksadesimal. Pengubahan ini harus
dikerjakan dengan menggunakan dua proses seperti yang ditunjukkan pada
Gambar. 2.5b. Bagian bilangan bulat dari bilangan desimal (250) diubah menjadi
heksadesimal dengan menggunakan proses pembagian denga-16 yang berulang. Sisa
10 (A dalam heksadesimal) dan sisa 15 (F dalam heksadesimal) membentuk bilangan
bulat heksadesimal FA. Bagian pecahan dari 250,25 dikalikan dengan 16(0,25 x 16),
hasilnya adalah 4,00.
45 : 16 = 2
sisa 13
2
sisa 2
: 16 = 0
4510
= 2
D16
(a) Pengubahan desimal menjadi heksadesimal.
250 : 16 = 15
sisa 10
15
sisa 15
: 16 = 0
250,2510 = F
A
416
0,25 x 16 = 4,00
0,00 x 16 = 0,00
(b) Pengubahan pecahan desimal menjadi heksadesimal.
Gambar. 2.5 Konversi desimal ke heksadesimal
Bilangan bulat 4 ini dipindahkan ke posisi seperti yang ditunjukkan pada
gambar 2.5b. Pengubahan yang telah disebutkan tersebut menunjukkan bilangan
desimal 250,25 sama dengan bilangan heksadesimal FA,4.
Sistem bilangan dan Sandi /hal 6 dari 14
2.5. Konversi Heksadesimal ke Desimal
Ubahlah bilangan heksadesimal 2B6 ke bilangan desimal. Gambar 2.6
menunjukkan proses yang telah kita kenal. Angka 2 terdapat pada posisi 256-an
sehingga 2 x 256 = 512, yang tertulis pada baris desimal. Digit heksadesimal B
muncul pada kolom 16-an. Heksadesimal B bersesuaian dengan desimal 11. Ini
berarti bahwa terdapat sebelum angka 16-an (16x11), yang menghasilkan 176.
Bilangan 176 ini di tambahkan pada jumlah desimal di bagian bawah pada Gambar
2.6.a Kolom 1 menunjukkan enam satuan. Kemudian 6 kini ditambahkan pada baris
desimal.
Nilai-nilai desimal tersebut ditambahkan (512 +176 + 6 = 694) dan
menghasilkan 69410. Gambar 2.6.a menunjukkan bahwa 2B616 sama dengan 69410.
Pangkat dari 16
162
161
160
Nilai tempat
256-an
16-an
1-an
Bilangan heksadesimal
2
B
6
256
16
1
x2
x 11
x6
512 + 176
6
= 69410
Gambar 2.6a. Pengubahan heksadesimal menjadi desimal
Ubahlah bilangan desimal heksadesimal A3F.C ke ekivalen-desimalnya. Gambar
2.6b merinci soal ini. Mula-mula tinjau kolom 256-an. Digit heksadesimal A berarti
bahwa 256 harus dikalikan dengan 10 dan menghasilkan 2560. Bilangan desimal itu
menunjukkan bahwa bilangan tersebut mengandung tiga 16-an, dan oleh karena itu
16 x 3 = 48, yang ditambahkan pada baris desimal. Kolom 1 berisi digit
heksadesimal F, yang berarti 1 x 15 = 15. Angka 15 ini ditambahkan pada baris
desimal. Kolom 0,0625-an berisi digit heksadesimal C, yang berarti 12 x 0,0625 =
0,75. Selanjutnya 0,75 ini ditambahkan pada baris desimal. Penambahan seluruh isi
Sistem bilangan dan Sandi /hal 7 dari 14
baris desimal tersebut (2560 + 48 + 15 + 0,75 = 2623,75) menghasilkan bilangan
desimal 2623,75. Gambar2.6b mengubah A3F.C16 menjadi 2623.7510.
Pangkat dari 16
162
161
160
1/161
Nilai tempat
256-an
16-an
1-an
0,625-an
Bilangan heksadesimal
A
3
256
16
1
0,625
x10
x3
x15
x 12
2560 +
F .
48 +
C
15 + 0,75
= 2637,7510.
2.6.b Pengubahan pecahan heksadesimal menjadi desimal
2.4.3. Konversi Biner ke Heksadesimal
1010
1000
0101
= 1010100001012 = A8516
A
8
5
a. Pengubahan biner ke heksadesimal
0001
0010 .
0110
1100
= 10010,0110112 = 12,6C16
1
2
6
C
b. Pengubahan pecahan biner ke heksadesimal
2.7. Konversi biner ke heksadesimal
Pada gambar 2.7a. Angka biner 1010100001012 yang sedang dikonversikan
menjadi heksadesimal. Mula-mula kita bagi angka biner tersebut menjadi kelompokkelompok 4 bit yang dimulai pada titik biner. Kemudian setiap kelompok dari empat
Sistem bilangan dan Sandi /hal 8 dari 14
bit ini di terjemahkan menjadi digit ekivalen heksadesimal. Jadi biner 101010000101
sama dengan heksadesimal A85.
Pengubahan biner menjadi heksadesimal yang lain dituliskan pada gambar
2.7b. Disini biner 10010.011011 akan diterjemahkan menjadi heksadesimal. Mulai
dari titik biner, bilangan biner tersebut mula-mula dibagi menjadi kelompokkelompok yang terdiri atas empat bit. Tiga angka 0 ditambahkan pada kelompok
yang paling kiri dan membentuk 0001. Dua angka 0 ditambahkan pada kelompok
yang paling kanan dan membentuk 1100. Sekarang kelompok mempunyai empat bit
dan diubah menjadi digit heksadesimal seperti yang ditunjukkan pada gambar 2.7b.
Bilangan biner 1010.011011 sama dengan 12,6C16.
2.7. Sandi BCD
Sandi atau kode BCD ( binary coded desimal atau desimal terkode biner)
membuat pengubahan menjadi desimal jauh lebih mudah.
Gambar. 2.8 menunjukkan kode BCD 4-bit untuk digit desimal 0-9.
BCD
Desimal
8-an
0
0
0
0
0
0
0
0
1
1
0
1
2
3
4
5
6
7
8
9
4-an
0
0
0
0
1
1
1
1
0
0
2-an
0
0
1
1
0
0
1
1
0
0
1-an
0
1
0
1
0
1
0
1
0
1
Gambar.2.8 Kode BCD 8421
Perhatikan bahwa kode BCD merupakan suatu kode berbobot. Bit paling
Signifikan mempunyai bobot 8, sedangkan bit yang paling tidak signifikan hanya
mempunyai bobot 1. Kode ini lebih tepat dikenal sebagai kode BCD 8421. Bagian
8421 dari nama tersebut menunjukkan pembobotan dari masing-masing angka pada
kode 4-bit. Terdapat beberapa kode BCD lain yang mempunyai bobot yang berbeda
untuk keempat nilai angka tersebut. Karena kode BCD 8421 adalah yang paling
populer, maka kita bisa mengacu pada kode ini sebagai kode BCD saja.
Sistem bilangan dan Sandi /hal 9 dari 14
Bagaimana bilangan desimal 150 dinyatakan sebagai bilangan BCD ?
Gambar 2.9a menunjukkan teknik yang sangat sederhana untuk mengubah bilangan
desimal menjadi bilangan BCD (8421). Setiap digit desimal diubah menjadi
ekivalen-BCD 4-bit. Dengan demikian bilangan desimal 150 sama dengan bilangan
BCD 000101010000.
Desimal
BCD
1
5
0
0001
0101
0000
(a) Pengubahan desimal menjadi BCD
BCD
1001 0110
Desimal
9
6


(b) Pengubahan BCD menjadi desimal
Desimal
BCD
3
2

8
0011
0010

1000
4
0100
(c) Pengubahan desimal menjadi pecahan BCD
BCD
Desimal
0111 0001
7
1

0000
1000

0
8
(d) Pengubahan BCD menjadi pecahan desimal
Pengubahan bilangan BCD menjadi bilangan desimal juga cukup sederhana.
Gambar.2.9b menunjukkan teknik tersebut.mula-mila bilangan BCD 10010110
dibagi menjadi beberapa kelompok 4-bit yang dimulai pada titik biner. Kemudian
setiap kelompok 4-bit diubah menjadi digit desimal-ekivalennya, yang selanjutnya
dicatat dibawah. Jadi bilangan BCD 10010110 sama dengan dengan 96 desimal.
Sistem bilangan dan Sandi /hal 10 dari 14
Gambar 2.9c melukiskan bilangan desimal pecahan yang sedang diubah
menjadi ekivalen-BCD-nya. Setiap digit desimal diubah menjadi ekivalen-BCD-nya.
Titik desimal dikeluarkan dan menjadi titik biner. Gambar 2.9c menunjukkan bahwa
32,84 desimal sama dengan bilangan BCD 00110010.10000100.
Ubah bilangan BCD pecahan 01110001.000010000 menjadi ekivalendesimalnya. Gambr 2.9d menunjukkan prosedur tersebut. Mula-mula, bilangan BCD
dibagi menjadi beberapa kelompok 4-bit yang dimulai pada titik biner. Setiap
kelompok 4-bit ini kemudian diubah menjadi ekivalen-desimalnya. Titik biner
menjadi titik desimal dalam bilangan desimal. Gambar 2.9d menunjukkan bilangan
BCD 01110001.00001000 yang diterjemahkan menjadi ekivalen-desimal sebesar
71,08.
Pertimbangkan pengubahan bilangan BCD menjadi ekivalen-binernya.
Gambar 2.10 menunjukkan prosedur tiga langkah. Langkah 1 menunjukkan bilangan
BCD yang dibagi menjadi beberapa kelompok 4-bit yang dimulai dari titik biner.
Setiap kelompok 4-bit diterjemahkan menjadi ekivalen-desimalnya. Langkah 1 pada
Gambar 2.10 menunjukkan bilangan BCD 000100000011.0101 yang diterjemahkan
menjadi bilangan desimal 103,5.
Langkah 2 pada Gambar 2.10 menunjukkan bagian bilangan bulat dari
bilangan desimal yang diterjemahkan menjadi bilangan biner. Pada langkah 2, angka
10310 diubah menjadi 11001112 dengan prosedur pembagian dengan-2 yang
berulang. Kemudian, bagian bilangan bulat dan pecahan dari bilangan biner tersebut
digabungkan. Jadi bilangan BCD 000100000011.0101 sama dengan bilangan biner
1100111.1.
Perhatikan bahwa penulisan bilangan biner biasanya lebih efisien dari pada
bilangan BCD. Biasanya, bilangan biner terdiri atas 1 dan 0 dalam jumlah yang lebih
sedikit seperti terlihat pada pengubahan pada Gambarr 2.10. Meskipun lebih panjang,
bilangan BCD digunakan dalam sistem digital. Hal ini untuk mempermudahkan
pengubahan ke bilangan desimal.
Marilah kita ubah bilangan biner 10001010.101 ke ekivalen BCD (8421).
Prosedur ini diuraikan pada Gambar 2.11. Mula-mula, bilangan biner tersebut diubah
ke ekivalen-desimalnya. Bilangan biner 10001010.101 sama dengan 138.62510.
Kemudian masing-masing digit desimal diubah menjadi ekivalen BCD. Gambar 2.11
melukiskan desimal 138,625 yang diubah menjadi bilangan BCD 0001 0011
Sistem bilangan dan Sandi /hal 11 dari 14
1000.0110 0010 0101. Selanjutnya, keseluruhan konversi tersebut mengubah biner
10001010.1012 menjadi bilangan 0001 0011 1000 .0110 0010 0101.
2.7. SANDI ASCII
ASCII singkatan dari American Standad Code for Information Interchange,
dikembangkan oleh ANSI (American National Standard Institute) untuk tujuan
membuat kode biner yang standar. Kode ini mungkin merupakan kode yang paling
banyak digunakan diseluruh dunia untuk aplikasi komputer serta komunikasi data.
Kode ASCII yang standar menggunakan kombinasi 7 bit, dengan kombinasi kode
sebanyak 127 dari 128 (27 = 128) kemungkinan kombinasi, yaitu :

26 buah huruf kapital (uppercase) dari A s/d Z.

26 huruf kecil (lower case) dari a s/d z

10 dijit desimal dari 0 s/d 9

34 karakter kontrol yang tidak dapat dicetak hanya digunakan untuk
informasi status operasi komputer.

32 karakter khusus (special charakter)
Data-data dalam komputer akan disimpan dalam memori yang biasanya mempunyai
satuan tempat penyimpanan dalam orde byte (8 bit). Jika kita menggunakan ASCII 7
bit, maka ada satu bit pada setiap lokasi memori yang tidak digunakan. Untuk
memanfaatkan 1 bit tersebut, biasanya data dalam komputer dinyatakan dalam 1 byte
sehingga mempunyai 256 buah kombinasi. Bilangan 0 sampai dengan 127
menyatakan kode ASCII standar, sedangkan 128 sampai dengan 255 biasa digunakan
untuk karakter grafik.
Tabel sandi ASCII
b6b5b4 (column)
Row
000
001
010
011
100
101
110
111
B3b2b1
0000
(Hex)
0
0
NUL
1
DLE
2
SP
3
0
4
@
5
P
6
`
7
p
0001
1
SOH
DC1
!
1
A
Q
a
q
0010
2
STX
DC2
“
2
B
R
b
r
0011
3
ETX
DC3
#
3
C
S
c
s
Sistem bilangan dan Sandi /hal 12 dari 14
0100
4
EOT
DC4
$
4
D
T
d
t
0101
5
ENQ
NAK
%
5
E
U
e
u
0110
6
ACK
SYN
&
6
F
V
f
v
0111
7
BEL
ETB
‘
7
G
W
g
w
1000
8
BS
CAN
(
8
H
X
h
x
1001
9
HT
EM
)
9
I
Y
i
y
1010
A
LF
SUB
*
:
J
Z
j
z
1011
B
VT
ESC
+
;
K
[
k
{
1100
C
FF
FS
‘
<
L
\
l
|
1101
D
CR
GS
-
=
M
]
m
}
1110
E
SO
RS
.
>
N
^
n
~
1111
F
SI
US
/
?
O
_
o
DEL
Control Codes
NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF
CR
SO
SI
SP
Nul
Start of heading
Start of text
End of text
End of transmission
Engquiry
Acknowledge
Beil
Backspace
Horizontal tab
Line feed
Vertical tab
Form feed
Carriage return
Shift out
Shift in
Space
Sistem bilangan dan Sandi /hal 13 dari 14
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US
DEL
Data link escape
Device control 1
Device control 2
Device control 3
Device control 4
Negative aknowledge
Synchronize
End transmitted block
Cancel
End of medium
Substitute
Escape
File separator
Group separator
Record separator
Unit separator
Delete or rubout
3. Contoh-contoh soal dan pembahasan
1. Ubahlah angka desimal 5,625 menjadi biner
Jawab :
5 : 2 = 2
sisa
1
2 : 2 = 1
sisa
0
1 : 2 = 0
sisa
1
5,62510 = 1 0 1 . 1 0 1 2
0,625 x 2 = 1,25
0,25 x 2 = 0,50
0,50 x 2 = 1,00
2. Buatlah daftar keenam belas simbol yang digunakan dalam sistem bilangan
heksadesimal.
Jawab :
Keenam belas simbol yang digunakan adalah :
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C , D, E, dan F.
3. Ubahlah bilangan heksadesimal D3,E menjadi desimal
Jawab :
Bilangan heksadesimal D3,E

D
3
16
1
0,625
x 13
x3
x 14
198 + 3
+
E
0,875
Sistem bilangan dan Sandi /hal 14 dari 14
= 211,87510
Download