PERANCANGAN DAN IMPLEMENTASI ENCODER DAN DECODER CRC-16 BERBASIS TABEL LOOKUP PADA ARDUINO - Pantow, Prayogo Pangestu; Wellem, Theophilus (IT Explore: Jurnal Penerapan Teknologi Informasi dan Komunikasi, 2024)
Deteksi kesalahan pada data yang dikirimkan melalui saluran komunikasi sangat penting untuk mendapatkan data yang akurat dan sistem komunikasi yang handal. Salah satu kode yang populer dan banyak digunakan sebagai kode pendeteksi kesalahan adalah Cyclic Redundancy Check (CRC). Penelitian ini bertujuan untuk merancang dan mengimplementasikan encoder dan decoder CRC-16 dengan polinomial 0x8005 pada platform Arduino IoT. Penghitungan nilai CRC-16 dilakukan menggunakan algoritma yang memanfaatkan tabel pencarian. Algoritma berbasis tabel pencarian dipilih karena kecepatannya dalam menghitung nilai CRC dari data masukan. Hasil implementasi encoder dan decoder kemudian diuji menggunakan dua board Arduino yang mengirimkan data secara serial. Hasil penelitian menunjukkan bahwa decoder pada sisi penerima dapat mendeteksi kesalahan pada data yang dikirimkan, dan encoder pada sisi pengirim dapat menghitung nilai CRC dari data masukan dengan benar sesuai spesifikasi kode CRC-16. Waktu yang dibutuhkan encoder untuk menghitung nilai CRC-16 dari data input dengan panjang yang bervariasi menunjukkan bahwa data input dengan panjang 2 karakter (16 bit) dan 128 karakter (1024 bit) masing-masing membutuhkan waktu 0,016 milidetik dan 0,72 milidetik.