Digital Encoder
Encoder adalah rangkaian yang memiliki fungsi berkebalikan dengan dekoder. Encoder berfungsi sebagai rangakain untuk mengkodekan data input mejadi data bilangan dengan format tertentu. Encoder dalam rangkaian digital adalah rangkaian kombinasi gerbang digital yang memiliki input banyak dalam bentuk line input dan memiliki output sedikit dalam format bilangan biner. Encoder akan mengkodekan setiap jalur input yang aktif menjadi kode bilangan biner.
Dalam teori digital banyak ditemukan istilah encoder seperti “Desimal to BCD Encoder” yang berarti rangkaian digital yang berfungsi untuk mengkodekan line input dengan jumlah line input desimal (0-9) menjadi kode bilangan biner 4 bit BCD (Binary Coded Decimal). Atau “8 line to 3 line encoder” yang berarti rangkaian encoder dengan input 8 line dan output 3 line (3 bit BCD).
Ilustrasi Digital Encoder
Encoder dalam contoh ini adalah encoder desimal ke BCD (Binary Coded Decimal) yaitu rangkaian encoder dengan input 9 line dan output 4 bit data BCD. Dalam mendesain suatu encoder kita harus mengetahui tujuan atau spesifikasi encoder yang diinginkan yaitu dengan :
1. Membuat tabel kebenaran dari encoder yang ingin dibuat
2. Membuat persamaan logika encoder yang diinginkan pada tabel kebenaran menggunakan K-Map
3. Mengimplemenstasikan persamaan logika encoder dalam bentuk rangkaian gerbang logika digital
Rangkaian Encoder Desimal (10 line) ke BCD
Dalam mendesain rangkaian encoder desimal ke BCD langkah pertama adalah menentukan tabel kebenaran encoder kemudian membuat persamaan logika kemudian mengimplementasikan dalam gerbang logika digital seperti berikut.
Tabel kebenaran encoder Desimal (10 Line) ke BCD
Persamaan logika output encoder Desimal (10 Line) ke BCD
• Y3 = X8 + X9
• Y2 = X4 + X5 + X6 + X7
• Y1 = X2 + X3 + X6 + X7
• Y0 = X1 + X3 + X5 + X7 + X9
Rangkaian implementasi encoder Desimal (10 Line) ke BCD sesuai tabel kebenaran
Rangkaian encoder diatas merupakan implementasi dari tabel kebenaran diatas dan persamaan logika encoder Desimal ke BCD. jalur input X0 tidak dihubung ke rangkaian karena alasan efisiensi komponen, hal ini karena apabil input X0 ditekan maka tidak akan mengubah nilai output yaitu output tetap bernilai BCD 0 (0000).
Rangkaian encoder diatas hanya akan bekerja dengan baik apabila hanya 1 jalur input saja yang mendapat input, hal ini karena rangkaian encoder diatas bukan didesain sebagai priority encoder.