You are on page 1of 4

Error Control (Chanel Coding) atau Error Control Coding

Dengan Metode Hamming Code


Dalam dunia telekomunikasi sering terjadi adanya noise dan error pada saat
pentransmisian atau pengiriman data, yang mengakibatkan perubahan isi dari data yang dikirim
yang diterima oleh si penerima (receiver). Salah satu upaya yang dilakukan yaitu dengan
menerapkan error control coding Salah satu contoh dari error control coding yaitu Hamming
Code, kinerja Hamming code dibedakan atas jumlah bit parity yang dimiliki. Hamming Code
adalah suatu algoritma pendeteksi error yang mampu mendeteksi beberapa error, namun hanya
mampu mengoreksi satu error (single error correction). Algoritma pendeteksi error ini sangat
cocok digunakan pada situasi dimana terdapat beberapa error yang teracak (randomly occuring
errors). Algoritma Hamming Code menyisipkan (n + 1) check bit ke dalam 2n data bit.
Algoritma ini menggunakan operasi EX-OR (Exclusive–OR) dalam proses pendeteksian error.
Input dan output data dari algoritma Hamming Code berupa bilangan biner.

Hamming Code Algoritma.


Hamming Code ditemukan oleh Richard W. Hamming pada tahun 1940-an. Algoritma Hamming
Code merupakan salah satu algoritma pendeteksi error (error detection) yang mampu untuk
mendeteksi beberapa error, namun hanya mampu mengoreksi satu error (single error correction).
Algoritma pendeteksi error ini sangat cocok digunakan pada situasi dimana terdapat beberapa
error yang teracak (randomly occuring errors)
Algoritma Hamming Code menyisipkan beberapa buah check bit ke dalam data. Jumlah check
bit yang disisipkan tergantung pada panjang data.

Cara Kerja Hamming Code


Algoritma Hamming Code merupakan salah satu algoritma pendeteksi error (error detection) dan
pengoreksi error (error correction) yang paling sederhana. Algoritma ini menggunakan operasi logika
XOR (Exclusive – OR) dalam proses pendeteksian error (error detection) maupun proses pengoreksian
error (error correction), sedangkan input dan output data dari algoritma Hamming Code berupa bilangan
biner.
Untuk data 2n bit, jumlah check bit yang disisipkan ada sebanyak c = (n + 1) bit.
Sehingga didapat tabel kenaikan data bit dan check bit seperti berikut:
Tabel 1 : Tabel kenaikan data bit dan check bit
Data Bit Check Bit
2 2
4 3
8 4
16 5
32 6
64 7
128 8
256 9
Check bit yang disisipkan ke dalam data ditempatkan pada posisi yang dihitung
berdasarkan rumus perhitungan posisi check bit berikut:
Ci=2i–1
Sehingga didapat tabel posisi check bit seperti berikut:

Tabel 2 : Tabel posisi check bit


Check Bit Posisi
C1 1
C2 2
C3 4
C4 8
C5 16
C6 32
C7 64
C8 128
C9 256

Check bit ini yang digunakan untuk melakukan proses pendeteksi error (error
detection) dan pengoreksi error (error correction). Algoritma proses pendeteksi error
(error detection) dan pengoreksi error (error correction) dari algoritma Hamming Code
adalah sebagai berikut:
1. Hitung panjang data input dari algoritma Hamming Code yang merupakan hasil penjumlahan
dari panjang input data dan panjang check bit. Panjang
data output dari algoritma Hamming Code sama dengan panjang data input dari algoritma
Hamming Code.
2. Tandai semua posisi bit yang merupakan posisi dari check bit. Posisi selain posisi check bit
merupakan posisi dari data bit.
3. Tentukan rumus perhitungan dari masing-masing check bit.
Untuk n = 1 hingga jumlah dari check bit, lakukan hal berikut:
a. Catat semua posisi dimana bit n dari member position bernilai 1, kecuali posisi bit itu
sendiri. Member position merupakan bentuk biner dari posisi bit.
b. Rumus dari check bit n sama dengan operasi XOR dari posisi – posisi yang dicatat.
4. Hitung nilai dari check bit untuk data input dan data output.
6. Jika nilai check bit input tidak sama dengan nilai check bit output berarti terdapat kesalahan
(error).

7. Lakukan operasi XOR terhadap check bit input dan check bit output.

8. Konversikan hasil operasi XOR ke dalam bentuk bilangan desimal.

9. Jika nilai dari hasil operasi XOR lebih besar daripada panjang data input atau nilai dari hasil
operasi XOR sama dengan posisi dari check bit, maka terdapat lebih dari satu kesalahan (error).

10. Jika tidak, maka jumlah kesalahan (error) hanya satu dan hasil operasi merupakan posisi data
yang terdapat kesalahan (error).

Analisa Transmisi Data

Transmisi data merupakan proses pengiriman data dari satu sumber ke penerima data,
dengan kata lain transmisi hanya dapat terjadi apabila terdapat pihak pengirim data (transmitter)
dengan pihak penerima (receiver). Dalam suatu transmisi data dapat terjadi gangguan-gangguan
yang tidak diharapkan. Gangguangangguan tersebut disebut dengan noise. Bila terjadi noise, maka
data yang ditransmisikan akan terjadi kesalahan. Didalam transmisi data yang penting, kesalahan-
kesalahan transmisi harus dapat dideteksi dan diperbaiki.

Analisa Bir Error


Selama pengiriman data baik berupa sinyal digital maupun sinyal analog, data yang
dikirim berupa bit dapat mengalami perubahan dan kesalahan (error), hal ini disebabkan karena
terjadinya gangguan pada sinyal (noise) pada saat data ditransmisikan melalui sistem transmisi
sehingga pesan atau data yang diterima mengalami perubahan ketika sampai pada receiver.
Berikut adalah contoh bit ketika mengalami perubahan atau error :
Misalkan data yang dikirim karakter “D” dimana “D”=”1000100 “ sedangkan data yang
diterima menjadi “1000000”. Dari contoh ini dapat diketahui letak dan posisi dimana bit
mengalami perubahan atau error, dan dapat digambarkan seperti pada gambar 3 berikut ini:

Gambar 3 : Data bit yang mengalimi error.


Analisa Deteksi Bit Check In Error
Error Detection adalah proses pelacakan kesalahan selama transmisi data berlangsung,
yaitu perubahan satu atau beberapa bit dari nilai “1″ ke “0″ atau sebaliknya. Contoh untuk
menentukan error detection dapat ditentukan dengan parity check . Parity check menambahkan
sebuah bit pada setiap pengiriman sejumlah bit, sehingga jumlah bit bernilai 1 selalu
genap/ganjil. Parity bit dapat mendeteksi kesalahan 1 bit atau Kesalahan bit dalam jumlah ganjil,
namun tidak dapat mendeteksi kesalahan dalam jumlah genap.

Analisa Algoritma Hamming Code


Berikut adalah contoh data teks yang akan ditransmisikan dan mengalami
kesalahan (Error) menggunakan algoritma Hamming code: Data teks yang akan di transmisikan
adalah “DEDI”
Penyelesain:
1. Data masing-masing karakter terlebih dahulu diubah ke dalam kode ASCII kemudian
diXORkan.
Data teks yang dikirim
DEDI = 0100 0100 0100 0101 0100 0100 0100 1001
sedangkan data yang diterima menjadi
DEDI = 0100 0000 0100 0101 0100 0100 0100 1001
Bentuk transmisi data teks yang akan ditransmisikan dapat digambarkan seperti pada
gambar 4 berikut:

Gambar 4 : Proses Transmisi Data Mengalami Eror


2. Hitung panjang data input dan output dari Algoritma Hamming Code. Untuk data 2n bit, jumlah
check bit yang disisipkan ada sebanyak c = (n + 1) bit. Panjang input dan output data = 32 bit =
25 sehingga jumlah check bit : 5 + 1 = 6 dan panjang data input dan output dari Algoritma
Hamming
Code = 32+6 bit = 38 bit.
3. Tandai semua posisi bit yang merupakan posisi dari check bit. Posisi selain posisi check bit
merupakan posisi dari data bit.

You might also like