Setelah sebelumnya membahas definisi encoder dan proses encoding, pada artikel ini, kita akan mempelajari tentang decoder. Mulai dari apa itu decoder biner, jenis-jenisnya, hingga apa saja aplikasi penggunaan decoder. Singkatnya, decoder ini merupakan kebalikan dari encoder. Untuk lebih detilnya, simak penjelasan berikut ini.
Apa Itu Decoder?
Decoder adalah rangkaian logika kombinasional dengan banyak input dan output. Di samping itu, decoder mengubah input data sebanyak n bit menjadi output sebanyak 2n data. Karena itu, decoder berfungsi untuk melakukan decoding (menerjemahkan) informasi yang disembunyikan oleh encoder.
Saat proses decoding, decoder umumnya menempatkan logika 1 di salah satu outputnya untuk membuat kode yang tepat. Untuk kombinasi input biner n bit yang berbeda, akan menghasilkan output 2n bit data. Output dari decoder dihasilkan berdasarkan dari setiap masukan input binernya.
Struktur umum dari sebuah decoder ditunjukkan pada gambar di atas. Decoder juga memiliki input enable. Ketika disetel ke logika “HIGH” (logika 1), kode output akan terlihat tergantung pada input data biner.
Jenis-jenis Decoder
Ada berbagai jenis decoder berdasarkan jumlah input dan output yang terjadi. Beberapa jenis decoder yang ada akan dibahas pada artikel ini.
1. Decoder Biner 2 ke 4
Decoder biner 2 ke 4 memiliki 2 input biner dan 4 output berkode. Diagram blok dan diagram rangkaiannya ditunjukkan pada gambar di bawah ini. A dan B adalah dua input dan output yang dihasilkan adalah salah satu dari kedua input tersebut.
Diagram rangkaian memiliki dua inverter, yang akan menyediakan kelengkapan dari dua input A dan B. Setiap gerbang AND akan menghasilkan salah satu properti input sebagai output.
Ketika enable (EN) diatur pada logika 1, salah satu output (Y0, Y1, Y2, Y3) akan aktif untuk input yang diberikan. Output yang lainnya akan mempunyai logika 0 atau LOW.
Dengan melihat tabel kebenaran di atas, operasi dari decoder dapat lebih dipahami. Ketika kedua input A dan B adalah 0, Y0 akan aktif “HIGH” atau logika 1 dan pin output yang tersisa akan menjadi “LOW” atau logika 0.
Perlu diketahui bahwa, tabel kebenaran adalah tabel matematika yang mencantumkan output dari rangkaian logika digital tertentu untuk semua kemungkinan kombinasi inputnya.
Demikian pula, pin output Y1 akan berada pada logika 1 untuk A = 0 dan B = 1. Output berkode yang dihasilkan oleh input A = 1 dan B = 1 adalah “1000”, di mana pin Y3 berada pada logika 1 dan pin yang tersisa berada di logika 0.
Dengan cara yang sama, decoder biner 3 ke 8 dan decoder biner 4 ke 16 dapat dibangun. Ketika jumlah input decoder meningkat, jumlah output yang dikodekan juga meningkat dengan rumus 2n. Dimana n adalah jumlah input yang diberikan.
2. Decoder bertingkat
Decoder biner dapat ditumpuk bersama untuk membentuk rangkaian decoder yang lebih besar. Menggunakan dua decoder 2 input, 4 decoder input dapat dibangun, dengan menggabungkan nya satu sama lain. Demikian pula, dengan menggabungkan dua decoder 3 ke 8, decoder biner 4 ke 16 dan seterusnya dapat dibangun.
Mari kita lihat contoh desain dari decoder 4 ke 16 dengan menggabungkan dua decoder 3 ke 8 pada gambar di bawah ini.
Untuk merancang decoder 4 ke 16, diperlukan 4 input biner (A, B, C, D). Tiga input A, B dan C diberikan sebagai input ke dua decoder biner 3 ke 8. Input keempat D diberikan sebagai input enable (EN) ke kedua decoder.
Seperti yang dapat kita lihat dari diagram di atas ketika input D = 0, decoder di atas akan diaktifkan dan yang di bawah akan dinonaktifkan. Dan sebaliknya, ketika D = 1, itu akan mengaktifkan decoder bagian bawah dan menonaktifkan decoder bagian atas.
3. Decoder dengan Output yang Sedikit
Sebelumnya kita telah mempelajari bahwa decoder memiliki output sebanyak 2n. Tapi pada praktiknya, terdapat beberapa aplikasi yang hanya menggunakan output yang sedikit. Tentu saja hal ini bisa terjadi karena sesuai kebutuhan dari aplikasi tersebut.
Contoh dari aplikasi ini adalah pada Binary Coded Decimal atau BCD ke dalam decoder 7 segmen. Decoder ini padahal memiliki 4 input yang artinya bisa menghasilkan output sebanyak 24 atau 16 output. Tetapi pada decoder ini hanya menggunakan 7 output aktif untuk mengatur display. Hal ini tidak seperti yang kita bayangkan, contoh komponen yang menggunakannya adalah TTL7447.
Baca juga: Multiplexer Adalah: Pengertian, Jenis Serta Aplikasinya
Penggunaan Gerbang AND dan NAND
Rangkaian decoder dapat dibangun dengan menggunakan gerbang AND karena keluaran gerbang AND adalah “HIGH” yang terjadi hanya jika semua masukan nya “HIGH”. Output seperti ini biasa disebut dengan “output aktif HIGH”. Jika kita tidak menggunakan gerbang AND, alternatif nya adalah menggunakan gerbang NAND.
Pada penggunaan gerbang NAND, output nya berkebalikan dengan gerbang AND. Output nya akan menjadi “LOW” hanya ketika semua input nya “HIGH”. Output seperti ini biasa disebut sebagai “output aktif LOW”.
Gerbang NAND lebih populer digunakan dibandingkan gerbang AND. Hal ini disebabkan karena harganya yang lebih murah dan dapat menggantikan fungsi gerbang AND dengan sempurna. Baca lebih lanjut tentang gerbang logika dasar.
Aplikasi Decoder
Sebagai penutup, berikut tiga aplikasi penggunaan decoder yang biasa kita jumpai: a). Kode konverter; b). Digunakan dalam sistem memori komputer untuk mengakses lokasi memori tertentu berdasarkan alamat yang dihasilkan oleh perangkat komputasi; dan c). Untuk melakukan operasi di ALU (Arithmetic Logic Unit) CPU, decoder digunakan untuk decoding (memecahkan) kode instruksi program untuk mengaktifkan jalur kontrol.