Edy Susanto : Analisis Kinerja Kode BCH, 2010.
BAB III PEMODELAN KODE BCH
3.1 Algoritma Pengkodean dan Pengdekodean BCH
Metode BCH Code yang ditemukan oleh Bose dan Ray-Chaudhuri pada tahun 1960 dan secara terpisah juga ditemukan oleh Hocquenghem pada 1959 ini
menggunakan simbol dari Galois Field GF dan dapat diimplementasikan untuk untuk m
≥ 3 dan t 2
m-1
. Pada pembahasan kali ini, digunakan m = 5, k = 16 dan t = 3, sehingga:
Panjang blok yang dikirimkan : n = 2
m
– 1 = 2
5
– 1 = 31 bit Bit informasi
: k = 16 bit Jumlah error maksimal
: t = 3 Checkbit
: c = m t = 5 3 = 15 bit Proses kerja dari metode BCH Code ini dapat dibagi menjadi 2 bagian
besar, yaitu: 1.
Proses Encoding, yaitu proses perhitungan checkbit yang akan disisipkan ke dalam pesan. Proses ini memiliki input berupa kumpulan bit biner pesan px.
Proses ini dapat dijabarkan seperti terlihat pada gambar 3.1:
Edy Susanto : Analisis Kinerja Kode BCH, 2010.
Start
End Bentuk tabel Galois Field
GF2
m
Tentukan 5 buah minimal polynomial m
1
x … m
5
x Bentuk generator polinomial
gx = KPKm
1
x, …, m
5
x Tambahkan 15 buah bit 0 di belakang bit pesan
bx = px | 000000000000000 Hitung checkbit
cx = bx mod gx Blok bit yang dikirimkan
px | cx
Gambar 3.1 Proses Encoding pada BCH Code 2.
Proses Decoding, yaitu proses pendeteksian error pada blok bit yang diterima dan apabila ditemukan error maka dilakukan proses pengoreksian error.
Proses ini dapat dijabarkan seperti terlihat pada gambar 3.2:
Edy Susanto : Analisis Kinerja Kode BCH, 2010.
Start Hitung nilai
[px | cx] mod gx Sisa modulo = 0
Tentukan 6 buah minimal polinomial m
1
x, …, m
6
x Tidak terdapat error
Ya Tidak
Hitung nilai sindrome s
1
x, …, s
6
x Bentuk tabel BCH dengan algoritma
Peterson-Berlekamp
Cari akar persamaan polinomial dengan algoritma Trial and Error
polinomial pendeteksi lokasi error O
n
x
Cari nilai kebalikan dari akar yang diperoleh Nilai ini merupakan posisi bit error
Perbaiki bit pada posisi error End
Proses pendeteksian
error
Proses pengoreksian
error
Gambar 3.2 Proses Decoding pada BCH Code Agar dapat lebih memahami proses kerja dari metode BCH Code
diberikan sebuah contoh sederhana berikut: Misalkan diketahui bit pesan px adalah: 0000000001000001. Maka proses
perhitungannya adalah sebagai berikut:
Edy Susanto : Analisis Kinerja Kode BCH, 2010.
1. Proses Encoding
a. Bentuk tabel Galois Field GF2
5
Berdasarkan tabel 2.1, untuk m = 5, maka primitif polinomial yang dipergunakan adalah :
, gantikan X dengan :
, sehingga :
, Dan diperoleh bentuk polinomial untuk
- :
Untuk lebih jelasnya, perhatikan Tabel 3.1
Edy Susanto : Analisis Kinerja Kode BCH, 2010.
Tabel 3.1 Galois Field GF2
5
b. Untuk t=3, terdapat 5 buah minimal polinomial, m
1
x … m
5
x m
1
x = x
5
+ x
2
+ 1 m
2
x = x
5
+ x
2
+ 1 m
3
x = x
5
+ x
4
+ x
3
+ x
2
+ 1 m
4
x = x
5
+ x
2
+ 1 m
5
x = x
5
+ x
4
+ x
2
+ x + 1
Edy Susanto : Analisis Kinerja Kode BCH, 2010.
c. Bentuk generator polinomial gx.
gx = KPKm
1
x, …, m
5
x gx
= m
1
x m
3
x m
5
x gx
= x
5
+ x
2
+ 1 x
5
+ x
4
+ x
3
+ x
2
+ 1 x
5
+ x
4
+ x
2
+ x + 1 gx
= x
15
+ x
11
+ x
10
+ x
9
+ x
8
+ x
7
+ x
5
+ x
3
+ x
2
+ x + 1 gx
= 1000111110101111 d.
Tambahkan 15 buah bit 0 di belakang bit pesan:
bx = 0000000001000001000000000000000
e. Hitung nilai checkbit:
cx = 0000000001000001000000000000000 mod 1000111110101111 cx
= 100101000100010 f.
Blok bit yang dikirimkan: vx = px | cx = 0000000001000001 | 100101000100010
2. Proses Decoding
10
: Misalkan terdapat gangguan pada saat transmisi data, sehingga blok bit yang
diterima berubah menjadi:
vx = 0001000011000001 | 100100000100010
Maka, proses pendeteksian dan pengoreksian error yang dilakukan adalah sebagai berikut:
a. Hitung nilai modulus [px | cx] mod gx
vx = 0001000011000001100100000100010 mod 1000111110101111 vx
= 1111110111010
Edy Susanto : Analisis Kinerja Kode BCH, 2010.
b. Nilai modulus tidak sama dengan nol, berarti terdapat error. Lanjutkan
perhitungan proses pengoreksian error. c.
Tentukan 6 buah minimal polinomial: m
1
x = x
5
+ x
2
+ 1 = 100101 m
2
x = x
5
+ x
2
+ 1 = 100101 m
3
x = x
5
+ x
4
+ x
3
+ x
2
+ 1 = 111101 m
4
x = x
5
+ x
2
+ 1 = 100101 m
5
x = x
5
+ x
4
+ x
2
+ x + 1 = 110111 m
6
x = x
5
+ x
4
+ x
3
+ x
2
+ 1 = 111101 d.
Hitung sindrome dari keenam minimal polinomial tersebut: s
1
x = vx mod m
1
x s
1
x = 0001000011000001100100000100010 mod 100101
s
1
x = 100 = x
2
s
2
x = vx mod m
2
x s
1
x = 0001000011000001100100000100010 mod 100101
s
1
x = 100 = x
2
s
3
x = vx mod m
3
x s
1
x = 0001000011000001100100000100010 mod 111101
s
1
x = 11011 = x
4
+ x
3
+ x + 1 s
4
x = vx mod m
4
x s
1
x = 0001000011000001100100000100010 mod 100101
s
1
x = 100 = x
2
s
5
x = vx mod m
5
x s
1
x = 0001000011000001100100000100010 mod 110111
Edy Susanto : Analisis Kinerja Kode BCH, 2010.
s
1
x = 10010 = x
4
+ x s
6
x = vx mod m
6
x s
1
x = 0001000011000001100100000100010 mod 111101
s
1
x = 11011 = x
4
+ x
3
+ x + 1 e.
Substitusikan ke dalam persamaan sindrome di atas. s
1
=
2
s
2 2
=
2 2
=
4
s
3 3
=
3 4
+
3 3
+
3
+ 1 =
12
+
9
+
3
+ 1 =
14
s
4 4
=
4 2
=
8
s
5 5
=
5 4
+
5
=
20
+
5
=
29
s
6 6
=
6 4
+
6 3
+
6
+ 1 =
24
+
18
+
6
+ 1 =
28
f. Buat tabel BCH dengan menggunakan algoritma Peterson-Berlekamp.
Tentukan nilai awal kondisi, yaitu : σ
-1
x = 1; σ
x = 1; l
-1
= 0; l
= 0; d
-1
= 1; d
= s
1;
Untuk n = 0, , sehingga kita pilih m = -1 dan sesuai
persamaan 2.46 dan persamaan 2.47 :
Karena = 0, maka dipakai persamaan 2.45, sehingga untuk n = 1 :
Edy Susanto : Analisis Kinerja Kode BCH, 2010.
, sehingga untuk n = 2, dan m = 0,
n = 3,
d4 ≠ 0 , n = 4, m = 2,
= 0, n =6, dan error-locator polinomial nya adalah :
Edy Susanto : Analisis Kinerja Kode BCH, 2010.
Hasil perhitungan di atas kemudian dimasukkan ke dalam Tabel 3.2 Tabel 3.2 Tabel dari Algoritma Peterson-Berlekamp
n -
1 1
-1 1
1 1
2 1
1 3
2 1
4 2
2 5
3 2
6 -
- -
g. Error locator polynomial yang diperoleh adalah
27
x
3
+
11
x
2
+
2
x + 1. h.
Dengan menggunakan algoritma trial and error, yaitu mengganti nilai persamaan point g dengan field element yang ada pada GF2
5
, ,
dengan ketentuan 0 ≤
k ≤
31, dan
, diperoleh 3 buah akar polinomial yaitu:
4
,
9
,
22
. i.
Maka posisi bit yang error adalah nilai kebalikan dari ketiga nilai akar di atas:
Kebalikan dari
4
=
31-4
=
27
posisi bit ke 27 Kebalikan dari
9
=
31-9
=
22
posisi bit ke 22 Kebalikan dari
22
=
31-22
=
9
posisi bit ke 9 j.
Perbaiki bit pada posisi error dengan membalikkan nilai bit pada posisi tersebut.
30 27 23 19 15 11 7 3 0
000 1000 0110 0000 1100 1000 0010 0010
000 0000 0010 0000 1100 1010 0010 0010
Edy Susanto : Analisis Kinerja Kode BCH, 2010.
3.2 Model Sistem