# Tugas Pendahuluan - Decoder & Encoder > Pembuat Soal: NZ ``` Nama : Thoriq Muhammad Fatih NPM : 2506549410 ``` ## Notes - Jika ada pertanyaan yang kurang jelas, silahkan tanya di server Discord Digital Lab - Referensi harus dalam format IEEE (Kamu boleh menggunakan https://www.mybib.com/tools/ieee-citation-generator biar lebih gampang). Referensi minimal dua ## Teori (30 Poin) ### 1. Jelaskan apa itu `Decoder` dan `Encoder`, beserta dengan fungsi dan contoh aplikasinya. Encoder adalah perangkat atau rangkaian kombinasional yang berfungsi untuk mengubah beberapa input aktif (biasanya dalam bentuk biner, desimal, atau sinyal analog) menjadi output dengan format tertentu (seperti biner atau kode lainnya). Proses ini dikenal sebagai encoding. Encoder sering digunakan untuk mengubah data mentah menjadi format yang lebih mudah ditransmisikan, diproses atau disimpan. Encoder bekerja dengan menerima beberapa input dan menghasilkan output yang merepresentasikan input tersebut dalam bentuk yang lebih ringkas. Sebagai contoh, encoder 8-to-3 menerima 8 input dan menghasilkan 3 output biner. Decoder adalah perangkat atau algoritma yang mengubah data dari format atau kode yang telah di-encode kembali ke format atau kode asli. Proses ini dikenal sebagai decoding. Decoder bekerja dengan menerima input berupa kode tertentu (misalnya biner) dan mengubahnya menjadi output yang mewakili informasi asli. Decoder berfungsi untuk memahami atau memproses data yang telah dikodekan sebelumnya. Decoder bekerja dengan menerima input biner dan mengaktifkan salah satu output berdasarkan kombinasi input. Sebagai contoh, decoder 3-to-8 menerima 3 bit input dan mengaktifkan 1 dari 8 output. Salah satu contoh Implementasi dan Aplikasi Encoder dan Decoder adalah untuk komunikasi data. Dalam komunikasi data, encoder dan decoder memainkan peran kunci dalam memastikan bahwa data dapat dikirimkan dan diterima dengan benar. Sebagai contoh, dalam sistem komunikasi digital, encoder mengubah data digital menjadi sinyal yang dapat dikirimkan melalui saluran komunikasi seperti kabel atau gelombang radio. Di sisi penerima, decoder mengubah sinyal kembali menjadi data digital yang dapat digunakan. Contoh Implementasi rangkaian: 1. Rangkaian Encoder 4-to-2 Input: D0, D1, D2, D3 Output: Y0, Y1 Truth Table: |D3 |D2 |D1 |D0 |Y1 |Y0 | |---|---|---|---|---|---| |0 | 0 | 0 | 1 | 0 | 0 | |0 |0 |1 |0 | 0 | 1 | |0 |1 |0 |0 | 1 | 0 | |1 |0 |0 |0 | 1 | 1 | 2. Rangkaian Decoder 2-to-4 Input: A, B Output: Y0, Y1, Y2, Y3 Truth Table: |A |B |Y3 |Y2 |Y1 |Y0 | |---|---|---|---|---|---| |0 | 0 | 0 | 0 | 0 | 1 | |0 |1 |0 |0 | 1 | 0 | |1 |0 |0 |1 | 0 | 0 | |1 |1 |1 |0 | 0 | 0 | ### Referensi: - [1]Elga Aris Prastyo. “Encoder Dan Decoder Dalam Elektronika Digital.” Edukasi Elektronika | Electronics Engineering Solution and Education, 6 Sept. 2025, www.edukasielektronika.com/2025/04/encoder-dan-decoder-dalam-elektronika-digital.html. Accessed 5 Oct. 2025. - [2]KantinIT. “Perbedaan Encoder Dan Decoder: Memahami Konsepnya.” KantinIT, Oct. 2023, kantinit.com/programming/perbedaan-encoder-dan-decoder-memahami-konsepnya/. Accessed 5 Oct. 2025. ### 2. Sebutkan dan jelaskan perbedaan `Decoder` dan `Encoder` secara komprehensif Perbedaan utama antara enkoder dan dekoder adalah keluaran enkoder adalah BCD, sementara masukan dekoder adalah BCD. Operasi keduanya sangat bertolak belakang. | Kategori | ENCODER | DECODER | |------------|-----------|----------| | **Definisi** | Rangkaian kombinasional yang mengubah sinyal input menjadi kode biner | Rangkaian kombinasional yang mengubah kode biner menjadi sinyal asli | | **Sinyal masukan** | Ini mengambil pesan sebenarnya sebagai masukan | Ini mengambil kode biner yang dikodekan sebagai input | | **Sinyal keluaran** | Output diberikan dalam bentuk kode biner | Dekoder memberikan sinyal pesan asli sebagai keluaran | | **Operasi** | Prosesnya sangat sederhana | Ini adalah proses yang kompleks| | **Konversi sinyal** | Encoder mengubah sinyal analog menjadi sinyal digital | Dekoder mengubah sinyal digital menjadi sinyal analog | | **Fungsi** | Encoder mengubah kode normal menjadi kode biner seperti:<br>• Desimal ke biner (8×3)<br>• Heksadesimal ke biner (16×4)<br>• Oktal ke biner (10×4) | Dekoder mengubah kode biner menjadi kode lain seperti:<br>• Biner ke desimal (3×8)<br>• Biner ke heksadesimal (4×16)<br>• Biner ke oktal (4×10) | | **Aplikasi** | Encoder digunakan dalam encoder video, email, dll. | Dekoder digunakan dalam mikroprosesor, chip memori, dll. | ### Referensi: - [1]Kumar, Pradeep. “Difference between Encoder and Decoder.” Www.tutorialspoint.com, 18 Apr. 2023, www.tutorialspoint.com/difference-between-encoder-and-decoder. Accessed 5 Oct. 2025. - [2]Electrical Technology. “What Is the Differences between Encoder and Decoder?” ELECTRICAL TECHNOLOGY, 15 Dec. 2022, www.electricaltechnology.org/2022/12/difference-between-encoder-decoder.html. Accessed 5 Oct. 2025. ### 3. Jelaskan apa itu `Priority Encoder` Sebutkan satu saja contoh praktik/kegunaan dari `Priority Encoder` yang sebenarnya ada di dalam kehidupan sehari-hari/lingkungan sekitar kalian Priority Encoder adalah rangkaian logika kombinasional yang berisi 2^n jalur masukan dan n jalur keluaran, dan merepresentasikan masukan dengan prioritas tertinggi di antara semua jalur masukan. Ketika beberapa jalur masukan aktif tinggi secara bersamaan, masukan dengan prioritas tertinggi akan dianggap pertama kali menghasilkan keluaran. Priority Encoder memecahkan masalah dengan mengalokasikan tingkat prioritas untuk setiap masukan. Keluaran encoder prioritas sesuai dengan masukan yang sedang aktif dengan prioritas tertinggi. Jadi, ketika masukan dengan prioritas lebih tinggi hadir, semua masukan lain dengan prioritas lebih rendah akan diabaikan. ![image](https://hackmd.io/_uploads/ByVP0CJTll.png) Beberapa aplikasi dari Priority Encoder adalah: - Digunakan untuk mengurangi jumlah kabel dan koneksi yang diperlukan untuk perancangan sirkuit elektronik dengan beberapa jalur input. Contoh: keypad dan keyboard. - Digunakan untuk mengendalikan posisi di posisi lengan navigasi dan robotika kapal . - Digunakan dalam mendeteksi masukan prioritas tertinggi dalam berbagai aplikasi pengontrol interupsi mikroprosesor. - Digunakan untuk melindungi seluruh jaringan dari peretas dengan mengirimkan kode biner melalui jaringan. - Digunakan dalam sinkronisasi kecepatan motor di industri. ### Referensi: - [1]Storr, Wayne. “Priority Encoder and Digital Encoder Tutorial.” Basic Electronics Tutorials, Aug. 2013, www-electronics--tutorials-ws.translate.goog/combination/comb_4.html?_x_tr_sl=en&_x_tr_tl=id&_x_tr_hl=id&_x_tr_pto=tc. Accessed 5 Oct. 2025. - [2]ElProCus. “Priority Encoder : Truth Table, Verilog Code & Its Applications.” ElProCus - Electronic Projects for Engineering Students, 23 July 2021, www.elprocus.com/priority-encoder/. Accessed 5 Oct. 2025. ## Intro to Proteus (30 poin) ### 4. Mulai pekan ini dan seterusnya, kalian akan berpindah dari Tinkercad ke Proteus. Dengan menggunakan Proteus, buatlah sebuah rangkaian sederhana yang dapat menyalakan satu lampu LED (warna terserah kalian) menggunakan pin power, ground dan komponen switch. Jangan lupa untuk memberikan Teks berupa Nama_NPM pada rangkaian sesuai video tutorial yang sudah diberikan di Emas3. (10 poin) `Note Untuk kedepannya, rangkaian pada Proteus harus selalu disertakan dengan teks nama_NPM. Jika tidak ada, maka nilainya akan dikurangi` **Screenshot Rangkaian:** ![image](https://hackmd.io/_uploads/rkeCOxxTlg.png) ### 5. Buatlah kembali rangkaian yang kalian bikin di CS modul lalu (Modul Complex Logic Gate), namun sekarang gunakan proteus. (20 poin) **Screenshot Rangkaian:** ![image](https://hackmd.io/_uploads/BJx2cTxgTex.png) ## Praktik (40 Poin) ### 6. Pada CS nanti dan beberapa modul-modul selanjutnya, kalian akan menggunakan salah satu decoder yang paling sering dipakai: BCD to 7-Segment decoder. Buatlah isi dari decoder ini menggunakan IC saja. #### Truth Table (15 poin) | A | B | C | D | a | b | c | d | e | f | g | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | | 0 | 0 | 1 | 1 | 1 | 1 |1 | 1 | 0 | 0 | 1 | | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | | 1 | 0 | 1 | 0 | x | x | x | x | x | x | x | | 1 | 0 | 1 | 0 | x | x | x | x | x | x | x | | 1 | 1 | 0 | 1 | x | x | x | x | x | x | x | | 1 | 1 | 0 | 0 | x | x | x | x | x | x | x | | 1 | 1 | 1 | 1 | x | x | x | x | x | x | x | | 1 | 1 | 1 | 0 | x | x | x | x | x | x | x | #### KMAP (15 poin) >a F = C + A + B'D' + BD | AB/CD | 00 | 01 | 11 | 10 | | ----- | --- | --- | --- | --- | | 00 | 1 | 0 | 1 | 1 | | 01 | 0 | 1 | 1 | 1 | | 11 | x | x | x | x | | 10 | 1 | 1 | x | x | ![image](https://hackmd.io/_uploads/SJUp_blaxx.png) >b F = B' + C'D' + CD | AB/CD | 00 | 01 | 11 | 10 | | ----- | --- | --- | --- | --- | | 00 | 1 | 1 | 1 | 1 | | 01 | 1 | 0 | 1 | 0 | | 11 | x | x | x | x | | 10 | 1 | 1 | x | x | ![image](https://hackmd.io/_uploads/r1hzKWlpll.png) >c F = C' + D + B | AB/CD | 00 | 01 | 11 | 10 | | ----- | --- | --- | --- | --- | | 00 | 1 | 1 | 1 | 0 | | 01 | 1 | 1 | 1 | 1 | | 11 | x | x | x | x | | 10 | 1 | 1 | x | x | ![image](https://hackmd.io/_uploads/HyLAF-g6le.png) >d F = A + B'D' + B'C + CD' + BC'D | AB/CD | 00 | 01 | 11 | 10 | | ----- | --- | --- | --- | --- | | 00 | 1 | 0 | 1 | 1 | | 01 | 0 | 1 | 0 | 1 | | 11 | x | x | x | x | | 10 | 1 | 1 | x | x | ![image](https://hackmd.io/_uploads/SJ7IqWl6ee.png) >e F = B'D' + CD' | AB/CD | 00 | 01 | 11 | 10 | | ----- | --- | --- | --- | --- | | 00 | 1 | 0 | 0 | 1 | | 01 | 0 | 0 | 0 | 1 | | 11 | x | x | x | x | | 10 | 1 | 0 | x | x | ![image](https://hackmd.io/_uploads/rk-oqbxTee.png) >f F = A + C'D' + BC' + BD' | AB/CD | 00 | 01 | 11 | 10 | | ----- | --- | --- | --- | --- | | 00 | 1 | 0 | 0 | 0 | | 01 | 1 | 1 | 0 | 1 | | 11 | x | x | x | x | | 10 | 1 | 1 | x | x | ![image](https://hackmd.io/_uploads/B1lYjWl6xg.png) >g F = A + B'C + BC' + BD' | AB/CD | 00 | 01 | 11 | 10 | | ----- | --- | --- | --- | --- | | 00 | 0 | 0 | 1 | 1 | | 01 | 1 | 1 | 0 | 1 | | 11 | x | x | x | x | | 10 | 1 | 1 | x | x | ![image](https://hackmd.io/_uploads/HkSS3bgTge.png) #### Screenshot Rangkaian (10 poin) ![image](https://hackmd.io/_uploads/Byhrx7g6ge.png)