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.
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
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
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
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
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
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
5B16= .....10
(16^1)+(16^0)
5 + 11 ----> ingat B nilainya sama dengan 11.
80 + 11 = 9110
- Biner ke Oktal dan Oktal ke Biner
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
62B1C16= .......2
6=0110; 2=0010; B=1011; C=1100
62B1C16= 1100010101111002 ------>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:
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.
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 |
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
0 komentar:
Posting Komentar