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

%