• Tidak ada hasil yang ditemukan

Construction of Strongly Optimal Binary Linear Code with Minimum Distance 9 and 11

N/A
N/A
Protected

Academic year: 2017

Membagikan "Construction of Strongly Optimal Binary Linear Code with Minimum Distance 9 and 11"

Copied!
180
0
0

Teks penuh

(1)

KON

NSTRUKS

BER

IN

SI KODE

RJARAK

PUTRA

SEKOLA

NSTITUT

LINEAR

MINIMU

NTO HAD

AH PASCA

T PERTAN

2011

BINER O

M 9 DAN

DI UTOM

ASARJAN

NIAN BOG

OPTIMAL

N 11

MO

NA

GOR

(2)

(3)

PERNYATAAN MENGENAI TESIS DAN SUMBER

INFORMASI

Dengan ini saya menyatakan bahwa tesis (Konstruksi Kode Linear Biner Optimal Kuat Berjarak Minimum 9 dan 11) adalah karya saya 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, November 2011

(4)

(5)

ABSTRACT

PUTRANTO HADI UTOMO. Construction of Strongly Optimal Binary Linear Code with Minimum Distance 9 and 11. Supervised by SUGI GURITMAN and TEDUH WULANDARI MAS’OED.

A binary linear code of length n over Fqis a subspace of Fqn. A code has three parameters that attached to it, namely length, dimension, and minimum distance. A code with length n, dimension k and minimum distance d is often called

[

n k d, ,

]

-code. Usually, when two parameters are given, then we want to find a code that has the best value for the last parameter. Based on Gilbert-Varshamov bound, if a

[

n k d, ,

]

-code exists and can not be expanded, we call it a strongly optimal code. In this paper, we construct strongly optimal code with minimum distance 9 and 11. In constructing the code, we created a theorem and algorithm based on Gilbert-Varshamov bound before we implement the algorithm to MAPLE programming language. Because of computational limitations, the program can only construct up to k = 10 for d = 9 and k = 12 for d = 11.
(6)

(7)

RINGKASAN

PUTRANTO HADI UTOMO. Konstruksi Kode Linear Biner Optimal Kuat Berjarak Minimum 9 dan 11. Dibimbing oleh SUGI GURITMAN dan TEDUH WULANDARI MAS’OED.

Media informasi, seperti sistem komunikasi dan media penyimpanan untuk data, tidak sepenuhnya reliabel. Hal ini dikarenakan bahwa pada praktiknya ada gangguan (noise) atau interferensi lainnya sehingga pesan yang dikirim berubah (terdapat error pada pesan). Salah satu masalah dalam teori koding (coding theory) adalah untuk mendeteksi atau bahkan mengoreksi galat (error) tersebut. Suatu kode (code) diciptakan untuk mendeteksi atau mengoreksi galat akibat saluran yang terganggu.

Dari masalah tersebut, ingin dikonstruksi kode-kode optimal kuat, yaitu kode dengan parameter [n,k,d] dengan syarat tidak ada kode dengan parameter [n+1,k+1, d], lebih jauh lagi, diharapkan dapat diperbaiki batas bawah dari Tabel Brouwer. Untuk mencapai hal tersebut, perlu dilakukan beberapa hal sebagai berikut, yang selanjutnya menjadi tujuan dari penelitian ini.

1.

Mengkaji teorema yang terkait dengan konstruksi kode linear, terutama Gilbert-Varshamov bound.

2.

Menyusun algoritme-algoritme untuk mengontruksi kode linear biner.

3.

Mengimplementasikan algoritme-algoritme tersebut dalam suatu bahasa pemograman dan mengujicobakan untuk kode linear dengan jarak minimum 9 dan 11.

Setelah dipelajari teorema Gilbert-Varshamov, disusun teorema konstruksi sebagai berikut.

Jika matriks berukuran dikonstruksi berdasarkan sifat sebagai berikut.

1. Semua vektor baris dari berbeda, dan

2. Jumlah setiap vektor baris dari berbobot paling sedikit

untuk di mana , dan ,

maka

dan

secara berturut-turut merupakan matriks cek paritas dan matriks generator untuk kode linear dengan parameter .

Selanjutnya, untuk membangun metode konstruksi yang efisien, perlu didefiniskan struktur data yang baru, yang merepresentasikan ruang vektor F2n,

yaitu himpunan kuasa atas A=

{

0,1, 2,...,n−1

}

. Untuk itu, perlu didefinisikan korespondensi satu-satu antara suatu vektor di n

q

F dengan suatu himpunan bilangan bulat tak negatif. Selanjutnya, operasi penjumlahan dalam representasi himpunan didefinisikan sebagai operasi xor/selisih simetri. Karena struktur data

B

k r×

B

i

B

(

di

)

2, 3,...,

i= s s=min

{

d−1,k

}

(

d− ≤1

)

r

(

T | r

)

H = B I G=

(

Ik|B

)

(8)
(9)

yang digunakan adalah struktur data khusus, maka perlu didefinisikan terlebih dahulu program-program tentang aritmatik aljabar matriks dalam representasi himpunan, seperti menghitung penjumlahan dua vektor dan operasi OBD.

Setelah dibangun program-program dasar untuk proses aritmatik aljabarnya, selanjutnya akan dikonstruksi program pelacakan kode linear biner. Tiga program terpenting adalah:

1. Melacak/mencari satu vektor baris dalam yang bisa ditambahkan ke matriks B berdasarkan teorema Gilbert-Vashamov. 2. Menguji apakah dua vektor x dan y bisa ditambahkan ke matriks B

berdasarkan teorema Gilbert-Varshamov.

3. Menguji apakah m+1 vektor bisa ditambahkan ke matriks B

Dalam penelitian ini, kode linear biner yang berhasil dikonstruksi hanya sampai k = 12, r = 18 untuk d = 9 dan sampai k = 14, r = 22 untuk d = 11. Namun demikian, sangat sulit untuk mengonstruksi semua kode optimal kuat. Hal ini disebabkan antara lain oleh:

1. Keterbatasan komputer yang digunakan, sehingga tidak mungkin melacak semua kemungkinan kombinasi.

2. Pemilihan kode dasar (matriks awal) yang kurang baik. 3. Program konstruksi yang masih belum sempurna.

Dalam penelitian ini, masih banyak kekurangan yang ada di dalamnya, diantaranya adalah:

1. Tidak semua kode linear optimal kuat dapat dikonstruksi, walaupun kode tersebut ada (telah dikonstruksi oleh orang lain).

2. Algoritme konstruksi, walaupun untuk representasi himpunan sudah cukup baik, masih dapat diperbaiki dalam hal kecepatan pelacakan kode-kode linear biner, terutama untuk dimensi yang cukup besar. Untuk ke depannya, dapat diperbaiki algoritme konstruksi sehingga dapat digunakan untuk mencari/melacak kode dengan lebih cepat dan dapat mencakup kode linear yang memiliki dimensi yang besar. Selain itu, dapat pula dikembangkan program untuk mengoleksi kode-kode atas , untuk .

Kata kunci: kode linear biner, teorema Gilbert-Varshamov, kode optimal kuat

x 2

k

F

B

q

(10)

(11)

© Hak Cipta milik IPB, tahun 2011

Hak Cipta dilindungi Undang-Undang

Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan atau menyebutkan sumbernya. Pengutipan hanya untuk kepentingan pendidikan, penelitian, penulisan karya ilmiah, penyusunan laporan, penulisan kritik, atau tinjauan suatu masalah; dan pengutipan tersebut tidak merugikan kepentingan yang wajar IPB

(12)
(13)

KONSTRUKSI KODE LINEAR BINER OPTIMAL KUAT

BERJARAK MINIMUM 9 DAN 11

PUTRANTO HADI UTOMO

Tesis

sebagai salah satu syarat untuk memperoleh gelar Magister Sains pada

Program Studi Matematika Terapan

SEKOLAH PASCASARJANA

INSTITUT PERTANIAN BOGOR

(14)
(15)

Judul Tesis : Konstruksi Kode Linear Biner Optimal Kuat Berjarak Minimum 9 dan 11

Nama : Putranto Hadi Utomo NIM : G551090421

Disetujui

Komisi Pembimbing

Dr. Sugi Guritman Ketua

Teduh Wulandari, M. Si. Anggota

Diketahui

Ketua Program Studi Matematika Terapan

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

Tanggal Ujian: 28 Oktober 2011

Dekan Sekolah Pascasarjana

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

(16)
(17)
(18)

:

.

(19)

Untuk Ayahanda, Ibunda,

(20)
(21)

PRAKATA

Puji dan syukur penulis panjatkan kepada Allah SWT atas segala karunia-Nya sehingga tesis ini dapat diselesaikan. Tema yang dipilih dalam penelitian ini tentang masalah pada coding theory. Tesis ini merupakan syarat untuk menyelesaikan studi pada Program Magister Matematika Terapan, Departemen Matematika, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor.

Terima kasih penulis ucapkan kepada :

• Bapak Sugi Guritman, Ibu Teduh Wulandari, dan Ibu Sri Nurdiati, selaku dosen pembimbing dan penguji yang telah memberi bimbingan, masukan, dorongan, nasihat serta segala bantuan sehingga tugas akhir ini dapat terselesaikan.

• Ayah, ibu, dan adik-adik yang selalu memberi kasih sayang, perhatian, dukungan moril dan materi.

• Semua staf dan dosen pengajar Departemen Matematika yang telah memberikan ilmu yang bermanfaat selama menuntut ilmu di Departemen Matematika.

• Sahabat yang selalu memberi kebahagiaan, semangat, tantangan, perhatian, bantuan, inspirasi, doa, dan kasih sayang.

• Teman-teman mahasiswa departemen Matematika. Terima kasih atas segala persahabatan yang telah kita jalin selama beberapa tahun ini. Penulis menyadari bahwa tulisan ini masih jauh dari kesempurnaan dan penulis sangat menghargai segala saran dan kritik yang membangun dari pembaca. Penulis juga mengharapkan tulisan ini dapat bermanfaat bagi semua pihak yang memerlukan. Terima kasih.

Bogor, November 2011

Putranto

(22)
(23)

RIWAYAT HIDUP

Penulis dilahirkan di Bogor pada tanggal 7 September 1986 sebagai anak pertama dari 4 bersaudara pasangan Bapak Hadi Sumarno dan Ibu Dwi Ananingsih.

Pendidikan formal yang ditempuh penulis yaitu di SDN Panaragan 2 Kodya Bogor lulus pada tahun 1999, SLTPN 1 Darmaga Kab. Bogor lulus pada tahun 2002, SMAN 5 Bogor lulus pada tahun 2005, dan pada tahun yang sama penulis diterima di Institut pertanian Bogor melalui jalur USMI (Undangan seleksi Masuk IPB). Pendidikan sarjana ditempuh di Departemen Matematika, Fakultas Matematika dan Ilmu Pengetahuan Alam, lulus pada tahun 2009. Penulis melanjutkan studi di Program Studi Matematika Terapan pada Program Pascasasarjana IPB.

(24)

.

(25)

DAFTAR ISI

Halaman

DAFTAR TABEL ... xiii 

DAFTAR GAMBAR ... xiii

DAFTAR LAMPIRAN ... xiii 

1  PENDAHULUAN ... 1 

1.1  Latar Belakang... 1 

1.2  Tujuan Penelitian ... 4 

2  TINJAUAN PUSTAKA ... 6 

2.1  Definisi Dasar dalam Aljabar dan Teori Koding ... 7 

2.2  Enkoding Kode Linear ... 15 

2.3  Dekoding Tetangga Terdekat ... 16 

2.4  Dekoding Sindrom ... 17 

2.5  Dasar-dasar Konstruksi Kode ... 17 

3  HASIL DAN PEMBAHASAN ... 20 

3.1  Formulasi Masalah ... 21 

3.2  Analisis Teori ... 23 

3.3  Metode Komputasi ... 30 

3.4  Hasil yang Diperoleh ... 52 

4  KESIMPULAN DAN SARAN ... 55 

DAFTAR PUSTAKA ... 57 

(26)

(27)

DAFTAR TABEL

Halaman

Tabel 1. Tabel kebenaran unrtuk sifat asosiatif pada operasi xor ... 36  Tabel 2. Perbandingan komputasi antara dua representasi data ... 52  Tabel 3. Hasil konstruksi untuk kode untuk d = 9 dan d = 11 ... 52 

DAFTAR GAMBAR

Halaman

Gambar 1. Proses koding untuk suatu pesan ... 2  Gambar 2. Contoh enkoding dan dekoding dari suatu pesan ... 2  Gambar 3. Contoh informasi yang gagal terkirim ... 3 

DAFTAR LAMPIRAN

Halaman

(28)

(29)

1

PENDAHULUAN

1.1 Latar Belakang

Media informasi, seperti sistem komunikasi dan media penyimpanan untuk

data, tidak sepenuhnya reliabel. Hal ini dikarenakan bahwa pada praktiknya ada

gangguan (noise) atau inferensi lainnya sehingga pesan yang dikirim berubah (terdapat galat pada pesan). Salah satu masalah dalam teori koding (coding theory) adalah untuk mendeteksi atau bahkan mengoreksi galat tersebut.

Artikel tentang masalah tersebut pertama kali ditulis oleh C. E. Shannon

pada tahun 1948 dalam artikelnya yang berjudul A Mathematical Theory of Communication. Masalah 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, misalnya

pesan yang berupa gambar atau suara menjadi tidak jelas. 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.

Suatu kode (code) 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 yang anggotanya kata kode. Pendefinisian

kode ini dilakukan sedemikian sehingga apabila terjadinya perubahan beberapa

simbol pada kata kode, maka galat itu bisa dipulihkan lagi oleh dekoder. Dekoder

merupakan perangkat yang mengubah barisan simbol yang diterima menjadi kata

kode. Suatu model komunikasi dapat digambarkan seperti pada Gambar 1, dan

(30)

2

sumber pesan

enkoder sumber

enkoder saluran saluran

gangguan

[image:30.612.106.457.74.365.2]

dekoder saluran dekoder sumber mesin penerima

Gambar 1. Proses koding untuk suatu pesan.

Apel

00

00000 channel

gangguan

01000 00 Apel

Gambar 2. Contoh enkoding dan dekoding dari suatu pesan.

Ilustrasi tentang source coding dan channel coding akan dijelaskan pada paragraf berikut ini.

Source coding terdiri dterdiri atasari dua bagian, yaitu source encoding dan source decoding. Source encoding meliputi perubahan pesan asal (message source) menjadi kode yang bersesuaian sehingga dapat dikirimkan melalui suatu saluran/jalur data, sedangkan source decoding meliputi perubahan kode yang dikirimkan menjadi pesan asal. Kode ASCII adalah salah satu contoh source coding yang mengubah setiap karakter menjadi suatu “byte” yang terdiri atas delapan bit.

Sebagai contoh, misalkan source encoding untuk empat jenis buah-buahan didefinisikan sebagai berikut.

• Apel = 00

• Pisang = 01

• Ceri = 10

[image:30.612.89.465.86.649.2]
(31)

3

Misalkan pula pesan “Apel”, yang dikodekan sebagai “00” akan dikirimkan

melalui noisy channel (jalur bergangguan). Pesan tersebut dapat saja menyimpang/ berubah dan diterima sebagai “10”. Dalam kasus ini, mesin

penerima tidak dapat mendeteksi kesalahan tersebut, sehingga komunikasi

tersebut gagal (lihat Gambar 3).

Apel

00 channel

gangguan

[image:31.612.204.462.196.289.2]

01 Pisang

Gambar 3. Contoh informasi yang gagal terkirim.

Pesan yang telah dikodekan oleh source encoder dapat saja berubah jika melalui noisy channel. Ide dari channel coding adalah untuk mendeteksi kesalahan tersebut dengan cara men-enkode lagi pesan yang akan dikirimkan

dengan cara menambahkan unsur redundansi/unsur ekstra sehingga kesalahan

tersebut dapat dideteksi atau bahkan dikoreksi.

Untuk mengilustrasikan channel encoding, misalkan ditambahkan satu bit data redundansi pada contoh sebelumnya sebagai berikut.

• 00 = 000

• 01 = 011

• 11 = 110

Misalkan pula pesan “apel” yang dikodekan sebagai “000” (setelah

dilakukan source dan channel encoding) dikirimkan melalui saluran yang terganggu (noise) memiliki kesalahan satu bit, sehingga pesan yang diterima dapat berubah menjadi “001”, 010”, atau “100”.

Dalam kasus ini, kesalahan dapat dideteksi karena tidak ada satupun dari

“001”, “010”, dan “100” yang merupakan pesan awal. Untuk contoh di atas,

kesalahan pesan dapat dideteksi dengan kompensasi kecepatan transfer, karena

untuk mengirim pesan berukuran dua bit, perlu ditransmisikan kata kode

(32)

4

penerima tidak dapat memperbaiki kesalahan tersebut, karena jika yang diterima

adalah “100”. Ada kemungkinan kata kode tersebut berasal dari “000”, “110”,

atau “101”. Namun, dengan ditambahkan lagi unsur redundansi, kesalahan

tersebut dapat dikoreksi. Sebagai contoh, dapat didesain skema koding sebagai

berikut.

• 00 = 00000

• 01 = 01111

• 10 = 10110

• 11 = 11001

Untuk dapat membandingkan dengan contoh sebelumnya, misalkan pesan

“apel” akan dikirimkan melalui sinyal terganggu dan hanya terjadi satu bit

kesalahan. Dengan demikian, pesan yang diterima adalah salah satu dari lima

kemungkinan berikut: “10000”, “01000”, “00100”, “00010”, atau “00001”.

Misalkan yang sampai adalah “10000”, mesin penerima akan dapat mengambil

kesimpulan bahwa pesan tersebut berasal dari “0000”, karena kesalahan yang

terjadi hanya satu bit, sehingga tidak mungkin pesan tersebut berasal dari

“01111”, “10110”, dan “11001”. Namun, dengan skema seperti ini, lebih banyak

waktu yang terbuang.

Secara umum, tujuan dari teori koding adalah untuk mengonstruksi suatu

kode (enkoder dan dekoder) sehingga

1. dapat meng-enkodesuatu pesan dengan cepat,

2. dapat mentransmisi pesan yang sudah di-enkode dengan mudah,

3. dapat men-dekode suatu pesan yang diterima dengan cepat,

4. dapat memaksimumkan informasi yang ditransfer per satuan waktu,

dan

5. dapat secara maksimal dalam mendeteksi dan mengoreksi kesalahan.

1.2 Tujuan Penelitian

Berdasarkan latar belakang yang dipaparkan di atas, maka tujuan dari

penelitian ini adalah:

1. Mengkaji teorema yang terkait dengan konstruksi kode linear, terutama

Gilbert-Vashamov bound.

(33)

5

3. Mengimplementasikan algoritme-algoritme tersebut dalam suatu bahasa

pemograman dan mengujicobakan untuk kode linear dengan jarak

minimum 9 dan 11.

Dari tujuan-tujuan tersebut, penelitian ini diharapkan dapat memberikan

suatu hal yang baru dalam teori koding, yaitu memperbaiki batas bawah dari

(34)

(35)

2

TINJAUAN PUSTAKA

Pada bab ini diberikan definisi dan teorema dalam aljabar linear maupun

dalam teori koding yang melandasi penelitian yang dilakukan.

2.1 Definisi Dasar dalam Aljabar dan Teori Koding

Berikut adalah definisi dan teorema dasar dalam aljabar yang melandasi

teori koding.

2.1.1 Definisi: Ruang Vektor

Misalkan Fq merupakan lapangan hingga dengan order

q

. Himpunan tak

kosong V (dengan penjumlahan vektor dan perkalian skalar oleh elemen Fq)

merupakan ruang vektor dari Fq jika untuk semua

u v V

,

dan untuk semua

, Fq

λ μ

∈ , berlaku:

i. u+ ∈v V

ii.

(

u+ + = + +v

)

w u

(

v w

)

iii.

unsur 0

V

dimana 0

+ = = + ∀ ∈

v

v

v

0,

v V

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

( )

u

( )

u u

v. u v+ = +v u

vi.

λ

⋅ ∈v V

vii. λ⋅ +

(

u v

)

= ⋅ + ⋅λ u λ v

viii.

( )

λμ ⋅ =u λ μ

(

u

)

ix. Jika 1 merupakan unsur identitas untuk perkalian di Fq, maka

1⋅ =u u

(Ling & Xing, 2004)

2.1.2 Definisi: Penjumlahan Vektor dan Perkalian Skalar di Fqn

Misalkan didefinisikan ruang vektor n q

F atas Fq, yaitu:

(

)

{

| 1, 2, 3, , ;

}

n

q n i q

F = u u= u u uu uF . Misalkan pula V =

(

v v1, 2,…,vn

)

Fqn,

(

1, 2, ,

)

n

n q

W = w wwF , dan

λ

Fq. Maka penjumlahan vektor di n q
(36)

8

didefinisikan sebagai U+W =

(

v1+w v1, 2+w2,…,vn+wn

)

Fq, sedangkan

perkalian skalar didefinisikan sebagai λ⋅ =v

(

λ λv1, v2,…,λvn

)

Fqn.

(Ling & Xing, 2004)

2.1.3 Definisi: Subruang (Subspace)

Suatu himpunan tak kosong C dari ruang vektor V merupakan subruang

(ruang bagian) dari V jika C merupakan ruang vektor dan memiliki sifat

penjumlahan vektor dan perkalian vektor yang sama dengan V .

(Ling & Xing, 2004)

2.1.4 Proposisi 1

Suatu himpunan tak kosong C yang merupakan himpunan bagian dari

ruang vektor V atas Fq merupakan subruang jika dan hanya jika untuk

, & , F ,q x y C

λ μ

∀ ∈ ∈ berlaku

λ

x

+

μ

y C

.

(Ling & Xing, 2004)

2.1.5 Definisi: Kombinasi Linear

Misalkan V merupakan ruang vektor atas Fq,

λ

iFq sembarang, maka

1 1u 2u2 rur

λ +λ ++λ merupakan kombinasi linear dari u u1, 2,…,urV .

(Ling & Xing, 2004)

2.1.6 Definisi: Bebas Linear

Misalkan V merupakan ruang vektor atas Fq, himpunan vektor

{

v v1, 2,…,vk

}

dalam V dikatakan saling bebas linear jika

1 1v 2v2 rvr 0

λ +λ +…+λ = mengakibatkan λ12 =…=λr =0, dan tak bebas

linear jika ada λi ≠0 yang mengakibatkan λ1 1v2v2+…+λrvr =0.

(Ling & Xing, 2004)

2.1.7 Definisi: Rentang Linear

Misalkan V merupakan ruang vektor atas Fq dan S =

{

v v1, 2,…,vk

}

(37)

9

sebagai S =

{

λ1 1v2 2v +…+λkvkiFq

}

. Jika S= ∅, didefinisikan

{ }

0

S = .

(Ling & Xing, 2004)

2.1.8 Definisi: Basis

Misalkan V merupakan ruang vektor atas Fq. Himpunan tak kosong

{

1, 2, , k

}

B= v vv dari V dikatakan basis untuk V jika V = B dan

B

bebas

linear.

Misalkan B=

{

v v1, 2,…,vk

}

basis untuk V , maka sembarang vektor v V

dapat dinyatakan sebagai kombinasi linear dari vektor

B

secara unik.

2.1.9 Teorema 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)

2.1.10 Definisi: Hasil Kali Skalar

Misalkan V =

(

v v1, 2,…,vn

)

Fqn, W =

(

w w1, 2,…,wn

)

Fqn

. Hasil kali

skalar (dot product/hasil kali euclidian) dari V dan W didefinisikan sebagai

1 1 2 2 n n q

V W⋅ =v w +v w + +… v wF . Hasil kali skalar merupakan salah satu contoh

dari hasil kali dalam pada n g

F .

Hasil kali dalam pada n q

F didefinisikan sebagai pasangan terurut

, :Fqn×FqnFqyang memenuhi : ∀u v, ∈Fqn,berlaku

i. u+u w, = u w, + v w, .

ii. u v, +w = u w, + v w, .

iii. u v, =0 untuk semua n q

uF jhj v=0.

iv. u v, =0 untuk semua vFqn jhj u=0.

(38)

10

2.1.11 Definisi: Komplemen Orthogonal

Misalkan

(

1, 2, ,

)

n,

(

1, 2, ,

)

n

n q n q

V = v vvF W = w wwF .

i. Vektor V dan W dikatakan saling tegak lurus (orthogonal) jika

0 V W⋅ = .

ii. Misalkan S merupakan himpunan bagian dari Fqn. Komplemen

orthogonal dari S, yaitu

S

⊥ didefinisikan sebagai

{

qn| 0,

}

S⊥ = vF v s⋅ = ∀ ∈s S . Jika S= ∅, didefinisikan n

q

S⊥ =F .

Jika S merupakan subruang dari ruang vektor n q

F , maka

S

merupakan subruang dari ruang vektor n q

F dan S ⊥ =S⊥.

(Ling & Xing, 2004)

2.1.12 Teorema 2

Diberikan ruang vektor n q

F . Misalkan S himpunan bagian dari n q

F , maka

( )

( )

dim S +dim S⊥ =n.

(Ling & Xing, 2004)

2.1.13 Definisi: Kode Linear

Misalkan diberikan lapangan hingga Fq. Misalkan pula n q

F merupakan

himpunan dari vektor-vektor atas Fq dengan panjang

n

. Kode linear C

didefinisikan sebagai ruang bagian dari ruang vektor n q

F . Kode linear C dengan

panjang

n

dan dimensi k sering dinamakan qary n k

[ ]

, −code (kode linear

dengan parameter

[ ]

n k, ). Jika jarak minimum d dari C diketahui, C dapat

disebut kode linear dengan parameter

[

n k d, ,

]

. Atau biasa disebut kode

linear-[

n k d, ,

]

. Untuk selanjutnya, jika parameter dari suatu kode tidak ditekankan, cukup disebutkan bahwa C adalah suatu kode linear. Anggota dari C disebut

dengan kata kode.

(39)

11

2.1.14 Definisi: Kode dual dan dimensi dari suatu kode

Misalkan C merupakan kode linear, maka

i. Kode dual (dual code) dari C adalah

C

⊥, yang merupakan komplemen othogonal dari C.

ii. Dimensi dari kode linear Csama dengan dimensi Cdalam sudut

pandang subruang vektor atas Fq, yaitu dim

( )

C .

(Ling & Xing, 2004)

2.1.15 Teorema 3

Diberikan ruang vektor n q

F . Misalkan C adalah kode linear dengan panjang

n

dan dimensi k di n q

F , maka:

i. Banyaknya unsur di C = dim( )

dim( ) log C

q

C =qC = C .

ii.

C

⊥ juga merupakan suatu kode linear dan dim( ) dim(C + C⊥)=n.

iii.

( )

C⊥ ⊥ =C.

(Ling & Xing, 2004)

2.1.16 Definisi: Self-orthogonal dan Self-Dual

Misalkan C adalah kode linear.

i. C dikatakan self- orthogonal jika CC⊥.

ii. C dikakatan self-dual jika

C C

=

⊥.

(Ling & Xing, 2004)

2.1.17 Proposisi 2

Misalkan C adalah kode linear dengan panjang

n

.

i. Jika C merupakan kode yang self-orthogonal, maka dim

( )

2 n C.

ii. Jika C merupakan kode yang self-dual, maka dim

( )

2 n C = .
(40)

12

2.1.18 Definisi: Jarak Hamming (Hamming distance)

Diberikan ruang vektor n q

F atas lapangan Fq. Misalkan pula

x

dan

y

adalah anggota dari n q

F

(

x y, ∈Fqn

)

. Jarak Hamming antara

x

dan

y

yang

dinotasikan dengan d x y

(

,

)

, didefinisikan sebagai berikut.

(

,

)

(

1, 1

)

(

2, 2

)

...

(

n, n

)

d x y =d x y +d x y + d x y , dengan

(

,

)

1

0

i i i i

i i

x y

d x y

x y

≠ ⎧

= ⎨ =

⎩ .

(Ling & Xing, 2004)

2.1.19 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

( )

min

{

(

,

)

| , ,

}

d C = d x y x yC xy .

(Ling & Xing, 2004)

2.1.20 Definisi: Bobot Hamming (Hamming weight)

Diberikan ruang vektor n q

F . Misalkan pula

x

n q

F . Bobot Hamming

(Hamming Distance), yang dinotasikan

wt x

( )

didefinisikan sebagai jumlah koordinat/unsur yang tak nol:

( )

( , 0)

wt x =d x dengan 0 adalah vektor nol

atau dapat pula didefnisikan sebagai berikut.

1 jika 0 ( ) ( , 0)

0 jika 0 x wt x d x

x ≠ ⎧ = = ⎨ = ⎩ .

(Ling & Xing, 2004)

2.1.21 Lema 1.

Diberikan ruang vektor n q

F . Misalkan , n q

x yF , maka

d x y

( , )

=

wt x y

(

)

.
(41)

13

2.1.22 Lema 2

Misalkan diberikan bilangan prima

q

sembarang. Misalkan pula n q

F suatu

ruang vektor atas Fq. Untuk sembarang , n q

x yF , berlaku

( )

( )

(

)

( )

( )

wt x +wt ywt x+ywt xwt y .

(Ling & Xing, 2004)

2.1.23 Definisi: Bobot Minimal 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.

(Ling & Xing, 2004)

2.1.24 Teorema 4

Misalkan C adalah suatu kode linear, maka d C

( )

=wt C

( )

.

(Ling & Xing, 2004)

2.1.25 Definisi: Operasi Baris Dasar

Diberikan lapangan hingga Fq. Misalkan

A

adalah matriks dengan

elemen-elemen di Fq, yaitu A=

( )

aij , aijFq. Matriks

A

dikatakan dikenakan operasi

baris dasar (elementary row operation) jika

• Mempertukarkan baris ke-

i

dan ke- j.

• Mengalikan baris ke-

i

dengan suatu konstanta k≠0.

• Menambahkan baris ke-

i

dengan k kali baris ke- j.

(Ling & Xing, 2004)

2.1.26 Definisi: Ekivalen baris

Misalkan A1 dan A2 adalah suatu matriks sembarang. Matriks A1 dikatakan ekivalen baris (row equivalent) terhadap A2 jika A1 bisa diperoleh dari sekumpulan operasi baris dasar dari matriksA2.

(42)

14

2.1.27 Definisi: Matriks Generator dan Matriks Cek Paritas

Diberikan kode linear C.

i. G dikatakan matriks generator bagi kode linear C jika

baris-barisnya merupakan basis untuk C.

ii.

H

dikatakan matriks cek paritas bagi kode linear C jika

H

merupakan matriks generator bagi kode dual

C

⊥.

(Ling & Xing, 2004)

2.1.28 Definisi: Bentuk standar dari

H

dan G

Diberikan kode linear C. Misalkan

H

dan G , secara berturut-turut adalah

matriks cek paritas dan matriks generator untuk kode linear C.

i. Bentuk standar untuk matriks generator G adalah

(

Ik |X

)

, dengan

Matriks identitas berukuran k

I = k×k.

ii. Bentuk standar untuk matriks cek paritas

H

adalah

(

Y I| n k

)

,

dengan In k = Matriks identitas berukuran

(

n− × −k

) (

n k

)

.

(Ling & Xing, 2004)

2.1.29 Teorema 5

Diberikan kode linear C. Misalkan

H

adalah suatu matriks cek paritas bagi

kode linear C, maka

i. d C

( )

(jarak minimum dari C) ≥d jika dan hanya jika d−1 kolom

dari

H

saling bebas linear.

ii. d C

( )

(jarak minimum dari C) ≤d jika dan hanya jika d kolom

dari

H

saling bergantung linear.

(Ling & Xing, 2004)

2.1.30 Teorema 6

Diberikan kode linear C. Jika G=

(

Ik |X

)

adalah bentuk standar dari

matriks generator untuk suatu kode C dengan parameter

[ ]

n k, , maka matriks cek

paritas untuk kode C adalah H = −

(

XΤ|In k

)

.
(43)

15

2.1.31 Definisi: Ekivalensi dari Kode Linear

Misalkan diberikan sembarang kode linear C1 dan C2. C1 dan C2dikatakan 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)

2.1.32 Teorema 7

Misalkan Cadalah suatu kode linear dengan matriks generator G . Kode C

akan ekivalen dengan kode linear C' dengan matriks generator yang sudah dalam

bentuk standar.

(Ling & Xing, 2004)

2.2 Enkoding Kode Linear

Misalkan C adalah suatu kode linear-

[

n k d, ,

]

, dan G adalah matriks

generator untuk C. Misalkan pula

(

1, 2,...,

)

k

k q

u = u u uF . Jika didefinisikan

1 1 2 2 ... k k

v=uG=u g +u g + +u g , karena n q

vF , maka v merupakan salah satu

kata kode di C. Proses membuat u menjadi v dinamakan dengan proses enkoding.

(Ling & Xing, 2004)

2.2.1 Definisi: Koset

Misalkan C adalah suatu kode linear dengan panjang n. Misalkan pula n

q

uF merupakan suatu vektor sembarang dengan panjang n. Koset C yang

ditentukan oleh u didefinisikan sebagai C+ = + =u u C

{

v u v+ | ∈C

}

.

(Ling & Xing, 2004)

2.2.2 Teorema 8

Diberikan ruang vektor n q

F . Misalkan C adalah suatu linear kode dengan

parameter

[

n k d, ,

]

, maka:

i. Semua vektor dari n q

(44)

16

ii. Untuk semua n q

uF , k

C+ =u C =q .

iii. Untuk semua , n q

u vF , jika u∈ +C v, maka C+ = +u C v.

iv. Dua koset dikatakan identik jika irisannya merupakan himpunan

kosong.

v. Ada qn k koset yang berbeda untuk C.

vi. Untuk semua , n q

u vF , u− ∈v C jika dan hanya jika u dan v ada dalam koset yang sama.

(Ling & Xing, 2004)

2.2.3 Definisi: Coset Leader

Diberikan kode linear C. Suatu kata kode dalam C yang memiliki bobot

(Hamming) terkecil, dikatakan sebagai coset leader.

(Ling & Xing, 2004)

2.3 Dekoding Tetangga Terdekat

Diberikan kode linear C. Misalkan kata kode v dikirim dan diterima sebagai kode w. Misalkan didefinisikan vektor galat e= −w v.

Dari definisi koset, diperoleh e= − ∈ +w v w C atau w e− = ∈v C. Karena

w e− ∈C, maka vektor galat e dan kode w yang diterima berada dalam koset yang sama.

Karena vektor galat dengan bobot terkecil memiliki peluang terbesar untuk

terjadi, maka ketika dekoder menerima kata kode w, dekoder memilih vektor galat e (dalam koset w C+ ) dengan bobot terkecil dan menyimpulkan kode yang dikirim adalah v= −w e.

(Ling & Xing, 2004)

2.3.1 Definisi: Sindrom

Misalkan C adalah suatu kode linear−

[

n k d, ,

]

dan

H

adalah matriks cek

paritas untuk C. Untuk sembarang n q

wF , sindrom dari w didefinisikan sebagai

( )

T n k

q

S w =wHF − .

(45)

17

2.3.2 Teorema 9

Misalkan C adalahkode linear−

[

n k d, ,

]

, maka kode C dapat memperbaiki

galat/error sebanyak 1 2 d

⎢ ⎥

⎢ ⎥

⎣ ⎦.

(Ling & Xing, 2004)

2.4 Dekoding Sindrom

Dekoding sindrome merupakan perbaikan dari dekoding tetangga terdekat.

Ide dasar dari dekoding ini adalah untuk menghemat memori yang digunakan.

2.4.1 Teorema 10

Misalkan C adalahkode linear−

[

n k d, ,

]

dan

H

adalah matriks cek paritas

untuk C. Untuk sembarang , n q

u vF , berlaku

i. S u

(

+v

)

=S u

( )

+S v

( )

.

ii. S u

( )

=0 jika dan hanya jika u adalah kata kode dalam C.

iii. S u

( ) ( )

=s v jika dan hanya jika u dan v ada dalam koset yang

sama.

(Ling & Xing, 2004)

Dari Teorema 10, dapat diambil kesimpulan bahwa suatu koset dapat

didefinisikan oleh sindromnya, dan semua kata kode yang berada dalam suatu

koset menghasilkan sindrom yang sama, atau dapat dikatakan sindrom dari suatu

koset sama dengan sindrom dari anggotanya. Dengan kata lain, ada korespondensi

satu-satu antara koset dan sindromnya.

(Ling & Xing, 2004)

2.5 Dasar-dasar Konstruksi Kode

Apabila suatu kode telah berhasil dikonstruksi, maka kode dengan

parameter yang berbeda dapat pula dikonstruksi, berikut adalah beberapa cara

(46)

18

2.5.1 Adding an overall parity check/Extending a code (Penambahan pada matriks cek paritas)

Misalkan C adalah suatu kode linear biner dengan parameter

[

n k d, ,

]

dengan beberapa kata kodenya berbobot ganjil. Dari kode tersebut akan dibentuk

kode baru Cˆ 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

1

d+ , sehingga Cˆ 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.5.2 Puncturing a code by deleting coordinates (Pemotongan kode dengan cara menghapus koordinat tertentu)

Misalkan C 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 C* memiliki parameter

[

1, , 1

]

nk d− .

(MacWilliams & Sloane,1981)

2.5.3 Expurgating by thowing away codewords (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.

(47)

19

2.5.4 Augmenting by adding new codeword (Memperbesar suatu kode dengan cara menambahkan kata kode baru)

Salah satu cara untuk memperbesar suatu kode adalah dengan cara

menambahkan satu baris vektor

1

pada matriks generator.

Jika C adalah suatu kode dengan parameter

[

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),

sehingga C( )a memiliki parameter ⎡n k, +1,d( )a, dengan d( )a =min

{

d n d, − '

}

,

dan d'=bobot terbesar dari kata kode di C.

(MacWilliams & Sloane,1981)

2.5.5 Lengthening by adding message symbols (Memperpanjang suatu kode dengan menambahkan simbol pesan)

Untuk memperpanjang suatu kode linear C, 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.

(MacWilliams & Sloane,1981)

2.5.6 Shortening a code (Memperpendek kode)

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 (simbol pertama = 0). Selanjutnya koordinat dari x1 dihapus. Proses seperti ini disebut mengambil cross-section dari suatu kode (taking a cross-section of the code) .

(48)

(49)

3

HASIL DAN PEMBAHASAN

3.1 Formulasi Masalah

Sejauh ini telah diperkenalkan bahwa terdapat tiga parameter yang terkait

dengan konstruksi suatu kode, yaitu panjang, dimensi, danjarak minimum. Jika C adalah kode linear biner yang mempunyai panjang n, berdimensi k, dan berjarak minimum d, maka C dikatakan baik jika n kecil, k besar dan d besar. Makna fisiknya, n harus kecil terkait dengan kecepatan proses enkoding dan dekoding, dan juga terkait dengan besarnya memori yang digunakan dalam proses

itu. Sementara itu k harus besar terkait dengan banyaknya pesan yang dapat

diubah menjadi kata kode, sedangkan d harus besar terkait dengan banyaknya

galat yang dapat dikoreksi.

Misalkan diberikan sembarang dua parameter, yaitu n dan k. Permasalahannya, apakah ada suatu kode

[

n k d, ,

]

untuk nilai d yang

sebesar-besarnya? Pertanyaan tersebut mengarah pada pendefinisian fungsi

( )

, max

{

| kode

[

, ,

]

ada

}

D n k = d n k d . Dalam hal ini, suatu kode C dengan

parameter

[

n k d, ,

]

disebut optimalD(optimal jarak minimum), jika C ada

(telah berhasil dikonstruksi) dan tidak ada kode dengan parameter

[

n k d, , +1

]

(telah pula dibuktikan). Batas bawah l dan batas atas u dari fungsi D n k

( )

,

diartikan sebagai berikut. Misalnya D n k

( )

, terletak di antara l dan u

( )

(

lD 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 atau tidaknya kode dengan parameter

[

n k d, ,

]

dengan l< ≤d u merupakan masalah terbuka (open problem).

Untuk memperbaiki satu langkah batas bawah dari fungsi D n k

( )

, , perlu

dikonstruksi kode dengan parameter

[

n k l, , +1

]

, sedangkan untuk perbaikan satu

langkah batas atas dari fungsi D n k

( )

, sama dengan membuktikan bahwa tidak
(50)

22

( )

,

D n k dapat dilihat di dalam Tabel Brouwer dan bisa diakses secara on-line pada alamat http://codetables.de (cuplikan dari Tabel Brouwer dapat dilihat pada

Lampiran 1). Jika berhasil diperbaiki satu saja batas (bawah atau atas) dari Tabel

Brouwer, berarti telah berhasil "dipecahkan satu rekor dunia".

Secara analog (ekivalen), untuk optimalisasi dimensi (optimal-K) dapat

didefinisikan fungsi K n k

( )

, atau fungsi N n k

( )

, untuk optimalisasi panjang

kode (optimal-N), dan sekaligus memformulasikan masalahnya.

K n d

(

,

)

: max=

{

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 akan

didefinisikan kode optimal kuat (strongly optimal codes) beserta formula konstruksinya berlandaskan teorema-teorema yang telah didefinisikan pada

tinjauan pustaka. Kode linear C dengan parameter

[

n k d, ,

]

disebut kode 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 kode tersebut 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

.

Berdasarkan dasar-dasar konstruksi kode, dalam penelitian ini juga dianalisis

hubungan antara kode yang memiliki sifat optimal-D, optimal-K, optimal-N, dan

optimal kuat.

Konstruksi kode yang dilakukan dalam penelitian ini dilakukan atas dasar

teori konstruksi langsung (direct constructions). Ide dasarnya adalah sebagai berikut. Jika suatu kode memenuhi pertaksamaan Gilber-Varshamov, maka kode

tersebut dapat diperluas [Brouwer, 1997].

Dalam penelitian ini, konstruksi kode dibatasi hanya untuk jarak minimum

9

(51)

23

biner, yaitu kode yang ada dalam ruang vektor

F

2n. Pemilihan kasus cukup untuk

d ganjil, hal ini didasarkan pada salah satu sifat kode linear yang dinyatakan

sebagai berikut.

3.1.1 Teorema 11

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.

Bukti:

Misalkan telah dikonstruksi kode linear dengan parameter

[

n k d, ,

]

, dengan

d ganjil. Dengan melakukan penambahan pada matriks cek paritas (dasar

konstruksi kode yang pertama) akan diperoleh kode dengan parameter

[

n+1, ,k d+1

]

.

͏

3.2 Analisis Teori

Diberikan kode linear C dengan parameter

[ ]

n k, . Misalkan

H

merupakan

matriks cek paritas untuk C. Dari definisi matriks cek paritas,

{

n| T 0

}

q

C = xF Hx = , atau dengan kata lain, C=ker

( )

H . Hal ini karena

baris-baris dari matriks

H

merupakan basis untuk C⊥, komplemen orthogonal bagi C. Karena kode linear C merupakan kernel dari matriks cek paritasnya, maka

mengonstruksi suatu kode linear C sama dengan mengonstruksi matriks cek

paritasnya.

3.2.1 Teorema 12

Diberikan kode linear C dengan panjang n. Jika

H

adalah matriks cek paritas untuk C, 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 (r adalah rank dari

H

).
(52)

24

Diberikan kode linear C dengan panjang n. Didefinisikan r = n-k. Misalkan

H

adalah matriks cek paritas bagi kode linear C. Misalkan pula G

adalah matriks generator bagi kode linear C.

Kode linear C memiliki pangkat

(

n r

)

jika dan hanya jika

( ) (

)

rank G = −n k . [Karena G adalah basis, dan banyaknya baris di G

menunjukkan dimensi suatu kode]. Karena G dan

H

saling orthogonal, maka

( ) (

)

rank G = −n r jika dan hanya jika rank H

( )

=r.

͏

3.2.2 Teorema 13

Diberikan kode linear C dengan panjang n. Jika

H

adalah matriks cek paritas untuk C, 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:

Diberikan kode linear C dengan panjang n. Misalkan

H

adalah matriks cek paritas bagi kode linear C.

Kode linear C berbobot minimum d jika dan hanya jika kedua butir berikut

terpenuhi

i. Ada vektor

v

F

2n dengan wt v

( )

=d sehingga HvT =0T.

ii. HwT ≠0T untuk setiap

w F

2n dengan wt w

( )

<d. (Jika HwT =0T,

maka w C∈ . Kontradiksi dengan fakta bahwa wt w

( )

<d).

Di sisi lain, kedua butir di atas (i dan ii) dapat terjadi jika dan hanya jika ada

d kolom dari

H

yang tidak bebas linear dan setiap d−1 kolom dari

H

bebas linear.

͏

3.2.3 Teorema 14: The Singleton Bound

Diberikan kode linear C. Jika C adalah kode dengan parameter

[

n k d, ,

]

(53)

25

Bukti:

Misalkan diberikan kode linear C dengan parameter

[

n k d, ,

]

, maka kode

linear C memiliki matriks cek paritas

H

berukuran

(

n k− ×

)

n, sehingga

( ) (

)

rank H ≤ −n k .

Dari Teorema 13, matriks

H

memiliki d−1 kolom yang bebas linear,

sehingga rank H

( ) (

= d−1

)

, dengan kata lain

(

d− ≤ −1

) (

n k

)

.

͏

3.2.4 Teorema 15: The Gilbert-Varshamov Bound

Diberikan kode linear C dengan parameter

[

n k d, ,

]

. Jika ketaksamaan

1 2 2

1 n n n 2n k

d

− −

⎛ ⎞ ⎛ ⎞ ⎛ ⎞

+⎜ ⎟ ⎜ ⎟+ + + <

⎝ ⎠ ⎝ ⎠ ⎝ ⎠ berlaku, maka dapat dikonstruksi kode dengan

parameter

[

n+1,k+1,d

]

.

Bukti:

Misalkan diberikan kode linear yang memiliki parameter

[

n k d, ,

]

.

Berdasarkan Teorema 5, ada matriks cek paritas berordo

(

n k− ×

)

n, yaitu

(

1 2 ... n

)

H= c c c yang setiap d−1 vektor dari

{

c c1, ,...,2 cn

}

adalah bebas

linear dalam ruang vektor

F

2n k− . Jika ada vektor

x F

2n k− yang bukan

i

kombinasi linear dari vektor-vektor kolom

H

, untuk i=1, 2,...,d−2, maka

(

1 2

)

' n

H = c cc x adalah matriks cek paritas untuk kode linear yang

memiliki parameter

[

n+1,k+1,d

]

. Hal ini karena

H

'

berorde

(

n k− × +

) (

k 1

)

dan setiap d−1 vektor dari

{

c c1, ,..., ,2 c xn

}

adalah bebas linear dalam ruang

vektor

F

2n k− .

Jika banyaknya kombinasi linear yang mungkin dari kolom-kolom

H

'

sehingga tidak ada d−1 kolom yang bergantung linear lebih besar atau sama

dengan jumlah vektor tak nol dalam

F

2n k− , maka

H

'

bukan matriks cek paritas
(54)

tak-26

nol dalam

F

2n k− yang mungkin dipilih untuk x adalah 2n k− −1, sedangkan

banyaknya kombinasi linear yang mungkin dari kolom-kolom

H

'

adalah

1 2 2

n n n

d

⎛ ⎞ ⎛ ⎞+ + +⎛ ⎞

⎜ ⎟ ⎜ ⎟ ⎜ ⎟

⎝ ⎠ ⎝ ⎠ ⎝ ⎠. Dengan demikian, jika ada kode linear C dengan parameter

[

n k d, ,

]

dan pertaksamaan

1 2 2

1 n n n 2n k

d

− −

⎛ ⎞ ⎛ ⎞ ⎛ ⎞

+⎜ ⎟ ⎜ ⎟+ + + <

⎝ ⎠ ⎝ ⎠ ⎝ ⎠ berlaku, maka dapat

dikonstruksi kode baru dengan parameter

[

n+1,k+1,d

]

berdasarkan kode linear

C tersebut.

͏

3.2.5 Lema 3

Misalkan C adalah suatu kode linear dengan panjang n, maka jumlah unsur satu pada setiap kata kode di posisi ke-

i

sama dengan nol atau setengah dari

jumlah kata kode yang ada di C.

Bukti:

Misalkan

X

adalah himpunan kata kode yang memiliki unsur nol pada

koordinat ke-

i

dan

Y

adalah himpunan kata kode yang memiliki unsur satu pada

koordinat ke-

i

, maka C= ∪X Y. Jika Y = ∅, maka C=X, sehingga tidak ada

kata kode yang memiliki unsur satu pada posisi ke-

i

. Namun demikian, jika

Y≠ ∅, ambil c Y∈ sembarang, karena c Y+ ⊆ X , maka YX . Selanjutnya,

karena c+XY , maka XY . Oleh karena itu, dapat diambil kesimpulan

bahwa Y = X .

͏

3.2.6 Proposisi 1

i. Jika ada kode linear dengan parameter

[

n k d, ,

]

, maka ada kode

linear dengan parameter

[

n−1, ,k d−1

]

, di di manamana d>1.

ii. Jika ada kode linear dengan parameter

[

n k d, ,

]

, maka ada kode
(55)

27

iii. Jika ada kode linear dengan parameter

[

n k d, ,

]

, maka ada kode

linear dengan parameter

[

n k, −1,d

]

, di mana k>1.

iv. Jika ada kode linear dengan parameter

[

n k d, ,

]

, maka ada kode

linear dengan parameter

[

n−1,k−1,d

]

, di mana k>1.

Bukti:

i. Misalkan C adalah kode linear dengan parameter

[

n k d, ,

]

dengan

1

d> . Karena C memiliki jarak minimal d, maka ada kata kode

c C∈ dimana wt c

( )

=wt C

( )

=d. Misalkan kata kode c memiliki

unsur satu pada koordinat ke-

i

. Dengan menghapus unsur ke-

i

pada

semua kata kode dalam C, akan diperoleh kode linear C' dengan

panjang

(

n−1

)

dan c berubah menjadi c'. Karena wt c

( )

' = −d 1,

maka wt C

( )

' = −d 1. Untuk menunjukkan dim

( )

C' =k, misalkan

( )

dim C' <k, maka ada x y, ∈C, sehingga x c+ = y di mana

( )

1

wt c = . Kontradiksi dengan d>1. Haruslah dim

( )

C' =k.

Dengan demikian, C' memiliki parameter

[

n−1, ,k d−1

]

.

ii. Misalkan Gk n× adalah matriks generator untuk kode linear C dengan

parameter

[

n k d, ,

]

. Tambahkan vektor nol pada kolom terakhir G

sehingga membentuk matriks G' yang berukuran k× +

(

n 1

)

. Karena

yang ditambahkan adalah vektor nol, maka banyaknya kombinasi

linear dari baris-barisnya tidak akan berubah, sehingga jarak

minimumnya tidak berubah. Dengan kata lain, telah diperoleh kode

linear dengan parameter

[

n+1, ,k d

]

.

iii. Misalkan C adalah kode linear dengan parameter

[

n k d, ,

]

dengan

1

k> . Karena C memiliki jarak minimal d, maka ada kata kode

c C∈ di mana wt c

( )

=wt C

( )

=d. Misalkan Gk n× adalah matriks
(56)

28

pula baris ke-r dari G yang tidak sama dengan c dihapus sehingga membentuk kode baru, yaitu C' dengan matriks generator G'.

Karena baris-baris di G saling bebas linear, maka semua baris di G'

juga saling bebas linear, sehingga dim

( )

C' = −k 1. Karena

( )

( )

wt C =wt c =d dan kata kode c tetap ada di C', maka

( )

'

wt C =d, sehingga kode linear C' memiliki parameter

[

n k, −1,d

]

.

iv. Misalkan C adalah kode linear dengan parameter

[

n k d, ,

]

dengan

1

k> . Karena C memiliki jarak minimal d, maka ada kata kode

c C∈ di mana wt c

( )

=wt C

( )

=d. Misalkan G dan

H

adalah

matriks generator dan matriks cek paritas untuk C. Misalkan pula

kata kode c memiliki unsur nol pada koordinat ke-

i

. Ada dua kasus yang mungkin terjadi, kasus pertama adalah semua kata kode di C

memiliki unsur nol pada koordinat ke-

i

, sedangkan kasus kedua

tidak semua kata kode memiliki unsur nol pada koordinat ke-

i

. Jika

kasus pertama yang terjadi, maka koordinat ke-

i

pada semua kata

kode dapat dihapus sehingga menghasilkan kode dengan parameter

[

n−1, ,k d

]

(Proposisi 1 butir i), selanjutnya dengan menghapus satu baris dari matriks generator untuk kode dengan parameter

[

n−1, ,k d

]

tersebut, akan diperoleh kode dengan parameter

[

n−1,k−1,d

]

(Proposisi 1 butir ii). Seandainya kasus kedua yang terjadi, yaitu ada beberapa kata kode yang memiliki unsur satu pada

koordinat ke-

i

, maka berdasarkan Lema 3, setengah dari kata kode

yang ada di C memiliki unsur satu pada koordinat ke-

i

. Dengan

menghapus koordinat ke-

i

pada setiap kata kode yang ada di C,

akan diperoleh kodeC' yang meniliki panjang

(

n−1

)

. Misalkan kata

kode c berubah menjadi c', karena yang dihapus pada koordinat

(57)

29

Selanjutnya dengan menghapus satu baris dari matriks generator

untuk kode dengan parameter

[

n−1, ,k d

]

tersebut, akan diperoleh

kode dengan parameter

[

n−1,k−1,d

]

(Proposisi 1 butir ii).

͏

3.2.7 Proposisi 2

Diberikan kode linear C dengan parameter

[

n k d, ,

]

.

i. Jika C optimal kuat, maka C optimal-

K

.

ii. Jika C optimal-N, maka C optimal-

D

.

iii. Jika C optimal-

K

, maka belum tentu C optimal kuat.

iv. Jika C optimal-

D

, maka belum tentu C optimal-N.

v. Jika C optimal-

D

, maka belum tentu C optimal-

K

.

vi. Jika C optimal-

D

, maka belum tentu C optimal kuat.

vii. Jika C optimal-N, maka belum tentu C optimal kuat.

Bukti:

i. Andaikan C tidak optimal-

K

, maka ada kode linear C' dengan

parameter

[

n k, +1,d

]

. Karena ada kode C' ada, maka dari Proposisi

1 bagian ii, akan ada kode linear dengan parameter

[

n+1,k+1,d

]

.

Hal ini kontradiksi dengan fakta bahwa kode C optimal kuat.

ii. Andaikan C tidak optimal-

D

, maka ada kode linear C' dengan

parameter

[

n k d, , +1

]

. Karena kode C' ada, maka dari Proposisi 1

bagian i, akan ada kode linear dengan parameter

[

n−1, ,k d

]

. Hal ini

kontradiksi dengan fakta bahwa kode C optimal-N.

iii. Dari Tabel Brouwer, ada kode dengan parameter

[

13,9,3

]

dan tidak

ada kode dengan parameter

[

13,10,3

]

. Tetapi kode dengan
(58)

30

iv. Dari Tabel Brouwer, ada kode dengan parameter

[

14,7,4

]

dan tidak

ada kode dengan parameter

[

14,7,5

]

. Tetapi kode dengan parameter

[

13,7,4

]

ada.

v. Dari Tabel Brouwer, ada kode dengan parameter

[

15,4,8

]

dan tidak

ada kode dengan parameter

[

15,3,9

]

. Tetapi kode dengan parameter

[

15,4,8

]

ada.

vi. Dari Tabel Brouwer, ada kode dengan parameter

[

17,8,6

]

dan tidak

ada kode dengan parameter

[

17,8,9

]

. Tetapi kode dengan parameter

[

18,9,6

]

ada.

vii. Dari Tabel Brouwer, ada kode dengan parameter

[

15,4,8

]

dan tidak

ada kode dengan parameter

[

14,4,8

]

. Tetapi kode dengan parameter

[

16,5,8

]

ada.

͏

3.3 Metode Komputasi

Dalam penelitian ini, software yang digunakan untuk mengonstruksi kode optimal kuat adalah MAPLE. Dari analisis teori, diturunkan algoritme-algoritme

untuk mengonstruksi kode optimal kuat. Dalam subbab-subbab berikut ini,

dibahas algoritme konstruksi dan deskripsi program konstruksi.

3.3.1 Ide dasar konstruksi kode

Untuk mengkonstruksi suatu kode, sama saja artinya dengan mengonstruksi

matriks cek paritas

H

. Berlandaskan teorema-teorema yang telah disebutkan di

landasan teori, cukup dikonstruksi bentuk standar dari

H

, yaitu

(

T

)

| r

H = B I .

Berdasarkan pertimbangan efisiensi komputasi, cukup dikonstruksi matriks

B

berukuran k r× . Setelah mempelajari teorema-teorema sebelumnya, terutama

teorema Gilbert-Varshamov, dapat dibuat teorema baru yang berkaitan dengan

(59)

31

Teorema 16

Jika matriks

B

berukuran k r× dikonstruksi berdasarkan sifat sebagai

berikut.

1. Semua vektor baris dari

B

berbeda, dan

2. Jumlah setiap

i

vektor baris dari

B

berbobot paling sedikit

(

di

)

untuk

2, 3,...,

i= s di mana s=min

{

d−1,k

}

, dan

(

d− ≤1

)

r,

maka

(

T |

)

r

H = B I dan G=

(

Ik|B

)

secara berturut-turut merupakan matriks cek paritas dan matriks generator untuk

kode linear C dengan parameter

[

k+r k, ,≥d

]

.

Bukti:

Misalkan telah dikonstruksi matriks

B

berukuran k r× sebagaimana

disyaratkan teorema. Akan ditunjukkan bahwa H =

(

Bt|Ir

)

merupakan matriks

cek paritas untuk kode linear C dengan parameter

[

k+r k, ,≥d

]

.

Karena

H

berukuran r× +

(

k r

)

, maka C memiliki panjang k+r. Karena

jumlah baris matriks

B

sama dengan k, maka kode linear C berdimensi k.

Selanjutnya, akan ditunjukkan bahwa kode linear C memiliki jarak

minimum kurang dari atau sama dengan d . Andaikan ada v C∈ dengan

( )

wt v <d dan dituliskan v=

(

v vm, c

)

di mana vm merupakan vektor pesan

dengan wt v

( )

m =i dan vc adalah vektor cek dengan wt v

( )

c = j, maka berlaku

( )

c

i+ < ⇔ < − ⇒j d j d i wt v < −d i (1)

dan

(

)

0 | 0 0

T

T T T m T T T T T T T T

r T m r c m c

c

v

Hv B I B v I v B v v

v

⎛ ⎞

= ⇔ = ⇔ + = ⇔ =

⎝ ⎠ . (2)

Karena wt v

Gambar

Gambar 1. Proses koding untuk suatu pesan.
Gambar 3. Contoh informasi yang gagal terkirim.
Tabel 2. Perbandingan komputasi antara dua representasi data
Gambar 1. Proses koding untuk suatu pesan.
+3

Referensi

Dokumen terkait