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
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
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.
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 nq
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
(
d−i)
2, 3,...,
i= s s=min
{
d−1,k}
(
d− ≤1)
r(
T | r)
H = B I G=
(
Ik|B)
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
© 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
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
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.
:
.
Untuk Ayahanda, Ibunda,
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
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.
.
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
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
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
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]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
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.
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
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 takkosong 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 uv. u v+ = +v u
vi.
λ
⋅ ∈v Vvii. λ⋅ +
(
u v)
= ⋅ + ⋅λ u λ vviii.
( )
λμ ⋅ =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 u … u u ∈F . Misalkan pula V =
(
v v1, 2,…,vn)
∈Fqn,(
1, 2, ,)
n
n q
W = w w … w ∈F , dan
λ
∈Fq. Maka penjumlahan vektor di n q8
didefinisikan sebagai U+W =
(
v1+w v1, 2+w2,…,vn+wn)
∈Fq, sedangkanperkalian 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,
λ
i∈Fq sembarang, maka1 1u 2u2 rur
λ +λ +…+λ merupakan kombinasi linear dari u u1, 2,…,ur∈V .
(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 jika1 1v 2v2 rvr 0
λ +λ +…+λ = mengakibatkan λ1 =λ2 =…=λr =0, dan tak bebas
linear jika ada λi ≠0 yang mengakibatkan λ1 1v +λ2v2+…+λrvr =0.
(Ling & Xing, 2004)
2.1.7 Definisi: Rentang Linear
Misalkan V merupakan ruang vektor atas Fq dan S =
{
v v1, 2,…,vk}
9
sebagai S =
{
λ1 1v +λ2 2v +…+λkvk;λi∈Fq}
. Jika S= ∅, didefinisikan{ }
0S = .
(Ling & Xing, 2004)
2.1.8 Definisi: Basis
Misalkan V merupakan ruang vektor atas Fq. Himpunan tak kosong
{
1, 2, , k}
B= v v … v dari V dikatakan basis untuk V jika V = B dan
B
bebaslinear.
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 w ∈F . 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×Fqn→Fqyang 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
u∈F jhj v=0.
iv. u v, =0 untuk semua v∈Fqn jhj u=0.
10
2.1.11 Definisi: Komplemen Orthogonal
Misalkan
(
1, 2, ,)
n,(
1, 2, ,)
nn q n q
V = v v … v ∈F W = w w … w ∈F .
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⊥ = v∈F 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 Cdidefinisikan sebagai ruang bagian dari ruang vektor n q
F . Kode linear C dengan
panjang
n
dan dimensi k sering dinamakan q−ary n k[ ]
, −code (kode lineardengan parameter
[ ]
n k, ). Jika jarak minimum d dari C diketahui, C dapatdisebut kode linear dengan parameter
[
n k d, ,]
. Atau biasa disebut kodelinear-[
n k d, ,]
. Untuk selanjutnya, jika parameter dari suatu kode tidak ditekankan, cukup disebutkan bahwa C adalah suatu kode linear. Anggota dari C disebutdengan kata kode.
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 qF , maka:
i. Banyaknya unsur di C = dim( )
dim( ) log C
q
C =q ↔ C = 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 C ⊆C⊥.
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 = .12
2.1.18 Definisi: Jarak Hamming (Hamming distance)
Diberikan ruang vektor n q
F atas lapangan Fq. Misalkan pula
x
dany
adalah anggota dari n q
F
(
x y, ∈Fqn)
. Jarak Hamming antarax
dany
yangdinotasikan 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
(
,)
10
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 y∈C x≠ y .
(Ling & Xing, 2004)
2.1.20 Definisi: Bobot Hamming (Hamming weight)
Diberikan ruang vektor n q
F . Misalkan pula
x
∈ n qF . 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 y∈F , maka
d x y
( , )
=
wt x y
(
−
)
.13
2.1.22 Lema 2
Misalkan diberikan bilangan prima
q
sembarang. Misalkan pula n qF suatu
ruang vektor atas Fq. Untuk sembarang , n q
x y∈F , berlaku
( )
( )
(
)
( )
( )
wt x +wt y ≥wt x+y ≥wt x −wt 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 darikata 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 denganelemen-elemen di Fq, yaitu A=
( )
aij , aij∈Fq. MatriksA
dikatakan dikenakan operasibaris 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.
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 jikaH
merupakan matriks generator bagi kode dual
C
⊥.(Ling & Xing, 2004)
2.1.28 Definisi: Bentuk standar dari
H
dan GDiberikan kode linear C. Misalkan
H
dan G , secara berturut-turut adalahmatriks cek paritas dan matriks generator untuk kode linear C.
i. Bentuk standar untuk matriks generator G adalah
(
Ik |X)
, denganMatriks 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 bagikode linear C, maka
i. d C
( )
(jarak minimum dari C) ≥d jika dan hanya jika d−1 kolomdari
H
saling bebas linear.ii. d C
( )
(jarak minimum dari C) ≤d jika dan hanya jika d kolomdari
H
saling bergantung linear.(Ling & Xing, 2004)
2.1.30 Teorema 6
Diberikan kode linear C. Jika G=
(
Ik |X)
adalah bentuk standar darimatriks generator untuk suatu kode C dengan parameter
[ ]
n k, , maka matriks cekparitas untuk kode C adalah H = −
(
XΤ|In k−)
.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 matriksgenerator untuk C. Misalkan pula
(
1, 2,...,)
kk q
u = u u u ∈F . Jika didefinisikan
1 1 2 2 ... k k
v=uG=u g +u g + +u g , karena n q
v∈F , 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
u∈F 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
16
ii. Untuk semua n q
u∈F , k
C+ =u C =q .
iii. Untuk semua , n q
u v∈F , 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 v∈F , 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, ,]
danH
adalah matriks cekparitas untuk C. Untuk sembarang n q
w∈F , sindrom dari w didefinisikan sebagai
( )
T n kq
S w =wH ∈F − .
17
2.3.2 Teorema 9
Misalkan C adalahkode linear−
[
n k d, ,]
, maka kode C dapat memperbaikigalat/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, ,]
danH
adalah matriks cek paritasuntuk C. Untuk sembarang , n q
u v∈F , 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 yangsama.
(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
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, prosespenambahan 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, ,]
, kodeyang baru C* memiliki parameter
[
1, , 1]
n− k 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 memilikikata kode dengan bobot ganjil dan genap. Kata kode dengan bobot ganjil dapat
dihapus untuk mendapatkan kode baru dengan parameter
[
n k, −1, 'd]
. Padaumumnya d'>d.
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 memilikikata 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) .
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 yangsebesar-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−D(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( )
(
l≤D n k, ≤u)
, artinya telah berhasil dikonstruksi kode dengan parameter[
n k d, , ≤l]
dan telah berhasil pula dibuktikan bahwa tidak ada kode denganparameter
[
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
( )
, , perludikonstruksi kode dengan parameter
[
n k l, , +1]
, sedangkan untuk perbaikan satulangkah batas atas dari fungsi D n k
( )
, sama dengan membuktikan bahwa tidak22
( )
,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 panjangkode (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 optimalkuat jika kode linear-
[
n k d, ,]
ada dan telah berhasil dibuktikan bahwa kodelinear-
[
n+1,k+1,d]
tidak ada, sedangkan suatu kode disebut optimal-D jikakode linear-
[
n k d, ,]
ada dan telah berhasil dibuktikan bahwa kodelinear-[
n k d, , +1]
tidak ada. Jika kode linear-[
n k d, ,]
ada dan telah berhasil dibuktikanbahwa 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 bahwakode 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
23
biner, yaitu kode yang ada dalam ruang vektor
F
2n. Pemilihan kasus cukup untukd 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 dapatdikonstruksi kode dengan parameter
[
n+1, ,k d+1]
dan setiap anggotanyaberbobot genap.
Bukti:
Misalkan telah dikonstruksi kode linear dengan parameter
[
n k d, ,]
, dengand 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, . MisalkanH
merupakanmatriks cek paritas untuk C. Dari definisi matriks cek paritas,
{
n| T 0}
q
C = x∈F Hx = , atau dengan kata lain, C=ker
( )
H . Hal ini karenabaris-baris dari matriks
H
merupakan basis untuk C⊥, komplemen orthogonal bagi C. Karena kode linear C merupakan kernel dari matriks cek paritasnya, makamengonstruksi 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 hanyajika ada r kolom dari
H
yang bebas linear tetapi tidak adar
+
1
kolom dariH
yang bebas linear (r adalah rank dari
H
).24
Diberikan kode linear C dengan panjang n. Didefinisikan r = n-k. Misalkan
H
adalah matriks cek paritas bagi kode linear C. Misalkan pula Gadalah 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 danhanya jika setiap d−1 kolom dari
H
yang bebas linear dan ada d kolom dariH
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 dariH
bebas linear.͏
3.2.3 Teorema 14: The Singleton Bound
Diberikan kode linear C. Jika C adalah kode dengan parameter
[
n k d, ,]
25
Bukti:
Misalkan diberikan kode linear C dengan parameter
[
n k d, ,]
, maka kodelinear 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 ketaksamaan1 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 bebaslinear dalam ruang vektor
F
2n k− . Jika ada vektorx F
∈
2n k− yang bukani
kombinasi linear dari vektor-vektor kolom
H
, untuk i=1, 2,...,d−2, maka(
1 2)
' n
H = c c … c x adalah matriks cek paritas untuk kode linear yang
memiliki parameter
[
n+1,k+1,d]
. Hal ini karenaH
'
berorde(
n k− × +) (
k 1)
dan setiap d−1 vektor dari
{
c c1, ,..., ,2 c xn}
adalah bebas linear dalam ruangvektor
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− , makaH
'
bukan matriks cek paritastak-26
nol dalam
F
2n k− yang mungkin dipilih untuk x adalah 2n k− −1, sedangkanbanyaknya kombinasi linear yang mungkin dari kolom-kolom
H
'
adalah1 2 2
n n n
d−
⎛ ⎞ ⎛ ⎞+ + +⎛ ⎞
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎝ ⎠ ⎝ ⎠ ⎝ ⎠. Dengan demikian, jika ada kode linear C dengan parameter
[
n k d, ,]
dan pertaksamaan1 2 2
1 n n n 2n k
d
− −
⎛ ⎞ ⎛ ⎞ ⎛ ⎞
+⎜ ⎟ ⎜ ⎟+ + +⎜ ⎟<
⎝ ⎠ ⎝ ⎠ ⎝ ⎠ berlaku, maka dapat
dikonstruksi kode baru dengan parameter
[
n+1,k+1,d]
berdasarkan kode linearC 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 darijumlah kata kode yang ada di C.
Bukti:
Misalkan
X
adalah himpunan kata kode yang memiliki unsur nol padakoordinat ke-
i
danY
adalah himpunan kata kode yang memiliki unsur satu padakoordinat ke-
i
, maka C= ∪X Y. Jika Y = ∅, maka C=X, sehingga tidak adakata kode yang memiliki unsur satu pada posisi ke-
i
. Namun demikian, jikaY≠ ∅, ambil c Y∈ sembarang, karena c Y+ ⊆ X , maka Y ≤ X . Selanjutnya,
karena c+X ⊆Y , maka X ≤Y . 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 kodelinear dengan parameter
[
n−1, ,k d−1]
, di di manamana d>1.ii. Jika ada kode linear dengan parameter
[
n k d, ,]
, maka ada kode27
iii. Jika ada kode linear dengan parameter
[
n k d, ,]
, maka ada kodelinear dengan parameter
[
n k, −1,d]
, di mana k>1.iv. Jika ada kode linear dengan parameter
[
n k d, ,]
, maka ada kodelinear dengan parameter
[
n−1,k−1,d]
, di mana k>1.Bukti:
i. Misalkan C adalah kode linear dengan parameter
[
n k d, ,]
dengan1
d> . Karena C memiliki jarak minimal d, maka ada kata kode
c C∈ dimana wt c
( )
=wt C( )
=d. Misalkan kata kode c memilikiunsur satu pada koordinat ke-
i
. Dengan menghapus unsur ke-i
padasemua 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
( )
1wt 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 Gsehingga membentuk matriks G' yang berukuran k× +
(
n 1)
. Karenayang 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, ,]
dengan1
k> . Karena C memiliki jarak minimal d, maka ada kata kode
c C∈ di mana wt c
( )
=wt C( )
=d. Misalkan Gk n× adalah matriks28
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, ,]
dengan1
k> . Karena C memiliki jarak minimal d, maka ada kata kode
c C∈ di mana wt c
( )
=wt C( )
=d. Misalkan G danH
adalahmatriks 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 Cmemiliki unsur nol pada koordinat ke-
i
, sedangkan kasus keduatidak semua kata kode memiliki unsur nol pada koordinat ke-
i
. Jikakasus pertama yang terjadi, maka koordinat ke-
i
pada semua katakode 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 padakoordinat ke-
i
, maka berdasarkan Lema 3, setengah dari kata kodeyang ada di C memiliki unsur satu pada koordinat ke-
i
. Denganmenghapus koordinat ke-
i
pada setiap kata kode yang ada di C,akan diperoleh kodeC' yang meniliki panjang
(
n−1)
. Misalkan katakode c berubah menjadi c', karena yang dihapus pada koordinat
29
Selanjutnya dengan menghapus satu baris dari matriks generator
untuk kode dengan parameter
[
n−1, ,k d]
tersebut, akan diperolehkode 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' denganparameter
[
n k, +1,d]
. Karena ada kode C' ada, maka dari Proposisi1 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' denganparameter
[
n k d, , +1]
. Karena kode C' ada, maka dari Proposisi 1bagian i, akan ada kode linear dengan parameter
[
n−1, ,k d]
. Hal inikontradiksi dengan fakta bahwa kode C optimal-N.
iii. Dari Tabel Brouwer, ada kode dengan parameter
[
13,9,3]
dan tidakada kode dengan parameter
[
13,10,3]
. Tetapi kode dengan30
iv. Dari Tabel Brouwer, ada kode dengan parameter
[
14,7,4]
dan tidakada 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 tidakada 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 tidakada 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 tidakada 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 dilandasan teori, cukup dikonstruksi bentuk standar dari
H
, yaitu(
T)
| rH = 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
31
Teorema 16
Jika matriks
B
berukuran k r× dikonstruksi berdasarkan sifat sebagaiberikut.
1. Semua vektor baris dari
B
berbeda, dan2. Jumlah setiap
i
vektor baris dariB
berbobot paling sedikit(
d−i)
untuk2, 3,...,
i= s di mana s=min
{
d−1,k}
, dan(
d− ≤1)
r,maka
(
T |)
rH = 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× sebagaimanadisyaratkan teorema. Akan ditunjukkan bahwa H =
(
Bt|Ir)
merupakan matrikscek paritas untuk kode linear C dengan parameter
[
k+r k, ,≥d]
.Karena
H
berukuran r× +(
k r)
, maka C memiliki panjang k+r. Karenajumlah 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 pesandengan wt v
( )
m =i dan vc adalah vektor cek dengan wt v( )
c = j, maka berlaku( )
ci+ < ⇔ < − ⇒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