PERTEMUAN : 2 SISTEM BILANGAN
Deskripsi singkat
: Dalam pertemuan ini akan dibahas mengenai pengenalan sistem
Bilangan pada komputer dan bahasa assembly serta fungsi-fungsi yang dalam pengaksesan ke port dengan bahasa assembly.
Tujuan Pembelajaran : 1. Dapat memahami fungsi bilangan biner, octal, decimal, heksadesimal yang dibutuhkan untuk mempelajari bahasa assembler. 2. Memahami jenis-jenis sistem bilangan yang digunakan pada teknik mikroprosessor 3. Memahami konversi sistem bilangan desimal ke sistem bilangan biner 4. Memahami konversi sistem bilangan desimal ke sistem bilangan oktal 5. Memahami konversi sistem bilangan desimal ke sistem bilangan heksadesimal 6. Memahami konversi sistem bilangan biner ke sistem bilangan oktal atau sebaliknya 7. Memahami konversi sistem bilangan biner ke sistem bilangan heksadesimal atau sebaliknya 8. Memahami konversi sistem bilangan desimal dan sistem bilangan biner antara 0 dan 1 9. Mampu merubah bilangan desimal ke bentuk BCD atau sebaliknya 10. Mampu merubah bilangan desimal ke bentuk BCH atau sebaliknya 11. Memahami ASCII Code untuk pembentukan karakter
Modul I dan II
Page 14
2.1 Bilangan Sistem bilangan (Number System) adalah suatu cara untuk mewakili besaran dari suatu sistem fisik. Sistem bilangan yang banyak digunakan oleh manusia adalah sistem bilangan decimal, yaitu sistem bilangan yang menggunakan 10 macam symbol untuk mewakili besaran. Sistem ini banyak dipergunakan oleh manusia karena konsep yang digunakan adalah manusia memiliki 10 buah jari yang bisa membantu perhitungan-perhitugan menggunakan sistem decimal. Sistem bilangan pada sebuah komputer, diwakili oleh bentuk elemen dua keadaan (Two-State Elements), yaitu keadaan off (tidak ada arus) dan keadaan on (ada arus). Konsep ini yang digunakan dalam sistem bilangan biner, yaitu hanya menggunakan 2 macam nilai untuk mewakili suatu besaran nilai. Disamping sistem bilangan biner (Binary Number System), komputer juga menggunakan sistem bilangan yang lain, yaitu sistem bilangan octal (Octal Number System) dan sistem bilangan hesadesimal (Heksadesimal Number System). Sistem bilangan menggunakan suatu bilangan dasar atau basis (base atau disebut juga radix) tertentu. Basis yang dipergunakan oleh masing-masing sistem bilangan tergantung pada bobot bilangan yang dipergunakan. Sistem bilangan yang dibutuhkan untuk mempelajari bahasa assembler adalah : 1. Basis bilangan biner (basis 2) 2. Basis bilangan Oktal (basis 8) 3. Basis bilangan Desimal (Basis 10) 4. Basis bilangan Heksadesimal (basis 16)
Tabel 1.1 Sistem Bilangan Sistem Bilangan
Modul I dan II
Radix
Digit Mutlak
binary
2
01
ternary
3
012
quarternary
4
0123
quinary
5
01234
senary
6
012345
septenary
7
0123456
octenary (octal)
8
01234567
nonary
9
012345678
denary (decimal)
10
0123456789
Page 15
undenary
11
0123456789A
duodenary
12
0123456789AB
tredenary
13
0123456789ABC
quatuordenary
14
0123456789ABCD
quidenary
15
0123456789ABCDE
hexadenary (hexadecimal)
16
0123456789ABCDEF
2.2 Bilangan Desimal Sistem ini menggunakan 10 macam symbol yaitu 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9. system ini menggunakan basis 10. Bentuk nilai ini dapat berupa integer desimal atau pecahan. Integer desimal adalah nilai desimal yang bulat, misalnya 8598 dapat diartikan : 8 x 103
= 8000
5 x 102
= 500
9 x 101
=
90
8 x 100
=
8 8598 position value/palce value absolute value
Absolue value merupakan nilai mutlak untuk masing-masing digit bilangan, sedangkan position value adalah merupakan penimbang atau bobot dari masing-masing digit tergantung dari letak posisinya, yaitu bernilai basis dipangkatkan dengan urutan posisinya. Tabel 2.1 Nilai Posisi dari Nilai Mutlak Posisi Digit (dari kanan)
Modul I dan II
Position Value
1
100 =1
2
101 =10
3
102 =100
4
103 =1000
5
104= 10000
…….
…….
…….
…….
Page 16
Dengan
demikian,
nilai
8598
dapat
juga
diartikan
sebagai
(8*1000)+(5*100)+(9*10)+(8*1). Pecahan desimal adalah nilai desimal yang mengandung nilai pecahan dibelakang koma, misalnya nilai 183,75 adalah pecahan desimal yang dapat diartikan : 1 x 10 2
= 100
8 x 10 1
= 80
3 x 10 0
= 3
7 x 10 –1
= 0,7
5 x 10 –2
= 0,05 183,75
Interger decimal maupun pecahan desimal dapat ditulis dalam bentuk eksponen. Misalnya, nilai 89, 15 dapat dituliskan 0,8915 * 102. Setiap nilai decimal yang bukan 0 (nol) dapat dituliskan dalam bentuk standar (Standard Exponential Form) seperti pada tabel 2.2 dibawah ini. Tabel 2.2 Standard Exponential Form
Terlihat bahwa mantissa selalu lebih besar atau sama dengan -0,1 dan lebih kecil atau sama dengan 0,1. Bentuk penulisan dengan Standard Exponential Form disebut Floating-Point Number. Sistem bilangan decimal menggunakan komplemen, dilakukan untuk mengurangi dua buah bilangan dimana kedua bilangan kedua lebih besar daripada bilangan pertama. Didalam sistem bilangan decimal, ada 2 macam komplemen yang digunakan, yaitu komplemen 9 (9’s complement atau nine’s complement yang merupakan komplemen basis minus 9) dan komplemen 10 (10’s complement atau ten’s complement yang merupakan komplemen basis). Contoh pengurangan dalam bentuk decimal. Modul I dan II
Page 17
34(10) – 165(10) Caranya: •
9’s complement (bilangan kedua)
•
9’s complement (165) (999-165) = 834
•
Komplemen 10 (10’s complement (bilangan kedua) + 1) = 835
•
Jumlahkan 34(10) + 835(10) = 869(10)
2.3 Bilangan Biner Semua bilangan, data maupun program itu sendiri akan diterjemahkan oleh komputer ke dalam bentuk biner. Jadi pendefinisisan data dengan jenis bilangan apapun (Desimal, oktaf dan hexadesimal) akan selalu diterjemahkan oleh komputer ke dalam bentuk biner. Komputer memproses data maupun program berupa sejumlah bilangan biner yang menyatakan keadaan hiudp atau mati (on or of) dengan angka 1 dan 0. Sesuai dengan uraian diatas, maka dapat disimpulkan bahwa semua yang diproses komputer sebenarnya hanya angka 0 dan 1, sehingga sistem bilangan biner yang terdiri dari angk 0 dan 1 sangatlah penting untuk dipelajari lebih lanjut. Bilangan biner hanya terdiri dari 1 dan 0, maka dapat disimpulkan bahwa bilangan biner itu berbasis 2. Setiap angka digit dalam sistem bilangan biner disebut Bit, jika bentuk 4 bit disebut Nibble, bentuk 8 disebut Byte, bentuk 2 (two) Byte disebut Word, bentuk two word disebut Double Word.
Gambar 2.1 Digit dalam sistem biner Catatan : Modul I dan II
Page 18
1. Bilangan 0 dan 1 merupakan bilangan biner yang disebut BIT (Binary digit). 2. Kumpulan dari 4 bit disebut NIBBLE. Nibble beranjak dari bilangan 0 sampai dengan 15 (bilangan desimal) dan 0 sampai dengan F (bilangan hex). 3. Satu BYTE terdiri dari 8 bit atau 2 nibble. Angka beranjak dari bilangan 0 sampai dengan 255 (desimal) dan 00 sampai dengan FF (hexadesimal) 4. Satu WORD terdiri dari 16 bit. 5. Satu DOUBLE WORD terdiri dari 32 bit 6. Satu PARAGRAF terdiri dari 128 bit. 7. Sati PAGE (halaman) terdiri dari 256 byte (2048 bit)
Gambar 2.3 Hubungan Bit, Nibble, Byte dan Word
Notasi biner merupakan integer dengan menggunakan simbol 0 dan 1. Jika pada notasi basis memiliki kuantitas posisi satuan, puluhan, ratusan dan seterusnya, pada notasi biner memiliki kuantitas posisi satu (20), dua (21), empat (22), delapan (23), dan seterusnya. Untuk mengubah integer basis dua (biner) menjadi basis sepuluh yaitu dengan cara mengalikan setiap digit dengan kuantitas posisinya. Contoh: 8. 1101(2)
= 1 x 23 + 1 x 22 + 0 x 21 +1 x 20 =8+4+0+1 = 13(10)
Modul I dan II
Page 19
Jadi 1101(2) = 13(10) 9. 110012
= 1 × 24 + 1 × 23 + 1 x 22 + 0 x 21 +1 x 20 = 16 + 8 + 1 = 25
Ada aturan untuk menambahkan "b" pada akhir angka biner , dengan cara ini kita dapat menentukan bahwa 101b adalah angka biner dengan nilai desimal dari 5. Angka biner 10100101b sama dengan nilai decimal dari 165 dan 10000101b sama dengan 133 :
Gambar 2.4 Penentuan biner 10100101b ke decimal 165
Gambar 2.5 Penentuan biner 10000101b ke decimal 133
Agar lebih mengerti tentang nilai posisi dari sistem bilangan biner, perhatikan posisi digit seperti pada tabel 2.1 dan tabel 2.2. Modul I dan II
Page 20
Tabel 2.1 Posisi Digit dari Sistem Bilangan Biner Posisi Digit (dari kanan)
Position Value
1
20 =1
2
21 =2
3
22 =4
4
23 =8
5
24=16
…….
…….
…….
…….
Tabel 2.2 Posisi Sistem Bilangan Biner dan Desimal
Untuk mengetahui lebih jelas mengenai bilangan konversi biner ke desimal, dapat dilihat pada tabel 2.4. Tabel 2.4 Konversi Bilangan Biner ke Desimal
Modul I dan II
Page 21
Konsep sistem bilangan biner adalah menggunakan 2 macam simbol bilangan berbasis 2 digit angka, yaitu 0 dan 1. Berikut cara lain dengan contoh bilangan 1001 dapat diartikan : 1001 1x20 =1 0x21 =0 0x22 =0 1x23 =8 9 (10) Operasi aritmetika pada bilangan Biner :
2.1.1
a. Penjumlahan Dasar penjumlahan biner adalah : 0+0=0 0+1=1 1+0=1 1+1=0
dengan carry of 1, yaitu 1 + 1 = 2, karena digit terbesar biner 1,
maka harus dikurangi dengan 2 (basis), jadi 2 – 2 = 0 dengan carry of 1.
contoh : 1111 10100 + 100011 atau dengan langkah : 1+0
=1
1+0
=1
1+1
= 0 dengan carry of 1
1+1+1
=0
1+1
= 0 dengan carry of 1
Modul I dan II
1 0
0
0
1
1 Page 22
b. Pengurangan Bilangan biner dikurangkan dengan cara yang sama dengan pengurangan bilangan desimal. Dasar pengurangan untuk masing-masing digit bilangan biner adalah : 0-0=0 1-0=1 1-1=0 0–1=1
dengan borrow of 1, (pijam 1 dari posisi sebelah kirinya).
Contoh : 11101 1011 10010 dengan langkah – langkah : 1–1
=0
0–1
= 1 dengan borrow of 1
1–0–1
=0
1–1
=0
1–0
=1 1
0
0
1 0
Pengurangan menggunakan komplemen, dilakukan untuk mengubah pengurangan menjadi bentuk penjumlahan. Didalam sistem biner terdapat 2 macam komplemen yang dipergunakan,yaitu komplemen 1 (1’s complement atau one’s complement yang merupakan komplemen basis minus 1) dan komplemen 2 (2’s complement atau one’s complement yang merupakan komplemen basis). Contoh pengurangan dalam ukuran byte (8 bit) berikut : 1. 0000 0010(2) – 0000 0011(2) Caranya : •
Not (bilangan kedua), Not (0000 0011) = 1111 1100
•
Komplemen dua (Not(bilangan kedua)+1) = 1111 1101
•
Jumlahkan 0000 0010(2)
Modul I dan II
+
1111 1101(2) = 1111 1111(2) Page 23
c. Perkalian Dilakukan sama dengan cara perkalian pada bilangan desimal. Dasar perkalian bilangan biner adalah : 0x0=0 1x0=0 0x1=0 1x1=1 contoh Desimal
Biner
14
1110
12 x
1100 x
28
0000
14
+
168
0000 1110 1110
+
10101000
d. Pembagian Pembagian biner dilakukan juga dengan cara yang sama dengan bilangan desimal. Pembagian biner 0 tidak mempunyai arti, sehingga dasar pembagian biner adalah : 0:1=0 1:1=1 Desimal 5
/ 125 \ 25
Biner 101 / 1111101 \ 11001
10 -
101 -
25
101
25 -
101 -
0
0101 101 0
Modul I dan II
Page 24
2.1.2
Pecahan Biner ke Desimal Sebaliknya, untuk konversi dari pecahan biner ke desimal, dapat dilihat melalui
contoh berikut: Misalkan yang ingin dikonversi adalah 0.10112. Dalam hal ini, kita perlu melihat terlebih dahulu bilangan di belakang koma, yaitu 10112. Untuk mendapatkan bilangan desimal, bilangan tersebut dikalikan berturut 2 dengan 1/21, 1/22, 1/23, …. 1/2n. Masukkan nilai bilangan tersebut, maka : 1 x 1/21 = ½ 0 x 1/22 = 0 1 x 1/23 = 1/8 1 x 1/24 = 1/16 Langkah berikutnya adalah menjumlah seluruh bilangan di atas, sehingga menghasilkan : 1/2 + 0 + 1/8 + 1/16 = 11/16 = 0,687510. Bilangan tersebut tinggal dijumlah ke bilangan di depan koma. Karena di depan koma adalah 02, dimana kalau dikonversi ke desimal menjadi 010, maka hasil akhir adalah : 010 + 0.687510 = 0.687510.
2.4 Bilangan Oktal Selain mengenal bilangan biner, komputer juga mengenal beberapa sistem bilangan lain. Salah satunya adalah bilangan octal. Bilangan octal meliputi angka 0 hingga 7, sesuai dengan namanya octal yang berarti 8. Pada bilangan oktal hanya menggunakan 8 simbol yaitu angka 0, 1, 2, 3, 4, 5, 6 dan 7 dan 0
1
2
3
4
setiap nilai tempat mempunyai kelipatan 8 , 8 , 8 , 8 , 8 , dst. Sistem bilangan octal menggunakan basis 8. Dalam bahasa assembler, sistem bilangan octal jarang digunakan. Konversi bilangan octal ke decimal memiliki cara yangsama dengan melakukan konversi bilangan biner ke decimal. Bilangan octal merupakan bilangan berdasar delapan, contoh bilangan terdiri angka 0 hingga 7, seperti terlihat dalam tabel 2.5.
Tabel 2.5 Bilangan Oktal, Biner dan Desimal
Modul I dan II
Page 25
Nilai posisi sistem bilangan octal merupakan perpangkatan dari nilai 8, seperti yang terlihat dalam tabel 2.6 Tabel 2.6 Nilai Posisi pada Bilangan Oktal
Modul I dan II
Posisi Digit (dari kanan)
Position Value
1
80 = 1
2
81 = 8
3
82 = 64
4
83 = 512
5
84= 4096
…….
…….
…….
…….
Page 26
Position value system bilangan octal adalah perpangkatan dari nilai 8. Contoh : 12(8) = …… (10) 2x80=2 1 x 8 1 =8 10 Jadi 10 (10)
2.4.1
Operasi Aritmatika pada Bilangan Oktal
a. Penjumlahan Langkah-langkah penjumlahan octal : -
Tambahkan masing-masing kolom secara desimal
-
Ubah dari hasil desimal ke octal
-
Tuliskan hasil dari digit paling kanan dari hasil octal
-
Jika hasil penjumlahan tiap-tiap kolom terdiri dari dua digit, maka digit paling kiri merupakan carry of untuk penjumlahan kolom selanjutnya.
Modul I dan II
Page 27
Tabel 2.7 Penjumlahan Satu Digit pada Bilangan Oktal 0
1
2
3
4
5
6
7
0
0
1
2
3
4
5
6
7
1
1
2
3
4
5
6
7
10
2
2
3
4
5
6
7
10
11
3
3
4
5
6
7
10
11
12
4
4
5
6
7
10
11
12
13
5
5
6
7
10
11
12
13
14
6
6
7
10
11
12
13
14
15
7
7
10
11
12
13
14
15
16
Pada tabel 2.7, penjumlahan angka 7 langsung menuju ke angka 10. Hal ini merupakan bilangan oktal yang terdiri dari 0, 1, 2, 3, 4, 5, 6, 7 dimana nilai maksimal adalah 7. Dan apabila lebih dari 7 maka itu adalah carry of dan sisanya akan dijumlahkan pada kolom berikutnya. Contoh : 1 + 6 = 7. ----- > tidak lebih dari 7. Maka tetap. 1 + 7 = 8. ----- > carry of 1 dan sisa 0, maka hasilnya adalah 10 (8 mod 8= hasil 1 sisa 0) 2 + 7 = 11. --- > carry of 1 dan sisa 1, maka hasilnya adalah 11 (9 mod 8= hasil 1 sisa 1)
Untuk memudahkan perhitungan, dapat digunakan persamaan berikut ini : Hasil = n * 10 + (jumlah bilangan mod 8) n = banyaknya modulo yang terjadi Contoh: 7(8) + 6(8) + 4(8) = 17 mod 8 = hasil 2 sisa 1 = 21
Modul I dan II
Page 28
Contoh : Desimal 21 87 + 108
Oktal 25 127 + 154 5 10 + 7 10
= 12 10 =
14 8
2 10 + 2 10 + 1 10 = 5 10
=
58
= 1 10
=
18
1 10
b. Pengurangan Pengurangan Oktal dapat dilaukan secara sama dengan pengurangan bilangan desimal. Contoh : Desimal
Oktal
108
154
87 -
127 -
21
25 48 -78
+88
(borrow of) = 5 8
6 8 - 2 8- 1 8
=28
18 -18
=08
Untuk mengurangi dua buah bilangan, di mana bilangan kedua lebih besar daripada bilangan pertama, biasanya komputer menggunakan metode yang disebut komplemen (complement), yaitu dengan komplemen basis minus 7 (radix-minus-seven complement) atau komplemen basis (radix complement). Kompelemen pada dasarnya mengubah bentuk pengurangan menjadi bentuk penambahan. Di dalam sistem bilangan octal ada 2 macam komplemen yang dipergunakan, yaitu komplemen 7 (7’s complement atau seven’s complement yang merupakan komplemen basis minus 7) dan komplemen 8 (8’s complement atau eight’s complement yang merupakan komplemen basis). Contoh pengurangan dalam bentuk octal adalah : 34(8) – 165(8) Modul I dan II
Page 29
Caranya : •
7’s complement (bilangan kedua): (165) (777-165) =612
•
8’s complement (bilangan kedua) + 1 = 613
•
Jumlahkan 34(8) = 613(8) = 647(8)
c. Perkalian Langkah – langkah : -
Kalikan masing-masing kolom secara desimal
-
Ubah dari hasil desimal ke octal
-
Tuliskan hasil dari digit paling kanan dari hasil octal
-
Kalau hasil perkalian tiap kolol terdiri dari 2 digit, maka digit paling kiri merupakan carry of untuk ditambahkan pada hasil perkalian kolom selanjutnya.
Contoh : Desimal
Oktal
14
16
12 x
14 x
28
70
14 +
4 10 x 6 10
168
4 10 x 1 10 + 3 10 = 7 10 = 7 8
= 24 10 = 30 8
16 14 x 70 16 1 10 x 6 10
= 6 10
1 10 x 1 10
= 1 10 = 1 8
=68
16 14 x 70 Modul I dan II
Page 30
16 + 250 7 10 + 6 10 = 13 10 = 15 8 1 10 + 1 10 = 2 10 = 2 8
Perhatikan hasil kali antara 6 * 4 = 24, sehingga hasil yang didapat (24 mod 8 = 3 sisa 0) di-modulo/bagi dengan 8 dan diperoleh 3 sisa 0, lalu 4 * 1 =4 ditambah dengan carry of (4 + 3 = 7) 3 = 7. Lakukan hal yang serupa pada proses penjumlahannya. Tabel 2.8 Hasil Perkalian Digit Oktal 0 0
0 1 2 3 4 5 6 7
1 0 1
2 0 2 4
3 0 3 6 11
4 0 4 10 14 20
5 0 5 12 17 24 31
6 0 6 14 22 30 36 44
7 0 7 16 25 34 43 52 61
d. Pembagian Pembagian octal juga dapat dilakukan dengan cara yangsama dengan pembagian decimal. Contoh dari pembagian bilangan octal adalah : 11: 3 = 3 1204 : 27 = 34 Desimal
Oktal
12 / 168 \ 14
14 / 250 \ 16
12 -
14 -
48
110
48 –
110 -
0
0
14 8 x 1 8 = 14 8 14 8 x 6 8 = 4 8 x 6 8 = 30 8 1 8 x 6 8= 6 8 + 110 8
Modul I dan II
Page 31
2.5 Bilangan Hexadesimal Sistem bilangan Oktal menggunakan 16 macam symbol bilangan berbasis 8 digit angka, yaitu 0 , 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E dan F. Dimana A = 10, B = 11, C= 12, D = 13 , E = 14 dan F = 15 Position value system bilangan octal adalah perpangkatan dari nilai 16. Contoh : C7(16) = …… (10) 7 x 16 0
=
C x 16 1
= 192
7
199 Jadi 199 (10) Nilai posisi sistem bilangan hexadecimal merupakan perpangkatan dari nilai 16 seperti pad tabel 2.9. Tabel 2.9 Posisi Digit dari Bilangan Hexadesimal Posisi Digit (dari kanan)
Position Value
1
160 = 1
2
161 = 16
3
162 = 256
4
163 = 4096
5
164= 65536
…….
…….
…….
…….
Pada bahasa assembler, bilangan hexadecimal mutlak harus dikuasai. Hal ini karena berbagai perintah dalam program yang dibuat menggunakan utility “DEBUG” dari “DOS”. Seperti bilangan biner yang berdasarkan 2 atau bilangan octal yang berdasarkan 8, bilangan heksadesimal berdasarkan 16, seperti terlihat pada tabel 2.10 yang sesuai dengar arti heksadesimal sendiri, yaitu heksa = 6 dan decimal = 10.
Tabel 2.10 Konversi Heksadesimal, Desimal dan Biner
Modul I dan II
Page 32
Contoh: a. 3A = (3*161)+(A*160) = 58 b. A341 = (10*163)+(3*162)+(4*161)+(1*160) = 41793 Bilangan heksadesimal dapat konversi bilangan pecahan. Perhatikan contoh berikut : a. 0, A2 = (10*16-1)+(2*16-2) = 0.625+0.0078125 = 0.6328125 b. 0,3B2 = (3*16-1)+(11*16-2) +(2*16-3) = 0.1875+0.04296875+0.00048828125 = 0.23095703125
Operasi Aritmetika Pada Bilangan Hexadesimal a. Penjumlahan Penjumlahan bilangan hexadesimal dapat dilakukan secara sama dengan penjumlahan bilangan octal, dengan langkah-langkah sebagai berikut : Langkah-langkah penjumlahan hexadesimal : -
Tambahkan masing-masing kolom secara desimal
-
Ubah dari hasil desimal ke hexadesimal
-
Tuliskan hasil dari digit paling kanan dari hasil hexadesimal
-
Jika hasil penjumlahan tiap-tiap kolom terdiri dari dua digit, maka digit paling kiri merupakan carry of untuk penjumlahan kolom selanjutnya.
Modul I dan II
Page 33
Contoh : Desimal
hexadesimal
2989
BAD
1073 +
431 +
4062
FDE D 16 + 1 16 = 13 10 + 110 = 14 10 = E 16 A 16 + 3 16 = 10 10 + 3 10 = 13 10 =D 16 B16 + 4 16 = 1110 + 4 10 = 15 10 = F 16
Penjumlahan heksadesimal dapat juga dilakukan dengan bantuan tabel 2.11 Tabel 2.11 Hasil Penjumlahan Digit Heksadesimal
Menggunakan tabel tersebut, penjumlahan bilangan heksadesimal CBA dengan 627 dapat dilakukan sebagai berikut : CBA 627
+
12E1 Penjelasan : A + 7 = 17 karena lebih dari 16, maka 17 mod 16 = 1 carry of 1
Modul I dan II
Page 34
B + 2 + 1 = 14 karena kurang dari 16, maka 14 mod 16 = 1 carry of 0, lalu dikonversikan menjadi E C + 6 = 18 karena lebih dari 16, maka 18 mod 16 = 2 carry of 1
Pada tabel 2.12, merupakan contoh perhitungan dengan menggunakan tabel yang tersedia, untuk melakukan perhitungan heksadesimal 64(16) =…….
(10).
Hasil yang didapat
adalah 100(10). Tabel 2.12 Tabel Perhitungan Heksadesimal ke Desimal
b. Pengurangan Pengurangan bilangan hexadesimal dapat dilakukan secara sama dengan pengurangan bilangan desimal. Contoh : Desimal
hexadesimal
4833
12E1
1575 3258
Modul I dan II
627 CBA
Page 35
16 10 (pinjam) + 1 10 - 710
= 10 10 = A 16
14 10 - 7 10 - - 1 10 (dipinjam) = 11 10 =B 16 1610 (pinjam) + 2 10 - 610
= 12 10 = C 16
1 10 – 1 10 (dipinjam) 0 10 = 0 16
c. Perkalian Langkah – langkah : -
Kalikan masing-masing kolom secara desimal
-
Ubah dari hasil desimal ke octal
-
Tuliskan hasil dari digit paling kanan dari hasil octal
-
Jika hasil perkalian tiap kolol terdiri dari 2 digit, maka digit paling kiri merupakan carry of untuk ditambahkan pada hasil perkalian kolom selanjutnya.
Contoh : Desimal
172 27 x 1204
Hexadesimal
AC 1B x 764
344 +
C 16 x B 16
=12 10 x 1110= 84 16
A16 x B16 +816 = 1010 x 1110+810=7616
4644
AC 1B x 764 AC C16 x 116 = 1210 x 110 =1210=C16 A16 x 116 = 1010 x110 =1010=A 16 AC 1B x 764
Modul I dan II
Page 36
AC + 1224 616 + C16 = 610 + 1210 = 1810 =12 16 716+A16 +116 = 710 x 1010 + 110=1810 = 1216
d. Pembagian Contoh : Desimal
hexadesimal
27 / 4646 \ 172
1B / 1214 \ AC
27-
10E -
194
144
189 –
144-
54
1B16xA16 = 2710x1010=27010= 10E16 1B 16 x C16 = 2710 x 10 10 = 3240 10
0
=14416
54 – 0
2.6 Contoh Konversi Sistem Bilangan Konversi bilangan adalah suatu proses dimana satu system bilangan dengan basis tertentu akan dijadikan bilangan dengan basis yang berbeda.
•
Konversi dari bilangan Desimal
1. Konversi dari bilangan Desimal ke biner Yaitu dengan cara membagi bilangan desimal dengan dua kemudian diambil sisa pembagiannya. Contoh : 45 (10) = …..(2) 45 : 2 = 22 + sisa 1 22 : 2 = 11 + sisa 0 11 : 2 = 5 + sisa 1 5 : 2 = 2 + sisa 1 2 : 2 = 1 + sisa 0
Modul I dan II
101101(2) ditulis dari bawah ke atas
Page 37
2. Konversi bilangan Desimal ke Oktal Yaitu dengan cara membagi bilangan desimal dengan 8 kemudian diambil sisa pembagiannya Contoh : 385 ( 10 ) = ….(8) 385 : 8 = 48 + sisa 1 48 : 8 = 6 + sisa 0 601 (8) 3. Konversi bilangan Desimal ke Hexadesimal Yaitu dengan cara membagi bilangan desimal dengan 16 kemudian diambil sisa pembagiannya Contoh : 1583 ( 10 ) = ….(16) 1583 : 16 = 98 + sisa 15 96 : 16 = 6 + sisa 2 62F (16)
•
Konversi dari system bilangan Biner
1. Konversi ke Desimal Yaitu dengan cara mengalikan masing-masing bit dalam bilangan dengan position valuenya. Contoh : 1001 1x20 =1 0x21 =0 0x22 =0 1x23 =8 10 (10) 2. Konversi ke Oktal Dapat dilakukan dengan mengkonversikan tiap-tiap tiga buah digit biner yang dimulai dari bagian belakang. Contoh : 11010100 (2) = ………(8) 11 010 100
Modul I dan II
Page 38
3
2
4
diperjelas : 100 = 0 x 2 0
=0
0x2
1
=0
1x2
2
=4 4
Begitu seterusnya untuk yang lain. 3. Konversi ke Hexademial Dapat dilakukan dengan mengkonversikan tiap-tiap empat buah digit biner yang dimulai dari bagian belakang. Contoh : 11010100 1101
0100
D
•
4
Konversi dari system bilangan Oktal
1. Konversi ke Desimal Yaitu dengan cara mengalikan masing-masing bit dalam bilangan dengan position valuenya. Contoh : 12(8) = …… (10) 2x80=2 1 x 8 1 =8 10 Jadi 10 (10) 2. Konversi ke Biner Dilakukan dengan mengkonversikan masing-masing digit octal ke tiga digit biner. Contoh : 6502 (8) ….. = (2) 2 = 010 0 = 000 5 = 101 6 = 110 jadi 110101000010 Modul I dan II
Page 39
3. Konversi ke Hexadesimal Dilakukan dengan cara merubah dari bilangan octal menjadi bilangan biner kemudian dikonversikan ke hexadesimal. Contoh : 2537 (8) = …..(16) 2537 (8) = 010101011111 010101010000(2) = 55F (16) Konversi dari bilangan Hexadesimal 1. Konversi ke Desimal Yaitu dengan cara mengalikan masing-masing bit dalam bilangan dengan position valuenya. Contoh : C7(16) = …… (10) 7 x 16 0
=
C x 16 1
= 192
7
199 Jadi 199 (10) 2. Konversi ke Oktal Dilakukan dengan cara merubah dari bilangan hexadesimal menjadi biner terlebih dahulu kemudian dikonversikan ke octal. Contoh : 55F (16) = …..(8) 55F(16) = 010101011111(2) 010101011111 (2) = 2537 (8)
2.7 Format Data Komputer 2.7.1
Data ASCII ASCII singkatan ( American Standard Code for Informatioan Interchange) mewakili karakter alfanumerik dalam memori sistem komputer. Format data yang digunakan adalah 7 bit dengan bit ke-8 sebagai MSB (Most Significant Bit) yaitu bit yang paling siginifikan yang digunakan untuk memuat bit parity merupakan bit tambahan yang disisipkan dalam beberapa sistem. ASCII merupakan kumpulan kode-kode yang dipergunakan untuk interaksi antara user dengan komputer dengan menggunakan hardware keyboard sebagai
Modul I dan II
Page 40
alat interaksi. ASCII merupakan karakter-karakter khusus yang dapat diinputkan melalui keyboard seperti angka, haruf, symbol, symbol grafis, dan kode komunikasi. Kode ASCII merupakan kode angka sebanyak 255 buah, dimana setiap
angka
mempunyai
karakter
khusus.
1
kode
ASCII
mewakili/mempunyai/berukuran nilai 1 byte (8 bit).
Gambar 2.6 Tabel ASCII 0 -127
Modul I dan II
Page 41
Gambar 2.7 Tabel ASCII 128 – 255 Dalam bidang mikrokomputer ASCII-Code mempunyai arti yang sangat khusus, yaitu untuk mengkodekan karakter ( Huruf, Angka dan tanda baca yang lainnya ). Code-code ini merupakan code standard yang dipakai oleh sebagian besar sistem mikrokomputer. Selain huruf, angka dan tanda baca yang lain ada 32 ( mis ACK, NAK dsb. ) merupakan kontrol untuk keperluan transportasi data. Di bawah ini adalah tabel 7 bit ASCII Code beserta beberapa penjelasan yang diperlukan.
Modul I dan II
Page 42
Untuk mendapatkan ASCII Code bagi karakter N adalah 100 1110 ( 4E16 ) dengan penjelasan bahwa 100 adalah b7, b6 dan b5 yang lurus keatas terhadap huruf Modul I dan II
Page 43
N dan dan berharga 4 sedangkan 1110 adalah b4, b3, b2 dan b1 yang lurus kesamping kiri terhadap huruf N dan berharga E. 2.7.2
Bentuk BCD – Binary Code Desimal
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 dinyatakan dengan beberapa himpunan (set) kode yang berbeda. Perlu dibedakan dengan tegas antara pengkodean dan konversi. Kalau suatu bilangan dikonversikan ke bilangan lain maka kedua bilangan itu mempunyai harga/nilai. Sebagai contoh, kalau angka 8 desimal dikonversikan ke biner, maka satusatunya 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.Bilangan desimal pada setiap tempat dapat terdiri dari 10 bilangan yang berbeda-beda. Untuk bilangan biner bentuk dari 10 elemen yang berbeda beda memerlukan 4 bit. Sebuah BCD mempunyai 4 bit biner untuk setiap tempat bilangan desimal. Contoh Z(10) = 317 3
1
7
Desimal
0011
0001
0111
BinerCodeDesimal
Dalam contoh ini BCD terdiri dari 3 kelompok bilangan masing-masing terdiri dari 4 bit , dan jika bilangan desimal tersebut di atas dikonversi ke dalam bilangan biner secara langsung adalah 317(10) = 100111101(2) dan hanya memerlukan 9 bit. Untuk contoh proses sebaliknya dapat dilihat di bawah ini.
Contoh Biner Code Desimal Desimal
0101 0001 5
1
0111
0000
7
0
Jadi bentuk BCD di atas adalah bilangan Z(10) = 5170.
Modul I dan II
Page 44
2.7.3 Bentuk BCO - Biner Code Oktal
Bilangan oktal pada setiap tempat terdiri dari 8 bilangan yang berbeda-beda. Untuk 8 elemen yang berbeda-beda diperlukan 3 bit. Sebuah BCO mempunyai 3 bit biner untuk setiap tempat bilangan oktal. Contoh Z(8) = 634 6
3
4
Bilangan Oktal
110
011
100
Biner Code Oktal
Untuk proses sebaliknya adalah setiap 3 bit dikonversi ke dalam bilangan oktal. Contoh Biner Code Oktal Bilangan Oktal
101
100
000
001
5
4
0
1
Jadi bentuk BCO diatas adalah bilangan Z(8) = 5401.
Modul I dan II
Page 45
1.1.9.3. Bentuk BCH - Biner Code Heksadesimal Bilangan heksadesimal dalam setiap tempat dapat terdiri dari 16 bilangan yang berbedabeda ( angka dan huruf ). Bentuk biner untuk 16 elemen memerlukan 4 bit. Sebuah BCH mempunyai 4 bit biner untuk setiap tempat bilangan heksadesimal. Contoh Z(16) = 31AF BilanganHeksadesimalAFBinerCodeHeksadesimal310011000110101111 Untuk proses sebaliknya, setiap 4 bit dikonversi ke dalam bilangan heksadesimal. Contoh BinerCodeHeksadesimalBilanganHeksadesimalA1010011000011000618 Jadi bentuk BCH diatas adalah bilangan Z(16) = A618. 1.1.10. Metoda Balikan Metoda yang kita gunakan bisa dibalik yaitu dimulai dari bilangan Heksadesimal dirubah kedalam bentuk BCH ( group digit biner empat-empat ). Buat group ulang ke bentuk BCO ( group digit biner tiga-tiga ) dari titik desimal untuk mengkonversikan ke dalam bilangan Oktal. Akhirnya bilangan Oktal dapat dikonversikan ke dalam bentuk bilangan desimal dengan metoda biasa dan dengan cara ini konversi basis bilangan dapat dipermudah. Contoh 1 Tunjukkan bilangan Heksadesimal 4B2,1A616 ke bentuk bilangan Biner, Oktal dan Bilangan Desimal yang ekuivalen. Lakukanlah : a. Tulis ulang 4B2,1A616 dalam bentuk BCH b. Groupkan ulang kedalam bentuk BCO dari titik Desimal c. Tunjukkan ekuivalen Oktalnya setiap BCO d. Akhirnya konversikan bilangan Oktal ke ekuivalen Desimal Jika ke-4 langkah di atas dilakukan dengan benar akan menghasilkan, a. 0100 1011 0010 , 0001 1010 01102 b. 010 010 110 010 , 000 110 100 1102 c. 2 2 6 2 , 0 6 4 68 d. 1202,10310
Contoh 2 Selesaikan bilangan Heksadesimal 2E3,4D16 ke bentuk bilangan Biner, Oktal dan 2E3,4D16 = 0010 1110 0011 , 0100 11012 Modul I dan II
Page 46
= 001 011 100 011 , 010 011 0102 = 1 3 4 3 , 2 3 28 = 739,30110
Modul I dan II
Page 47