Friday, April 26, 2013

Teori Dasar Sistem Digital dan Sistem Bilangan dan Kode

Sistem digital adalah salah satu mata kuliah dasar yang akan didapatkan jika kalian kuliah di jurusan teknik komputer dan mungkin di jurusan teknik informatika juga. Saya ingin berbagi sedikit ilmu tentang ini. Mata kuliah ini berkaitan erat dengan mata kuliah-mata kuliah berikutnya, seperti Mikroprosesor/Mikrokontroller dan Organisasi Dan Arsitektur Komputer.

Teori Dasar Sistem Digital

-Perbedaan sistem elektronika dengan sistem digital

  •  Rangkaian Elektronika: adalah kesatuan dari komponen-komponen aktif ataupun pasif yang membentuk suatu fungsi pengolahan sinyal analog, contohnya: rangkian amplifier, oscillator, dll.
  • Sistem Elektronika: adalah kesatuan dari beberapa rangkaian elektronika yang bertujuan untuk pengalihan tenaga atau transfer energi, contohnya: komputasi, komunikasi, instrumentasi dan kendali, dll.
  • Rangkaian digital dan sistem digital
    • Sistem digital adalah sistem elektronika yang setiap rangkaian penyusunnya melakukan pengolahan sinyal diskrit. Rangkaian penyusunnya terdiri dari rangkaian digital/logika, elemen/gerbang logika dan komponen elektronika.
    • Perbandingan:
      • Rangkaian digital merupakan bagian dari sistem digital, sedangkan Sistem digital terdiri dari beberapa rangkian digital, gerbang logika dan komponen elektronika lainnya.
      • Rangkaian digital outputnya membentuk fungsi pemrosesan sinyal digital, sedangkan Sistem Digital outputnya merupakan fungsi pengalihan tenaga.
      • Rangkaian digital input dan outputnya berupa sinyal digital, sedangkan Sistem Digital input dan outputnya berupa suatu energi/tenaga.
  • Besaran digital dilambangkan dengan HIGH(1) dan LOW(0), pada kenyataannya hal ini bisa direpresentasikan dalam berbagai kondisi, contohnya saklar, grafik fungsi terhadap waktu, dll.

Sistem Bilangan

-Sistem bilangan terdiri dari:
  • Desimal: adalah bilangan berbasis 10(0-9) yang kita gunakan dalam kehidupan sehari-hari.
  • Biner: adalah bilangan basis 2(0 dan 1) yang digunakan oleh mesin untuk beroperasi
  • Oktal: adalah bilangan basis 8(0-7).
  • Heksadesimal: adalah bilangan basis 16(0-9; A-F), biasa digunakan untuk pengalamatan didalam memory.
-Konversi sistem bilangan:
Diagram Konversi Sistem Bilangan

 Peralihan atau konversi pada sistem bilangan dapat dilakukan dari:
  • desimal ke biner, dan sebaliknya.
  • desimal ke oktal, dan sebaliknya.
  • desimal ke heksadesimal, dan sebaliknya.
  • biner ke oktal, dan sebaliknya.
  • biner ke heksadesimal, dan sebaliknya.
 Berikut ini adalah tabel konversi biner ke desimal yang akan sangat berguna pada proses konversi-  konversi sistem bilangan:

    0000 | 0
    0001 | 1
    0010 | 2
    0011 | 3
    0100 | 4
    0101 | 5
    0110 | 6
    0111 | 7 ---> Batas untuk bilangan oktal
    1000 | 8
    1001 | 9
    1010 | 10 | A ---> Dipakai pada bilangan heksadesimal
    1011 | 11 | B
    1100 | 12 | C
    1101 | 13 | D
    1110 | 14 | E
    1111 | 15 | F
  • Desimal ke Biner
         Untuk merubah bil. desimal ke biner caranya dengan pembagian 2, atau lihat tabel konversi diatas.
         Contoh:
         10010 = ........ 2
               100:2= 50, sisa= 0
         50:2=25; sisa= 0
         25:2= 12; sisa= 1
         12:2= 6; sisa= 0
         6:2= 3; sisa= 0
         3:2= 1; sisa= 1

         cara membaca hasil konversi diatas adalah hasil pembagian paling akhir dianggap sebagai MSB, kemudian diikuti oleh sisa pembagian paling terakhir sampai sisa pembagian paling awal sebagai LSB-nya, jadi hasil konversi diatas adalah 1100100, jika diminta hasilnya dalam 8 bit(biasanya begitu) hasilnya jadi 01100100. Angka kecil disamping nilai adalah untuk menunjukan nilai tersebut dalam bentuk bilangan basis berapa, apakah basis 2(biner), 10(desimal), 16(heksa), atau 8(oktal). Untuk bilangan yang lebih kecil dari 0(0,1; 0,45; dst) caranya adalah dikali 2, contohnya:
         0,62510= 0,101 2
         0,625x2= 1,25; ambil angka= 1 sebagai MSB; maka sisa=0,25
         0,25x2= 0,5; ambil angka= 0; maka sisa=0,5
         0,5x2= 1; ambil angka= 1 sebagai LSB; maka sisa=0
  • Biner ke Desimal
         Untuk melakukan konversi biner ke desimal cara dengan menggunakan penjumlahan hasil bilangan 2^n(2 pangkat n, red). Contohnya:
         11012= ........10
         (2^3)+(2^2)+(2^1)+(2^0)
            1        1       0        1
            8   +   4   +  0   +   1 = 1310
         
         Nilai 1 atau 0 yang berada dibawah bilangan 2^n berfungsi sebagai pengali. Jika nilai bilangannya 0,xxx maka setelah (2^0) adalah (2^-1), (2^-2), dst.
  • Desimal ke Oktal
         Cara konversi desimal ke oktal yaitu dengan pembagian 8. contohnya:
         8510= ......... 8
         85: 8= 10; sisa= 5
         10: 8= 1; sisa= 2
        cara baca hasil konversi ini sama dengan pada konversi desimal ke biner, maka hasilnya adalah 1258.
  • Oktal ke Desimal
         Cara konversi ini mirip dengan konversi biner ke desimal, bedanya ini menggunakan 8^n karena oktal adalah bilangan basis 8. Contohnya:
       
         1548= ......10
         (8^2)+(8^1)+(8^0)
            1        5        4
           64  +  40  +   4 = 10810
        
         154,678= ......10
         (8^2)+(8^1)+(8^0)+(8^-1)+(8^-2)
            1        5       4         6         7
           64  + 40   +  4    +(6/8) + (7/64) = 92,8610
  • Desimal ke Heksadesimal
         Heksadesimal adalah bilangan yang paling unik dan rangenya paling besar diantara bilangan yang lain. Range bilangan ini adalah 16, oleh karena itu bilangan ini berbasis 16. Pembagian pada sistem bilangan ini adalah 0-9 sama seperti pada desimal, sedangkan 10-15 diganti dengan A-F. Contohnya:
         4510= ....16
         45:16=2; sisa 13 -->13=D(lihat tabel konversi)
  
         Cara baca hasilnya konversi ini sama seperti yang lain, jadi hasilnya 2D16.
  • Heksadesimal ke Desimal
         contoh:
         5B16= .....10
         (16^1)+(16^0)
             5   +    11 ----> ingat B nilainya sama dengan 11.
            80  +    11 = 9110
  • Biner ke Oktal dan Oktal ke Biner
         Untuk melakukan konversi ini, kita hanya perlu lihat tabel. Jika kalian tidak hafal tabel konversi diatas kalian bisa menggambarkannya di kertas ujian kalian untuk membantu mengerjakan soal-soal. Jangan lupa bagi angka binernya menjadi 3 bit-3 bit sebelum melakukan konversi. Kenapa dibagi 3 bit-3 bit? Ingat, oktal adalah bilangan basis 8 yang artinya range nilai nya mulai dari 0 sampai 7. Angka 7 jika ditulis dalam biner adalah 0111, karena 0 di MSB bisa diabaikan, maka untuk konversi ke oktal dari biner dibagi 3 bit-3 bit. Contoh:
         11100110102 = ..... 8
         1|110|011|010 ---tambahkan 0 didepan MSB---> 001|110|011|010
         001= 1; 110= 6; 011= 3; 010= 2
         11100110102 = 16328


               1428= ......2
          1= 001; 4= 100; 2= 010
          1428= 11000102 ------>jika ada 0 di MSB, maka bisa dihilangkan
  • Biner ke Heksadsimal dan Heksadesimal ke Biner
         Konversi ini juga tinggal lihat tabel konversi diatas untuk melakukannya. Jika untuk konversi biner ke oktal harus dibagi 3 bit-3 bit, maka untuk konversi biner ke heksadesimal harus dibagi 4 bit-4 bit sebelum melakukan konversi, alasannya mirip seperti pada konversi biner ke oktal. Contoh:
         62B1C16= .......2
         6=0110; 2=0010; B=1011; C=1100
         62B1C16= 110001010111100------>jika ada 0 di MSB, maka bisa dihilangkan

         100101001110100011012= ........16
         1001|0100|1110|1000|1101
            9  |   4   |  E   |   8   |  D
         100101001110100011012= 94E8D16

Sistem Kode

Sistem kode terdiri dari:

-Binary Coded Decimal(BCD)
 adalah bilangan yang ditulis dengan sistem biner tapi menggunakan aturan sistem desimal, yaitu bilangannya hanya dari 0-9. Jadi, 1010(10), 1011(11), 1100(12), 1101(13), 1110(14), 1111(F) adalah invalid code di sistem kode ini. Jika ada suatu bilangan yang mengandung nilai invalid code, maka bilangan tersebut tidak dapat dikonversi. Sistem kode ini menggunakan aturan 4 bit. Contohnya:

 52910= ......BCD
 5= 0101; 2= 0010; 9= 1001
 52910= 010100101001BCD

 100001100011BCD= ........10
 1000|0110|0011
    8  |   6   |   3
 100001100011BCD= 86310

-Gray Code
 adalah sistem kode yang biasanya dipakai untuk menghitung perputaran piringan disk. Grey Code ini menggunakan tampilan biner untuk menampilkan angka-angkanya, tapi berbeda dengan sistem biner. Berikut ini adalah tabel konversi biner ke grey code:

 Desimal | Biner | Grey
    0        | 0000 | 0000                       Rumus konversi biner ke grey dan sebaliknya:
    1        | 0001 | 0001                       Gn=Bn+B(n+1)
    2        | 0010 | 0011                       Bn=Gn+B(n+1)
    3        | 0011 | 0010
    4        | 0100 | 0110
    5        | 0101 | 0111
    6        | 0110 | 0101
    7        | 0111 | 0100
    8        | 1000 | 1100
    9        | 1001 | 1101
    10      | 1010 | 1111
    11      | 1011 | 1110
    12      | 1100 | 1010
    13      | 1101 | 1011
    14      | 1110 | 1001
    15      | 1111 | 1000

 contoh:
 101011102= ....grey
 G8=B8+B9=0+1=1
 G7=B7+B8=0+1=1
 G6=B6+B7=1+0=1
 G5=B5+B6=0+1=1
 G4=B4+B5=1+0=1
 G3=B3+B4=1+1=0
 G2=B2+B3=1+1=0
 G1=B1+B2=1+1=0
 G0=B0+B1=0+1=1
 101011102= 111110001grey

-Excess-3(XS-3)
 Sistem kode ini mirip dengan BCD, bedanya bilangan desimal yang mau di-encode ditambahkan 3 dulu baru dikonversi. Sebaliknya, bilangan yang mau di-decode dikonversi dulu dalam bentuk biner baru dikurangi 3. Pada sistem kode ini invalid codenya adalah 0000(0), 0001(1), 0010(2), 1101(13), 1110(14), 1111(15). Karena jika angkanya lebih kecil dari 3, jika dikurangi 3 hasilnya akan negatif dan jika angkanya lebih dari 12, jika ditambah 3 hasilnya akan melebihi 15. Contohnya:
 10011100101XS-3= ....10
 1001|1100|0101
   9      12    5 -----> 9-3= 6; 12-3= 9; 5-3=2
 10011100101XS-3= 69210

 49710= .......XS-3 
 4+3= 7 = 0111
 9+3= 12= 1100
 7+3=10= 1010
 49710= 011111001010XS-3 

-7 segment
 adalah sistem kode untuk menampilkan nilai biner kedalam bentuk desimal dengan menggunakan LED yang disusun sedemikian rupa. 7 segment ada yang common anode dan common cathode. Kalau yang common anode kaki "common"-nya terhubung ke Vcc, sedangkan yang common cathode kakai "common"-nya terhubung ke ground.
7 segment common cathode

7 segment display
 Tabel:
 Display | a b c d e  f g dp
 0          | 1 1 1 1 1 1 0 0
 1          | 0 1 1 0 0 0 0 0
 2          | 1 1 0 1 1 0 1 0
 3          | 1 1 1 1 0 0 1 0
 4          | 0 1 1 0 0 1 1 0
 5          | 1 0 1 0 0 1 1 0
 6          | 1 0 1 1 1 1 1 0
 7          | 1 1 1 0 0 0 0 0
 8          | 1 1 1 1 1 1 1 0
 9          | 1 1 1 1 0 1 1 0

No comments:

Post a Comment