Anda di halaman 1dari 28

TUGAS MAKALAH

RANGKAIAN KOMPARATOR

Disusun Oleh : Nama NIM Jurusan : Gilang Candra Kusuma : 41412110118 : Teknik Elektro

PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS MERCUBUANA JAKARTA 2013

5. Rangkaian Comparator

5.1. Rangkaian Comparator Rangkaian Comparator adalah satu jenis penerapan rangkaian kombinasional yang mempunyai fungsi utama membandingkan dua data digital. Hasil pembandingan itu adalah, sama, lebih kecil, atau lebih besar. Dari dua data digital yang hanya terdiri dari 1 bit yang dibandingkan, kemudian dapat diperluas menjadi dua data digital yang terdiri dari lebih dari 1 bit seperti dua bit, tiga bit, dst. Komparator (ejaan Bahasa Indonesia) banyak digunakan misalnya pada mesin penyeleksi surat, baik ukuran dimensinya, berat surat, kode area (berdasarkan bar-code), dsb. Data angka umumnya paling sedikit terdiri dari dua bit. Namun di dalam bilangan desimal, angka yang terbesar yang dapat diwakili oleh dua bit ini ialah angka 3 (11 dalam sistem biner). Apabila kita ingin membandingkan angka-angka yang lebih besar tentunya sistem pembanding itu tidak dapat digunakan lagi sehingga kita perlu rnerancang sistem yang baru yang sesuai dengan kebutuhan. Jadi setiap ada perubahan untuk membandingkan angka yang lebih besar yang diluar kemampuan sistem pembanding tersebut, kita harus merancangnya lagi. Hal sepertinya tidaklah menguntungkan. Oleh karena itulah kita harus rancang suatu sistem pembanding sedemikian rupa sehingga setiap sistem ini dapat saling dihubungkan satu sama lain untuk membentuk sistem pembanding yang lebih besar. Dengan kata lain, untuk kepentingan pembandingan yang dapat mengakomodasi semua bilangan, maka harus dirancang satu sistem praktis untuk itu.

5.1.1. Komparator untuk Dua bit data Misalkan kita ingin merancang suatu alat pembanding (comparator) yang akan membandingkan dua angka dan memberkan hasilnya, yaitu angka yang satu lebih kecil, lebih besar, atau sama dengan angka yang satunya. Sistem pembanding ini digambarkan secara garis besar sebagai sebuah kotak hitam yang hanya diketahui fungsinya saja. Kotak hitam dari sistem ini dapat dilihat pada Gbr. 5-1 berikut ini.

Sistem pembanding ini mempunyai 2 Input A dan B yang masing-masing terdiri dan 2 bit dan 3 output yang masing-masing terdiri dari 1 bit untuk menunjukkan hasil perbandingan tersebut yaitu, A>B, A<B, dan A=B. Cara kerja sistem ini sangatlah sederhana. Setiap waktu hanya ada satu output yang bernilai BENAR. Output A>B akan bernilai 1 apabila nilai A lebih besar dari B. Demikian juga halnya dengan output A<B dan A=B yang bernilai 1 apabila nilai A lebih kecil dari B dan apabila nilai A sama dengan B. Gbr. 5-2 menggambarkan tabel kebenaran dari sistem ini.

Gbr. 5-1 Diagram blok Comparator

Gbr. 5-2 Tabel kebenaran sistem Komparator Sistem ini akan mempunyai 3 persamaan logika karena adanya 3 output. Oleh karena itu kita akan sederhanakan dan peroleh persamaan logikanya satu persatu. Gbr.

5-3, 5-4, dan 5-5 menunjukkan penyederhanaan dan persamaan logika yang di peroleh untuk output-output A > B, A < B, dan A = B.

Gbr. 5-3 Persamaan logika untuk A > B

Gbr. 5-4 Persamaan logika untuk A < B

Gbr. 5-5 Persamaan logika untuk A = B Jika diperhatikan, persamaan logika dari ketiga output tersebut dinyatakan dalam 4 variabel inputnya yaitu A1, A0, B1, dan B0. Hal ini menunjukkan bahwa setiap outputnya tergantung pada input-inputnya. Di dalam mendesain sistem pembanding yang sebenarnya dengan menggunakan komponen-komponen digital, kita ingin

berusaha untuk mengurangi jumlah ICs/komponen yang digunakan. Suatu penghematan yang jelas dan mudah di peroleh dengan mengamati persamaan-persamaan logika yang di peroleh adalah dengan adanya kanonical term yang sama di antara persamaanpersamaan logika tersebut. Sebagai contohnya dalam desain sistem pembanding ini ialah kanonikal term A0.A1.B0 yang terdapat pada persamaan logika untuk output A > B dan A < B. Hal ini berarti bahwa hanya satu rangkaian yang perlu dibangun untuk kanonikal term ini sehingga output A > B dan A < B akan menggunakannya bersama. Perlu diingat juga bahwa pada sistem ini hanya akan ada satu output yang akan bernilai BENAR=1 untuk setiap kombinasi inputnya; sebagai contohnya untuk input 01 (A1 & A0) dan 11 (B1 & B0) hanya output A < B yang akan bernilai BENAR=1. Dengan menyadari hal semacam ini, maka akan menolong kita untuk mengetahui apabila sistem tersebut tidak bekerja dengan semestinya misalnya jika output A < B dan A = B memberikan nilai BENAR untuk contoh input di atas tadi.

5.1.2. Komparator untuk > Dua bit data Satu sistem pembanding sederhana (hanya 2 bit) telah dibahas pada Bagian-14.1 di atas. Tetapi untuk keperluan pembandingan yang lebih dari 2 bit, karena memang kenyataan angka desimal terbesar yang dinyatakan dalam biner adalah angka 3 (11), maka harus dirancang satu komparator lain untuk fungsi pembandingan tersebut. Komparator tersebut mempunyai kotak hitam berbeda dengan Gbr.14-1, yaitu mempunyai tiga input tambahan, IA<B, IA>B, dan IA=B seperti yang ditunjukkan pada Gbr.5-6. Ketiga input tambahan ini dimaksudkan untuk dihubungkan ke output dari sistem komparator yang lainnya apabila sebuah sistem pembanding lebih besar ingin dibentuk. Oleh karena itulah, ketiga input tambahan itu disebut sebagai cascading input.

Gbr. 5-6 Kotak hitam Komparator yang disempurnakan. Komparator yang ditunjukkan pada Gbr.5-6 itu adalah untuk membandingkan angka-angka yang besarnya 2 bit saja. Tetapi komparator ini dapat digabungkan untuk membentuk alat pembanding gang lebih besar yang tentunya berukuran kelipatan dari 2. Sebagai contoh, sistem pembanding untuk 6 bit dapat dibentuk dengan menggunakan 3 buah komparator tersebut seperti yang ditunjukkan pada Gbr.5-7. Sistem pembanding yang paling kanan disebut sebagai LSW (Least Significant Word) dan sistem pembanding yang paling kiri disebut MSW (Most Significant Word).

Gbr. 5-7 Komparator 6 bit

Perhatikan bahwa ketiga cascading input dari LSW-nya harus diberikan nilai konstan seperti anda dapat lihat pada Gbr.5-7, yaitu IA>B = 0, IA=B = 1, dan IA<B

= 0. Tujuannya ialah untuk menetralkan komparator tersebut sehingga nilai perbandingan pada LSW itu hanya bergantung pada inputnya (A1, A0, B1, dan B0) saja. Sebagai contoh, output A>B dari LSW itu akan bernilai 1 apabila A lebih besar

dari B, output A<B = 1, apabila A lebih kecil dari B, dan A=B = 1 apabila A sama dengan B. Tetapi apa yang terjadi kalau cascading input ini tidak diberikan nilai konstan seperti itu. Misalnya apabila nilai konstan dari cascading inputnya adalah IA>B = 1, IA<B = 0, dan IA=B = 0, maka LSW ini akan mengeluarkan output A>B = 1 apabila A sama dengan B. Hal ini karena LSW itu menganggap bahwa nilai dari A yang sebelumnya adalah lebih besar dari B.

5.1.3. Merancang Komparator dengan komponen baku Marilah kita desain komparator ini yang tentunya kita tahu bahva tabel kebenarannya harus diperoleh terlebih dahulu. Tabel kebenaran untuk komparator ini yang ditunjukkan pada Gbr.5-8 adalah agak berbeda dengan tabel kebenaran yang sebelumnya, karena tabel ini tidak menggunakan nilai-nilai biner untuk input-input A dan B-nya. Hal ini dimaksudkan untuk mempermudah penganaliaaan operasi dari komparator tersebut sama seperti penggunaan angka desimal dalam teknik QuineMcClusky1. Baiklah, sekarang kita bahas bagaimana tabel kebenaran itu diperoleh. Baris pertamanya diperoleh dengan mengingat bahwa apabila A1>B1 maka tidak perduli apa saja nilai dari input-input lainnya; output A>B akan bernilai 1 karena Al dan B1 merupakan MSBnya. Baris-baris yang lainnya dapat mudah dimengerti dengan mengingat apabila dituliskan A1>B1 berarti A1 = 1 dan B1 = 0, A1=B1 berarti A1 sama dengan B1, dan apabila A1<B1 berarti A1 = 0 dan B1 = 1. Perhatikan bahwa tiga baris terakhirnya mempunyai kondisi yang sama, yaitu, A1=B1 dan A0=B0, sehingga outputnya akan tergantung pada nilai dari cascading inputnya.

Gbr. 5-8 Tabel kebenaran satu Komparator dgn cascading input. Tanpa perlu menyederhanakannya juga kita peroleh persamaan-persamaan logika untuk semua outputnya sebagai berikut:
1. [A>B] = [A1>B1] + [(A1=B1)(A0>B0)] +[(A1=B1)(A0=B0)(IA>B)(IA<B)(IA=B)] 2. [A<B] = [A1<B1] + [(A1=B1)(A0<B0)] + [(A1=B1)(A0=B0) )(IA>B)(IA<B)(IA=B)] 3. [A=B] = [(A1=B1)(A0=B0)(IA>B)(IA<B)(IA=B)]

Seperti kita lihat persamaan-persamaan tersebut di atas masih menggunakan kondisi-kondisi seperti A1>B1 dan lain-lainnya yang harus diimplementasikan dengan menggunakan operator-operator baku atau dasar. Dengan mensubstitusikan kondisikondisi yang diperoleh pada Gbr. 5-9 tersebut, maka persamaan-persamaan itu dapat dituliskan lagi sebagai berikut:
(1).[A>B] =[A1.B1]+[(A1B1)(A0)(B0)]+[(A1B1)(A0B0)(IA>B)(IA<B)(IA=B)] (2).[A<B] =[A1.B1]+[(A1B1)(A0)(B0)]+[(A1B1)(A0B0)(IA>B)(IA<B)(IA=B)] (3).[A=B] =[(A1B1)(A0B0) (IA>B)(IA<B)(IA=B)]

Implementasi semua kondisi itu ditunjukkan pada table berikut. 1. Menyusun suatu rangkaian logika dengan menggunakan gerbang dasar NAND (maksimum 4 NAND) untuk mendapatkan NOT, AND, OR, NOR dan EXOR.

Gerbang NOT (A.A) = A Gerbang AND ((A.B).(A.B)) = A.B Gerbang OR ((A.A).(B.B)) = (A.B) = A+B

Gerbang NOR (((A.A).(B.B)). ((A.A).(B.B))) = ((A.B). (A.B)) = (A.B) = (A+B) Gerbang EXOR ((A.(A.B)).((A.B).B)) = ((A.(A+B)).((A+B).B)) = ((A.A + A.B).(AB+BB)) = ((A.B).(AB)) = (A.B + AB) = A.B + AB = AB

2. Menyusun suatu rangkaian logika dengan menggunakan gerbang dasar NOR (maksimum 4 NOR) untuk mendapatkan NOT, OR, AND, NAND dan EXNOR. Gerbang NOT (A+A) = A Gerbang OR ((A+B)+(A+B)) = (A+B) = A+B

Gerbang AND ((A+0) + (B+0)) = (A + B) = A.B

Gerbang NAND (((A+A)+(B+B))+((A+A)+(B+B))) = ((A+B) + (A+B)) = (A+B) = (A.B) Gerbang EXNOR ((A+(A+B))+ (B+(A+B))) = (A.(A+B)+ B.(A+B) = (A.A+A.B + A.B+BB) = (A.B + A.B) = (AB)

5.2. Rangkaian Decoder Rangkaian Decoder merupakan rangkaian kombinasional yang berfungsi

mengkodekan kembali (menafsirkan) kode pada inputnya menjadi data pada outputnya. Pada dasarnya merupakan kumpulan gerbang AND sehingga dapat digunakan sebagai pembangkit fungsi. Satu contoh decoder misalnya, BCD-to-7 segment, yaitu alat peraga LED (light emitting diode, dari bahan GaAs-gallium arsenida) yang tersusun dalam tujuh larik berbentuk peraga angka atau representasi huruf. Peraga 7-segment tersebut tampilannya langsung dapat kita mengerti, sementara kode BCD 4 bit yang merupakan inputnya, tidak dapat langsung kita mengerti. Rangkaian decoder berada pada sisi terima yang merupakan pasangan encoder yang berada pada sisi kirim. Mengkonversi sebuah n-bit code ke dalam sebuah 1 (satu) output yang aktif (low/high) Decoder mengubah informasi biner dari n saluran input menjadi maximum 2n saluran output. Sebagai contoh: banyaknya input n=3 maka banyaknya saluran output adalah m=23 . Jumlah masukan (input) < Jumlah Keluaran (Output) Hanya satu output yang aktif(low/high) dari banyak input yang diberikan

5.2.1. Diagram Blok Decoder Sama halnya seperti DEMUX terhadap MUX, DECODER inipun merupakan kebalikan dari ENCODER. Apabila ENCODER mempunyai 2n input dan n output, maka DECODER mempunyai n input dan 2n output. Diagram simbol umum dari decoder ditunjukkan pada Gbr. 13-1

Gbr. 5-9 Diagram blok DECODER Decoder berfungsi untuk mengaktifkan salah satu outputnya yang sesuai dengan kombinasi N inputnya. Oleh karena itu, secara ideal sebuah N input DECODER akan mempunyai 2N output. Tetapi secara kenyataan, hal ini tidak selalu demikian Sebagai contohnya, BCD-to-7-segment DECODER (SN 7446 atau 7447, data IC bersangkutan dilampirkan dalam Modul-9 ini) yang digunakan untuk mengoperasikan 7-segment, hanya mempunyai 7 output saja (tidak 16 output) walaupun mempunyai 4 input (2N = 16). Untuk mengerti lebih jelas cara bekerjanya decoder ini, marilah kita bahas desain dari sebuah DECODER 3-to-8 seperti yang ditunjukkan pada Gbr. 5-10 berikut dengan tabel kebenarannya.

Gbr. 5-10 Simbol dan Tabel Kebenaran decoder 3-to-8.

Seperti dapat kita lihat dari tabel kebenaran pada Gbr. 5-10, untuk setiap saat hanya ada satu output saja yang diaktifkan yaitu output yang berhubungan dengan kombinasi inputnya, misalnya Y0 oleh CBA = 000 dan Y5 oleh CBA = 101.

Kita dapat peroleh persamaan logika untuk masing-masing outputnya tanpa perlu menyederhanakannya lagi. Persamaan-persamaan logikanya ialah : Y0 = C.B.A Y1 = C.B.A Y2 = C.B.A Y3 = C.B.A Y4 = C.B.A Y5 = C.B.A Y6 = C.B.A Y7 = C.B.A Rangkaian digital untuk DECODER 3-to-8 ini ditunjukkan pada Gbr.13-3. Decoder 3-to-8 dapat diimplementasikan dengan menggunakan IC 74138 yang telah disinggung pada Modul-7, yaitu, IC tersebut berfungsi ganda, sebagai Decoder 3-to-8 dan sebagai Demultiplexer 1-to-8. Penggunaan IC 74138 sebagai decoder ditunjukkan pada Gbr. 5-11.

Gbr. 5-11 Rangkain Decoder 3-to-8

Decoder pada umumnya termasuk tipe 8-to-3 ini sering disebut dengan namanama yang berbeda seperti : 1. DECODER 3-to-8 karena decoder ini mempunyai 3 input dan 8 output. 2. DECODER BINARY-to-OCTAL karena decoder ini menerima input yang berupa bilangan binari sebanyak 3 bit dan mengaktifkan salah satudari kedelapan outputnya yang berhubungandengan kornbinasi inputnya. 3. DECODER 1 of 8 karena hanya satu dari kedelapan output decoder ini yang dapat aktif pada satu kondisi.

Satu tipe yang lain decoder yang sering digunakan adalah BCD-to-Decimal decoder yang mempunyai 4 input dan 10 output dengan seri 7442 (data pin assignment, tabel fungsi, dan rangkaian digitalnya dilampirkan pada Modul-9 ini).

Gbr. 5-12 Penggunaan IC 74138 sebagai decoder 3-to-8. Langkah perancangan satu decoder dimulai dengan menuliskan tabel kebenaran atau tabel fungsi decoder tersebut yang kemudian diikuti tahapan selanjutnya sebagai berikut : 1. Menyusun tabel fungsi yang diperlukan/ditentukan pada decoder. 2. Menyusun persamaan logika masing-masing outputnya dengan melihat semua kondisi logika 1 output tersebut dan menjalinnya sebagi fungsi AND. 3. Membuat rangkaian digitalnya.

5.2.2. Beberapa Aplikasi Beberapa aplikasi dari decoder adalah : 1) Memory Address Decoding, dan 2) Implementasi persamaan Boole

Kedua aplikasi ini akan dibahas satu per satu pada bagian berikut beberapa pengertian tambahan yang ditempatkan pada catatan kaki.

5.2.3. . Memory Address Decoding Yang dimaksud dengan Memory Address Decoding adalah penggunaan decoder dalam pengalamatan memory oleh suatu sistem digital karena tidak tersedianya ukuran kapasitas memory yang dikehendaki. Mlsalkan kita mempunyai suatu sistem digital yang fungsinya untuk membaca data dari sebuah memory (ROM, read only memory) yang berukuran 1k x 8 (1024 elemen data yang masing-masing 8 bit). Kita tahu bahwa untuk membaca data dari ROM dengan ukuran 1 kilo2 ini kita perlukan log2 1024 = 10 bit address-bus3. Kesepuluh address-bus ini ditunjukkan pada Gbr. 13-5 yang dinamakan A0, A1, A2, sampai A13. Apabila kita dapat peroleh satu chip/ICs untuk ROM dengan ukuran 1kilo x 8 ini maka tentunya kita tidak perlu lagi menggunakan teknik decoding. Misalkan ukuran ROM yang tersedia adalah 256 x 8, sehingga kita memerlukan 4 buah chip seperti ini untuk memenuhi kebutuhan. Untuk memberikan alamat satu ROM 256x8 ini, kita hanya mempunyai 8 bit (1 byte) address bus saja. Hal ini berarti kita harus mempunyai ekstra 2 bit address bus. Kedua ekstra bit ini digunakan untuk memilih salah satu dari keempat ROM 256x8 dengan menggunakan sebuah DECODER 2-to-4 seperti yang ditunjukkan pada Gbr. 513 itu.

Gbr. 5-13 Rangkaian Memory Address Decoding

Total address dari seluruh 1 kilo memory ini adalah dari 0000000000 sampai 1111111111. Tetapi dengan digunakannya decoder tersebut, maka kapasitas yang dikehendaki terpenuhi. Dengan implenetasi decoder tersebut, maka memory address bertambah dan dibagi dalam 4 kelompok, yaitu : 1. Dari 0000000000 ~ 0011111111 untuk ROM 0 2. Dari 0100000000 ~ 0111111111 untuk ROM 1 3. Dari 1000000000 ~ 1000000000 untuk ROM 2 4. Dari 1100000000 ~ 1111111111 untuk ROM 3. Ketika dikehendaki alamat tertentu dengan delapan bit pertama (A0~A7), maka keempat ROM tersebut semuanya mempunyai alamat yang delapan bit itu. Tetapi dua bit berikutnya (A8 dan A9) yang akan menentukan ROM mana data tersebut berada. Bila A8A9 = 00, maka data berada pada ROM 0, karena output 0 decoder 2-to-4 yang aktif (memberikan logika 0 pada ROM 0).

5.2.4 Implementasi Persamaan Boole Persamaan logika juga dapat diwujudkan dengan menggunakan decoder karena fungsi satu decoder inipun dapat diwujudkan dengan menggunakan demux. Memang perbedaannya tidaklah jauh. Implementasi dengan decoder lebih sederhana sedikit yaitu kita tidak perlu mengaktifkan input DATA apa-apa karena decoder ini tidak mempunyai input DATA seperti halnya demux. Untuk mempermudah pembahasannya marilah kita

desain kembali Gbr. 7-9 pada Modul-7 yang lalu dengan menggunakan decoder. Persamaan Boole yang dirancang adalah Y = A.B.C + A.B.C + A.B.C + A.B.C. Desain tersebut diperlihatkan pada Gbr. 5-14.

Gbr. 5-14 Implementasi persamaan Boole dengan decoder.

Untuk lebih menjelaskan penggunaan IC 74138 dimaksud, dikutip kembali Gbr.7-7 yang menggambarkan pin tersambung pada implementasi tersebut (Gbr. 13-6). Dalam hal ini, input DATA tidak digunakan dengan jalan menghubungkan pin tersebut ke GND. Sedang input A, B, dan C pada Gbr. 5-15 adalah input A, B, dan C pada Gbr. 13-7.

Gbr. 5-15

Implementasi DEMUX IC 74138 sebagai decoder.

5.3

Rangkaian Encoder Rangkaian Encoder yang dibahas dalam modul ini adalah rangkaian encoder di

bidang informasi data. Pada dasarnya rangkaian ini berfungsi mengubah sajian dat dari format aslinya (dapat langsung dimanfaatkan/diketahui) menjadi sajian data untuk

keperluan penyaluran. Encoder berada di sisi kirim satu sitem penyaluran data, sementara unit pasangannya yang berada di sisi terima. Satu contoh misalnya, decimal to BCD encoder yang biasa terpasang pada unit peraga 7-segment. Awal format data adalah dalam bentuk pengkodean decimal yang langsung dapat diketahui artinya, yaitu pernyataan angka 0 sampai 9. Sedang bentuk hasil pengubahan encoder tersebut adalah kode BCD (binary coded decimal) yang dinyatakan dalam 4 bit data biner (angka 0 ~ 9) yang tidak dapt dimengerti langsung isyaratnya tanpa alat pembantu.

5.3.1 Diagram Blok Encoder Sama halnya seperti DEMUX terhadap MUX, encoder inipun merupakan kebalikan dari decoder. Apabila decoder mempunyai n input dan 2n output maka encoder ditunjukan pada gambar 5-16.

Gbr. 5-16 Diagram blok encoder Fungsi encoder ini adalah untuk memberikan kode biner dari input sinyalnya. Sebagai contohnya, apabila input yang ke tiga encoder diaktifkan, maka outputnya akan memberikan nilai biner yang mewakili decimal 3 yaitu 11. Salah satu encoder yang umum digunakan adalah decimal to BCD encoder seperti telah disinggung di atas yang sudah terbentuk satu chip IC seri 74147. 5.3.2 Mendesain encoder dengan komponen baku Marilah kita bahas desain sebuah encoder 8-to3 yang berfungsi kebalikan dari decoder 3-to-8. Symbol dan table kebenarannya ditunjukkan pada gambar 5-17.

Gbr. 5-17 Simbol dan Tabel kebenaran encoder 8-to-3 Seperti dapat kita lihat pada table kebenarannya, output C, B, A selalu merupakan nilai biner dari inputnya yang aktif. Hal ini merupakan operasi kebalikan dari decoder. Kita juga dapat peroleh persamaan logika untuk C, B, dan A langsung tanpa perlu menyederhanakannya lagi yaitu : C = 14 + 15 + 16 + 17 B = 12 + 13 + 16 + 17 A = 11 + 13 + 15 + 17 Melihat persamaan tersebut menunjukan bahwa, persamaan pada dasarnya dinyatakan dalam bentuk JDP, serta output C adalah MSB bilangan biner dan output A adalah LSB bilangan binner tersebut. Rancangan lengkap rangkaian decoker tersebut ditunjukan pada gambar 5-18.

Gbr. 5-18 Rangkaian encoder 8-to-3 Perhatikan sekarang satu masalah yang terdapat pada desain encoder di atas yaitu keadaan yang akan ditimbulkan apabila lebi dari satu input yang aktif pada waktu

bersamaan seperti misalnya, apabila input 11 dan 12 bersama-sama mempunyai nilai 1, maka output CBA = 011. Output CBA itu sebetulnya muncul bila input 13 = 1. Oleh karena itulah desain ini harus disempurnakan sehingga masalah seperti itu tidak akan muncul walaupun semua inputnya bernilai 1 pada waktu bersamaan. Desain yang dimodifikasi dimaksud dikenal dengan istilah priority encoder. Priority encoder adalah encoder yang menggunakan prioritas pada semua inputiputnya seperti misalnya input-10 berprioritas terendah input-17 yang berprioritas tertinggi. Oleh karena itu apabila ada beberapa input yang bersamaan bernilai 1, maka hanya input berprioritas lebih tinggi yang akan diproses. Sebagai contohnya input-15 akan diproses sendiri apabila ia bernilai 1 walaupun secara bersama-sama input-11 dan 14 juga bernilai 1. Perhatikan juga pada Gbr. 5-18, bahwa input-10 sebenarnya tidak digunakan sama sekali karena ketiga output C, B, dan A tidak dipengaruhi oleh kondisi input-10 sama sekali. Oleh karena itu, kita tidak memerlukan input khusus untuk 10. Tabel kebenaran (Tabel 8-1) dari Priority ENCODER 8-to-3 ini ditunjukkan pada Gbr. 5-19. Tabel kebenaran ini diperoleh dengan langkah sebagai berikut :

1. Baris pertamanya diperoleh karena kita mengingat bahwa 17 berprioritas tertinggi sehingga apabila 17 = 1, maka tak perduli apabila 10 sampai 16 itu bernliai 1 atau 0, output CBA = 111.

2. Baris kedua diperoleh karena kita mengingat bahwa apabila 16 = 1 dan 17 = 0 maka CBA = 110, tak perduli apa nilai dari kelima input lainnya.

3. Baris-baris yang lainnya juga diperoleh dengan menggunakan logika yang sama.

Tabel 1. Tabel kebenaran Priority ENCODER 8-to-3 10 X X X 11 X X X 12 X X X 13 X X X 14 X X X 15 X X 1 16 X 1 0 17 1 0 0 C 1 1 1 B 1 1 0 A 1 0 1

X X X X 1

X X X 1 0

X X 1 0 0

X 1 0 0 0

1 0 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

1 0 0 0 0

0 1 1 0 0

0 1 0 1 0

Tanpa perlu menyederhanakan lagi, persamaan-persamaan logika untuk masingmasing outputnya dapat diperoleh sebagai berikut : C = (17) + (17'.16) + (17.16.15) + (17.16.15.14) B = (17) + (17'.16) + (17.16.15.14.13) + (17.16.15.14.13.12) A = (17) + (17'.16.15) + (17.16.15.14.13) + (17.16.15.14.13.12.11)

Rangkaian selengkapnya satu Encoder 8-to-3 berdasarkan persamaan logika CBA di atas ditunjukkan pada gambar 4.

Gbr. 5-19 Rangkain Priority Encoder 8-to-3 Perhatikan bahwa input-10 juga ttdak digunakan sama sekali pada rangkaian logis untuk C, B, dan A maupun pada rangkaian digitalnya yang ditunjukkan pada Gbr. 8-4 dengan alasan yang sama seperti pada rangkaian ENCODER Gbr. 8-3. Begitu juga halnya dengan IC seri 74147 yang merupakan ENCODER 10-to-4 tetapi hanya

berinputkan sembilan buah saja karena input-10 diabaikan. Priority ENCODER 8-to-3 ini dapat diperoleh dengan IC seri 74148 yang skematik, rangkaian digital, dan tabel fungsinya dapat dilihat pada TTL Data Book.

5.3.3 Beberapa Aplikasinya Beberapa aplikasi ENCODER yang umum adalah : 1. 2. Priority Interrupt Selector dan Keyboard Encoding.

5.3.31 Priority interrupt Selector Sebuah sistem komputer terdiri dari beberapa bagian yaitu, CPU (Central Processing Unit) yang merupakan otak dari sistem komputer tersebut. Selanjutnya, Memory, dan Input/Output devices (I/O devices). CPU ini mengontrol seluruh komunikasi antara memory dan I/O devices seperti keyboard, printer, terminal, disk drives, dan lain-lain. Dikarenakan oleh banyaknya I/O devices yang memerlukan bantuan CPU untuk berkomunikasi dan keterbatasan CPU ini yang hanya dapat berkomunikasi dengan I/O devices tersebut satu persatu, sebuah Priority ENCODER diperlukan untuk mengontrol komunikssi ini sehingga semua I/O devices ini dapat dilayani satu persatu.

Gbr. 5-20 Rangkain Priority Interupt Selector Di dalam desain-desain komputer yang modern, sebuah sinyal yang disebut Interrupt digunakan oleh masing-masing device untuk memberitahukan CPU bahwa ia mau berkomunikasi dengannya. Kemudian sebuah priority ENCODER digunakan untuk memberitahukan kepada CPU siapa pengirirn sinyal interrupt itu. Misalkan bila terdapat

delapan device yang digunakan oleh suatu sistem komputer, maka sebuah Priority ENCODER 8-to-3 akan diperlukan. Desainnya ditunjukkan pada Gbr. 5-20.

5.3.3.2 Keyboard encoding Seperti kita ketahui, kalkulator merupakan alat penghitung yang populer di masyarakat hingga masa kini. Sebuah kalkulator yang sederhana hanya berfungsi untuk menambah, mengurang, mengali, dan membagl. Kalkulator ini biasanya mempunyai keyboard yang berisi tombol-tombol untuk angka 0 sampai 9 dan tombol-tombol fungsi seperti x, , +, C; dan lain-lain. Bagaimanakah sistem digital yang tentunya terdapat di dalam kalkulator tersebut dapat membedakan tombol yang mana yang ditekan sehingga sistem itu dapat menentukan operasi apa yang harus dilakukan. Untuk itulah sebuah ENCODER diperlukan untuk menghubungkan keyboard ini ke sistem digltalnya. Aplikasi ini dilukiskan pada Gbr. 5-21.

Gbr. 5-21 Rancangan keyboard encoding kalkulator

5.4

MULTIPLEXER Multiplexer adalah suatu rangkaian yang mempunyai banyak input dan hanya

mempunyai satu output. Dengan menggunakan selector, kita dapat memilih salah satu inputnya untuk dijadikan output. Sehingga dapat dikatakan bahwa multiplexer ini mempunyai n input, m selector , dan 1 output. Biasanya jumlah inputnya adalah 2m selectornya.

Gbr. 5-22 Blok Diagram Logika Multiplexer Adapun macam dari multiplexer ini adalah sebagai berikut: o Multiplexer 4x1 atau 4 to 1 multiplexer o Multiplexer 8x1 atau 8 to 1 multiplexer o Multiplexer 16x1 atau 16 to 1 multiplexer dsb. Gambar 5-23. berikut adalah symbol dari multiplexer 4x1 yang juga disebut sebagai data selector karena bit output tergantung pada input data yang dipilih oleh selector. Input data biasanya diberi label D0 s/d Dn. Pada multiplexer ini hanya ada satu input yang ditransmisikan sebagai output tergantung dari kombinasi nilai selectornya. Kita misalkan selectornya adalah S1 dan S0, maka jika nilai : S1 S0 = 00 Maka outputnya (kita beri label Y) adalah : Y = D0 Jika D0 bernilai 0 maka Y akan bernilai 0, jika D0 bernilai 1 maka Y akan bernilai

Gbr. 5-23 Simbol Multiplexer 4x1

Adapun rangkaian multiplexer 4x1 dengan menggunakan strobe atau enable yaitu suatu jalur bit yang bertugas mengaktifkan atau menonaktifkan multiplexer, dapat kita lihat pada gambar 5-24 berikut ini.

Gbr. 5-24 Rangkaian Gerbang Logika Multiplexer 4x1 Suatu desain dari rangkaian logic biasanya dimulai dengan membuat tabel kebenaran. Seperti telah kita ketahui bahwa kita mengenal ada 2 macam metode yang diterapkan pada tabel kebenaran, yaitu metode sum of product (SOP) dan metode product of sum (POS). Nah pada bagian ini kita kenalkan dengan metode yang ketiga yaitu multiplexer solution. Pada kenyataannya, kita dapat merancang suatu multiplexer 8x1 dari multiplexer 4x1 atau multiplexer 16x1 dari multiplexer 8x1 dan seterusnya. Jika kita anggap selector
n n-1 n n-1

sebagai n, maka kita dapat membuat multiplexer 2 x1 dari multiplexer 2 x1. Dengan kata lain kita memfungsikan multiplexer 2 x1 sebagai multiplexer 2 x1. Jika kita menterjemahkan suatu kasus sebagai suatu fungsi F : F(A, B, C ) = (1, 3, 5, 6) Dimana parameter fungsi tersebut A, B, C adalah merupakan selector dari multiplexer dan sisi sebelah kanan fungsi adalah output yang diinginkan dari multiplexer. Tanda beserta parameter berikutnya adalah merupakan bentuk SOP (sum of product). Ada beberapa keuntungan yang dapat diperoleh dari rangkaian multiplexer: host hanya butuh satu port I/O untuk n terminal hanya satu line transmisi yang dibutuhkan menghemat biaya penggunaan saluran komunikasi memanfaatkan sumberdaya seefisien mungkin

Menggunakan kapasitas saluran semaximum mungkin Karakteristik permintaan komunikasi pada umum- nya memerlukan penyaluran data dari beberapa terminal ke titik yang sama

5.5

DEMULTIPLEXER
Sebuah Demultiplexer adalah rangkaian logika yang menerima satu input data

dan mendistribusikan input tersebut ke beberapa output yang tersedia. Seleksi datadata input dilakukan oleh selector line, yang juga merupakan input dari demultiplexer tersebut.

Ada beberapa point dari rangkaian demultiplexer : Merupakan kebalikan dari Multiplexer Mempunyai satu input data dan beberapa output ( yang decontrol oleh selector untuk menentukan keluaran yang diinginkan) Merupakan Data Distributor (Pendistribusi data ) Jumlah masukan (1 Input) <Jumlah Keluaran (Output)

Gbr. 5-25 Blok Diagram Logika Demultiplexer

IC 74139 Demultiplexer2-4 jalur( 2 selector dan 4 jalur output )

Gbr. 5-26 Logic Simbol

IC 74139 Demultiplexer 2 - 4 jalur

Gbr. 5-27 Logic Diagram

IC 74139 Demultiplexer 2-4 jalur

Gbr. 5-28 Koneksi input dan output

IC 74154 Demultiplexer 16 jalur

Gbr. 5-28 Demultiplexer74154 me-ru tekan sinyal input ke output nomor 5