Construction of Strongly Optimal Linear Binary Codes with Minimum Distance of 5 and 7

(1)

KONSTRUKSI KODE LINEAR BINER OPTIMAL KUAT

BERJARAK MINIMUM 5 DAN 7

ASRIZA RAHMA

SEKOLAH PASCASARJANA

INSTITUT PERTANIAN BOGOR

BOGOR

2011


(2)

 

 

PERNYATAAN MENGENAI TESIS DAN

SUMBER INFORMASI

Dengan ini saya menyatakan bahwa tesis dengan judul Konstruksi Kode

Linear Biner Optimal Kuat adalah karya saya sendiri dengan arahan dari komisi

pembimbing dan belum diajukan dalam bentuk apapun kepada perguruan tinggi

manapun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan

maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan

dicantumkan dalam Daftar Pustaka di bagian akhir tesis ini.

Bogor Agustus 2011

Asriza Rahma

NIM G551090151


(3)

ABSTRACT

ASRIZA RAHMA. Construction of Strongly Optimal Linear Binary Codes with

Minimum Distance of 5 and 7. Under supervision of SUGI GURITMAN and

NUR ALIATININGTYAS.

A code

which is also a subspace of

is called linear binary code.

If

C has length n,

dimension

k and minimum distance d, then C is an [n, k, d]

code. The main problem in coding theory is optimizing one of the parameters n, k,

and d for given values of the others. In this research, the strongly optimal linear

binary codes are constructed by using Gilbert-Varshamov bound and implemented

using MAPLE software. In this case, the constructed basic code C[n, k, d] is then

extended to obtain the code

[

, ,

], which can not be extended anymore and

which is known from the previus research that

[

+1,

+1,d] does not exist.

As a result,

[

, ,

] is strongly optimal code. The strongly optimal codes that

has been successfully constructed are the codes with parameters [8,2,5], [11,4,5],

[17,9,5], [23,14,5], [31,21,5], [33,23,5], [11,2,7], [15,5,7], [23,12,7], [27,14,7],

[30,16,7] and [31,17,7].


(4)

 

 

RINGKASAN

ASRIZA RAHMA. Konstruksi Kode Linear Biner Optimal Kuat Berdimensi 5

dan 7. Dibimbing oleh SUGI GURITMAN dan NUR ALIATININGTYAS.

Kode

diciptakan

untuk

mendeteksi atau mengoreksi galat (error) akibat

saluran terganggu. Dalam hal ini sebelum dikirim , semua pesan akan diubah

menjadi kata kode (codeword) dengan cara menambahkan beberapa simbol ekstra

pada simbol pesan. Proses pengubahan pesan menjadi kata kode disebut

enkoding. Perangkat yang mengubah pesan menjadi kata kode disebut enkoder.

Kode merupakan himpunan kata kode. Pendefinisian kode ini dilakukan

sedemikian sehingga apabila terjadi perubahan beberapa simbol pada kata kode,

maka galat itu bisa dipulihkan oleh dekoder. Dekoder merupakan perangkat yang

mengubah barisan s

ang diterima menjadi kata kode. Kata kode tersebut

dipulihkan menjadi pesan asli.

imbol y

Suatu kode

subruang dari ruang vektor

disebut kode linear

biner. Jika kode C dengan panjang n, dimensi k

dan jarak minimum d maka

disebut kode [n, k, d]. Masalah utama di dalam aljabar teori koding adalah

mengoptimalkan salah satu parameter n, k, dan d ketika dua nilai yang lain telah

ditentukan. Masalah tersebut mengarah pada pendefinisian fungsi

D ( n, k ) = maks { d / kode [ n, k, d ] ada } untuk optimal-D

K ( n, d ) = maks { k / kode [ n, k, d ] ada } untuk optimal-K

N ( k, d ) = min { n / kode [ n, k, d ] ada } untuk optimal-N

Dalam hal ini, suatu kode C dengan parameter [ n, k, d ] disebut optimal-D

(optimal jarak minimum), jika C ada (telah berhasil dikonstruksi) dan telah pula

dibuktikan bahwa tidak ada kode dengan parameter [ n, k, d + 1]. Jika kode linear

[n, k, d] ada dan telah berhasil dibuktikan bahwa kode linear [n-1,

k, d] tidak ada

maka kode disebut optimal-N. Selanjutnya jika kode linear [n, k, d] ada dan telah

berhasil dibuktikan bahwa kode linear [n, k+1,

d] tidak ada, maka kode tersebut

disebut optimal –K. Kode linear C dengan parameter [n, k, d] disebut kode

optimal kuat jika kode [n, k, d] ada dan telah dibuktikan bahwa kode [n+1, k+1, d]

tidak ada.

Pada penelitian ini akan dikonstruksi kode-kode optimal kuat berjarak

minimum 5 dan 7 berdasarkan teorema Gilbert-Varshamov bound dan

pengembangan metode komputasi dengan software

MAPLE. Dalam hal ini

dikonstruksi kode dasar [n, k, d], selanjutnya dari kode dasar ini dikonstruksi

tahap demi tahap kode [n+1,

k+1,d], [n+2,

k+2, d],…dan seterusnya sampai

diperoleh kode C dengan parameter [

, ,

yang tidak bisa diperluas lagi dan

telah diketahui dari hasil penelitian sebelumnya kode dengan parameter [

1,

1,

tidak ada. (informasi terkini eksistensi suatu kode berdasarkan tabel

Brouwer terbarukan secara online). Hasil konstruksi kode C [

, ,

ini yang

disebut kode optimal kuat. Kode C dapat digunakan sebagai kode dasar untuk

diperluas menjadi kode optimal kuat berikutnya.


(5)

Konstruksi kode berarti mendefinisikan matriks generator (

G)

atau matriks

cek paritas (

H)

dalam bentuk standar

G = ( I

k

| B )

atau

H = (

|

).

Berdasarkan teorema konstruksi untuk mengurangi beban komputasi cukup

mengkonstruksi matriks

B

berordo

yang semua barisnya berbeda dan

jumlah setiap i vektor baris dari

B

berbobot paling sedikit (d-i) untuk i= 1, 2,…,s,

dengan s =min {d-1, k} dan (d-1)

.

Kode-kode optimal kuat yang telah berhasil dikonstruksi pada penelitian

ini adalah [8,2,5], [11,4,5], [17,9,5], [23,14,5], [31,21,5] [33,23,5], untuk d=7

yaitu [11,2,7], [15,5,7], [23,12,7], [27,14,7], [30,16,7] dan [31,17,7].


(6)

 


(7)

© Hak Cipta milik IPB, tahun 2011

Hak Cipta dilindungi Undang-undang

1.

Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa

mencantumkan atau menyebutkan sumbernya

a.

Pengutipan hanya untuk kepentingan pendidikan, penelitian, penulisan

karya ilmiah, penyusunan laporan, penulisan kritik, atau tinjauan

suatu masalah

b.

Pengutipan tersebut tidak merugikan kepentingan yang wajar IPB

2.

Dilarang mengumumkan dan memperbanyak sebagian atau seluruh karya


(8)

 

 

KONSTRUKSI KODE LINEAR BINER OPTIMAL KUAT

BERJARAK MINIMUM 5 DAN 7

ASRIZA RAHMA

Tesis

sebagai salah satu syarat untuk memperoleh gelar

Magister Sains pada

Program Studi Matematika Terapan

SEKOLAH PASCASARJANA

INSTITUT PERTANIAN BOGOR

BOGOR

2011


(9)

Judul Tesis

: Konstruksi Kode Linear Biner Optimal Kuat Berjarak

Minimum 5 dan 7

Nama :

Asriza

Rahma

NRP :

G551090151

Disetujui,

Komisi Pembimbing

Dr. Sugi Guritman

Ketua

Dra. Nur Aliatiningtyas, M.Si.

Anggota

Diketahui,

Ketua Program Studi S2

Matematika Terapan

Dekan Sekolah Pascasarjana IPB

Dr. Ir. Endar H. Nugrahani, M.S.

Dr. Ir.Dahrul Syah, M.Sc.Agr.


(10)

 

 

 


(11)

PRAKATA

Segala puji dan syukur penulis panjatkan kehadirat Allah SWT yang telah

memberikan rahmat dan karunia-Nya, sehingga penulis dapat menyelesaikan tesis

yang berjudul “ Konstruksi Kode Linear Biner Optimal Kuat Berjarak Minimum

5 dan 7”.

Dalam kesempatan ini penulis mengucapkan terima kasih yang

sebesar-besarnya kepada yang terhormat:

1.

Bapak Dr. Sugi Guritman dan Ibu Dra. Nur Aliatiningtyas, M.S. selaku

pembimbing, pendidik, dan pengajar yang dengan penuh kesabaran

memberikan bimbingan, arahan, nasehat serta motivasi kepada penulis.

2.

Kementerian Agama Republik Indonesia yang telah memberikan beasiswa

kepada penulis untuk melanjutkan studi di Sekolah Pascasarjana Institut

Pertanian Bogor periode 2009 s/d 2011.

3.

Ibu Dr. Ir. Sri Nurdiati, M.Sc. selaku penguji luar komisi pembimbing yang

telah banyak memberi saran untuk perbaikan tesis ini.

Terima kasih juga penulis sampaikan kepada suami dan anak-anak

tercinta serta

seluruh keluarga atas dukungan, motivasi dan doa yang diberikan selama penulis

menyelesaikan tesis ini.

Penulis menyadari bahwa penulisan tesis ini masih banyak kekurangan,

hal ini disebabkan pengetahuan penulis yang masih terbatas. Dengan segala

keterbatasan yang ada semoga tesis ini bermanfaat.

Bogor, Agustus 2011

Asriza Rahma


(12)

 

 

RIWAYAT HIDUP

Penulis dilahirkan di Batusangkar, Sumatera Barat pada tanggal 28

Agustus 1972 dari pasangan Jalius Jalil (Alm) dan Asnimar. Penulis merupakan

putri pertama dari empat bersaudara.

Pada tahun 1996 penulis menyelesaikan pendidikan strata satu di Program

Studi Pendidikan Matematika IKIP Padang. Sejak tahun 1997 bekerja sebagai

guru pada Madrasah Aliyah Negeri 2 Payakumbuh sampai sekarang.

Pada tahun 2009 penulis diberi kesempatan melanjutkan studi di Program

Studi Matematika Terapan, Sekolah Pascasarjana Institut Pertanian Bogor dengan

beasiswa dari Kementerian Agama Republik Indonesia.


(13)

DAFTAR ISI

Halaman

DAFTAR LAMPIRAN………. xiv

1 PENDAHULUAN

1.1 Latar Belakang ………

1

1.2 Tujuan Penelitian ………..

2

2 TINJAUAN PUSTAKA

2.1 Struktur Aljabar ………

3

2.2 Aljabar Linear ………..

4

2.3 Model Aljabar Kode Linear ……….

7

2.4 Matriks Cek Paritas ………..

8

2.5 Enkoding Kode Linear ……….

8

2.6 Dasar-dasar Konstruksi Kode ………...

10

3 HASIL DAN PEMBAHASAN

3.1 Formulasi Masalah ……… 13

3.2 Analisis Teori………. 14

3.3 Algoritme Konstruksi ……… 16

3.4 Hasil Eksplorasi ……….... 20

4

KESIMPULAN DAN SARAN

4.1 Kesimpulan ………... 32

4.2 Saran ……….. 32

DAFTAR PUSTAKA ……….. 33


(14)

 

 

DAFTAR LAMPIRAN

Halaman

1 Program Matriks Biner………..

35

1.1

Pendefinisian Prosedur yang digunakan untuk

Konversi Representasi Data ………..

35

1.2 Program Aljabar Matriks Biner dengan Representasi Himpunan…...

36

1.3 Pendefinisian prosedur yang Digunakan untuk Konstruksi

Kode Optimal ……….

43

2 Eksplorasi konstruksi Kode Optimal Kuat untuk d = 5 ………

61


(15)

BAB 1

PENDAHULUAN

1.1

Latar Belakang

Teori koding berasal dari suatu problem di teori informasi yang ditulis

oleh C.E. Shanon pada tahun 1948 dalam artikelnya yang berjudul

A Mathematical Theory of Communication. Problem itu dapat digambarkan

sebagai berikut. Apabila suatu pesan (informasi) dikirim melalui saluran

terganggu (noisy channel), sering kali terjadi bahwa pesan yang diterima tidak

sama dengan yang dikirim. Di dalam komunikasi , pesan direpresentasikan dalam

bentuk digital sebagai blok (barisan) simbol, sering kali digunakan simbol biner

yang dikenal dengan bitstring. Saluran biasanya berupa jaringan telepon, jaringan

radio berfrekuensi tinggi atau jaringan komunikasi satelit. Saluran yang

terganggu menyebabkan berubahnya beberapa simbol yang dikirim, sehingga

mengurangi kualitas informasi yang diterima ( Guritman & Aliatiningtyas 2004).

Suatu kode diciptakan untuk mendeteksi atau mengoreksi galat (error)

akibat saluran terganggu. Dalam hal ini sebelum dikirim , semua pesan akan

diubah menjadi kata kode (codeword) dengan cara menambahkan beberapa

simbol ekstra pada simbol pesan. Proses pengubahan pesan menjadi kata kode

disebut enkoding. Perangkat yang mengubah pesan menjadi kata kode disebut

enkoder. Kode merupakan himpunan kata kode. Pendefinisian kode ini dilakukan

sedemikian sehingga apabila terjadi perubahan beberapa simbol pada kata kode,

maka galat itu bisa dipulihkan oleh dekoder. Dekoder merupakan perangkat yang

mengubah barisan simbol yang diterima menjadi katakode. Kata kode tersebut

dipulihkan menjadi pesan asli. Proses tersebut diringkas dalam bagan berikut ini:

Ada noisy 1001

1001  1001101  110110 100110

Pesan encoder kata kode kirim kirim galat 1 bit dekod katakode pesan

Gambar 1 skema pengiriman pesan melalui saluran yang terganggu.


(16)

mempunyai metode konstruksi yang berbeda. Eksistensi suatu kode dapat dilihat

berdasarkan tabel Brouwer dan bisa diakses secara on-line.

Dalam penelitian ini akan dikonstruksi kode-kode optimal kuat atas dasar

teorema Gilbert-Varshamov bounds. Konstruksi kode dilakukan perkasus atas

dasar jarak minimum d, yaitu untuk d = 5 dan d = 7. Pemilihan kasus dimulai dari

d = 5 karena untuk d = 3 telah tuntas dikonstruksi sebagai keluarga kode

Hamming.

1.2

Tujuan Penelitian

a.

Mengkaji secara teoritik metode konstruksi.

b.

Membangun metode komputasi untuk konstruksi dengan bantuan

software MAPLE


(17)

BAB II

TINJAUAN PUSTAKA

Pada bab ini akan dituliskan beberapa aspek teoritis berupa definisi,

teorema dan sifat-sifat yang berhubungan dengan aljabar linear, struktur aljabar dan

teori koding yang digunakan sebagai landasan teori untuk penulisan tesis ini.

2.1 Struktur Aljabar

Definisi 2.1.1 Operasi Biner

Operasi biner

pada suatu himpunan

S

adalah suatu fungsi dari

S

S

yang

membawa setiap (a,b)

S

S

ke a b

S

yang unik. Jadi (a,b) a b. Karena a

b juga berada dalam

S

maka dikatakan

S

tertutup di bawah operasi .

( Aliatiningtyas 2002)

Definisi 2.1.2 Grup

Struktur aljabar

G

dengan operasi biner disebut

grup

jika memenuhi

aksioma-aksioma berikut ini:

1. operasi bersifat

assosiatif

(

x

z

=

x

y

,

, ,

.

2. ada unsur iden t

ti as

e

,

sehingga berlaku

e

,

.

3. untuk setiap

x

ada unsur

x

-1

sehingga

x

x

-1

=

x

-1

x

=

e.

(Aliatiningtyas 2002)

Definisi 2.1.3 Subgrup

Misalkan

G

grup dan

H

. Maka

H

disebut subgrup dari

G

jika

H

grup di bawah

operasi biner yang sama dengan

G.

( notasi:

H

).

(Aliatiningtyas 2002)

Teorema 2.1.4 ( teorema Langrange)

Jika

G

grup hingga dan

H

adalah subgrup

G,

maka order dari

H

membagi order

dari

G

.

(Aliatiningtyas

2002)

Definisi 2.1.4

Field

Suatu himpunan yang padanya didefinisikan operasi jumlah (+) dan operasi kali (.)

disebut

fi

eld

, notasi ( , +, . ), jika memenuhi sifat-sifat berikut:


(18)

a.

A

ssosiatif:

(

, , ,

b.

mempunyai unsur identitas: (

!

,

c.

Setiap unsur dari mempunyai invers:

!

,

,

,

dalam hal ini

d.

Ko

mutatif:

,

.

2.

(

, . ), dima

na

=

\

,

merupakan

gru

p komutatif

terhadap ., bersifat:

a.

A

ssosiatif:

, , ,

b.

mempunyai uns

ur

identitas

: (

! 1

1

.

. 1

c.

Setiap unsur dari

mempunyai invers:(

) (

!

)

1,

dalam hal ini

dan

d.

:

(

, ,

.

3.

Berlaku sifat

distributif .

terhadap + :

, ,

atau

.

(Guritman 2005)

2.1.5 Definisi

Finite Field

Suatu

field

dikatakan berhingga (

finite field

) jika himpunannya memiliki banyak

elemen yang berhingga. Order adalah banyaknya anggota

.

(Menezes

et al.

1997)

2.2. Aljabar linear

Definisi 2.2.1: Ruang Vektor

Misalkan

merupakan

field

hingga dengan order

. Himpunan tak kosong

V

(dengan penjumlahan vektor dan perkalian skalar oleh elemen

) merupakan ruang

vektor dari

jika untuk semua

q

F

q

F

q

q

F

,

u vV

dan untuk semua

λ μ

, ∈Fq

, maka berlaku:

1.

u

+ ∈

v V

2.

(u v+ + = + +) w u (v w)

3.

unsur

0∈V

dimana

0+ = = + ∀ ∈v v v 0, v V

4.

∀ ∈u V, ∃ − ∈u V dimana 0u+ − = = − +

( )

u

( )

u u

5.

u v

+ = +

v u


(19)

7.

λ

⋅ +

(

u v

)

= ⋅ + ⋅

λ

u

λ

v

8.

(

λ μ

+

)

⋅ =u

λ

u+

μ

u

9.

( )

λμ

⋅ =u

λ μ

(

u

)

10.

Jika 1 merupakan unsur identitas untuk perkalian di

F

q

maka 1

u =u.

(Ling & Xing 2004)

Definisi 2.2.2: Penjumlahan Vektor dan Perkalian Skalar di

F

qn

Misalkan

F

qn

merupakan himpunan dari vektor-vektor dengan panjang

yang

unsur-unsurnya merupakan elemen dari

, yaitu:

n

q

F

F

qn

=

{

u u u

1

,

2

,

3

,

K

,

u

n

}

;

u

i

F

q

.

Misalkan pula

v

=

(

v v

1

,

2

,

K

,

v

n

)

F

qn

{

v v

1

,

2

,

K

,

v

r

}

,

w

=

(

w w

1

,

2

,

K

,

w

n

)

n

q

F

, dan

q

F

λ

.

maka penjumlahan vektor di

F

qn

didefinisikan sebagai

, sedangkan perkalian skalar didefinisikan

sebagai

(

1 1

,

2 2

,

,

n n

u

+ =

w

v

+

w v

+

w

K

v

+

w

F

(

1, 2, ,

)

.

n

n q

v v v v F

λ

⋅ =

λ λ

K

λ

)

q

q

(Ling & Xing 2004)

Definisi 2.2.3: Subruang (

Subspace)

Suatu himpunan tak kosong

dari ruang vektor

V

merupakan subruang (ruang

bagian) dari

V

jika

merupakan ruang vektor dan memiliki sifat penjumlahan

vektor dan perkalian vektor yang sama dengan

V

.

C

C

(Ling & Xing 2004)

Definisi 2.2.4: Kombinasi Linear

Misalkan

V

merupakan ruang vektor atas

Fq

,

λ

iF

sembarang, maka

1 1u 2u2 rur

λ

+

λ

+K+

λ

merupakan kombinasi linear dari

u u1, 2,K,ur

.elemen

V.

(Ling & Xing 2004)

Definisi 2.2.5: Bebas Linear

Misalkan

V

merupakan ruang vektor terhadap

Fq

, himpunan vektor

{

v v

1

,

2

,

K

,

v

r

}

dalam

V

dikatakan saling bebas linear jika

1 1v 2v2 r rv 0 1 2 r 0

λ

+

λ

+K+

λ

= →

λ λ

= =K=

λ

=

, tak bebas linear jika,

1 1v 2 2v r rv 0 i 0


(20)

(Ling & Xing 2004)

Definisi 2.2.6: Rentang Linear

Misalkan

V

merupakan ruang vektor atas

Fq

dan

S

=

{

v v

1

, ,

2

K

,

v

k

}

S

merupakan

himpunan tak kosong dari

V

. Rentang linear dari

didefinisikan sebagai

{

λ

1 1

λ

}

= + 2 2 k k; q

S v v +K+

λ

v

λ

iF

. Jika

S

= ∅

maka didefinisikan

S

=

{ }

0

.

(Ling & Xing 2004)

Definisi 2.2.7: Basis

Misalkan

V

merupakan ruang vektor dari

Fq

. Himpunan tak kosong

{

1

, ,

2 k

}

B

=

v v

K

,

v

dari

V

dikatakan basis untuk

V

jika

V

=

B

dan

B

bebas linear

Misalkan

B

=

{

v v

1

, ,

2

K

,

v

k

}

basis untuk

V

, maka sembarang vektor

v

dapat

dinyatakan sebagai kombinasi linear dari vektor

secara unik.

V

B

Teorema 2.2.1

Misalkan

V

merupakan ruang vektor atas

Fq

. Jika

dim

( )

V

=

k

, maka:

i.

V

memiliki

qk

elemen

ii.

V

memiliki

(

1 0

1

!

k k i i

q

q

k

− =

)

basis yang berbeda

(Ling & Xing 2004)

Definisi 2.2.8: Hasil Kali Skalar

Misalkan

V

=

(

v v

1

, ,

2

K

,

v

n

)

F

qn

, ,

W

=

(

w w

1 2

,

K

,

w

n

)

F

dan

V

W

V W v w1 1

n q

.

Hasil kali skalar (

dot

product

) dari

didefinisikan sebagai

⋅ = +v w2 2+ +K v wn nFq

.

Definisi 2.2.9: Komplemen Orthogonal

Misalkan

V

=

(

v v

1

, ,

2

K

,

v

n

)

F

qn

, ,

W

=

(

w w

1 2

,

K

,

w

n

)

F

qn

W

.

i.

Vektor

V

dan

dikatakan saling tegak lurus (

orthogonal

) jika

V W

=

0

ii.

Misalkan

S

merupakan himpunan bagian dari

F

qn

. Komplemen orthogonal dari

, yaitu

didefinisikan sebagai

S

SS⊥ = ∈

{

v Fqn|v s⋅ = ∀ ∈0, s S

}

. Jika

,

maka didefinisikan

. Jika

merupakan subruang dari ruang vektor

S

= ∅

n q n

q

S

=

F

S

F

,

maka

S

merupakan subruang dari ruang vektor

F

qn

dan

S ⊥ =S


(21)

Teorema 2.2.2

Diberikan ruang vektor

F

qn

. Misalkan

S

himpunan bagian dari

F

qn

. Maka

( )

( )

dim S +dim S⊥ =n

(Ling S, Xing C. 2004)

2.3 Model Aljabar Kode Linear

Misalkan

menotasikan vektor berdimensi

n

atas field biner

2=

{0,1}.

Kode linear biner dengan panjang

n

didefinisikan sebagai sub ruang

C

dari

.

Anggota

suatu kode disebut dengan kata kode (c

odeword

). Kode linear

C

dengan

panjang

n

dan dimensi

k

dinamakan kode linear dengan parameter [

n,

k]. Jika jarak

minimum

d

diketahui

maka

C

dinyatakan sebagai kode linear dengan parameter

[

n,k.d

]. Setiap kata kode dalam kode linear

C

memiliki panjang tetap

n

disebut

blok

yang terbagi menjadi dua bagian yaitu: simbol pesan dan simbol cek. Dimensi

k

merupakan panjang dari simbol pesan. Menurut Mac Williams dan Sloane (1981)

setiap kode akan memiliki kata kode sebanyak 2

k.

.

Definisi 2.3.1

Jarak (

Hamming distance

) antara dua vektor

x,y

, dinotasikan d(

x,y

), adalah

banyaknya posisi digit dari

x

dan

y

dimana simbol mereka berbeda.

Jarak minimum (

minimum hamming

distance) dari suatu kode linear

C

didefinisikan:

d

(

C

) = min {

d

(

x,y

) | x,y

C

,

x

y

}.

Definisi 2.3.2

Bobot (

Hamming weight

) dari suatu vektor x

, dinotasikan

, adalah

banyaknya simbol taknol dalam

x

.

Bobot minimum (

minimum hamming weight ) dari suatu kode

C

didefinisikan:

min {

|

x

,

0 }.

Berdasarkan definisi 2.3.1 dan 2.3.2 maka diperoleh d(

x,y

)=

. ebagai

ilustrasi, di dalam ruang

, jika

x

=10011 dan

y

=11010,

maka

d

(

x,y

) =

1 11 11 1

1 1

2.

Proposisi 2.3.1

Jarak minimum dari suatu kode linear

C

adalah bobot minimum dari sembarang


(22)

Bukti.

Perhatikan bahwa karena C linear, maka

d(C)

= mi

n {

d

(

x,y

) | x

,y

C,

x

y

}

= min {

|

x,y

C,

x

y

}

= min

) | z

C,

z

0 } =

. ( terbukti ).

Definisi 2.3.3

O ogonal

rt

dari

C

(

dibaca : kode dual dari

C

)

,

notasi

,

didefinisikan

= {y

|

x . y = 0 untuk setiap x

C

}.

Dimana “.” adalah

produk dalam

standa

r

pad

a

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

u =u u1 2... ,uk

akan dienkode menjadi kata kode

x = x x1 2...xn

dimana

dengan menggunakan matriks cek paritas

H

yang telah didefinisikan

sebelumnya. Maka, pertam kali id inis an

n

k

a

d ef

ik

=

,

=

, …

=


(23)

0 n x ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ ⎝ ⎠ M M

nilainya bergantung pada nilai simbol pesan. Ketergantungan ini ditentukan oleh

H

dengan menyelesaikan SPL homogen berikut:

1 2 0 0 . 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

u =u u u1 2 3

akan dienkode menjadi

x =x x x x x x1 2 3 4 5 6.

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

+ +

=

+ + =

+ +

=


(24)

dan disebut SPL cek paritas. Misalnya pesan

u =110,

maka

x1 =1,

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 =

x =

110110.

3,

k = 23 =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

check/Extending a code

)

Misalkan

C

adalah suatu kode linear biner dengan parameter

[

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

d

+

1

ˆ

C

[

n

+

1, ,

k d

+

1

]

. Secara umum, proses

penambahan simbol pada matriks cek paritas disebut sebagai

extending a code.


(25)

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 invers/kebalikan 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

n

1, ,

k

d

1

]

.

(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

[

n k

,

1, '

d

]

. 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

C

( )a

= ∪ +

C

(

1

C

)

(

C

( )a

mengandung/memiliki kata kode dari kode

C

beserta komplemennya).

Dengan demikian

C

( )a

memiliki parameter

n k

,

+

1,

d

( )a

, dengan

( )

{

}

min

,

'

d

a

=

d n

d

,

d

'

=

bobot terbesar dari kata kode di

C

.


(26)

C

2.6.5 Memperpanjang suatu kode dengan menambahkan simbol pesan

(

Lengthening by adding message symbols

)

Untuk memperpanjang suatu kode linear

, dapat dilakukan dengan cara

menambahkan kata kode baru, yaitu vektor 1 (

augmenting a code

). Setelah itu,

dilanjutkan dengan memperluas (

extending

) kode sebanyak satu bit. Proses ini

akan menambah satu simbol pesan

(Williams & Sloane. 1981)

2.6.6

Memperpendek kode

(

Shortening a code

)

Memperpendek kode merupakan invers/kebalikan dari proses

memperpanjang suatu kode (

length a code

). Untuk memperpendek suatu kode,

diambil kata kode yang dimulai dengan

x1=0

(symbol pertama = 0). Selanjutnya

koordinat dari

x1

dihapus. Proses seperti ini disebut mengambil

cross-section

dari

suatu kode (

taking a cross-section of the code

).


(27)

BAB III

HASIL DAN PEMBAHASAN

3.1 Formulasi masalah

Misalkan

C

[

n ,k ,d

] adalah kode linear biner yang mempunyai panjang

n

, berdimensi

k

dan jarak minimum

d.

kode

C

dikatakan baik jika

n kecil, k besar

dan

d besar.

Makna fisiknya,

n

harus kecil terkait dengan proses enkoding dan

dekoding, juga terkait dengan memori yang digunakan dalam proses tersebut.

Selanjutnya

k

harus besar terkait dengan banyaknya pesan yang dapat diubah

menjadi kata kode dan

d

harus besar terkait dengan banyaknya galat yang dapat

dikoreksi.

Diberikan sembarang dua parameter, misalnya

n

dan

k

, problemnya:

“Adakah suatu kode [

n,k,d

] untuk nilai

d

yang sebesar besarnya.?”. Pertanyaan itu

mengarah pada pendefinisian fungsi

D (

n, k

) =

maks {

d

/ kode [

n, k, d

] ada }

Dalam hal ini, suatu kode

C

dengan parameter [

n, k, d

] disebut optimal-D

(optimal jarak minimum), jika

C

ada (telah berhasil dikonstruksi) dan telah pula

dibuktikan bahwa tidak ada kode dengan parameter [

n, k, d

+ 1]. Batas bawah

(

lower bound

) dan batas atas (

upper bound

) dari fungsi D(

n, k

) diartikan sebagai

berikut. Misalnya,

l

D (

n, k

)

u

artinya telah berhasil dikonstruksi kode dengan parameter [

n, k, d

l

], dan telah

berhasil pula dibuktikan bahwa tidak ada kode dengan parameter [n, k, d > u],

sedangkan ada/tidaknya kode dengan parameter [

n, k, d

], dengan

l < d

u,

merupakan

open problem

. Untuk memperbaiki satu langkah batas bawah dari

fungsi D (

n, k

) berarti harus mampu mengkonstruksi kode dengan parameter

[ n,

k, l

+ 1]. Perbaikan satu langkah batas atas dari fungsi D(

n, k

) berarti dibuktikan

bahwa tidak ada kode dengan parameter [

n, k, u

]. Penelitian ini hanya untuk

memperbaiki satu langkah batas bawah saja. Informasi terkini (

updated

) basis data

untuk batas fungsi D(

n, k

) dapat dilihat di dalam Tabel Brouwer (Brouwer 1998)

dan bisa diakses secara

on-line

. Secara analog (ekivalen), didefinisikan fungsi


(28)

optimalisasi panjang kode

(optimal-N), dan sekaligus memformulasikan

masalahnya:

K

(

n, d

) =

maks

{

k

/ kode [

n, k, d

] ada }

N

(

k, d

) =

min

{

n

/ kode [

n, k, d

] ada }.

Berdasarkan formulasi umum problem di atas, pada penelitian ini

didefinisikan kode optimal kuat (

strongly optimal codes

) beserta formulasi

problem konstruksinya. Kode linear

C

dengan parameter [

n, k, d

] disebut optimal

kuat jika kode linear-[

n, k, d

] ada dan telah berhasil dibuktikan bahwa kode linear

[

n

+1,

k

+1,

d

] tidak ada. Sedangkan suatu kode disebut optimal –

D

jika kode linear

[

n, k, d

] ada dan telah berhasil dibuktikan bahwa kode linear [

n, k, d

+1] tidak ada.

Jika kode linear [

n, k, d

] ada dan telah berhasil dibuktikan bahwa kode linear [

n

-1,

k, d

] tidak ada maka disebut optimal-

N.

Selanjutnya jika kode linear [

n, k, d

] ada

dan telah berhasil dibuktikan bahwa kode linear [

n, k

+1,

d

] tidak ada, maka kode

tersebut disebut optimal –

K.

2.6

Analisis Teori

Suatu matriks

H

berukuran

yang semua barisnya merupakan suatu

basis untuk

disebut matriks cek paritas dari

C.

Pengertian matriks cek paritas

ini berimplikasi pada pendefinisian kode linear berkaitan dengan cara

konstruksinya, yaitu

| H

.

Mengkonstruksi suatu kode berarti

mendefinisikan matriks cek paritas

H

atau matriks generatornya

G.

Pada bagian ini akan dikaji beberapa teorema yang paling berperan untuk

melandasi konstruksi

H.

Teorema 3.2.1

Jika

H

adalah matriks cek paritas dari suatu kode dengan panjang

n,

maka kode

tersebut mempunyai dimensi (

n-r

) jika dan hanya jika ada

r

kolom dari

H

yang

bebas linear tetapi tidak ada (

r

+ 1) kolom dari

H

yang bebas linear. Ini artinya

r

adalah

rank

dari

H.

Bukti

Misalkan

H

adalah matriks cek paritas dari kode linear C dengan panjang

n

dan

G

adalah matriks generator untuk

C

. Maka

C

berdimensi (

n – r

) jika dan hanya

jika

rank

(

G

) = (

n – r

). (karena

G

adalah basis dan banyaknya baris di

G


(29)

menunjukkan

dimensi suatu kode). Karena

G

dan

H

saling orthogonal, maka

rank

(

G

) = (

n - r

)

jika dan hanya jika

rank

(

H

) =

r.

Teorema 3.2.2

Jika

H

adalah matriks cek paritas dari suatu kode dengan panjang n, maka kode

tersebut mempunyai jarak minimum

d

jika dan hanya jika setiap

d

- 1 kolom dari

H

yang bebas linear dan ada

d

kolom dari

H

yang tidak bebas linear.

Bukti:

Misalkan

H

adalah matriks cek paritas dari kode

C

dengan panjang

n,

maka kode

tersebut berjarak minimum

d

jika dan hanya jika

C

berbobot minimum

d

jika dan

hanya jika ada vektor

v

dengan

wt

(

v) =

d

sehingga

Hv

T

= 0

T

dan untuk

setiap

w

dengan

wt

(

w

) <

d

jika dan hanya jika

Hw

T

0

T

( jika

Hw

T

= 0

T

berarti

w

, maka akan terjadi kontradiksi karena

wt

(

w

) <

d

) jika dan hanya

jika ada

d

kolom dari

H

yang tidak bebas linear dan setiap

d

– 1 kolom dari

H

yang bebas linear.

Teorema 3.2.3 (The Singleton Bound)

Jika

C

adalah kode dengan parameter [

n, k, d

], maka (

n – k

) (

d-

1).

Bukti:

Jika

C

kode dengan

parameter

[n, k, d],

maka

C

mempunyai matriks paritas

H

berordo (

n – k

)

n

. Ini berarti rank (

H

) (

n – k

), dan berdasarkan teorema 3

.

2.2,

matriks H memiliki

d

– 1 kolom yang bebas linear, sehingga

rank

(H) = (

d –

1),

maka (

n – k

) (

d-

1).

 

Teorema 3.2.4 ( Teorema Gilbert-Varshamov bound)

Jika telah diketahui ada kode [

] yang m

1

,

maka ada (dapat dikonstruksi) kode

dengan parameter [

n

+1,

k

+1,

d

].

n,k,d

emenuhi ketaksamaan

Bukti:

Misalkan diketahui kode

C

memiliki parameter [

n, k, d

]. Berdasarkan teorema

3.2.2 ada matriks paritas H berordo (

n - k

)

n

ditulis

H

= (

c

1

c

2

… c

n

)

yang setiap

d

- 1 vektor dari {

c

1

, c

2

, … c

n

}

adalah bebas linear dalam ruang

. Ide dasar pembuktian adalah jika ada vektor

x

yang bukan

i


(30)

adalah matriks berordo (

n - k

) (

n

+ 1) yang setiap

d

-1 vektor dari{

c

1

,c

2

,… c

n

, x }

adalah bebas linear dalam ruang

. Dalam hal ini,

merupakan matriks

paritas untuk kode [

n

+ 1,

k

+ 1,

d

]. Syarat adanya vektor

x

terjadi ketika dipenuhi

ketaksamaan

= (

c

1

c

2

… c

n

x )

1

1

,

dimana ruas kiri menyatakan banyaknya vektor-vektor sebagai hasil

i

kombinasi

linear dari vektor-vektor kolom

H

untuk

i

= 1, 2, …

d

- 2, sedangkan ruas kanan

menyatakan banyaknya vektor-vektor dalam

.

2.7

Algoritme Konstruksi

Mengkonstruksi

kode

linear

[

k+r, k,d

] berarti mengkonstruksi bentuk

standar dari

H,

yaitu

H = (

|

).

Untuk efisiensi komputasi cukup dikonstruksi

matriks

B

berukuran

k

r.

Berdasarkan teorema Gilbert-Vashamov bound

diturunkan teorema konstruksi berikut:

Teorema 3.3.1

Jika matriks

B

berukuran

k

r

dikonstruksi berdasarkan sifat :

1.

Semua vektor baris dari

B

berbeda.

2.

Jumlah setiap

i

vektor baris dari

B

berbobot paling sedikit (

d – i

) untuk

i

= 1,

2, 3,…

s

dimana

s

=

min

{

d –

1,

k

} dan (

d –

1)

r,

maka

 

H = ( BT | Ir  ) 

merupakan matriks paritas untuk kode

C

dengan parameter [

k

+

r, k,

d

].

Dalam hal ini matriks generator dari

C

adalah

 

G = ( I

k

| B )

Bukti:

Misalkan telah dikonstruksi matriks

B

berukuran

k

sebagaimana disyaratkan

oleh teorema, akan ditunjukkan bahwa

H

merupakan matriks paritas untuk kode

C

[

k + r, k, d

]. Hal pertama yang mudah dilihat dari struktur

H

adalah

C

mempunyai panjang (

k

+

r

) dan berdimensi

k

, sehingga tinggal ditunjukkan

C


(31)

dituliskan

v

= (

v

m,

v

c

) dimana

v

m

vektor pesan dengan

wt

(

v

m

) = i dan

v

c

vektor

cek dengan

wt

(

vc

) = j, maka berlaku

i + j <

d

j <

d

- i

wt

(

v

c

) <

d

– i (i)

dan

H

v

T

=

0

T

(

B

T

| I

r

)

= 0

T

B

T

+ I

r

= 0

T

B

T

=

(

ii)

 

Karena

wt

(

v

m

) =

i

, dan berdasarkan syarat 2 dari konstruksi

B,

maka

wt

(

B

T

)

d – i.

(iii)

Dari ekspresi (i), (ii), dan (iii) menunjukkan suatu kontradiksi sehingga dapat

disimpulkan bahwa

C

berbobot minimum

d

atau dengan kata lain

C

memiliki

jarak minimum

d.

Dengan demikian, mengkonstruksi kode

C

[

k

+

r, k, d

] berdasarkan teorema 3.3.1

berarti mengkonstruksi matriks generato y

rn a,

G =

|

cukup dengan mengkonstruksi matriks

B

berukuran

k

r

yang memenuhi

sifat-sifat: semua vektor baris dari

B

berbeda dan jumlah setiap

i

vektor baris dari

B

berbobot paling sedikit (

d

i

), untuk

i =

1, 2, …,

s

dimana

s =

min{

d –

1,

k

} dan

(

d

– 1)

r.

Begitu

kode

linear

C

[

n, k, d

] telah terkonstruksi, langkah berikutnya

adalah mendefinisikan himpunan

V

yang beranggotakan semua vektor baris dari

B

dan semua vektor sebagai hasil jumlah

i

vektor baris dari

B

untuk

i

= 2,3,…

s

dimana

s = min

{

d

-1,

k

}. Maka jelaslah bahwa

V

.

Jika

V

,

maka ada

vektor

dan x

yang bisa ditambahkan ke baris matriks

B

untuk

mendefinisikan matriks

yang berukuran (

k

+1)

r

dan matriks cek paritas

H’

=

T

|

) akan mendefinisikan kode dengan parameter [

n

+1,

k

+1 ,

d

]. Pada

penelitian ini strategi konstruksi kode [

n

+1,

k

+ 1,

d

] memenuhi teorema Gilbert-

Varshamov bound.

Proses ekstensi kode dari [

n, k , d

] ke [

n

+1,

k

+1,

d

] dilakukan tahap

demi tahap sampai diperoleh suatu kode

C

dengan parameter [

n’ , k’ ,d

] yang

sudah tidak bisa diperluas lagi. Ketika diperoleh informasi bahwa telah dibuktikan

bahwa kode dengan parameter [

n

'

+1,

k

'

+1,

d

] tidak ada, maka

C

merupakan

kode optimal kuat yang telah berhasil dikonstruksi. Akan tetapi, ketika diperoleh


(32)

informasi bahwa ada kode dengan parameter [

n

'

+1,

k

'

+1,

d

], berarti kode

optimal kuat gagal dikonstruksi. Dalam hal ini, harus dilakukan rekonstruksi

dengan strategi memilih

kode dasar

[

n , k , d

] lain yang berpeluang besar dapat

diperluas menjadi kode optimal kuat

C

. Pemilihan kode dasar yang baik

memerlukan eksplorasi yang baik yang bersifat teoritik maupun komputatif.

Selanjutnya keberhasilan konstruksi kode optimal kuat

C

dapat digunakan sebagai

kode dasar untuk diperluas menjadi kode kode optimal kuat

berikutnya dengan

strategi yang sama.

Algoritme konstruksi kode ini juga berlaku untuk kode linear biner

berjarak minimum bilangan genap berdasarkan sifat dari kode linear yang

menyatakan bahwa jika kode dengan parameter [

n, k, d

] ada untuk

d

ganjil, maka

dapat dikonstruksi kode dengan parameter [

n

+ 1,

k

,

d

+ 1] dan setiap anggotanya

berbobot genap (Williams & Sloane 1981).

Keberhasilan konstruksi kode optimal kuat sangat dipengaruhi oleh

metode komputasi yang digunakan. Berikut ini dideskripsikan pembangunan

metode komputasi yang digunakan dalam penelitian ini.

1

Membangun

fungsi-fungsi aljabar matriks biner

.

Hal pertama yang

dilakukan adalah mempresentasikan ruang vektor biner

sebagai

himpunan kuasa dari

S

n

= { 0, 1, 2, …,n-1 }. Ini berarti sembarang vektor

biner dengan panjang n secara komputasi merupakan subhimpunan dari

.

Operasi jumlah dua vektor berarti selisih simetrik dua himpunan.

Produk dalam dua vektor berarti irisan dua himpunan.

adalah keluarga

semua himpunan dari subhimpunan

S

merupakan grup terhadap selisih

simetrik. Jika

S =

{0, 1, 2, 3} maka

. {0, 2} isomorfik dengan (1,

0, 1, 0), { } isomorfik dengan (0, 0, 0) dan {0, 1, 2, 3} isomrfik dengan (1,

1, 1).Dengan demikian, matriks biner

A

berordo

n x p

dapat dipandang

sebagai

list

dari sebanyak p subhimpunan dari

S

n.

. Matriks A =

1

1 1

dapat dinyatakan dengan

A

=[3, [{0, 2}, {2}]]. Dari dua konsep


(33)

jumlah, kali, transpose, operasi baris dasar, pencarian matriks kanonik dan

lainnya. Implementasinya menggunakan

software

MAPLE.

2. Membangun prosedur untuk pelacakan kode optimal.

Didefinisikan

matriks

generator

G

= (

I

k

|

B

), misalkan

M

matriks

representasi vektor baris dari

B

. Kemudian didefinisikan fungsi berikut:

KombinM

menentukan list semua kombinasi

j

vektor dari vektor-vektor

M

(

representasi baris) untuk suatu nilai

j =

1,2,…,

k.

ListKombM

menentukan list

dari semua list KombinM untuk semua

j = 1,2,3,…,t

degan

t = min

{

k, d-

1

}.

UjiAdd1VekM

menguji apakah vektor

X

bisa ditambahkan ke

M,

menggunakan ListkombM. Misal sudah ada matriks M =

1

1 1

1 1 1

maka

didapat list semua kombinasi

j

vektor L = {1 0 0, 1 1 0, 1 1 1}, {0 1 0, 0 1

1,0 0 1},{1 0 1}. Kemudian diuji apakah satu vektor X bisa ditambahkan ke

M Jika

hamming distance

<

d

– 1 – i.maka tidak terpenuhi. Jika selain itu

berarti vektor X bisa ditambahkan ke matriks

Lacak1VekM

melacak satu vektor baris

X

dalam yang bisa ditambahkan ke

M

berdasarkan Gilbert-Varshamov, menggunakan

UjiAdd1VekM

. Ilustrasi ada

matriks B =

1

1

1

1 1 1

1 1 1

1

kemudian dicatat berapa banyak angka 1 dan

berapa angka 0. Misalkan V baris ke-1, banyak angka 1 = v dan W baris ke-2.

Cari vektor-vektor X yang berjarak

j= d

– 2 sampai batas yang ditentukan. Tanpa

mengurangi keumuman maka V diset yang rapi. Jika (v + j – 2 * i) (

d

– 1) maka

ambil anggota V sebanyak v – i, dan ambil anggota W sebanyak j – 1. Maka

gabungan dari anggota V dan W yang telah dipilih akan didapat vektor X.

Kolek1VekM

menentukan himpunan semua vektor baris

X

yang bisa

ditambahkan ke

M,

menggunakan

UjiAdd1VekM

. Untuk

Kolek1VekM

cara

kerjanya hamper sama dengan

UjiAdd1VekM

kalau sudah dapat satu vektor


(34)

ReduEki1

membuang anggota

out put

Kolek1VekM

dan menyisakan

vektor-vektor yang menghasilkan matriks-matriks yang tidak saling ekivalen jika

ditambahkan ke

M.

Misalkan H adalah

out put

Kolek1VekM

, setiap pasangan

vektor (

X, Y

) anggota H akan menghasilkan vektor

Z = X

+

Y.

Agar dua vektor

X

dan

Y

bisa ditambahkan langsung ke matriks

M

, maka

Z

diuji dengan prosedur

UjiAdd2VekM

berdasarkan

out put

ListkombM.

Kolek2VekM

menentukan

semua pasang (

X, Y

) dalam yang bisa ditambahkan ke

M

berdasarkan teorema 4,

menggunakan

UjiAdd2VekM

.

Kolek2VekMDt

menentukan semua pasang (

X,

Y

) menggunakan data hasil sebelumnya.

ReduEkiX

membuang anggota

out pu

t

Kolek2vekM

dan menyisakan vektor-vektor yang menghasilkan matriks-matriks

tidak saling ekivalen jika ditambahkan ke matriks

M.

Misalkan

H adalah

out put

Kolek2VekM

, setiap pasangan vektor (

X, Y,Z

) anggota H akan menghasilkan

vektor

W

=

X

+

Y

+

Z

agar tiga vektor

X, Y

dan

Z

bisa ditambahkan langsung ke

matriks

M

maka diuji dengan uji AddVek3M berdasarkan

out pu

t

ListKombM

.

Selanjutnya secara induksi agar X vektor bisa ditambahkan langsung ke

M,

maka

diuji dengan

prosedur

UjiAddXVekM

menggunakan

out pu

t

Kolek(X-1)VekM

dan berdasarkan

out put

ListKombM.

Program lengkapnya dapat dilihat pada

Lampiran 2.

3.

Konstruksi kode optimal kuat dengan jarak minimum

d

= 5 dan

d

= 7

Mengkonstruksi matriks cek paritas dalam hal ini matriks

B

dan

melakukan perluasan terhadap matriks tersebut. Bagaimana proses lengkapnya

akan dijelaskan pada sub bab hasil eksplorasi.

3.4 Hasil Eksplorasi

.

Berikut ini akan diilustrasikan konstruksi kode optimal kuat untuk kasus

d

=5 dan

d=

7.

Untuk kasus

double error correcting

(

d

= 5 ), berdasarkan tabel Brouwer

kode-kode optimal kuat mempunyai parameter (terurut dari dimensi rendah):

[8, 2, 5], [11, 4, 5], [17, 9, 5], [23, 14, 5], [31, 21, 5] dan [33, 23, 5], sedangkan

kode optimal kuat untuk k > 23 merupakan

open problem.

Akan dijelaskan


(35)

kode-kode tersebut. Dimulai dari kode-kode [8, 2, 5], dikonstruksi dengan mendefinisikan

matriks

B

berukuran 2

6

berikut

B =

1 1 1 1

1 1

1 1 .

Matriks ini kemudian dipakai sebagai matriks dasar untuk diperluas menjadi

matriks

berordo 4

7 yang mendefinisikan kode optimal kuat [11, 4, 5]. Proses

perluasan dari

B

ke

dilakukan dengan menambah satu kolom nol pada

B

,

dilanjutkan menambah dua vektor 7 bit yang memenuhi syarat strategi. Tanpa

memperhatikan relasi ekivalensi, hasil eksplorasi komputatif menunjukkan ada

108 macam

, salah satunya

=

1 1 1 1

1 1

1 1

1

1

1

1

1

1

1 1

Dengan langkah yang sama

diperluas ke

berordo 9 8 yang

mendefinisikan kode optimal kuat [17, 9, 5]. Tanpa memperhatikan relasi

ekivalensi, hasil eksplorasi komputatif menunjukkan ada 144 macam

, salah

satunya

=

1 1 1 1

1 1

1 1

1

1

1

1

1

1

1 1

1 1

1 1

1 1 1

1

1

1 1 1

1

1 1 1

1

1

1 1 1 1 1 1

Percobaan untuk memperluas

ke

untuk mendapatkan kode optimal

kuat [23, 14, 5] adalah gagal. Dalam hal ini

hanya mampu diperluas ke lebih

dari 872 kode optimal-D [22, 13, 5]. Namun demikian, strategi rekonstruksi

berhasil mendefinisikan 3 kode optimal kuat [23, 14, 5] yang salah satunya


(36)

=

1 1 1 1

1 1

1 1

1 1

1 1

1

1

1

1

1

1

1

1

1 1 1

1

1 1 1

1 1 1

1

1

1

1

1

1

1

1

1

1

1 1

1

1 1

1 1 1 1

1 1

1 1

1

1 1

1 1 1

1

1 1

1 1 1 1 1

Kemudian

diperluas menjadi matriks berukuran 21 10 yang mendefinisikan

kode dengan parameter [31, 21, 5], tetapi konstruksi ini hanya mampu

mendapatkan 423 kode dengan parameter [30, 20 5] yang salah satunya

direpresentasikan oleh matriks

=

1 1

1

1 1

1 1 1

1

1

1

1 1

1 1 1

1 1

1 1 1 1

1 1 1 1

1

1

1

1 1 1

1 1 1

1 1

1

1 1

1 1

1 1

1

1

1 1

1 1 1

1

1

1

1 1

1

1

1 1

1

1

1 1

1 1

1

1

1

1 1

1

1

1

1

1

1

1

1

1

1

1 1

1

1 1

1 1

1

1

1 1


(37)

Dari matriks

disimpan di data, kemudian dijadikan basis untuk mendapatkan

kode [31, 21, 5] dengan cara menghapus lima baris matriks

kemudian

menambahkan enam vektor yang memenuhi syarat strategi, ternyata dengan cara

ini berhasil mendapatkan 1 kode dengan parameter [31, 21, 5] yang

direpresentasikan oleh matriks

berikut:

 

=

1 1

1

1 1

1 1 1

1

1

1 1

1 1 1

1 1

1 1 1 1

1 1 1 1

1

1

1

1 1 1

1 1 1

1 1

1

1 1

1 1

1 1

1

1

1 1

1 1 1

1

1

1

1 1

1

1

1 1

1 1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1 1

1

1 1

1 1

1

1

1 1

1

1 1 1 1

1

1

1 1

1 1 1 1 1

1 1 1 1 1

1 1

1

Percobaan memperluas kode ini untuk meningkatkan dimensi dilakukan

dengan cara menghapus baris ke 21, 20, 19, 18, 17, 9, 8, 6, 2 dan 1 matriks

kemudian ditambahkan 12 vektor baris yang memenuhi syarat, akhirnya diperoleh

satu kode dengan parameter [33, 23, 5]. Kode tersebut direpresentasikan oleh


(38)

=

1 1 1 1

1

1

1

1 1 1

1 1 1

1

1

1

1 1

1 1

1

1 1

1

1

1

1 1 1

1 1

1

1 1

1

1

1

1 1

1

1

1

1

1 1

1 1

1

1 1

1

1

1

1 1

1

1 1 1 1

1

1

1 1 1

1 1

1

1 1 1

1

1 1

1 1

1

1 1 1

1 1

1 1 1 1

1 1 1 1 1

1

1

1

1 1 1 1 1

1

1 1 1 1 1 1 1

1 1 1 1 1

1 1

1 1 1 1 1 1

1 1

1 1 1 1 1

1 1 1

Untuk kasus

d

= 7, dari tabel Brouwer kode optimal kuat mempunyai

parameter terurut dari dimensi terendah [11, 2, 7], [15, 5, 7], [23, 12, 7], [27, 14,

7], dan [31, 17, 7], untuk

k

> 17 merupakan

open problem

. Dimulai dari kode [11,

2, 7], dikonstruksi dengan

mendefinisikan matriks

B

berukura

n 2 9 berikut:

B

=

1 1 1 1 1 1

1 1 1

1 1 1 .

Matriks ini kemudian dipakai sebagai matriks dasar untuk diperluas menjadi

matriks

berordo 5 10 yang mendefinisikan kode [15, 5, 7]. Proses perluasan

dari

B

ke

dilakukan dengan menambah satu kolom nol pada

B

, dilanjutkan

menambah tiga vektor 10 bit yang memenuhi syarat strategi. Tanpa

memperhatikan relasi ekivalensi, hasil eksplorasi komputatif menunjukkan ada

144 macam

, dengan mereduksi kode yang saling ekivalen maka diperoleh 2

kode optimal kuat [15, 5 , 7], salah satunya adalah

=

1 1 1

1 1 1

1 1 1 1 1 1

1 1 1

1 1

1

1 1

1 1

1

1

1

1 1

1 1

1


(39)

Selanjutnya

diperluas

menjadi

yang berordo 12 11 yang

merepresentasikan kode optimal kuat [23, 12, 7]. Dari hasil eksplorasi diperoleh 8

kode optimal kuat [23, 12, 7] yang tidak saling ekivalen. Salah satu dari kode

tersebut adalah

=

1 1 1

1 1 1

1 1 1 1 1 1

1 1 1

1 1

1

1 1

1 1

1

1

1

1 1

1 1

1

1 1

1

1 1 1

1

1

1 1 1

1

1

1 1

1

1 1

1 1

1

1

1 1

1

1

1 1 1

1

1 1 1 1

1

1

1 1 1 1 1 1 1 1 1 1 1

Adding

satu bit paritas dari kode ini menghasilkan kode Golay [24, 12, 8] yang

telah dibuktikan unik. Generator matriks Golay [24,12,8] dinyatakan sebagai

= (I,B) dengan I adalah matriks identitas 12

1

dan matriks

B

berikut:

(Kanemasu,1990).

Kemudian

diperluas menjadi

berordo 14

13 dengan cara

menambahkan dua kolom nol pada

dan dua vektor 13 bit yang memenuhi

syarat strategi, tetapi

gagal didapatkan dengan cara ini. Selanjutnya

dilakukan rekonstruksi untuk mendapatkan kode optimal kuat [27, 14, 7] dengan

menggunakan satu kali basis matriks berikut:


(1)

> NonZeroWt(C17PX); 

> save Code71714, "D:\\coding new\\Coding Theory\\DataOutD7Xt\\CdD7k17r14.m"; 

Eksplorasi dilanjutkan: 

> read "D:\\coding new\\Coding Theory\\DataOutD7Xt\\CdD7k17r14.m";  > nops(Code71714); 


(2)

89  

> i:=17: 

> B5:=DelVekM(i,B6):  > i:=16: 

> B4:=DelVekM(i,B5):  > i:=15: 

> B3:=DelVekM(i,B4):  > i:=14: 

> B2:=DelVekM(i,B3):  > i:=12: 

> B1:=DelVekM(i,B2):  > i:=9: 

> B:=DelVekM(i,B1); 


(3)

> r:=M[2]; d:=7: k:=B[1]; 

> t:=min(d-1,k); 

> L:=ListKombM(M,t):  > H:=Kolek1VekM(d,r,r,L):  > nops(H); 

> P:=[{},{seq(i,i=1..nops(H))}]:  > K:=IdxAddXV(d,P,H,L,0,6):  > nops(K); 

> save K, "D:\\coding new\\Coding Theory\\DataOutD7Xt\\DatKD7.m"; 

> read "D:\\coding new\\Coding Theory\\DataOutD7Xt\\DatKD7.m";  > H5:=DefHX(K,H): nops(H5); 

> H6:=KolekXVM(d,K,H,L):  > nops(H6); 

> Q:=ReduEkiX(H5,M):  > nops(Q); 

Akhirnya, diperoleh 4 kode optimal [31,17,7] tidak saling ekivalen.  > T:=map(X->AddVekMX(X,M),Q): 


(4)

91  

> C17PX:=Code71714[4]; 

>

NonZeroWt(C17PX);  

> save Code71714, "D:\\coding new\\Coding Theory\\DataOutD7Xt\\CdD7k17r14.m"; 

>    


(5)

 

 

RINGKASAN

ASRIZA RAHMA. Konstruksi Kode Linear Biner Optimal Kuat Berdimensi 5 dan 7. Dibimbing oleh SUGI GURITMAN dan NUR ALIATININGTYAS.

Kode diciptakan untuk mendeteksi atau mengoreksi galat (error) akibat saluran terganggu. Dalam hal ini sebelum dikirim , semua pesan akan diubah menjadi kata kode (codeword) dengan cara menambahkan beberapa simbol ekstra pada simbol pesan. Proses pengubahan pesan menjadi kata kode disebut enkoding. Perangkat yang mengubah pesan menjadi kata kode disebut enkoder. Kode merupakan himpunan kata kode. Pendefinisian kode ini dilakukan sedemikian sehingga apabila terjadi perubahan beberapa simbol pada kata kode, maka galat itu bisa dipulihkan oleh dekoder. Dekoder merupakan perangkat yang mengubah barisan s ang diterima menjadi kata kode. Kata kode tersebut dipulihkan menjadi pesan asli.

imbol y

Suatu kode subruang dari ruang vektor disebut kode linear biner. Jika kode C dengan panjang n, dimensi k dan jarak minimum d maka disebut kode [n, k, d]. Masalah utama di dalam aljabar teori koding adalah mengoptimalkan salah satu parameter n, k, dan d ketika dua nilai yang lain telah ditentukan. Masalah tersebut mengarah pada pendefinisian fungsi

D ( n, k ) = maks { d / kode [ n, k, d ] ada } untuk optimal-D K ( n, d ) = maks { k / kode [ n, k, d ] ada } untuk optimal-K N ( k, d ) = min { n / kode [ n, k, d ] ada } untuk optimal-N

Dalam hal ini, suatu kode C dengan parameter [ n, k, d ] disebut optimal-D (optimal jarak minimum), jika C ada (telah berhasil dikonstruksi) dan telah pula dibuktikan bahwa tidak ada kode dengan parameter [ n, k, d + 1]. Jika kode linear [n, k, d] ada dan telah berhasil dibuktikan bahwa kode linear [n-1, k, d] tidak ada maka kode disebut optimal-N. Selanjutnya jika kode linear [n, k, d] ada dan telah berhasil dibuktikan bahwa kode linear [n, k+1, d] tidak ada, maka kode tersebut disebut optimal –K. Kode linear C dengan parameter [n, k, d] disebut kode optimal kuat jika kode [n, k, d] ada dan telah dibuktikan bahwa kode [n+1, k+1, d] tidak ada.

Pada penelitian ini akan dikonstruksi kode-kode optimal kuat berjarak minimum 5 dan 7 berdasarkan teorema Gilbert-Varshamov bound dan pengembangan metode komputasi dengan software MAPLE. Dalam hal ini dikonstruksi kode dasar [n, k, d], selanjutnya dari kode dasar ini dikonstruksi tahap demi tahap kode [n+1, k+1,d], [n+2, k+2, d],…dan seterusnya sampai diperoleh kode C dengan parameter [ , , yang tidak bisa diperluas lagi dan telah diketahui dari hasil penelitian sebelumnya kode dengan parameter [ 1, 1, tidak ada. (informasi terkini eksistensi suatu kode berdasarkan tabel Brouwer terbarukan secara online). Hasil konstruksi kode C [ , , ini yang disebut kode optimal kuat. Kode C dapat digunakan sebagai kode dasar untuk diperluas menjadi kode optimal kuat berikutnya.


(6)

     

 

 

Konstruksi kode berarti mendefinisikan matriks generator (G) atau matriks cek paritas (H) dalam bentuk standar G = ( Ik | B ) atau H = ( | ). Berdasarkan teorema konstruksi untuk mengurangi beban komputasi cukup mengkonstruksi matriks B berordo yang semua barisnya berbeda dan jumlah setiap i vektor baris dari B berbobot paling sedikit (d-i) untuk i= 1, 2,…,s, dengan s =min {d-1, k} dan (d-1) .

Kode-kode optimal kuat yang telah berhasil dikonstruksi pada penelitian ini adalah [8,2,5], [11,4,5], [17,9,5], [23,14,5], [31,21,5] [33,23,5], untuk d=7 yaitu [11,2,7], [15,5,7], [23,12,7], [27,14,7], [30,16,7] dan [31,17,7].