Bab II sistem dan kode bilangan
Komputer dan sistem digital lainnya mempunyai fungsi utama mengolah
informasi. Sehingga diperlukan metode metode dan sistem sistem untuk
merepresentasikan informasi dalam bentuk yang dapat dimanipulasi dan disimpan
oleh perangkat elektronik. Bab ini membahas tentang sistem bilangan dan kode
bilangan yang sering digunakan di dalam komputer dan sistem digital lainnya.
Topik sistem bilangan mencakup sistem bilangan desimal, biner, oktal, dan
heksadesimal serta sistem pengkonversian dari satu sistem bilangan ke sistem
bilangan yang lain. Sedangkan kode bilangan mencakup kode
(BCD),
3,
, dan
(ASCII).
Sistem bilangan yang kita gunakan sehari hari adalah sistem bilangan
desimal. Ketika berbicara angka, pikiran kita langsung terhubung dengan suatu
digit dari 0 s/d 9. Di dalam sistem digital selain bilangan desimal, ada lagi sistem
bilangan yang umum dipakai yaitu sistem bilangan biner, oktal, dan heksadesimal.
Peralatan elektronika digital menggunakan sistem bilangan biner. Beberapa sistem
komputer ada yang menggunakan sistem bilangan oktal. Komputer digital dan
sistem
yang
berdasarkan
mikroprosesor
menggunakan
sistem
bilangan
heksadesimal.
Sistem bilangan desimal menggunakan simbol 0, 1, 2, 3, 4, 5, 6, 7, 8, dan
9. Sistem bilangan desimal disebut juga sistem
atau
. Radiks
dan basis merupakan istilah yang mempunyai arti yang sama, yaitu menyatakan
jumlah digit yang terdapat pada satu sistem bilangan. Sistem bilangan desimal
disebut sistem basis 10 karena mempunya 10 simbol untuk merepresentasikan
bilangannya. Lambang basis dikutsertakan pada kanan bawah suatu bilangan.
Contoh : 28510 atau 285(10). Khusus untuk bilangan desimal, boleh tidak
mencantumkan basis tersebut pada bilangannya. Dengan kata lain, setiap bilangan
yang dalam penyajian tidak terdapat simbol radiks nya, berarti bilangan tersebut
adalah bilangan desimal.
Sistem bilangan mempunyai karakteristik nilai tempat (
! " ), yang
masing masingnya mempunyai bobot sendiri sendiri sesuai dengan tempat
dimana angka/digit tersebut berada. Bobot untuk bilangan desimal adalah :
Bobot satuan
: 100 = 1
Bobot puluhan
: 101 = 10
Bobot ratusan
: 102 = 100
Bobot ribuan
: 103 = 1000
, dst
Nilai suatu bilangan merupakan hasil penjumlahan dari perkalian setiap
angka/digit dengan bobot tempat angka tersebut berada.
Misalnya : bilangan
desimal 347. Pada bilangan tersebut angka 3 menempati posisi satuan, angka 4
pada posisi puluhan, dan angka 7 pada posisi ratusan. Sehingga penjumlahan
300+40+7 menghasilkan angka desimal total sebesar 347.
ratusan
puluhan
2
1
satuan
34710 = (3 x 10 ) + (4 x 10 ) + (7 x 100)
=
300
+
40
+
7
Sistem digital biasanya dikonstruksi dengan dua keadaan, seperti saklar,
transistor, dan komponen komponen elektronika lainnya yang digunakan dalam
sistem digital. Sistem bilangan yang cocok untuk merepresentasikan bilangan di
dalam sistem digital adalah sistem bilangan biner. Itulah sebabnya mengapa kita
perlu mempelajari sistem bilangan biner ketika kita ingin bekerja dalam sistem
digital.
Bilangan biner merupakan bilangan dengan radiks 2. Simbol yang
digunakan hanya 0 dan 1. Setiap digit biner (
) disebut bit.
Bobot faktor biner berdasarkan tempat bit berada, seperti yang tertera berikut ini :
7
bit ke 5
bit ke 4
bit ke 3
bit ke 2
bit ke 1
bit ke 0
Bobot
25
24
23
22
21
20
Desimal
32
16
8
4
2
1
Bit ke 0 (bit paling kanan) dari bilangan biner merupakan
(LSB, #
), sedangkan bit paling kiri dari bilangan
biner merupakan
(MSB, $
B5
B4
B3
B2
B1
B0
1
0
1
0
1
1
MSB
!
(% (
LSB
" # " $
" % "
)
,
). Contoh :
"
"* *
#
&
'
"
#
+
"
Sistem bilangan oktal menggunakan 8 macam simbol bilangan, yaitu 0, 1,
2, 3, 4, 5, 6, dan 7, oleh karena itu bilangan oktal merupakan bilangan dengan
radiks 8. Sistem bilangan ini merupakan metode dari kelompok bilangan biner
(pengelompokan 3 bit), dan biasanya digunakan oleh perusahaan komputer yang
menggunakan kode 3 bit untuk merepresentasikan instruksi/operasi. Pada sistem
yang demikian, bilangan oktal digunakan sebagai perwakilan pengganti bilangan
biner, sehingga pengguna dapat dengan mudah membuat ataupun membaca
instruksi komputer.
Untuk lebih memudahkan dalam memahami bilangan oktal, dapat dilihat
pada tabel 2.1 berikut ini :
Tabel 2.1 Bilangan Desimal yang direpresentasikan dengan Bilangan Biner dan Oktal
Desimal
Biner
Oktal
0
000
0
1
001
1
2
010
2
8
-
3
011
3
4
100
4
5
101
5
6
110
6
7
111
7
8
1000
10
9
1001
11
10
1010
12
. "
Sistem bilangan heksadesimal menggunakan 16 simbol, yaitu : 0, 1, 2, 3,
4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Huruf A untuk cacahan 10, B untuk 11, C untuk
12, D untuk 13, E untuk 14, dan F untuk 15. Sistem bilangan ini merupakan
metode dari pengelompokan 4 bit. Komputer digital dan sistem yang berdasarkan
mikroprosesor menggunakan sistem bilangan heksadesimal. Untuk lebih
memudahkan dalam memahami bilangan heksadesimal, dapat dilihat pada tabel
2.2 berikut ini :
Tabel 2.2 Bilangan Desimal yang direpresentasikan dengan Bilangan Biner dan
Heksadesimal
. "
0
0000 0000
00
1
0000 0001
01
2
0000 0010
02
3
0000 0011
03
4
0000 0100
04
5
0000 0101
05
6
0000 0110
06
7
0000 0111
07
8
0000 1000
08
9
,
% /
,
% /
9
0000 1001
09
10
0000 1010
0A
11
0000 1011
0B
12
0000 1100
0C
13
0000 1101
0D
14
0000 1110
0E
15
0000 1111
0F
16
0001 0000
10
17
0001 0001
11
18
0001 0010
12
19
0001 0011
13
20
0001 0100
14
21
0001 0101
15
"
Dalam mengubah sistem bilangan desimal ke sistem bilangan lainnya
dapat dilakukan dengan
%
#
(
dengan radiksnya.
(
Langkah langkah metode pembagian untuk mengubah bilangan desimal menjadi
bilangan biner (radiks 2) adalah sebagai berikut :
1. Berturut turut bagi bilangan desimal yang diketahui itu dengan 2.
2. Letakkan hasil baginya tepat di bawah bilangan yang dibagi itu.
3. Letakkan sisa pembagian itu di samping hasil bagi tersebut.
4. Bilangan biner setaranya akan terbentuk oleh sisa pembagian itu dengan
"
"
% %
$
"
#
dan
#
$
"
.
Ubahlah bilangan desimal 115 menjadi bilangan biner.
10
0 1 (:
2 115
sisa 1
2
57
sisa 1
2
28
sisa 0
2
14
sisa 0
2
7
sisa 1
2
3
sisa 1
1
Jadi,
115(10) = 1110011(2)
Untuk bilangan pecahan desimal, pengubahan bilangan tersebut menjadi
bilangan biner dapat dilakukan dengan langkah langkah berikut :
1. Berturut turut kalikanlah pecahan desimal itu dengan 2.
2. Tulislah hasil perkalian itu dengan lengkap, tetapi pisahkan bagian bulat dari
bagian pecahannya.
3. Letakkan hasil kali tersebut tepat di bawah bilangan yang dikalikan itu.
4. Lakukan perkalian itu hanya untuk bagian pecahannya saja dengan
mengabaikan bagian bulatnya sampai semua angka di bagian pecahannya
sama dengan nol atau sampai banyaknya angka yang diperlukan untuk derajat
ketepatannya telah dicapai.
5. Bagian bilangan bulat hasil perkalian tersebut yang pertama yang diperoleh
dari perkalian yang pertama merupakan bagian pecahan bilangan biner yang
pertama.
Untuk bilangan desimal yang merupakan gabungan antara bilangan bulat
dan bilangan pecahan, masing masing bagian itu (bulat dan pecahannya)
dikerjakan secara terpisah.
% %
Ubahlah bilangan desimal 0,6875 menjadi bilangan biner.
11
0 1 (2
0,375
0,750
0,500
x2
x2
x2
x2
,375
3,75
,500
,000
0,6875(10) = 0,1011(2)
Jadi,
,
0,6875
% /
"
"
Konversi bilangan desimal ke bilangan oktal dapat dilakukan dengan cara
membagi bilangan desimal tersebut dengan 8 secara terus menerus, dan hasilnya
dibaca dari bawah ke atas.
% %
, Ubahlah bilangan desimal 574 menjadi bilangan oktal.
0 1 (2
8
574
sisa 6
8
71
sisa 7
8
8
sisa 0
1
Jadi,
574(10) = 1076(8)
Konversi bilangan pecahan desimal ke bilangan oktal dapat dilakukan
dengan cara mengalikan bilangan pecahan desimal tersebut dengan 8 secara terus
menerus, sampai diperoleh bilangan nol di belakang koma. Jika setelah beberapa
kali perkalian tidak menghasilkan bilangan nol di belakang koma, ambil beberapa
digit sampai banyaknya angka yang diperlukan untuk derajat ketepatan. Berarti
nilai tersebut adalah nilai aproksimasi (pendekatan).
% %
- Ubahlah bilangan pecahan desimal 0,1875 menjadi bilangan oktal.
12
0 1 (2
0,1875
0,500
x 8
x 8
,500
-,000
Jadi,
0,1875(10) = 0,14(8)
,,
% /
"
. "
Konversi bilangan desimal ke bilangan heksadesimal dapat dilakukan
dengan cara membagi bilangan desimal tersebut dengan 16 secara terus menerus,
dan hasilnya dibaca dari bawah ke atas.
Konversi bilangan pecahan desimal ke bilangan heksadesimal dapat
dilakukan dengan mengalikan bilangan pecahan desimal tersebut dengan 16
secara terus menerus, sampai diperoleh bilangan nol di belakang koma.
4 Ubahlah bilangan desimal 586 menjadi bilangan heksadesimal.
% %
0 1 (2
16
586
sisa 10 = A
16
36
sisa 4
2
Jadi,
498(10) = 24A(H)
% %
5
Ubahlah bilangan pecahan desimal 0,5 menjadi bilangan
heksadesimal.
0 1 (2
0,5
x16
8,000
Jadi,
0,5(10) = 0,8(H)
13
-
% /
-
% /
"
Konversi bilangan biner ke bilangan desimal dapat dilakukan dengan 2
(dua) cara, yaitu :
Cara I : Kalikan setiap bit dengan bobot faktor biner yang bersesuaian lalu
jumlahkan hasilnya.
Cara II : Tulis bilangan binernya, lalu tulis bobot faktor biner di bawah masing
masing bit. Setelah itu coret bobot faktor biner di bawah bit 0, dan
jumlahkan semua bobot faktor boner yang tidak dicoret.
6 Ubahlah bilangan biner 1110010 menjadi bilangan decimal.
% %
0 1 (2
Cara I :
1010110(2) = (1x26) + (1x25) + (1x24) + (0x23) + (0x22) + (1x21) + (0x20)
= 64 + 32 + 16 + 0 + 0 + 2 + 0
= 114(10)
Cara II :
1
1
1
0
0
1
0
26
25
24
23
22
21
20
64 + 32 + 16 + 8
+
4
+ 2 + 1
(tulis binernya)
= 114(10) (jumlahkan
bilangan
yang tidak
dicoret)
7 Ubahlah bilangan biner 1001,1110 menjadi bilangan decimal.
% %
0 1 (2
1
0
0
1
23
22
21
20
8
-
+ 0
% /
+ 0
+ 1
, 1
21
1
1
0
22
23
24
+ 0,5 + 0,25 + 0,125 + 0
"
= 9,875(10)
"
Untuk mengubah bilangan biner ke bilangan oktal dapat dilakukan dengan
mengelompokkan bilangan biner itu
(
8
(
dimulai dari bit LSB,
kemudian mengubah masing masing kelompok tersebut menjadi setara oktalnya.
14
+ Ubahlah bilangan biner 10010111(2) menjadi bilangan octal.
% %
0 1 (2
0 1 0 0 1 0 1 1 1(2)
2
2
= 227(8)
7
3 Ubahlah bilangan biner 1110,100101 menjadi bilangan oktal.
% %
0 1 (2
0 0 1 1 1 0 , 1 0 0 1 0 1(2) = 16,45(8)
1
-,
6
4
% /
5
"
. "
Untuk mengubah bilangan biner ke bilangan heksadesimal dapat dilakukan
dengan mengelompokkan bilangan biner itu
#
( 8
#
( dimulai dari
bit LSB, kemudian mengubah masing masing kelompok tersebut menjadi setara
heksadesimalnya.
Ubahlah bilangan biner 101001001110 menjadi bilangan
% %
heksadesimal.
0 1 (2
1 0 1 0 0 1 0 0 1 1 1 0(2) = A4E(16)
A
4
E
4
% /
"
4
% /
"
"
Konversi bilangan oktal ke bilangan desimal dapat dilakukan dengan cara
mengalikan setiap digit dengan bobot faktor oktal yang bersesuaian lalu
jumlahkan hasilnya.
% %
Ubahlah bilangan oktal 423 menjadi bilangan desimal.
15
0 1 (2
415(8) = (4x82) + (1x81) + (5x80)
= 256 + 8
+
5
= 269(10)
4
% /
"
"
Konversi bilangan oktal ke biner dapat dilakukan dengan cara mengubah
setiap digit oktal menjadi bilangan biner 3 bit.
, Ubahlah bilangan oktal 745 menjadi bilangan biner.
% %
0 1 (2
7
4
5(8)
111
100
101(2)
Jadi,
745(8) = 111100101(2)
5
% /
. "
5
% /
. "
"
Konversi bilangan heksadesimal ke bilangan desimal dapat dilakukan
dengan cara mengalikan setiap digit dengan bobot faktor heksa yang bersesuaian
lalu jumlahkan hasilnya.
- Ubahlah bilangan oktal 1C7 menjadi bilangan desimal.
% %
0 1 (2
1C7(H) = (1x162) + (12x161) + (7x160)
= 256
+ 192
+ 112
= 560(10)
5
% /
. "
"
Konversi bilangan heksadesimal ke bilangan biner dapat dilakukan dengan
cara mengubah setiap digit heksadesimal menjadi bilangan biner 4 bit.
16
, Ubahlah bilangan heksadesimal D2A menjadi bilangan biner.
% %
0 1 (2
D
2
1101
A(8)
0010 1010(2)
Jadi,
D2A(H) = 110100101010(2)
6
%
Data yang diproses di dalam sistem digital umumnya direpresentasikan
dengan menggunakan kode tertentu. Terdapat berbagai macam sistem kode seperti
(BCD), gray, excess 3, dan ASCII. Dengan menggunakan
kode bilangan, dapat disajikan berbagai macam jenis data seperti bilangan, simbol
maupun huruf ke dalam besaran digital.
Kode kode tersebut disusun dengan suatu cara menggunakan bilangan
biner yang membentuk kelompok tertentu. Beberapa istilah yang berhubungan
dengan pengelompokkan bilangan biner, yaitu :
(( adalah kode biner 4 bit
Contoh : 1001, 1010, dan 1110
)
adalah kode biner 8 bit
Contoh : 10011101 dan 10100110
:
1 byte = 8 bit
1 KB (baca : Kilobyte) = 1024 byte = 210 byte
9%
adalah kode biner 16 bit
adalah kode biner 32 bit
% ( 9%
6
%
:
;
Kode BCD digunakan untuk merepresentasikan digit desimal 0 s.d. 9.
Dalam kode BCD, setiap digit desimal tersebut direpresentasikan dengan
menggunakan bilangan biner 4 bit. Bilangan biner 4 bit akan menghasilkan 16
17
kombinasi yang berbeda, sehingga pada system kode BCD terdapat 6 buah kode
yang tidak digunakan ( !
), yaitu : 1010, 1011, 1100, 1101, 1110, dan
1111. Kode BCD untuk digital 0 s.d 9 dapat dilihat pada Tabel 2.3.
Tabel 2.3 Kode BCD
%
0
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
9
1001
- Tulislah kode BCD untuk bilangan decimal 3973.
% %
0 1 (2
3
9
7
3
0011
1001
0111
0011
Jadi,
3973 (10) = 0011 1001 0111 0011 (BCD)
Dengan menggunakan cara yang sama dengan contoh 2.14 di atas, dapat
dilakukan konversi baliknya (mengubah kode BCD menjadi bilangan decimal).
% %
4 Ubahlah bilangan BCD 1001 0110 0111 0010 ke bilangan decimal.
18
0 1 (2
1001
0110
0111
0010
9
6
7
2
Jadi,
1001 0110 0111 0010 (BCD) = 9672 (10)
Sekilas kode BCD nampak seperti sistem biner, tetapi pada kenyataannya
keduanya adalah berbeda. Untuk melihat perbedaan keduanya, perhatikan contoh
2.16 berikut.
5 Ubahlah bilangan desimal 129 menjadi bilangan biner dan kode
% %
BCD.
0 1 (2
Dengan menggunakan metode bagi 2, dapat ditemukan :
129(10) = 10000001(2)
Sistem Biner
Konversi sistem desimal ke kode BCD :
129(10) = 0001 0010 1001(BCD)
Kode BCD
Keunggulan kode BCD adalah mudahnya mengubah dari dan ke bilangan
desimal. Kerugiannya adalah kode BCD tidak dapat digunakan untuk operasi
aritmatika yang hasilnya melebihi 9.
Kode BCD digunakan pada sistem digital bila informasi desimal
diperlukan sebagai masukan atau diperagakan sebagai keluaran. Voltmeter digital,
jam digital, dan termometer digital merupakan contoh alat yang menggunakan
kode BCD karena alat itu memperagakan keluarannya dalam desimal. Kalkulator
juga menggunakan kode BCD karena bilangan masukannya diberikan dalam
bentuk desimal melalui tombol tombolnya dan keluarannya diperagakan dalam
bentuk desimal.
Beberapa komputer jaman dulu mengolah bilangan BCD, tetapi jenis
komputer ini lebih lambat dan lebih rumit dibandingkan komputer biner. Sebuah
komputer tidak hanya sekedar memproses bilangan, tetapi juga harus dapat
19
bekerja dengan data data non numerik yang lain. Dengan kata lain, sebuah
komputer modern harus dapat memproses data alfanumerik (huruf alfabet,
bilangan, dan simbol simbol lain. Karena itulah komputer modern menggunakan
CPU yang memproses bilangan biner dan bukan bilangan BCD.
Dalam
bidang
teknik
digital
terdapat
rangkaian
yang
dapat
membangkitkan kode BCD dari suatu bilangan desimal yang dimasukkan ke
dalam inputnya, dan rangkaian tersebut dinamakan pengkode desimal ke BCD
(decimal to BCD encoder). Terdapat pula rangkaian yang fungsinya merupakan
kebalikan dari fungsi encoder, yaitu decoder BCD ke desimal. Untuk pembahasan
yang lebih mendalam tentang encoder dan decoder, dapat dilihat pada Bab V.
6
%
=,;
Excess 3 artinya kelebihan tiga. Sesuai dengan namanya, penetapannya
diperoleh dari penambahan 3 pada nilai binernya. Tabel 2.2 berikut ini
menunjukkan kode XS 3.
Tabel 2.2 Kode Excess 3
%
informasi. Sehingga diperlukan metode metode dan sistem sistem untuk
merepresentasikan informasi dalam bentuk yang dapat dimanipulasi dan disimpan
oleh perangkat elektronik. Bab ini membahas tentang sistem bilangan dan kode
bilangan yang sering digunakan di dalam komputer dan sistem digital lainnya.
Topik sistem bilangan mencakup sistem bilangan desimal, biner, oktal, dan
heksadesimal serta sistem pengkonversian dari satu sistem bilangan ke sistem
bilangan yang lain. Sedangkan kode bilangan mencakup kode
(BCD),
3,
, dan
(ASCII).
Sistem bilangan yang kita gunakan sehari hari adalah sistem bilangan
desimal. Ketika berbicara angka, pikiran kita langsung terhubung dengan suatu
digit dari 0 s/d 9. Di dalam sistem digital selain bilangan desimal, ada lagi sistem
bilangan yang umum dipakai yaitu sistem bilangan biner, oktal, dan heksadesimal.
Peralatan elektronika digital menggunakan sistem bilangan biner. Beberapa sistem
komputer ada yang menggunakan sistem bilangan oktal. Komputer digital dan
sistem
yang
berdasarkan
mikroprosesor
menggunakan
sistem
bilangan
heksadesimal.
Sistem bilangan desimal menggunakan simbol 0, 1, 2, 3, 4, 5, 6, 7, 8, dan
9. Sistem bilangan desimal disebut juga sistem
atau
. Radiks
dan basis merupakan istilah yang mempunyai arti yang sama, yaitu menyatakan
jumlah digit yang terdapat pada satu sistem bilangan. Sistem bilangan desimal
disebut sistem basis 10 karena mempunya 10 simbol untuk merepresentasikan
bilangannya. Lambang basis dikutsertakan pada kanan bawah suatu bilangan.
Contoh : 28510 atau 285(10). Khusus untuk bilangan desimal, boleh tidak
mencantumkan basis tersebut pada bilangannya. Dengan kata lain, setiap bilangan
yang dalam penyajian tidak terdapat simbol radiks nya, berarti bilangan tersebut
adalah bilangan desimal.
Sistem bilangan mempunyai karakteristik nilai tempat (
! " ), yang
masing masingnya mempunyai bobot sendiri sendiri sesuai dengan tempat
dimana angka/digit tersebut berada. Bobot untuk bilangan desimal adalah :
Bobot satuan
: 100 = 1
Bobot puluhan
: 101 = 10
Bobot ratusan
: 102 = 100
Bobot ribuan
: 103 = 1000
, dst
Nilai suatu bilangan merupakan hasil penjumlahan dari perkalian setiap
angka/digit dengan bobot tempat angka tersebut berada.
Misalnya : bilangan
desimal 347. Pada bilangan tersebut angka 3 menempati posisi satuan, angka 4
pada posisi puluhan, dan angka 7 pada posisi ratusan. Sehingga penjumlahan
300+40+7 menghasilkan angka desimal total sebesar 347.
ratusan
puluhan
2
1
satuan
34710 = (3 x 10 ) + (4 x 10 ) + (7 x 100)
=
300
+
40
+
7
Sistem digital biasanya dikonstruksi dengan dua keadaan, seperti saklar,
transistor, dan komponen komponen elektronika lainnya yang digunakan dalam
sistem digital. Sistem bilangan yang cocok untuk merepresentasikan bilangan di
dalam sistem digital adalah sistem bilangan biner. Itulah sebabnya mengapa kita
perlu mempelajari sistem bilangan biner ketika kita ingin bekerja dalam sistem
digital.
Bilangan biner merupakan bilangan dengan radiks 2. Simbol yang
digunakan hanya 0 dan 1. Setiap digit biner (
) disebut bit.
Bobot faktor biner berdasarkan tempat bit berada, seperti yang tertera berikut ini :
7
bit ke 5
bit ke 4
bit ke 3
bit ke 2
bit ke 1
bit ke 0
Bobot
25
24
23
22
21
20
Desimal
32
16
8
4
2
1
Bit ke 0 (bit paling kanan) dari bilangan biner merupakan
(LSB, #
), sedangkan bit paling kiri dari bilangan
biner merupakan
(MSB, $
B5
B4
B3
B2
B1
B0
1
0
1
0
1
1
MSB
!
(% (
LSB
" # " $
" % "
)
,
). Contoh :
"
"* *
#
&
'
"
#
+
"
Sistem bilangan oktal menggunakan 8 macam simbol bilangan, yaitu 0, 1,
2, 3, 4, 5, 6, dan 7, oleh karena itu bilangan oktal merupakan bilangan dengan
radiks 8. Sistem bilangan ini merupakan metode dari kelompok bilangan biner
(pengelompokan 3 bit), dan biasanya digunakan oleh perusahaan komputer yang
menggunakan kode 3 bit untuk merepresentasikan instruksi/operasi. Pada sistem
yang demikian, bilangan oktal digunakan sebagai perwakilan pengganti bilangan
biner, sehingga pengguna dapat dengan mudah membuat ataupun membaca
instruksi komputer.
Untuk lebih memudahkan dalam memahami bilangan oktal, dapat dilihat
pada tabel 2.1 berikut ini :
Tabel 2.1 Bilangan Desimal yang direpresentasikan dengan Bilangan Biner dan Oktal
Desimal
Biner
Oktal
0
000
0
1
001
1
2
010
2
8
-
3
011
3
4
100
4
5
101
5
6
110
6
7
111
7
8
1000
10
9
1001
11
10
1010
12
. "
Sistem bilangan heksadesimal menggunakan 16 simbol, yaitu : 0, 1, 2, 3,
4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Huruf A untuk cacahan 10, B untuk 11, C untuk
12, D untuk 13, E untuk 14, dan F untuk 15. Sistem bilangan ini merupakan
metode dari pengelompokan 4 bit. Komputer digital dan sistem yang berdasarkan
mikroprosesor menggunakan sistem bilangan heksadesimal. Untuk lebih
memudahkan dalam memahami bilangan heksadesimal, dapat dilihat pada tabel
2.2 berikut ini :
Tabel 2.2 Bilangan Desimal yang direpresentasikan dengan Bilangan Biner dan
Heksadesimal
. "
0
0000 0000
00
1
0000 0001
01
2
0000 0010
02
3
0000 0011
03
4
0000 0100
04
5
0000 0101
05
6
0000 0110
06
7
0000 0111
07
8
0000 1000
08
9
,
% /
,
% /
9
0000 1001
09
10
0000 1010
0A
11
0000 1011
0B
12
0000 1100
0C
13
0000 1101
0D
14
0000 1110
0E
15
0000 1111
0F
16
0001 0000
10
17
0001 0001
11
18
0001 0010
12
19
0001 0011
13
20
0001 0100
14
21
0001 0101
15
"
Dalam mengubah sistem bilangan desimal ke sistem bilangan lainnya
dapat dilakukan dengan
%
#
(
dengan radiksnya.
(
Langkah langkah metode pembagian untuk mengubah bilangan desimal menjadi
bilangan biner (radiks 2) adalah sebagai berikut :
1. Berturut turut bagi bilangan desimal yang diketahui itu dengan 2.
2. Letakkan hasil baginya tepat di bawah bilangan yang dibagi itu.
3. Letakkan sisa pembagian itu di samping hasil bagi tersebut.
4. Bilangan biner setaranya akan terbentuk oleh sisa pembagian itu dengan
"
"
% %
$
"
#
dan
#
$
"
.
Ubahlah bilangan desimal 115 menjadi bilangan biner.
10
0 1 (:
2 115
sisa 1
2
57
sisa 1
2
28
sisa 0
2
14
sisa 0
2
7
sisa 1
2
3
sisa 1
1
Jadi,
115(10) = 1110011(2)
Untuk bilangan pecahan desimal, pengubahan bilangan tersebut menjadi
bilangan biner dapat dilakukan dengan langkah langkah berikut :
1. Berturut turut kalikanlah pecahan desimal itu dengan 2.
2. Tulislah hasil perkalian itu dengan lengkap, tetapi pisahkan bagian bulat dari
bagian pecahannya.
3. Letakkan hasil kali tersebut tepat di bawah bilangan yang dikalikan itu.
4. Lakukan perkalian itu hanya untuk bagian pecahannya saja dengan
mengabaikan bagian bulatnya sampai semua angka di bagian pecahannya
sama dengan nol atau sampai banyaknya angka yang diperlukan untuk derajat
ketepatannya telah dicapai.
5. Bagian bilangan bulat hasil perkalian tersebut yang pertama yang diperoleh
dari perkalian yang pertama merupakan bagian pecahan bilangan biner yang
pertama.
Untuk bilangan desimal yang merupakan gabungan antara bilangan bulat
dan bilangan pecahan, masing masing bagian itu (bulat dan pecahannya)
dikerjakan secara terpisah.
% %
Ubahlah bilangan desimal 0,6875 menjadi bilangan biner.
11
0 1 (2
0,375
0,750
0,500
x2
x2
x2
x2
,375
3,75
,500
,000
0,6875(10) = 0,1011(2)
Jadi,
,
0,6875
% /
"
"
Konversi bilangan desimal ke bilangan oktal dapat dilakukan dengan cara
membagi bilangan desimal tersebut dengan 8 secara terus menerus, dan hasilnya
dibaca dari bawah ke atas.
% %
, Ubahlah bilangan desimal 574 menjadi bilangan oktal.
0 1 (2
8
574
sisa 6
8
71
sisa 7
8
8
sisa 0
1
Jadi,
574(10) = 1076(8)
Konversi bilangan pecahan desimal ke bilangan oktal dapat dilakukan
dengan cara mengalikan bilangan pecahan desimal tersebut dengan 8 secara terus
menerus, sampai diperoleh bilangan nol di belakang koma. Jika setelah beberapa
kali perkalian tidak menghasilkan bilangan nol di belakang koma, ambil beberapa
digit sampai banyaknya angka yang diperlukan untuk derajat ketepatan. Berarti
nilai tersebut adalah nilai aproksimasi (pendekatan).
% %
- Ubahlah bilangan pecahan desimal 0,1875 menjadi bilangan oktal.
12
0 1 (2
0,1875
0,500
x 8
x 8
,500
-,000
Jadi,
0,1875(10) = 0,14(8)
,,
% /
"
. "
Konversi bilangan desimal ke bilangan heksadesimal dapat dilakukan
dengan cara membagi bilangan desimal tersebut dengan 16 secara terus menerus,
dan hasilnya dibaca dari bawah ke atas.
Konversi bilangan pecahan desimal ke bilangan heksadesimal dapat
dilakukan dengan mengalikan bilangan pecahan desimal tersebut dengan 16
secara terus menerus, sampai diperoleh bilangan nol di belakang koma.
4 Ubahlah bilangan desimal 586 menjadi bilangan heksadesimal.
% %
0 1 (2
16
586
sisa 10 = A
16
36
sisa 4
2
Jadi,
498(10) = 24A(H)
% %
5
Ubahlah bilangan pecahan desimal 0,5 menjadi bilangan
heksadesimal.
0 1 (2
0,5
x16
8,000
Jadi,
0,5(10) = 0,8(H)
13
-
% /
-
% /
"
Konversi bilangan biner ke bilangan desimal dapat dilakukan dengan 2
(dua) cara, yaitu :
Cara I : Kalikan setiap bit dengan bobot faktor biner yang bersesuaian lalu
jumlahkan hasilnya.
Cara II : Tulis bilangan binernya, lalu tulis bobot faktor biner di bawah masing
masing bit. Setelah itu coret bobot faktor biner di bawah bit 0, dan
jumlahkan semua bobot faktor boner yang tidak dicoret.
6 Ubahlah bilangan biner 1110010 menjadi bilangan decimal.
% %
0 1 (2
Cara I :
1010110(2) = (1x26) + (1x25) + (1x24) + (0x23) + (0x22) + (1x21) + (0x20)
= 64 + 32 + 16 + 0 + 0 + 2 + 0
= 114(10)
Cara II :
1
1
1
0
0
1
0
26
25
24
23
22
21
20
64 + 32 + 16 + 8
+
4
+ 2 + 1
(tulis binernya)
= 114(10) (jumlahkan
bilangan
yang tidak
dicoret)
7 Ubahlah bilangan biner 1001,1110 menjadi bilangan decimal.
% %
0 1 (2
1
0
0
1
23
22
21
20
8
-
+ 0
% /
+ 0
+ 1
, 1
21
1
1
0
22
23
24
+ 0,5 + 0,25 + 0,125 + 0
"
= 9,875(10)
"
Untuk mengubah bilangan biner ke bilangan oktal dapat dilakukan dengan
mengelompokkan bilangan biner itu
(
8
(
dimulai dari bit LSB,
kemudian mengubah masing masing kelompok tersebut menjadi setara oktalnya.
14
+ Ubahlah bilangan biner 10010111(2) menjadi bilangan octal.
% %
0 1 (2
0 1 0 0 1 0 1 1 1(2)
2
2
= 227(8)
7
3 Ubahlah bilangan biner 1110,100101 menjadi bilangan oktal.
% %
0 1 (2
0 0 1 1 1 0 , 1 0 0 1 0 1(2) = 16,45(8)
1
-,
6
4
% /
5
"
. "
Untuk mengubah bilangan biner ke bilangan heksadesimal dapat dilakukan
dengan mengelompokkan bilangan biner itu
#
( 8
#
( dimulai dari
bit LSB, kemudian mengubah masing masing kelompok tersebut menjadi setara
heksadesimalnya.
Ubahlah bilangan biner 101001001110 menjadi bilangan
% %
heksadesimal.
0 1 (2
1 0 1 0 0 1 0 0 1 1 1 0(2) = A4E(16)
A
4
E
4
% /
"
4
% /
"
"
Konversi bilangan oktal ke bilangan desimal dapat dilakukan dengan cara
mengalikan setiap digit dengan bobot faktor oktal yang bersesuaian lalu
jumlahkan hasilnya.
% %
Ubahlah bilangan oktal 423 menjadi bilangan desimal.
15
0 1 (2
415(8) = (4x82) + (1x81) + (5x80)
= 256 + 8
+
5
= 269(10)
4
% /
"
"
Konversi bilangan oktal ke biner dapat dilakukan dengan cara mengubah
setiap digit oktal menjadi bilangan biner 3 bit.
, Ubahlah bilangan oktal 745 menjadi bilangan biner.
% %
0 1 (2
7
4
5(8)
111
100
101(2)
Jadi,
745(8) = 111100101(2)
5
% /
. "
5
% /
. "
"
Konversi bilangan heksadesimal ke bilangan desimal dapat dilakukan
dengan cara mengalikan setiap digit dengan bobot faktor heksa yang bersesuaian
lalu jumlahkan hasilnya.
- Ubahlah bilangan oktal 1C7 menjadi bilangan desimal.
% %
0 1 (2
1C7(H) = (1x162) + (12x161) + (7x160)
= 256
+ 192
+ 112
= 560(10)
5
% /
. "
"
Konversi bilangan heksadesimal ke bilangan biner dapat dilakukan dengan
cara mengubah setiap digit heksadesimal menjadi bilangan biner 4 bit.
16
, Ubahlah bilangan heksadesimal D2A menjadi bilangan biner.
% %
0 1 (2
D
2
1101
A(8)
0010 1010(2)
Jadi,
D2A(H) = 110100101010(2)
6
%
Data yang diproses di dalam sistem digital umumnya direpresentasikan
dengan menggunakan kode tertentu. Terdapat berbagai macam sistem kode seperti
(BCD), gray, excess 3, dan ASCII. Dengan menggunakan
kode bilangan, dapat disajikan berbagai macam jenis data seperti bilangan, simbol
maupun huruf ke dalam besaran digital.
Kode kode tersebut disusun dengan suatu cara menggunakan bilangan
biner yang membentuk kelompok tertentu. Beberapa istilah yang berhubungan
dengan pengelompokkan bilangan biner, yaitu :
(( adalah kode biner 4 bit
Contoh : 1001, 1010, dan 1110
)
adalah kode biner 8 bit
Contoh : 10011101 dan 10100110
:
1 byte = 8 bit
1 KB (baca : Kilobyte) = 1024 byte = 210 byte
9%
adalah kode biner 16 bit
adalah kode biner 32 bit
% ( 9%
6
%
:
;
Kode BCD digunakan untuk merepresentasikan digit desimal 0 s.d. 9.
Dalam kode BCD, setiap digit desimal tersebut direpresentasikan dengan
menggunakan bilangan biner 4 bit. Bilangan biner 4 bit akan menghasilkan 16
17
kombinasi yang berbeda, sehingga pada system kode BCD terdapat 6 buah kode
yang tidak digunakan ( !
), yaitu : 1010, 1011, 1100, 1101, 1110, dan
1111. Kode BCD untuk digital 0 s.d 9 dapat dilihat pada Tabel 2.3.
Tabel 2.3 Kode BCD
%
0
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
9
1001
- Tulislah kode BCD untuk bilangan decimal 3973.
% %
0 1 (2
3
9
7
3
0011
1001
0111
0011
Jadi,
3973 (10) = 0011 1001 0111 0011 (BCD)
Dengan menggunakan cara yang sama dengan contoh 2.14 di atas, dapat
dilakukan konversi baliknya (mengubah kode BCD menjadi bilangan decimal).
% %
4 Ubahlah bilangan BCD 1001 0110 0111 0010 ke bilangan decimal.
18
0 1 (2
1001
0110
0111
0010
9
6
7
2
Jadi,
1001 0110 0111 0010 (BCD) = 9672 (10)
Sekilas kode BCD nampak seperti sistem biner, tetapi pada kenyataannya
keduanya adalah berbeda. Untuk melihat perbedaan keduanya, perhatikan contoh
2.16 berikut.
5 Ubahlah bilangan desimal 129 menjadi bilangan biner dan kode
% %
BCD.
0 1 (2
Dengan menggunakan metode bagi 2, dapat ditemukan :
129(10) = 10000001(2)
Sistem Biner
Konversi sistem desimal ke kode BCD :
129(10) = 0001 0010 1001(BCD)
Kode BCD
Keunggulan kode BCD adalah mudahnya mengubah dari dan ke bilangan
desimal. Kerugiannya adalah kode BCD tidak dapat digunakan untuk operasi
aritmatika yang hasilnya melebihi 9.
Kode BCD digunakan pada sistem digital bila informasi desimal
diperlukan sebagai masukan atau diperagakan sebagai keluaran. Voltmeter digital,
jam digital, dan termometer digital merupakan contoh alat yang menggunakan
kode BCD karena alat itu memperagakan keluarannya dalam desimal. Kalkulator
juga menggunakan kode BCD karena bilangan masukannya diberikan dalam
bentuk desimal melalui tombol tombolnya dan keluarannya diperagakan dalam
bentuk desimal.
Beberapa komputer jaman dulu mengolah bilangan BCD, tetapi jenis
komputer ini lebih lambat dan lebih rumit dibandingkan komputer biner. Sebuah
komputer tidak hanya sekedar memproses bilangan, tetapi juga harus dapat
19
bekerja dengan data data non numerik yang lain. Dengan kata lain, sebuah
komputer modern harus dapat memproses data alfanumerik (huruf alfabet,
bilangan, dan simbol simbol lain. Karena itulah komputer modern menggunakan
CPU yang memproses bilangan biner dan bukan bilangan BCD.
Dalam
bidang
teknik
digital
terdapat
rangkaian
yang
dapat
membangkitkan kode BCD dari suatu bilangan desimal yang dimasukkan ke
dalam inputnya, dan rangkaian tersebut dinamakan pengkode desimal ke BCD
(decimal to BCD encoder). Terdapat pula rangkaian yang fungsinya merupakan
kebalikan dari fungsi encoder, yaitu decoder BCD ke desimal. Untuk pembahasan
yang lebih mendalam tentang encoder dan decoder, dapat dilihat pada Bab V.
6
%
=,;
Excess 3 artinya kelebihan tiga. Sesuai dengan namanya, penetapannya
diperoleh dari penambahan 3 pada nilai binernya. Tabel 2.2 berikut ini
menunjukkan kode XS 3.
Tabel 2.2 Kode Excess 3
%