Please use this identifier to cite or link to this item: https://repository.uksw.edu//handle/123456789/35328
Title: Perancangan dan Implementasi Encoder dan Decoder CRC-16 berbasis Tabel Lookup pada Arduino
Authors: Pantow, Prayogo Pangestu
Keywords: CRC-16;Kode Deteksi Error;Sistem Pendeteksi Error;Table Lookup;Arduino
Issue Date: 10-Oct-2022
Abstract: Pendeteksian error pada data yang ditransmisikan melalui saluran komunikasi merupakan hal yang penting untuk memperoleh data yang akurat dan sistem komunikasi data yang dapat diandalkan. Salah satu kode yang populer dan digunakan secara luas sebagai kode pendeteksi error adalah Cyclic Redundancy Check (CRC). Penelitian ini bertujuan untuk merancang dan mengimplementasikan encoder dan decoder CRC-16 dengan polinomial 0x8005 pada Arduino. Proses perhitungan nilai CRC-16 dilakukan menggunakan algoritma yang memanfaatkan tabel lookup. Algoritma berbasis tabel lookup dipilih karena kecepatannya dalam menghitung nilai CRC dari input data yang diberikan. Hasil implementasi encoder dan decoder ini kemudian diuji menggunakan dua board Arduino yang mentransmisikan data secara serial. Dari hasil pengujian yang dilakukan diperoleh bahwa decoder pada sisi penerima dapat mendeteksi error pada data yang ditransmisikan, dan encoder pada sisi pengirim dapat menghitung nilai CRC dari input data dengan benar sesuai dengan spesifikasi kode CRC-16. Pada pengujian waktu yang dibutuhkan oleh encoder untuk menghitung nilai CRC-16 dari input data dengan panjang yang bervariasi, diperoleh hasil bahwa untuk input data dengan panjang 2 karakter (16 bit) dan 128 karakter (1024 bit) masing-masing dibutuhkan 0.016 milidetik dan 0.72 milidetik. Selain itu, dari sisi penggunaan memori, implementasi program pada sisi pengirim maupun penerima hanya menggunakan sekitar 22% sampai 25% dari kapasitas memori yang tersedia pada mikrokontroller untuk menyimpan program. Error detection in data transmitted through communication channels is essential in achieving accurate data and reliable data communication systems. One code that is popular and widely used as an error detection code is the Cyclic Redundancy Check (CRC). This study aims to design and implement a CRC-16 encoder and decoder with a polynomial of 0x8005 on the Arduino IoT platform. Calculating the CRC-16 value is done using an algorithm that utilizes a lookup table. The lookup table-based algorithm was chosen because of its speed in calculating the CRC value from the input data. The results of the encoder and decoder implementation are then tested using two Arduino boards that transmit data serially. The experiment results show that the decoder on the receiving side can detect errors in the transmitted data, and the encoder on the sending side can calculate the CRC value of the input data correctly according to the CRC-16 code specification. Furthermore, the time required by the encoder to calculate the CRC-16 value from input data with varying lengths shows that input data with a length of 2 characters (16 bits) and 128 characters (1024 bits) takes 0.016 milliseconds and 0.72 milliseconds, respectively. In addition, regarding memory usage, program implementation on the sending and receiving sides only uses about 22% to 25% of the memory capacity available on the microcontroller to store programs.
URI: https://repository.uksw.edu//handle/123456789/35328
Appears in Collections:T1 - Informatics Engineering

Files in This Item:
File Description SizeFormat 
T1_672018081_Judul.pdfJudul1.29 MBAdobe PDFView/Open
T1_672018081_Isi.pdfIsi936.61 kBAdobe PDFView/Open
T1_672018081_Daftar Pustaka.pdfDaftar Pustaka381.68 kBAdobe PDFView/Open
T1_672018081_Formulir Pernyataan Persetujuan Penyerahan Lisensi Nonekslusif Tugas Akhir dan Pilihan Embargo.pdfEmbergo147.38 kBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.