Senin, 26 April 2021

REPRESENTASI DATA (OAK)

REPRESENTASI DATA

Artikel kali ini akan membahas mengenai 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 adalah konversikan bilangan desimal -15 dan -215 ke dalam bentuk bilangan biner bertanda  dengan “Two’s Complement”.

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


2

 

∙  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