BAB IV HASIL DAN PEMBAHASAN - repository.ipb.ac.id · BAB IV . HASIL DAN PEMBAHASAN . Pada BAB IV...
Transcript of BAB IV HASIL DAN PEMBAHASAN - repository.ipb.ac.id · BAB IV . HASIL DAN PEMBAHASAN . Pada BAB IV...
BAB IV
HASIL DAN PEMBAHASAN
Pada BAB IV ini dibahas tentang permasalahan sebagai berikut: Kajian
Teori yang digunakan dalam penelitian, Membahas Aritmetik Aljabar Matriks,
Program-program Aritmetik Aljabar Matriks Biner, Program-program Pelacakan
Kode Optimal Kuat, Algoritme Konstruksi kode optimal kuat, dan Konstruksi
Kode Optimal Kuat Dengan Jarak Minimum 13 dan 15.
Kajian Teori
Diberikan kode linear C dengan parameter [n, k, d]. Misalkan H merupakan
matriks cek paritas untuk C. Dari definisi matriks cekparitas
C = , atau dengan kata lain C adalah himpunan solusi dari SPL
H = 0 ( C disebut dengan kernel H) . Hal ini karena baris-baris dari matriks H
merupakan basis untuk , komplemen orthogonal bagi C.
Karena kode linear C merupakan kernel dari matriks cek paritasnya, maka
mengkonstruksi suatu kode linear C sama dengan mengkonstruksi matriks cek
paritasnya. Berikut ini adalah teorema yang berkaitan dengan konstruksi kode
linear biner optimal kuat.
Teorema 6 (The Gilbert-Varshamov bound)
Diberikan kode linear C dengan parameter [n, k, d]. Jika ketaksamaan
1 + + + + < berlaku maka dapat dikonstruksi kode
dengan parameter [n+1, k+1, d].
Bukti :
Misal diberikan kode linear yang memiliki parameter [n, k, d]. Berdasarkan
Teorema 7, ada matriks cek paritas berordo (n – k) n, yaitu H =
yang setiap d – 1 vektor dari adalah bebas linear dalam ruang
vektor . Jika ada vektor x yang bukan i kombinasi linear dari
vektor-vektor kolom H, untuk i = 1,2,…,d – 2 , maka = adalah
matriks cek paritas untuk kode linear yang memiliki parameter [n + 1, k + 1, d].
22 Hal ini karena berordo (n – k ) ( k + 1) dan setiap d – 1 vektor dari
adalah bebas linear dalam ruang vektor .
Jika banyaknya kombinasi linear yang mungkin dari kolom-kolom
sehingga tidak ada d – 1 kolom yang bergantung linear lebih besar atau sama
dengan jumlah vektor tak nol dalam , maka bukan matriks cek paritas
untuk kode linear dengan parameter [n + 1, k + 1, d]. Banyaknya vektor-vektor tan
nol dalam yang mungkin dipilih untuk x adalah . Sedangkan
banyaknya kombinasi linear yang mungkin dari kolom-kolom adalah
+ + … + , sehingga jika ada kode linear C dengan parameter
[n, k, d], dan persamaan 1 + + + … + < berlaku, maka
dapat dikonstruksi kode baru dengan parameter [n + 1, k + 1, d] berdasarkan kode
linear C tersebut.
Teorema 7
Diberikan kode linear C dengan panjang n. Jika H adalah matriks cek paritas
dari suatu kode dengan panjang n, maka kode tersebut mempunyai dimensi
(n – r) jika dan hanya jika ada r kolom dari H yang bebas linear tetapi tidak ada
r + 1 kolom dari H yang bebas linear (r adalah rank dari H).
Bukti:
Diberikan kode linear C dengan panjang n. 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.
Teorema 8
Diberikan kode linear C dengan panjang n. Jika H adalah matriks cek paritas
dari suatu kode dengan panjang n maka kode tersebut mempunyai jarak minimum
d jika dan hanya jika setiap d – 1 kolom dari H yang bebas linear dan ada d kolom
dari H yang tidak bebas linear.
23 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 sarat berikut terpenuhi
i. Ada vektor v ϵ dengan wt (v) = d sehingga =
ii. untuk setiap w ϵ dengan wt (w) < d. (jika =
maka w ϵ C. Kontradiksi dengan fakta bahwa wt (w) < d).
Disisi lain, kedua sarat 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 yang bebas
linear.
Teorema 9 (The Singleton bound)
Diberikan kode linear C. Jika C adalah kode dengan parameter [n, k, d]
maka (n – k) (d – 1).
Bukti :
Misal diberikan kode kode linear C dengan parameter [n, k, d], maka kode
linear C memiliki matriks cek paritas H berukuran (n – k) x n, sehingga
rank (H) ≤ (n – k). Dari teorema 7, matriks H memiliki d – 1 kolom yang bebas
linear. Sehingga rank (H) = (d – 1), dengan kata lain (d – 1) ≤ (d – k).
Mengonstruksi suatu kode, sama artinya dengan mengonstruksi matriks cek
paritas H. Berdasarkan teorema-teorema yang telah disebutkan di landasan teori,
maka cukup dikonstruksi bentuk standar dari H, yaitu H = . Dan atas
pertimbangan efisiensi komputasi, cukup dikonstruksi matriks B berukuran k r.
Dari teorema Gilbert-Vashamov diturunkan suatu teorema baru yaitu Teorema 10.
Dalam tulisan ini konstruksi kode linear biner optimal kuat dilakukan atas
dasar Teorema 10 berikut ini.
Teorema 10
Jika matriks B berukuran k r dikonstruksi berdasarkan sifat-sifat sebagai
berikut :
1. Semua vektor baris dari B berbeda, dan
2. Jumlah setiap i vektor baris dari B berbobot paling sedikit (d – i) untuk
i = 2, 3, …, s dimana s = min {d – 1 , k}, dan (d – 1) ≤ r,
24 maka H = dan G = secara berturut-turut merupakan matriks
cek paritas dan matriks generator untuk kode linear C dengan parameter
[k + r , k, ≥ d].
Bukti :
Misalkan telah dikonstruksi matriks B berukuran k r sebagaimana
disyaratkan teorema. Akan ditunjukan bahwa H = merupakan
matriks cek paritas untuk kode linear C dengan parameter [k + r , k, ≥ d].
Karena H berukuran r (k + r), maka C memiliki panjang k + r. Karena
jumlah baris matriks B sama dengan k, maka kode linear C berdimensi k.
Selanjutnya akan ditunjukan bahwa kode linear C memiliki jarak
minimum ≥ d. Andaikan ada v C dengan wt < d dan ditulis
v = dimana merupakan vektor pesan dengan wt = i dan
adalah vektor cek dengan wt = j , maka berlaku
i + j < d d – i wt < d – i ( 1.1 )
dan
H = = + = = ( 1.2 )
Karena wt = i , dan berdasarkan sifat 2 dari Teorema 10, maka
wt ≥ d – i ( 1.3 )
Dari persamaan 1.2 diperoleh bahwa = , sehingga persamaan 1.3
ekivalen dengan wt ≥ d – i. Hal ini kontradiksi dengan persamaan 1.1.
Sehingga dapat disimpulkan bahwa kode linear C memiliki jarak
minimum ≥ d.
Dari Teorema 10 , mengonstruksi kode linear C [k + r , k, ≥ d] sama artinya
dengan mengonstruksi matriks B yang berukuran k r yang semua baris dari B
berbeda dan jumlah setiap i vektor baris dari B berbobot paling sedikit (d – i),
untuk i = 2, 3, …, s dengan s = min { d – 1 , k }, dan (d – 1) < r.
Membahas Aritmetik Aljabar Matriks
Untuk kepentingan efisiensi komputasi maka data pada penelitian ini
disajikan dalam representasi himpunan. Sebelum melakukan eksplorasi untuk
mengonstruksi kode optimal kuat maka kita perlu melakukan pendefinisian data
25 yang kita gunakan dalam representasi himpunan. Adapun langkah-langkah yang
dilakukan dalam membangun aritmetik aljabar matriks mengacu pada tesis
Putranto HU (2011).
Langkah-langkah untuk membangun aritmetik aljabar matriks adalah sebagai
berikut:
a. Mendefinisikan Ruang Vektor Biner sebagai himpunan Kuasa
(power set) dari = {0, 1, 2, …., n – 1}.
Dalam penelitian ini sembarang vektor biner dengan panjang n secara
komputasi merupakan subhimpunan dari , sedangkan operasi jumlah
dari dua vektor diartikan sebagai selisih simetrik dari dua himpunan, dan
produk dalam dari dua vektor dipandang sebagai irisan dari dua
himpunan. Pada penelitian ini matriks biner A berordo n p kita pandang
sebagai list dari sebanyak p subhimpunan dari .
b. Mendefinisikan matriks sebagai list (daftar) dari sejumlah anggota .
Sebagai contoh :
* Jika A =
Ini artinya bahwa =
* B =
Artinya =
Program-program Aritmetik Aljabar Matriks Biner
Sebelum melakukan pelacakan kode optimal kuat terlebih dahulu kita
membangun aritmetik aljabar matriks dengan menggunakan program-program
yang mengacu pada tesis Putranto HU (2011). Rincian program-program ada di
Lampiran B.
Berikut ini adalah program-program yang digunakan :
26
a. AcakSet yaitu suatu program yang digunakan untuk membangkitkan
vektor dalam ruang berdimensi n secara acak.
b. Addv yaitu suatu program yang digunaakan untuk menjumlahkan dua
vektor.
c. MtxSetC yaitu program untuk mendefinisikan matriks kolom biner
berordo m n secara acak, dimana m adalah ukuran vektor baris dan n
adalah banyaknya vektor kolom dalam matriks.
d. MtxSetC1 yaitu program yang mendefinisikan matriks kolom biner
berordo m n secara acak, tidak vektor kolom yang nol. Dalam hal ini
m adalah panjang vektor dan n adalah banyaknya vektor kolom dalam
matriks.
e. UbahMtxCR yaitu program yang mengubah tampilan matriks kolom
ke matriks baris berukuran n m.
f. TrpsC yaitu suatu program yang digunakan untuk menentukan
transpose matriks kolom berordo m n menghasilkan matriks kolom
berordo n m.
g. TukarR yaitu suatu program yang digunakan untuk menukar baris ke-
i dan ke-j dalam matriks kolom berordo m n, dimana 0 ≤ i,
j ≤ m – 1.
h. GantiB yaitu suatu program yang digunakan untuk mengganti baris
ke-j dengan bris ke-i ditambah baris ke-j dalam matriks kolom berordo
m x n, dimana 0 ≤ i, j ≤ m – 1.
i. KanonC yaitu suatu program yang digunakan untuk menentukan
bentuk kanonik matriks kolom berordo m n , dimana m ≤ n.
j. AddMtx yaitu program yang digunakan untuk menjumlahkan dua
matriks.
k. DotV yaitu program untuk menentukan produk titik dari dua vektor.
l. MultMtx yaitu program untuk mengalikan matriks kolom m n
dengan matriks kolom n p.
m. InkodG yaitu program yang digunakan untuk mengkoding vektor
pesan P menjadi vektor katakode C menggunakan matriks generator
umum G berordo k n.
27
n. ParG yaitu program untuk menentukan vektor paritas X dari vektor
pesan P menggunakan matriks generator bentuk standar G = ,
dalam hal ini P dan B menjadi input, dan X adalah output. Vektor
C = adalah katakode dari pesan P.
o. InkodS yaitu program yang digunakan untuk mengkoding vektor
pesan P menjadi vektor katakode C menggunakan matriks generator
bentuk standar G = , dalam hal ini P dan B menjadi input.
p. HmDist yaitu suatu program untuk menentukan jarak hamming dari
dua vektor.
q. NonZeroWt yaitu suatu program untuk menentukanbobot tak- nol
dari suatu kode yang direpresentasikan oleh matriks generator G.
Program-program Pelacakan Kode Optimal Kuat
Untuk mengonstruksi kode optimal kuat digunakan program-program
pelacakan kode optimal kuat yang mengacu pada tesis Putranto HU (2011),
sedangkan rincian lengkap dari program-program ada di Lampiran C.
Program-program yang digunakan adalah sebagai berikut :
1. Diberikan matriks generator dalam bentuk standar G = .
2. Misalkan M adalah matriks representasi vektor baris dari B.
3. Menentukan list semua kombinasi j vektor dari vektor-vektor M
(representasi baris) untuk suatu nilai j=1,2,3,…..,k (dengan program
KombinM)
4. Menambah satu baris vektor v ke matriks M (representasi baris) di posisi
terahir (dengan program AddVekM).
5. Menghapus baris ke-i pada matriks M (representasi kolom) dengan
program DelVekM.
6. Menentukan list dari semua list kombinasi M untuk semua j=1,2,3,…..,t
dengan t = min{k,d-1}dengan program ListKombM.
7. Menguji apakah vektor x bisa ditambahkan ke M menggunakan output
ListKombM dengan program UjiAdd1VekM.
28
8. Melacak satu vektor baris x dalam yang bisa ditambahkan ke M
berlandaskan teorema Gilbert-Vashamov dengan program
Lacak1VekM. Prosedur ini menggunakan program UjiAdd1VekM.
9. Menentukan himpunan semua vektor baris x dalam yang bisa
ditambahkan ke M berdasarkan teorema Gilbert-Vashamov dengan
program Kolek1VekM. Prosedur ini menggunakan UjiAdd1VekM.
10. Membuang anggota output dari Kolek1VekM dan menyisakan vektor-
vektor yang menghasilkan matriks-matriks yang tidak saling ekivalen
jika ditambahkan ke M dengan program ReduEkil.
11. Misalkan himpunan H adalah output Kolek1VekM, maka setiap pasang
vektor (x, y) anggota H akan menghasilkan vektor z = x + y. Agar dua
vektor x dan y dapat ditambahkan langsung ke matriks M, maka z diuji
dengan prosedur UjiAdd2VekM berdasarkan output ListKombM.
12. Menentukan himpunan semua pasang (x, y) dalam yang bisa
ditambahkan ke M berdasarkan teorema Gilbert-Vashamov dengan
program Kolek2VekM. Prosedur ini menggunakan UjiAdd2VekM.
13. Menentukan himpunan semua pasang (x, y) menggunakan data hasil
sebelumnya dengan program Kolek2VekMDt.
14. Membuang anggota output Kolek2VekM dan menyisakan vektor-vektor
yang menghasilkan matriks-matriks yang tidak saling ekivalen jika
ditambahkan ke M dengan program ReduEkiX.
15. Misalkan himpunan H adalah output Kolek2VekM, maka setiap 3
vektor (x, y, z) anggota H akan menghasilkan vektor w = x + y + z,
agar tiga vektor x, y dan z dapat ditambahkan langsung ke matriks M,
maka W diuji dengan prosedur UjiAdd3VekM berdasarkan output
ListKombM.
16. Menentukan himpunan semua pasang (x, y, z) dalam yang dapat
ditambahkan ke M berdasarkan teorema Gilbert-Vashamov
menggunakan program Kolek3VekM. Prosedur ini menggunakan
program UjiAdd3VekM.
17. Menentukan himpunan semua pasang (x, y, z) menggunakan data hasil
sebelumnya dengan program Kolek3VekMDt.
29
18. Misalkan himpunan H adalah output Kolek3VekM, maka setiap 4
vektor (x, y, z, w) anggota H akan menghasilkan vektor v = w + x +
y + z, agar empat vektor x, y, z dan w dapat ditambahkan langsung ke
matriks M, maka v diuji dengan prosedur UjiAdd4VekM berdasarkan
output ListKombM.
19. Menentukan himpunan semua pasang (x, y, z, w) dalam yang dapat
ditambahkan ke M berdasarkan teorema Gilbert-Vashamov dengan
program Kolek4VekM. Prosedur ini menggunakan UjiAdd4VekM.
20. Menentukan himpunan semua pasang (x, y, z, w) menggunakan data
hasil sebelumnya dengan program Kolek4VekMDt.
21. Misalkan himpunan H adalah output Kolek4VekM, maka setiap lima
vektor (x, y, z, v, w) anggota H akan menghasilkan vektor u = w + v +
x + y + z, agar lima vektor x, y, z, v dan w dapat ditambahkan langsung
ke matriks M, maka u diuji dengan prosedur UjiAdd5VekM
berdasarkan output ListKombM.
22. Menentukan himpunan semua pasang (x, y, z, v, w) dalam yang dapat
ditambahkan ke M berdasarkan teorema Gilbert-Vashamov dengan
program Kolek5VekM. Prosedur ini menggunakan UjiAdd5VekM.
23. Menentukan himpunan semua pasang (x, y, z, v, w) menggunakan hasil
data sebelumnya dengan program Kolek5VekMDt.
24. Misalkan himpunan H adalah output dari Kolek(X-1)VekM, maka
setiap x vektor anggota H akan menghasilkan jumlah. Agar x vektor ini
dapat ditambahkan langsung ke matriks M, maka diuji dengan prosedur
UjiAddXVekM berdasarkan output ListKombM.
25. Menentukan himpunan semua x vektor yang dapat ditambahkan ke M
berdasarkan teorema Gilbert-Vashamov dengan program KolekXVekM.
Prosedur ini menggunakan UjiAddXVekM.
26. Menentukan himpunan semua pasang x vektor menggunakan data hasil
sebelumnya dengan program KolekXVekMDt.
30 Algoritme Konstruksi Kode Optimal Kuat
Dalam mengonstruksi kode optimal kuat digunakan algoritme-algoritme
yang mengacu pada tesis Putranto HU (2011), sedangkan rincian program
konstruksi ada di Lampiran D.
Berikut ini adalah algoritme-algoritme yang digunakan:
Algoritme 1 untuk mengkonstruksi kode optimal kuat adalah sebagai
berikut:
1. Masukan bentuk standar dari matriks H yaitu H =
Untuk mempertimbangkan efisiensi komputasi maka kita cukup
memasukan matriks B berukuran k r yang memenuhi sifst-sifat:
a. Vektor-vektor dari B berbobot paling sedikit ( d-1 ).
b. Jumlah setiap i-vektor baris dari B berbobot paling sedikit ( d-1 )
untuk i = 2, 3, …..s, dimana s = min { d-1, k }.
2. Eksplorasi matriks B dengan cara:
a. Menambahkan beberapa matriks kolom nol pada B sesuai dengan
yang diinginkan.
b. Menentukan list dari semua list kombinasi j vektor dari vektor-
vektor M (representasi baris) untuk semua j = 1, 2, 3,…, t dengan
t = min{k, d - 1}
c. Mengkoleksi semua vektor baris X dalam yang bisa ditambahkan ke
M berdasarkan teorema Gilbert-Vashamov.
3. Print salah satu kode optimal kuat hasil eksplorasi.
Dalam melakukan eksplorasi terhadap matriks B ini dilakukan secara
bertahap. Pada langkah 2a matriks kolom yang ditambahkan pada B adalah
matriks kolom nol dan penambahannya bisa satu kolom, dua kolom, tiga kolom,
dan seterusnya tergantung dengan kebutuhan. Pada langkah 2b menentukan semua
list dari peningkatan dimensi yang dapat dilakukan maksimal sama dengan
dimensi dari matriks yang akan diubah. Sebagai contoh jika matriks B yang akan
ditingkatkan dimensinya berukuran k r, maka matriks B ini hanya dapat
ditingkatkan maksimal sebanyak k dimensi. Pada langkah 2c mengoleksi vektor
baris x dalam yang dapat ditambahkan pada M berdasarkan teorema Gilbert-
Vashamov. Maksudnya adalah untuk meningkatkan dimensi dari matriks dasar.
31 Dimulai dengan meningkatkan satu dimensi, dua dimensi, tiga dimensi, empat
dimensi, lima dimensi dan seterusnya. Adapun algoritma yang digunakan adalah
sebagai berikut :
Algoritme 2 : mencari satu vektor x dalam yang dapat ditambahkan ke B
berdasarkan teorema Gilbert-Vashamov
1. Input vektor x ϵ
2. Bobot vektor x + sedemikian sehingga wt (X + ) ≥ d – 1 – i,
dengan adalah anggota dari semua kombinasi i-vektor baris di B
untuk i = 1,2,3,…t, dan t = min {d – 1, k}.
3. Jika x lulus uji lanjutkan langkah 4.
4. Print satu vektor yang dapat ditambahkan ke dalam matriks B.
Algoritme 3 : mencari dua vektor x dan y yang dapat ditambahkan ke dalam
matriks B berdasarkan teorema Gilbert-Vashamov.
1. Input adalah koleksi dari himpunan satu vektor yang dapat ditambahkan
ke matriks B, misalkan .
2. Jika wt ( z) > d – 2, dimana z = x + y untuk setiap x, y ϵ , maka
lanjutkan langkah 3.
3. Uji bobot vektor sedemikian sehingga wt ≥ d – 2 – i,
dengan adalah anggota dari semua kombinasi i-vektor baris di B
untuk i = 1,2,3,…t, dan t = min {d – 1, k}.
4. Jika x dan y lolos uji maka lanjutkan langkah 5.
5. Print dua vektor x dan y yang dapat ditambahkan ke dalam matriks B.
Algoritme 4 : menguji apakah m + 1 vektor bisa ditambahkan ke matriks B.
1. Input adalah koleksi dari himpunan m vektor anggota yang dapat
ditambahkan ke matriks B, misalkan .
2. Misal , ϵ . Jika dan digabung memiliki m + 1 vektor yang
berbeda maka selanjutnya dilakukan pengujian sebagai berikut.
a. Diuji apakah kedua vektor anggota ( ) – ( ) dapat
ditambahkan ke matriks B.
32
b. Diuji apakah kedua vektor anggota ( ) – ( ) yang jika
ditambahkan dengan setiap i vektor dalam ( ), i = 1, 2, …, m-1
bisa ditambahkan ke matriks B.
3. Untuk menguji j vektor yang bisa ditambahkan ke matriks B, yaitu dengan
menjumlahkan j vektor tersebut, misalkan hasil penjumlahannya adalah
vektor y. Jika wt (j) > (d – j) lanjutkan langkah 4.
4. Uji bobot vektor ( y + ) sedemikian sehingga wt ( y + ) ≥ d – j – i,
dengan adalah anggota dari semua kombinasi i vektor baris di B untuk
i = 1, 2, …, s, dan s = min {d – 1, k}.
5. Jika vektor y lolos uji, maka lanjutkan langkah 6.
6. Print m + 1 vektor yang dapat ditambahkan ke matriks B.
Berikut ini adalah program-program yang digunakan untuk meningkatkan
dimensi pada matriks dasar.
Tabel 2 Program dan Prosedur untuk meningkatkan dimensi dari matriks Dasar
Untuk meningkatkan Program Prosedur
1
2
3
4
5
6
Satu dimensi
Dua dimensi
Tiga dimensi
Empat dimensi
Lima dimensi
x dimensi
Kolek1VekM
Kolek2VekM
Kolek3VekM
Kolek4VekM
Kolek5VekM
KolekXVekM
UjiAdd1VekM
UjiAdd2VekM
UjiAdd3VekM
UjiAdd4VekM
UjiAdd5VekM
UjiAddXVekM
33 Konstruksi Kode Optimal Kuat Dengan Jarak Minimum 13 dan 15
Tabel 3 Hasil Eksplorasi Kode Optimal dengan jarak minimum d = 13
Panjang (n) Dimensi (k) Jarak Minimum (d) Kode [n, k, d]
20 2 13 [20, 2, 13]
24 3 13 [24, 3, 13]
27 5 13 [27, 5, 13]
29 6 13 [29, 6, 13]
32 8 13 [32, 8, 13]
34 9 13 [34, 9, 13]
1. Konstruksi kode [20, 2, 13]
Konstruksi dimulai dari kode [20, 2, 13], yaitu dengan mendefinisikan
matriks B yang berukuran 2 18 sebagai berikut
B =
Dengan menggunakan program UbahMtxCR mengubah tampilan matriks kolom
ke matriks baris M. Berikutnya untuk memastikan bahwa jarak minimum d = 13
maka di uji dengan program NonZeroWt.
2. Konstruksi kode [24, 3, 13]
Selanjutnya matriks B berordo 2 18 ini digunakan sebagai matriks dasar
untuk diperluas menjadi matriks yang berordo 3 21 dengan cara: pertama-
tama kita menambahkan tiga vektor kolom nol pada matriks dasar sehingga
matriks B berordo 2 21. Berikutnya kita mengubah tampilan matriks kolom ke
matriks baris M dengan program UbahMtxCR. Untuk memastikan bahwa
matriks dasar memiliki jarak minimum d = 13 maka kita uji dengan program
NonZeroWt. Karena matriks dasar berdimensi dua maka kita dapat
meningkatkanya sampai maksimum dua dimensi. Selanjutnya dengan program
ListKombM mencari semua kemungkinan vektor baris X dalam yang dapat
ditambahkan ke matriks M. Dengan program Kolek1VekM kita meningkatkan
dimensi dari matriks dasar menjadi tiga, sehingga dimensinya menjadi tiga. Tanpa
34 memperhatikan relasi ekivalensi, hasil eksplorasi menunjukan minimal ada
42.875 macam yang berordo 3 21 yang mendefinisikan kode dengan
parameter [24, 3. 13]. Dan dengan program ReduEki1 dihilangkan matriks-
matriks yang saling ekivalen ternyata diperoleh 8 macam yang tidak saling
ekivalen, salah satunya
=
3. Konstruksi kode [27, 5, 13]
Matriks berordo 3 21 ini dijadikan matriks dasar untuk diperluas
menjadi matriks yang berordo 5 22. Caranya adalah; Pertama-tama
matriks ini ditambah satu vektor kolom nol sehingga menjadi matriks dasar
yang berordo 3 22. Kemudian matriks diubah, dari tampilan matriks kolom
menjadi matriks baris M dengan menggunakan program UbahMtxCR. Untuk
memastikan bahwa matriks dasar memiliki jarak minimum d = 13 maka kita uji
dengan program NonZeroWt. Karena M berdimensi 3 maka kita dapat
meningkatkan matriks dasar ini maksimal 3 dimensi. Dengan program
ListKombM mencari semua kemungkinan vektor baris X dalam yang dapat
ditambahkan ke M. Dengan program Kolek1VekM kita tingkatkan dimensi dari
matriks dasar satu tingkat sehingga dimensinya menjadi empat, dan hasilnya
terdapat minimal ada 17.496 kode dengan parameter [26, 4, 13]. Selanjutnya
ditingkatkan lagi dimensinya menjadi menjadi lima dengan cara menambahkan
satu lagi vektor baris X dalam ke M dengan program Kolek2VekMDt. Dari hasil
eksplorasi tanpa melihat relasi ekivalensi ternyata minimal ada 39.432 macam
matriks berordo 5 22 yang mendefinisikan kode dengan parameter
[27, 5, 13]. Dengan program ReduEkiX dihilangkan matriks-matriks yang saling
ekivalen. Hasilnya hanya minimal ada 4 macam matriks yang tidak saling
ekivalen. Salah satunya adalah
35
=
4. Konstruksi kode [29, 6, 13]
Matriks berordo 5 22 ini dijadikan matriks dasar untuk diperluas lagi
menjadi matrik yang berordo 6 23. Dengan cara ; Pertama-tama matriks
dasar ini ditambahkan satu vektor kolom nol sehingga menjadi matriks dasar yang
berordo 5 23. Dengan program UbahMtxCR diubah tampilan matriks, dari
matriks kolom menjadi matriks baris M. Untuk memastikan bahwa matriks dasar
kita mempunyai jarak minimum d = 13, maka kita uji dengan menggunakan
program NonZeroWt. Karena dimensi dari matriks dasar kita adalah lima, maka
kita dapat meningkatkan dimensi dari matriks dasar tersebut maksimal lima
dimensi. Dengan program ListKombM mencari semua kemungkinan vektor
baris X dalam yang dapat ditambahkan ke M. Dengan program Kolek1VekM
kita tingkatkan dimensi dari matriks dasar satu tingkat menjadi enam. Dari hasil
eksplorasi paling tidak ada satu macam matriks berukuran 6 23 yang
mendefinisikan kode dengan parameter [29, 6, 13]. Matriks tersebut adalah
=
5. Konstruksi kode [32, 8, 13]
Matriks berordo 6 23 ini dijadikan matriks dasar untuk diperluas lagi
menjadi matriks berordo 8 24 yang mendefinisikan kode dengan parameter
[32, 8, 13]. Dengan cara; Pertama-tama ditambahkan satu vektor kolom nol dan
menghapus baris ke-1 pada matriks representasi kolom dengan program
DelVekM sehingga didapat matriks dasar yang berordo 5 24. Kemudian
dengan program UbahMtxCR diubah tampilan matriks, dari matriks kolom
menjadi matriks baris M. Karena matriks dasar kita berdimensi lima maka, kita
dapat meningkatkan maksimal sampai lima dimensi. Dengan program
ListKombM mencari semua kemungkinan vektor baris X dalam yang dapat
36 ditambahkan ke M. Dengan program Kolek1VekM kita meningkatkan dimensi
dari matriks dasar satu tingkat sehingga dimensinya menjadi enam. Setelah
ditingkatkan satu dimensi ternyata diperoleh setidaknya ada 14.692 kode dengan
parameter [30, 6 13]. Berikutnya dengan program Kolek2VekMDt dimensinya
ditingkatkan satu tingkat lagi menjadi tujuh, dan didapat paling sedikit ada 1.000
kode dengan parameter [31, 7, 13]. Selanjutnya dengan program
Kolek3VekMDtx, dimensinya ditingkatkan satu tingkat lagi menjadi delapan,
dan diperoleh paling sedikit ada 192 matriks berordo 8 24 yang
mendefinisikan kode dengan parameter [32, 8, 13]. dan setelah dihilangkan
matriks-matriks yang saling ekivalen dengan program ReduEkiX ternyata
semuanya tidak saling ekuivalen, Sehingga didapat paling tidak ada 192 matriks
berukuran 8 24 yang mendefinisikan kode dengan parameter [32, 8, 13].
Salah satunya adalah
=
6. Konstruksi kode [34, 9, 13]
Matriks berordo 8 24 dijadikan matriks dasar untuk diperluas lagi
menjadi matriks berordo 9 25 untuk mendefinisikan kode dengan parameter
[34, 9, 13]. Dengan cara; Pertama-tama ditambahkan satu vektor kolom nol, dan
menghapus baris ke-1 pada matriks representasi kolom dengan program
DelVekM sehingga didapat matriks dasar yang berukuran 7 25. Kemudian
dengan program UbahMtxCR diubah tampilan matriks, dari matriks kolom
menjadi matriks baris M. Karena matriks dasar ini berdimensi tujuh maka kita
dapat meningkatkan matriks dasar ini maksimal sampai tujuh dimensi. Dengan
program ListKombM mencari semua kemungkinan vektor baris X dalam yang
dapat ditambahkan ke M. Dengan program Kolek1VekM kita tingkatkan satu
dimensi sehingga ukuran matriks menjadi 8 25, ternyata didapat paling sedikit
ada 2.107 kode dengan parameter [33, 8, 13]. Selanjutnya dengan program
Kolek2VekMDt dimensinya ditingkatkan lagi satu tingkat sehingga ukuran
37 matriks menjadi 9 25, ternyata didapat paling sedikit ada dua matriks
berukuran 9 25 yang mendefinisikan kode dengan parmeter [34, 9, 13]. Matriks
yang didapat sebagai berikut:
[1] =
Dan
[2] =
Untuk selanjutnya ini gagal untuk diperluas lagi. Seandainya matriks
tersebut dapat diperluas menjadi matriks berukuran 10 25 maka telah berhasil
diperbaiki batas bawah untuk kode yang berjarak minimum d = 13, yaitu kode
dengan parameter [35, 10, 13]. Atau dengan kata lain telah berhasil dikonstruksi
kode baru yaitu kode [35, 10, 13].
Tabel 4 Hasil Eksplorasi Kode Optimal dengan jarak minimum d = 15
Panjang (n) Dimensi (k) Jarak Minimum (d) Kode [ n, k, d ]
23 2 15 [23, 2, 15]
27 3 15 [27, 3, 15]
31 6 15 [31, 6, 15]
35 8 15 [35, 8, 15]
37 9 15 [37, 9, 15]
38
7. Konstruksi kode [23, 2, 15]
Untuk kode [ 23, 2, 15 ] dapat dikonstruksi dengan mudah menggunakan
matriks B berukuran 2 21 sebagai berikut
B =
Tetapi matriks B ini tidak berhasil diperluas untuk mendapatkan kode optimal
berikutnya.
8. Konstruksi kode [27, 3, 15]
Karena matriks B tidak dapat diperluas untuk mendapatkan kode optimal
berikutnya, maka selanjutnya dikonstruksi matriks dasar berukuran 3 24
untuk mendefinisikan kode dengan parameter [ 27, 3, 15 ]. Matriks yang
digunakan adalah sebagai berikut
=
9. Konstruksi kode [31, 6, 15]
Matriks berordo 3 24 ini dijadikan sebagai matriks dasar untuk
diperluas menjadi matriks yang berordo 6 25 untuk mendefinisikan kode
dengan parameter [31, 6, 15]. Dengan cara; pertama menambahkan satu vektor
kolom nol pada matriks dasar sehingga matriks dasar ordonya menjadi 3 25,
dilanjutkan dengan mengubah tampilan matriks, dari matriks kolom menjadi
matriks baris M dengan program UbahMtxCR. Selanjutnya untuk memastikan
bahwa jarak minimum distenya 15 maka digunakan program NonZeroWt.
Karena matriks yang dijadikan matriks dasar mempunyai dimensi tiga, maka
dimensinya dapat ditingkatkan maksimal tiga dimensi. Dengan program
ListKombM mencari semua kemungkinan vektor baris X dalam yang dapat
ditambahkan ke M. Dengan program Kolek1VekM ditingkatkan satu dimensi
sehingga dimensinya menjadi empat dan didapat paling sedikit 34.992 kode
dengan para meter [29, 4, 15]. Berikutnya dengan program Kolek2VekMDt
dimensinya ditingkatkan satu tingkat lagi menjadi lima, tanpa memperhatikan
relasi ekuivalensi didapat paling sedikit ada 199.904 kode dengan parameter
39 [30, 5, 15]. Dengan program Kolek3VekMDt dimensinya ditingkatkan satu
tingkat lagi menjadi enam, dan tanpa memperhatikan relasi ekuivalensi didapat
paling sedikit ada 9.309 matriks berordo 6 25 yang mendefinisikan kode
dengan parameter [31, 6, 15]. Salah satunya adalah
=
10. Konstruksi kode [35, 8, 15]
Matriks berordo 6 25 ini dijadikan matriks dasar untuk diperluas lagi
menjadi matriks yang berordo 8 27, yaitu untuk mendefinisikan kode
dengan parameter [ 35, 8, 15 ]. Cara mengonstruksi matriks adalah sebagai
berikut ; Yang pertama menambahkan dua vektor kolom nol pada matriks dasar
dan dengan program DelVekM untuk i = 1, menghapus baris ke-1 pada matriks
dasar sehingga didapat matriks dasar yang berordo 5 27. Untuk memastikan
bahwa matriks dasar mempunyai jarak minimum d = 15 maka di uji dengan
program NonZeroWt. Sebelum melakukan eksplorasi lebih lanjut, terlebih dulu
kita mengubah tampilan matriks, dari matriks kolom menjadi matriks baris M
dengan program UbahMtxCR. Karena matriks dasar berdimensi lima maka kita
dapat meningkatkanya sampai maksimal lima dimensi. Selanjutnya Dengan
program ListKombM mencari semua kemungkinan vektor baris X dalam yang
dapat ditambahkan ke M. Dengan program Kolek1VekM kita tingkatkan satu
dimensi sehingga dimensinya menjadi enam, hasilnya minimal ada 3.971 matriks
dasar beerordo 6 27 yang medefinisikan kode dengan parameter [33, 6, 15].
Langkah selanjutnya dengan program Kolek2VekM matriks dasar ini
dimensinya kita tingkatkan satu tingkat lagi menjadi tujuh, hasilnya minimal ada
19930 matriks dasar yang berordo 7 27 yang mendefinisikan kode dengan
parameter [34, 7, 15]. Berikutnya matriks dasar ini kita tingkatkan satu tingkat
lagi dengan program Kolek3VekM sehingga dimensinya menjadi delapan,
hasilnya tanpa memperhatikan relasi ekuivalensi minimal ada 1.699 matriks
berordo 8 27 yang mendefinisikan kode dengan parameter [35, 8, 15]. Dan
setelah dihilangkan matriks-matriks yang saling ekuivalen dengan program
40 ReduEkiX didapat minimal ada 689 kode optimal kuat dengan parameter
[35,8,15]. Salah satunya adalah
=
11. Konstruksi kode [37, 9, 15]
Matriks berordo 8 27 ini dijadikan matriks dasar untuk diperluas lagi
menjadi matriks yang berordo 9 28 untuk mendefinisikan kode dengan
parameter [ 37, 9, 15 ]. Cara mengonstruksi matriks adalah sebagai berikut ;
Yang pertama menambahkan satu vektor kolom nol pada matriks dasar dan
dengan program DelVekM untuk i = 8, menghapus baris ke-8 pada matriks dasar
sehingga didapat matriks dasar yang berordo 7 28. Untuk memastikan bahwa
matriks dasar mempunyai jarak minimum d = 15 maka di uji dengan program
NonZeroWt. Sebelum melakukan eksplorasi lebih lanjut, terlebih dulu kita
mengubah tampilan matriks, dari matriks kolom menjadi matriks baris M dengan
program UbahMtxCR. Karena matriks dasar berdimensi tujuh maka kita dapat
meningkatkanya sampai maksimal tujuh dimensi. Selanjutnya Dengan program
ListKombM mencari semua kemungkinan vektor baris X dalam yang dapat
ditambahkan ke M. Dengan program Kolek1VekM kita tingkatkan satu dimensi
sehingga dimensinya menjadi delapan, hasilnya minimal ada 2.472 matriks dasar
beerordo 8 28 yang medefinisikan kode dengan parameter [36, 8, 15].
Selanjutnya dengan program Kolek2VekM matriks dasar ini dimensinya kita
tingkatkan satu tingkat lagi menjadi sembilan, hasilnya tanpa melihat relasi
ekuivalensi minimal ada 542 matriks dasar yang berordo 9 28 yang
mendefinisikan kode optimal kuat dengan parameter [37, 9, 15]. Dan setelah
dihilangkan matriks-matriks yang saling ekuivalen dengan program ReduEkiX
didapat minimal ada 281 kode optimal kuat dengan parameter [37, 9, 15]. Salah
satunya adalah
41
=
Selanjutnya untuk menjadikan matriks menjadi matriks dasar dan
ditingkatkan ke order yang lebih tinggi mengalami kegagalan. Kegagalan ini
dapat disebabkan oleh beberapa kemungkinan, diantaranya:
1. Pemilihan kode dasar ( matriks B awal ) yang kurang baik.
2. Algoritme konstruksi yang masih belum sempurna.