Tuesday, 23 May 2017

Koreksi Error Lebih dari 4 Bit dengan Humming Code



Koreksi Error jika data lebih dari 4 Bit

Contoh: 

Diketahui Sebuah Byte pada saat dikirim yaitu 10111011
Terjadi kesalahan pada bit ke 4 ( saat diterima berarti 10110011)

Diketahui :

Tabel kenaikan data bit

Data Bit
Check Bit SEC
(Single Error Correction)
Check Bit DEC
(Double Error Correction)
1
1
2
2
2
3
4
3
4
8
4
5
16
5
6
32
6
7
64
7
8
128
8
9
256
9
10
512
10
11
1024
11
12


Pertama kita harus menentukan panjang bit

Panjang Bit = Data Bit + Check Bit

8 + 4 = 12


Bit Position
Check Bit
Data Bit
12
1100

D8
11
1011

D7
10
1010

D6
9
1001

D5
8
1000
C4

7
0111

D4
6
0110

D3
5
0101

D2
4
0100
C3

3
0011

D1
2
0010
C2

1
0001
C1


Keterangan Check Bit : 1,2, 4, 8, 17, 32,64,128 dan seterusnya
selain dari check bit (C1, C2 dst)  maka kita sebut dengan data bit (D1, D2 dst). 

Perhatikan data bit mana yang nilainya sejajar dengan check bit 1,
Jadi data bit yang punya nilai 1 pada kolom pertama adalah D1, D2, D4, D5 dan D7

Perhatikan data bit mana yang nilainya sejajar dengan check bit 2,
Data bit yang punya nilai 1 pada kolom kedua yaitu D1, D3, D4, D6 dan D7

Begitu seterusnya untuk check Bit 3 dan check Bit 4 

Gunakan fungsi Exclusive OR (XOR) pada data yang dikirim dan diterima
baca data bit dari LSB (Least Significant Bit atau dimulai dari kanan ke kiri)
Berikut hasil XOR untuk data yang dikirim. 

Berikut hasil XOR untuk data yang diterima.

Hasil XOR dari data yang dikirim dan diterima lalu di XOR 

Dikirim  1110
diterima 1001

jadi: 

Jadi 12 (Panjang Bit) > 7 (Hasil XOR byte yang dikirim dan diterima)
Ketentuan jika pangang bit lebih besar dari hasil XOR diatas maka benar hanya terjadi 1 error.

untuk lebih jelasnya lagi silahkan tonto video di bawah ini ya... 




No comments:

Post a Comment