• Tidak ada hasil yang ditemukan

KONSTRUKSI KODE LINEAR BINER OPTIMAL KUAT BERJARAK MINIMUM 9 DAN

N/A
N/A
Protected

Academic year: 2022

Membagikan "KONSTRUKSI KODE LINEAR BINER OPTIMAL KUAT BERJARAK MINIMUM 9 DAN"

Copied!
106
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

L KUAT

(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 Putranto Hadi Utomo NIM G551090421

(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.

Keywords: binary linear code, Gilbert Varshamov bound, strongly optimal code.

(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− . Untuk itu, perlu didefinisikan 1

}

korespondensi satu-satu antara suatu vektor di F dengan suatu himpunan qn 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

{

d1,k

} (

d− ≤1

)

r

(

T | r

)

H = B I G=

(

Ik|B

)

C

[

k+r k, ,d

]

(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 F2k

B

Fq q>2

(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

Dilarang mengumumkan dan memperbanyak sebagian atau seluruh karya tulis dalam bentuk apa pun tanpa izin 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

2011

(14)

Penguji Luar Komisi pada Ujian Tesis: Dr. Ir. Sri Nurdiati, M.Sc.

(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.

Tanggal Lulus:

(16)
(17)

(18)

:

.

(19)

Untuk Ayahanda, Ibunda, serta Adik-adikku tersayang.

(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.

Selama mengikuti perkuliahan, penulis pernah menjadi asisten praktikum Analisis Numerik pada tahun 2009 dan asisten praktikum Metode Komputasi pada tahun 2010.

(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  LAMPIRAN ... 59 

(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 Lampiran 1. Tabel Brouwer ... 61  Lampiran 2. Program Konstruksi Kode ... 62 

(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 untuk contohnya dapat dilihat pada Gambar 2.

(30)

2

sumber pesan

enkoder sumber

enkoder saluran saluran gangguan

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

• Anggur = 11

(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

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 berukuran tiga bit. Walaupun kesalahan pada pesan dapat dideteksi, mesin

(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-enkode suatu 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.

2. Menyusun algoritme-algoritme untuk mengontruksi kode linear biner.

(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 Tabel Brouwer.

(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 F qn

Misalkan didefinisikan ruang vektor F atas qn Fq, yaitu:

( )

{

| 1, , ,2 3 , ;

}

n

q n i q

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

(

v v1, , ,2vn

)

Fqn,

(

1, 2, , n

)

qn

W = w wwF , dan λ∈Fq. Maka penjumlahan vektor di F qn

(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 2 2u 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, , ,2vk

}

dalam V dikatakan saling bebas linear jika

1 1v 2 2v rvr 0

λ +λ +…+λ = mengakibatkan λ12 =…=λr =0, dan tak bebas linear jika ada λi ≠ yang mengakibatkan 0 λ1 1v2 2v +…+λrvr =0.

(Ling & Xing, 2004) 2.1.7 Definisi: Rentang Linear

Misalkan V merupakan ruang vektor atas Fq dan S =

{

v v1, ,2 …,vk

}

merupakan himpunan tak kosong dari V . Rentang linear dari S didefinisikan

(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, , ,2vk

}

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

( )

= , maka: k

i. V memiliki q elemen. k 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, , ,2vn

)

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 F . gn

Hasil kali dalam pada F didefinisikan sebagai pasangan terurut qn , :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, = untuk semua 0 uFqn jhj v=0. iv. u v, = untuk semua 0 vFqn jhj u=0.

(Ling & Xing, 2004)

(38)

10

2.1.11 Definisi: Komplemen Orthogonal

Misalkan V =

(

v v1, , ,2vn

)

Fqn, ,W =

(

w w1 2, ,… wn

)

Fqn.

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

V W⋅ = .

ii. Misalkan S merupakan himpunan bagian dari F . Komplemen qn orthogonal dari S, yaitu S didefinisikan sebagai

{

qn| 0,

}

S = vF v s⋅ = ∀ ∈s S . Jika S= ∅, didefinisikan S =Fqn. Jika S merupakan subruang dari ruang vektor F , maka qn S merupakan subruang dari ruang vektor F dan Sqn =S.

(Ling & Xing, 2004) 2.1.12 Teorema 2

Diberikan ruang vektor F . Misalkan qn S himpunan bagian dari F , maka qn

( ) ( )

dim S +dim S = . n

(Ling & Xing, 2004) 2.1.13 Definisi: Kode Linear

Misalkan diberikan lapangan hingga Fq. Misalkan pula F merupakan qn himpunan dari vektor-vektor atas Fq dengan panjang n. Kode linear C didefinisikan sebagai ruang bagian dari ruang vektor F . Kode linear qn 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.

(Ling & Xing, 2004)

(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 F . Misalkan qn C adalah kode linear dengan panjang n dan dimensi k di F , maka: qn

i. Banyaknya unsur di C = C =qdim( )C ↔dim( ) logC = q 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

( )

C 2n.

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

( )

C = 2n.

(Ling & Xing, 2004)

(40)

12

2.1.18 Definisi: Jarak Hamming (Hamming distance)

Diberikan ruang vektor F atas lapangan qn Fq. Misalkan pulax dan y adalah anggota dari F qn

(

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

(

i, i

)

10 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 F . Misalkan pula qn xF . Bobot Hamming qn (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 wt x d x x

x

⎧ ≠

= = ⎨⎩ = .

(Ling & Xing, 2004) 2.1.21 Lema 1.

Diberikan ruang vektor F . Misalkan ,qn x yFqn, maka d x y( , )=wt x y( − ). (Ling & Xing, 2004)

(41)

13

2.1.22 Lema 2

Misalkan diberikan bilangan prima q sembarang. Misalkan pula F suatu qn ruang vektor atas Fq. Untuk sembarang ,x yFqn, 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. MatriksA 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 A adalah suatu matriks sembarang. Matriks 2 A dikatakan 1 ekivalen baris (row equivalent) terhadap A jika 2 A bisa diperoleh dari 1 sekumpulan operasi baris dasar dari matriksA . 2

(Ling & Xing, 2004)

(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

Ik = 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 Hsaling bebas linear.

ii. d C (jarak minimum dari

( )

C) ≤d jika dan hanya jika d kolom dari Hsaling 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

)

.

(Ling & Xing, 2004)

(43)

15

2.1.31 Definisi: Ekivalensi dari Kode Linear

Misalkan diberikan sembarang kode linear C dan 1 C . 2 C dan 1 C dikatakan 2 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 u =

(

u u1, ,...,2 uk

)

Fqk. Jika didefinisikan

1 1 2 2 ... k k

v=uG=u g +u g + +u g , karena vFqn, 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

uFq 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 F . Misalkan qn C adalah suatu linear kode dengan parameter

[

n k d , maka: , ,

]

i. Semua vektor dari F ada di dalam koset qn C.

(44)

16

ii. Untuk semua uFqn, C+ =u C =qk.

iii. Untuk semua ,u vFqn, 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 ,u vFqn, 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 wFqn, sindrom dari w didefinisikan sebagai

( )

T qn k

S w =wHF .

(Ling & Xing, 2004)

(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 ,u vFqn, berlaku

i. S u

(

+v

)

=S u

( )

+S v

( )

.

ii. S u

( )

= jika dan hanya jika u adalah kata kode dalam 0 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 untuk mendapatkan kode lain tersebut.

(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+ . Secara umum, proses 1

]

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 *

[

n1, ,k d− . 1

]

(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.

(MacWilliams & Sloane,1981)

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

(MacWilliams & Sloane,1981)

(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, dan jarak 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 optimal, ,

]

− (optimal jarak minimum), jika D 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, , ≤ dan telah berhasil pula dibuktikan bahwa tidak ada kode dengan l

]

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, , + , sedangkan untuk perbaikan satu 1

]

langkah batas atas dari fungsi D n k sama dengan membuktikan bahwa tidak

( )

,

ada kode dengan parameter

[

n k u . Informasi terkini untuk batas fungsi , ,

]

(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, , + tidak ada. Jika kode linear-1

] [

n k d ada dan telah berhasil dibuktikan , ,

]

bahwa kode linear-

[

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

d= dan d=11. Selain itu, kode yang akan dikonstruksi hanya untuk kode linear

(51)

23

biner, yaitu kode yang ada dalam ruang vektor F2n. 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,

{

qn| T 0

}

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

Bukti:

(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 vF2n dengan wt v

( )

=d sehingga HvT =0T.

ii. HwT ≠0T untuk setiap w F2n 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, ,

]

maka

(

n k− ≥

) (

d1 .

)

(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

( ) (

= d1

)

, 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 F2n k . Jika ada vektor x F2n k yang bukan i kombinasi linear dari vektor-vektor kolom H, untuk i=1, 2,...,d− , maka 2

(

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 F2n 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 F2n k , maka H' bukan matriks cek paritas untuk kode linear dengan parameter

[

n+1,k+1,d

]

. Banyaknya vektor-vektor tak-

Gambar

Gambar 1. Proses koding untuk suatu pesan.
Gambar 3. Contoh informasi yang gagal terkirim.
Tabel 1. Tabel kebenaran untuk sifat asosiatif pada operasi xor
Tabel 2. Perbandingan komputasi antara dua representasi data

Referensi

Dokumen terkait

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