Anda di halaman 1dari 62

REPRESENTASI DATA

• Data dalam kehidupan manusia


– Personal data input [lewat 5 indra]
– Mass media [audio/visual] data input
[populer, ilmiah, fiksi, riset, dll.]

• Pengertian Dasar
– Data ‡ Informasi ?
– Komunikasi
– Kode / notasi / simbol / Icon

• Bentuk Kode
– Karakter umum: Numerik & Alfabet
– Karakter khusus

1
REPRESENTASI DATA

 Tipe Representasi data


– Eksternal (human-readable)
• notasi dalam bahasa pemrograman
• fasilitas untuk: programmer, desainer bahasa,
user
• berbasis notasi aljabar (desimal,
sign/magnitude)

– Internal (machine readable)


• notasi aktual dalam komputer
• fasilitas untuk konstruksi HW
• meningkatkan efisiensi
• menekan harga
• HW menjadi handal
2
REPRESENTASI DATA

 Program-progam aplikasi yg berbeda


menggunakan tipe data yg berbeda, tergantung pd
masalah.

 Program bahasa mesin dapat bekerja dgn data


numerik atau data non-numerik.

 Data numerik dapat berupa bilangan desimal atau


bilangan biner.

 Data non-numerik adalah data dengan tipe sebagai


berikut:
 Data karakter
 Data alamat
 Data logika

3
REPRESENTASI DATA

 Data biner dapat direpresentasikan sebagai


bilangan titik-tetap (fixed-point number) atau
sebagai bilangan titik-mengambang (floating-
point number).

 Pada representasi bilangan fixed-point, posisi


titik biner adalah sudah pasti , tetap dalam satu
tempat.

 Pada representasi bilangan floating-point


posisi titik biner dapat berada di mana saja.

 Bilangan fixed-point dikenal sebagai bilangan


integer (bulat) sedangkan bilangan floating-
point dikenal sebagai bilangan real (pecahan).
4
 Operasi aritmetika (penjumlahan dan
sebagainya) pada bilangan fixed-point adalah
sederhana dan memerlukan perangkat keras
yang sedikit (sirkuit yg minimum).

 Aritmetika bilangan floating-point sulit dan


memerlukan perangkat keras yang kompleks.

 Dibandingkan terhadap bilangan fixed-point,


bilangan floating-point mempunyai dua
keuntungan:

5
Dibandingkan terhadap bilangan fixed-point,
bilangan floating-point mempunyai dua
keuntungan:

1. Nilai maksimum atau minimum yg dapat


direpresentasikan dalam representasi
bilangan floating-point lebih tinggi daripada
fixed-point. Bilangan ini berguna untuk
keperluan bilangan yg sangat besar atau
bilangan yg sangat kecil

2. Representasi bilangan floating-point lebih


akurat dalam operasi aritmetika.

6
REPRESENTASI DATA

 Konsep tipe data


– Definisi matematik
• cardinal / unsigned numbers integer: 0,1,2, …]
• signed numbers integer: -2, -1, 0, 1, 2, …]
• real number [4.5, -8.47, -0.6* 107 ]
• character
• string
• boolean [true, false]
• beragam struktur gabungan 6 tipe di atas

7
REPRESENTASI DATA

– Length : bit, byte, word, double/long word

– Storage bit order : most and least significant bit

– Tag ~ a group of bits that identifies the word’s type

– Error detection & correction [parity bit: even/odd]

8
REPRESENTASI DATA

 Unsigned binary (untuk integer m dan I ):

NR = bn bn-1 bn-2 ….. b2 b1 b0


= b0 r n + b1 r n-1 + ......... + bn-1 r1 + bn r0

9
Unsigned Integer
– Unsigned integer hanya untuk bilangan
positif, jika negatif perlu format baru.

– Kelebihan biner

• mudah dibuat
• tidak ambigu (noise immunity)
• bisa dicopy dengan sempurna (flawlessly)
• untuk bilangan 8-bit memungkinkan 256 pola
0 & 1, sejumlah: 128 negatif + 128 positif.

10
Unsigned Integer
 Unsigned variable disimpan lansung dalam format
biner

No. of Binary
bits Min Max
n 0 2n - 1

11
Unsigned Integer

No. of No. of
Type Range
bytes bits
unsigned char 1 8 0 … 255
unsigned short 2 16 0 … 65,535
unsigned int 4 32 0 … 4,294,967,295
unsigned long 4 32 0 … 4,294,967,295

12
Signed Integer

• Representasi
– Signed Integer direpresentasikan selain
oleh
nilai bilangan juga dengan adanya tambahan
tanda [negatif].

• Tipe
– Sign and Magnitude (SM)
– One’s Complement (OC)
– Two’s Complement (TC)

13
Signed Integer
• Notasi Sign Magnitude (SM)
– Format:

– Bila digit pada posisi terkiri (sign)


 Nol maka bilangan tersebut positif,
 Satu maka bilangan tersebut negatif
[negatif nol =positif nol = nol].

– Rentang SM (untuk integer m dan I):

14
15
16
Signed Integer
• Sign Magnitude (SM):
– Penjumlahan, aturan:
 sign tidak dijumlahkan, hanya magnitude
 buang carry out dari msb magnitude
 jumlahkan yang sign-nya sama (+ ke +
atau - ke - )
 sign hasil = sign penambah

– Contoh

17
Signed Integer

• Sign Magnitude (SM):


– Pengurangan, aturan:
 lakukan jika sign sama, jika sign berbeda, ubah soal
ke penjumlahan
 perbandingkan magnitude, lakukan:
a - b menjadi a + (-b)
a + b menjadi a - (-b)

– Contoh

18
Signed Integer

• One’s complement (OC)


– Definisi
• (2n - 1 → memberikan jumlah n digit )
• komplementasi bilangan biner (ubah 1 ke 0
dan 0 ke 1)
– Contoh
• OC dari 00101110 adalah 11010001
– Rentang nilai

19
20
21
22
Signed Integer
 Signed integers are generally stored in 2’s complement
format.
 Most Significant Bit (MSB) is considered the sign bit
– 1 for negative numbers -- 0 for positive numbers

Binary
No. of
2’s compliment
bits
Min Max
n -2n-1 2n-1 - 1
23
Signed Data Types
No. of No. of
Type Range
bytes bits
char 1 8 -128 … 127
short 2 16 -32,768 … 32,767
int 4 32 -2,147,483,648 .. 2,147,483,647
long 4 32 -2,147,483,648 .. 2,147,483,647

24
Signed Integers
 To change the sign of any number
1. Invert all the bits
2. Add 1

210 == 00102 -210 == 11102


=> 1101 => 0001
+ 1 + 1
---- ----
11102 => -210 00102 => 210

25
26
27
28
dibuang

29
30
31
32
33
34
 BILANGAN FLOATING-POINT

 Representasi bilangan floating-point mempunyai


tiga bagian:
1. Mantissa
2. Basis
3. Eksponen

 Contoh :
Bilangan Mantissa Basis Eksponen
3 x 106 3 10 6
110 x 28 110 2 8
6132.784 0.6132784 10 4
34.58 0.3458 10 2

35
 Mantissa dan eksponen direpresentasikan
secara eksplisit dalam komputer. Tetapi basisnya
(base) adalah yg digunakan oleh komputer
tersebut.

 Umumnya komputer mengikuti basis 2.

 Umumnya sebuah bilangan f direpresentasikan


sebagai f = m x re di mana m adalah mantissa, r
adalah basis dari sistem bilangan dan e adalah
eksponen (pangkat dari basis yg digunakan).

 Format umum bilangan floating-point:


S Eksponen Mantissa

36
 Semula penggunaan format berbeda antar
pabrik komputer untuk merepresentasikan
bilangan floating-point. Tetapi saat ini telah
digunakan format standar ANSI/IEEE secara
luas (format IEEE 754). Sedangkan IBM
mempunyai standar khusus

 Ada dua format standar IEEE 754 yg


dikeluarkan yaitu untuk presisi tunggal (single
precision) dan format standar untuk bilangan
presisi ganda (double precision)
S Eksponen, 8 bit Mantissa, 23 bit
Format floating-point presisi tunggal (32 bit)

S Eksponen, 11 bit Mantissa, 52 bit


Format floating-point presisi ganda (64 bit)
37
NORMALISASI FLOATING-POINT

 Bilangan floating-point dapat direpresentasikan dgn


banyak cara seperti yg ditunjukkan untuk bilangan
desimal 140 x 28:
140 x 28, 14 x 29, 1400 x 27,
1.4 x 210, 0.14 x 211, .014 x 212 .... dst.

 Suatu bilangan floating-point berada dalam bentuk


ternormalisasi jika Most Significant Digit dari
mantissa bukan-nol (non-zero).

 Untuk mengubah menjadi bilangan yg ternormalisasi,


mantissa harus digeser ke kanan atau ke kiri dgn
tepat, menaikkan atau menurunkan eksponen. Jika
semua bilangan floating-point direpresentasikan
dalam komputer dgn bentuk ternormalisasi, maka
posisi bit satu dapat disimpan dengan mengabaikan
MSB (selalu 1). Ini disebut hidden 1 principle.
38
39
FPS (floating point standard)
 The sign bit adalah 0 untuk bilangan posistip
dan 1 untuk bilangan negatip

 Mantissa direpresentasikan dengan unsigned


integer (i.e., bukan 2’s Complement), di mana
nilainya dinormalisasi.
– 23 bit untuk single precision, 52 bit untuk double
precision

 Exponent direpresentasikan dengan unsigned


integer
– 8 bit untuk single precision, 11 bit untuk double
precision

40
Konversi format saintifik ke format standar IEEE

1. Pertama ubah menjadi bilangan biner.

2. Normalisasikan bilangan tsb sehingga terdapat


satu digit nonzero di ujung terkiri, lakukan adjust
exponent sesuai kebutuhan.

3. Simpan digit biner mantissa ke sisi kanan

4. Tambahkan 127 ke bagian exponent dan ubah hasil


penjumlahan tersebut ke biner untuk nilai exponent
yg akan disimpan. Untuk double precision,
tambahkan 1023 ke exponent.

5. Sign bit = 1 untuk bilangan negatip dan sign bit = 0


untuk bilangan positip.

41
Single precision
S E’ M

representasi 8-bit 23-bit


excess -127 exponent mantissa fraction
Bit tanda:
0= +
Representasi nilai = ±1.M x 2E’  127
1= 
biased exponent
Double precision
S E’ M

representasi 11-bit 52-bit


excess -1023 exponent mantissa fraction
Bit tanda:
0= +
Representasi nilai = ±1.M x 2E’  1023
1= 
42
FPS and Hardware
 Floating point hardware umumnya
mempunyai sekumpulan register khusus
dan instruksi untuk melaksanakan floating
point

 Juga terdapat instruksi khusus untuk


perpindahan data antara memori atau
normal register dan floating point register.

43
Contoh: Tuliskan +0.0010110… x 29 dalam format
single precision standar IEEE 754
Solusi:

Setelah dinormalisasi : +1.0110… x 26


E’ = 6 + 127 = 133 = 10000101

0 10000101 0110…

44
Contoh: Tuliskan (0.75)10 dalam format single precision
standar IEEE
Solusi:
 Sign bit, S = 1 (negatip)

0.75 x 2 = 1.5 →1
0.5 x 2 = 1.0 →1 0.11000000 = 0.11000000 x 20
0.0 x 2 = 0.0 →0
dinormalisasi = 1.100… x 21

M = 10000000000000000000000000
E=1
E’ = E + 127 =  1 + 127 = 126 = 01111110
Sehingga representasi single precision (0.75)10 :
1 01111110 10000000000000000000000

45
Latihan:
Typical 32-bit floating-point format

+1.638125 X 220 =
0 10010011 10100011010111000010100
1.638125 X 220 =
1 10010011 10100011010111000010100

+1.638125 X 2―20 =
0 01101011 10100011010111000010100
1.638125 X 2―20 =
1 01101011 10100011010111000010100

46
Latihan:
A. Tuliskan dalam format single precision
standar IEEE 754:

1. ( + 5.375 x 103 )10

2. ( + 200.0 )10

3. ( - 13.275 )10

4. ( - 0.05375 x 102 )10

B. Tuliskan dalam format notasi saintifik desimal


0 10000101 01100000000000000000000

47
 KODE KARAKTER

 Semua komputer secara internal


merepresentasikan karakter dengan
menyimpannya sebagai integer non-negatip:
0, 1, 2 …

 Mapping karakter ke dalam integer disebut kode


karakter

 Awalnya komputer menggunakan kode karakter


dgn panjang 6-bit (26 = 64 karakter unik) yg
cukup untuk 26 huruf kapital, 10 angka, dan 15
hingga 28 karakter khusus termasuk:
,.():;-+=/
yg dibutuhkan oleh HLL seperti FORTRAN,
COBOL dan BASIC
48
 KODE KARAKTER

 Saat ini komputer merepresentasikan karakter


dengan panjang 7 bit dan 8 bit

 Kode karakter 8 bit yang paling populer adalah


ASCII, EBCDIC *)

 Kode karakter lain yang dapat


merepresentasikan semua kode bahasa di
dunia adalah Unicode

*) ASCII = American Standard Code for Information Interchange


EBCDIC = Extended Binary Coded Decimal Interchange Code
49
 KODE KARAKTER
 ASCII

 ASCII adalah kode karakter yg ditujukan bagi


standar internasional untuk representasi
data tekstual

 ASCII juga biasanya digunakan untuk


transmisi informasi biner

 Setiap karakter direpresentasikan oleh 7–bit


kode

 Biasanya bit kedelapan disisipkan untuk


parity (error checking), atau untuk character
set expansion
50
 ASCII terdiri dari 128 karakter:

 95 karakter merepresentasikan simbol


graphic termasuk huruf kecil dan kapital,
bilangan 0 sampai 9, puctuation mark dan
simbol-simbol khusus;

 23 karakter merepresentasikan format


effector yang merupakan karakter
fungsional untuk pengontrolan layout
pencetakan atau display device seperti
carriage return, line feed, horizontal
tabulation, dan back space;

 10 karakter lainnya digunakan untuk


aliran komunikasi data langsung dan
status report-nya
51
52
 KODE KARAKTER
 EBCDIC

 Kode EBCDIC adalah kode alphanumerik lain


yang digunakan dalam peralatan IBM

 Setiap karakter direpresentasikan oleh 8–bit


kode dan bit kesembilan disisipkan untuk
parity

 Kode EBCDIC mempunyai simbol karakter


yang sama dengan ASCII tetapi tetapi
penetapan bit-bit untuk karakter berbeda.

53
 KODE KARAKTER
 Unicode

 Unicode—coding scheme capable of


representing all world’s languages

54
 KODE BINER LAIN

 Kode Gray, kode ini digunakan untuk aplikasi


khusus

 Keuntungan kode Gray dibandingkan dengan


kode biner langsung adalah karena kode gray
hanya mengubah satu bit dalam urutan kode
tsb, dari 0 ke 1 atau dari 1 ke 0.

 Aplikasi typical kode Gray adalah ketika data


analog direpresentasikan dengan perubahan
kontinyu dari sebuah posisi shaft (shaft
encoder)

55
Tabel Kode Gray 4-bit

Kode Gray Ekivalen Kode Gray Ekivalen


desimal desimal
0000 0 1100 8
0001 1 1101 9
0011 2 1111 10
0010 3 1110 11
0110 4 1010 12
0111 5 1011 13
0101 6 1001 14
0100 7 1000 15

56
 KODE BINER LAIN → kode desimal
(BCD, 2421, Excess-3, Excess-3 Gray)

 Kode Desimal BCD


 Kode BCD (binary coded decimal) adalah
bilangan desimal yang dikodekan secara
biner

 Kode BCD dasar 4-bit disebut packed BCD,


sedangkan kode BCD yang diperluas
disebut unpacked BCD, misalnya unpacked
BCD 1 byte.

 Kode BCD unpacked dibentuk dengan cara


menggabungkan packed BCD dengan
kelipatan 4-bit (nibble)
57
Packed BCD
12 = 00010010unpacked BCD

97 = 10010111unpacked BCD

58
 Penjumlahan BCD
13 = 00010011
65 = 01100101 +
78 = 01111000

1 AC
29 = 00101001
18 = 00011000 +
01000001 = 41 hasil error
0110 korektor
+
47 = 01000111

59
 KODE BINER LAIN → kode desimal
(BCD, 2421, Excess-3, Excess-3 Gray)

 Kode desimal 2421

 Kode 2421 merupakan kode berbobot


(weighted code), di mana bit-bit dikalikan
dengan bobot yang ditunjukkan dan jumlah
dari bit-bit bobot tsb merupakan digit
desimal

 Misalnya: 11012421 = 2x1 + 4x1 + 2x0 + 1x1


= 710 (lihat tabel)

60
Desimal 2421 Excess-3 Excess-3 Gray
0 0000 0011 0010
1 0001 0100 0110
2 0010 0101 0111
3 0011 0110 0101
4 0100 0111 0100
5 1011 1000 1100
6 1100 1001 1101
7 1101 1010 1111
8 1110 1011 1110
9 1111 1100 1010
Bit 0101 0000 0000
kombinasi 0110 0001 0001
Ini 0111 0010 0011
tidak 1000 1101 1000
digunakan 1001 1110 1001
1010 1111 1011
61
 KODE BINER LAIN → kode desimal
(BCD, 2421, Excess-3, Excess-3 Gray)

 Kode desimal Excess-3 Gray

 Kode Gray (lihat tabel) tidak cocok untuk


kode desimal jika kita ingin memilih 10
entry pertama pada tabel, karena transisi
dari 9 ke 0 melibatkan perubahan tiga bit
(yaitu dari 1101 ke 0000)

 Untuk mengatasi kesulitan di atas, kita pilih


10 bilangan dimulai dari entry ketiga 0010
hingga entry keduapuluh 1010. Jadi transisi
dari 1010 ke 0010 hanya berubah satu bit.

62

Anda mungkin juga menyukai