ARCHITECTURE COMPUTER DATA REPRESENTATION Susijanto Tri R. And YMD
Data Representation Di dalam komputer, data dan informasi kontrol (instruksi) disajikan dalam bentuk binary yang terdiri dari dua simbol : “0” dan “1”. Dua simbol ini mewakili dua sinyal elektronik : “on” dan “off”.
Machine Instructions CPU hanya dapat mengeksekusi instruksi dalam bahasa mesin (machine instruction). Setiap komputer memiliki satu set instruksi mesin khusus, yang digunakan untuk mengenali dan mengeksekusi. Setiap instruksi mesin direpresentasikan sebagai sebuah urutan bit-bit. Setiap bit menginformasikan : Apa yang harus dikerjakan (the operation code)
Pada siapa operasi dilakukan (source operands) Dimana hasil disimpan (destination operand) Bagaimana kelanjutan setelah operasi selesai.
Penyajian (representation) sebuah instruksi mesin dibagi dalam beberapa field, setiap field berisi satu item instruction specification (opcode, operand, dsb). Field- field ini diorganisasikan sesuai dengan format instruksinya.
Machine Instruction Type Instruksi mesin mempunyai empat tipe : Data transfer, antara memory dan register CPU Operasi arithmatic dan logic Program control (test and branch) I/O transfer
Aspek-aspek penting dari instruksi : Jumlah pengalamatan Jenis-jenis operand Mode pengalamatan Jenis operasi yang tersedia Register access Format instruksi
Eksekusi Instruksi Dibutuhkan empat instruksi untuk menyelesaikan Z:=(Y+X)*3:
TIPE DATA Data-data yang digunakan pada komputer digital adalah data dalam bentuk kode-kode biner. Tipe-tipe data yang digunakan pada komputer umumnya dapat diklasifikasikan sebagai berikut : Alphabet (character) berupa huruf, angka, tanda- tanda baca, untuk data processing. Numerik, digunakan untuk operasi-operasi perhitungan. Simbol-simbol lain yang diperlukan untuk keperluan khusus.
ALPHANUMERIK REPRESENTATION Alphanumeric character adalah suatu elemen yang terdiri dari 10 simbol angka, 26 simbol abjad, tanda baca (contoh : ! ? / , .), dan beberapa special character (contoh : $, @, +, =). Untuk merepresentasikan simbol-simbol di atas digunakan kode ASCII (American Standard Code for Information Interchange).
Tabel Kode ASCII Alphanumeric Char Binary Code A B C D E F G H I J K L M N O P Q R 0100 0001 0100 0010 0100 0011 0100 0100 0100 0101 0100 0110 0100 0111 0100 1000 0100 1001 0100 1010 0100 1011 0100 1100 0100 1101 0100 1110 0100 1111 0101 0000 0101 0001 0101 0010 S T U V W X Y Z a b c d e f g h 0101 0011 0101 0100 0101 0101 0101 0110 0101 0111 0101 1000 0101 1001 0101 1010 0110 0001 0110 0010 0110 0011 0110 0100 0110 0101 0110 0110 0110 0111 0110 1000 0110 1001 j k l m n o p q r s t u v w x y z 0110 1010 0110 1011 0110 1100 0110 1101 0110 1110 0110 1111 0111 0000 0111 0001 0111 0010 0111 0011 0111 0100 0111 0101 0111 0110 0111 0111 0111 1000 0111 1001 0111 1010 1 2 3 4 5 6 7 8 9 0011 0000 0011 0001 0011 0010 0011 0011 0011 0100 0011 0101 0011 0110 0011 0111 0011 1000 0011 1001
NUMBER SYSTEM Radix Juga disebut sebagai ‘base / basis’ sebuah sistem bilangan. Radix menunjukkan jumlah simbol angka yang digunakan pada sistem bilangan. Desimal Sistem ini berbasis 10, terdiri dari angka 0,1,2,3,4,5,6,7,8, dan 9. Contoh : angka 824.5 merepresentasikan nilai 8 x 102 + 4 x 101 + 2 x 100 + 5 x 10-1
Binary Sistem binari berbasis 2, simbol angkanya terdiri dari 0 dan 1. Sistem ini sangat cocok dengan sistem komputer digital. Contoh : angka 1011.1 merepresentasikan nilai 1 x 23 + 0 x 22 + 1 x 21 + 1 x 20 + 1 x 2-1 = 11.5(10)
Octal Sistem octal berbasis 8, simbol angkanya terdiri dari 0,1,2,3,4,5,6, dan 7. Sistem ini sangat penting dalan komputer digital. Contoh : angka 5741.4 merepresentasikan nilai 5 x 83 + 7 x 82 + 4 x 81 + 1 x 80 + 4 x 8-1 = 3041.5(10)
Hexadecimal Sistem bilangan hexadecimal mempunyai 16 lambang bilangan. Terdiri dari 0,1,2,3,4,5,6,7,8, 9,A,B,C,D,E, dan F. Seperti halnya octal, hexadecimal juga banyak digunakan dalam operasi-operasi pada komputer digital. Contoh : angka 574.4 merepresentasikan nilai 7 x 162 + 4 x 161 + 1 x 160 + 4 x 16-1 = 1396.25(10)
Bilangan Octal dan Hexadecimal sering digunakan dalam operasi-operasi komputer karena bilangan ini mudah di konversikan ke bilangan biner Contoh 1 2 7 5 4 3 Octal 1 0 1 0 1 1 1 1 0 1 1 0 0 0 1 1 Binary A F 6 3 Hexadecimal
DECIMAL REPRESENTATION Sistem biner adalah sistem bilangan yang dikenal oleh komputer, sedangkan manusia sudah terbiasa dengan sistem desimal. Untuk menjembatani dua sistem bilangan ini digunakan Binary Coded Decimal (BCD). Untuk merepresentasikan satu digit bilangan desimal dengan BCD digunakan empat digit bilangan biner
Tabel Bilangan Binary Coded Decimal Bilangan Desimal Binary Coded Decimal 1 2 3 4 5 6 7 8 9 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 10 20 50 128 0001 0000 0010 0000 0101 0000 0001 0010 1000
INTEGER REPRESENTATION Seperti halnya pada representasi alphanumerik dan bilangan desimal untuk merepresentasi-kan bilangan bulat juga digunakan pada bilangan biner. Jumlah digit bilangan biner yang digunakan tergantung dari jenis bilangan bulat yang di presentasikan. Umumnya terdiri dari 8 hingga 32 bit. Untuk 8 digit biner dapat merepresentasikan bilangan bulat positif 0 hingga 255
Sign Integer Bilangan bulat bukan hanya bilangan positif tetapi juga terdapat bilangan negatif. Ada tiga cara untuk merepresentasikan bilangan bulat negatif, yaitu : Signed-magnitude representation Signed-1’s complement representation Signed-2’s complement representation
Signed-magnitude Representation Pada signed-magnitude untuk menyatakan bilangan negatif digunakan sign-bit, yang diletakkan pada bit paling depan (MSB). Dan sisanya untuk menyatakan nilai dari bilangan itu (Magnitude) 1 0 0 0 0 1 0 1 Sign-bit Magnitude (MSB)
Sign-bit : 0 = bilangan positif 1 = bilangan negatif Contoh : +18 = 00010010 -18 = 10010010 Maka 8 bit angka biner dapat menyatakan bilangan desimal dengan range -127 hingga 127. 01111111 = 127 11111111 = -127
Namun ada kerugian dalam sistem ini : Untuk operasi penjumlahan dan pengurangan, diperlukan sign dan magnitude dari kedua bilangan. Ada dua representasi untuk bilangan 0, yaitu : 000000002 = 010 100000002 = 010 Hal ini mempersulit untuk test bilangan 0.
Signed-1’s Complement Representation Untuk melakukan operasi 1’s complement pada bilangan biner, maka bilangan 0 diganti dengan 1, dan bilangan 1 diganti dengan 0. Contoh : X = 01010001 1’s complement dari X = 10101110
Penggunaan 1’s complement representation dari binary integer adalah sebagai berikut : Untuk bilangan positif caranya sama dengan pada sign and magnitude. Untuk bilangan negatif didapat dengan menggunakan 1’s complement dari bilangan biner positif tersebut. Contoh : 18 = 00010010 -18 = 11101101
Signed-2’s Complement Representation Untuk melakukan operasi 2’s complement pada bilangan biner terdiri dari dua tahap Lakukan operasi 1’s complement (hasilnya dianggap sebagai unsign binary integer. Tambahakan hasil operasi di atas dengan 1 Contoh : 18 = 00010010 1’s Compl. 18 = 11101101 1 + -18 (2’ Comp.) = 11101110
Representasi bilangan menggunakan 2’s com-plement untuk bilangan biner adalah sbb : Untuk bilangan positif caranya seperti pada sign dan magnitude dan 1’s complement. Untuk bilangan negatif didapat dengan menggunakan 2’s complement dari bilangan biner positif tersebut Representasi dengan menggunakan 2’s complement mempunyai anomali (kelebihan) yang tidak terdapat pada sign-magnitude atau 1’s complement. Lihat tabel berikut ini.
Tabel Perbandingan Representasi bilangan biner 4bit Sign & Magnitude 1’s C 2’s C 0 1 1 1 7 0 1 1 0 6 0 1 0 1 5 0 1 0 0 4 0 0 1 1 3 0 0 1 0 2 0 0 0 1 1 0 0 0 0 1 0 0 0 -0 -7 -8 1 0 0 1 -1 -6 1 0 1 0 -2 -5 1 0 1 1 -3 -4 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1
Masing-masing metode mampunyai kele-mahan yang tidak dapat dihindari yaitu : Untuk sign-magnitude dan 1’s complement jumlah bit integer positif dan negatif sama, tetapi ada dua representasi untuk bilangan 0. 2’s complement hanya ada satu representasi bilangan 0, tetapi jumlah bilangan negatif lebih banyak (1 nilai) daripada bilangan positif.