Bukti.
Perhatikan bahwa karena C linear, maka dC = mi
| x C, x
≠ y }
| x,y C, x ≠ y }
n { dx,y ,y
= min { = min
| z C, z ≠ 0 } =
. terbukti .
Definisi 2.3.3
O ogonal dibaca : kode dual dari C , notasi
, didefinisikan
rt dari C
= {y
| x . y = 0 untuk setiap x C }. Dimana “.” adalah produk dalam
standa a
r pad yang didefinisikan sebagai :
x . y =
∑ .
, =
, ,
….. , y =
,
.
,….
Dengan demikian , jika C berdimensi k , maka berdimensi r = n- k.
2.4 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 matrik paritas ini berimplikasi pada pendefinisian kode linear yang
berkaitan dengan cara konstruksinya, yaitu C = { x | H
= 0 }.
Dengan kata
lain, C adalah ker H.
Mengkonstruksi membuat kode linear dengan panjang n dan k sama artinya dengan mendefinisikan matriks cek paritas seperti yang dimaksud diatas.
Di samping itu matriks cek paritas berfungsi mengubah pesan menjadi katakode, dengan kata lain ia merupakan parameter didalam enkoding.
2.5 Enkoding Kode Linear Enkoding kode linear dengan menggunakan matriks cek paritas H,
diilustrasikan sebagai berikut. Diberikan blok simbol pesan dengan panjang k misalnya
akan dienkode menjadi kata kode
1 2
... ,
k
u u u
u =
1 2
...
n
x x x
x =
dimana
dengan menggunakan matriks cek paritas H yang telah didefinisikan
sebelumnya. Maka, pertam kali id inis an n
k ≥
a d ef
ik =
, =
, … =
dan diikuti dengan pendefinisian r
n k = − simbol cek
1 1
...
k k
n
x x
x
+ +
yang
n
x ⎜ ⎟ ⎜ ⎟
⎜ ⎟ ⎜ ⎟ ⎝ ⎠
⎝ ⎠ M
M
nilainya bergantung pada nilai simbol pesan. Ketergantungan ini ditentukan oleh H
dengan menyelesaikan SPL homogen berikut:
1 2
.
T
x x
⎛ ⎞ ⎛ ⎞ ⎜ ⎟ ⎜ ⎟
⎜ ⎟ ⎜ ⎟ ⇔
=
Hx = 0 H
Untuk memudahkan penyelesaian, matriks A biasanya diberikan dalam bentuk
standar, yaitu |
.
r
H = A I Dengan A adalah matriks biner berukuran
dan I
r
adalah matriks identitas berukuran
Jika matriks H belum berbentuk standar, maka dilakukan
operasi baris kolom elementer untuk mendapatkan matriks ekivalen standarnya.
x , r
k
x . r
r
Berikut ini diilustrasikan proses kalkulasi enkoding dengan menggunakan
H. Didefinisikan matriks cek paritas H berikut:
0 1 1 1 0 0 1 0 1 0 1 0
1 1 0 0 0 1 ⎛
⎞ ⎜
⎟ ⎜
⎟ ⎜
⎟ ⎝
⎠ H =
.
.
Dari ukuran H diperoleh n =6, n – k =3, sehingga k = 3. Terlihat bahwa H
mempunyai bentuk standar dengan
0 1 1 1 0 1
1 1 0 ⎛
⎞ ⎜
⎟ ⎜
⎟ ⎜
⎟ ⎝
⎠ A =
Pesan akan dienkode menjadi
1 2 3
u u u u =
1 2 3
4 5
6
. x x x x x x
x =
Hal ini dimulai dari
1 1
2 2
3 3
, , , x
u x
u x
u =
= =
kemudian x
4,
x
5,
x
6
dipilih sehingga memenuhi sehingga diperoleh
Sistem Persamaan Linear SPL
,
T
Hx = 0
2 3
4 1
3 5
1 2
6
0, 0,
0. x
x x
x x
x x
x x
+ + =
+ + = + +
=
dan disebut SPL cek paritas. Misalnya pesan maka
110, u =
1
1, x
=
dan dari SPL diperoleh
2
1, x
=
3
0, x
=
4 5
6
1 1, 1 1,
1 1 1 1 0. x
x x
= − = = − =
= − − = + =
Ini berarti H mengubah pesan menjadi katakode
Secara keseluruhan, karena
maka ada 110
u = 110110.
x =
3, k
=
3
2 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 dapat menggunakan matriks generator dari C, biasanya dinotasikan dengan G.
Semua baris dari G merupakan basis untuk C. Akibatnya G berukuran k x n dan setiap kata kode merupakan kombinasi linear dari semua vektor baris dari G,
dengan kata lain
C = Span{ ,
, …. }
Dimana { ,
, …. } adalah himpunan semua baris dari G, hubungan antara
H dan G dapat dinyatakan dalam persamaan berikut:
G H
T
= HG
T
2.6 Dasar-dasar konstruksi kode 2.6.1
Penambahan pada matriks cek paritas Adding an overall parity checkExtending a code
Misalkan adalah suatu kode linear biner dengan parameter
[
C
]
, , n k d
yang 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. ˆ
C
Dengan penambahan ini, jarak tiap pasang kata kode menjadi genap. Jika jarak minimum kode
ganjil, maka kode yang baru memiliki jarak minimum ,
sehingga memiliki parameter
C 1
d +
ˆ C
[ ]
1, , 1
n k d
+ + . Secara umum, proses
penambahan simbol pada matriks cek paritas disebut sebagai extending a code. Williams Sloane 1981
C 2.6.2
Pemotongan kode dengan cara menghapus koordinat tertentu Puncturing a code by deleting coordinates
Misalkan adalah suatu kode linear. Proses pemotongan kode
puncturing merupakan inverskebalikan dari proses memperluas kode extending a code. Proses ini menghapus satu atau lebih koordinat dari setiap kata kode.
Ketika suatu koordinat dihapus, panjang dan jarak minimum dari kode akan berkurang satu namun, pada kasus tertentu, ada kalanya jarak minimum tetap.
Dengan kata lain, jika kode awal C memiliki parameter
[ ]
, , n k d , kode yang baru
memiliki parameter
[
C
]
1, , n
k 1
d −
− . Williams Sloane 1981
2.6.3 Penghapusan dengan cara menghilangkan beberapa kata kode
Expurgating by thowing away codewords
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
[ ]
, 1,
d −
n k . Pada
umumnya d
d Williams Sloane 1981
2.6.4 Memperbesar suatu kode dengan cara menambahkan kata kode baru
Augmenting by adding new codeword
Salah satu cara untuk memperbesar suatu kode adalah dengan cara menambahkan satu baris vektor
1
pada matriks generator. Jika adalah suatu
kode dengan parameter
[
C
]
, , n k d dan tidak memiliki kata kode 1 vektor satu,
kode yang telah diperbesar berbentuk 1
a
C C
C = ∪ +
a
C mengandungmemiliki kata kode dari kode C beserta komplemennya.
Dengan demikian
a
C memiliki parameter
, 1,
a
n k d
⎡ ⎤
+ ⎣
⎦ , dengan
{ }
min ,
d d n
= −
a
d d
= ,
bobot terbesar dari kata kode di .
C Williams Sloane 1981