BAB I SISTEM BILANGAN DAN PENGKODEAN
I.1. Sistem Bilangan Untuk memahami cara kerja komputer, kita membutuhkan konsep mengenai sistem bilangan dan sistem pengkodean (coding systems) karena adanya perbedaan antara sistem bilangan desimal yang umum digunakan manusia dengan sistem bilangan yang dikenali komputer, yaitu sistem bilangan biner. Bilangan biner yang direpresentasikan dalam logika 0 dan 1 itulah yang dikenal rangkaian digital. Rangkaian digital mempunyai peranan yang sangat penting untuk menciptakan sebuah komputer dan tentunya hampir semua rangkaian dalam komputer ialah rangkaian digital.
I.1.1. Sistem Bilangan Desimal Manusia dalam kehidupan sehari harinya menggunakan bilangan basis 10 (desimal), sedangkan komputer menggunakan bilangan basis 2 (biner), contohnya logika 1 untuk tinggi dan 0 untuk rendah. Operasi sistem digital pada rangkaian digital mewakili bilangan, huruf atau simbol. Sistem bilangan yang paling banyak digunakan pada saat ini adalah sistem desimal yang menggunakan 10 lambang bilangan , yaitu 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Berapapun bilangan yang ingin dinyatakan, hanya digunakan kombinasi kesepuluh angka tersebut untuk merepresentasikannya. Sebagai contoh, pada bilangan desimal 4 digit, digit paling kanan mempunyai faktor 100 dan digit paling kiri memiliki faktor 103. berikut ini contoh bilangan 3622 ke bilangan desimal : 3622 = (2x100)+(2x101)+(6x102)+(3x103) = 2 + 20 + 600 + 3000 = 3622 Pada contoh sistem bilangan desimal diatas, kita menggunakan prosedur umum untuk menkonversikan nilai ke nilai desimalnya (basis 10).
I.1.2. Sistem Bilangan Biner Elektronika digital menggunakan sistem bilangan biner karena hanya mengenal logika 1 dan logika 0 yang umumnya diwakili besar tegangan 5 volt (logika 1) dan 0 volt (logika 0). Sebagai contoh, nilai bilangan biner 10012 dapat diartikan dalam sistem bilangan desimal sebagai berikut : 10012 = (1x20)+(0x21)+(0x22)+(1x23)
1
=1+0+0+8 = 910 dari hasil perhitungan di atas, bilangan biner 10012 sama dengan bilangan desimal 9 (dilambangkan dengan 910, sesuai dengan basisnya). Contoh lain, yaitu mengubah bilangan biner 010101112 ke bilangan desimal digambarkan sebagai berikut : 0
1
0
1
0
1
1
1
0x27
1x26
0x25
1x24
0x23
1x22
1x21
1x20
0
64
0
16
0
4
2
1
=
8710
I.1.3. Konversi Bilangan Desimal ke Biner Konversi dari bilangan biner ke desimal digunakan oleh komputer digital untuk mempermudah penerjemah dan pembacaan oleh perangkat keras. Ketika seorang pengguna memasukkan bilangan desimal ke komputer digital, bilang tersebut harus dikonversikan ke bilangan biner sebelum dioperasikan pada komputer digital tersebut. Untuk mengkonversikan bilangan desimal ke bilangan biner, digunakan rumus 2n atau yang dikenal dengan weighting faktor pangkat 2. Tabel 1.1 konversi bilangan desimal ke bilangan biner Pangkat
Nilai
20
1
21
2
22
4
2
3
8
2
4
16
2
5
32
26
64
27
128
Contoh : 1. Konversikan 1332 ke biner Berdasarkan tabel diatas, nilai yang paling dekat ke 133 adalah 128 (27), namun nilai tersebut masih di bawah 133 (kurang 5). Oleh karena itu dibutuhkan 5 nilai lagi yang dapat diperoleh dari 22 dan 20. Jadi nilai dari 13310 dalam biner ialah 100001012. Metode lain untuk mengkonversi bilangan desimal ke bilangan biner adalah dengan successive division (pembagian berturut-turut). Successive division dilakukan
2
melalui pembagian berulang-lang terhadap bilangan yang akan dikonversikan. Sebagai contoh konversi 12210 ke nilai binernya dilakukan melalui prosedur berikut ini : pembagi 122
2
Hasil bagi 61
sisa
61
2
30
0 (LSB) 1
30
2
15
0
15
2
7
1
7
2
3
1
3
2
1
1
1
2
0
1 (MSB)
Sisa pembagian pertama adalah 0 dan merupakan bit terendah atau least significant bit (LSB). Sisa pembagian terakhir adalah 1 dan merupakan bit tertinggi atau most significant bit (MSB). Oleh karena itu jawaban dari contoh di atas adalah 11110102. 2. Konversikan 15210 ke bilangan biner menggunakan successive division ? Jawab : pembagi 152
2
Hasil bagi 76
sisa
76
2
38
0 (LSB) 0
38
2
19
0
19
2
9
1
9
2
4
1
4
2
2
0
2
2
1
0
1
2
0
1 (MSB)
Sehingga 15210 = 100110002
3
I.1.4. Sistem Bilangan Oktal Sistem bilangan oktal menggunakan delapan macam simbol bilangan, yaitu 0,1,2,3,4,5,6 dan 7 serta menggunakan basis 8. Sistem bilangan oktal digunakan perusahaan komputer yang menggunakan kode 3 bit untuk menunjukkan instruksi atau operasi. Menggunakan bilangan oktal sebagai perwakilan pengganti bilangan biner, pengguna dapat dengan mudah memasukkan pekerjaan atau membaca instruksi komputer. Pada tabel di bawah ini kita dapat melihat beberapa konversi antar sistem bilangan. Tabel1.2. Konversi antar sistem bilangan Desimal
Biner
Oktal
0
000
0
1
001
1
2
010
2
3
011
3
4
100
4
5
101
5
6
110
6
7
111
7
8
1000
10
9
1001
11
10
1010
12
I.1.5. Konversi Bilangan Oktal Contoh : 1. Konversikan bilangan biner 1111 10012 ke bilangan oktal Jawab : 011
111
001
3
7
1
jadi 1111 10012 = 3718 2. Konversikan bilangan oktal 6248 ke nilai binernya Jawab : 6
2
4
110
010
100
jadi 6248 = 1100101002
4
3. Konversikan bilangan oktal 3268 ke nilai desimalnya Jawab : 746 = (6x80)+(4x81)+(7x82) = 6 + 32 + 192 = 21410
I.1.6. Sistem Bilangan Heksadesimal Sistem bilangan heksadesimal mirip dengan sistem bilangan oktal, tetapi menggunakan 16 macam symbol, yaitu : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E dan F. Beberapa computer seperti IBM/360, data General Nova, PDP-11DEC, Honeywell, serta beberapa minicomputer dan mikrokomputer mengorganisasikan memori utama ke dalam satuan yang terdiri dari 8-bit. Masing-masing byte digunakan untuk menyimpan suatu karakter alfanumerik yang dibagi dalam dua kelompok yang masing-masing terdiri dari 4-bit. High order nibble adalah istilah untuk empat bit pertama, sedangkan low order nibble adalah istilah untuk empat bit kedua. Terdapat kombinasi yang menggunakan 4-bit sehingga diperlukan sistem bilangan yang berbasis-16 dan disebut sistem bilangan heksadesimal.
I.1.7. Konversi Bilangan Heksadesimal Untuk mengkonversi bilangan biner ke bilangan heksadesimal, kelompokkan angkaangka biner dalam kelompok empat bilangan (dimulai dari bit terkecil). Contoh : 1. Konversikan bilangan biner 011111012 ke nilai heksadesimalnya ? Jawab : 0111
1101
7
D
= 7D16
2. Konversikan bilangan heksadesimal A916 ke nilai binernya ? Jawab : A
9
1010
1001
= 101010012
3. Konversikan bilangan heksadesimal 2A616 ke nilai desimalnya ? Jawab : 2A616 = (6x160)+(Ax161)+(2x162) = 6 + 160 + 512 = 67810
5
I.2. Sistem Binary Code Desimal (BCD) Sistem BCD digunakan untuk menampilkan digit desimal sebagai kode biner 4 bit. Kode ini berguna untuk menampilkan angka numerik dari 0 sampai dengan 9 seperti pada jam digital atau voltmeter. Untuk mengubah nilai BCD ke biner, ubah tiap digit desimal ke 4 bit biner. Contoh : 1. Konversi bilangan desimal 59610 ke nilai BCDnya ? Jawab : 5
9
0101
1001
6 0110BCD
2. Konversi bilangan BCD 011101011000BCD ke nilai desimalnya ? Jawab : 0111
0101
1000
7
5
8
= 75810
I.3. Kode ASCII Kode khusus untuk mewakili semua data alfanumeris (huruf, symbol dan bilangan), diterbitkan oleh institusi standarisasi nasional emerika. Kode ASCII dinyatakan dalam bit biner. Selain angka dan huruf, kode ini juga menampung karakter control seperti EOF (End of File) sebagai tanda akhir file dan EOL (End of Line) sebagai tanda akhir baris. Kode ini merupakan kode yang paling banyak digunakan untuk pertukaran informasi. Tujuh bit kode ASCII akan menghasilkan 128 kode kombinasi yang berbeda. Contoh : Menggunakan tabel ASCII kita dapat memperoleh kode ASCII hurup “P” yaitu : 01110000.
6
BAB II ALJABAR BOOLEAN
Aljabar Boolean menggunakan beberapa hukum yang sama seperti aljabar biasa. Fungsi OR (X=A+B) adalah Boolean penambahan dan fungsi AND (X=AB) adalah Boolean perkalian. 1. Hukum Pertukaran (Komutatif) Penambahan: A+B = B+A 2. Hukum Asosiatif Penambahan: A+(B+C) = (A+B)+C Perkalian: A(BC) =(AB)C 3. Hukum Distributif A(B+C) = AB + AC (A+B)(C+D) = AC+AD+BC+BD Tiga hukum ini mempunyai kebenaran untuk beberapa bilangan variabel. Hukum penambahan dapat dipakai pada X=A+BC+D untuk bentuk persamaan X=BC+A+D Tabel 2.1 Hukum dan peraturan Aljabar Boolean Hukum Aljabar Boolean
Peraturan Aljabar Boolean
1. A+B=B+A
1. A.0=0
AB=BA
2. A.1=A
2. A+(B+C) = (A+B)+C
3. A+0=A
A(BC) =(AB)C
4. A+1=1
A(B+C) = AB + AC
5. A+A=A
3. (A+B)(C+D) = AC+AD+BC+BD
6. A.A=A 7. A. A =0 8. A+ A =1 9. A =A 10. A+ A B=A+B 11. A +AB= A +B
7
Teorema lain yang digunakan dalam gerbang digital ialah teorema De Morgan. Teorema De Morgan dapat dinyatakan dalam persamaan berikut:
A.B = A + B A + B = A.B rumus diatas berlaku untuk tiga variabel atau lebih.
II.1. Bentuk Standar (Kanonik) Fungsi Boolean Contoh: 1. Tentukan bentuk sum of product (SOP) dari fungsi Boolean berikut: F(A,B,C,D) = (AC+B)(CD+ D ) Jawab: F(A,B,C,D) = (AC+B)(CD+ D ) = ACCD+AC D +BCD+B D = ACD+AC D +BCD+B D = ACD(B+ B )+AC D (B+ B )+BCD(A+ A )+B D (A+ A )(C+ C ) = ABCD+A B CD+ABC D +A B C D +ABCD+ A BCD + B D (AC+A C + A C+ A C ) = ABCD+A B CD+ABC D +A B C D +ABCD+ A BCD+ABC D + AB C D + A BC D + A B C D = ABCD+A B CD+ABC D + A B C D + A BCD+ AB C D + A BC D + A B C D 2. Tentukan bentuk product of sum (POS) dari fungsi Boolean berikut: F(A,B,C,D) = A+(C+ B D ) Jawab: F(A,B,C,D) = A+(C+ B D ) = A+(C+ B )(C+ D ) = A+XY = (A+X)(A+Y) = (A+C+ B )(A+ C+ D ) = (A+C+ B +D D )(A+ C+ D +B B )
8
= (U+ D D )(V+ B B ) = (U+ D)(U+ D )(V+B)(V+ B ) = (A+ B +C+D)(A+ B +C+ D )(A+B+C+ D )(A+ B +C+ D )
II.1.2. Bentuk Minterm dan Maxterm Fungsi Boolean Tinjau tabel kebenaran berikut : Tabel 2.2 Tabel Kebenaran Nomor desimal 0
A
B
C
F(A,B,C)
0
0
0
1
1
0
0
1
0
2
0
1
0
0
3
0
1
1
0
4
1
0
0
1
5
1
0
1
1
6
1
1
0
0
7
1
1
1
1
Bentuk minterm dari fungsi F(A,B,C) adalah: F(A,B,C) = ∑ m(0,4,5,7) = A B C +A B C +A B C+ABC Bentuk maxterm dari fungsi F(A,B,C) adalah: F(A,B,C) = ∏ M(1,2,3,6) = (A+B+ C )(A+ B +C)(A+ B + C )( A + B +C)
9
BAB III PETA KARNAUGH
Metode ini merupakan suatu cara untuk menyederhanakan rangkaian logika dan diberi nama sesuai nama penemunya. Karnaugh map (K-Map) mirip dengan tabel kebenaran yang menampilkan output persamaan Boolean untuk tiap kemungkinan kombinasi variabel input. Menentukan jumlah sel pada K-Map identik dengan mencari jumlah kombinasi sebuah tabel kebenaran. K-map dengan 2 variabel menbutuhkan 22 atau 4 sel, K-map dengan 3 variabel membutuhkan 23 atau 8 sel, dst. Tiap sel dalam Kmap berhubungan dengan kombinasi tertentu dari variabel input.
K-map 2 Variabel : 4 Sel A
A
AB
AB
AB
AB
AB
AB
AB
B B
K-map 3 Variabel : 8 Sel
C C
K-map 4 Variabel : 16 Sel AB
CD CD CD CD
K-map 5 Variabel : 32 Sel ABC
ABC
A BC
A BC
AB C
AB C
ABC
AB C
DE DE DE DE
10
BAB IV GERBANG LOGIKA
Gerbang Logika adalah suatu komponen yang paling dasar pada suatu rangkaian Digital. Seluruh aplikasi rangkaian Digital adalah terdiri dari ribuan atau bahkan jutaan dari rangkaian gerbang Logika yang sudah terpaket dalam IC (Integrated Circuit), Chip atau bahkan processor untuk menghasilkan fungsi-fungsi tertentu. Gerbang Logika adalah suatu fungsi yang akan menghasilkan satu keluaran logika dari beberapa masukan logika dimana persamaan dari fungsi gerbang logika tersebut dituangkan pada suatu persamaan yang disebut dengan persamaan Boolean. Pada dasarnya gerbang Logika hanya terdiri dari 3 gerbang logika dasar, yaitu gerbang AND, Gerbang OR dan gerbang NOT. Sedangkan gerbang-gerbang tambahan lain seperti gerbang NAND dan NOR adalah gabungan dari 3 gerbang logika dasar tersebut. Gerbang NAND adalah gabungan dari gerbang logika AND dan NOT dan gerbang NOR adalah gabungan dari gerbang logika OR dan NOT. Sifat dan karakteristik suatu gerbang logika dapat dijelaskan pada suatu tabel kebenaran berikut
IV.1. Gerbang Logika OR (OR Gate) Gerbang logika OR adalah suatu rangkaian logika yang mempunyai beberapa jalan masukkan dan hanya mempunyai satu jalan keluaran. Keluarannya akan tinggi, bila salah satu inputnya tinggi dan akan menjadi rendah bila semua inputnya rendah. Simbol gerbang logika OR, tabel kebenaran dan analogi rangkaiannya dapat dilihat pada Gambar 4.1 Tabel 4.1 pada halaman berikutnya. A B
X
X=F=A+B+C
C
(a) Simbol Gerbang OR A B
C F
V
(b) analogi rangkaian. Gambar 4.1 Simbol dan rangkaian gerbang OR
11
Tabel 4.1 Tabel kebenaran Gerbang OR 3 input
A 0 0 0 0 1 1 1 1
Input B C 0 0 0 1 1 0 1 1 0 0 0 1 1
Output F 0 1 1 1 1
1 0 1
1 1 1
Pada Gambar 4.1.b. lampu akan menyala bila salah satu atau semua switch dalam keadaan tertutup. Pernyataannya adalah F = A + B + C dan dibaca F = A or B or C bukan dibaca F = A ditambah B ditambah C.
IV.2. Gerbang Logika AND (AND Gate) Gerbang and adalah suatu rangkaian logika yang mempunyai beberapa jalan masukkan dan hanya mempunyai satu jalan keluaran. Jika semua input tinggi maka outputnya akan tinggi, selain dari itu maka outputnya akan rendah. Simbol gerbang logika AND analogi rangkaian dan tabel kebenarannya dapat dilihat pada Gambar 4.2 berikut dan Tabel 4.2 halaman selanjutnya. A B
X
X=F=A BC
C
(a) Simbol Gerbang AND A
B
C
F
V
(b) analogi rangkaian Gambar 4.2 Simbol dan rangkaian gerbang AND
12
Tabel 4.2 Tabel kebenaran gerbang AND 3 input Input B C 0 0 0 1 1 0 1 1 0 0
A 0 0 0 0 1 1 1 1
0 1 1
1 0 1
Output F 0 0 0 0 0 0 0 1
Persamaan logikanya F = A B C dibaca F = A and B and C, bukan dibaca dengan F = A dikali B dikali C. Pada gambar 4.2 (b) lampu akan menyala ( F=1 ) bila ketiga saklar A, B, C menutup ( A=1, B=1, C=1 ). Bila salah satu atau semuanya terbuka maka lampu akan padam ( F = 0 ).
IV.3. Inverter ( Gerbang NOT ) Gerbang NOT adalah gerbang dengan satu sinyal masukkan dan satu sinyal keluaran. Gerbang NOT ini juga disebut dengan inverter, karena sinyal masukkan selalu berlawanan dengan sinyal keluaran. Simbol gerbang logika NOT analogi rangkaian dan tabel kebenarannya dapat dilihat pada Gambar 4.3 dan Tabel 4.3 halaman berikutnya.
. A
A
(a) Simbol gerbang NOT
V
A
F
(b) Analogi rangkaian. Gambar 4.3 Simbol dan rangkaian gerbang NOT
13
Tabel 4.3 Tabel kebenaran Gerbang NOT Input
output
0
1
1
0
Pada Gambar 4.3 (b) jika saklar dibuka semua arus akan mengalir kearah lampu maka lampu akan menyala. Jika saklar ditutup semua arus akan melalui saklar (rangkaian dalam keadaan di short circuit) maka lampu akan padam. Ekspresi booleannya F = Ā.
IV.4. Gerbang Logika NAND ( NAND Gate ) Gerbang logika NAND adalah rangkaian logika yang dibangun oleh gerbang NOT dan gerbang AND. Gerbang ini mempunyai beberapa jalan masukkan dan hanya satu jalan keluaran. Keluaran gerbang NAND akan berharga rendah jika semua input adalah 1, dan berharga 1 jika salah satu input saja ada yang berharga 0. Simbol gerbang logika NAND, analogi rangkaian dan tabel kebenarannya dapat dilihat pada Gambar 4.4 dan Tabel 4.4 halaman selanjutnya.
A B
A B
X
C
X
C
X=F=A B C
(a) Gerbang NAND
A
V
B
F
C
(b) Analogi rangkaian Gambar 4.4 Simbol dan rangkaian gerbang NAND
14
Tabel 4.4 Tabel kebenaran gerbang NAND 3 input
A 0 0 0 0 1 1 1 1
Input B C 0 0 0 1 1 0 1 1 0 0 0 1 1
Output F 1 1 1 1 1
1 0 1
1 1 0
Pada Gambar 4.4 (b) lampu akan menyala bila salah satu atau semua saklar dalam keadaan terbuka. Arus akan mengalir kearah lampu. Bila semua saklar tertutup maka lampu akan padam karena arus akan mengalir ke cabang saklar dan rangkaian dalam keadaan short circuit.
IV.5. Gerbang EXOR Gerbang EXOR menghasilkan output tinggi ketika salah satu atau semua input adalah tinggi. Gerbang ini mempunyai beberapa jalan masuk dan hanya satu jalan keluaran. Lambang gerbang EXOR, analogi rangkian dan tabel kebenarannnya pada dilihat pada Gambar 4.5 dan Tabel 4.5 halaman selanjutnya.
A X B
(a) Gerbang EXOR
X
B
A
(b) Analogi rangkaian Gambar 4.5 Simbol dan rangkaian gerbang EXOR
15
Tabel 4.5 Tabel kebenaran gerbang EXOR B 0 0 1 1
Input A 0 1 0 1
Output F 0 1 1 0
Pada Gambar 4.5 (b), dimana lampu akan menyala jika semua switch diset pada posisi yang berlawanan 1 dan 0. Operasi Exor kadang-kadang disebut penambahan mod 2. Penambahan mod 2 sama dengan penambahan biner, asalkan kita mengabaikan bawaan (carry)
0+0=0 0+1=1 1+0=1 1+1=0
IV.6. Schmitt Trigger Gerbang Schmitt Trigger adalah gerbang logika yang mempunyai output yang sama dengan gerbang logika biasa tetapi gerbang schmitt trigger inputnya tidak mempunyai harga mutlak 0 atau 5 volt. Gerbang schmitt trigger untuk logika 0 ke 1 dan logika 1 ke 0 mengenal istilah LTP (logika 0 ke 1) dan UTP (logika 1 ke 0 ). Gambar simbol dari gerbang schmitt trigger ditunjukkan oleh Gambar 4.6 berikut.
Gambar 4.6 Simbol dari schmitt trigger untuk gerbang logika AND, OR dan NOT
Lower Transfer Point atau disingkat dengan LTP adalah suatu titik kritis dimana suatu sinyal analog diubah dari kondisi rendah menjadi kondisi tinggi. Upper Transfer Point atau disingkat dengan UTP adalah suatu titik kritis dimana suatu sinyal analog diubah dari kondisi tinggi menjadi rendah. Gambar 4.7 memperlihatkan suatu contoh sinyal
16
masukkan analog disertai dengan titik UTP dan LTP dan bentuk keluaran gelombang persegi schmitt trigger. +V
UTP LTP
Gelombang Masukkan
0
-V
+5V Gelombang keluaran schmitt triger 0V
Gambar 4.7 Gelombang masukkan dan gelombang keluaran schmitt trigger
17
BAB V RANGKAIAN KOMBINASIONAL Rangkaian Logika digital terdiri dari 2 kategori : 1. Rangkaian Logika Kombinasional 2. Rangkaian Logika Sekuensial Pada rangkaian logika kombinasional nilai keluaran ditentukan secara terus oleh nilai masukan sekarang.
Gambar 5.1 Combinational Logic Function V.1 RANGKAIAN PENJUMLAH [ADDER] V.1.1 HALF ADDER ) Rangkaian dasar penjumlah yang dipakai untuk menambah 1-bit bilangan biner dengan masukkan dua input (A dan B) ) Rangkaian mempunyai dua keluaran : Sum (hasil jumlah) dan Carry (simpan) Tabel 5.1 Tabel kebenaran HA No Input Output A B Sum Carry 0 0 0 0 0 1 0 1 1 0 2 1 0 1 0 3 1 1 0 1 ) Persamaan output : Sum = ∑ m [1,2] = AB + A B
= A ⊕B A B B
1
A 1
AB
AB
Gambar 5.2 K-Map persamaan output HA
18
Carry = ∑ m [3] = AB
) Rangkaian logikanya : A B
Carry = AB Sum = A ⊕ B
Gambar 5.3 Rangkaian HA ) Blok diagram : A
Carry
HA
Sum
B
Gambar 5.4 Blok diagram HA
V.1.2 FULL ADDER [FA] ) Rangkaian penjumlah yang dipakai untuk menambahkan 1-bit bilangan biner
dengan masukkan tiga input (A, B dan Ci) ) Blok diagram : A
Carry Out = Co
FA
B
Sum = S
Ci
Gambar 5.4 Blok diagram FA ) Tabel kebenarannya : Tabel 5.2 Tabel kebenaran FA
No 0 1 2 3 4 5 6 7
Ci 0 0 0 0 1 1 1 1
Input B 0 0 1 1 0 0 1 1
output A 0 1 0 1 0 1 0 1
S 0 1 1 0 1 0 0 1
CO 0 0 0 1 0 1 1 1
Ci = incoming carry Co = outgoing carry S = Sum
19
) Persamaan output :
Sum = ∑ m [1,2,4,7] = CI B A + CI B A + Ci B A + CiBA = Ci ⊕ B ⊕ A Co = ∑ m [3,5,6,7] = CiB + CiA + BA ) Rangkaian Logikanya : A B Ci
S
Co
Gambar 5.5 Rangkaian Logika FA ) Rangkaian menggunakan 2 HA + 1 OR : A
S
HA1
B
HA2
Ci
Co
Gambar 5.6 Blok FA menggunakan 2 HA + 1 OR
HA1 A B
S
Ci Co HA2
Gambar 5.7 Rangkaian Logika FA 2 menggunakan HA + 1 OR
20
V.1.3 PARALEL BINARY ADDER ) Digunakan untuk penambahan bilangan biner yang terdiri dari beberapa bit ) Diperlukan rangkaian FA sebanyak jumlah bit dari setiap bilangan biner ) Contoh : penambahan bilangan biner 4-bit
C3
C2
C1
C0
A:
A3
A2
A1
A0
B:
B3
B2
B1
B0
C3
S3
S2
S1
S0
1
1
1
1
A:
1
1
0
1
B:
1
0
1
1
1
0
0
0
1
) Untuk melakukan proses itu diperlukan rangkaian paralel binary adder 4-bit
A3
B3
FA
C3
A2
B2
C2
S3
FA
A1
B1
C1
S2
FA
A0
B0
C0
S1
HA
S0
Gambar 5.8 Blok paralel binary Adder 4-bit
V.2 RANGKAIAN PENGURANG [SUBTRACTOR] V.2.1 HALF SUBTRACTOR [HS] ) Digunakan untuk mengurangi dua bilangan pada tingkat pertama (masing-
masing 1-bit) ) Rangkaian mempunyai dua keluaran :
1. Difference (D) : selisih 2. Borrow (B) : pinjam ) Bilangan pengurang (Subtrahend) : Z ) Bilangan yang dikurangi (Minuend) : Y
21
) Tabel kebenarannya : Tabel 5.3 Tabel kebenaran HS No Input Output Y Z D B 0 0 0 0 0 1 0 1 1 1 2 1 0 1 0 3 1 1 0 0 ) Persamaan output :
D = ∑ m [1,2] = Y Z + Y Z =Y ⊕ Z B = ∑ m [1] = Y Z ) Rangkaian Logikanya :
Y Z
D
B
Gambar 5.9 Rangkaian Logika HS
V.2.2 FULL SUBTRACTOR [FS] ) Pada tingkat kedua dstnya, akan diperkurangkan tiga buah bilangan karena ada
kemungkinan timbulnya borrow dari tingkat yang lebih rendah. ) Tabel kebenaran : Tabel 5.4 Tabel kebenaran FS
No 0 1 2 3 4 5 6 7
Y 0 0 0 0 1 1 1 1
Input Z Bi 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1
output D 0 1 1 0 1 0 0 1
BO 0 1 1 1 0 0 0 1
Bi = Borrow input D = Deference Bo = Borrow ouput
22
) Persamaan ouput :
D = ∑ m [1,2,4,7] = Y ⊕ Z ⊕ Bi Bo = ∑ m [1,2,3,7] = Y Z + Z Bi + Y Bi ) Rangkaian Logikanya :
Y D
Z Bi
Bo
Gambar 5.10 Rangkaian Logika FS
) Rangkaian menggunakan 2 HS + 1 OR : Bi Z Y
HS2 HS1
D0
Bo
Gambar 5.11 Blok Diagram FS mengunakan 2 HS + 1 OR
23
HS1 Z Y D0 Bi Bo HS2
Gambar 5.12 Rangkaian Logika FS mengunakan 2 HS + 1 OR V.2.3 PARALEL SUBTRACTOR ) Digunakan untuk pengurangan bilangan biner beberapa bit ) Diperlukan rangkaian FS sebanyak jumlah bit dari setiap bilangan biner ) Contoh : pengurangan bilangan biner 4-bit
B3
B2
B1
Y:
Y3
Y2
Y1
Y0
Z:
Z3
Z2
Z1
Z0
D3
D2
D1
D0
Y:
1
1
0
1
Z:
1
0
1
1
0
0
1
0
) Untuk melakukan proses itu diperlukan rangkaian paralel binary subtractor 4-bit
Y3
HS
D3
Z3
Y2
B3
FS
D2
Z2
Z1
Y1
B2
FS
D1
Z0
Y0
B1
FS
D0
Gambar 5.13 Blok Diagram parallel binary Subtractor 4-bit
24
V.3 MULTIPLEKSER V.3.1 PENDAHULUAN
Sebuah rangkaian multiplekser akan menerima N masukan dan meneruskan satu dari N masukan tersebut. Pemilihan masukan mana yang diteruskan melalui M masukan control. Sebuah multiplekser dengan M masukan control dapat menangani hingga 2M masukan. Perhatikan gambar berikut :
2M input . . .
output
M control inputs
Gambar 5.14 Blok diagram Multiplekser
Rangkaian multiplekser yang paling sederhana adalah multiplekser dengan 1 masukan control, sehingga hanya ada 2 macam masukan yang bisa diteruskan salah satunya. Multiplekser ini dinamakan multiplekser 2-ke-1, perhatikan tabel kebenaran dan gambar berikut : Tabel 5.5 Tabel kebenaran multiplekser 2-ke-1
control 0 0 1 1
Input0 0 1 X X
Input1 X X 0 1
ouput 0 1 0 1
Input0
output Control Input1
Gambar 5.15 Multiplekser 2-ke-1
25
V.3.2 UNIVERSAL LOGIC MODULE (ULM) DENGAN MULTIPLEKSER
Sebuah modul logic universal (ULM), dengan beberapa variabel yang ditentukan adalah sebuah modul yang mampu mengimplementasikan sembarang fungsi logic berdasar sejumlah variabel yang ditentukan. Jika jumlah variabel fungsi logic tersebut lebih besar dari kapasitas modulnya maka dapat digunakan beberapa modul yang sama yang disusun dalam suatu larik. Perhatikan sebuah fungsi logic umum dengan n-variabel F(X1, X2, X3,…,Xn). Jika fungsi ini harus direalisasi dengan modul tiga variabel dan n ≥ 3, maka menggunakan teorema Ekspansi Shannon, fungsi tersebut diekspansi terhadap variabelnya, misalnya dalam hal ini X1 dan X2 digunakan sebagai masukan control, maka fungsi logic tersebut bisa dituliskan :
f ( x1, x 2 ,..., x n ) = x 1 x 2f (0,0, x 3 ,..., x n ) + x 1 x 2f (0,1, x3 ,..., x n ) + x1 x 2f (1,0, x 3 ,..., x n ) + x1x 2 f (1,1, x 3 ,..., x n ) Jika ekspansi ini dilanjutkan, sisi-sisi fungsi f(0, 0, x3, .., xn) sampai dengan f(1, 1, x3, .., xn) juga diekspansi berdasar masukan control dari modul kedua dan seterusnya, hingga hanya tinggal fungsi logic dengan satu variabel saja. Perhatikan contoh berikut :
f = x 1 x 2 x 3 x 4 + x 1 x 2 x 3 x 4 + x 1x 2 x 3 x 4 + x 1x 2 x 3 x 4 + x1x 2 x 3 x 4 + x1x 2 x 3 x 4 jika Muks 4 (8-ke-1) variabel digunakan, fungsi logic tersebut dapat diimplementasikan melalui persamaan :
f = x 1 x 2 x 3 ( x 4 ) + x 1 x 2 x 3 ( x 4 ) + x 1x 2 x 3 (0 ) + x 1x 2 x 3 ( x 4 + x 4 ) + x1 x 2 x 3 ( 0 ) + x1 x 2 x 3 ( 0 ) + x1 x 2 x 3 ( x 4 ) + x1 x 2 x 3 ( x 4 )
26
rangkaianya:
x4 + x 4
x4
0
0
0
x4
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
0
1
0
1
x4
1
1
0
x4
1
1
1
x1
x2
x3
f
Gambar 5.16 Muks 8-ke-1
Jika yang digunakan adalah Muks dua dan tiga variabel, maka fungsi logikanya menjadi
f = x 1[ x 2 x 3 ( x 4 ) + x 2 x3 ( x 4 ) + x 2 x 3 (0) + x 2 x3 (1)] + x1[ x 2 x 3 (0) + x 2 x3 (0) + x 2 x 3 ( x 4 ) + x2 x3 ( x 4 )] rangkaianya : x4
00
x4
01
0
10
1
11 0 x2
0
00
0
01
x4
10
x4
11
x2
x3
f 1
x1
x3
Gambar 5.17 Muks 4-ke-1
Jika dimungkinkan untuk menggunakan semua variabel (4 variabel) sebagai masukkan control semua maka persamaannya menjadi:
27
f = x1 x 2 [ x 3 x 4 (0) + x 3 x4 (1) + x3 x 4 (1) + x3 x4 (0)] + x 1x2 [ x 3 x 4 (0) + x 3 x4 (0) + x3 x 4 (1) + x3 x4 (1)] + x1 x 2 [ x 3 x 4 (0) + x 3 x4 (0) + x3 x 4 (1) + x3 x4 (0)] + x1x2 [ x 3 x 4 (0) + x 3 x4 (1) + x3 x 4 (1) + x3 x4 (0)] + Rangkaianya : 0
00
1
01
1
10
0
11
x3 0
00
0
01
1
10
1
11
x4
00 01 x3 0
00
0
01
0
10
0
11
00
1
01
1
10
0
11
f
10 11
x1
x3 0
x4
x3
x2
x4
x4
Gambar 5.18 Muks Sistem Hirarki Modul
28
X1 3ns
X2 3ns 5ns
F
X3 3ns
X4 3ns
S0 S1
1ns 1ns
Gambar 5.19 Multiplekser 4-ke-1
V.4 DEMULTIPLEKSER
Fungsi rangkaian ini berlawanan dengan multiplekser, rangkaian ini mempunyai satu masukan dan memilih salah satu dari masukan untuk dikendalikan ke salah satu keluaran. Keluaran yang dipilih bergantung kepada sinyal pemilih (bit control).
Gambar 5.20 Blok Demultiplekser
29
¾ Demultiplekser 1-ke-2
Gambar 5.21 Blok Demultiplekser 1ke2
Tabel kebenaran: Tabel 5.6 Tabel kebenaran Demultiplekser 1ke2
Bit kontrol S 0 1
Output Q1 0 In
Q0 In 0
Fungsi keluaran:
Q0 = S I n Q1 = SI n Rangkaianya:
Gambar 5.22 Demultiplekser 1ke2
30
¾ Demultiplekser 1-ke-4
Gambar 5.23 Demultiplekser 1ke4
Tabel kebenaran: Tabel 5.7 Tabel kebenaran Demultiplekser 1ke4
Bit kontrol S1 S0 0 0 0 1 1 0 1 1
Q3 0 0 0 In
Output Q2 Q1 0 0 0 In In 0 0 0
Q0 In 0 0 0
Fungsi keluaran:
Q0 = S 1 S 0 I n Q1 = S1 S 0 I n Q2 = S 1 S 0 I n Q3 = S1 S 0 I n
31
Rangkaianya:
S1
S0
Q0
In
Q1 Q2 Q3 Gambar 5.24 Demultiplekser 1ke4
¾ Demultiplekser 1-ke-8
Gambar 5.25 Blok Demultiplekser 1ke8
32
Tabel kebenaran: Tabel 5.8 Tabel kebenaran Demultiplekser 1ke8
Bit kontrol
Output
S2
S1
S0
Q7
Q6
Q5
Q4
Q3
Q2
Q1
Q0
0
0
0
0
0
0
0
0
0
0
In
0
0
1
0
0
0
0
0
0
In
0
0
1
0
0
0
0
0
0
In
0
0
0
1
1
0
0
0
0
In
0
0
0
1
0
0
0
0
0
In
0
0
0
0
1
0
1
0
0
In
0
0
0
0
0
1
1
0
0
In
0
0
0
0
0
0
1
1
1
In
0
0
0
0
0
0
0
Rangkaiannya:
Gambar 5.26 Demultiplekser 1ke8
33
V.5 ENCODER DAN DECODER
V.5.1 Pendahuluan Pada umumnya digunakan kode desimal untuk menyatakan angka. Pada rangkaian elektronika Digital baik pada kalkulator atau pada komputer, kode biner adalah kode yang digunakan untuk menyatakan angka, huruf, gambar ataupun datadata yang lain. Sedangkan tampilan-tampilan pada layar elektronik seperti tampilan seven segment, LCD, dot matrik atau jenis tampilan lain adalah berasal dari kode biner yang kemudian diterjemahkan menjadi kode-kode tertentu untuk dapat ditampilkan pada layar elektronik tersebut. Rangkaian yang berfungsi untuk mengubah kode-kode tertentu menjadi kode biner disebut dengan Encoder atau pengkode dan sebaliknya rangkaian yang berfungsi untuk mengubah kode biner menjadi kode-kode tertentu disebut dengan Decoder atau Pendekode. Rangkaian Encoder atau Decoder seperti rangkaian-rangkaian Digital lainnya adalah terdiri dari rangkaian gerbang logika sehingga akan menghasilkan suatu fungsi-fungsi tertentu yang dalam hal ini adalah berfungsi sebagai rangkaian Pengkode atau pendekode. Tetapi rangkaian Encoder dan Decoder saat ini telah dibuat dalam 1 paket IC (Integrated Circuit) sehingga akan memudahkan dalam penggunaannya. Rangkaian Encoder atau Decoder memiliki banyak type rangkaian tergantung dari jenis kode yang akan diterjemahkan. Tetapi pada bab ini akan membahas rangkaian Encoder yang berfungsi untuk mengubah kode urutan desimal menjadi kode biner, rangkaian Decoder yang berfungsi untuk mengubah kode biner menjadi kode urutan desimal dan rangkaian Decoder yang berfungsi untuk mengubah kode biner menjadi kode untuk tampilan seven segment.
V.5.2 Rangkaian Encoder Rangkaian Encoder yang akan menghasilkan data kode biner dari masukan data kode urutan desimal dengan data input (kode urutan desimal) dan data output (kode biner) seperti pada blok rangkaian pada gambar 5.1 dan tabel 5.1 berikut :
34
+5V PB 1
D1 PB 2
QA
D2 R
PB 3
E N C O D E R
D3 R
PB 4
D4 R
PB 5
D5 R
PB 6
D6 R
PB 7
QB
Biner Output QC
D7 R
PB 8
QD
D8 R
PB 9
D9 R
R = 4,7K
Gambar 5.27 Blok rangkaian Encoder Tabel 5.9 Tabel Kebenaran Encoder
Data Input
Data Output QD QC QB QA
D1
D2
D3
D4 D5
D6
D7
D8 D9
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
1
0
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
35
Latihan: 1. Tentukan persamaan aljabar Boolean untuk mendapatkan perencanaan rangkaian Encoder berdasarkan kesimpulan yang diambil dari tabel data input/output sebagai berikut : a. Output A akan berlogika 1 (tinggi) hanya apabila ditekan tombol angka 1 atau 3 atau 5 atau 7 atau 9. b. Output B akan berlogika 1 (tinggi) hanya apabila ditekan tombol angka 2 atau 3 atau 6 atau 7 c. Output C akan berlogika 1 (tinggi) hanya apabila ditekan tombol angka 4 atau 5 atau 6 atau 7 d. Output D akan berlogika 1 (tinggi) hanya apabila ditekan tombol angka 8 atau 9 2. Buatlah rangkaian digital berdasarkan persamaan boolean yang telah ditentukan ?
V.5.3 Rangkaian Decoder Sebuah rangkaian Decoder yang akan menghasilkan data kode urutan desimal dari masukan data kode biner dengan data input (kode biner) dan data output (kode urutan desimal) seperti pada blok rangkaian pada gambar 5.2 dan tabel 5.2 berikut
+5V
Q1 PB 1
DA R
PB 2
DB R
PB 3
DC R
PB 4
D E C O D E R
Q3 Q4 Q5
Desimal Output
Q6 Q7
DD R
Q2
Q8 Q9
R = 4,7K
Gambar 5.28 Blok rangkaian Decoder
36
Tabel 5.10 Tabel Kebenaran Decoder
QD
Data Input QC QB QA
Data Output
D1
D2
D3
D4 D5
D6
D7
D8 D9
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
1
Latihan: 1. Tentukan persamaan aljabar Boolean untuk mendapatkan perencanaan rangkaian Decoder berdasarkan kesimpulan yang diambil dari tabel data input/output sebagai berikut : a. Output 1 akan berlogika 1 hanya apabila diberikan data masukan : A = 1, B = 0, C = 0 dan D = 0. b. Output 2 akan berlogika 1 hanya apabila diberikan data masukan : A = 0, B = 1, C = 0 dan D = 0. c. Output 1 akan berlogika 1 hanya apabila diberikan data masukan : A = 1, B = 1, C = 0 dan D = 0. d. Output 1 akan berlogika 1 hanya apabila diberikan data masukan : A = 0, B = 0, C = 1 dan D = 0. e. Dan seterusnya 2. Buatlah rangkaian berdasarkan aljabar boolean yang telah ditentukan ?
V.5.4 Rangkaian Decoder Seven Segment Sebuah rangkaian Decoder seven segment yang akan menghasilkan data tampilan seven segment dari masukan data kode urutan desimal dengan data input (kode urutan desimal) dan data output (data tampilan seven segment) seperti pada blok rangkaian pada gambar 5.3 dan tabel berikut.
37
a
a
b
b
c
c
kathode
d
+ Vcc
d
anode
e
e f
f
g
g
(a) Jenis common katoda
(b) Jenis common anoda
a
D
b
C
Decoder BCD ke 2 7-segmen
B
1
e
A
0
3
c d
f g
(c) Hubungannya dengan dekoder
a D
b
C
Decoder BCD ke 7-segmen 2
B
1
e
A
0
3
+ Vcc
c d
anode
f g
(d) Hubungannya dengan dekoder Gambar 5.29 Peraga 7-segmen
Terlihat bahwa peraga 7-segmen jenis common katoda memerlukan dekoder dengan output jenis aktif-tinggi untuk menyalakan segmen-segmennya. Sedangkan jenis common anoda memerlukan dekoder dengan output jenis aktif-rendah seperti ditunjukkan pada Gambar 5.3.(d) Untuk mempelajari dekoder jenis ini perlu disusun terlebih dahulu tabel kebenarannya.
38
Konfigurasi rangkaian 7 Segment
DECODER 7 SEGMENT
+5V PB 1
D1
a
PB 2
D2 R
b
PB 3
D3 R
PB 4
D4 R
PB 5
D5 R
PB 6
D6 R
PB 7
D E C O D E R
c 220 ohm
d
e
D7 R
f
PB 8
D8 R
PB 9
g
D9 R
R = 4,7K
Gambar 5.30 Rangkaian Decoder seven segment
Tabel 5.11 Tabel Kebenaran decoder seven segment
Data Input D0 D1 D2 D3 D4 D5 D6 D7 D8 D9
Data Output (segment) a b c d e f g
Tampilan 7 Segment Digit angka
1
0
0
0
0
0
0
0
0 0
1
1
1
1
1
1
0
0
0
1
0
0
0
0
0
0
0 0
0
1
1
0
0
0
0
1
0
0
1
0
0
0
0
0
0 0
1
1
0
1
1
0
1
2
0
0
0
1
0
0
0
0
0 0
1
1
1
1
0
0
1
3
0
0
0
0
1
0
0
0
0 0
0
1
1
0
0
1
1
4
0
0
0
0
0
1
0
0
0 0
1
0
1
1
0
1
1
5
0
0
0
0
0
0
1
0
0 0
0
0
1
1
1
1
1
6
0
0
0
0
0
0
0
1
0 0
1
1
1
0
0
0
0
7
0
0
0
0
0
0
0
0
1 0
1
1
1
1
1
1
1
8
0
0
0
0
0
0
0
0
0 1
1
1
1
0
0
1
1
9
39
Latihan: 1. Tentukan persamaan aljabar Boolean untuk mendapatkan perencanaan rangkaian Decoder berdasarkan kesimpulan yang diambil dari tabel data input/output sebagai berikut a. Output segment a akan berlogika 1 (tinggi) hanya apabila input 0 atau 2 atau 3 atau 5 atau 7 atau 8 atau 9 diberi masukan tinggi. b.
Output segment b akan berlogika 1 (tinggi) hanya apabila input 0 atau 1 atau 2 atau 3 atau 4 atau 7 atau 8 atau 9 diberi masukan tinggi.
c. Output segment c akan berlogika 1 (tinggi) hanya apabila input 0 atau 1 atau 3 atau 4 atau 5 atau 6 atau 7 atau 8 atau 9 diberi masukan tinggi. d. Output segment d akan berlogika 1 (tinggi) hanya apabila input 0 atau 2 atau 3 atau 5 atau 6 atau 8 diberi masukan tinggi. e. Output segment e akan berlogika 1 (tinggi) hanya apabila input 0 atau 2 atau 6 atau 8 diberi masukan tinggi. f.
Output segment f akan berlogika 1 (tinggi) hanya apabila input 0 atau 4 atau 5 atau 6 atau 8 atau 9 diberi masukan tinggi.
g. Output segment g akan berlogika 1 (tinggi) hanya apabila input 2 atau 3 atau 4 atau 5 atau 6 atau 8 atau 9 diberi masukan tinggi. 2. Atau kesimpulan yang diambil dari tabel data input/output bisa juga sebagai berikut a. Output segment a akan berlogika 0 hanya apabila input 1 atau 4 atau 6 diberi masukan tinggi b. Output segment b akan berlogika 0 hanya apabila input 5 atau 6 diberi masukan tinggi c. Output segment c akan berlogika 0 hanya apabila input 2 diberi masukan tinggi d. Output segment d akan berlogika 0 hanya apabila input 1 atau 4 atau 7 atau 9 diberi masukan tinggi e. Output segment e akan berlogika 0 hanya apabila input 1 atau 3 atau 4 atau 5 atau 7 atau 9 diberi masukan tinggi f.
Output segment f akan berlogika 0 hanya apabila input 1 atau 2 atau 3 atau 7 diberi masukan tinggi
g. Output segment g akan berlogika 0 hanya apabila input 0 atau 1 atau 7 diberi masukan tinggi 3. Buatlah rangkaian berdasarkan aljabar boolean yang telah ditentukan ?
40
V.6 KOMPARATOR [RANGKAIAN PEMBANDING]
Merupakan rangkaian digital yang boleh membandingkan nilai antara dua nilai biner . pembandingan dilakukan untuk kedua-dua nomor tersebut adalah: Sama dengan ’=’ Lebih kecil ’<’ Lebih besar ’>’ Lebih kecil atau sama dengan ’≤’ Lebih besar atau sama dengan ’≥’ Pembanding 1 bit merupakan pedoman kepada pembanding bit yang lebih besar. Pembandingan dua nomor 1 bit ¾ A>B
Persamaan Booleannya:
F ( A, B ) = A • B ¾ A
Persamaan Booleannya:
F ( A, B ) = A • B ¾ A=B
Persamaan Booleannya:
F ( A, B ) = A ⊕ B ¾ A≥B
Persamaan Booleannya:
F ( A, B) = A • B ¾ A≤B
Persamaan Booleannya:
F ( A, B) = A • B
41
Pembandingan dua nomor 2 bit, A1A0 dan B1B0 ¾ A1A0 > B1B0
Analisa dilakukan terhadap 2 bit; 1. A1 > B1 maka → F ( A, B ) = A1 • B 1 2. A1 = B1 dan A0 > B0 → F ( A, B) = ( A1 ⊕ B1 )( A0 • B 0 ) Maka persamaan ouputnya:
F ( A1 , A0 , B1 , B0 ) = A1 • B1 + ( A1 ⊕ B1 )( A0 • B 0 ) = A1 • B1 + [( A1 • B1 ) + ( A1 • B1 )]( A0 • B 0 ) = A1 B 1 + A1 A0 B1 B 0 + A1 A0 B1 B 0 Dengan K-MAP dapat disederhanakan menjadi:
A 1 A0
A 1A0 A1A0
B1 B 0 B1 B0
1
1
A1 A0 1
1
1
B1B0 B1 B 0
1
= A1 B1 + A0 B1 B 0 + A1 A0 B 0 Latihan :
Desain suatu rangkaian digital yang membandingan dua nomor 3 bit, A2A1A0 dan B2B1B0, keluaran pembanding tersebut adalah: a. Z = 1, apabila 3 bit bilangan biner yang dibandingkan sama A2A1A0 = B2B1B0 b. Z = 1, apabila A2A1A0 > B2B1B0 c. Z = 1, apabila A2A1A0 < B2B1B0
42
BAB VI RANGKAIAN SEKUENSIAL
VI.I FLIP-FLOP Pada rangkaian logika kombinasional (AND gate-OR Gate-NAND Gate-NOR Gate-Not Gate) keadaan outputnya hanya tergantung pada kondisi inputnya, dimana begitu inputnya berubah maka keadaan outputnya akan ikut berubah pula. Keadaan seperti ini sangat tidak diharapkan untuk tujuan membuat rangkaian memory (pengingat) yang dipergunakan sebagai dasar untuk membuat rangkaian logika pada komputer. Untuk mengatasi hal tersebut diatas, maka diperlukan suatu rangkaian logika yang outputnya tidak selalu tergantung pada inputnya tetapi juga tergantung pada output sebelumnya, sehingga rangkaian ini mempunyai kemampuan mengingat yang baik. Rangkaian seperti ini disebut rangkaian logika sekuensial. Sebagai rangkaian dasar yang dapat dipakai untuk membuat rangkaian logika sekuensial adalah rangkaian Flip-Flop atau disebut juga Bistabil Multivibrator. Rangkaian Flip-Flop pada dasarnya mempunyai dua keadaan stabil sebelum ada pulsa pada inputnya.
VI.I.1. D Flip-Flop Flip-flop D terdiri dari tiga input yaitu D, input clock, input clear. Flip-flop D juga terdapat dua output, yaitu output Q dan output Q . Lambang Flip-flop D dan tabel kebenarannya dapat dilihat pada Gambar 6.1(b) dan Tabel 6.1 pada halaman selanjutnya.
(a) Flip-flop D dibangun dengan Gerbang NAND
43
D
Q
CLK
Q
CLR
(b) D Flip-flop Gambar 6.1 Simbol dan rangkaian Digital D flip flop
Tabel 6.1 Tabel kebenaran D Flip-flop Clr
Clk
D
Q
Q
Keterangan
X
X
X
0
1
Q=0
0
1
1
0
Q=D
1
0
0
1
Q=D
Pada tabel kebenaran terlihat bahwa apabila masukkan clock tidak diberi sinyal clock maka akan terjadi perubahan pada keluaran Q. Bila Flip-flop D tersebut diberi sinyal clock maka masukkan Q akan sama dengan masukkan D atau dengan kata lain masukkan D dapat disimpan dan ditampilkan pada keluaran Q nya. Rangkaian D flipflop adalah sebagai dasar dari rangkaian register.
VI.I.2. JK Flip-flop JK Flip-flop terdiri dari tiga input yaitu input J input K, input clock, input clear dan dua output, yaitu output Q dan output Q. Lambang JK Flip-flop dapat dilihat pada gambar berikut JK Flip-flop terdiri dari empat input yaitu input J, input K, input clock, dan input clear. JK Flip-flop juga terdapat dua output yaitu output Q dan output Q . Lambang JK Flip-flop dan tabel kebenarannya dapat dilihat pada Gambar 6.2 dibawah ini dan Tabel 6.2 halaman selanjutnya.
44
(a) JK Flip-flop dibangun dengan Gerbang logika
(b) JK Flip-flop Gambar 6.2 Simbol dan rangkaian Digital JK flip flop
Sifat dan Karakteristik JK Flip-Flop dapat dijelaskan pada tabel kebenaran berikut Tabel 6.2 Tabel kebenaran JK Flip-flop Clr
Clk
J
K
Q
Q
Keterangan
X
X
X
X
0
1
Q=0
1
1
0
1
0
J
≠ K maka Q = j
1
0
1
0
1
J
≠ K maka Q = j
1
1
1
1
0
Toggle
1
1
1
0
1
Toggle
1
0
0
0
1
Memory
1
0
0
0
1
Memory
45
Pada tabel kebenaran diatas terlihat bahwa keluaran Q JK Flip-flop tergantung dari pemeberian sinyal clock. Bila masukkan clock diberi masukkan perubahan kondisi sinyal dari tinggi ke rendah (sinyal clock), maka output Q akan berubah. Perubahan Q tergantung dari perubahan pada masukkan J dan K. Pada saat masukkan J berlawanan dengan masukkan K maka keluaran Q akan sama dengan masukkan J jika diberi masukkan sinyal clock. Pada saat masukkan J dan K adalah tinggi maka keluaran Q sesudah datang sinyal clock akan berkebalikkan dari keluaran Q sebelum (toggle). Pada saat masukkan J dan K adalah rendah maka keluaran Q sesudah datang sinyal clock akan sama dari keluaran Q sebelum (memory). Masukkan J, masukkan K dan masukkan clock akan berfungsi selama masukkan clear adalah tinggi. Apabila masukkan clear rendah maka apapun masukkan J, masukkan K dan masukkan clock mengakibatkan keluaran Q adalah rendah.
46
VI.2 PENCACAH (COUNTER) Pencacah merupakan suatu rangkaian logika yang berfungsi untuk mencacah jumlah pulsa pada bagian input dan keluaran berupa digit biner, dengan saluran tersendiri untuk pangkat dua 20, 21, 22 dan seterusnya. Pencacah terdiri dari flip-flop yang diserikan dimana keadaan arus keluarannya ditahan sampai ada clock. Adapun rangkaian dasar dari sebuah pencacah adalah seperti terlihat pada Gambar 7.1 berikut.
Keluaran biner
QA
masukkan pulsa
J
Q
masukkan clear
CLR
J
Q
Q
K
CLR
Q
QD
QC
J
Q
K
CLR
J
Q
CLK
CLK
CLK
CLK K
QB
Q
K
CLR
Q 5V
Gambar 6.3 Rangkaian pencacah
Pada rangkaian pencacah menggunakan beberapa buah JK Flip-flop . Dimana rangkaian pencacah tersebut merupakan sebuah counter 4 bit yang dapat menghitung dari 0000 sampai dengan 1111 atau dari 0 sampai 15 dalam desimal. Hasil perhiutngan counter ditampilkan pada output QA, QB, QC, dan QD dimana QA adalah keluaran biner dengan bobot terkecil atau disebut dengan LSB (Least Significant Bit) dan QD adalah keluaran biner dengan bobot terbesar atau disebut MSB (Most Significant Bit). Pada rangkaian masing-masing JK Flip-flop mengubah output Q menjadi kebalikkan dari keluaran awal pada saat pulsa masukkan berubah dari kondisi tinggi ke rendah ( sinyal clock ). Bentuk masukkan pulsa dan keluarannya dapat dilihat pada Gambar 7.2 berikut. 5V
masukkan pulsa
0
5V
QA
0
5V
QB
0
5V
QC
0
5V
QD
0
Gambar 6.4 Masukkan pulsa dan keluaran biner counter.
47
Oleh karena penggunaan counter sangat luas maka rangkaian counter dibuat dalam bentuk IC (Integrated Circuit) yang salah satu diantaranya adalah jenis IC CMOS 4029 yang memiliki beberapa kemampuan yang lebih kompleks, yang diantaranya adalah dapat menghitung maju atau mundur, dapat memberikan nilai awal pada perhitungan pulsa, dapat memberikan pulsa keluaran untuk tiap satu siklus perhitungan pulsa dan kemapuan-kemampuan lain yang menjadikan IC counter tersebut lebih fleksibel dalam penggunaanya. Bentuk IC disertai dengan fungsi-fungsi pinout dapat dilihat pada Gambar 7.3 berikut. +V CLK QC DC DB QB U/D B/D 16
15
14
13
12
11
10
9
7
8
IC 4029 1
2
3
4
PR QD DD DA
5
Ci
6
QA Co GND
Gambar 6.5 IC 4029 dan pinout
Fungsi dan karakteristik tiap pinout sebagai berikut : 1. Input Clock (CLK) berfungsi sebagai masukan pulsa (pin 15) 2. Output Biner QA, QB, QC, dan QD berfungsi sebagai tampilan hasil perhitungan pulsa berupa kode-kode biner (pin 6, 11,14 dan 2). 3. Up/Down (U/D) berfungsi sebagai masukan untuk pengontrolan perhitungan maju dengan diberi masukan tinggi atau perhitungan mundur dengan diberi masukan rendah (pin 10). 4. Binery / Decade (B/D) befungsi sebagai masukan untuk pengontrolan counter pada perhitungan binery yaitu dari 0000(0) sampai 1111(15) dengan diberi masukan tinggi atau perhitungan decade yaitu dari 0000(0) sampai 1001(9) dengan diberi masukan rendah (pin9). 5. Carry in (Ci) berfungsi sebagai masukan untuk pengontrolan penghentian perhitungan pulsa dengan diberi masukan tinggi (pin 5). 6. Carry out (Co) berfungsi untuk memberikan keluaran rendah untuk tiap akhir siklus perhitungan pulsa (pin 7). 7. Preset (PR) berfungsi sebagai masukan untuk menjadikan keluaran counter sama dengan data masukannya yaitu DA, DB, DC, dan DD (pin 4, 12, 13 dan 3) dengan diberi masukan tinggi (pin 1). 8. Ground (GND) dan catuan positif (+V) berfungsi sebagai masukan catuan bagi counter (pin 8 dan 16).
48
VI.3 REGISTER Register merupakan blok logika yang sangat penting dalam kebanyakan sistem digital. Register sering digunakan untuk menyimpan sementara informasi biner yang muncul pada keluaran sebuah matrik pengkodean. Disamping itu, register sering digunakan untuk menyimpan sementara data biner yang sedang dikodekan. Maka register membentuk suatu kaitan yang sangat penting antara sistem digital utama dan kanal-kanal keluaran. Register yang paling sederhana terdiri dari satu flip-flop saja, yang berarti hanya dapat menyimpan data terdiri dari suatu bit bilangan biner saja yaitu 0 atau 1 oleh sebab
itu untuk menyimpan data yang terdiri dari empat bit bilangan biner maka
diperlukan empat buah flip-flop.
VI.3.1 Register PIPO (Paralel Input Paralel Output ) OUTPUT Q2
Q3
D
Q
D
CLK
CLR
Q
D
CLK Q
CLR
Q1
Q
D
CLK Q
CLR
Q0
Q
CLK Q
CLR
Q
clock clear D3
D2
D1
D0
INPUT
Gambar 6.6 Rangkaian register PIPO
Pada Gambar 8.3 diatas menunjukkan regsiter PIPO karena memiliki input paralel dan output berupa saluran data paralel dengan panjang n-bit atau dalam contoh ini 4bit yang dibangun dari kumpulan flip-flop D. Pada register ini data dimasukkan kedalamnya secara serempak melalui saluran D3, D2, D1, D0. Demikian pula ketika register tersebut akan dibaca outputnya, data dikeluarkan secara serempak melalui Q3, Q2, Q1, Q0. Prinsip penyimpanan data pada register adalah memindahkan data yang ada pada inputnya ke outputnya. Penyimpanan data pada regsiter paralel dilakukan dengan cara menempatkan data yang akan disimpan pada input paralel, dan untuk memindahkan data tersebut ke outputnya dilakukan dengan memberikan sebuah pulsa
49
clock. Gambar 8.2 halaman selanjutnya menunjukkan ilustrasi cara penyimpanan data pada
register
paralel.
Pada
gambar
tersebut
dianggap
register
melakukan
penyimpanan data 1011.
CLOCK 0 1 D3 D2
D1
D0
Q3
Q2
Q1
Q0
Saat transfer data paralel terjadi
0 0
0
1 0 1 0 1 0 0
0
1 0 1 0
Gambar 6.7 Cara penyimpanan data 1011
Mula-mula ditempatkan data pada saluran input register yakni D3, D2, D1, D0 = 1011, dan saat terjadinya tepi turun dari clock data dipindah ke output register sehingga Q3, Q2, Q1, Q0 = 1011.
VI.3.2 Register SIPO ( Serial Input Paralel Output ) Selain register PIPO (Paralel Input Paralel Output) yang dapat menyimpan data secara serempak terdapat pula register SIPO (Serial Input Paralel Output) yang melakukan penyimpanan data secara seri dengan memasukkan data bit demi bit. Gambar 8.3 menunjukkan rangkaian register 4-bit yang memiliki 1 bit input dan 1 bit output seri, serta 4 bit output paralel.
50
Q2
Q3
input seri
D
Q
CLK
CLR
D
Q
CLK Q
CLR
output paralel
D
Q1
Q
CLK Q
CLR
Q0
D
Q
CLK Q
CLR
out put seri
Q
Gambar 6.8 Rangkaian register SIPO 4-bit
51
VI.4 MULTIVIBRATOR
Multivibrator adalah suatu rangkaian yang berfungsi untuk menghasilkan pulsapulsa. Yang dimaksud dengan pulsa disini adalah suatu gelombang yang terdiri dari 1 kondisi rendah dan 1 kondisi tinggi. Pada suatu rangkaian Digital, pulsa-pulsa ini memiliki peranan yang amat penting untuk mengeksekusi suatu proses atau mengubah satu kondisi menjadi kondisi berikut dimana pada suatu gelombang pulsa mengandung suatu proses yang disebut dengan sinyal Clock. Yang dimaksud dengan sinyal Clock adalah suatu perubahan atau transisi dari kondisi rendah menjadi kodisi tinggi atau juga sebaliknya dari suatu gelombang pulsa. Sinyal Clock inilah yang memiliki peranan penting pada suatu rangkaian Digital. Multivibrator inilah yang dijadikan sebagai rangkaian yang berfungsi untuk menghasilkan sinyal-sinyal clock dari gelombang pulsa yang dihasilkan. Secara umum ada dua type rangkaian Multivibrator, yaitu Astabel Multivibrator atau yang disingkat dengan AMV dan Monostabel Multivibrator atau yang disingkat dengan MMV. AMV adalah suatu rangkaian Multivbrator yang berfungsi untuk menghasilkan pulsa-pulsa secara terus menerus dengan frekuesi dan lebar pulsa yang tetap, sedangkan MMV adalah suatu rangkaian Multivbrator yang berfungsi untuk menghasilkan hanya 1 pulsa keluaran apabila diberikan satu sinyal trigger kepadanya. Salah satu IC (Integrated Circuit) yang umum digunakan sebagai rangkaian Multivibrator adalah type IC 555. Dengan konfigurasi rangkaian RC yang terhubung ke IC 555 akan dihasilkan suatu rangkaian Multivibrator baik AMV atau MMV. Prinsip kerja dari rangkaian Multivibrator IC 555 dengan rangkaian RC ekstern adalah dengan mengubah waktu pengisian atau pengosongan muatan kapasitor menjadi suatu keluaran logika tinggi atau rendah. Pada waktu pengisian muatan kapasitor akan dihasilkan keluaran tinggi dan pada waktu pengosongan muatan kapasitor akan dihasilkan keluaran rendah oleh output IC 555.
VI.4.1 Operasi Astabil Multivibrator Astabil Multivibrator adalah sebuah rangkaian penghasil frekuensi keluaran dengan bentuk gelombang pulsa dimana besar frekuensi keluaran ditentukan oleh nilai dari komponen yaitu nilai dari komponen R (resistor) dan C (kapasitor). Gelombang pulsa yang dihasilkan akan terus berjalan selama AMV diaktifkan.
52
Nilai frekuensi yang akan dihasilkan oleh astabil multivibrator adalah sebesar:
Fout =
4.76 RC
Gambar 6.9 Rangkaian AMV
VI.4.2 Operasi Monostabil Mulitvibrator (MMV) Operasi Monostabil Multivibrator Sebuah rangkaian penghasil frekuensi dengan bentuk gelombang pulsa dimana akan menghasilkam frekuensi apabila diberi input trigger. Nilai lebar frekuensi yang dihasilkan oleh Monosatbil Multivibrator adalah sebagai berikut. W = 1,1 RC Rangkaian terintegrasi (IC) AMV dengan IC 555 ditunjukkan seperti Gambar dibawah.
53
V+
R 8 6
f out
IC 555
7
V trigger
2 1
C
Gambar 6.10 Rangkaian MMV dengan IC 555
Adapun rangkaian AMV dan MMV dengan IC 555 diperlihatkan pada gambar berikut. +V
+V
RA
R
8 7
8 7
F out RB
6
IC 555
6
3
T rig g e r n e g a tif
2
C
IC 555
T out 3
2
1
AMV
C
1
MMV
Gambar 6.11 Rangkaian AMV dan MMV dengan IC 555
54
DAFTAR PUSTAKA
1. Digital System Design second Edition, Wilkinson, Prentice hall. 2. Digital System Principles and Application fifth edition, Tocci, Prentice Hall.
3. Introduction to Switching Theory and Logical Design, Frederick J. Hill, Jhon Wiley & Son.
55