Pengantar Sistem Digital DIGITAL SYSTEMS AND INFORMATION Book: Logic and Computer Design Fundamentals M. Moris Mano, Charles R. Kime Odd semester 2012/2013 Kompetensi 2 Mahasiswa mampu menjelaskan data pada komputer digital dan kaitannya dengan sistem bilangan Indikator: Mahasiswa mampu menjabarkan sistem digital dalam kaitannya dengan informasi yang tersimpan dalam komputer Mahasiswa mampu melakukan konversi bilangan (biner, desimal, oktal dan heksadesimal) Mahasiswa mampu melakukan operasi penambahan dan perkalian pada bermacam sistem bilangan Outline 3 Representasi Informasi Sistem Bilangan [biner, oktal dan heksadesimal] Operasi Aritmatik Kode Desimal Kode Alphanumeric Kode Gray 4 Representasi Informasi Informasi 5 Besaran fisik alami: Besaran yang dibuat manusia: Contoh: berat, temperatur, tekanan, kecepatan, frekuensi dll. Biasanya bersifat kontinyu (continous) Mencakup semua nilai yang ada di range tertentu Contoh: kata-kata, jumlah, satuan uang dll Bersifat diskrit Nilainya mempunyai step-step yang jelas. Misal: A, B, C, Rp5000, Rp1000, 10, 11, 11.1 dll Informasi harus dapat merepresentasikan kedua jenis nilai: kontinyu dan diskrit Sinyal: Analog & Digital 6 Temperatur (kontinyu) diukur oleh sensor Sensor mengkonversi temperatur menjadi tegangan listrik (kontinyu) disebut sinyal analog Sinyal analog dikonversi ke sebuah range angka, misalnya -40°C – 119°C disebut sinyal digital Nilai Biner 7 Kebanyakan sistem elektronik digital dsaat ini hanya menggunakan 2 nilai diskrit disebut biner (binary) Dapat direpresentasikan dalam: 0 dan 1 High (H) dan Low (L) True (T) dan False (F) On dan Off Digit biner disebut sebagai bit Mengapa sistem biner perlu digunakan?? Example voltage ranges OUTPUT INPUT 5.0 HIGH 4.0 3.0 2.0 LOW 1.0 0.0 Volts HIGH Threshold Region LOW Signal Examples Over Time Time Analog Digital Continuous in value Discrete in value Representasi Informasi 10 Mengambil satu set informasi diskrit inputs dan informasi diskrit internal (system state) dan menghasilkan satu set informasi diskrit outputs. Discrete Inputs Discrete Information Processing System System State Discrete Outputs Tipe2 dari sistem digital 11 Tanpa kondisi (No state present) Sistem Logika kombinasi Output = Fungsi (Input) Dengan kondisi (State present) Kondisi di-updated pada waktu diskrit => Sistem Urutan Synchronous Kondisi di-updated setiap waktu => Sistem Urutan Asynchronous Kondisi/keadaan = Function (Keadaan, Input) Output = Fungsi (Keadaan) atau Fungsi Keadaan (Keadaan, Input) Signal Examples Over Time Time Analog Digital Asynchronous Synchronous Continuous in value & time Discrete in value & continuous in time Discrete in value & time Komputer Digital Memory CPU Inputs: Keyboard, mouse, modem, microphone Control unit Datapath Input/Output Synchronous or Asynchronous? Outputs: CRT, LCD, modem, speakers 14 Sistem Bilangan Biner Oktal Desimal Heksadesimal Radix / Base 15 Sistem bilangan disebut sebagai radiks (radix) atau basis (base) Desimal radix 10 atau base 10 Posisi angka menentukan perkaliannya dengan radix pangkat n Untuk desimal berarti 10n Contoh: 724.5 = 7 x 102 + 2 x 101 + 100 + 5 x 10-1 Dengan konvensi penulisannya hanya digitnya saja Perkalian dengan radixn dapat dilihat dari posisinya Representasi Sistem Bilangan 16 Suatu bilangan dengan radix r adalah menyatakan untaian dari digit: An - 1An - 2 … A1A0 . A- 1 A- 2 … A- m + 1 A- m yang mana 0 Ai < r dan . Adalah titik radix Untaian digit menyatakan urutan pangkat. j=-1 i=n-1 (Number)r = ( i=0 Ai r + )( i j=-m Aj r ) j (Integer Portion) + (Fraction Portion) Contoh – Sistem Bilangan 17 Radix (Basis) Digits Pangkat dr Radix 0 1 2 3 4 5 -1 -2 -3 -4 -5 Umum Desimal Biner r 10 2 0 => r - 1 0 => 9 0 => 1 r0 r1 r2 r3 r4 r5 r -1 r -2 r -3 r -4 r -5 1 10 100 1000 10,000 100,000 0.1 0.01 0.001 0.0001 0.00001 1 2 4 8 16 32 0.5 0.25 0.125 0.0625 0.03125 Sistem bilangan yang lain 18 Selain desimal, ada 3 radix lain yang dipakai dalam sistem komputer: Radix 2 = biner (binary) yg dipakai oleh komputer Radix 8 = oktal (octal) Radix 16 = heksadesimal (hexadecimal) Bilangan oktal dan desimal digunakan untuk merepresentaskan bilangan biner supaya lebih mudah dibaca (dan diingat manusia) Lebih mudah membaca (1A)16 dibanding (00011010)2 Hubungan penting yang harus diingat : 19 Satu bilangan Oktal terdiri dari 3 bil biner Satu bilangan Heksadesimal terdiri dari 4 bil biner Hubungan dapat digambarkan sbb : 161 28 27 26 82 Biner Oktal (tiap 3 digit) Heksa (tiap 4 digit) 160 25 24 23 81 22 21 20 80 = 010001110001000010001110 = 010 001 110 001 000 010 001 110 = (21610216)8 = 0100 0111 0001 0000 1000 1110 = (47108E)16 Pangkat Spesial dari 2 20 210 (1024) is Kilo, denoted "K" 220 (1,048,576) is Mega, denoted "M" 230 (1,073, 741,824)is Giga, denoted "G" TABEL : 21 Desimal (radix 2) Biner (radix 2) Oktal (radix 8) Heksadesimal (radix 16) 0 0 0 0 1 1 1 1 2 10 2 2 3 11 3 3 4 100 4 4 5 101 5 5 6 110 6 6 7 111 7 7 8 1000 10 8 9 1001 11 9 22 Desimal (radix 2) Biner (radix 2) Oktal (radix 8) Heksadesimal (radix 16) 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F 16 110 20 G Sistem Desimal 23 Sifat-sifat Sistem Desimal : a. b. c. d. Terdiri dari 10 bilangan pokok Pangkat terkecil (0), makin kekiri bertambah dengan 1 Koefisien : 0,1,….,9,10 Jika dalam satu kolom koefisien melebihi bil dasarnya pindah kekiri dengan penambahan 1 24 Operasi Aritmatik 1. Konversi Desimal ke Biner 25 Integer: Dibagi dengan 2 berturutan dan masing-masing sisanya merupakan bagian bil biner tersebut . Contoh : Angka Hasil dibagi 2 Sisa 11 5 1 5 2 1 2 1 0 Pecahan: dikali dengan 2 sampai hasilnya 1 Contoh : 11 D = 1011 B Most significant bit Least significant bit 0,8125 x 2 = 1,6250 1 0,6250 x2 = 1,2500 1 0,2500x 2 = 0,5000 0 0,5000x2 = 1,0000 1 Jadi : (11,8125 ) 10 = ( 1011,1101)2 (1101)2 Cara lain konversi desimal ke biner 26 Mengurangkan angka dengan angka pangkat dua terbesar yang mendekati. Contoh: 625 = N2 ? 625 – 512 = 113 512=29 113 – 64 = 49 64 = 26 49 – 32 = 17 32 = 25 17 – 16 = 1 16 = 24 1–1=0 1 = 20 (625)10 = 29 + 26 + 25 + 2 4 + 20 = (1 0 0 1 1 1 0 0 0 1)2 9 8 7 6 5 4 3 2 1 0 Tuliskan dari belakang Jika 2n ada = 1 Jika tidak ada = 0 Pangkat Positif dari 2 27 Berguna sebagai dasar konversi. Exponent Value 0 1 1 2 2 4 3 8 4 16 5 32 6 64 7 128 8 256 9 512 10 1024 Exponent Value 11 2,048 12 4,096 13 8,192 14 16,384 15 32,768 16 65,536 17 131,072 18 262,144 19 524,288 20 1,048,576 21 2,097,152 2. Konversi Biner ke Desimal 28 Integer : Masing-masing bilangan biner dikalikan 2 dengan pangkat paling belakang = 0 sedang makin kekiri bertambah dengan 1 Contoh : (100110) 2 = (-----) 10 (100110)2 = 1x25 + 0x24 +0x23+1x22+1x21+0x20 = 32 + 4 + 2 = 38 Pecahan : Masing-masing bil biner dikalikan 2n, pangkat n paling depan = 0, makin ke kanan berkurang 1 Contoh : (0.1101)2 = (………….) 10 (0.1101) 2 = 0x20+1x2-1+1x2-2+0x2-3+1x2-4 = 0,5 + 0,25 + 0,0625 = 0,8125 3. Oktal ke Biner 29 Masing-masing bil diterjemahkan dalam biner dan tiap bilangan harus terdiri dari 3 bil biner Contoh : (7314) 8 7 3 1 4 (111) (011) (001) (100) (111 011 001 100 )2 4. Desimal ke Oktal: Analog dengan butir 1dengan bil dasar 8 5. Oktal ke Desimal: Analog dengan butir 2 dengan bil dasar 8 6. Untuk Heksadesimal ke Biner, Desimal ke Heksadesimal serta Heksadesimal ke Desimal: Analog dengan butir 3,4,5 Operasi penambahan biner 30 Penjumlahan: 0+1 = 1 0+0 = 0 1+0 = 1 1+1 = (1) 0 Contoh : 1 0 1 1 0 yang ditambah 1 0 1 1 1 penambah 1 0 1 1 0 1 Jumlah Pengurangan : analogi dengan penjumlahan hanya ada ‘pinjaman’ bila diperlukan Contoh: 101101 100111 000110 Yang dikurang Pengurang Selisih Operasi perkalian biner 31 Sama seperti perkalian desimal Contoh: 1 0 1 1 Yang dikalikan 1 0 1 Pengali 1011 0000 1011 + 1 1 0 1 1 1 Hasil perkalian Konversi antar basis 32 Untuk mengkonversi dari satu basis ke yang lain. 1) Konversikan bag integer 2) Konversikan bag pecahan 3) Gabung kedua hasil dengan radix point Contoh: 33 Konversikan 46.687510 ke basis 2 Konversikan 46 ke basis 2 Konversikan 0.6875 ke basis 2 Gabungkanlah hasilnya dengan radix point Keterangan Tambahan- Bag Pecahan 34 Catatan bahwa dalam mengkonversi, bag pecahan akan menjadi 0 sebagai hasil dari pengulangan Umumnya , bisa terjadi tetapi bisa juga tidak terjadi. Contoh:Konversikan 0.6510 ke N2 0.65 = 0.1010011001001 … Bag pecahan akan berulang setiap 4 step dan mengulang 1001 selamanya! Penyelesaian: Pastikan jumlah bit yang benar, bulatkan atau hilangkan yang lain. 35 Kode Desimal Binary Coded Decimal (BCD) 36 Bilangan natural untuk manusia desimal Bilangan natural untuk komputer biner BCD Merupakan angka desimal yang direpresentasikan dalam bentuk biner Setiap digit desimal direpresentasikan dalam 4 bit biner Contoh konversi desimal ke BCD 185D = 0001 1000 0101 BCD = 10111001B Nilai BCD ≠ nilai biner Perhatian: Konversi atau Coding? 37 Jangan Bingung antara konversi dari bilangan desimal ke biner dengan coding suatu bilangan desimal ke BINARY CODE. 1310 = 11012 (Ini adalah konversi) 13 0001|0011(Ini adalah coding) Aritmatika BCD 38 BCD sebenarnya adalah bilangan desimal, sehingga hasil operasi aritmatika pada BCD harus sama dengan hasil operasi aritmatika desimal Contoh: Seharusnya dlm 2 digit: 5 0101 0101 8+ 1000 + 1000 + 1101 1101 13 (ditambah 6) 0110 + Hasil seharusnya: 0001 0011 39 Koreksi penambahan: Jika hasilnya >9 (1001B) maka harus ditambah 6 (0110B) Contoh: 448 489 + 937 1 0100 0100 1001 tambah 6: hasil BCD: 1 0100 1000 1000 1001 + 1101 10001 0110 0110 + 1001 10011 10111 1001 0011 0111 9 3 7 40 Kode Alphanumerik Kode Alphanumerik 41 Untuk menangani data selain angka (misal: huruf dan simbol) Seluruh angka, huruf, simbol direpresentasikan dalam kode biner Contoh: ASCII (American standard code for information interchange) Menggunakan 7 bit biasanya disimpan dalam 8 bit (1 byte) Seluruh karakter direpresentasikan dalam kode biner Karakter keyboard seperti ENTER, SPASI dll juga direpresentasikan dlm kode biner ASCII Properties 42 ASCII has some interesting properties: Digits 0 to 9 span Hexadecimal values 3016 to 3916 . Upper case A-Z span 4116 to 5A16 . Lower case a -z span 6116 to 7A16 . • Lower to upper case translation (and vice versa) occurs by flipping bit 6. Delete (DEL) is all bits set, a carryover from when punched paper tape was used to store messages. Punching all holes in a row erased a mistake! Tabel ASCII 43 44 UNICODE 45 UNICODE extends ASCII to 65,536 universal characters codes For encoding characters in world languages Available 2 in many modern applications byte (16-bit) code words See Reading Supplement – Unicode on the Companion Website http://www.prenhall.com/mano Error-Detection Codes 46 Redundancy (e.g. extra information), in the form of extra bits, can be incorporated into binary code words to detect and correct errors. A simple form of redundancy is parity, an extra bit appended onto the code word to make the number of 1’s odd or even. Parity can detect all single-bit errors and some multiple-bit errors. A code word has even parity if the number of 1’s in the code word is even. A code word has odd parity if the number of 1’s in the code word is odd. Kode Paritas (parity code) 47 Untuk mendeteksi eror dalam komunikasi dan pemrosesan data Berupa kode 1 bit yang ditambahkan pada code word agar jumlah angka 1 pada code word harus berjumlah ganjil atau genap. Bisa ditambahkan di awal atau di akhir code word. Contoh: even parity odd parity 1000001 01000001 11000001 1010100 11010100 01010100 4-Bit Parity Code Example 48 Fill in the even and odd parity bits: Even Parity Odd Parity Message - Parity Message - Parity 000 000 001 001 010 010 011 011 100 100 101 101 110 110 111 111 The codeword "1111" has even parity and the codeword "1110" has odd parity. Both can be used to represent 3-bit data. 49 Kode Gray Gray Code 50 What special property does the Gray code have? Gray Code (Continued) 51 Does this special Gray code property have any value? An Example: Optical Shaft Encoder 111 000 100 x B0 B1 110 000 001 B2 101 x x 010 101 111 x G0 G1 G2 x 001 x x 011 x 100 011 (a) Binary Code for Positions 0 through 7 110 010 (b) Gray Code for Positions 0 through 7 Gray Code (Continued) 52 How does the shaft encoder work? For the binary code, what codes may be produced if the shaft position lies between codes for 3 and 4 (011 and 100)? Is this a problem? Gray Code (Continued) 53 For the Gray code, what codes may be produced if the shaft position lies between codes for 2 and 6 (010 and 110)? Only the correct codes, either 010 or 110 Is this a problem? No, the shaft position is known to be either 3 or 4 which is OK since it is halfway in between. Does the Gray code function correctly for these borderline shaft positions for all cases encountered in octal counting? Yes, since an erroneous code cannot arise. This includes between 0 and 7 (000 and 100). 54 Tugas 1 Kerjakan dalam kelompok (4 orang) Ditulis tangan pada kertas A4 Dikumpulkan dan dibahas pekan depan 55 A. Soal dari buku 1-4 1-6 1-7 1-8 1-9 1-11 1-22 1-25 1-27 B. Hitunglah: 12A4H – 01FFH 11010011B – 45H 7654 O – 45H 10001111B + 2FH