Pengantar Teknologi Informasi Sistem Bilangan Number System adalah Suatu cara untuk mewakili besaran dari suatu item fisik. Sistem Bilangan menggunakan suatu bilangan dasar atau basis (base / radix) yang tertentu. Dalam hubungannya dengan komputer. sistem bilangan tak bertanda Macam-macam sistem bilangan ditentukan berdasarkan radix atau base-nya. Beberapa jenis sistem bilangan antara lain adalah sistem bilangan decimal, sistem bilangan biner, sistem bilangan heksadesimal, sistem bilangan octal, sistem bilangan Binary Coded Decimal (BCD), dan lain sebagainya. Bilangan decimal (base 10) Sistem bilangan decimal adalah sistem bilangan yang banyak dipergunakan dalam kehidupan sehari-hari. Sistem ini menggunakan radix atau base 10. Bilangan Base 10 artinya bilangan yang memiliki perpangkatan 10 (semisal 100, 101, 102, dan lain sebagainya). Bilangan yang ada dalam sistem bilangan ini antara lain adalah 0, 1, 2, 3, 4, 5, 6, 7, 8, dan 9. Sebagai contoh adalah bilangan 157(10). Hasil dari Bilangan decimal 157(10) adalah : 157(10) = (1 x 100) + (5 x 10) + (7 x 1). Bilangan biner (base 2) Sistem bilangan biner adalah sistem bilangan dengan base 2. Bilangan Base 2 artinya bilangan yang memiliki perpangkatan 2 (semisal 20, 21, 22, dan lain sebagainya). Bilangan yang ada dalam sistem bilangan ini antara lain adalah 0 dan 1. Konversi Bilangan Biner ke dalam Bilangan Desimal Perhatikan contoh di bawah ini! Di bawah ini merupakan contoh konversi atau mengubah dari bilangan biner ke dalam bilangan decimal. 1110(2) = (1 x 23) + (1 x 22) + (1 x 21) + (0 x 20) =8+4+2+0 = 14 Konversi bilangan Desimal ke dalam bilangan Biner Untuk mengubah angka desimal menjadi angka biner digunakan metode pembagian dengan angka 2 sampai hasil terakhir 0. Mari kita perhatikan contohnya! 205(10) 205 : 2 = 102 102 : 2 = 51 51 : 2 = 25 25 : 2 = 12 12 : 2 =6 6:2 =3 3:2 =1 1:2 =0 Maka hasilnya: 205(10) = 11001101(2) sisa 1 sisa 0 sisa 1 sisa 1 sisa 0 sisa 0 sisa 1 sisa 1 Konversi bilangan Desimal ke dalam bilangan Biner Note: Untuk menuliskan notasi binernya, pembacaan dilakukan dari bawah yang berarti 11001101(2) Bilangan heksadesimal (base 16) Sistem bilangan heksadesimal adalah sistem bilangan dengan base 16. Bilangan Base 16 artinya bilangan yang memiliki perpangkatan 16 (semisal 160, 161, 162, dan lain sebagainya). Bilangan yang ada dalam sistem bilangan ini antara lain adalah 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, dan F. Karena Heksadesimal merupakan pangkat dari dua, maka Heksadesimal berkaitan dengan prinsip biner. Konversi bilangan Heksadesimal ke bilangan biner DIGIT HEKSADESIMAL DIGIT BINER 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 1010 A 1011 B 1100 C 1101 D 1110 E 1111 F Konversi dari bilangan heksadesimal ke bilangan biner Ubahlah bilangan heks 5D9316 menjadi bilangan biner! 5 = 0101 D = 1101 9 = 1001 3 = 0011 Note: Jadi bilangan biner untuk heks 5D9316 adalah 0101110110010011 Konversi bilangan biner ke heksadesimal 0010 1101 0110 1100 1011 2 D 6 C B Maka hasilnya adalah 2D6CB Bilangan octal (base 8) Sistem bilangan octal adalah sistem bilangan dengan base 8. Bilangan Base 8 artinya bilangan yang memiliki perpangkatan 8 (semisal 80, 81, 82, dan lain sebagainya). Bilangan yang ada dalam sistem bilangan ini antara lain adalah 0, 1, 2, 3, 4, 5, 6, dan 7. Karena octal merupakan pangkat dari dua, maka octal berkaitan dengan prinsip biner. Konversi bilangan octal ke bilangan biner DIGIT OCTAL DIGIT BINER 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 Konversi Oktal ke biner Ubahlah bilangan oktal 63058 menjadi bilangan biner! 6305 110 011 000 101 Note: Masing-masing digit oktal diganti dengan ekivalens 3 bit (biner) Konversi bilangan biner ke octal Ubahlah bilangan biner 1010100001101 menjadi bilangan oktal! 001 010 100 001 101 1 2 4 1 5 Maka hasilnya adalah 12415 Binary Coded Decimal BCD adalah sistem pengkodean bilangan desimal yang metodenya mirip dengan bilangan biner biasa; hanya saja dalam proses konversi, setiap simbol dari bilangan desimal dikonversi satu per satu, bukan secara keseluruhan seperti konversi bilangan desimal ke biner biasa. Hal ini lebih bertujuan untuk “menyeimbangkan” antara kurang fasihnya manusia pada umumnya untuk melakukan proses konversi dari desimal ke biner -dan- keterbatasan komputer yang hanya bisa mengolah bilangan biner. Konversi bilangan BCD ke bilangan desimal DIGIT BCD DIGIT DESIMAL 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 Konversi bilangan BCD ke decimal BCD adalah sistem pengkodean bilangan desimal yang metodenya mirip dengan bilangan biner biasa; hanya saja dalam proses konversi, setiap simbol dari bilangan desimal dikonversi satu per satu, bukan secara keseluruhan seperti konversi bilangan desimal ke biner biasa. Hal ini lebih bertujuan untuk “menyeimbangkan” antara kurang fasihnya manusia pada umumnya untuk melakukan proses konversi dari desimal ke biner -dan- keterbatasan komputer yang hanya bisa mengolah bilangan biner. Konversi bilangan BCD ke bilangan desimal Misalkan bilangan yang ingin dikonversi adalah 0001 0111 0000BCD. Hasil perhitungannya adalah sebagai berikut: 0001 1 01117 00000 Maka hasilnya adalah 17010. Konversi bilangan decimal ke BCD Misalkan bilangan yang ingin dikonversi adalah 17010. Hasil perhitungannya adalah sebagai berikut: 110 0001BCD 710 0111BCD 010 0000BCD Maka hasil nya adalah 0001 0111 0000BCD Bilangan bertanda (Signed fixed point numbers) Bilangan bulat (integer) dapat dibagi menjadi 2 jenis, yaitu: bulat tak-bertanda (unsigned integer) dan bulat bertanda (signed integer). Bilangan bulat tak bertanda adalah bilangan bulat yang tidak mengandung tanda bilangan positif atau negatif, sedangkan bilangan bulat bertanda mempunyai nilai positif atau negatif. Pada sistem desimal tanda bilangan menggunakan simbol + untuk bilangan positif dan simbol – untuk bilangan negatif. Persoalan muncul pada mesin digital, yaitu bagaimana tanda – atau + disimpan didalam memori yang hanya dapat menyimpan simbol 0 dan 1. Karena itu untuk sistem bilangan biner diperlukan penyajian tertentu untuk menyatakan suatu bilangan adalah positif atau negatif. Untuk bilangan biner ada 2 cara penyajian bilangan bulat bertanda, yaitu: sign-andmagnitude, one’s Complement, two’s complement dan Excess Representation. Signed magnitude Signed Magnitude Juga di sebut “sign and magnitude”. Cara mengubah bilangan bertanda decimal menjadi bilangan biner dengan sign magnitude adalah dengan Bit paling kiri merupakan tanda (sign) (0 = positive, 1 = negative) dan bit sisanya merupakan magnitude. Contoh: +2510 = 000110012 -2510 = 100110012 Note: 2 representasi dari nilai 0: +0 = 000000002 -0 = 100000002 Nilai terbesar adalah +12710, Nilai terkecil adalah -12710, jika dengan menggunakan representasi 8-bit. One’s complement Cara mengubah bilangan bertanda decimal menjadi bilangan biner dengan One’s complement adalah Bit paling kiri adalah tanda (sign) (0 = positive, 1 = negative). Bilangan One’s complement diperoleh dengan cara membalik setiap bit (0 1, dan 1 0 ) Contoh: +2510 = 000110012 -2510 = 111001102 Note: 2 representasi dari nilai 0: +0 = 000000002 -0 = 111111112. Nilai terbesar adalah +12710, Nilai terkecil adalah -12710, jika dengan menggunakan representasi 8-bit. Two’s complement Cara mengubah bilangan bertanda decimal menjadi bilangan biner dengan Two’s complement adalah dengan Bit paling kiri merupakan tanda (0 = positive, 1 = negative). Bilangan Two’s complement Diperoleh dengan cara membalik setiap bit ( 0 1, dan 1 0 ) kemudian ditambah 1. Contoh Contoh +2510 = 0 0 0 1 1 0 0 1 1 1 1 0 0 1 1 0 (One’s Complement) 1 + -2510 = 1 1 1 0 0 1 1 1 (Two’s Complement) Note: 2 representasi dari nilai 0: +0 = 000000002 -0 = 000000002 Nilai terbesar adalah +12710, Nilai terkecil adalah -12810, menggunakan representasi 8-bit. Excess Representation Cara mengubah bilangan bertanda decimal menjadi bilangan biner dengan Two’s complement adalah dengan Bit paling kiri adalah tanda (biasanya 1 = positive, 0 = negative). Representasi positif dan negatif dari suatu bilangan diperoleh dengan menambahkan bias ke representasi two’s complement. Contoh(excess 128 menambahkan 128 ke versi two’s complement, Biarkan semua carry out pada MSB) : 12 = 000011002 +1210 = 100011002 -1210 = 011101002 Excess Representation Didapat dari: Bilangan biner 00001100 One’s Complement (-12) 11110011 Two’s Complement (-12) 11110100 Excess Representation (-12) 01110100 Note: representasi dari nilai 0: +0 = 100000002 -0 = 100000002 Nilai terbesar adalah +12710, Nilai terkecil adalah 12810, menggunakan representasi 8-bit. 3-Bit Signed Integer Representations Bilangan Pecah Bilangan pecahan bisa muncul dari adanya operasi pembagian yang tidak habis dibagi. Contoh dalam desimal, misalkan kita membagi bilangan 23 dengan 4, maka hasilnya tidak bulat karena ada sisa, hasil bulatnya adalah 5 dan sisanya adalah 3. Untuk dituliskan dalam satu notasi yang utuh maka dituliskan bagian bulatnya dan bagian pecahannya yang dipisahkan oleh „titik‟ (yang biasanya disebut titik desimal). Untuk contoh tersebut hasilnya dituliskan 5.75 (karena ¾ = 0.75). Bilangan yang mempunyai nilai pecahan (misalnya 3.2575) dapat direpresentasikan dengan dua format bilangan: fixed-point dan floating-point. Fixed Point Numbers Bilangan pecahan fixed-point mempunyai jangkauan yang dibatasi oleh jumlah digit signifikan yang digunakan untuk merepresentasikan bilangan tersebut. Misalnya bilangan pecahan desimal sepuluh digit. Bilangan tersebut dinyatakan dengan fixed-point, yaitu satu digit untuk tanda, empat digit untuk angka utuh dan lima digit untuk angka pecahan. Jangkauan bilangan tersebut adalah 0 sampai 9999 untuk angka utuh dan 0.00001 sampai 0.99999 untuk angka pecahan, sehingga nilai bilangan yang mungkin adalah -9999.99999 sampai +9999.99999 dengan presisi 0.00001. Contoh bilangan tersebut yang valid adalah -9.00102 dan 100.99998. Bilangan ±10000 tidak bisa dinyatakan dengan sistem bilangan sepuluh digit ini. Sedangkan bilangan 0.000005 tidak memenuhi derajat presisi yang diinginkan, walaupun berada dalam jangkauan bilangan. Bilangan tersebut akan dibulatkan ke 0.00000 atau 0.00001, yang berarti ada selisih sebesar ±0.000005 dari nilai yang diinginkan. Contoh: +256.75 Floating Point Numbers Bilangan pecahan dapat disajikan dengan 2 cara yaitu: titik tetap (Fixed Point) dan titik-mengambang Floating Point). Cara pertama yaitu dengan menampakkan titik desimal pada posisi tertentu. Sedangkan cara kedua menggunakan notasi perkalian dengan radiks yang dipangkatkan tertentu, dengan nilai pangkat bisa positif atau negatif. Contoh-contoh dalam desimal: Contoh 1. Fixed-point = +256.75 Dalam Floating Point = +0.25675 x 10(+3) Ditulis dengan notasi = +0.25675E+3 Aritmatika Bilangan Pada bagian ini kita akan membahas penjumlahan dan pengurangan biner. Penjumlahan Bilangan Biner Penjumlahan biner tidak begitu beda jauh dengan penjumlahan desimal. Seperti bilangan desimal, bilangan biner juga dijumlahkan dengan cara yang sama. Pertama-tama yang harus dicermati adalah aturan pasangan digit biner berikut: 0+0=0 0+1=1 1 + 1 = 0 dan menyimpan 1 1 + 1 + 1 = 1 dengan menyimpan 1 Contoh 1 Pengurangan Bilangan Biner Pengurangan biner dapat dilaksanakan dengan cara yang sama. Tapi untuk menghindarkan kebingungan silahkan lihat Bentuk Umum pengurangan berikut: 0–0=0 1–0=0 1–1=0 0 – 1 = 1 (dengan meminjam ‘1’ dari digit disebelah kirinya! ) Contoh 1 1 1 1 0 1 1 bilangan biner untuk 123 1 0 1 0 0 1 bilangan biner untuk 41 - 1 0 1 0 0 1 0 Desimal 82