Representasi Informasi
©
Representasi Eksternal adalah suatu cara untuk
merepresentasikan dan memanipulasi informasi oleh programer 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 membangun perangkat keras.
©
Informasi ≈ program & data ≈ deretan bit
·
Akses/manipulasi terhadap informasi ≈ akses/operasi (artimethic/logic)
terhadap deretan bit
©
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 beda antara bit dan byte ?
©
1 byte = 8 bit (binary digit)
·
Range Binary :
000000002 – 111111112
·
Range Decimal : 010
– 25510
·
Range Hexadecimal :
0016 – FF16
® Representasi bilangan
basis 16
® Menggunakan
karakter ‘0’ – ‘9’ dan ‘A’ – ‘F’
·
Range oktal :
0008 – 3778

Word Size
©
Word merupakan sejumlah bit berukuran tetap yang
ditangani secara bersama-sama oleh komputer
©
Sebuah word dapat berupa :
®
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
Representasi Data
©
Contoh ukuran objek pada C (dalam byte)

Sistem Bilangan
©
Sistem bilangan yang dibutuhkan untuk mempelajari bahasa
assembler adalah :
®
Basis bilangan biner (basis 2)
®
Basis bilangan oktal (basis 8)
®
Basis bilangan desimal (basis 10)
®
Basis bilangan heksadesimal (basis 16)
Bilangan Biner
©
Komputer memproses data maupun program dari memori
komputer berupa sejumlah bilangan biner yang menyatakan keadaan hidup atau mati
(on or off) dengan angka 1 atau 0.
©
Semua proses komputer sebenarnya hanya 0 dan 1 sehingga
sistem bilangan biner yang terdiri atas angka 1 dan 0 sangat penting.
©
Maka disimpulkan bahwa bilangan biner itu berbasis 2
(karena hanya terdiri dari 1 dan 0)
©
Representasi bilanga basis 2
o Representasi
1521310 as 111011011011012
o Representasi
1,2010 as 1,0011001100110011...00112
o Representasi
1,5213 x 104 as 1,11011011011012 x 213
© Implementasi
elektronik
o
Mudah untuk disimpan sebagai elemen yang bistable (hanya
ada 2 nilai yang berbeda jauh)
o
Lebih handal pada wire yang noise dan inaccurate (tidak
tepat)
o
Mudah diimplementasikan pada fungsi logika digital
Jenis - jenis bilangan
Biner
© Bilangan bulat
biner
Tak bertanda (unsigned
integer)
Bertanda (signed
integer)
○ Sign /
magnitude
○ Komplemen 2 (radix
complement)
○ Komplemen 1 (diminisherd
radix complement)
○ Binary coded
decimal (BCD)
© Bilangan
pecahan biner (floating point)
© Excess 2m-1
Bilangan bulat Biner
tak bertanda
(Unsigned Integer)
(Unsigned Integer)
Konversi dari suatu basis bilangan ke basis bilangan
lainnya :
dndn-1dn-2 ... d3d2d1d0
= dnrn + dn-1rn-1 + dn-2rn-2
...
d3r3 + d2r2 + d1r1 + d0r0
d3r3 + d2r2 + d1r1 + d0r0
d = nilai bilangan
r = radix (basis
bilangan) = jumlah simbol maksimum
n = posisi
bilangan
Cakupan bilangan yang bisa disajikan :
0 ≤ I ≤
2m-1
Misal bilangan 16 bit : 0 ≤ I ≤ 216-1 = 0 ≤ I
≤ 65535
Konversi dari suatu basis bilangan ke desimal :
NR = dnrn + dn-1rn-1
+ dn-2rn-2 ... d3r3 + d2r2
+ d1r1 + d0r0
R
= basis desimal
r = basis bilangan lainnya
Bilangan Biner
© Posisi digit
dari sistem bilangan biner
Posisi
digit (dari kanan)
|
Position
value
|
1
|
20 = 1
|
2
|
21 = 2
|
3
|
22 = 4
|
4
|
23 = 8
|
5
|
24 = 16
|
….
|
….
|
Biner à Desimal
Contoh
¨
Biner ke desimal
1010112 = 1*25 + 0*24 +
1*23 + 0*22 + 1*21 + 1*20
= 32 + 0 + 8 + 0 + 2 + 1
= 4310
0,1012
= 1*2-1 + 0*2-2
+ 1*2-3
= 1*½ + 0 + 1*1/8
= ½ + 1/8
= 4+1/8
= 5/8 = 0,625(10)
Soal !!!
ü
Konversikan soal di bawah ini (bineràdesimal)!
1. 1100112 =
.....10
2. 1110010112 =
.....10
3. 1000111001112 = .....10
4. 101010101010102 = .....10
5. 1100101100102 = .....10
6. 11101110110102 = .....10
7. 0,101010102 =
.....10
8. 110,1102 =
.....10
Penjumlahan Bilangan
Biner
©
Operasi aritmatika terhadap bilangan biner yang dilakukan
oleh komputer di ALU terdiri dari operasi penjumlahan dan operasi pengurangan
©
Perkalian biner bisa dilakukan dengan cara penjumlahan
secara berulang-ulang
© Digit-digit
dari bilangan-bilangan biner dijumlahkan satu per satu mulai dari posisi kolom
paling kanan.
© Jika hasil
penjumlahan antarkolom melebihi nilai 2, maka hasil dikurangai dengan nilai 2
untuk dibawa (carry of) ke kolom berikutnya
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0
Dengan carry of 1, yaitu 1 + 1 = 2, karena digit
biner hanya 1, maka hasilnya harus dikurangi 2 (basis). Jadi, 2 – 2 = 0 dengan carry
of 1
Misal, pertambahan biner :
0111
0010 +
1001
Atau dengan langkah-langkah :
1
+ 0 =
1 => 1
1 + 1 = 0 => 0 dengan carry
of 1
1
+ 0 + 1 = 0 => 0 dengan carry
of 1
0 + 0 + 1 = 1 => 1
Soal !!!
1. Biner 1110001
+ 1011000 = .....(2) = .....(10)
2. Biner 1010100
+ 1111100 = .....(2) = .....(10)
3. Biner 11011 +
10111 = .....(2) = .....(10)
4. Biner 11111111
+ 11111111= .....(2) = .....(10)
5. Biner 100001 +
100001 = .....(2) = .....(10)
Pengurangan Biner
©
Bilangan biner dikurangan dengan cara sama dengan
pengurangan bilangan desimal.
©
Dasar pengurangan untuk masing-masing digit bilangan
biner adalah :
0 – 0 =
0
1 – 0 =
1
1 – 1 =
0
0 – 1 =
1, dengan borrow of 1 (pinjam digit 1 dari posisi sebelah kirinya)
© Tanpa terjadi
peminjaman digit
1011
10 -
1001
© Terjadi
peminjaman sebuah bit 1 kolom sebelah kirinya.
1101
0111 -
0110
Apabila kita melihat digit kedua dari masing-masing
bilangan, maka bilangan 0 tidak bisa dikurangi dengan 1, maka terjadi
peminjaman 1 yang artinya adalah pinjam 2.
Prosesnya sebagai berikut :
1101 1021 0221
0111 - 0111 - 0111 -
0 10 0110
terjadi borrow of 1 terjadi borrow of 1
Soal !!!
1. Biner 1110001
- 1011000 = .....(2) =
.....(10)
2. Biner 1111100
- 1010100 = .....(2) = .....(10)
3. Biner 11011 -
10111 = .....(2) =
.....(10)
4. Biner 11111110
- 01111111 = .....(2) = .....(10)
5. Biner 100000 -
000001 = .....(2) = .....(10)
Perkalian Biner
© Perkalian
biner bisa dilakukan dengan cara yang sama dengan perkalian bilangan desimal.
© Dasar
perkalian untuk masing-masing digit biner adalah :
0 * 0 =
0
0 * 1 =
0
1 * 0 =
0
1 * 1 =
1
© Agar lebih
jelas, perhatikan contoh di bawah ini :
1110 Proses penjumlahan sebanyak 3
kali :
1100
* 0000
0000 0000 +
0000 00000
1110 1110 +
1110 + 111000
10101000 1110
+
10101000
Soal !!!
1. Biner 1110001 * 1011000 = .....(2) = .....(10)
2. Biner 1010100 * 1111100 = .....(2) = .....(10)
3. Biner 11011 * 10111 = .....(2) = .....(10)
4. Biner 11111111 * 11111111= .....(2) = .....(10)
5. Biner 100001 * 100001 = .....(2) = .....(10)
6. Biner 101101
* 110001 = .....(2) = .....(10)
Bilangan Desimal
©
Representasi bilangan basis 10
Itu kenapa
jari tangan dikenal sebagai “digit”
Representasi
bilangan natural untuk transaksi finansial
© Kenapa
komputer sekarang menggunakan sistem biner bukan desimal?
© Implementasi
secara elektronik
Sukar disimpan
○ ENIAC
menggunakan 10 vacuum tubes per digitnya
Sukar dikirimkan
○
Memerlukan presisi yang 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

Desimal -> Biner
¨
3710 = ... 2
37
: 2 = 18 ;
sisa 1 => d0 (LSB)
18 : 2 =
9 ;
sisa 0 => d1
9 : 2 = 4 ;
sisa 1 => d2
4 : 2 = 2 ;
sisa 0 => d3
2 : 2 = 1 ;
sisa 0 => d4
1 : 2 = 0 ;
sisa 1 => d5 baca
Jadi 3710
= 1001012
ü Contoh Soal
5910
= ... 2
7310
= ... 2
Desimal => Oktal
©
Bagi bilangan tersebut dengan 8 dan catat sisanya
© Kemudian hasil
yang diperoleh dibagi 8 lagi hingga hasilnya 0
89 : 8 =
11 ; sisa 1
11 : 8 =
1 ; sisa 3
1 : 8 = 0 ;
sisa 1 baca
Jadi 89(2)
= 131(8)
ü Contoh Soal
10710
= ... 8
9910
= ... 8
Desimal => Heksadesimal
© Bagi bilangan
tersebut dengan 16 dan catat sisanya.
© Kemudian hasil
yang diperoleh dibagi 16 lagi sampai hasilnya 0
89 : 16
= 5 ; sisa 9
5 : 16 = 0 ; sisa 5
baca
Jadi 89(10) = 59(16)
ü Contoh Soal
9510
= ... 16
25710
= ... 16
Desimal Pecahan
©
Untuk konversi ke bilangan biner, ada dua aturan yang
perlu diperhatikan
Jika hasil
kalinya nol, maka proses berhenti
Apabila
terjadi perulangan bit, maka proses berhenti
Misal :
0,5(10) =
..... (2)
= 0,5 * 2 baca à 0,1
=
1,0
0,625(10)
= .....(2)
=
0,625 * 2 baca à 0,101
=
1,25 * 2
=
0,5 * 2
=
1,0
0,625(10) = .....(8)
=
0,625 * 8 baca à 0,5
=
5,0
0,03125(10)=
.....(8)
= 0,03125 * 8 baca 0,02
= 0,25 * 8
= 2,0
¨ 0,195556640625(10)
= .....(16)
=
0,195556640625 * 16
= 3,128906250
*16 baca à 0,321
= 2,0625 * 16
= 1,000
Soal !!!
1. 2875(10) =
.....(2) = .....(8) = .....(16)
2. 649(10)
=
.....(2) = .....(8) = .....(16)
3. 965(10) =
.....(2) = .....(8) = .....(16)
4. 327(10) =
.....(2) = .....(8) = .....(16)
5. 987(10) =
.....(2) = .....(8) = .....(16)
6. 0,00875(10) = .....(2) = .....(8) =
.....(16)
7. 0,037465(10) =
.....(2) = .....(8) = .....(16)
8. 0,965(10) =
.....(2) = .....(8) = .....(16)
9. 0,00836275(10) =
.....(2) = .....(8) = .....(16)
10. 0,245635(10) =
.....(2) = .....(8) = .....(16)
0 komentar:
Posting Komentar