• Tidak ada hasil yang ditemukan

Implementasi Deteksi Dan Koreksi Error Pada Komunikasi Serial Arduino Berbasis UART Dengan Metode Hamming Code

N/A
N/A
Protected

Academic year: 2018

Membagikan "Implementasi Deteksi Dan Koreksi Error Pada Komunikasi Serial Arduino Berbasis UART Dengan Metode Hamming Code"

Copied!
7
0
0

Teks penuh

(1)

Fakultas Ilmu Komputer

5089

Implementasi Deteksi Dan Koreksi

Error

Pada Komunikasi Serial Arduino

Berbasis UART Dengan Metode

Hamming Code

Anggi Fajar Andana1, Sabriansyah Rizqika Akbar2, Rizal Maulana3

Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1anggiifaa@gmail.com, 2sabrian@ub.ac.id, 3rizal_lana@ub.ac.id

Abstrak

Kemunculan error disebabkan oleh banyak faktor antara lain adanya noise pada media transmisi data, lamanya penggunaan perangkat, atau kualitas perangkat keras tersebut. Salah satu konsep yang disebut dengan Information Redudancy merupakan konsep yang menyisipkan informasi tambahan pada proses

encode data sebelum data tersebut dikirimkan. Information Redudancy dapat diterapkan pada proses

error control coding,yaitu teknik yang membuat proses encode dapat menghitung bitkontrol tambahan dari informasi yang dikirim, serta untuk mengirimkan bit kontrol tersebut beserta informasinya. Pada penelitian ini menggunakan metode Hamming Code yang diterapkan pada Arduino dan komunikasi UART. Metode Hamming Code adalah metode yang menambahan beberapa parity bit tambahan pada bit data dengan menggunakan logika XOR. Parity bit tambahan yang dihasilkan dari proses logika XOR didapatkan dari jumlah data yang dimasukkan dalam prosesnya. Berdasarkan hasil pengujian, metode

Hamming Code dapat melakukan proses encode dan decode data, serta dapat melakukan deteksi dan koreksi error pada data yang mengalami error dalam proses pengujian. Rata-rata delay yang didapatkan berjumlah 102,7msuntuk data 5 bit dan 109,5ms untuk data 4 bit pada proses encode. Serta 17,5 ms untuk data 10 bit dan 100,1msuntuk data 11 bit pada prose decode. Faktor pengambilan data suhu serta jumlah bit yang dilakukan proses encode dan decode sangat mempengaruhi proses encode dan decode

menggunakan metode Hamming Code.

Kata kunci:Deteksi dan Koreksi Error, Error Control Coding , Metode Hamming Code

Abstract

While error appears, it can be a mistake for the information. The emergence of error caused by many factors, for example the presence of noise in the data transmission medium, time of use of the hardware, or the quality of the hardware. One of concepts called information redudancy is a concept that inserts additional information on the process of encoding data before the data transmitted. Information Redundancy can be applied to the process of error control coding, which is technique that enables the encoding process to calculate additional control bits from the information, and to transmit these control bits and their information. In this research, using Hamming Code method to applying in Arduino and UART communication. The Hamming Code method is a method that add an additional bits to the data bit by using XOR logic on the process. In this research, Hamming code method can do the process of encode and decode, and can perform the detection and correction process on data that have errors in the testing process. The average delay for 5 bit data is 102.7m/s and 109.5m/s for 4 bit data in the encode process. In decode prosess, 17.5 m/s for 10 bit data and 100,1m/s for 11 bit data. Temperature data retrieval and the number in the encode and decode process can be a factors that greatly affect the encode and decode process using the Hamming Code method.

Keywords : Detection and Correction Error, Error Control Coding, Hamming Code Method

1. PENDAHULUAN

Penyebaran data dan kelancaran penyampaikan merupakan faktor yang berpengaruh dalam proses komunikasi. Namun,

pada saat proses komunikasi dimulai, noise

dapat muncul secara tiba-tiba sehingga dapat mengubah nilai data yang menyebabkan error

(Muhajir, et al., 2016). Penyebab error

(2)

perangkat, kesalahan pada perangkat, dll. Berdasarkan permasalahan tersebut, munculah metode Error Detection dan Error Correction. Metode ini merupakan metode yang menangani

error yang muncul atau terjadi pada bagian penerima. Metode ini diterapkan dalam proses

error control coding, yaitu proses coding pada bagian encoder dan decoder.

Terdapat beberapa metode Error Detection And Error Correction yang diterapkan dalam proses Error Control Coding. Antara lain dengan menambahkan perangkat tambahan yaitu

Hardware Redudancy, informasi tambahan yang disebut dengan Information Redudancy, dan waktu tambahan yaitu Time Redudancy. Pada penelitian ini, penulis menggunakan konsep

Information Redudancy dengan menambahkan informasi tambahan pada objek penelitian. Metode Hamming Code menggunakan logika XOR dalam membuat parity bit tambahan yang ditambahkan. Kelebihan metode ini antara lain sangat efektif jika digunakan untuk melakukan deteksi dan koreksi single bit error serta untuk deteksi burst error yang akan dijadikan objek penelitian. Kemudian keuntungan lain yang didapatkan yaitu cara kerjanya yang cukup sederhana dan tidak membutuhkan alokasi memori yang banyak (Lubis, et al., 2012)

Terdapat 3 penelitian yang digunakan penulis untuk dijadikan referensi dalam penelitian dengan metode Hamming Code.

Penelitian berjudul “Perancangan Error

Detection System And Error Correction System Menggunakan Metode Hamming Code Pada Pengiriman Data Text” oleh Lubis et al (2012), merancang sistem deteksi dan koreksi error dengan menggunakan data teks sebagai objeknya. Panjang data teks ini sekitar 3-4 kata.

Penelitian kedua berjudul “Deteksi dan Koreksi

Multi Bit Error Dengan Partition Hamming

Code” oleh Muhajir et al (2016) merancang

sistem deteksi dan koreksi bit error dengan menggunakan data multi bit dan partition bit sebagai konsep dalam penerapat metode Hamming Code. Penelitian ini membagi jumlah data yang masuk kedalam beberapa bagian. Bagian-bagian inilah yang dilakukan proses encode dengan metode Hamming Code. Kelemahan dari penelitian ini yaitu banyaknya jumlah parity bit yang terdapat dalam codeword mengakibatkan sistem menjadi overbit dalam pemrosesannya. Penelitian terakhir yang berjudul “Simulasi Deteksi Bit Error Menggunakan Metode Hamming Code Berbasis

Web” oleh Mahendra et al (2016),

menggunakan web sebagai media dalam sistem deteksi dan koreksi 1 bit error sebagai tampilan antarmuka user. User dapat memasukkan data berupa bilangan biner sebanyak 8 bit, dan akan ditampilkan proses dalam melakukan proses encode dan decode nya.

Pada penelitian ini, penulis merancang sistem agar dapat melakukan deteksi dan koreksi

error pada pengiriman data. Metode yang digunakan berupa Hamming Code dengan memakai konsep penambahan parity bit Hamming Code dengan menggunakan logika XOR. Serta diimplementasikan pada sistem yang memilki komunikasi secara serial. Yaitu komunikasi UART pada mikrokontroller Arduino Uno yang memanfaatkan pin tx dan rx

sebagai pengiriman data dan menggunakan data suhu sebagai objek penelitian. Hasil penelitian akan didapatkan dari pengujian data fungsional dan nonfungsional, dan data encode yang diubah dengan 2 jenis error yang berbeda. Serta untuk mendapatkan delay waktu Hamming Code

dengan menggunakan fungsi millis pada setiap proses encode dan decode.

2. METODOLOGI PENELITIAN

Gambar 1. Diagaram alir metodologi penelitian

(3)

sesuai dengan rekayasa kebutuhan agar dapat menjalankan kebutuhan fungsional dan nonfungsional pada penelitian ini. Berdasarkan pada Gambar 1, digambarkan tiap-tiap langkah pada penelitian ini. Studi literatur sebagai pendukung teori dalam perancangan dan implementasi, analisis kebutuhan untuk mengetahui kebutuhan apa saja yang dibutuhkan dalam perancangan sistem. Perancangan dan implementasi sistem dilakukan untuk merancang sistem dapat menjalankan kebutuhan fungsional dan non fungsional. Hasil dari perancangan dan implementasi akan diketahui pada pengujian sistem. Jika hasil pengujian tidak sesuai dengan tujuan dari penelitian ini, maka alur penelitian akan kembali pada perancangan sistem. Tetapi jika hasil pengujian sesuai dengan tujuan penelitian, maka akan didapatkan kesimpulan dan saran sebagai tahapan terakhir penelitian.

2.1 Perancangan Sistem

Objek yang berupa data suhu dari sensor DHT11 akan diolah dengan metode Hamming Code. Perancangan ini betujuan untuk menjalankan kebutuhan fungsional yaitu sistem dapat membaca dan mengirimkan data suhu. Gambar perancangan sensor DHT11 dan Arduino Uno ditunjukkan oleh Gambar 2.

Gambar 2. Skematik perancangan sensor DHT11 dan Arduino Uno

2.2 Perancangan Metode Hamming Code Pada Pengirim

Pada bagian perancangan metode Hamming Code pada pengirim bertujuan untuk membuat sistem dapat menjalankan kebutuhan nonfungsional yaitu sistem dapat melakukan proses encode data, sehingga menghasilkan

codeword dengan hasil penerapan dari metode

Hamming Code. Pada indeks array tertentu yaitu ke 0,1,3,7, dan x merupakan indeks parity bit yang akan ditambahkan dari operasi logika XOR yang dilakukan untuk melakukan deteksi error

lebih dari satu bit yaitu dua bit. Proses encode

bagian pengirim pada sistem pengujian

ditunjukkan pada Gambar 3.

Gambar 3. Flowchart Metode Hamming Code pada bagian pengirim (encode)

2.3 Perancangan Metode Hamming Code Pada Penerima Data

Codeword yang diterima akan pada masuk dan ditampung pada variabel array. Panjang variabel array akan menyesuaikan dengan jumlah data yang diterima dari proses encode. Kemudian dilakukan proses pengecekkan error

data pada bagian proses decode dengan menerapkan metode Hamming Code. Setelah proses pengecekkan error data dilakukan maka akan masuk pada proses untuk melakukan koreksi error. Jika proses koreksi error telah dilakukan, maka data codeword dan data asli akan dipisan untuk dilakukan proses konversi ke desimal, dan data suhu dapat ditampilkan. Proses

(4)

Gambar 4. Flowchart Decode pada bagian penerima

Berdasarkan Gambar 4, terdapat data berjumlah 12 bit yang dilakukan proses deteksi dan koreksi error. Serta terdapat menu pengujian yang akan memasukkan nilai data yang berbeda pada posisi yang dipilih. Nilai pada menu pengujian ini akan mengubah data encode yang diterima.

Tabel perhitungan metode Hamming Code

12 bit ditunjukkan pada Tabel 1.

Tabel 1. Perhitungan decode data dengan Metode

Hamming Code

Pada Tabel 1, untuk menentukan codeword

yang terdiri dari data asli dan parity bit

tambahan, dilakukan perhitungan dengan rumus metode Hamming Code dimulai dari posisi

parity bit ke P1,P2,P4,P8, dan Px. Kemudian

codeword akan dikirim serta diterima kemudian dilakukan proses decode dengan metode

Hamming Code. Perhitungan dilakukan kembali sama dengan proses encode data pada data

codeword yang dikirim. Pada proses ini, jika nilai setiap parity bit (P1,P2,P4,dan P8) bernilai lebih dari 0 maka dideteksi adanya error pada data codeword. Pada variabel Px digunakan untuk mendeteksi jumlah error yang terjadi.

2.4 Implementasi

Subbab ini menjelaskan tentang implementasi metode Hamming Code pada media perangkat keras yaitu pada Arduino Uno. Berdasarkan skematik perancangan kedua mikrokontroller Arduino Uno dihubungkan sebagai sistem antar pengirim dan penerima. Pada bagian pengirim dihubungkan dengan sensor DHT11 untuk. Pada yang menunjukkan implementasi antar Arduino Uno.

Gambar 5. Implementasi antar Arduino Unodan DHT11

3. PENGUJIAN DAN ANALISIS

3.1 Pengujian Fungsional dan Nonfungsional

Kebutuhan fungsional dan non fungsional akan diujikan pada pengujian ini berdasarkan hasil perancangan dan implementasi. Hasil pengujian akan dilakukan analisis untuk mengetahui apakah berjalan sesuai tujuan atau tidak.Tampilan pengujian pada serial monitor

(5)

Gambar 6. Menu Pengujian

Pada Gambar 6, terdapat empat pilihan untuk melakukan pengujian. Pilihan pengujian tersebut antara lain :

a. Menu ini menampilan codeword yaitu data asli yang ditambahkan parity bit tambahan. b. Tampilkan Data Suhu.

c. Menu ini memasukkan data untuk mengubah data encode pada posisi yang dimasukkan. Data yang diubah pada menu ini sebanyak 1 bit.

d. Menu terakhir akan memasukkan data untuk mengubah 2 posisi error pada bagian data encode.

Berdasarkan perancangan dan implementasi hasil pengujian fungsional dan nonfungsional yang dilakukan dengan menggunakan suhu 24oC dan diencode menjadi 12 bitdata ditunjukkan pada Gambar 7.

Gambar 7. Data pengujian

Pada Gambar 7, sistem yang dirancang dapat menjalankan kebutuhan fungsional yaitu mendapatkan data suhu dan kebutuhan nonfungsional yang melakukan proses encode

data suhu tersebut dengan menggunakan metode

Hamming Code. Selanjutnya pengujian dilakukan dengan mengubah data encode pada posisi yang dipilih secara random atau acak.

Gambar 8. Pengujian 1 bit error pada posisi 4

Pada Gambar 8, posisi data yang diubah yaitu pada posisi 4 dan hanya mengubah 1 bit data. Bit data yang mengalami error dapat dideteksi jenisnya dan dilakukan proses koreksi. Tabel 2 akan menunjukkan perhitungan manual metode Hamming Code dalam melakukan deteksi dan koreksi error pada suhu 24oC.

Tabel 2. Perhitungan manual metode hamming code

pada data 24oc

Berdasarkan Gambar 8 dan Tabel 2, proses deteksi dan koreksi error 1 bit data berhasil dilakukan dengan metode Hamming Code.

Beberapa posisi lainnya yang dilakukan pengujian error 1 bit dalam penelitian ini ditunjukkan pada Tabel 3.

Tabel 3. Posisi data error dalam pengujian 1 error

bit

Pengujian yang dilakukan pada Tabel 3, memakai 5 posisi data yang diubah datanya. Hasil pada tabel menunjukkan, bahwa metode

(6)

Pengujian yang terakhir yaitu pengujian

double bit error yang ditunjukkan pada Gambar 9.

Gambar 9. Pengujian 2 bit error pada posisi 9 dan 10

Tabel 4. Perhitungan manual metode hamming code

pada error 2 bit

Dua bit error dapat dideteksi pada Gambar 9 dan perhitungan yang dilakukan pada Tabel 4 sama hasilnya dengan implementasi yang dilakukan. Beberapa pengujian juga dilakukan pada letak posisi yang berbeda pada Tabel 5.

Tabel 5. Posisi data error dalam pengujian 2 error

bit

Deteksi 2 bit data yang error tidap dapat dilakukan koreksi yang disimbolkan oleh karakter (x), karena tidak diketahui posisi data tersebut.

3.2 Pengujian Waktu Encode dan Decode Data

Pengujian waktu dilakukan untuk mengetahui delay yang diperlukan dalam proses

encode dan decode dengan metode Hamming Code. Pengujian ini menggunakan 2 data yang memiliki jumlah berbeda.

Gambar 10. Grafik encode data

Berdasarkan pada Gambar 10, Banyaknya jumlah data yang dilakukan proses encode

mempengaruhi lama waktu yang diperlukan. Pada data berjumlah 5 bit, terdapat sebanyak 4 data yang membutuhkan waktu kurang dari 100 ms dalam melakukan proses encode, sedangkan pada data berjumlah 4 bit, terdapat 6 data yang membutuhkan waktu kurang dari 100 ms .

Gambar 11. Grafik decode data

Grafik pada Gambar 11 menunjukkan percobaan waktu decode data yang dilakukan pada data 10 bit dan 11 bit. Pada data berjumlah 10 bit terdapat 9 data dengan waktu kurang dari 20ms dalam proses decode nya, dan pada data berjumlah 11 bit sebanyak 5 data yang membutuhkan waktu kurang dari 20ms.

(7)

4. KESIMPULAN

Pada hasil pengujian dan analisis yang dilakukan dengan mengimplementasikan metode Hamming Code pada perancangan dan implementasi menghasilkan kesimpulan yaitu metode Hamming Code diterapkan dengan model simulasi antar Arduino Uno sebagai media implementasinya dan sensor DHT11 sebagai objek penelitian. Pada pengujian fungsional dan nonfungsional, sebelum didapatkan codeword dari metode Hamming Code dalam proses encode dan decode, data diubah menjadi biner kemudian dilakukan operasi logika XOR untuk menambahkan parity bit. Dalam penambahan parity bit,

menambahkan 5 bit tambahanmaksimal bit yang disisipkan. Hasil proses encode serta decode

yang didapatkan sama dengan hasil perhitungan manual metode Hamming Code.

Sedangkan rata-rata lamanya waktu yang diperlukan atau delay untuk proses encode data yang dilakukan pada 2 jenis data yang berbeda yaitu 102,7ms pada data 4 bitdan 109,5ms pada data 5 bit.Sedangkan untuk rata-rata delay waktu

decode data yang dihasilkan pada 2 jenis data yang berbeda yaitu 17,5ms pada data 10 bitdan 100,1ms pada data 11 bit. Jumlah data yang dilakukan proses decode mempengaruhi lamanya waktu yang diperlukan.

Saran yang dihasilkan dalam penelitian ini, diharapkan untuk penelitian selanjutnya metode

Hammng Code dapat diimplementasikan dan dianalisis pada real system contohnya pada sistem yang memiliki sistem kritis, atau pada sistem IOT Serta dapat dianalisis lebih dalam lagi tentang kelebihan dan kelemahannya dengan metode Information Redudancy lainnya seperti metode LFSR, cyclic codes, berger code,dllpada sistem yang sama.

DAFTAR PUSTAKA

Lubis, A. A. A., Poltak, S. & Arman, S., 2012. Perancangan Error Detection System And Error Correction System Menggunakan Metode Hamming Code Pada Pengiriman Data Text. Jurnal USU, I(1), pp. 1-2.

Mahendra, G. R., Sari, W. M. & Meilani, T. N., 2016. Simulasi Deteksi Bit Error Menggunakan Metode Hamming Code. Jurnal Dinamika Informatika, V(2), pp. 1-3.

Muhajir, F., Efendi, S. & Sutarman, 2016. Deteksi Dan Koreksi Multi Bit Error

Gambar

Gambar 1. Diagaram alir metodologi penelitian
Gambar 2. Skematik perancangan sensor DHT11 dan Arduino Uno
Gambar 4. Flowchart Decode pada bagian penerima
Tabel 2. Perhitungan manual metode hamming code pada data 24oc
+2

Referensi

Dokumen terkait

atau jumlah pajak yang dibayar lebih besar daripada jumlah pajak yang terutang atau telah. dilakukan pembayaran pajak yang tidak seharusnya terutang, dengan catatan wajib

Dengan ini saya menyatakan bahwa tesis dengan judul “Pengaruh Pendidikan Konservasi tentang Fungsi Kawasan Hutan pada Masyarakat Pegunungan Muller Kalimantan Tengah” adalah karya

Varietas “Green tiger”, “Green arrow”, “Golden hahnii”, dan “Hahnii cream” mempunyai bentuk sel yang sama yaitu hexagonal sempit dan memanjang, sedangkan varietas “Hahnii

Evaluasi ini dilakukan untuk menganalisis sistem yang berjalan berupa kekurangan pada sistem dan dapat memberikan solusi bagi kekurangan-kekurangannya.Untuk menemukan

mereka bukan sahaja mengalami diskriminasi di tangan kerajaan penjajah British, tetapi juga mendapati sukar untuk bersaing dengan orang Cina yang telah menetap,

Antena mikrostrip merupakan antena yang memiliki masa ringan, mudah untuk difabrikasi, dengan sifatnya yang konformal sehingga dapat ditempatkan pada hampir semua jenis permukaan

Dalam penelitian ini membahas dari perspektif politik, tentang bagaimana negara memberikan jaminan redistribusi keadilan bagi orang yang pernah mengalami kusta.. Penelitian

Pada penelitian ini akan dianalisis pengaruh kualitas laporan keuangan, maturitas utang, ukuran komite audit, kepemilikan institusional, kepemilikan manajerial,