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 | Size | Format | |
---|---|---|---|---|
T1_672018081_Judul.pdf | Judul | 1.29 MB | Adobe PDF | View/Open |
T1_672018081_Isi.pdf | Isi | 936.61 kB | Adobe PDF | View/Open |
T1_672018081_Daftar Pustaka.pdf | Daftar Pustaka | 381.68 kB | Adobe PDF | View/Open |
T1_672018081_Formulir Pernyataan Persetujuan Penyerahan Lisensi Nonekslusif Tugas Akhir dan Pilihan Embargo.pdf | Embergo | 147.38 kB | Adobe PDF | View/Open |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.