Selasa, 17 April 2012

arsitektur dan organisasi komputer


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)
Konversi dari suatu basis bilangan ke basis bilangan lainnya :
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
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

Template by:

Free Blog Templates