REPRESENTASI DATA Pengantar Komputer Teknik Sipil dan Perencanaan Universitas Gunadarma Pendahuluan Materi ini mendiskusikan beberapa konsep penting mencakup sistem bilangan biner dan hexadecimal, organisasi data biner (bit, nibbles, byte, kata/word, dan double word), sistem penomoran bertanda (signed) dan tidak bertanda (unsigned), aritmatika, logika, shift/geser, dan operasi rotate pada nilai biner, bit field dan paket data, dan himpunan karakter ASCII Sistem Bilangan dan Konversi Bilangan Pendahuluan Ada beberapa sistem bilangan yang digunakan dalam sistem digital. Yang paling umum adalah sistem bilangan desimal, biner, oktal dan heksadesimal Sistem bilangan desimal merupakan sistem bilangan yang paling familier dengan kita karena berbagai kemudahannya yang kita pergunakan sehari – hari. Sistem Bilangan Secara matematis sistem bilangan bisa ditulis seperti contoh di bawah ini: Bilangan : Dr d n 1 , d n2 ,, d1 , d 0 , d 1 ,, d n Nilai : Dr i n d i r n 1 i Sistem Radiks Himpunan/elemen Digit Desimal r=10 {0,1,2,3,4,5,6,7,8,9} Biner r=2 {0,1} Oktal r= 8 {0,1,2,3,4,5,6,7} Heksadesimal r=16 {0,1,2,3,4,5,6,7,8,9,A, B, C, D, E, F} 25510 111111112 3778 Desimal 0 1 2 3 4 5 6 7 8 9 Heksa Biner 0 1 2 3 4 5 6 7 8 9 0000 0001 0010 0011 Contoh FF16 10 11 12 13 14 15 A B C D E F 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Konversi Radiks-r ke desimal Rumus konversi radiks-r ke desimal: Dr i n di r i n 1 Contoh: 11012 = 123 + 122 + 120 = 8 + 4 + 1 = 1310 5728 = 582 + 781 + 280 = 320 + 56 + 16 = 39210 2A16 = 2161 + 10160 = 32 + 10 = 4210 Konversi Bilangan Desimal ke Biner Konversi bilangan desimal bulat ke bilangan Biner: 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: 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 MSB LSB Konversi Bilangan Desimal ke Oktal Konversi bilangan desimal bulat ke bilangan oktal: Gunakan pembagian dgn 8 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: Konversi 17910 ke oktal: 179 / 8 = 22 sisa 3 (LSB) / 8 = 2 sisa 6 / 8 = 0 sisa 2 (MSB) 17910 = 2638 MSB LSB Konversi Bilangan Desimal ke Hexadesimal Konversi bilangan desimal bulat ke bilangan hexadesimal: Gunakan pembagian dgn 16 secara suksesif sampai sisanya = 0. Sisasisa pembagian membentuk jawaban, yaitu sisa yang pertama akan menjadi least significant bit (LSB) dan sisa yang terakhir menjadi most significant bit (MSB). Contoh: Konversi 17910 ke hexadesimal: 179 / 16 = 11 sisa 3 (LSB) / 16 = 0 sisa 11 (dalam bilangan hexadesimal berarti B)MSB 17910 = B316 MSB LSB Konversi Bilangan Biner ke Oktal Untuk mengkonversi bilangan biner ke bilangan oktal, lakukan pengelompokan 3 digit bilangan biner dari posisi LSB sampai ke MSB Contoh: konversikan 101100112 ke bilangan oktal Jawab : 10 110 011 2 6 3 Jadi 101100112 = 2638 Konversi Bilangan Oktal ke Biner Sebaliknya untuk mengkonversi Bilangan Oktal ke Biner yang harus dilakukan adalah terjemahkan setiap digit bilangan oktal ke 3 digit bilangan biner Contoh Konversikan 2638 ke bilangan biner. Jawab: 2 6 3 010 110 011 Jadi 2638 = 0101100112 Karena 0 didepan tidak ada artinya kita bisa menuliskan 101100112 Konversi Bilangan Biner ke Hexadesimal Untuk mengkonversi bilangan biner ke bilangan hexadesimal, lakukan pengelompokan 4 digit bilangan biner dari posisi LSB sampai ke MSB Contoh: konversikan 101100112 ke bilangan heksadesimal Jawab : 1011 0011 B 3 Jadi 101100112 = B316 Konversi Bilangan Hexadesimal ke Biner Sebaliknya untuk mengkonversi Bilangan Hexadesimal ke Biner yang harus dilakukan adalah terjemahkan setiap digit bilangan Hexadesimal ke 4 digit bilangan biner Contoh Konversikan B316 ke bilangan biner. Jawab: B 3 1011 0011 Jadi B316 = 101100112 Tugas Konversikan Bilangan di Bawah ini 8910 3678 110102 7FD16 = ……16 = ……2 = ……10 = ……8 29A16 1101112 35910 4728 = ……10 = …….8 = ……2 = ……16 Jawaban Konversi 8910 ke hexadesimal: 89 / 16 = 5 sisa 9 8910 = 5916 Konversi 3678 ke biner: 3 = 011 ; 6 = 110 ; 7 = 111 » 0111101112 = 111101112 Konversi 110102 ke desimal: = 124 + 123 +022 + 121 + 020 = 16 + 8 + 2 = 2610 Jawaban Konversi 7FD16 ke oktal: 7 = 0111 ; F = 1111 ; D = 1101 0111111111012 = 111111111012 111111111012 = 37758 » 7FD16 = 37758 Konversi 29A16 ke desimal: = 2162 + 9161 + A160 = 512 + 144 + 10 = 66610 Jawaban Konversi 1101112 ke Oktal 110= 6 ; 111 = 7 1101112 = 678 Konversi 35910 ke biner 359 / 2 = 179 sisa 1 (LSB) / 2 = 89 sisa 1 / 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) 35910 = 1011001112 Jawaban Konversi 4728 ke hexadecimal = 314 4728 = 1001110102 4 7 2 100 111 010 1001110102 = 13A16 Organisasi Data Pendahuluan Komputer secara umum bekerja dengan beberapa jumlah bit khusus. Kumpulan yang Umum adalah bit tunggal, kelompok empat bit (disebut nibbles), kelompok delapan bit (disebut byte), kelompok 16 bit (disebut word), dan lain-lain. Bits "Unit" paling kecil dari data pada komputer biner adalah satu bit tunggal. satu bit tunggal mampu merepresentasikan hanya dua nilai yang berbeda (secara tipikal nol atau satu) Anda bisa merepresentasikan dua item data apapun yang berbeda dengan satu bit tunggal. Contoh meliputi nol atau satu, benar atau salah, on atau off, pria atau wanita. Anda tidak dibatasi untuk merepresentasikan jenis data biner (yaitu, objek yang hanya mempunyai dua nilai yang berbeda). Bits Data adalah apa yang anda ingin definisikan. Jika anda menggunakan bit untuk merepresentasikan suatu nilai boolean (benar/salah) maka bit itu (oleh definisi anda) merepresentasikan benar atau salah. Agar bit mempunyai maksud/arti yang benar, anda harus konsisten. Maka, jika anda sedang menggunakan bit untuk merepresentasikan benar atau salah di dalam program anda, anda tidak boleh menggunakan nilai benar/salah yang disimpan dalam bit tsb untuk merepresentasikan merah atau biru. Nibbles nibble adalah satu koleksi empat bit. Ia bukan merupakan jenis data yang menarik kecuali dua item: bilangan BCD (binary coded decimal) dan bilangan berbasis enambelas. Ia menggunakan empat bit untuk merepresentasikan satu BCD tunggal atau digit hexadecimal. Dengan suatu nibble, kita bisa merepresentasikan sampai dengan 16 nilai berbeda. Nibbles Dalam kasus bilangan berbasis enambelas, nilai dapat berupa 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, dan F direpresentasikan dengan empat bit. BCD menggunakan sepuluh angka berbeda (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) Bytes Struktur data terpenting yang digunakan oleh mikroprosesor 80x86 adalah byte. Sebuah byte terdiri dari delapan bit dan adalah datum addressable paling kecil (data item) pada mikroprosesor 80x86. Memori Utama dan alamat I/O pada 80x86 adalah semua alamat byte. Artinya bahwa item paling kecil yang mungkin diakses secara individu oleh satu program 80x86 adalah nilai delapan-bit. Bytes Bit dalam satu byte secara normal dinomori dari nol sampai tujuh menggunakan konvensi di dalam gambar 1.1. Bit 0 adalah urutan bit terendah atau bit paling tidak berarti (signifikan), bit 7 adalah urutan bit paling berarti (signifikan) dari byte. Kita akan mengacu pada penomoran semua bit lain. Bytes Gambar 1.1: Penomoran Bit dalam satu Byte Perhatikan bahwa satu byte juga berisi persis dua nibble (lihat gambar 1.2). Gambar 1.2: Dua Nibbles dalam satu Byte Word Sebuah word adalah kelompok 16 bit. Kita akan menomori bit dalam word mulai dari nol sampai dengan lima belas. Penomoran bit muncul di gambar 1.3. Gambar 1.3: Nomor Bit dalam Word Seperti byte, bit 0 adalah urutan bit terendah dan bit 15 adalah urutan bit tertinggi. Word Perhatikan bahwa satu word berisi persis dua byte. Bit 0 sampai 7 membentuk urutan byte terendah, bit 8 hingga 15 membentuk urutan byte tertinggi (lihat gambar 1.4). Gambar 1.4: Dua Bytes dalam Word Secara alami, satu word mungkin saja dipecah ke dalam empat nibble seperti diperlihatkan di dalam gambar 1.5. Word Gambar 1.5: Nibble dalam Sebuah Word Nibble nol adalah nibble urutan terendah dalam word dan nibble tiga adalah nible urutan tertinggi dari word. Dua nibble lain adalah “nibble satu” atau “nibble dua”. Word Dengan 16 bit, anda bisa merepresentasikan 216 (65,536) nilai yang berbeda. Ini bisa menjadi nilai dalam jangkauan 0..65,535 (atau, sebagai kasus biasanya, -32,768..+32,767) atau jenis data lain apapun tanpa lebih dari 65,536 nilai. Operasi Bilangan Pertambahan Bilangan Biner Operasi aritmatika terhadap bilangan biner yang dilakukan oleh komputer di ALU terdiri dari operasi pertambahan dan pengurangan. Operasi perkalian binar dapat dilakukan dgn operasi pertambahan yang dilakukan secara berulang-ulang. Pembagian biner dapat dilakukan dgn operasi pengurangan yang dilakukan secara berulang-ulang Pertambahan Bilangan Biner Pertambahan bilangan biner dapat dilakukan dengan cara yang sama seperti halnya pertambahan bilangan desimal. Pertambahan bilangan desimal dapat dilakukan dengan cara - - digit2 dari bilangan2 desimal ditambahkan satu persatu mulai dari posisi paling kanan Bila hasil pertambahan antar kolom melebih nilai 9, maka dikurangi dengan nilai 10 untuk dibawa ke pertambahan kolom berikutnya Contoh 273 189 -----+ 2 1 273 189 -----+ 62 1 273 189 -----+ 462 carry of 1 carry of 1 Contoh 1111 10100 ---------+ 100011 Langkah2nya: 1+0=1 1+0=1 1+1=0 1+0+1=0 1+1=0 dgn carry of 1 dgn carry of 1 dgn carry of 1 Pengurangan Bilangan Biner Bilangan biner dikurangkan dengan cara yang sama dgn pengurangan bilangan desimal. Dasar pengurangan untuk masing-masing digit bilangan biner adalah 0-0=0 1-0=1 1–1=0 0–1=1 dgn borrow of 1 Metode Pengurangan Komputer Komputer melakukan pengurangan dengan cara menggunakan komplemen, yaitu komplemen basis minus 1. Di dalam sistem bilangan desimal ada 2 komplemen yakni 9s komplemen dan 10s komplemen. Di dalam sistem bilangan biner ada 2 komplemen yakni 1s komplemen dan 2s komplemen Contoh 9s Komplemen 859 523 ----- 336 859 476 ----- + 1 335 1 ----- + 336 adalah 999-523 Contoh 10s Komplemen 859 523 ----- 336 859 477 ----- + 1 336 adalah 1000-523 dibuang Contoh 1s Komplemen 11001 10110 -------- 00011 11001 01001 adalah 11111-10110 -------- + 1 00010 1 -------- + 00011 Contoh 2s Komplemen 11001 10110 -------- 00011 11001 01010 adalah 01001 + 1 -------- + 1 00011 dibuang Daftar Pustaka Digital Principles and Applications, LeachMalvino, McGraw-Hill Sistem Digital konsep dan aplikasi, freddy kurniawan, ST. Elektronika Digiltal konsep dasar dan aplikasinya, Sumarna, GRAHA ILMU Operasi Logika Biner 0 1 1 0 0 1 1 0 AND 1 = 0 AND 0 = 0 AND 1 = 1 AND 0 = 0 OR 1 = 1 OR 0 = 1 OR 1 = 1 OR 0 = 0 0 XOR 0 = 0 0 XOR 1 = 1 1 XOR 0 = 1 1 XOR 1 = 0 NOT (1) = 0 NOT (0) = 1