Algoritme Konstruksi HASIL DAN PEMBAHASAN

dituliskan v = v m, v c dimana v m vektor pesan dengan wt v m = i dan v c vektor cek dengan wt vc = j, maka berlaku i + j d j d - i wt v c d – i i dan Hv T = 0 T B T | I r = 0 T B T + I r = 0 T B T = ii Karena wtv m = i, dan berdasarkan syarat 2 dari konstruksi B, maka wtB T d – i. iii Dari ekspresi i, ii, dan iii menunjukkan suatu kontradiksi sehingga dapat disimpulkan bahwa C berbobot minimum d atau dengan kata lain C memiliki jarak minimum d. Dengan demikian, mengkonstruksi kode C[k+r, k, d] berdasarkan teorema 3.3.1 berarti mengkonstruksi matriks generato y rn a, G = | cukup dengan mengkonstruksi matriks B berukuran k r yang memenuhi sifat- sifat: semua vektor baris dari B berbeda dan jumlah setiap i vektor baris dari B berbobot paling sedikit d – i, untuk i =1, 2, …, s dimana s = min{d – 1, k} dan d – 1 r. Begitu kode linear C [ n, k, d ] telah terkonstruksi, langkah berikutnya adalah mendefinisikan himpunan V yang beranggotakan semua vektor baris dari B dan semua vektor sebagai hasil jumlah i vektor baris dari B untuk i = 2,3,…s dimana s = min {d-1, k}. Maka jelaslah bahwa V . Jika V ≠ , maka ada vektor dan x yang bisa ditambahkan ke baris matriks B untuk mendefinisikan matriks yang berukuran k+1 r dan matriks cek paritas H’ = T | akan mendefinisikan kode dengan parameter [n+1, k+1 , d]. Pada penelitian ini strategi konstruksi kode [n +1, k + 1, d] memenuhi teorema Gilbert- Varshamov bound. Proses ekstensi kode dari [n, k , d] ke [ n+1, k+1, d ] dilakukan tahap demi tahap sampai diperoleh suatu kode C dengan parameter [ n’ , k’ ,d ] yang sudah tidak bisa diperluas lagi. Ketika diperoleh informasi bahwa telah dibuktikan bahwa kode dengan parameter [ n +1, k +1, d ] tidak ada, maka C merupakan kode optimal kuat yang telah berhasil dikonstruksi. Akan tetapi, ketika diperoleh informasi bahwa ada kode dengan parameter [ n +1, k +1, d ], berarti kode optimal kuat gagal dikonstruksi. Dalam hal ini, harus dilakukan rekonstruksi dengan strategi memilih kode dasar [n , k , d ] lain yang berpeluang besar dapat diperluas menjadi kode optimal kuat C. Pemilihan kode dasar yang baik memerlukan eksplorasi yang baik yang bersifat teoritik maupun komputatif. Selanjutnya keberhasilan konstruksi kode optimal kuat C dapat digunakan sebagai kode dasar untuk diperluas menjadi kode kode optimal kuat berikutnya dengan strategi yang sama. Algoritme konstruksi kode ini juga berlaku untuk kode linear biner berjarak minimum bilangan genap berdasarkan sifat dari kode linear yang menyatakan bahwa jika kode dengan parameter [n, k, d] ada untuk d ganjil, maka dapat dikonstruksi kode dengan parameter [ n + 1, k, d + 1] dan setiap anggotanya berbobot genap Williams Sloane 1981. Keberhasilan konstruksi kode optimal kuat sangat dipengaruhi oleh metode komputasi yang digunakan. Berikut ini dideskripsikan pembangunan metode komputasi yang digunakan dalam penelitian ini. 1 Membangun fungsi-fungsi aljabar matriks biner. Hal pertama yang dilakukan adalah mempresentasikan ruang vektor biner sebagai himpunan kuasa dari S n = { 0, 1, 2, …,n-1 }. Ini berarti sembarang vektor biner dengan panjang n secara komputasi merupakan subhimpunan dari . Operasi jumlah dua vektor berarti selisih simetrik dua himpunan. Produk dalam dua vektor berarti irisan dua himpunan. adalah keluarga semua himpunan dari subhimpunan S merupakan grup terhadap selisih simetrik. Jika S ={0, 1, 2, 3} maka . {0, 2} isomorfik dengan 1, 0, 1, 0, { } isomorfik dengan 0, 0, 0 dan {0, 1, 2, 3} isomrfik dengan 1,

1, 1.Dengan demikian, matriks biner A berordo n x p dapat dipandang

sebagai list dari sebanyak p subhimpunan dari S n. . Matriks A = 1 1 1 dapat dinyatakan dengan A =[3, [{0, 2}, {2}]]. Dari dua konsep dasar ini kemudian dibangun fungsi dasar aljabar matriks, seperti: jumlah, kali, transpose, operasi baris dasar, pencarian matriks kanonik dan lainnya. Implementasinya menggunakan software MAPLE. 2. Membangun prosedur untuk pelacakan kode optimal. Didefinisikan matriks generator G = I k | B , misalkan M matriks representasi vektor baris dari B. Kemudian didefinisikan fungsi berikut: KombinM menentukan list semua kombinasi j vektor dari vektor-vektor M representasi baris untuk suatu nilai j = 1,2,…, k. ListKombM menentukan list dari semua list KombinM untuk semua j = 1,2,3,…,t degan t = min {k, d-1 }. UjiAdd1VekM menguji apakah vektor X bisa ditambahkan ke M, menggunakan ListkombM. Misal sudah ada matriks M = 1 1 1 1 1 1 maka didapat list semua kombinasi j vektor L = {1 0 0, 1 1 0, 1 1 1}, {0 1 0, 0 1 1,0 0 1},{1 0 1}. Kemudian diuji apakah satu vektor X bisa ditambahkan ke M Jika hamming distance d – 1 – i.maka tidak terpenuhi. Jika selain itu berarti vektor X bisa ditambahkan ke matriks Lacak1VekM melacak satu vektor baris X dalam yang bisa ditambahkan ke M berdasarkan Gilbert-Varshamov, menggunakan UjiAdd1VekM. Ilustrasi ada matriks B = 1 1 1 1 1 1 1 1 1 1 kemudian dicatat berapa banyak angka 1 dan berapa angka 0. Misalkan V baris ke-1, banyak angka 1 = v dan W baris ke-2. Cari vektor-vektor X yang berjarak j= d – 2 sampai batas yang ditentukan. Tanpa mengurangi keumuman maka V diset yang rapi. Jika v + j – 2 i d – 1 maka ambil anggota V sebanyak v – i, dan ambil anggota W sebanyak j – 1. Maka gabungan dari anggota V dan W yang telah dipilih akan didapat vektor X. Kolek1VekM menentukan himpunan semua vektor baris X yang bisa ditambahkan ke M, menggunakan UjiAdd1VekM. Untuk Kolek1VekM cara kerjanya hamper sama dengan UjiAdd1VekM kalau sudah dapat satu vektor selesai, tetapi Kolek1VekM mencari semua kemungkinan dan menghimpunnya. ReduEki1 membuang anggota out put Kolek1VekM dan menyisakan vektor- vektor yang menghasilkan matriks-matriks yang tidak saling ekivalen jika ditambahkan ke M. Misalkan H adalah out put Kolek1VekM, setiap pasangan vektor X, Y anggota H akan menghasilkan vektor Z = X+Y. Agar dua vektor X dan Y bisa ditambahkan langsung ke matriks M, maka Z diuji dengan prosedur UjiAdd2VekM berdasarkan out put ListkombM. Kolek2VekM menentukan semua pasang X, Y dalam yang bisa ditambahkan ke M berdasarkan teorema 4, menggunakan UjiAdd2VekM. Kolek2VekMDt menentukan semua pasang X, Y menggunakan data hasil sebelumnya. ReduEkiX membuang anggota out put Kolek2vekM dan menyisakan vektor-vektor yang menghasilkan matriks-matriks tidak saling ekivalen jika ditambahkan ke matriks M. Misalkan H adalah out put Kolek2VekM , setiap pasangan vektor X, Y,Z anggota H akan menghasilkan vektor W = X + Y + Z agar tiga vektor X, Y dan Z bisa ditambahkan langsung ke matriks M maka diuji dengan uji AddVek3M berdasarkan out put ListKombM. Selanjutnya secara induksi agar X vektor bisa ditambahkan langsung ke M, maka diuji dengan prosedur UjiAddXVekM menggunakan out put KolekX-1VekM dan berdasarkan out put ListKombM. Program lengkapnya dapat dilihat pada Lampiran 2. 3. Konstruksi kode optimal kuat dengan jarak minimum d = 5 dan d = 7 Mengkonstruksi matriks cek paritas dalam hal ini matriks B dan melakukan perluasan terhadap matriks tersebut. Bagaimana proses lengkapnya akan dijelaskan pada sub bab hasil eksplorasi.

3.4 Hasil Eksplorasi .

Berikut ini akan diilustrasikan konstruksi kode optimal kuat untuk kasus d =5 dan d= 7. Untuk kasus double error correcting d = 5 , berdasarkan tabel Brouwer kode-kode optimal kuat mempunyai parameter terurut dari dimensi rendah: [8, 2, 5], [11, 4, 5], [17, 9, 5], [23, 14, 5], [31, 21, 5] dan [33, 23, 5], sedangkan kode optimal kuat untuk k 23 merupakan open problem. Akan dijelaskan bagaimana metode dan strategi diatas diterapkan untuk mengkonstruksi kode- kode tersebut. Dimulai dari kode [8, 2, 5], dikonstruksi dengan mendefinisikan matriks B berukuran 2 6 berikut B = 1 1 1 1 1 1 1 1 . Matriks ini kemudian dipakai sebagai matriks dasar untuk diperluas menjadi matriks ′ berordo 4 7 yang mendefinisikan kode optimal kuat [11, 4, 5]. Proses perluasan dari B ke ′ dilakukan dengan menambah satu kolom nol pada B, dilanjutkan menambah dua vektor 7 bit yang memenuhi syarat strategi. Tanpa memperhatikan relasi ekivalensi, hasil eksplorasi komputatif menunjukkan ada 108 macam ′ , salah satunya = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Dengan langkah yang sama diperluas ke berordo 9 8 yang mendefinisikan kode optimal kuat [17, 9, 5]. Tanpa memperhatikan relasi ekivalensi, hasil eksplorasi komputatif menunjukkan ada 144 macam , salah satunya = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Percobaan untuk memperluas ke untuk mendapatkan kode optimal kuat [23, 14, 5] adalah gagal. Dalam hal ini hanya mampu diperluas ke lebih dari 872 kode optimal-D [22, 13, 5]. Namun demikian, strategi rekonstruksi berhasil mendefinisikan 3 kode optimal kuat [23, 14, 5] yang salah satunya direpresentasikan oleh matriks berordo 14 9 berikut