Konstruksi Kode Linear Biner Optimal Kuat

advertisement
BAB II
LANDASAN TEORI
Sebagai acuan penulisan penelitian ini diperlukan beberapa pengertian dan
teori yang berkaitan dengan pembahasan. Dalam sub bab ini akan diberikan
beberapa landasan teori berupa pengertian, definisi, proposisi dan teorema yang
berkaitan dengan pembahasan.
Definisi Sistem Persamaan Linear (SPL)
Sistem Persamaan Linear (SPL) m
n adalah m persamaan linear dengan n
variabel (peubah). Bentuk umumnya adalah sebagai berikut:
+
+
+
=
+
+
+
=
+
+
+
dengan
dan
sedangkan
=
berupa konstanta, i = 1, 2,
, m;
j = 1, 2,
, n,
merupakan variabel yang ingin ditentukan nilainya. Nilai
disebut koefisien
pada persamaan ke-i.
Suatu sistem persamaan linear dengan bentuk
=
=
=
= 0
disebut SPL homogen. Bentuk umum dari SPL homogen adalah sebagai berikut:
+
+
+
=0
+
+
+
=0
+
+
+
=0
(Gunawan Santosa R. 2009)
Definisi Matriks
Matriks adalah susunan segi empat yang unsur-unsurnya berupa bilanganbilangan. Matriks X dengan ordo m
n adalah matriks dengan ukuran m baris
dan n kolom, simbolnya adalah sebagai berikut.
5
X=
Unsur matriks yang disimbolkan dengan
j = 1, 2,
dimana i = 1, 2,
, m dan
, n, dibaca sebagai unsur matriks X pada baris ke-i dan kolom ke-j.
(Gunawan Santosa R. 2009)
Definisi Field
Suatu himpunan
yang padanya didefinisikan operasi jumlah (+) dan
operasi kali (.) disebut field, notasi
1.
, jika memenuhi sifat-sifat berikut,
merupakan grup komutatif terhadap +, yaitu memenuhi sifat-sifat:
a. Asosiatif: (
b.
, ,
) ( + ) + = + ( + ),
mempunyai unsur identitas: ( 0
c. Setiap unsur dari
d. komutatif: (
, dimana
)0+ = +0= ,
mempunyai invers: (
+ = 0, dalam hal ini
2.
)(
=(
)(
)
+
=
), dan
)
.
=
, merupakan grup komutatif terhadap .,
bersifat:
a. asosiatif: (
b.
)( )
,
mempunyai unsur identitas: (
c. setiap unsur dari
)(
) 1.
mempunyai invers: (
, dalam hal ini dinotasikan
d. komutatif: (
)
) (
)
), dan
.
3. Berlaku sifat distributif . terhadap + : (
atau (
.1 = ,
)
)
(Sugi Guritman 2005)
Contoh field takhingga diantaranya adalah: himpunan bilangan real,
himpunan bilangan kompleks, sedangkan contoh dari field berhingga diantaranya
adalah
= {0,1, 2,…, ( – 1)} dengan operasi jumlah dan kali modulo , dimana
bilangan prima. Jadi
adalah {0,1}.
adalah contoh field berhingga dengan anggotanya
6
Definisi Ruang Vektor
Diberikan sembarang himpunan
dan sembarang field
. Pada
didefinisikan aturan jumlah dan aturan perkalian dengan skalar. Himpunan
disebut ruang vektor atas
jika terhadap aturan-aturan tersebut memenuhi 10
aksioma-aksioma berikut.
1. ( u, v
)( w
2. ( u, v, w
) u + v = w.
) (u + v) + w = u + (v + w).
3. ( 0
)( u
) 0 + u = u + 0 = u.
4. ( u
)( v
) u + v = v + u = 0, dalam hal ini v = u.
5. ( u, v
) u + v = v + u.
6. ( k
, u
7. ( k
, u, v
) k(u + v) = ku + kv.
8. ( k, l
, u
) (k + l) u = ku + lu.
9. ( k, l
, u
) (kl)u = k(lu).
10. ( u
)( v
) ku = v.
) 1u = u dimana 1 adalah unsur identitas dari
terhadap operasi
kali.
(Sugi Guritman 2005)
Unsur-unsur dari
dari
dalam hal ini merupakan skalar, sedangkan unsur-unsur
disebut dengan vektor.
Sebagai contoh: misalkan
merupakan himpunan dari pasangan terurut
dengan panjang n yang unsur-unsurnya merupakan elemen dari
{(
,
,…,
)
}. Misalkan pula
, dan
v
, yaitu
=
=
, w =
. Operasi Penjumlahan di
sebagai v + w =
didefinisikan
. Sedangkan perkalian
dengan skalar didefinisikan sebagai
.v =
. Maka
merupakan ruang vektor.
Definisi Subruang (Subspace)
Misalkan
adalah ruang vektor atas skalar
disebut subruang dari
jika
operasi yang sama dengan .
dan
. Himpunan
juga merupakan ruang vektor atas
terhadap
7
Teorema 1
Misalkan
adalah ruang vektor atas skalar
dan
, maka tiga
proposisi berikut ini ekivalen.
(i)
(ii)
subruang dari .
Berlaku dua sifat berikut ini:
(a) (
,
)
(b) ( k
(iii)
, w
( k, l
,
+
, dan
) kw
,
.
) k
+l
.
(Sugi Guritman 2005)
Definisi Kombinasi Linear
Misalkan
adalah
ruang vektor atas skalar
= { , ,…, } terdiri atas n vektor dalam
kombinasi linear dari
jika
( , , …,
)
. Diberikan
himpunan
. Suatu vektor v
disebut
sehingga v =
.
(Sugi Guritman 2005)
Definisi Bebas Linear dan Terpaut linear
Misalkan
adalah ruang vektor atas skalar
, dan misalkan
adalah himpunan yang terdiri atas n vektor dalam
.
=
disebut
bebas linear jika memenuhi persamaan berikut
( i
Ingkarannya,
I = {1,2,…,n}
= 0).
disebut terpaut linear jika
( j
I = {1,2,…, n}
0).
(Sugi Guritman 2005)
Definisi Perentang / Span
Jika S =
adalah vektor-vektor di dalam ruang vektor
jika tiap-tiap vektor di dalam
dan
dapat dinyatakan sebagai kombinasi linear dari S,
maka dikatakan bahwa vektor-vektor S merentang (spanning) .
Jika
=
, maka S disebut himpunan perentang
. Dan
dikatakan
direntang oleh S.
(Gunawan Santosa R. 2009)
8
Definisi Basis
Jika
adalah sembarang ruang vektor dan S = {
sebuah himpunan berhingga dari vektor-vektor di dalam
sebuah basis untuk
} adalah
, maka S dinamakan
jika:
1. S bebas linear.
2. S merentang
.
(Gunawan Santosa R. 2009)
Definisi Dimensi
Dimensi dari sebuah ruang vektor
didefinisikan sebagai banyaknya
vektor-vektor dari basis di .
(Gunawan Santosa R. 2009)
Definisi Ruang Baris dan Ruang Kolom
Jika diketahui matriks A berukuran m
n, maka subruang
yang
direntang oleh vektor-vektor baris dinamakan ruang baris (row space) dari A.
Sedangkan subruang
yang direntang oleh vektor-vektor kolom dinamakan
ruang kolom (column space) dari A.
(Gunawan Santosa R. 2009)
Definisi Rank
Dimensi ruang baris atau ruang kolom dari matriks A dinamakan rank dari
matriks A.
(Gunawan Santosa R. 2009)
Definisi Produk dalam
Misalkan
adalah ruang vektor atas skalar
, misalkan x, y
sembarang. Operasi biner dari x dan y bernilai dalam , dinotasikan
, disebut
produk dalam (inner product) jika memenuhi sifat-sifat berikut. Untuk setiap
x, y, z
dan k, l
1. Simetrik:
2. Linearitas:
berlaku:
=
=k
+l
, dan
9
3. Positifitas:
0 dan
= 0 jhj x = 0.
(Sugi Guritman 2005)
Sebagai contoh: misalkan x = {
}
dan y = {
}
. Produk dalam baku dari x dan y didefinisikan sebagai berikut
= x.y =
.
Definisi Ortogonal
Dua vektor x dan y di dalam ruang vektor
dinotasikan x
y, jika
dikatakan ortogonal,
= 0.
(Sugi Guritman 2005)
Definisi Komplemen Ortogonal
Misalkan
adalah ruang vektor dan S
juga dual) dari S, notasi
. Komplemen ortogonal (disebut
, didefinisikan sebagai
=
.
(Sugi Guritman 2005)
Sebagai contoh: misalkan v =
i.
,w=
; v, w
.
Vektor v & w dikatakan saling tegak lurus (orthogonal) jika
v.w = 0
ii.
Misalkan
S merupakan himpunan bagian dari
orthogonal dari S, notasi
didefinisikan sebagai
=
. Jika S =
Jika S merupakan subruang dari ruang vektor
dari ruang vektor
dan
=
. Komplemen
, maka
, maka
=
.
merupakan subruang
.
(Ling & Xing, 2004)
Definisi Kode Linear
Misalkan diberikan field berhingga Fq . Misalkan pula Fqn merupakan
himpunan dari vektor-vektor atas Fq dengan panjang n . Kode linear C
didefinisikan sebagai subruang dari ruang vektor Fqn .
(Ling & Xing, 2004)
10
Definisi Kode Dual
Misalkan C merupakan kode linear atas
dari C, notasi
, maka Kode dual (dual code)
, adalah komplemen orthogonal dari C.
Teorema 2
Misal C adalah kode linear atas
dengan panjang n dan dimensi k, maka :
i.
=
ii.
juga merupakan suatu kode linear dan dim (C ) + dim
iii.
dim ( C ) =
=n
=C
Dengan demikian jika C berdimensi k, maka
berdimensi r = n – k .
(Ling & Xing, 2004)
Definisi Jarak Hamming (Hamming distance)
Diberikan ruang vektor
anggota dari
(x, y
atas lapangan
. Misalkan pula x dan y adalah
). Jarak Hamming antara x dan y yang dinotasikan
dengan d ( x, y ) , didefinisikan sebagai berikut.
d ( x, y ) = d ( x1 , y1 ) + d ( x2 , y2 ) + ...d ( xn , yn ) , dengan
1
d ( xi , yi ) = 
0
xi ≠ yi
.
xi = yi
(Ling & Xing, 2004)
Definisi Jarak Minimum suatu kode (Minimum distance of a code)
Misalkan C adalah kode linear yang memiliki kata kode lebih dari satu.
Jarak minimum untuk C , yang dinotasikan d ( C ) , didefinisikan sebagai
=
d ( C ) min {d ( x, y ) | x, y ∈ C , x ≠ y} .
(Ling & Xing, 2004)
Parameter Kode Linear
Kode linear C dengan panjang n dan berdimensi k disebut dengan kode
linear dengan parameter [n, k]. Jika jarak minimum d dari C diketahui, maka C
disebut kode linear dengan parameter [n, k, d]. Atau disebut kode linear-[n, k, d].
11
Untuk selanjutnya, jika parameter dari suatu kode tidak ditekankan, cukup
disebutkan bahwa C adalah suatu kode linear. Anggota dari C disebut dengan kata
kode.
(Ling & Xing, 2004)
Definisi Bobot Hamming (Hamming weight)
Diberikan ruang vektor
. Misalkan pula x
(Hamming Distance), yang dinotasikan
. Bobot Hamming
wt(x) didefinisikan sebagai jumlah
koordinat/unsur yang tak nol:
Wt(x) = d(x, 0) dengan 0 adalah vektor nol
atau dapat pula didefnisikan sebagai berikut.
1
=
wt ( x) d=
( x, 0) 
0
jika x ≠ 0
.
jika x = 0
Lema 1.
Diberikan ruang vektor
. Misalkan x, y
, maka d(x, y) = wt(x
y).
(Ling & Xing, 2004)
Definisi Bobot Minimum Hamming
Diberikan kode linear C . Minimum Hamming weight (Bobot minimal
Hamming) dari C , dinotasikan wt ( C ) , didefinisikan sebagai bobot terkecil dari
kata kode tak nol dari C .
Teorema 3
Misalkan C adalah suatu kode linear, maka d ( C ) = wt ( C ) .
(Ling & Xing, 2004)
Definisi Matriks Generator dan Matriks Cek Paritas
i.
G dikatakan matriks generator bagi kode C jika baris-barisnya
merupakan basis untuk C.
ii.
H dikatakan matriks cek paritas dari kode C jika H merupakan
matriks generator bagi kode dual
.
(Ling & Xing, 2004)
12
Bentuk Standar dari Matriks Cek Paritas H dan Matriks Generator G
Diberikan kode linear C . Misalkan H dan G , secara berturut-turut adalah
matrik cek paritas dan matrik generator untuk kode linear C .
i.
Bentuk standar untuk matriks generator G adalah ( I k | X ) , dengan
=
Ik
ii.
Matriks identitas berukuran k × k .
Bentuk standar untuk matriks cek paritas H adalah
dengan I n − k
=
(Y | I n − k ) ,
Matriks identitas berukuran ( n − k ) × ( n − k ) .
(Ling & Xing, 2004)
Teorema 4
Misalkan H adalah suatu matriks cek paritas bagi kode linear C, maka
C memiliki jarak minimum
≥
i.
d jika dan hanya jika d – 1 kolom
dari H saling bebas linear.
C memiliki jarak minimum ≤ d jika dan hanya jika d kolom dari H
ii.
saling tidak bebas linear.
(Ling & Xing, 2004)
Teorema 5
Jika G =
adalah bentuk standar dari matriks generator untuk suatu
kode C dengan parameter [n, k], maka matriks cek paritas untuk kode C adalah
H=
.
(Ling & Xing, 2004)
Definisi Ekivalensi dari Kode Linear
Misalkan diberikan sembarang kode linear C1 dan C2 . C1 dan C2 dikatakan
ekivalen jika salah satunya dapat diperoleh dari kode yang lain dengan cara
mengkombinasikan operasi-operasi sebagai berikut.
i.
Mempermutasikan digit-digit yang ada di kata kode tersebut.
ii.
Mengalikan posisi tertentu dengan skalar.
(Ling & Xing, 2004)
13
Model Aljabar Kode Linear Biner.
Jika
biner
x
menotasikan ruang vektor standar berdimensi n atas dasar field
= {0,1}. Maka definisi Bobot (Hamming weight) dari suatu vektor
adalah banyaknya simbol tak nol dalam x dan dinotasikan “ t (x) “ .
Definisi Jarak (Hamming distance) antara dua vektor x,y
adalah banyaknya
posisi digit dari x dan y dimana simbol mereka berbeda dan dinotasikan “ d(x,y) “,
jelas bahwa d(x,y) = t(x + y). Sebagai contoh, di dalam ruang vektor
, jika
x = 110001 dan y = 101010, maka:
d(x,y) = t(110001 + 101010) = t (011011) = 4
Dalam praktek, pengertian tersebut terkait dengan makna fisik sebagai
berikut. Jika pesan x akan dikirim dan berubah menjadi y saat diterima, maka
d(x,y) merepresentasikan banyaknya galat yang terjadi. d(x,y) = 0 berarti tidak
terjadi kesalahan saat pengiriman.
Dari definisi kode di atas dapat disimpulkan bahwa suatu kode linear biner
dengan panjang n merupakan subruang C dari ruang vektor
. Anggota suatu
kode disebut dengan katakode (codeword). Mengonstruksi suatu kode bukan suatu
hal yang sederhana karena harus mempertimbangkan makna praktek yang
dijelaskan sebagai berikut.
Kode merupakan representasi dari himpunan semua pesan. Artinya satu
katakode mewakili satu pesan. Kode diciptakan untuk melindungi (koreksi atau
deteksi) pesan dari kesalahan saat pengiriman. Dengan demikian di dalam setiap
bitstring katakode harus mengandung dua makna, yaitu simbol pesan dan simbol
cek. Simbol pesan telah diketahui (diberikan) sebagai bentuk biner dari pesan,
sedangkan simbol cek merupakan simbol ekstra yang ditempelkan pada pesan.
Biasanya nilai simbol cek bergantung pada simbol pesan. Berikut ini diberikan
ilustrasi bagaimana mengonstruksi suatu kode berdasarkan persamaan aljabar.
Contoh 1: Definisikan suatu kode C dengan panjang 6 di dalam ruang
syarat : x =
C jika dan hanya jika
simbol cek yang memenuhi persamaan :
=
+
=
+
=
+
+
dengan
simbol pesan dan
14
Karena simbol pesan berukuran 3 bit, maka himpunan semua simbol pesan
adalah
= {000, 001, 010, 011, 100, 101, 110, 111}
Jika
= 011
, berarti
= 0 + 1 + 1 = 0, dan
= 0,
= 1 dan
= 1, maka
= 1 + 1 = 0, sehingga 011100
= 1 + 0 = 1,
C.
Secara lengkap pendefinisian C diberikan dalam tabel berikut :
Tabel 1 Contoh pendefinisian pesan menjadi katakode
Simbol Pesan
Katakode
000
000000
001
001111
010
010011
011
011100
100
100110
101
101001
110
110101
111
111010
Jadi C = {000000, 001111, 010011, 011100, 100110, 101001, 110101, 111010}
.
Ilustrasi praktek dari contoh di atas diberikan sebagai berikut. Suatu pesan
110 akan dikirim, maka pesan itu terlebih dahulu harus diubah (dienkoding)
menjadi kata kode. Ini berarti 110 menjadi input dari enkoder. Dan enkoder
melakukan perhitungan dengan menggunakan algoritma sebagaimana dirumuskan
pada contoh tersebut untuk mengubahnya menjadi katakode. Output dari enkoder
adalah berupa kata kode x = 110101. Katakode inilah yang kemudian dikirim
melalui saluran yang diasumsikan terganggu (noisy). Apabila pada saat
pengiriman terjadi gangguan dan x berubah menjadi y = 010101, maka dekoder
harus mampu paling tidak mendeteksi dan akan lebih baik kalau bisa mengoreksi.
15
Pengertian Matriks Cek Paritas
Suatu matriks H berukuran r x n yang semua barisnya merupakan suatu
basis untuk
disebut matriks cek paritas (parity check matrix) dari C.
Pengertian matriks paritas ini berimplikasi pada pendefinisian kode linear yang
berkaitan dengan cara konstruksi seperti pada contoh 1 diatas, yaitu :
C = {x
H
= 0}
Dengan kata lain, C adalah himpunan solusi dari SPL H
= 0 (disebut dengan
kernel H). Mengkonstruksi (membuat) kode linear dengan panjang n dan
berdimensi k sama artinya dengan mendefinisikan matriks cek paritas seperti yang
dimaksud di atas. Disamping itu matriks cek paritas berfungsi mengubah pesan
menjadi katakode, dengan kata lain ia merupakan parameter didalam enkoding.
Enkoding kode linear dengan menggunakan matriks paritas H di ilustrasikan
sebagai berikut.
Diberikan blok simbol pesan dengan panjang k, misalnya u =
akan dienkode menjadi kata kode x =
…….
dimana n
….
,
k dengan
menggunakan matriks cek paritas H yang telah didefinisikan sebelumnya. Maka
pertama kali didefinisikan :
=
,
=
, ……..,
=
dan diikuti dengan pendefinisian r = (n – k) simbol cek
,
,
….
yang
nilainya bergantung pada nilai simbol pesan. Ketergantungan ini ditentukan oleh
H dengan menyelesaikan SPL homogen berikut.
H
=0
H
=
(1)
Demi kemudahan penyelesaian, matriks H biasanya diberikan dalam bentuk
standar, yaitu
H=(AC )
dengan A adalah matriks biner berukuran r x k, dan
(2)
adalah matriks idetitas
berukuran r x r. Jika H belum berbentuk standar, maka dengan operasi
baris/kolom elementer dapat dicari matriks ekuivalen standarnya. Untuk semua
16
perhitungan menggunakan aritmetik operasi modulo 2 yang telah didefinisikan
pada
.
Berikut ini adalah ilustrasi proses kalkulasi enkoding dengan menggunakan
matriks H.
Contoh 2: Didefinisikankan matriks cek paritas
H=
Dari ukuran H diperoleh n = 6; n – k = 3, sehingga k = 3. Terlihat bahwa matriks
H mempunyai bentuk standar sama dengan
A=
Pesan u =
akan dienkode menjadi x =
. Hal ini dimulai
dari
=
kemudian
;
=
;
=
dipilih sehingga memenuhi H
;
= 0, sehingga diperoleh Sistem
Persamaan Linear (SPL)
+
+
= 0;
+
+
= 0;
+
+
= 0:
dan disebut SPL cek paritas. Misalnya pesan u = 110, maka
= 1,
= 1,
= 0,
dan dari SPL diperoleh
= -1 = 1
= -1 = 1
= -1 – 1 = 1 + 1 = 0
Ini berarti H mengubah pesan u = 110 menjadi katakode x = 110110. Secara
keseluruhan, karena k = 3, maka ada
= 8 pesan berbeda yang bertindak sebagai
input dalam enkoding, sehingga H mendefinisikan kode C dengan anggota
8 katakode.
C = {000000, 001110, 010101, 011011, 100011, 101101, 110110, 111000}
Selain menggunakan matriks cek paritas H, untuk mengkonstruksi C juga bisa
menggunakan matriks generator dari C, biasanya dinotasikan dengan G. Dengan
demikian, semua baris dari G merupakan basis untuk C. Akibatnya, G berukuran
17
k x n dan setiap katakode merupakan kombinasi linear dari semua
vektor baris
dari G, dengan kata lain
C = Merentang ({
dimana {
,
, ….
,
, ….
})
} adalah himpunan semua baris dari G.
Dasar-dasar Konstruksi Kode
Apabila suatu kode telah berhasil dikonstruksi, maka kode dengan parameter
yang berbeda dapat pula dikonstruksi, berikut adalah beberapa cara untuk
mendapatkan kode lain tersebut.
1. Penambahan pada matriks cek paritas
Misalkan C adalah suatu kode linear biner dengan parameter
[ n, k , d ]
dengan beberapa kata kode nya berbobot ganjil. Dari kode tersebut akan dibentuk
kode baru Ĉ dengan menambahkan bit "0" di akhir kata kode yang berbobot
genap, dan bit "1" di akhir kata kode yang berbobot ganjil.
Dengan penambahan ini, jarak tiap pasang kata kode menjadi genap. Jika jarak
minimum kode C ganjil, maka kode yang baru memiliki jarak minimum d + 1 ,
Sehingga
Ĉ
memiliki parameter
[ n + 1, k , d + 1] .
Secara umum, proses
penambahan simbol pada matriks cek paritas disebut sebagai exending a code
(memperluas suatu kode) .
(MacWilliams & Sloane,1981)
2. Penghapusan dengan cara menghilangkan beberapa kata kode
Misalkan kode linear biner C memiliki parameter [ n, k , d ] dan memiliki
kata kode dengan bobot ganjil dan genap. Kata kode dengan bobot ganjil dapat
dihapus untuk mendapatkan kode baru dengan parameter
[ n, k − 1, d '] .
Pada
umumnya d ' > d .
(MacWilliams & Sloane,1981)
Download