0% menganggap dokumen ini bermanfaat (0 suara)
50 tayangan34 halaman

Integer

Diunggah oleh

AF Rashad
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
50 tayangan34 halaman

Integer

Diunggah oleh

AF Rashad
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd

REPRESENTASI INFORMASI

POKOK BAHASAN
 Representasi informasi
 Bit, byte, dan word
 Representasi data numerik dan basis bilangan
 Representasi komplemen dua dan bertanda
 Sistem fixed point dan floating point
 Representasi data bukan numerik (kode
karakter)
REPRESENTASI INFORMASI (1)

Converter

Internal Representation
External Representation

Representasi Eksternal adalah suatu cara untuk merepresentasikan


dan memanipulasi informasi oleh programmer dengan suatu bahasa
pemrograman atau notasi bahasa perintah lainnya ̶ > Agar nyaman bagi
programmer (user).
Representasi Internal adalah suatu cara untuk menyimpan dan
memanipulasi informasi secara aktual di dalam sistem komputer ̶ > Agar
mudah dalam membangun perangkat keras.
Informasi ≈ program & data ≈ deretan bit
 akses/manipulasi terhadap informasi ≈ akses/operasi (arithmetic/logic)
terhadap deretan bit
REPRESENTASI INFORMASI (2)

 Bilangan berpresisi terbatas berpeluang memunculkan


‘kesalahan’ (dari segi matematika klasik), tetapi bisa
menjadi ‘kebenaran’ sebagai konsekuensi logis dari
keterbatasan mesin tersebut
 Kesalahan yang dapat terjadi:
 overflow error
 underflow error
 unrepresentable
BIT DAN BYTE
 Apa bedanya antara bit dan byte ? al y
x c im ar
n
 1 byte = 8 bit (binary digit) He De Bi
0 0 0000
 Range Binary: 000000002 - 111111112 1 1 0001
2 2 0010
 Range Decimal: 010 - 25510 3 3 0011
4 4 0100
5 5 0101
 Range Hexadecimal: 0016 - FF16 6 6 0110
7 7 0111
 representasi bilangan basis 16
8 8 1000
9
 Menggunakan karakter ‘0’ - ‘9’ dan ‘A’ - ‘F’ 9 1001
A 10 1010
 Range Octal: ... - ... B 11 1011
C 12 1100
 000 - 377
8 8 D 13 1101
E 14 1110
 1 nibble = … bit = … byte F 15 1111
WORD SIZE (1)
 Word merupakan sejumlah bit berukuran tetap yang
ditangani secara bersama-sama oleh komputer
 Sebuah word dapat merupakan:
 ukuran register
 ukuran suatu tipe data
 jumlah data dalam sekali transfer
 lebar alamat suatu memori

 Kebanyakan mesin menggunakan 32 bit (4 byte)


 Sistem high-end menggunakan 64 bit (8 byte)
 Satuan word adalah byte
 Contoh:
 Intel: 1 word = 16 bit (8086)
 Tetap kompatibel dengan, x86, IA-32, IA-64
WORD SIZE (2)

d = desimal; b = bit
REPRESENTASI DATA
 Contoh ukuran Objek pada C (dalam byte)
Tipe Data C Compaq Alpha Typical 32-bit Intel
IA32
int 4 4 4
long int 8 4 4
char 1 1 1
short 2 2 2
float 4 4 4
double 8 8 8
long double 8 8 10/12
char * 8 4 4
BILANGAN DESIMAL (1)
 Representasi bilangan basis 10
 Itu kenapa jari tangan dikenal sebagai “digits”
 Representation bilangan natural untuk transaksi financial
 Kenapa komputer sekarang menggunakan sistem biner
dan bukan desimal ?
 Implementasi secara elektronik
 Sukar disimpan
 ENIAC (komp. pertama kali) menggunakan 10 vacuum tubes/digit
 Sukar dikirimkan
 Memerlukan presisi yg tinggi untuk meng-encode sinyal dengan 10
level pada single wire
 Kehandalan komponen elektronika turun sejalan dengan waktu
penggunaannya (drift)
 Perubahan sebesar 10 % saja sudah mengubah nilai
 Sulit untuk diimplementasikan pada fungsi logika digital
 Addition, multiplication, etc.
BILANGAN DESIMAL (2)

Desimal Biner
BILANGAN BINER
 Representasi bilangan basis 2
 Representasi 1521310 as 111011011011012
 Representasi 1,20 as 1,0011001100110011[0011]…
10 2
 Representasi 1,5213 X 104 as 1,1101101101101 X 213
2
 Implementasi Elektronik
 Mudah untuk disimpan sebagai elemen yang bistable (hanya
ada 2 nilai yang berbeda jauh)
 Lebih handal pada wire yang noise dan inaccurate
 Mudah diimplementasikan pada fungsi logika digital

0 1 0
3.3V
2.8V

0.5V
0.0V
JENIS-JENIS BILANGAN BINER
 Bilangan bulat biner tak bertanda (unsigned
integer)
 Bilangan bulat biner bertanda (signed
integer)
 Sign/magnitude
 Komplemen 2 (radix complement)
 Komplemen 1 (diminished radix complement)
 Binary Coded Decimal (BCD)
 Bilangan pecahan biner (floating point)
 Excess 2m-1
BILANGAN BULAT BINER TAK BERTANDA
(UNSIGNED INTEGER)
dndn-1dn-2...d3d2d1d0 = dnrn + dn-1rn-1 + dn-2rn-2 .. d3r3 +
d2r2 + d1r1 + d0r0
d = nilai bilangan;
r = radix (basis bilangan) = jumlah simbol maksimum
n = posisi bilangan, LSB = posisi ke-0
Cakupan bilangan yang bisa disajikan: 0  I  2m-1
Misal bilangan 16 bit: 0  I  216-1 = 0  I  32768
Konversi dari NR ke Nr : R = basis desimal dan r = basis bilangan lainnya
NR = dnrn + dn-1rn-1 + dn-2rn-2 .. d3r3 + d2r2 + d1r1 + d0r0

Biner ke desimal: 1010112 = 1x25 + 0x24 + 1x23 + 0x22 + 1x21 + 1x20


= 32 + 0 + 8 + 0 + 2 +1 = 4310
KONVERSI BILANGAN (1)
Desimal ke biner 4310 = ...2
43 : 2 = 21 ; sisa 1  d0 (LSB)
21 : 2 = 10 ; sisa 1  d1
10 : 2 = 5 ; sisa 0  d2
5 : 2 = 2 ; sisa 1  d3
2 : 2 = 1 ; sisa 0  d4
1 : 2 = 0 ; sisa 1  d5 Jadi 4310 = 1010112
Latihan:
a. 101010102 = ...10 f. ABCD16 = ...8
b. 500010 = ...2 g. 10010110101001012 = ...10
c. 500010 = ...8 h. 10010110101001012 = ...8
d. 500010 = ...16 i. 10010110101001012 = ...16
e. ABCD16 = ...10 (solusi)
KONVERSI BILANGAN (2)
Apa kesimpulan yang dapat diperoleh ?
• Konversi bilangan biner ke bilangan oktal atau sebaliknya
dapat dilakukan dengan lebih mudah dan lebih cepat
dibanding konversi bilangan tersebut ke bilangan desimal
• Konversi bilangan biner ke bilangan heksadesimal atau
sebaliknya dapat dilakukan dengan lebih mudah dan lebih
cepat dibanding konversi bilangan tersebut ke bilangan
desimal
• Konversi representasi data eksternal ke data internal atau
sebaliknya memerlukan proses lebih panjang dan lebih
rumit
• ...
Kapan representasi data eksternal dalam bentuk
heksadesimal dilakukan ?
SIGNED INTEGER : SIGN/MAGNITUDE (1)
 Dapat merepresentasikan bilangan negatif
 Simple: Bit terkiri (Most Significant Bit - MSB) dianggap
sebagai bit tanda (sign bit)
 Bit 0  bilangan positif
 bit 1  bilangan negatif
 Bit selain MSB sebagai nilai magnitude absolut bilangan
 Cakupan nilai (I) yang dapat direpresentasikan:
̶ (2m-1 ̶ 1)  I  +(2m-1 ̶ 1)
m = banyaknya bit
 Misal:
Untuk bilangan 16 bit: ̶ (216-1 ̶ 1)  I  +(216-1 ̶ 1)
= ̶ 32767  I  +32767
SIGNED INTEGER : SIGN/MAGNITUDE (2)
 Contoh m = 3 :

 Masalah: Apakah 000 = +0 sama dengan 100 = -0 ???


 Bagi manusia: +0 dan ̶ 0 adalah sama
 Bagi komputer: +0 dan ̶ 0 adalah beda, karena komputer
membandingkan 2 buah bilangan secara bit per bit !!
SIGNED INTEGER: KOMPLEMEN 2 (RADIX
COMPLEMENT) (1)
 Biner dalam bentuk 2’s complement
 Disebut sebagai aritmatika modular (modulo)
A = B (mod M)
Bilangan berapapun ditambah dengan M hasilnya tetap !
 Bilangan biner dengan jumlah bit = m,
mempunyai modulo M = 2m
 M = 1000...0, bilangan terbesar: 111...1 = 2 m – 1 = M – 1
m nol m satu

0 M-1

Bilangan Positif Bilangan Negatif

kecil besar kecil besar

 Bilangan positif, hitung ke atas mulai dari nol: (+X = X)


 Bilangan negatif, hitung ke bawah dari modulus M: ( ̶ X = M ̶ X)
SIGNED INTEGER: KOMPLEMEN 2 (RADIX
COMPLEMENT) (2)
 Contoh 1: m = 4, maka M = 2m = 24 = 16
+610 = 01102, –710 = …2
Cara I: ̶ X = M ̶ X  ̶ 710 = 16 – 7 = 9 = 10012
 Contoh 2: ̶ 1010 = ...2
̶ 1010 = 16 – 10 = +6 = 01102
Jadi +610 = ̶ 1010 ??? (ambigu !)
 Solusinya dibuat aturan sbb:
IF MSB = 0 THEN bilangan adalah POSITIF
(magnitude = unsigned integer)
ELSE bilangan adalah NEGATIF
(magnitude = M – X)
Jadi 01102 hanya untuk bilangan +610 saja, –1010 = ??
SIGNED INTEGER: KOMPLEMEN 2 (RADIX
COMPLEMENT) (3)
SIGNED INTEGER: KOMPLEMEN 2
(RADIX COMPLEMENT) (4)
 M-1 = 2m-1 = 111...1 (satu semua)
 Bilangan biner yang digunakan untuk mengurangi 1 akan
menghasilkan biner kebalikannya (1–0 = 1; 1–1 = 0)
 Pengurangan dengan M-1 = inversi (komplemen)
 Modifikasi rumus:
–X = M–X menjadi:
komplemen
 Contoh: Untuk m = 5,maka X  ̶ 5M
10   2 X  1
= 1...
Cara II: (lebih sederhana)
+510 = 00101  nilai X dalam biner
11010  dikomplemenkan: bit 1  0, bit 0  1
1+
11011  setelah ditambah 1
110112  ̶ 510 dalam komplemen 2
SIGNED INTEGER: KOMPLEMEN 2
(RADIX COMPLEMENT) (6)


Cakupan nilai:
 
 2 m 1  I   2 m 1  1 
 Contoh untuk bilangan 16 bit: ̶ (216-1)  I  +(216-1 ̶ 1)
 = ̶ 32768  I  +32767 (tipe sign int)

 Aritmatika Penjumlahan:

 Contoh aritmatika m= 5 bit


SIGNED INTEGER: KOMPLEMEN 2
(RADIX COMPLEMENT) (7)

Berapa komplemen 2 dari 00000 ?

Komplemen 2 banyak
diterapkan di komputer !!

Kapan Overflow terjadi ???:


bilangan positif + bilangan positif = bilangan negatif
bilangan negatif + bilangan negatif = bilangan positif
SIGNED INTEGER: KOMPLEMEN 2
(RADIX COMPLEMENT) (8)

Organisasi fungsional untuk Penjumlahan:


SIGNED INTEGER: KOMPLEMEN 2
(RADIX COMPLEMENT) (10)

• Bagaimana dengan Pengurangan ?


• Dapat dengan unit pengurangan + register
borrow + register overflow
• Perancang komputer:
• Lebih suka manfaatkan unit penjumlahan yang
sudah ada + unit komplementor
• Biaya lebih murah
• Perawatan lebih mudah
• Modifikasi:
• D = Y – X menjadi D = –X + Y
SIGNED INTEGER: KOMPLEMEN 2
(RADIX COMPLEMENT) (11)
Contoh: m = 4:
(a) (+3) – (+2)
0011 (+3)  0011 (+3)
+ 1110 (–2)
– 0010 (+2)
1|0001 (+1)
ke carry register

(b) (+3) – (+5)


0011 (+3)  0011 (+3)
– 0101 (+5) + 1011 (–5)
1110 (–2)

(c) (-2) – (-5)


1110 (–2)
1110 (–2)  + 0101 (+5)
– 1011 (–5) 1|0011 (+3)

ke carry register
SIGNED INTEGER: KOMPLEMEN 2
(RADIX COMPLEMENT) (12)
Organisasi fungsional untuk Pengurangan:

unit baru
SIGNED INTEGER: KOMPLEMEN 1
(DIMINISHED RADIX COMPLEMENT) (1)
 Diminished = ...
 Merupakan varian dari komplemen 2
 Komplemen dilakukan dengan cara:
 Ganti semua bit 1 dengan 0 dan semua bit 0 dengan 1
 Tanpa penambahan dengan +1
 Carry tidak dibuang

X X
 X  ( M  1)  X

  
Cakupan nilai:  2 m 1  1  I   2 m 1  1 
 Misal:
Untuk bilangan 16 bit: ̶ (216-1 ̶ 1)  I  +(216-1 ̶ 1)
= ̶ 32767  I  +32767 (sama dengan sign/magnitude)
SIGNED INTEGER: KOMPLEMEN 1
(DIMINISHED RADIX COMPLEMENT) (2)
SIGNED INTEGER: KOMPLEMEN 1
(DIMINISHED RADIX COMPLEMENT) (3)

Muncul kembali ambiguitas +0 dan –0


 Komplemen 1 jarang digunakan
BINARY CODED DECIMAL (BCD) (1)
 Mengapa BCD digunakan ?
 Karenakonversi bilangan desimal ke komplemen 2
dapat mendominasi waktu eksekusi
 Konversi : tiap digit desimal  empat bit
biner
 Contoh: 010 = 00002; 110 = 00012; ...; 910 = 10012
 Tanda ‘+’ dan ‘–’  dengan kombinasi yang belum
dipakai, contoh : 1010 = ‘+’ dan 1011 = ‘–’
 Aplikasi apa yang menggunakan BCD ?
 Aplikasi
yang banyak melibatkan data input maupun
output namun sangat sedikit pemrosesan numerik
(contoh : payroll dan inventory)
BINARY CODED DECIMAL (BCD) (2)

 Contoh
1.23410 = 0001001000110100

–56710 = 1011010101100111
1 2 3 4

‘–’ 5 6 7
Binary Coded Decimal (BCD) (3)
 Apa kekurangan BCD ?
 Operasi aritmatika lebih lama (lookup table)
dibanding sign/magnitude maupun 2’s dan 1’s
complement
 Penjumlahan bilangan dalam BCD dilakukan per
digit desimal (4-bit) dan menghasilkan carry
desimal (bukan penjumlahan bit per bit)
 Contoh Aritmatika:
(0001) (0001)  carry
0110 0011 (+63)
+0100 1001 (+49)
0001 0001 0010(+112)
PUSTAKA
[HTT02] [Link]
[SCH85] Schneider, Michael G. 1985. “The Principle of
Computer Organization”. 1st edition. John Wiley
& Sons. Canada.
[TAN99] Tanenbaum, Andrew S. 1999. “Structured
Computer Organization”. 4th edition. Prentice
Hall.

Anda mungkin juga menyukai