REPRESENTASI DATA (OAK)
REPRESENTASI DATA
A. Representasi Data Komputer
Komputer yang ada pada saat ini merupakan komputer biner. Semua bilangan yang disimpan dalam memori adalah data biner karena arsitektur komputer yang ada menggunakan sistem bilangan biner. Bilangan heksadesimal banyak digunakan dalam pemrograman bahasa assembly ataupun bahasa mesin. Selanjutnya terkait dengan format data pada komputer terbagi menjadi dua yaitu ASCII ( American Standard code for information interchange) dimana data dengan format ini mewakili karakter alfanumerik dalam sistem komputer. Format data yang digunakan ASCII adalah 7 bit dengan bit ke-8 sebagai MSB (Most Significant Bit) yang digunakan untuk sebagai parity checker (melakukan pengecekan pada beberapa sistem yang terkait). Sebagai contoh pada sebuah printer pencetakan data alfanumerik terjadi ketika MSB dari format data ASCI bernilai 0 (MSB=0) dan untuk pencetakan grafik MSB bernilai 1. Dalam komputer, kumpulan karakter extended ASCII menggunakan kode 80H – FFH. Karakter- karakter ini menyimpan huruf-huruf asing dan tanda baca, karakter Yunani, karakter matematika, karakter box – drawing, dan karakter khusus lainnya. Format data lainnya selain ASCII adalah BCD ( Binary coded decimal ). Data BCD disimpan dalam bentuk packed BCD atau unpacked BCD. Data packet BCD data desimal disimpan dalam bentuk 2 digit per byte sedangkan unpacked BCD data desimal disimpan 1 digit per byte. Packed BCD digunakan untuk beberapa instruksi penjumlahan dan pengurangan BCD dalam kumpulan instruksi mikroprosesor. Unpacked BCD digunakan untuk keypad atau keyboard dimana memerlukan satu byte tiap karakternya. Contoh desimal 735 jika dikonversi dalam packet BCD menjadi 0000 0111 - 0011 0101 sedangkan unpacked BCD menjadi 0000 0111 - 0000 0011- 0000 0101.
B.
Sistem Bilangan & Konversi Bilangan
Biner, Desimal, Heksadesimal
Sistem
bilangan biner merupakan sistem bilangan berbasis dua terdiri atas 0 dan
1. Angka tersebut dikenal dengan istilah logika digital (0 &1).
Setiap digit dalam sistem bilangan biner disebut bit (binary digit).
Delapan buah bit disebut Byte yang merupakan unit penyimpanan terkecil pada
sebuat komputer. Tipe penyimpanan yang lebih besar adalah word (16 bit =
2byte) dan doubleword (32 bit = 8byte). Sistem bilangan Heksadesimal
merupakan sistem bilangan berbasis enambilas dengan angka
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E, dan F. Bilangan heksadesimal banyak
dimanfaatkan pada pemrograman assembly (pokok bahasan pemrograman
assembly akan dibahas pada pertemuan selanjutnya).
Cara konversi Bilangan dari biner ke desimal dapat dilakukan sebagaimana
langkah- langkah berikut. Miisalkan ada pertanyaan berapa nilai biner
dari bilangan 168 ? Perhatikan
Gambar dimana pada baris terdapat beberapa kolom yang mewakili nilai
eksponensial bilangan basis dua. Dimulai dari dua pangkat nol yang sama dengan
satu, kemudian berlanjut pada dua pangkat satu, dua pangkat dua, dua
pangkat tiga demikian seterusnya hingga mendekati nilai yang dibutuhkan.
Dalam satu octet atau 8 bit yang dimulai dari dua pangkat nol maka
diperoleh nilai tertinggi dua pangkat tujuh atau sama dengan serratus dua
puluh delapan. Nilai hasil pemangkatan (eksponensial) dari bari pertama
diletakkan pada baris kedua (warna oranye). Kemudian pada baris ketiga
kita letakkan angka 0 atau 1 sesuai dengan nilai yang ditanyakan.
Pada contoh ini konversi 168 menghasilkan bilangan biner 10101000. Nilai 10101000 diperoleh dengan meletakkan angka 1 pada kolom yang jika dijumlahkan totalnya akan membentuk 128, atau jika dalam matematika sederhana maka 128 didapatkan dengan menjumlahkan bilangan 128 + 32 + 8. Pada kolom yang angkanya tidak dibutuhkan dibubuhkan nilai 0 sehingga pada kolom dibawah bilangan 64, 16, 4, 2 dan 1 di beri nilai 0. Atau untuk memudahkan maka kita bisa mengalikan antara kolom yang ditandai dengan nilai nol maupun satu pada bariis dua dan tiga yaitu : 128(1) + 64(0) + 32(1) + 16(0) + 8(1) + 4(0) + 2(0) + 1(0) = 128. Selanjutnya untuk membentuk biner maka nilai satu pada bagian pengali dikumpulkan menjadi 10101000. Selanjutnya perhatikan tabel berikut untuk memudahkan konversi yang diinginkan.
Jenis bilangan biner terbagi menjadi dua yaitu Sign and Unsign Integer
serta Floating Point. Sign integer adalah
bilangan bulat bertanda yaitu tanda positif ataupun negatif, sedangkan unsign integer
adalah bilangan bulat tidak bertanda. Unsign Integer (integer tidak bertanda) berarti semua bilanganya adalah positif.
Selanjutnya bilangan floating point merupakan
bilangan pecahan atau bilangan real. Floating point ranges untuk bilangan 32 bit
adalah eksponensial dari 8 bit atau +/- 2256
» 1.5 x 1077. Akurasi pada bilangan floating point dipengaruhi oleh perubahan LSB mantissa, dimana
23 bit mantissa 2-23 » 1.2 x 10-7 atau sekitar 6 decimal dibelakang koma.
Konversi bilangan desimal ke dalam bentuk biner ataupun sebaliknya biner
ke desimal yang tidak bertanda lebih mudah
karena semua nilainya positif. Bilangan biner hanya ada angka 0 dan 1 untuk merepresentasikan segalanya.
Contoh bilangan positif yang terdapat dalam sistem biner 41 adalah 00101001. Hal yang perlu
diketahui bahwa dalam sistem bilangan biner dengan format integer tidak ada tanda minus serta
tidak ada tanda koma. Cara untuk mengubah bilangan biner integer menjadi bentuk negative
adalah Sign-Magnitude dan Two’s compliment. Pada Sign-Magnitude, bit paling kiri
merupakan bit tanda (Left most bit is sign bit). Bit
0 berarti positif dan bit 1 berarti negatif. Sebagai contoh +18 (positif
depalan belas) = 00010010
sedangkan -18 (negatif depalan belas) = 10010010. Permasalahan yang
muncul ketika menggunakan sistem Sign-Magnitude
adalah terdapat dua representasi nilai nol yaitu (+0 dan
-0) serta sangat perlu mempertimbangkan tanda dan magnitude dalam
operasi aritmatika. Dalam penulisanya untuk
membedakan bilagan biner bertanda engan tidak bertanda adalah
dengan menuliskan “Sign-Magnitude” pada nilai dibelakang bilangan
biner. Contoh lain konversi bilangan desimal
ke bilangan binernya dengan “sign maginitude” adalah sebagai berikut
|
+15 |
= |
00001111 |
(… sign maginitude …) |
|
|
-15 |
= |
10001111 |
(… sign maginitude …) |
|
|
+215 |
= |
0000 0000 |
11010111 |
(… sign maginitude …) |
|
-215 |
= |
1000 0000 |
11010111 |
(… sign maginitude …) |
Cara konversi pada bentuk sign bit selanjutnya adalah dengan metode
Two’s Compliment. Pada metode ini terdapat
dua langkah yang harus dilakukan setelah bilangan desimal dikonversi ke dalam bentuk unsigned bit.
Langkah pertama atau first complement adlah dengan mengubah biner 0 menjadi 1 dan sebaliknya
1 menjadi nol. Selanjutnya pada langkah kedua
atau second complement adalah menambahkan biner 1 pada bit paling kanan. Perhatikan contoh berikut untuk mendapatkan gambaran
yang lebih jelas. Perintah yang dibuat
a. Jawab +15 : 00001111
1’st Complement : 2’s Complement
11110000
: 1+
Sehingga -15 : 11110001 (Two’s Complement)
b. Jawab +215 : 1’st Complement :
00000000 11010111
11111111 00101000
2’s Complement : _ 1+
Sehingga -215 : 11111111 00101001 (Two’s Complement )
Konversi selanjutnya adalah bilangan biner dalam bentuk floating point. Floating point merupakan sistem bilangan pecahan.
|
Sebagai contoh konversi bilangan-bilangan desimal berikut ke bilangan biner (floating point)
∙ 0,5 =
∙ 0,25 =
∙ 0,125 =
∙ 0,0625
2-1
2-2
2-3
□ 0,1
□ 0,01
□ 0,001
□ 0,0001
|
∙ 190,125 = 10-411 1110, 001
Sedangkan contoh konversi bilangan-bilangan biner ke bilangan desimal adalah sebagai berikut
∙ 0000011,1001 = 3,5625
□ 2120 2-12-4
□ 21 =2 | 20= 1 | 2-1=0,5 | 2-4=0,0625
□ 2 + 1 + 0,5+0,0625 = 3,5625
∙ 0011001,011
= 24,375
□ 242320 2-22-3
□24 =16 | 23 =8 | 20= 1 | 2-2=0,25 | 2-3=0,125
□16 + 8 + 0,25+0,125 =24,375
Sistem Bilangan Heksadesimal merupakan bilangan berbasis enam belas. Penomoran bilangan basis 16 menggunakan angka 0 sampai 9 dan huruf A sampai F. Perhatikan pola bilangan biner yang sesuai dengan nilai pada desimal dan heksadesimal pada tabel berikut:








0 Komentar:
Posting Komentar
Berlangganan Posting Komentar [Atom]
<< Beranda