UNPAD, Jatinangor
Abstract
Pada makalah ini, akan dibahas suatu metode pengkodean, dimana ketika pesan-pesan
yang berbentuk k-tuple akan dikirim, maka pesan-pesan tersebut diubah menjadi code
yang merupakan kumpulan n-tuple codeword, dengan n > k . Codeword tersebut terdiri
dari k simbol yang merupakan pesan yang berkorespondensi dengan codeword tersebut,
dan (n-k) simbol yang disebut bit parity check. Simbol yang digunakan adalah
elemen-elemen dari suatu lapangan hingga GF (q ), q = 2m , m N . Untuk
memperoleh bit parity check ini, digunakan algoritma BCH code, dimana code yang
dihasilkan mampu mendeteksi dan mengkoreksi error yang terjadi pada proses
pengiriman pesan-pesan. Kemampuan suatu code dalam mengontrol error (mendeteksi
dan atau mengkoreksi error) tergantung pada jarak minimum antar codeword dalam code
tersebut.
Kata kunci: pesan, lapangan hingga, codeword, code, jarak minimum.
1. Pendahuluan
Pengkodean informasi adalah suatu cara yang digunakan untuk melindungi informasi
yang dikirim dari gangguan yang mungkin terjadi pada media pengiriman. Untuk
melakukan ini, sebelum dikirim, informasi yang berupa huruf, karakter ataupun suara
diubah terlebih dahulu menjadi pesan-pesan yang berbentuk k-tuple, dimana komponenkomponennya adalah anggota lapangan hingga. Pesan-pesan tersebut kemudian diubah
menjadi kumpulan n-tuple yang disebut codeword melalui proses encoding. Hasil dari
metode pengkodean informasi tersebut disebut code. Gagasan mengenai cara
pengkodean informasi sehingga suatu kesalahan dapat dideteksi dan juga dapat
diperbaiki pertama kali dikembangkan oleh ilmuwan bernama R.W. Hamming.
Dalam perkembangannya, muncul berbagai cara pengkodean informasi yang berbedabeda, yang memiliki proses konstruksi dan sifat yang berbeda satu dengan lainnya.
Berbagai jenis code yang dihasilkan tersebut tidak hanya diaplikasikan pada komputer
saja, tetapi bermanfaat untuk berbagai aspek kehidupan sehari-hari, khususnya teknologi
komunikasi digital. Salah satu jenis atau kelompok code yang mempunyai nilai kegunaan
yang baik adalah cyclic code. Pada makalah ini akan dibahas mengenai konstruksi BCH
code yang termasuk ke dalam kelompok cyclic code.
2. Teori Coding
Untuk membahas kemampuan suatu code dalam mendeteksi sekaligus mengkoreksi error
yang terjadi, diperlukan beberapa pengertian yang berkaitan dengan suatu code C.
Berikut diberikan pengertian tentang jarak Hamming dan bobot Hamming dalam suatu
code C.
(i)
Jarak Hamming antara dua codeword berbentuk n-tuple x = ( x1 , x2 , , xn ) dan
Jarak minimum suatu code C, dilambangkan d min (C ) , atau juga sering disingkat d min ,
didefinisikan sebagai [5]
d min = min d (u , v)
u ,vC
u v
Misal C adalah code dengan d min = d . Maka C memiliki kemampuan kontrol error:
mengkoreksi maksimum t = d 1 error dan mendeteksi maksimum d 1 error [5].
2
Suatu code C yang merupakan (n,k)-blok code disebut grup code jika C merupakan
subruang dari GF (q) n , dimana GF (q ) n menyatakan suatu ruang vektor berdimensi n
atas lapangan hingga GF ( q ) sekaligus merupakan lapangan perluasan dari lapangan
GF (q) . Sehingga proses encoding suatu grup code secara umum dapat juga dipandang
sebagai sebuah transformasi dari ruang vektor GF (q ) k ke ruang vektor GF (q ) n .
Sehingga proses encoding suatu code dapat melibatkan matriks generator G yang
berukuran nxk . Berikut ini adalah sifat yang dimiliki oleh suatu grup code:
Teorema 1: Misalkan d min adalah jarak minimum dari suatu grup code C. Maka d min
adalah minimum dari bobot Hamming semua codeword tak-nol dalam C. Ditulis
d min = min w ( x ) | 0 x C [7]
Suatu code dapat pula dibangun dengan mencari solusi dari persamaan Hx = 0 , dimana
H disebut matriks parity check yang berbentuk H = ( A | I n k ) , dimana A adalah
T
n k x n k . Code yang dibangun tersebut disebut linier code. Suatu linier code juga
merupakan suatu grup code.
Suatu linier (n,k) code C dikatakan suatu cyclic code jika untuk setiap codeword
(a1 , a2 ,...., an ) dalam C, maka pergantian secara siklik menjadi n-tuple
s < n , maka jarak minimum dari code C paling kecil adalah s + 1 [1].
KNM XVI - 3-6 Juli 2012 UNPAD, Jatinangor
4. Bentuk
m( x ) = a1 x
polinomial
k 1
+ a2 x
k 2
u ( x) = x n k m( x) mod g ( x) ,
dimana
pesan m = ( a1 , a2 ,..., ak ) , ai Z 2
u ( x ) = 0 x s 1 + 0 x s 2 + ... + u s v x v + u s v +1 x v 1 + ... + u s v + ( v 1) x + u s ,
yang dimaksudkan untuk menjamin koefisien u ( x) selalu menjadi s = n k
komponen terakhir pada codeword yang dihasilkan. Dengan kata lain, jika
adalah
( c1 , c2 ,..., ck ) = m
dan
( ck +1 ,..., cn1 , cn ) = u .
Teorema berikut memberikan hubungan antara jarak d yang ditentukan pada definisi
BCH code dan jarak minimum pada BCH code tersebut.
Teorema 4: BCH code yang dibangun dengan polinomial generator g ( x ) seperti di atas
memiliki jarak minimum d min d [5].
Teorema 5: Suatu BCH code dengan panjang n = 2m 1 dan jarak minimum paling
sedikit d = 2r + 1 , memiliki bit parity check maksimum sebanyak mr . Dengan kata lain,
n k mr [8].
Lebih lanjut, karena jarak minimum d min d = 2r + 1 dan karena kemampuan koreksi
d min 1
, maka jelas bahwa t r . Jadi, berdasarkan Teorema 5 diperoleh:
2
n k mt
error t =
Misalkan suatu BCH code adalah linier (n,k) code, maka berikut ini diberikan hubungan
antara panjang code (n), panjang pesan (k), dan kemampuan koreksi error maksimum (t)
yang dimiliki oleh BCH code tersebut.
Tabel 1. Hubungan n, k dan t pada BCH (n,k) code
dengan n=7, 15, 31, 63 dan 255
n
63
57
255
247
255
163
12
255
139
15
255
55
31
155
13
131
18
47
42
147
14
123
19
45
43
139
15
115
21
37
45
131
18
107
22
29
47
123
19
99
23
21
55
115
21
91
25
107
22
87
26
99
23
79
27
155
13
71
29
147
14
63
30
15
31
11
51
239
45
231
39
223
26
36
215
21
30
207
16
24
199
11
18
10
191
16
11
187
10
13
179
10
15
171
11
13
59
63
Pada tabel terlihat bahwa panjang pesan yang dapat dikirm (k) dan kemampuan koreksi
maksimum (t) berubah-ubah secara tak teratur. Hal ini dipengaruhi oleh bentuk
polinomial
generator
dari
BCH
code.
Karena
polinomial
generator
g ( x) = lcm [ m1 ( x), m2 ( x),..., m2 r ( x)] , maka bentuknya bergantung pada polinomial
minimal dari k yang besar pangkatnya bergantung pada jumlah elemen dalam suatu
cyclotomic coset. Sebagai contoh, misal diambil n = 15. Perhatikan bahwa terdapat 5
buah cyclotomic coset s (mod 15), 0 < s 15 yang berbeda, yaitu:
C0 = {0}
C3 = {3, 6,12,9}
C1 = {1, 2, 4,8}
C5 = {5,10}
C7 = {7,14,13,11}
C1 = {1, 2, 4,8} , C3 = {3, 6,12,9} , dan C5 = {5,10} berjumlah total 10, maka derajat
dari polinomial generator adalah 10. Sehingga menyebabkan panjang pesan yang dapat
dikirim adalah 15 10 = 5. Jadi, saat jarak BCH d yang dituju berturut-turut dipilih 3, 5
dan 7, nilai k yang diperoleh adalah 11, 7 dan 5, dimana terlihat bahwa polanya tidak
teratur (dalam hal ini, berarti tidak memiliki selisih yang tetap).
Kemampuan koreksi error maksimum juga memiliki pola perubahan yang tidak teratur
untuk d yang berbeda-beda. Penjelasan untuk hal tersebut adalah karena saat kita
menetapkan jarak BCH d pada algoritma encoding, maka kadangkala jarak minimum
dari BCH code yang terbentuk lebih besar dari d. Sebagai contoh, untuk n = 31, jika
dipilih d = 7, maka dapat dihitung jarak minimum dari BCH code yang terbentuk adalah
7, sehingga kemampuan koreksi error maksimum adalah t = 3. Sedangkan jika dipilih d =
9, maka jarak minimum dari code yang terbentuk adalah 11. Perhatikan contoh berikut.
Untuk d = 5, polinomial generator yang terbentuk adalah
dan
C8 = {8,16,1, 2, 4}
maka
polinomial
minimal
m6 ( x) = m3 ( x) . Sehingga
Karena C9 = {9,18, 7,14, 28} = C7 dan C10 = {10, 20,9,18,5} = C5 , maka polinomial
minimal m9 ( x ) = m7 ( x ) dan m10 ( x ) = m5 ( x) . Sehingga
5 error