(Number Systems & Coding) SISTEM BILANGAN DAN KODE (Number Systems & Coding) Ir. Saifullah, M.T.
SISTEM BILANGAN Sistem bilangan (number system) adalah suatu cara untuk mewakili besaran dari suatu besaran fisik. Sistem bilangan menggunakan suatu bilangan dasar atau disebut juga basis (base / radix). Dalam sistem digital ada empat sistem bilangan yang sering digunakan, yaitu: 1. Sistem Bilangan Desimal (Decimal Number System) 2. Sistem Bilangan Biner (Binary Number System) 3. Sistem Bilangan Oktal (Octal Number System) 4. Sistem Bilangan Heksadesimal (Hexadecimal Number System)
Sistem Bilangan Desimal Sistem bilangan desimal adalah sistem bilangan yang memiliki 10 simbol, yaitu: 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9. sistem disimal juga sering disebut sistem bilangan berbasis (base) 10 karena memiliki 10 digit. Setiap digit memiliki nilai tempat yang berbeda. 4 1 2 . 5 7 103 102 101 100 10-1 10-2 10-3 Nilai tempat MSD koma (DP) LSD Misalnya: 1745,21410 = (1 x 103) + (7 x 102) + (4 x 101) + (5 x 100) + (2 x 10-1) + (1 x 10-2) + (4 x 10-3)
Sistem Bilangan Desimal
Sistem bilangan biner Sistem bilangan biner adalah sistem bilangan yang memiliki dua simbol, yaitu: 0 dan 1. Sistem biner juga sering disebut sistem bilangan berbasis 2 karena memiliki dua bit. Setiap bit memiliki nilai tempat yang berbeda. 1 . 23 22 21 20 2-1 2-2 2-3 Nilai tempat MSB koma (BP) LSB Jadi : 1011,1012 = (1x23) + (0x22) + (1x21) + (1x20) + (1x2-1) + (0x2-2) + (1x2-3) = 8 + 0 + 2 + 1 + 0,5 + 0 + 0,125 = 11,62510
Sistem bilangan biner
Sistem bilangan oktal Sistem bilangan oktal adalah sistem bilangan berbasis 8, oleh karena itu ia memiliki delapan digit, yaitu: 0, 1, 2, 3, 4, 5, 6, 7. Nilai tempat bilangan oktal sbb.: 8-3 8-2 8-1 . 80 81 82 octal point Misal 235,18 = (2 x 82) + (3 x 81) + (5 x 80) + (1 x 8-1) = 157,12510
Sistem bilangan oktal
Sistem bilangan hexadesimal Sistem bilangan hexadesimal adalah sistem bilangan berbasis 16, oleh karena itu ia memiliki 16 digit, yaitu: 0,1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Huruf-huruf A, B, C, D, C, E dan F secara berturut-turut bernilai 10, 11, 12, 13, 14, 15. Misalnya 456716 dan 24CE16 adalah contoh bilangan hexadesimal. Sebagai contoh:
Sistem bilangan hexadesimal
KONVERSI BILANGAN Konversi bilangan desimal ke sistem biner diperlukan dalam menerjemahkan keinginan manusia kedalam kode-kode yang dikenal oleh sistem digital, terutama komputer digital. Konversi dari biner ke desimal diperlukan untuk menterjemahkan kode hasil pengolahan sistem digital ke informasi yang dikenal oleh manusia. Pengubahan (konversi) dari biner ke oktal dan heksadesimal dan sebaliknya merupakan pengantara konversi dari/ke biner ke/dari desimal. Konversi ini banyak dilakukan karena disamping cacah angka biner yang disebut juga "bit", singkatan dari "binary digit", jauh lebih besar dibandingkan dengan angka-angka pada sistem oktal dan heksadesimal, juga karena konversi itu sangat mudah.
Konversi desimal ke biner / biner ke desimal Konversi bilangan desimal bulat: Gunakan pembagian dgn 2 secara suksesif sampai sisanya = 0. Sisa-sisa pembagian membentuk jawaban, yaitu sisa yang pertama akan menjadi least significant bit (LSB) dan sisa yang terakhir menjadi most significant bit (MSB). Contoh 1: Konersi 17910 ke biner: 179 / 2 = 89 sisa 1 (LSB) / 2 = 44 sisa 1 / 2 = 22 sisa 0 / 2 = 11 sisa 0 / 2 = 5 sisa 1 / 2 = 2 sisa 1 / 2 = 1 sisa 0 / 2 = 0 sisa 1 (MSB) 17910 = 101100112
Konversi desimal ke biner / biner ke desimal-lanjtn Konversi fraksi-fraksi desimal ke biner: kalikan dengan 2 secara berulang sampai fraksi hasil perkalian = 0 (atau sampai jumlah penempatan biner yang diharapkan). Digit kesleuruhan hasil perkalian memrupakan jawaban, dengan yang pertama MSB, dan yang terakhir LSB. Contoh 2: Konversi 0.312510 ke biner Digit hasil .3125 2 = 0.625 0 (MSB) .625 2 = 1.25 1 .25 2 = 0.50 0 .5 2 = 1.0 1 (LSB) 0.312510 = .01012
Konversi desimal ke biner / biner ke desimal-lanjtn Contoh 3. Ubahlah 625,187510 = ... 2 Pisahkan antara bilangan bulat dan pecahannya.
Konversi desimal ke biner / biner ke desimal-lanjtn Ubahlah bilangan desimal berikut ke biner a. 43,125 b. 457,65
Konversi desimal ke biner / biner ke desimal-lanjtn Konversi bilangan biner ke desimal didapatkan dengan menjumlahkan perkalian semua bit biner dengan perpangkatan 2 sesuai dengan posisi bit tersebut. Contoh 1 Contoh 2: 10012 = ..........desimal ? 1 0 0 1 10102 = .........? (desimal) 23 + 22 + 21 + 20 = 910
Konversi desimal ke oktal / heksadesimal Konversi desimal ke oktal dan desimal ke heksadesimal dapat dilakukan dengan melakukan pembagian berulang-ulang dengan 8 dan 16 untuk bagian bulat dan perkalian berulang-ulang untuk bagian pecahan seperti yang dilakukan pada konversi desimal-biner di bagian depan. Sebenarnya cara ini berlaku untuk semua dasar sistem bilangan. Contoh: 205,0510 = .......? (oktal dan hexa)
Konversi desimal ke oktal / heksadesimal-lanjtn Contoh: 205,0510 = .......? (hexa) Ubahlah 42310 = ........hexa 21410 = ........hexa
Konversi biner ke oktal dan oktal ke biner Untuk mengubah bilangan biner ke oktal, kita pilah bilangan tersebut menjadi 3, 3, 3-bit bilangan biner dari kanan ke kiri. Tabel berikut ini menunjukkan representasi bilangan biner terhadap bilangan oktal : Contoh : 11111102 = ....8 001 111 1102 1 7 68 Jadi: 11111102 = 1768 Ubahlah ke oktal: 110010002 =.....8 11100110012.....8 Tabel ekivalensi biner dan oktal
Konversi biner ke oktal dan oktal ke biner-lajntn Mengubah sistem bilangan oktal ke bilangan biner dilakukan dengan cara kebalikan dari konversi biner ke oktal. Yaitu, masing – masing digit bilangan oktal diubah langsung menjadi bilangan biner dalam kelompok 3, 3, 3 bit, kemudian merangkai kelompok bit tersebut sesuai urutan semula. Contoh : 1768 =......2 Ubahlah ke biner: 4728 =........2 54318 =......2 1 7 68 001 111 1102 Jadi, 1768 = 0011111102 = 11111102
Konversi biner ke heksadesimal dan heksadesimal ke biner Pengubahan bilangan biner ke heksadesimal dilakukan dengan pengelompokan 4, 4, 4-bit biner dimulai dari bit paling kanan. Kemudian konversikan setiap kelompok menjadi satu digit heksadesimal. Tabel berikut menunjukkan representasi bilangan biner terhadap digit heksadesimal : Contoh : 11111102 = ....16 0111 11102 7 14(E) Jadi : 11111102 = 7E16 Ubahlah ke hexa: 10010111101101012 = ........16
Konversi biner ke heksadesimal dan heksadesimal ke biner - lanjtn Konversi bilangan heksadesimal ke biner dilakukan dengan membalik urutan dari proses pengubahan Biner ke heksadesimal. Satu digit heksadesimal dikonversi menjadi 4 bit Biner. contoh 7E16 =......2 Ubahlah: 37810 = .......16 = ..........2 B2F16 = ........8 35278 = .......16 7 E16 0111 11102 Jadi, 7E16 = 11111102
LATIHAN
SANDI BCD Bilangan biner (0, 1) adalah bahasa paling alamiah dari komputer digital. Sedangkan manusia memahami / sudah terlatih dengan bilangan desimal. Solusi : dengan memanfaatkan kode biner (binary code). Yaitu : ubah desimal ke biner – lakukan operasi aritmetik – ubah kembali hasilnya ke desimal. Karena komputer hanya mengenal biner (0, 1), maka digit desimal harus ditulis dalam kode 0, 1 (coding). Kode yang populer adalah BCD (Binary Coded Decimal). Dimana setiap digit desimal ditulis dalam biner 4-bit.
SANDI BCD Berikut bilangan BCD dan desimal yang diwakilinya.
SANDI BCD Dalam BCD setiap digit angka desimal dinyatakan dengan bilangan biner 4-bit yang ekivalen. Misalnya bilangan desimal 874. 8 7 4 (desimal) 1000 0111 0100 (BCD) Atau: 9 4 3 (desimal) 1001 0100 0011 (BCD) Tetapi, jika sebuah bilangan desimal direpresentasikan dengan bilangan biner yang ekivalen, ini disebut sebagai straight binary equivalent Contoh: 13710 = 100010012 (biner / straight binary equivalent) 13710 = 0001 0011 0111 (BCD)
SANDI BCD Perlu diperhatikan bahwa, BCD bukan sistem bilangan seperti sistem bilangan biner, oktal, desimal dan hexa. Tapi, ia hanya sistem desimal yang setiap digitnya di-encoding ke dalam biner ekivalen. Konversi BCD ke desimal ekivalen, dapat dilakukan sbb: Misal ubah BCD: 0110100000111001 ke dalam desimal. Pisahkan BCD menjadi kelompok biner 4-bit : 0110 1000 0011 1001 (BCD) 6 8 3 9 (desimal) Contoh Ubah BCD : 0110100000111001 ke dalam desimal yang ekivalen.
PENGUNAAN SANDI BCD Penerapan bilangan BCD : kalkulator, pencacah elektronik, voltmeter, jam digital. Penerapan BCD pada kumputer terbatas (komputer zaman dulu). Ini karena komputer BCD lebih lambat dan rumit dibanding komputer biner. Karena komputer tidak sekedar memproses bilangan tapi juga data alfanumerik (huruf abjad, bilangan, dan simbul-simbul lain). Karena itulah komputer modern menggunakan CPU yg memproses bilangan biner dan bukan bilangan BCD.
KODE ALFANUMERIK Komputer disamping menangani data dalam bentuk bilangan, juga karakter lain seperti: Bagaimanakah kita menuliskan karakter-karakter di atas di komputer ? Tentu harus disandikan (kode) ke biner.
KODE ALFANUMERIK Salah satu kode biner untuk data alfanumerik adalah kode ASCII, yaitu kode biner 7-bit. Berikut beberapa kode ASCII (selebihnya silakan dicari di sumber lain). Misal, 100 0001 (A), 110 0001 (a), 010 0100 ($), 010 1011 (+)
KODE ALFANUMERIK Kode ASCII.. (lanjutan...) Misalnya tuliskan nama saudara dengan kode ASCII.