Your SlideShare is downloading. ×

Coding Theory Report Final

1,153

Published on

Final Report Coding

Final Report Coding

Published in: Education
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total Views
1,153
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
1
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. LAPORAN PERKULIAHANPENGANTAR TEORI PENGKODEANTanggal28 Februari 2013HIRWANTO(09/283098/PA/12442)PROGRAM STUDI MATEMATIKAJURUSAN MATEMATIKAFAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAMUNIVERSITAS GADJAH MADAYOGYAKARTA2013
  • 2. 2
  • 3. Kata PengantarAlhamdulillah, segala puji bagi Allah yang telah melimpahkan rahmat danhidayah-Nya sehingga dapat terselesainya laporan perkuliahan Pengantar Teori Pengkodean.Laporan ini dibuat berdasarkan setiap pertemuan perkuliahan yang ada ditambah denganbuku pendukung seperti ”Coding Theory” dan ”Error Correctin Codes”. Selain itu, soalpertanyaan dan penyelesaiannya didalam buku ini diambil dari buku pendukung diharapkandengan adanya latihan soal ini dapat menambah pengetahuan penulis dalam mempelajari teoripengkodean. Pengantar Teori Pengkodean merupakan mata kuliah dalam bidang Aljabar danmerupakan penerapan dari sifat, struktur, operasi dalam aljabar.Beberapa penerapan yang dipelajari dalam Pengantar Teori Pengkodean meliput pengirimanpesan yang melalu sistem komunikasi atau ke media penyimpanan data, mendeteksi danmengoreksi kesalahan pesan yang diterima.Yogyakarta, 30 Maret 2013Hirwantoi
  • 4. ii KATA PENGANTAR
  • 5. Daftar IsiKata Pengantar iBAB 1 Pendahuluan 1Latihan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2BAB 2 Deteksi, Koreksi Kesalahan dan Decoding 32.1. Communication Channel . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2. Maximum likehood decoding . . . . . . . . . . . . . . . . . . . . . . . . . 52.3. Hamming distance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.4. Nearest neighbour minimum distance decoding . . . . . . . . . . . . . . 62.5. Distance of a code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Latihan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8BAB 3 Lapangan Berhingga 113.1. Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2. Polynomial Rings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.3. Structure of Finite Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Latihan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18BAB 4 Linear Code 214.1. Vector Space over finite fields . . . . . . . . . . . . . . . . . . . . . . . . . 214.2. Linear Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.3. Hamming Weight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23BAB 5 First Order Reed Muller Codes 255.1. Pendahuluan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255.2. Generator Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265.3. Parity Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265.3.1. Hamming Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265.4. Hadamard Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275.4.1. Hadamard Transform . . . . . . . . . . . . . . . . . . . . . . . . . 28BAB 6 Cyclic Codes 336.1. Pendahuluan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336.2. Generator Polinomial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346.3. Generator dan Matriks Parity-Check . . . . . . . . . . . . . . . . . . . . . 366.4. Decoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396.4.1. Algoritma Decoding Cyclic Codes . . . . . . . . . . . . . . . . . . 406.5. Burst Error Correcting Codes . . . . . . . . . . . . . . . . . . . . . . . . . . 41iii
  • 6. iv DAFTAR ISI6.5.1. Algoritma Decoding Burst-error-code . . . . . . . . . . . . . . . . 42BAB 7 BCH Code 457.1. Pendahuluan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457.1.1. Finite Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457.1.2. Ring Polynomial . . . . . . . . . . . . . . . . . . . . . . . . . . . 467.1.3. Minimal Polynomial . . . . . . . . . . . . . . . . . . . . . . . . . 467.1.4. Cyclotomic Coset . . . . . . . . . . . . . . . . . . . . . . . . . . . 487.1.5. BCH codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497.1.6. BCH Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497.1.7. Parameter dari BCH Codes . . . . . . . . . . . . . . . . . . . . . . . 517.1.8. Decoding BCH Codes . . . . . . . . . . . . . . . . . . . . . . . . 53BAB 8 Self-Dual Codes dan Binary Golay Code 578.1. Pendahuluan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578.1.1. Linear Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598.1.2. Hamming Distance dan Hamming Weight . . . . . . . . . . . . . . 608.2. Self-Dual Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608.2.1. Extended Binary Golay Code . . . . . . . . . . . . . . . . . . . . 628.2.2. Decoding Extended Binary Golay Code . . . . . . . . . . . . . . . 64DAFTAR PUSTAKA 67
  • 7. Bab 1PendahuluanPertumbuhan media informasi semakin cepat hampir di setiap aspek kehidupan dan dituntutuntuk dapat memberikan informasi secara cepat dan akurat. Media informasi seperti sistemkomunikasi dan tempat penyimpanan data tidak secara mutlak benar dalam prakteknyakarena bisa saja terjadi ganguaan atau diubah ke bentuk lain. Salah satu tugas didalamteori pengkodean adalah untuk mendeteksi(detect), atau membenarkan(correct) kesalahan.Biasanya, Kode didefinisikan sebagai Kode sumber(source coding) dan saluran kode(channelcoding) mengubah pesan menjadi kode yang cocok kemudian ditransmisikan melalui saluran.Sebagai contoh, kode sumber ASCII yaitu setiap karakter diubah kedalam bentuk byte(1 byte= 8 bits).Contoh 1.0.1. Misalkan diberikan empat kode nama buahan yaitu Apel, Belimbing, Pisang,dan Duku yaitu sebagai berikut :Apel → 00, Belimbing → 01, Pisang → 10, Duku → 11Andaikan kita akan mengirimkan pesan ”Apel” dengan kode 00 yang ditransmisikan melaluisaluran dengan ada gangguan, maka pesannya kemungkinan diterima sebagai 01. Penerimatidak tahu bahwa pesan yang diterima itu rusak sehingga komunikasi semacam ini dianggapgagal. Tentunya, ide dari pengkodean adalah mengkode pesan yang telah dikirimkan olehkode sumber kemudian dikirimkan melalui saluran dengan beberapa bentuk pengulangan agarpesannya yang disampaikan dapat dideteksi ataupun dibenarkan kesalahannya.Contoh 1.0.2. Didalam contoh 1.0.1 kita menunjukkan bahwa pengulangan 1 bits yaitu00 → 000, 01 → 001, 10 → 101, 11 → 110Andaikan pesan yang dikirim adalah ’Apel’ dengan kode 000 kemudian setelah dikirimkanmelalu kode sumber ditransmisikan melalui saluran dengan ada gangguan dan hanya ada satukesalahan. Salah satu diantara 3 kemungkinan yaitu 001, 010, 100. Dengan jalan ini, kitahanya mendeteksi kesalahan tetapi tidak membenarkan kesalahan yang ada, misalkan kitamenerima kode ”100”,maka apakah kode itu berasal dari ”000, 001, 101, 110”. Jadi kita perlulebih banyak pengulangan yaitu sebagai berikut :00 → 00000, 01 → 01111, 10 → 10110, 11 → 11001Andaikan pesan yang disampaikan ”Apple” dengan adanya gangguannya dan hanya ada satukesalahan. Maka harusnya kita menerima salah satu dari kode ini :”10000, 01000,00100,00010, 00001”. Jika kita menerima 10000, maka kita yakin bahwa kode 10000 berasal dari00000 sebab dapat dilihat dibawah ini :10000 → 00000 (perlu 1 kesalahan) 10000 → 01111 (perlu 5 kesalahan)10000 → 10110 (perlu 2 kesalahan) 10000 → 11001 (perlu 2 kesalahan)Jadi kita mengambil yang memiliki sedikit kesalahan yaitu ”00000”.1
  • 8. 2 BAB 1. PENDAHULUANLatihan1.1 Buatlah skema channel coding untuk mendeteksi dua atau lebih sedikitnya kesalahanuntuk sumber kode dari {00, 10, 01, 11}. Bisakah kamu menemukan salah satu skematerbaik didalam mentransmisikan pesan tersebut ?Penyelesaian :Diketahui kode yang diberikan yaitu {00,10,01,11}. Untuk mendeteksi dua atau lebihsedikitnya kesalahan maka dapat dilihat skema dibawah ini :00 → 000, 10 → 101, 01 → 011, 11 → 110Skema diatas merupakan yang terbaik sebab jika kita mengirimkan kode ”000” danhanya satu kesalahan yang ada maka kita akam menerima salah satu diantara tiga kodeyaitu : ”100, 010, atau 001”, sehingga kita mendeteksi kesalahan bahwa kode yangkirimkan bukan salah satu diantara kode tersebut.1.2 Buatlah skema channel coding untuk membenarkan dua atau lebih sedikitnya untukkode sumber {00, 10, 01, 11}. Bisakah kamu menemukan skema terbaik didalammentransmisikan pesan tersebut ?Penyelesaian :Diketahu kode yang diberikan {00, 10, 01, 11}. Untuk membenarkan kesalahan duaatau lebih sedikitnya maka dapat dilihat skema dibawah ini :00 → 00000 01 → 0111110 → 10110 11 → 11001Skema diatas merupakan skema yang terbaik sebab jika kita mengirimkan kode ”00000”dan hanya satu kesalahan yanga ada maka kita akan menerima salah satu dari lima kodeyaitu : 10000, 01000, 00100, 00010, 00001. Misalkan kita menerima kode ”10000”,maka kita yakin bahwa kode itu berasal dari kode ”00000”,sebab dapat dilihat dibawahini.10000 → 00000 (perlu 1 kesalahan) 10000 → 01111 (perlu 5 kesalahan)10000 → 10110 (perlu 2 kesalahan) 10000 → 11001 (perlu 2 kesalahan)Jadi kita mengambil yang memiliki sedikit kesalahan yaitu ”00000”.1.3 Buatlah skema channel coding untuk mendeteksi dua atau lebih sedikitnya kesalahanuntuk sumber kode dari {000, 100, 001, 110, 101, 011, 111}. Bisakah kamu menemuk-an salah satu skema terbaik didalam mentransmisikan pesan tersebut ?Penyelesaian :Diketahui kode yang diberikan yaitu {000, 100, 001, 110, 101, 011, 111}. Untukmendeteksi satu kesalahan maka dapat dilihat skema dibawah ini :000 → 0000 100 → 1001 001 → 0011110 → 1100 101 → 1010 011 → 0110111 → 1110Skema diatas merupakan yang terbaik sebab jika kita mengirimkan kode ”0000” danhanya satu kesalahan yang ada maka kita akam menerima salah satu diantara tiga kodeyaitu : ”1000, 0100, 0010 atau 0001”, sehingga kita mendeteksi kesalahan bahwa kodeyang kirimkan bukan salah satu diantara kode tersebut.1.4 Buatlah skema channel coding untuk membenarkan dua atau lebih sedikitnya kesalahanuntuk sumber kode dari {000, 100, 001, 110, 101, 011, 111}. Bisakah kamu menemuk-an salah satu skema terbaik didalam mentransmisikan pesan tersebut ?Penyelesaian :
  • 9. Bab 2Deteksi, Koreksi Kesalahan danDecodingKita melihat pada Bab 1 pentingnya mempelajari channel coding dengan pengulangan in-formasi pesan sehingga kesalahan bisa dideteksi atau dibenarkan. Didalam bab ini, kitamerumuskan dan mendefinisikan error-detection dan error-correction. Kita juga memperke-nalkan atau mendecode dengan baik.2.1 Communication ChannelDefinisi 2.1.1. Misalkan A = {a1,a2,...,aq} himpunan dengan size q , atau disebut jugasebagai code alfabet , dan anggotanya disebut sebagai code symbols.(i) q-ary word dengan panjang n atas A adalah barisan w, ∀wi ∈ A,∀i ekuivalen denganw sebagai vektor (w1,...,wn)(ii) q-ary block code dengan panjang n atas A adalah himpunan tak kosong C q-ary codeyang mempunyai panjang yang sama yaitu n.(iii) Anggota C disebut codeword di C(iv) Banyak codeword di C dinotasikan |C| disebut sebagai size C(v) informasi rate code C dengan panjang n didefinisikan (logq)|C|/n(vi) Code dengan panjang n dan size M disebut (n,M)− codeContoh 2.1.2. Diberikan code alfabet atas F2 = {0,1} disebut sebagai binary code. Beberapacontoh dari code nya adalah(i) C1 = {00,01,10,11} adalah (2,4)-code(ii) C2 = {000,011,101,110} adalah (3,4)-code(iii) C3 = {0011,0101,1010,1100,1001,0110} adalah (4,6)-codeCode ata code alfabet F3 = {01,2} disebut sebagai ternary code, sementara quarternary codeterkadang code atas code alfabet F43
  • 10. 4 BAB 2. DETEKSI, KOREKSI KESALAHAN DAN DECODINGDefinisi 2.1.3. Sebuah Communication channel terdiri atas berhingga banyak channel alfabetA = {a1,..aq} sebagai himpunan beserta forward channel probabilitasP(aj|ai) = Probabilitas bahwa aj diterima jika yang dikirim aiyang memenuhiq∑j=1P(ai|aj) = 1Jadi,∀iP(a1|ai)+P(a2|ai)+P(a3|ai)+···+P(aq|ai)Definisi 2.1.4. Sebuah communication channel dikatakan memorylesss jika keluaran seba-rang satu transmisi adalah bebas dari keluaran transmisi sebelumnya ; jika c = c1c2 ...cndan x = x1x2 ...xn dengan panjang word adalah n makaP(x diterima | c terkirim ) = ∏ni=1 P(xi diterima | ci terkirim )Definisi 2.1.5. ”q -ary symmetrics channel” adalah memoryless memenuhi sifat1. Setiap simbol mempunyai probabilitas yang sama yaitu p, untuk yang diterima dengankesalahan p < 12.2. Jika suatu simbol diterima dengan salah maka setiap q−1 (simbol yang salah) mem-punyai probabilitas yang sama untuk diterima yaitu 1− p.Secara khususnya, binary symmetric channel(BSC) adalah memoryless channel yangmempunyai channel alfabet {0,1} dan channel probabilitas adalahP(1 diterima | 0 terkirim) = P(0 diterima | 1 terkirim ) = p.P(1 diterima | 0 terkirim) = P(1 diterima | 1 terkirim ) = 1− p.Jadi, probabilitas kesalahannya di BSC adalah p. Ini disebut sebagai crossover probabilitasdari BSC.Contoh 2.1.6. Andaikan kodeword dari {000,111} yang terkirim lewat BSC jika diketahuiadanya error dalam pengiriman suatu bit adalah p = 0,005. Misalkan word yang diterimaadalah 011.Penyelesaian :P(011 | 001) = P(0 | 0).P(1 | 0).P(1 | 0)= (1− p).p.p= (1− p).p2= (0,95).(0,005)2= 0,002375P(011 | 111) = P(0 | 1).P(1 | 1).P(1 | 1)= p.(1− p)2= (0,05)(0,95)2= 0,045125Maka code word yang terima kemungkinan 111 karena mempunyai probabilitas yang besar.
  • 11. 2.2. MAXIMUM LIKEHOOD DECODING 52.2 Maximum likehood decodingAndaikan bahwa codeword dari code C terkirim melalui channel. Jika sebuah word x diterima,kita bisa menghitung probabilitas forward channelP(x diterima — c terkirim)Untuk semua codeword c ∈ C. Maximum likehood decoding(MLD) rule menyimpulkanbahwa cx adalah yang paling banyak ditransmisikan jika cx probabilitasnya maksimum.P (x diterima — cx terkirim)= maxc∈C P(x diterima — c terkirim).Ada dua jenis dari MLD yaitu sebagai berikut :1. Complete maximum likehood decoding(CMLD). Jika word x diterima, temukan code-word yang paling banyak ditransmisikan. Jika ditemukan lebih dari satu maka pilhlahsalah satunya sebarang.2. Incomplete maximum likehood decoding(IMLD). Jika x diterima , temukan yang palingbanyak codeword yang ditransmisikan. Jika ada lebih dari satu codewordnya, makameminta untuk mentransmisikan ulang.2.3 Hamming distanceDefinisi 2.3.1. Misalkan diberikan x dan y word dengan panjang n atas alfabet A. Hammingdistance dari x ke y dinotasikan oleh d(x,y) didefinisikan banyak tempat(posisi) koordinatdimana x dan y berbeda. Jika x = x1 ...xn dan y = y1 ...yn makad(x,y) = d(x1,y1)+···+d(xn,yn) (2.1)dimana xi dan yi sebagai panjang word adalah 1 dand(x,y) =1 jika xi = yi0 jika xi = yi.Contoh 2.3.2. (i) Misalkan A = {0,1} dan misalkan x = {01010}, y = {01101}, z ={11101}, makad(x,y) = 3.d(y,z) = 1.d(z,x) = 4.(ii) Misalkan A = {0,1,2,3,4} dan misalkan x = 1234, y = 1423, z = 3214d(x,y) = 3.d(y,z) = 4.d(z,x) = 2.Proposisi 2.3.3. Misalkan x,y, z word dengan panjang n atas A. Maka kita mempunyai(i) 0 ≤ d(x,y) ≤ n(ii) d(x,y) = 0 jika dan hanya jika x,y(iii) d(x,y) = d(y,x)(iv) (Ketidaksamaan Segitiga) d(x,z) ≤ d(x,y)+d(y,z)
  • 12. 6 BAB 2. DETEKSI, KOREKSI KESALAHAN DAN DECODING2.4 Nearest neighbour minimum distance decodingAndaikan bahwa codeword dari code C yang terkirim melalui commincation channel. Jikaword x yang diterima, maka nearest neighbour decoding rule(mininum distance decodingrule) akan mengkode x ke cx jika d(x,cx) adalah minimal semua codeword di C,d(x,cx) = minc∈Cd(x,c). (2.2)Didalam kasus maximum likehoode decoding, kita bisa menetapkan antara complete danincomplete decoding untuk nearest neighbour decoding rule. Jika diberikan word yangditerima x, jika dua atau leboh codeword cx memenuhi 2.2, maka dengan complete decodingrule adalah secara sebarang memilih salah satu dari terbanyak word yang terkirim, sedangkanincomplete decoding rule meminta pengiriman ulang codeword.Teorema 2.4.1. Untuk BSC dengan crossover probabilitas dengan p < 12, maximum likehooddecoding rule adalah sama sebagai nearest neighbour decoding rule.Bukti. Misalkan C dinotasikan code yang digunakan dan misalkan x dinotasikan sebagaiword yang diterima dengan panjang n. Untuk sebarang vektor c dengan panjang n, dan untuksebarang 0 ≤ i ≤ n.d(x,c)= i ⇔ P(x diterima | c terkirim)= pi(1− p)n−1Ketika p < 12, didapatp0(1− p)n> p1(1− p)n−1> p2(1− p)n−2> ··· > pn(1− p)0Menggunakan definisi, makximum likelihood decoding rule decode x ke c ∈ C dengan de-mikian P(x diterima | c terkirim) adalah terbesar, sehingga d(x,c) adalah yang terkecil. Jadisama seperti nearest neighbour decoding rule.Contoh 2.4.2. Diberikan codeword dari binary codeC = {0000,0011,1000,1100,0001,1001}merupakan codeword yang terkirim lewat BSC. Asumsikan bahwa x = 0111 yang diterima,makad(0111,0000) = 3.d(0111,0011) = 1.d(0111,1000) = 4.d(0111,1100) = 3.d(0111,0001) = 2.d(0111,1001) = 3.Menggunakan nearest neighbour decoding, kita decode x ke 0011.Contoh 2.4.3. Misalkan C = {000,011} binary code. Dengan melihat tabel IMLD untuk Cyang ditunjukkan pada tabel 2.1, dimana tanda ’-’ artinya transmisi ulang diperlukan.
  • 13. 2.5. DISTANCE OF A CODE 7Received x d(x,000) d(x,011) Decode to000 0 2 000100 1 3 000010 1 1 -001 1 1 -101 2 2 -011 2 0 011111 3 1 011Tabel 2.1: Tabel IMLD untuk C2.5 Distance of a codeDefinisi 2.5.1. Untuk code C memuat paling sedikitnya dua word, minimum distance dari C,dinotasikan d(C) adalahd(C) = min{d(x,y) : x,y ∈ C,x = y}.Definisi 2.5.2. Code dengan panjang n, size M dan distance d disebut sebagai (n,M,d)-code.Bilangan n,M, dan d disebut sebagai parameter dari code.Contoh 2.5.3. (i) Misalkan C = {00000,00111,11111} binary code, maka d(C) = 2 ka-rena dapat dilihat dibawah inid(00000,00111) = 3,d(00000,11111) = 5,d(00111,11111) = 2Jadi, C adalah binary (5,3,2)-code.(ii) MisalkanC = {000000,000111,111222} ternary code atau dengan code alfabet {0,1,2},maka d(C) = 3, ketikad(000000,000111) = 3,d(000000,111222) = 6,d(000111,111222) = 6,Jadi, C adalah ternary code (6,3,3)-code.Teorema 2.5.4. Suatu code C mempunyai kemampuan untuk mendeteksi u−kesalahan jikadan hanya jika d(C) ≥ u+1Bukti. Andaikan d(C) ≥ u+1. Jika c ∈ C dan x dengan demikian bahwa 1 ≤ d(x,c) ≤ u <d(C), maka x /∈ C; Jadi C adalah u−error-detecting.Disisi lain, jika d(C) < u+1,d(C) ≤ u, maka terdapat c1,c2,∈ C dengan demikian bahwa1 ≤ d(c1,c2) = d(C) ≤ u. Apabila c1 dikirim dan kemudian ada u−error kesalahan padapengiriman tersebut, maka si penerima akan mendapatkan (mungkin) c2 dengan demikian ka-rena c2 ∈ C maka si penerima akan menyimpulkan bahwa c2 sebagai codeword yang dikirim.Dengan kata lain, tifak bisa mendeteksi adanya kesalahan. Jadi Kontradiksi sehingga terbuktibahwa d(C) ≥ u+1.
  • 14. 8 BAB 2. DETEKSI, KOREKSI KESALAHAN DAN DECODINGTeorema 2.5.5. Code C merupakan u−error correcting code jika dan hanya jika d(C) ≥2v+1.Bukti. ’⇐’ Andaikan bahwa d(C) ≥ 2v+1. Misalkan c codeword yang dikirim dan misalkanx word yang diterima. Jika v atau lebih sedikitnya error dalam transmisi, maka d(x,c) ≤ v.Jadi, untuk sebarang codeword c ∈ C,c = c , kita mempunyaid(x,c ) ≥ d(c.c )−d(x,c)≥ 2v+1−v= v+1> d(x,c)Jadi, x akan didecode(secara langsung) ke c jika minimum distance decoding rule digunakan.Ini menunjukkan bahwa C adalah v−error-correcting.’⇒’ Andaikan bahwa C adalah v−error correcting. Jika d(C) < 2v + 1, maka terdapatcodeword yang berbeda c,c ∈ C dengan d(c,c ) = d(C) ≤ 2v. Asumsikan bahwa c yangdikirim dan muncul v error dalam pengiriman sehingga sistem ini mengoreksi tidak denganbenar. Misalkan d(c,c ) < u+1 maka kemudian yang dikirim c maka yang diterima c = ckontradiksi padahal c adalah v−error correcting code. Jadi v+1 ≤ d(c,c ) ≤ 2v. Kita dapatmengambil x sebagai berikut :x = x1x2 ...xvcxv+1 ...xdcxd+1 ...xnkeduanyaadalah yang diterima, kita mempunyaid(x,c ) = d −v ≤ v = d(x,c)Sehingga salah satunya adalah d(x,c ) = d(x,c),didalam kasus x adalah terjadi kesalahanyaitu didecode sebagai c atau d(x,c) = d(x,c ) harusnya ke v2.Latihan2.1 Jelaskan mengapa binary communication channel dimana p < 12 disebut useless channel.2.2 Andaikan bahwa codeword dari binary code {000,100,111} dikirimkan atas BSCdengan crossover probabilitas p = 0,03. Menggunakan maximum likehood decodingrule untuk mendecode word yang diterima dibawah ini :(a) 010 (b)011 (c)0012.3 Pertimbangkan memoryless binary channel dengan probabilitasP(0 diterima — 0 terkirim) = 0,7 P(1 diterima — 1 terkirim) = 0,8Jika codewords dari binary code {000,100,111} yang terkirim atas channel ini, meng-gunakan maximum likehood decoding rule untuk mendecode word yang diterimadibawah ini :(a) 010 (b) 011 (c) 0012.4 Misalkan C = {001,011} binary code
  • 15. 2.5. DISTANCE OF A CODE 9(a) Andaikan bahwa kita mempunyai memoryless binary channel dengan probabilitasdibawah ini :P = (0 diterima — 0 terkirim) = 0,1, P(1 diterima — 1 terkirim ) = 0,5. Meng-gunakan maximum likehood decoding rule untuk mendecode word yang diterimaadalah 000(b) Menggunakan nearest neighbour decoding rule untuk mendecode 000.2.5 Untuk binary code C = {01101,00011,10110,11000}, menggunakan channel neighbo-ur decoding rule untuk mendecode word diterima dibawah ini :(a) 00000 (b) 01111, (c) 10110 (d) 10011, (e) 11011.2.6 Untuk tenary codeC = {00122,12201,20110,22000}, menggunakan nearest neighbourdecoding rule untuk mendecode word yang diterima dibawah ini :(a) 01122, (b) 10021, (c) 22022, (d) 20120.2.7 Kontruksikan IMLD tabel untuk setiap binary code dibawah ini :C = {101,111,011} C = {000,001,010,011}2.8 Hitunglah banyaknya bianry code dengan dengan parameter (n,2,n), untuk n ≥ 2
  • 16. 10 BAB 2. DETEKSI, KOREKSI KESALAHAN DAN DECODING
  • 17. Bab 3Lapangan BerhinggaKita mengetahui bersama bahwa code alfabet A merupakan himpunan yang berhingga(finiteset). Sebagaimana kita ketahui juga bahwa sebuah lapangan(field) seperti real field R dancomplex field C mempunyai operasi penjumlahan dan perkalian. Ide kita menghubungkan Adengan field, namun yang memiliki elemen yang berhingga atau finite field. Finite field inicukup berbeda dari yang sebelumnya kita pelajari. Didalam bab ini kita hanya mempelajarisedikit bagian dari finite field.3.1 FieldsDefinisi 3.1.1. Field adalah himpunan tak kosong F dengan dua opeasi + dan . memenuhiaksioma dibawah ini. ∀a,b,c ∈ F :(i) F tertutup terhadap + dan . , a+b dan a.b ∈ F.(ii) a+b = b+a, a.b = b.a (sifat komutatif).(iii) (a+b)+c = a+(b+c), a.(b.c) = (a.b).c (sifat assosiatif).(iv) a.(b+c) = a.b+a.c (sifat distributif).(v) a+0 = 0+a = a,∀a ∈ F.(vi) a.1 = a dan a.0 = 0,∀a ∈ F.(vii) Untuk sebarang a ∈ F, terdapat elemen invers penjumlahan (−a) ∈ F dengan demikian(a)+(−a) = 0(viii) Untuk sebarang a = 0 ∈ F, terdapat elemen invers perkalian a−1 ∈ F dengan demikiana.a−1 = 1Kita biasanya menuliskan a.b dengan ab dan F∗ sebagai himpunan F{0}Contoh 3.1.2. Q,R,C adalah merupakan field.Lemma 3.1.3. Misalkan a,b sebarang dua anggota dari field F, maka(i) (−1).a = −a(ii) ab = 0 maka a = 0 atau b = 011
  • 18. 12 BAB 3. LAPANGAN BERHINGGAContoh 3.1.4. (i) Himpunan semua bilangan bulatZ = {0,±1,±2,...}merupakan bentuk ring terhadap penjumlahan dan perkalian, disebut sebagai ringinteger.(ii) Himpunan semua polynomial atas field F,F[x] := {a0 +a1x+···+anxn: ai ∈ F,n ≥ 0}merupakan bentuk ring dengan penjumlahan dan perkalian polynomial.Definisi 3.1.5. Misalkan a,b dan m > 1 bilangan bulat. Kita katakan bahwa a kongruen keb modulo m, dituliskan sebagaia ≡ b(mod m)jika m|(a−b) artinya m membagi habis a−b.Contoh 3.1.6. (i) 90 ≡ 30 (mod 60) dan 15 ≡ 3(mod 12).(ii) a ≡ 0 (mod m) artinya m|a(iii) a ≡ 0 (mod 2) artinya a bilangan genap.(iv) a ≡ 1 (mod 2) artinya a bilangan ganjil.Jika field dengan |F| < ∞, maka F disebut Finite FieldTeorema 3.1.7. Zm adalah field jika dan hanya jika m prima.Bukti. Andaikan bahwa m merupakan bilangan komposit. Mislakan m = ab untuk duabilangan bulat yang memenuhi 1 < a,b,< m. Selanjutnya a = 0,b = 0.Jadi 0 = m = 0 ∈ Zm.Ini kontradiksi dengan yang diketahui di Lemma 3.1.3. Jadi Zm bukan field.Sekarang misalkan m merupakan bilangan prima. Untuk sebarang anggota a ∈ Zm, 0 < a < m,kita mengetahui bahwa a adalah prima ke n. Jadi, ada dua bilangan bulat u,v dengan sifat0 ≤ u ≤ m − 1 dengan demikian ua + vm = 1, ua ≡ 1 (mod m). Selanjutnya u = a−1. Inimengatakan bahwa aksioma (viii) di definisi 3.1.1 juga memenuhi. Jadi Zm adalah field.Untuk ring R, bilangan bulat n ≥ 0 dan a ∈ R, kita notasikan dengan na atau n.a elementn∑i=1a = a+a+···+an.Definisi 3.1.8. Misalkan F field characteristic dari F adalah bilangan bulat positif terkecilp sehingga p.1 = 0, dimana 1 elemen identitas dari F. Jika tidak demikian p ada, kitadefinisikan characteristicnya 0.Contoh 3.1.9. (i) Karakteristik Q,C,R adalah 0(ii) Karateristik dari field Zp adalah p untuk sebarang p prima.Kita mendapatkan teorema dibawah ini yang mengatakan karakteristik dari field bukanbilangan komposit.
  • 19. 3.1. FIELDS 13Teorema 3.1.10. Karakteristik dari field salah satunya 0 atau bilangan prima.Bukti. Jelas bahwa 1 bukan merupakan karateristik sebab 1.1 = 1 = 0.Andaikan bahwa karakteristik dari field p adalah bilangan komposit. Misalkan p = nm untuksuatu bilangan bulat 1 < n,m < p. Ambil a = n.1 dan b = m.1, dimana 1 element identitasperkalian dari F. Makaa.b = (n.1)(m.1) = (n∑i=11)(m∑j=11) = (mn).1 = p.1 = 0Menggunakan Lemma 3.1.3(ii), a = 0 atau b = 0. Ini artinya m.1 = 0 atau n.1 = 0. Kontradiksidengan definisi karateristik.Misalkan E,F dua fields dan misalkan F subfiled dari E,. F disebut sebagai subfield dari Ejika penjumlahan dan perkalian yang sama dengan E .Contoh 3.1.11. (i) Bilangan rasional Q adalah merupakan subfield dari bilangan real Rdan C dan R merupakan subfield dari C .(ii) Misalkan F field dengan karakteristik p maka Zp bisa dipandang sebagai subfield F .Teorema 3.1.12. Finite field F dengan karaterisktik p memuat pn elemen untuk suatu bilangnbulat n ≥ 1 .Bukti. Dipilih elemen α1 dari F∗. Kita mengklaim bahwa 0.α1.1.α1.....(p − 1).α1 me-rupakan pasaangan yang berbeda. Jika i.α1 = j.α1 untuk suatu 0 ≤ i ≤ j ≤ p − 1, maka(j −1).α1 = 0 dan 0 ≤ (j −1) ≤ p−1. Karakteristik dari F adalah p sehingga j −i = 0.Jadii = j.Jika F = {0.α1.1.α1.....(p − 1).α1}, maka bukti selesai. Dilain pihak, jika kita memilihelemen α2 ∈ F{0.α1.1α1.....(p−1).α1} . Kita mengklaim bahwa a1α1 +a2α2 merupakanpasangan yang berbeda untuk semua 0 ≤ a1,a2 ≤ p−1 sehinggaa1α1 +a2α2 = b1α1 +b2α2 (3.1)untuk suatu 0 ≤ a1,a2,b1,b2 ≤ p − 1, maka harus mempunyai a2 = b2. Disisi lain, kitaseharusnya mempunyai dari 3.1 bahwa α2 = (b2 −a2)−1(a1 −b1)−1α2. Ini kontradiksi kepilihan kita α2. Ketika a2 = b2, dari 3.1 didapat (a1,a2) = (b1,b2) . Karena F mempunyaielemen berhingga maka kita dapat melanjutkannya dan didapatkan elemen-elemen α1,...,αndengan demikianαi ∈ F{a1α1 +···+ai−1αi−1 : a1,...,ai−1 ∈ Zp} untuk semua 2 ≤ i ≤ n,danF = {a1α1 +···+anαn : a1,...,an ∈ Zp}Didalam masalah yang sama, kita bisa menunjukkan bahwa a1α1 + ··· + anαn adalah me-rupakan pasangan yan berbeda untuk semua ai ∈ Zp i = 1,...,n . Ini mengatakan bahwa|F| = pn .
  • 20. 14 BAB 3. LAPANGAN BERHINGGA3.2 Polynomial RingsDefinisi 3.2.1. Misalkan F merupakan field. HimpunanF[x] = {n∑i=0aixi: ai ∈ F,n ≥ 0}disebut sebagai polynomial ring atas F.F adalah ring menurut aksioma (i)-(iv) dari definisi 3.1.1 terpenuhi. Elemen dari F[x]disebut polynomial atas F . Untuk polynomial f(x) = ∑ni=1 aixi, bilangan n disebut degreedari f(x), dinotasikan sebagai deg(f(x)), jika an = 0 atau kita definisikan deg(0) = −∞ .Lebih jauh,dapat dilihat jenis polynomialnya sebagai berikut :1. Polynomial tak nol f(x) = ∑ni=0 aixi mempunyai degree ndikatakan monic jika an = 1 .2. Polynomial dikatakan reducible jika terdapat dua polynomial g(x) dan h(x) atas F de-ngan demikian deg(g(x)) < deg(f(x)) dan deg(h(x) < deg(f(x)) dan f(x) = g(x)h(x).3. Polynomial yang tidak reducible disebut irreducible.Contoh 3.2.2. (i) Polynomial f(x) = x4 +2x6 ∈ Z3[x] dengan degree 6 merupakan redu-cible sebab f(x) = x4(1+2x2)(ii) Polynomial g(x) = 1 + x + x2 ∈ Z2[x] dengan degree 2 merupakan irreducible sebabtidak mempunyai faktor linear seharusnya mempunyai faktor linear linear yaitu x danx+1 atau 0 dan 1 tetapi g(1) = g(0) = 1 ∈ Z2.(iii) Menggunakan alasan yang sama dengan (ii), kita bisa menunjukkan bahwa bahwa2+x3 +x dan 1+x2 +x3 juga merupakan irreducible atas Z2.Definisi 3.2.3. Misalkan f(x) ∈ F[x] polynomial dengan degree n ≥ 1. Maka untuk sebarangpolynomial g(x) ∈ F[x], terdapat dengan tunggal pasangan (s(x),r(x)) polynomial dengandegree(r(x)) < degree(f(x)) atau r(x) = 0 dengan demikian g(x) = s(x)f(x) + r(x). Po-lynomial r(x) disebut (principal) remainder dari g(x) dibagi oleh f(x), dinotasikan oleh(g(x)(mod f(x))).Contoh 3.2.4. Misalkan f(x) = 1+x2 dan g(x) = x+2x4 dua polynomial di Z5[x]. Ketikakita mempunyai g(x) = x + x4 = (3 + 2x2)(1 + x2)(2 + x) = (3 + 2x2)f(x) + (2 + x), danremainder(sisa) g(x) dibagi oleh f(x) adalah 2+x.Definisi 3.2.5. Misalkan f(x) dan g(x) ∈ F[x] merupakan dua polynomial tak nol. Greatestcommon divisor dari f(x),g(x) dinotasikan oleh gcd(f(x),g(x)) adalah polynomial monicdengan degree terbesar adalah pembagi keduanya f(x) dan g(x). Khususnya, kita katakanbahwa f(x) adalah co-prime atau prime ke g(x) jika gcd(f(x),g(x)) = 1. Least commonmultiple dari f(x),g(x) dinotasikan oleh lcm(f(x),g(x)) adalah polynomial monic degreeterendah adalah perkalian keduanya f(x) dan g(x).Contoh 3.2.6. Diketahui Z2 = {0,1} merupakan field danZ2[x] = {0,1,1+x,1+x+x20,...}= {a0 +a1x+a2x2+···+anxn|ai ∈ Z2,n ∈ Z+{0}}
  • 21. 3.2. POLYNOMIAL RINGS 15Ring Integral Z Ring Polynomial F[x]Integer m Polynomial f(x)Bilangan prima p polynomial irreducible p(x)Tabel 3.1: Analogi antara Zdan F[x]Catatan 3.2.7. (i) Jika kita mempunyai dua faktorisasi dibawah ini:f(x) = a.p1(x)e1 ... pn(x)en, g(x) = b.p1(x)d1 ... pn(x)dn, Dimana a,b ∈ F∗,ei,di ≥0 dan pi(x) adalah polynomial monic irreducible yang berbeda(eksistensi dan ketung-galan faktorisasi polynomial yang kita ketahui dengan baik),makaZm = {0,1,...,m−1} F[x]/(f(x)) := {∑ni=0 −1aixi : ai ∈ F,n ≥ 1}a⊕b := (a+b (mod(m)) g(x)⊕h(x) := (g(x)+h(x)) (mod f(x)))a b := (ab (mod m)) g(x) h(x) := (g(x)h(x)) (mod f(x)))Zm ring F[x] / f(x) ringZm field ⇔ m prima F[x] / (f(x)) field ⇔ f(x) irreducibleTabel 3.2: Analogi lebih lanjut Z dan F[x]gcd(f(x),g(x)) = p1(x)min{e1,d1}... pn(x)min{en,dn}.danlcm(f(x),g(x)) = p1(x)max{e1,d1}... pn(x)max{en,dn}.(ii) Misalkan f(x),g(x) ∈ F[x] merupakan dua polynomial tak nol. Maka terdapat dua po-lynomial u(x),v(x) dengan degree(u(x)) < degree(g(x)) dan degree(v(x)) < degree(f(x)),dengan demikian bahwagcd(f(x),g(x)) = u(x)f(x)+v(x)g(x).(iii) Dari (ii), dengan mudah ditunjukkan bahwa gcd(f(x)h(x),g(x)) = gcd(f(x),g(x)) jikagcd(h(x),g(x)) = 1.Disana banyak analogi antara Z Ring Integral dengan ring polynomial F[x]. Kita daftark-an pada tabel 3.1 dan hasil lebih lanjut dapat dilihat di tabel 3.2.Teorema 3.2.8. Misalkan f(x) polynomial atas F dengan degree ≥ 1. Maka F[x]/(f(x))bersama dengan penjumlahan dan perkalian yang didefinisikan pada tabel 3.2, berbentukRing. Lebih jauh, F[x]/(f(x)) adalah field jika dan hanya jika irreducible.Catatan 3.2.9. (i) Kita akan menotasikan ⊕ untuk penjumlahan dan untuk perkaliandi F[x]/(f(x)).(ii) Jika f(x) adalah polynomial linear maka field F[x]/(f(x)) adalah field F dengandirinya sendiri.
  • 22. 16 BAB 3. LAPANGAN BERHINGGAContoh 3.2.10. (i) Diberikan ring dengan R[x]/(1+x2) = {a+bx : a,b ∈ R} merupakanfield ketika 1+x2 adalah irreducible atas R. Faktanya, juga merupakan field C, untukmelihatnya kita hanya mengganti x di R[x]/(1+x2) dengan bilangan imaginer i.(ii) Diberikan ringZ2[x]/(1+x2) = {0,1,x,x+1}Kita selanjutnya mengkontruksikan penjumlahan dan perkalian didapat bahwa Z2[x]/(1+x2) bukan field sebab (1+x)(1+x) = 0.(iii) Diberikan ringZ2[x]/(1+x+x2) = {0,1,x,1+x}.1+x+x2 irreducible atas Z2[x]. Jadi ring Z2[x]/(1+x+x2) adalah field.3.3 Structure of Finite FieldsLemma 3.3.1. Untuk setiap elemen β dari finite field F dengan q elemen, kita mempunyaiβq = βBukti. Untuk β = 0 jelas. Untuk β = 0 danF∗= {β1,β2,...,βq−1 | βi = 0 : i = 1,2,...,q−1}.Selanjutnya βF∗ = {ββ1,ββ2,...,ββq−1}. Jika i = j maka ββi = ββj sehingga βF∗ = F.Jadiβ1β2,...,βq−1 = ββ1ββ2ββ3,...,ββq−1= βq−1β1β2,...,βq−1Karena field maka βq−1 = 1.Jadi βq = β.Akibat 3.3.2. Misalkan F merupakan subfield dari E dengan |F = q. Maka anggota β dariE di F jika dan hanya jika βq = βBukti. ⇒ Jelas, karena diketahui β ∈ E dan β ∈ F. Menurut Lemma 3.3.1, β ∈ F ⇔ βq = β.⇐ Diketahui β ∈ E dan βq = β. Akan dibuktikan β ∈ F. Perhatikan polynomial f(x) =xq − x ∈ E(x). Banyak akan atau pembuat nol dari f(x) paling banyak ada q. Dan telahdiketahui semua anggota F merupakan akar dari f(x) sehingga F = { akar -akar dari xq −xdalam E(x) }Teorema 3.3.3. Untuk sebarang bilangan prima p dan bilangan bulat n ≥ 1, terdapat dengantunggal finite field dengan pn elemen.Bukti. (Eksistensinya) Pilih irreducible polynomial berderajat n(monic)atas Zp maka Zp[x] |f(x) = GF(pn) adalah field dengan banyak anggota pn dengan p bilangan prima.(Ketunggalannya) Jika E dan F finite field dengan | E |=| F |= pn, maka E ≤ E.F dan F ≤ E.F.Kita perhatikan polynomial xpn−x atas E.F.Definisi 3.3.4. Anggota α didalam finite field Fq disebut primitive element atau generatordari Fq jika Fq = {0,α,α2,...,αq−1}.
  • 23. 3.3. STRUCTURE OF FINITE FIELDS 17Contoh 3.3.5. Diberikan field F4 = F2[α], dimana α adalah akar dari polynomial irreducible1+x+x2 ∈ F2[x]. Maka kita mempunyaiα2 = −(1+α) = 1+α, α3 = α(α)2= α(1+α) = α +α2 = α +1+α = 1 Jadi, F4 ={0,α,1+α,1} = {0,α,α2,α3} sehingga α elemen primitif.Definisi 3.3.6. Order dari elemen tak nol α ∈ Fq, dinotasikan sebagai ord(α) adalah meru-pakan bilangan bulat positif terkecil k sehingga α2 = 1.Contoh 3.3.7. Diketahui GF(9)GF(32), dan f(x) = 1+x2 ∈ Z3[x] yang merupakan polyno-mial irreducible. Jika α ∈ GF(9) = F3[α] sehingga α merupakan akar dari f(x) = 1 + x2didapat 1+α2 = 0. Jadiα2 = −1 = 2, α3 = α.α22.α, α4 = α2.α.α = 2.α2 = 2.(−1) = 4 = 1Jadi, order dari α adalah 4.Lemma 3.3.8. 1. Untuk setiap α ∈ GF(q)∗ berlaku ord(α) membagi habis (q−1).2. ∀α,β ∈ GF(q)∗, jika gcd(ord(α),ord(β)) = 1 maka ord(α.β) = ord(α).ord(β).Bukti.1. Misalkan m ∈ Z+ adalah bilangan dengan sifat αm = 1, maka m = a.ord(α)+b,0 ≤b < ord(α). Didapat 1 = αm = αa.ord(α)+b = [αord(α)]a.αb = 1a.αb = αb. Karenaα ∈ GF(q∗) maka αq−1 = 1. Jadi ord(α) | (q−1), karena q−1 = a.ord(α)+b denganb = 0.2. Misalkan γ = ord(α).ord(β), maka αγ = βγ. Karenaα = αord(α).ord(β) = [αord(α)]ord(β) = 1ord(β) = 1 sehingga (α.β)γ = 1. Akibatnyaord(α.β) ≤ γ = ord(α).ord(β). Jika ord(α.β) = t maka1 = (α.β)t.ord(α) = αt.ord(α).βt.ord(α) = βt.ord(α).Menurut bukti sebelumnya, ord(β) membagi t.ord(α) sehingga ord(β) | t.ord(α) dangcd(ord(α).ord(β)) = 1, maka ord(β) | t. Dengan jalan yang sama bisa ditunjukk-an bahwa ord(α) | t. Akibatnya ord(α).ord(β) | t sehingga ord(α).ord(β) ≤ t =ord(α.β). Jadi terbukti ord(α).ord(β) = ord(α.β).Proposisi 3.3.9. 1. α ∈ GFq∗elemen primitive jika dan hanya jika ord(α) = q−12. Setiap finite field mempunyai sekurang -kurangnya satu elemen primitive.Bukti.1. Jika α ∈ GF∗ dan ord(α) = q−1 maka {α,α2,...,αq−1} elemen -elemennya berbeda.Jadi GF∗ = {αi | i > 0}.2. Misalkan m adalah least common multiple(lcm) dari order semua elemen dari Fq denganm = lcm{ord(αi) | αi ∈ Fq∗}. Katakan m = r1k1,r2k2,...,rnkn dengan ri bilangan-bilangan prima yang berbeda k ≥ 0. Jika rk adalah salah satu diantara para riki makaterdapat α ∈ Fq∗sehingga rk | ord(α). Akibatnya, αord(α)rk mempunyai order rk sehinggauntuk setiap i = 1,2,...,n terdapat βi ∈ Fq∗dengan ord(βi) = riki. Menurut Lemma3.3.8, terdapat β ∈ Fq∗dengan ord(β) = m dan m | q−1 sehingga m ≤ q−1. Dilainpihak (q − 1) merupakan elemen dari Fq∗merupakan akar dari xm − 1. Akibatnya,m ≥ q−1. Jadi ord(β) = m = q−1.
  • 24. 18 BAB 3. LAPANGAN BERHINGGACatatan 3.3.10. Jika α akar dari irreducible polynomial berderajat m atas Fq dan α jugaelemen primitive dari Fmq∗maka anggotanya Fmq dapat disajikan dengan 2 cara yaitu sebagaiberikut :1. Fmq = {a0 +a1α1 +a2α2 +···am−1αm−1 | ai ∈ Fq}2. Fmq = {0,α1,α2,...,αqm−1}Contoh 3.3.11. Diberikan f(x) = 1+x+x2 ∈ F2[x] dan f(x) irreducible. Jika α merupakanakar dari f(x) maka F8 = F2[α].F8 = {a0 +a1x+a2x2| ai ∈ F2}= {0,1,α,1+α,α +α2,1+α2,1+α +α2}Apakah α merupakan elemen primitive ? Ingat ord(α) | (8−1). Jadi ord(α) | 7, kemudiankemungkinan ord(α) = 1 atau ord(α) = 7. Karena ord(α) = 1 maka ord(α) = 7. Karena| F8 |= 7. Jadi didapat bahwa α elemen primitive sehingga F8 = {0,α,α2,α3,α4,α5,α6,α7}sebab 0 = 0, 1 = α7, α = α1, 1+α = α3, α2 = α, 1+α2 = α6, α +α2 = α4,dan 1+α +α2 = α5.Zech’s Log TableMisalkan α elemen primitive dari Fq. Untuk setiap 0 ≤ i ≤ q−2 atau i = ∞, kita kontruksikantabel Z(i) sehingga 1 + αi = αZ(i) dan α∞ = 0 sehingga ∀αi,α j ∈ Fq,0 ≤ i ≤ j ≤ q − 2.Selanjutnya diperoleh αi +α j = αi(1+α j−1) = αi+Z(q−1).Contoh 3.3.12.α3+α5= α3(1+α2)= α3.αZ(2)= α3+Z(2)Latihan3.1 Tunjukkan bahwa sisa setiap bilangan bulat pangkat dua dibagi oleh 4 adalah salahsatunya 0 atau 1. Selanjuntya, tunjukkan bahwa tidak ada bilangan bulat x dan y dengandemikian x2 +y2 = 40403.3.2 Kontruksikan tabel penjumlahan dan perkalian untuk ring Z5 dan Z8.3.3 Temukan invers perkalian setiap elemen dibawah ini :(a) 2,5 dan 8 di Z11(b) 4,7 dan 11 di Z173.4 Misalkan p bilangan prima.
  • 25. 3.3. STRUCTURE OF FINITE FIELDS 19(i) Tunjukkan bahwapj≡ 0 (mod p) untuk sebarang 1 ≤ j ≤ p−1.(ii) Tunjukkan bahwap−1j≡ (−1)j (mod p) untuk sebarang 1 ≤ j ≤ p−1.(iii) Tunjukkan bahwa, untuk sebarang dua elemen α,β didalam field dengan chara-cteristic p, kita mempunyai(α +β)pk= αpk+β pkUntuk sebarang k ≥ 0.3.5 (i) Verifikasikan bahwa f(x) = x5 −1 ∈ F31[x] bisa dituliskan sebagai hasil kali dari(x2 −3x+2)(x3 +3x2 +7x+5).(ii) Tentukan sisa dari f(x) dibagi oleh x2 −3x+2.(iii) Hitunglah sisa f(x) dibagi oleh x5,x7, dan x4 +5x3.3.6 Verifikasikan bahwa polynomial dibawah ini merupakan irreducible :(a) 1+x+x2 +x3 +x4, 1+x+x4, dan 1+x3 +x4 atas F2.(b) 1+x2, 2+x+x2 dan 2+2x+x2 atas F3.3.7 Setiap polynomial kuadrat atau pangkat tiga salah satunya irreducible atau mempunyaifaktor linear(a) Temukan banyaknya polynomial monic kuadrat atas Fq.(b) Temukan banyaknya polynomial monic pangkat tiga atas Fq.(c) Hitunglah semua polynomial irreducible kuadrat dan pangkat tiga atas F2.(d) Hitunglah semua polynomial monic kuadrat irreducible atas F3.3.8 Misalkan f(x) = (2 + 2x2)(2 + x2 + x3)2(−1 + x4) ∈ F3[x] dan g(x) = (1 + x2)(−2 +2x2)(2+x2 +x3) ∈ F3[x]. Carilah gcd(f(x),g(x)) dan lcm(f(x),g(x)).3.9 Temukan dua polynomial u(x) dan v(x) ∈ F2[x] dengan demikian bahwa deg(u(x)) < 4,deg(v(x)) < 3 danu(x)(1+x+x3)+v(x)(1+x+x2+x3+x4) = 1
  • 26. 20 BAB 3. LAPANGAN BERHINGGA
  • 27. Bab 4Linear CodeSebuah kode linear dengan panjang n atas lapangan berhinggga (finite field) secara sederhanaruang bagian dari ruang vektor Fqn. Ketika kode linear adalah merupakan ruang vektormenjadi lebih mudah untuk menjelaskannya dan menggunakannya daripada yang bukan kodelinear.4.1 Vector Space over finite fieldsDefinisi 4.1.1. Misalkan Fq merupakan lapangan berhingga dengan banyaknya q. V him-punan tak kosong bersama dengan operasi penjumlahan(+) dan perkalian skalar denganelemen Fq adalah ruang vektor(ruang linear) jika memenuhi semua kondisi dibawah ini :(i) u+v ∈ V(ii) (u+v)+w = u+(v+w);(iii) Terdapat elemen 0 dengan sifat 0+v = v = v+0 untuk semua v ∈ V.(iv) Untuk setiap v ∈ V terdapat elemen V yang disebut −u sehingga u + (−u) = 0 =(−u)+u;(v) u+v = v+u(vi) λv ∈ V(vii) λ(u+v) = λu+λv,(λ +u) = λu+λu(viii) (λµ)u = λ(µu)(ix) Jika 1 merupakan elemen identitas perkalian dari Fq, maka 1.u = u.Definisi 4.1.2. Himpunan bagian C dari ruang vektor V adalah ruang bagiansubspace V jikaruang vekto yang mempunyai penjumlahan dan perkalian vektor yang sama dengan V.Proposisi 4.1.3. Himpunan bagian C dari ruang vektor V atas Fq adalah subspace jika danhanya jika terpenuhi syarat dibawah ini:jika x,y ∈ C dan λ,µ ∈ Fq, maka λx+ µy ∈ C.21
  • 28. 22 BAB 4. LINEAR CODE4.2 Linear CodeKita akan memperkenalkan linear code. Misalkan himpunan semua pesan yang kita harapkandapat ditransmisikan adalah himpunan semua k−tuple yang mempunyai suatu field F denganq elemen. Kita notasikan semua himpunan k−tuple atas F menggunakan Vk(F) maka adaqk elemen. Himpunan ini disebut sebagai ”ruang vektor” dan disini kita sebut sebagai”message space”. Misalkan kita memerlukan untuk mendeteksi atau mengoreksi kesalahan,kita harusnya menambah beberapa pengulangan yang ada. Selanjutnya, pesan(message)k−tuple disisipkan kedalam n− tuple dengan n ≥ k. Jadi kita akan mengatur korespodensisatu-satu antara qk pesan dan qk n−tuple didalam Vn(F). Teknik ini secara aljabar dikatakansebagai bentuk ruang bagian berdimensi-k di dalam Vn(F). Kita bisa mendapat ruang bagianberdimensi-k dengan k vektor- vektor yang bebas linear di Vn(F). Kita bisa memilih k vektor-vektor yang bebas linear adalah(qn−1)(qn−q)(qn−q2)···(qn−qk−1) (4.1)Ketentuannya sebagai berikut :• (qn −1) didapat dengan memilih sebarang vektor tak nol.• (qn −q) didapat dengan memilih sebarang vektor yang bebas linear dari vektor pertamayang terpilih• (qn −q2) didapat dengan memilih sebarang vektor yang bebas linear dari vektor keduayang terpilih...• (qn − qk−1) didapat dengan memilih sebarang vektor yang bebas linear dari vektor(k −1) denganKita dapat memilih qn −qi cara tetapi ini hanyalah menghitung banyak himpunan terurut darik− vektor yang bebas linear. Dengan cara yang sama, ruang bagian berdimensi-k memuat(qk−1)(qk−q)···(qk−qk−1) (4.2)Jadi total banyaknya ruang bagian berdimensi-k di Vn(F) adalahs =(qn −1)(qn −q)···(qn −qk−1)(qk −1)(qk −q)···(qk −qk−1)=(qn −1)(qn−1 −1)···(qn−k+1)(qk −1)(qk−1 −1)···(q−1)Jadi, Kode linear(linear code) atas F adalah ruang bagian dari Vn(F) berdimensi k(n,k,d).Contoh 4.2.1. Diberikan V3(Z3) = {a1a2a3 | ai ∈ Z3}. Tentukan banyaknya dua vektor yangbebas linear didapat (23 −1)(23 −2) = 7.6 = 42.Jika kita memilih sebarang satu dari s ruang bagian, maka kita bisa mendefinisikankorepedensi satu-satu antara vektor di ruang bagian S dan ruang pesan M adalah pertamamemilih sebuah basis katakan B = {v1,v2,...,vk} untuk S dan kemudian kita definisikankorespodensinya adalahf : M → Sdengan f(m) = ∑ki=1 mivi, dimana m = {m1,m2,...,mk} adalah message k−tuple,i.e m ∈ M.Contoh 4.2.2. Misalkan diberikan basis β = {β1,β2} dengan β1 = {110} dan β2 = {0110},maka didapatkan sebagai berikut :00 → 0.β1 +0.β2 = 0000 01 → 0.β1 +1.β2 = 011010 → 1.β1 +0.β2 = 1100 11 → 1.β1 +1.β2 = 1010
  • 29. 4.3. HAMMING WEIGHT 234.3 Hamming WeightHamming Weight dari suatu vektor v, dengan notasi w(v) adalah banyaknya transisi koordinatdari v yang komponennya bukan nol. Hamming Wight dari (n,k)− code C adalahw(C) = min{w(C) | c ∈ C,c = 0}Contoh 4.3.1. V = (1011001) → w(v) = 4Contoh 4.3.2. Diberikan himpunan kode dibawah ini :S1 = {01000,00100,01100,00001}S2 = {00000,01100,00011,01111}S2 dan S1 masing -masing merupakan ruang bagian dari V5(Z2) yang berdimensi 2. S1 dan S2masing - masing merupakan (5,2)− code.Salah satu keuntungan kode linear yaitu distancenya sama dengan weight dari kode lineartersebut.Teorema 4.3.3. Jika d merupakan distance dari (n,k) code C, maka berlaku d = w(C).Bukti. d(C) = min{d(x,y) | x,y ∈ C,x = y}, bisa dicek d(x,y) = w(x−y) sehingga d(C) =min{w(x−y) | x,y ∈ C,x = y} = min{w(a) | a ∈ C,a = 0} = w(C)Contoh 4.3.4. Diketahui GF(4) = {0,1,x,1 + x} merupakan polynomial irreduciblenya1+x+x2, GF(4) = {1,2,3,4} dan V = (01230112), dan W = {02311113} didapat w(v) = 5dan w(w) = 7, serta w.(v−w) = 5.Contoh 4.3.5. Diberikan (5,3)−kode C dengan basis dibawah in :V1 = (10001)V2 = (00010)V3 = (00100)C = {10001,00010,00100,10010,10100,00110,10111,00000}G =V1V2V3 =1 0 0 0 10 0 0 1 00 0 1 0 0 → generator matriks untuk (5,3)− code CJika pesan m = (a,b,c) disandikan kem.G = A = a b c =1 0 0 0 10 0 0 1 00 0 1 0 0 = a 0 b c aJika basis yang kita pilih berbedakatakanV1 = (10010)V2 = (01011)V3 = (00101)Maka pesan m = a b c akan disandikan menjadim.G = a b c =1 0 0 1 00 1 0 1 10 0 1 0 1 = a b c a+b b+c
  • 30. 24 BAB 4. LINEAR CODEDiketahui (n,k)− codeC dengan generator matrik G =V1V2...Vrdengan V1 V2 ... Vkbebas linear dan Span V1 V2 ... Vk = CG =a11 a12 ... a1na21 a22 ... a2n.........ak1 ak2 ... akn→ G =b11 b12 ... b1nb21 b22 ... b2n.........bk1 bk2 ... bknGenerator matrik G untuk (n,k)− code C dikatakan sama dalam bentuk standar(standardform) jika G berbentukG = Ik Adengan Ik adalah matriks identitas bertipe k ×k :1 0 ... 00 1 ... 0............0 0 1k×kdan A matriks bertipe k ×(n−k)Contoh 4.3.6.G =1 0 0 1 00 1 0 1 10 0 1 0 1Jika basis yang kita pilih berbeda, katakanV1 = (00010)V2 = (00001)V3 = (00101)Definisi 4.3.7. (n,k)− code C dikatakan ekuivalen dengan (n,k)− code C jika dapat dike-nakan matrik permutasi P sehingga C = GP.Definisi 4.3.8. Diberikan (n,k)− code C, terdapat generator matriks G = [Ik A] untuk C atauekuivalen code C .Definisi 4.3.9. Diketahui x,y ∈ Vn(F denganTeorema 4.3.10. C⊥ ini merupakan (n,n−k)− code atas F1. C⊥ ruang vektor atas F2. dim(C⊥) = n−kTeorema 4.3.11. Diketahui H merupakan parity check matrix untuk (n,k)− code C atas F,setiap s−1 kolom dari H bebas linear jika dan hanya jika C merupakan distance sekurang-kurangnya S.G = [Ik A] Generator untuk CH = [−At In−k] Generator untuk C⊥
  • 31. Bab 5First Order Reed Muller Codes5.1 PendahuluanSebelum dibahas mengenai Reed Muller Code akan dibahas terlebih dahulu mengenai linearcode. Linear code menjadi dasar teori dari Reed Muller Code sebab Reed Muller Codemerupakan kelas spesial dari linear code.Definisi 5.1.1. Suatu linear code−(n,k) atas F adalah subruang berdimensi k atas Vn(F).Linear code dengan panjang n, berdimensi k dan berdistance d dinotasikan dengan (n,k,d).Pada linear code didefinisikan Hamming weight yang analog dengan Hamming distance.Berikut ini definisi Hamming weight.Definisi 5.1.2. Hamming weight dari suatu vektor v ∈ Vn(F) dinotasikan w(v) yang meru-pakan jumlah dari koordinat tak nol di v.Untuk memperjelas definisi di atas, berikut diberikan definisi Hamming weight atas(n,k)-code C.Definisi 5.1.3. Hamming weight atas (n,k)-code C adalahw(C) = min{w(x) : x ∈ C,x = 0}.Untuk memperjelas definisi 5.1.2 dan definisi 5.1.3 berikut diberikan contoh.Contoh 5.1.4. DiberikanP1 = {(0000),(0101),(1000),(1110)}P2 = {(0000),(1100),(0011),(1111)}P1 dan P2 keduanya merupakan subruang berdimensi 2 atas V4(Z2). Hamming distance danHamming weight dari P1 kedua-duanya bernilai 1, sedangkan untuk P2 kedua-duanya bernilai2.Dari contoh di atas Hamming distance dari masing-masing code sama dengan Hammingweight. Hal ini bukan merupakan suatu kebetulan. Untuk memperjelas hal tersebut, berikutini berikan suatu teorema.Teorema 5.1.5. Diberikan d yang merupakan distance dari (n,k)-code C. Sehinggad = w(C).25
  • 32. 26 BAB 5. FIRST ORDER REED MULLER CODES5.2 Generator MatricesSuatu linear code dapat dikarakterisasi oleh suatu generator matrik.Definisi 5.2.1. Suatu generator matriks G untuk (n,k)−code C adalah suatu matriks beru-kuran k ×n dimana baris-barisnya merupakan basis dari C.Untuk memperjelas definisi generator matriks berikut ini diberikan suatu teorema.Teorema 5.2.2. Jika C merupakan suatu (n,k)-code atas lapangan F, kemudian terdapatsuatu generator matriks G untuk C atau ekuivalen dengan C makaG = Ik A5.3 Parity CheckBerikut ini diberikan definisi parity check.Definisi 5.3.1. Jika G merupakan generator matriks dari C, maka H generator matriks dariC⊥ . Kemudian misalkan C merupakan (n,k)−code atas lapangan F. Jika H generatormatriks untuk C⊥ maka H disebut parity-check matriks untuk C.5.3.1 Hamming CodeBerikut ini diberikan definisi Hamming code.Definisi 5.3.2. Suatu Hamming code dari order r atas GF(q) adalah suatu (n,k) -codedimana n = (qr −1) (q−1) dan k = n−r, dengan parity-check Hr yaitu matriks berukuranr × n, sehingga entri dari kolom-kolom matriks Hr bukan nol dan kolom yang lain bukankelipatan kolom lainnya.Diberikan Hr matriks parity check untuk ((2r)−1,(2r)−1−r)- binary Hamming Codeseperti yang dijelaskan pada dasar teori. Didefinsikan Br = [Hr0], dengan Hr kolom kolom0 nya adjoint. Diberikan v1,v2,...,vr adalah vektor vektor baris dari Br dan 1 adalah barisvektor semua 1 dengan panjang 2r .Definisi 5.3.3. First Order Reed Muller Codes, dinotasikan R(1,r) sebagai Ruang bagianyang dibangun oleh vektor-vektor 1,v1,v2,...,vr. R(1,r) adalah binary code dengan generatormatriksG = [1/Br] = [1/(Hr0)]Berikut ini teorema yang menjamin First Order Reed Muller Code merupakan LinearCodeTeorema 5.3.4. R(1,r) adalah (2r,r +1,2r −1)-code.Bukti.Akan dibuktikan bahwa R(1,r) memiliki panjang 2r berdimensi r +1 dan distance 2r −1 .Karena generator memiliki 2r maka n = 2r . Karena G memiliki r+1 dan baris baris tersebutsaling bebas linear. Karena dapat ditemukan submatriks Br berupa matriks identitas r × r,dan baris terakhirnya bebas linear, tentu baris pertama juga bebas linear dengan baris yanglain, Oleh karena itu k = r +1. Sekarang akan ditunjukkan jarak atau distance kode adalahd = 2r −1 yaitu jarak atau distance minimum R(q,r) adalah 2r −q . Didefinisikan R(q,r) ={(x,x + y) : x ∈ R(q,r − 1),y ∈ R(q − 1,r − 1)} Jelas bahwa R(q − 1,r − 1) ⊆ R(q,r − 1).Dapat ditemukan bahwa x+y ∈ R(q,r −1). Sehingga diperoleh 2 kasus, yaitu:
  • 33. 5.4. HADAMARD MATRIX 271. x = y Dengan hipotesis induktive, weight dari x+y paling tidak 2(r−1) −q. Demikianjuga weight x paling tidak 2(r−1) − q. Sehingga : ω(x,x + y) = ω(x + y) + ω(x) ≥2.2r −q−1 = 2r −q2. x = y Karena x = y maka (x,x + y) = (x,0) = (y,0), dan karena y ∈ R(q − 1,r − 1),sehingga di peroleh: ω(x,x+y) = ω(y,0) = ω(y) ≥ 2(r−1) −(q−1) = 2r −q Sehinggadistance kode adalah 2r −q. Karena R(1,r) dengan q = 1. Maka distance kode adalah2r −1.Contoh 5.3.5. Diberikan First Order Reed Muller Code R(1,r) untuk r = 3.H =1 0 0 1 0 1 10 1 0 1 1 0 10 0 1 0 1 1 1B3 = [H30] =1 0 0 1 0 1 10 1 0 1 1 0 10 0 1 0 1 1 1G = [1/Br]= [1/(Hr0)]=1 1 1 1 1 1 11 0 0 1 0 1 10 1 0 1 1 0 10 0 1 0 1 1 15.4 Hadamard MatrixDefinisi 5.4.1. Hadamard Matriks Hn order n adalah n×n matriks dengan entri bilanganbulat +1 dan -1 dimana baris-barisnya saling orthogonal.Contoh 5.4.2. Hadamard matriks untuk order 1, 2, dan 4 sebagai berikut :H1 = 1H2 =1 11 −1H4 =1 1 1 11 −1 1 −11 1 −1 −11 −1 −1 1Menurut definisi 5.4.1 diperolehHnHTn = nInBeberapa sifat Hn
  • 34. 28 BAB 5. FIRST ORDER REED MULLER CODES1. Hn = nHTn dan HTn Hn = nIn2. Menukar baris atau kolom pada suatu matriks Hadamard akan menghasilkan matriksHadamard yang lain.3. Mengalikan baris atau kolom dengan -1 pada suatu matriks Hadamard akan mengha-silkan matriks Hadamard yang lain.Diberikan matrik Hadamard Hn dengan order n, dapat dibentuk matriksH2n =Hn HnHn −HnMatriks diatas disebut sebagai Matriks Kronecker product.Definisi 5.4.3. Diberikan A = [aij] dan B = [bij] matriks persegi berorde m dan n Kroneckerproduct A dengan B, dinotasikan A×B adalah matriks berukuran mn×mnA×B = [aijB]. yang diperoleh dengan cara menukarkan elemen ke−(i, j) dari A dengan matriks aijB ,matriks B yang tiap elemennya dikalikan dengan aij.Definisi 5.4.4. Proper ordering Pr binary r−tupel adalah order yang didefinisikan secararekursif dengan aturan :1. P1 = [0,1]2. Jika Pi = [b1,b2,,b(2i)] maka P(i+1) = [b10,b20,,b(2i))0,b11,b21,,b(2i)1], untuk 1 ≤i ≤ r −15.4.1 Hadamard TransformBerikut diberikan suatu definisi Hadamard transform.Definisi 5.4.5. Hadamard Transform dari 2r tuple R adalah 2r tuple ˆR dimana komponenyang bersesuaian dari R bersesuaian dengan r−tuple u ∈ Vr adalahˆR(u) = ∑v∈Vr(−1)u.v.R(v)Dengan komponen dari R merupakan bilangan bulat +1 dan -1. Komponen dari ˆR meru-pakan bilangan bulat karenaR(v) = (−1)r(v),Maka akan dipunyaˆR(u) = ∑v∈Vr(−1)u.v+r(v)Sebagai alternatif definisi, didefinisikan ˆR sebagai berikutˆR = RHDimana H adalah Hadammard matrix berorder 2r dengan baris dan kolom diindex dengan 2rvektor biner yang berbeda di Vr .
  • 35. 5.4. HADAMARD MATRIX 29Contoh 5.4.6. Untuk u = (110)T , karena u bersesuaian dengan kolom ke-4 maka R dikalikandengan kolom ke -4 dari Hadamard matriks sehingga diperolehˆR = (1)·(1)+(1)+1·(1)+(1)·1+(1)·1+(1)(1)+1·(1)+1·1 = −2Misalkan n = 2r dan u1,u2,,u(n−1) merupakan binary r−tuples dalam proper order. Di-bentuk sebuah matriks dengan elemen-elemennya +1 dan -1. Didefinisikan elemen H = [hij]dengan elemen ke−(i, j), yaitu :hij = (−1)(uiuj)Diberikan r merupakan binary 2r−tuple.Untuk binary r−tuples u didefinisikan scalar r(u)sebagai komponen r yang bersesuaian dengan u. Dari r kita bentuk suatu 2r−tuple R dimanakomponen dari vector R yang bersesuaian dengan u adalah scalar bilangan real.R(u) = (−1)(r(u))R merupakan suatu vector dengan entri +1 dan -1, dan karena r adalah vector biner maka r(u)adalah 0 atau 1.Contoh 5.4.7. Untuk r = 3, diberikan r = (1101 1100). Misalkan untuk (110)T bersesuaiandengan kolom ke-4 dari matriks B3 (pada Contoh 5.3.5). Sehingga r((110)) mengambil darikomponen ke-4 dari r. Oleh sebab itu r(110) = 1. Dari r kita memperoleh R, komponen Ryang bersesuaian dengan (110) didefinisikanR((110)) = (−1)(r(110))= (−1)1= −1Maka komponen ke-4 dari R adalah -1. Dengan menghitung komponen yang lain diperolehR = (−1,−1,1,−1,−1,−1,1,1)Teorema berikut memberikan basis untuk skema pengkodean untuk R(1,r)Teorema 5.4.8. ˆR(u) adalah banyaknya angka 0 dikurangi banyaknya angka 1 di vektorbinert = r +r∑i=1uividimana u = (u1;u2;...;ur)T adalah r−tupel dan vi adalah baris ke−i dari Br.Bukti.Ambil vi = (ai1,ai2,.....,ain), n = 2r, 1 ≤ i ≤ r.diberikan n−tuple binerr∑i=1uivi = [r∑i=1uiai1,r∑i=1uiai2,.....,r∑i=1uiain]= (uI1,uI2,.....,uIn)= uBrdimana Ij merupakan vektor kolom ke- j di Br. Dengan menggunakan kolom dari Br yangberhubungan dengan komponen r−tuple biner. Dengan menggunakan definisi diperolehr = (r(I1),r(I2),....,r(In)).
  • 36. 30 BAB 5. FIRST ORDER REED MULLER CODESmakat = r +r∑i=1uivi= (uI1 +r(I1),uI2 +r(I2),...,u(In)+r(In))jelas bahwa (−1)u.Ij+r(Ij) akan memiliki 2 kemungkinan nilai yaitu −1 jika u.Ij +r(Ij) = 1dan +1 jika u.Ij +r(Ij) = 0. menurut definisi Hadamard Transform maka diperolehˆR(u) = ∑v∈Vr(−1)u.v.R(v).karena kolom Ij dari Br merupakan r−tuple yang berbeda semua maka dimungkinkan untukditulis sebagaiˆR(u) =n∑j=1(−1)u.Ij+r(Ij)dimana ˆR(u) dihitung +1 untuk komponen di t yang bernilai 0, dan -1 untuk setiap komponenyang bdrnilai 1.Dari teorema 5.4.8 akan diperoleh persamaan berikut:d(r,1+r∑i=1uivi) = 1/2(2r+ ˆR(u)).Sekarang akan dibahas bagaimana menggunakan persamaan di atas. Misalkan r adalahvektor yang di terima, r dapat disandikan ke codeword terdekat. Pesan (r +1)−tuple sepertim = (u0;u) dengan u adalah suatu r−tuple dan u0 = 0 atau 1. Dengan menggunakan persamaandi atas, jarak minimum adalahmin{2r− ˆR(u),2r+ ˆR(u)}.Berikut algoritma untuk First Order Reed muller Codes Diberikan r yang merupakan vektorbiner dengan panjang 2r Diberikan kolom dari Br yang adalah proper ordering Pr DiberikanH yang merupakan Hadammard matrix H = H(2r)1. Hitung R dan ˆR dimana R(u) = (−1)r(u) dan ˆR = RH2. Temukan komponen ˆR(u) dari ˆR yang mana magnitude nya maximum. ambil u =(u1,...,ur)T3. Jika ˆR(u) > 0 maka r dikodekan ke ∑ri=1 uivi4. Jika ˆR ≤ 0 maka r dikodekan ke 1+∑ri=1 uiviContoh 5.4.9. Dikonstruksikan generator matrix untuk R(1,3)B3 =0 1 0 1 0 1 0 10 0 1 1 0 0 1 10 0 0 0 1 1 1 1
  • 37. 5.4. HADAMARD MATRIX 31maka akan diperoleh :G =1 1 1 1 1 1 1 10 1 0 1 0 1 0 10 0 1 1 0 0 1 10 0 0 0 1 1 1 1dengan menggunakan proper ordering P3 diperoleh matriks Hadamark sebagai berikut :H =1 1 1 1 1 1 1 11 −1 1 −1 1 −1 1 −11 1 −1 −1 1 1 −1 −11 −1 −1 1 1 −1 −1 11 1 1 1 −1 −1 −1 −11 −1 1 −1 −1 1 −1 11 1 −1 −1 −1 −1 1 11 −1 −1 1 −1 1 1 −1Andaikan r = (01110110) yang diterima decoder. MakaR = (1,−1,−1,−1,1,−1,−1,1)Dan dengan perkalian matriks akan diperolehˆR = RH = (−2,2,2,6,−2,2,2,−2)komponen magnitude yang terbesar terletak pada posisi ke 4. Komponen yang berkores-pondensi dengan kolom ke4 dari B3 diperoleh u = (110)T karena ˆR(110) = 0 positif maka rdekodekaan kec =r∑i=1uivi = 1.v1 +1.v2 +0.v3 = (01100110)
  • 38. 32 BAB 5. FIRST ORDER REED MULLER CODES
  • 39. Bab 6Cyclic Codes6.1 PendahuluanCyclic codes merupakan salah satu linear codes yang banyak digunakan karena beberapakeunggulan seperti kode yang mudah untuk dikodekan (encoded), dapat digunakan untukmembaca kode (decoding) serta banyak kode - kode penting yang dapat disajikan ke dalamcyclic codes misalnya Golay codes dan BCH codes. Pada bab didefinisikan kode - kodemana saja yang dapat digolongkan sebagai cyclic codes, sifat-sifat cyclic codes, algoritmapengkodeannya sampai aplikasinya pada Burst-error-correcting codes.Definisi 6.1.1. Subruang S dari Vn(F) disebut Subruang Siklik jika(a1,a2,...,an−1,an) ∈ Smaka (an,a1,a2...,an−1) ∈ SSelanjutnya diberikan definisi Cyclic Code sebagai berikut.Definisi 6.1.2. Linear Code C disebut Cyclic Code jika C merupakan subruang siklikContoh 6.1.3. S = {(000),(210),(021),(102),(201),(120),(012),(222),(111)} merupakancyclic code dari V3(Z3). Untuk meenghubungkan struktur cyclic codes dengan struktur aljabar,dibuat fungsi π dari Fnq ke Fq[x]/(xn −1) sebagai berikut :Fnq → Fq[x]/(xn−1)(a0,a1,...,an−1) → a0 +a1x+...+an−1xn−1(6.1)Dari hubungan diatas, jika suatu kode dipandang sebagai suatu vektor (a0,a1,...,an−1) maka kode tersebut bersesuaian dengan polinomial a0 +a1x+...+an−1xn−1Contoh 6.1.4. Cyclic code C = {000,110,101,011} besesuaian denganπ(C) = {0,1+x,1+x2,x+x2} ⊂ F2[x]/(x3−1)Telah kita ketahui bahwa Fq[x]/(xn −1) merupakan ring, selanjutnya akan ditunjukkan bahwaFq[x]/(xn −1) merupakan ring atas ideal-ideal utama. Artinya, setiap elemennya merupakanideal yang hanya dibangun oleh satu elemen.Teorema 6.1.5. Fq[x]/(xn −1) merupakan ring atas ideal-ideal utama33
  • 40. 34 BAB 6. CYCLIC CODESBukti.Diambil sebarang ideal, namakan J ∈ Fq[x]/(xn − 1). Untuk J yang berisi polinomial nol,jelas bahwa J ideal utama. Diambil sebarang polinomial nonzero g(x) di J dengan derajatterkecil, maka untuk sebarang f(x) ∈ J kita dapatf(x) = s(x)g(x)+r(x)untuk suatu s(x),r(x) ∈ Fq[x] dengan deg(r(x)) < deg(g(x)). Karena g(x) memiliki dera-jat terkecil, maka r(x) = 0 = f(x) − s(x)g(x). Dengan kata lain, untuk sebarang f(x) ∈J danr(x) ∈ Fq[x]/(xn −1), f(x) = s(x)g(x). Artinya J =< g(x) > dan Fq[x]/(xn −1) meru-pakan ring atas ideal-ideal utama.Dari teorema ini dapat kita ketahui bahwa polinomial yang dipetakan oleh π dengan vektoratas lapangan Fq diatas, hanya dibangun oleh satu buah elemen. Pada sub bab selanjutnyaakan dijelaskan hubungan pemetaan π tersebut dengan cyclic codes.6.2 Generator PolinomialDari definisi diatas didapat beberapa hubungan antara ideal dengan cyclic codes sebagaiberikutTeorema 6.2.1. Diberikan π pemetaan. C ⊆ Fnq dan C = /0 adalah cyclic code jika dan hanyajika π(C) merupakan ideal atas Fq[x]/(xn −1)Bukti. (⇐) Diberikan π(C) ideal dari Fq[x]/(xn − 1). Diambil sebarang α, β ∈ Fq ⊂Fq[x]/(xn − 1). Dengan definisi ideal didapat απ(a) ∈ π(C) dan βπ(b) ∈ π(C). sehing-gaαπ(a)+π(b) ∈ π(C)karena transformasi linear,π(αa+βb) ∈ π(C)Akibatnya, αa+βb codeword di C. Dengan kata lain C linear code.misalc = (c0,c1,c2,...,cn−1)codeword dari Cperhatikan,π(c) = c0 +c1x+....+c(n−2)xn−2+cn−1xn−1∈ π(C)karena π(C) ideal maka,x.π(C) = c0x+c1x2+....+c(n−2)xn−1+cn−1xn∈ π(C)= cn−1 +c0x+c1x2+....+c(n−2)xn−1+cn−1(xn−1)karenaxn −1 = 0,= cn−1 +c0x+c1x2+....+c(n−2)xn−1∈ π(C)(6.2)sehingga (cn−1,c0,c1,...,cn−2) merupakan codeword di C. Dengan kata lain C merupakansiklik. Jadi,C cyclic code.
  • 41. 6.2. GENERATOR POLINOMIAL 35(⇒) Diberikan C ⊆ Fnq dan C = /0 adalah cyclic code.Akan dibuktikan π(C) merupakanideal atas Fq[x]/(xn − 1). Jelas Fq[x]/(xn − 1) merupakan ring polinmial. Ambil sebarangg(x) ∈ Fq[x]/(xn −1) dengan g(x) = g0 +g1x+...+gn−1xn−1 dan f(x) ∈ π(C).Untuk sebarang polinomial dengan (f0, f1,..., fn−1) ∈ π(C) :f(x) = f0 + f1x+...+ fn−2xn−2+ fn−1xn−1= π(f0, f1,..., fn−1)karenaCsiklik,x f(x) = fn−1 + f0x+ f1x2+...+ fn−2xn−1∈ π(C)x2f(x) = x(x f(x)) ∈ π(C)...xif(x) = x(xi−1f(x)) ∈ π(C)(6.3)Karena C linear code dan π adalah tranformasi linear maka π(C) adalah subruang atas Fqsehingga,g(x).f(x) =n−1∑i=0gi(xif(x)) ∈ π(C)dengan kata lain π(C) merupakan ideal atas Fq[x]/(xn −1). Jadi C ⊆ Fnq merupakan cycliccode, C = /0 ⇔ π(C) merupakan ideal atas Fq[x]/(xn −1)Teorema 6.2.2. Diberikan I ideal tak kosong di Fq[x]/(xn −1).Jika g(x) monic polinomial takkosong dengan derajat terkecil pada I maka g(x) adalah generator dari I dan g(x) membagihabis (xn −1), serta tunggal.Bukti.Bagian pertama jelas dari teorema (1.3). Selanjutnya dengan algoritma pembagixn−1 = s(x).g(x)+r(x)jelas degr(x) < degg(x)⇔ r(x) = (xn −1)−s(x).g(x) karena (xn −1) = 0 dan s(x).g(x) ∈ I,jelas r(x) ∈ I, dan deg(r(x)),deg(g(x)). Dan karena g(x) derajat terkecil pada I maka r(x) = 0.Oleh sebab itu g(x) pembagi dari xn −1. Dengan kata lain g(x)|xn −1Diberikan gi(x), i=1,2. yaitu dua monic generator berbeda dengan derajat terkecil dari ideal I.Makag1(x)−g2(x)adalah monic polinomial tak kosong dengan derajat terkecil di I.(Kontradiksi) Dengan katalain g(x) monic generator tunggal.Definisi 6.2.3. Monic polinomial tunggal dengan derajat lebih kecil dari ideal I tak nol atasFq[x]/(xn − 1) disebut generator polinomial untuk I. Dan untuk cyclic code C, generatorpolinomial dari π(C) disebut generator polinomial dari C.Teorema 6.2.4. Setiap pembagi monic dari xn −1 adalah polinomial generator dari beberapacyclic code di Fnq .
  • 42. 36 BAB 6. CYCLIC CODESBukti. Diberikan g(x) yang membagi habis xn − 1 dan I ideal yang dibangun oleh g(x)yaitu < g(x) > atas Fq[x]/(xn −1). Diberikan C cyclic code yang berkorespondensi denganI =< g(x) >. Katakan h(x) adalah generator polinomial dari C, maka terdapat polinomialb(x), sementara h(x) harus di dalam I sehingga,h(x) ≡ g(x)b(x)mod(xn−1)Jadi g(x) membagi habis h(x), padahal h(x) berderajat lebih kecial dan monic. Sehinggag(x) = h(x).Akibat 6.2.5. Terdapat korespondesi 1-1 antara cyclic code di Fnq dan pembagi monic darixn −1 ∈ Fq(x)Teorema 6.2.6. Jika g(x) merupakan generator dari suatu ideal di ring Fq[x]/(xn −1) dengandeg(g(x)) = n−k maka cyclic code yang ber-sesuaian dengan g(x) memiliki dimensi kBukti. Diambil sebarang g(x) dari suatu ideal di Fq[x]/(xn − 1) dengan deg(g(x)) = n − k.Dibentuk himpunanA = {g(x)c(x)|c(x) ∈ Fq[x]/(xn−1),deg(c(x)) ≤ k −1}Perhatikan bahwa untuk setiap c1(x) = c1(x) yang memiliki deg(ci(x)) ≤ k−1(i = 1,2) tidakberlaku g(x)c1(x) ≡ g(x)c2(x) (mod(xn −1)) sehingga A memiliki qk elemen.Akan dibuktikan A =< g(x) >, jelas bahwa A ⊂< g(x) >. Selanjutnya, perhatikan bahwauntuk setiap g(x)a(x) dengan a(x) ∈ Fq[x]/(xn − 1) menurut algoritma pembagian dapatdituliskan sebagai,p(x) = g(x)a(x) = u(x)(xn−1)+v(x)⇔ v(x) = a(x)g(x)−u(x)(xn−1)(6.4)dengan deg(v(x)) < n. Karena (xn −1) membagi g(x), maka v(x) dapat dituliskan sebagaiv(x) = g(x)b(x), untuksuatu polinomial b(x)mengakibatkankan deg(b(x) < k. Artinya v(x) ∈ A. Dari sini terbukti A =< g(x) >, sehinggadimensi dari kode yang bersesuaian dengan g(x) ada sebanyak k.6.3 Generator dan Matriks Parity-CheckPada subbab ini akan diidentifikasi generator matrik sekaligus matrik parity-check dari cycliccode beserta contoh-contoh penerapannya.Teorema 6.3.1. (Genarator Matrik cylcic codes) Diberikan g(x) = g0 +g1x+...+gn−kxn−kadalah generator polinomial dari cyclic code C di Fnq dengan deg(g(x)) = n−k. MatriksG =g(x)xg(x)...xk−1g(x)=g0 g1 . . . gn−k 0 0 0 . . 00 g0 g1 . . . gn−k 0 0 . . 0. .. .. .0 0 . . . g0 g1 . . . . gn−kmerupakan generator matrik dari C.
  • 43. 6.3. GENERATOR DAN MATRIKS PARITY-CHECK 37Bukti.Cukup dibuktikan bahwa g(x),xg(x),...,xk−1g(x) basis dariC. Jelas bahwa g(x),xg(x),...,xk−1g(x)bebas linear atas Fq. Berdasarkan teorema (2.6) sebelumnya diperoleh dim(C) = k.Dengan demikian g(x),xg(x),...,xk−1g(x) merupakan basis dari C.Contoh 6.3.2. Diberikan binary [7,4] cyclic code dengan generator polynomial g(x) = 1+x2 +x3. Didapat generator matriknya sebagai berikut :G =g(x)xg(x)x2g(x)x3g(x) =1 0 1 1 0 0 00 1 0 1 1 0 00 0 1 0 1 1 00 0 0 1 0 1 1Generator matrik tersebut bukan dalam bentuk standart. Jika dengan melaku kan operasi bariselementer akan didapat generator matrik dalam bentuk standar. jika baris ke 4 ditambahkanke baris 2 dan baris ke 4 ditambahkan baris 1 didapat :G =1 0 1 0 0 1 10 1 0 0 1 1 10 0 1 0 1 1 00 0 0 1 0 1 1Kemudian baris ke 3 ditambahkan ke baris 1 didapat generator matrik standar sebagai berikut:G =1 0 0 0 1 0 10 1 0 0 1 1 10 0 1 0 1 1 00 0 0 1 0 1 1kemudian parity check matrik dapat dicari dengan mudah dari G’.Berdasarkan contoh diatas didapat bahwa parity-check matrik dari cyclic code dapat diperolehdari generator matriknya dengan melakukan operasi baris elementer. Karena dual code daricyclic code C juga merupakan cyclic code maka dapat diperoleh parity-check matrik darigenerator polinomial dari dual code. Selanjutnya akan dibahas cara mendapatkan generatorpolynomial dari dual code C⊥.Definisi 6.3.3. Diberikan h(x) = ∑ki=0 aixi merupakan polynomial dengan degree k(ak = 0)atas Fq. Didefinisikan reciprocal polynomial hR dari h(x) denganhR(x) := xh(1/x) =k∑i=0ak−ixiDari sini diperoleh jika h(x) pembagi dari xn −1 maka hR(x) juga pembagi dari xn −1Contoh 6.3.4. 1. Diberikan polynomial h(x) = 1+2x+3x5 +x7 ∈ F5[x] didapat reciprocalpolinomial dari h(x) adalahhR(x) = x7h(1/x) = x7(1+2(1/x)+3(1/x)5+(1/x)7) = 1+3x2+2x6+x7
  • 44. 38 BAB 6. CYCLIC CODES2. h(x) = 1+x+x3 ∈ F2 pembagi dari x7 −1. AkibatnyahR(x) = X3h(1/x) = x3(1+1/x+1/x3) = 1+x2+x3merupakan pembagi dari x7 −1Teorema 6.3.5. Diberikan g(x) generator polynomial dari q-ary [n,k]-cyclic code C. Diambilh(x) = (xn −1)/g(x) maka h−10 hR(x) merupakan generator polinomial dari C⊥ dengan h0merupakan bentuk konstan dari h(x)Bukti.Diberikan g(x) = ∑n−1i=0 dan h(x) = ∑n−1i=0 hixi maka didapathR(x) = (1/xn−k−1n−1∑i=0hn−i−1xidengan k = deg(h(x))Perhatikan bahwa,0 ≡ g(x)h(x)≡ (g0h0 +g1hn−1 +...+gn−1h1)+(g0h1 +g1h0 +...+gn−1h2)x+(g0h2 +g1h1 +...+gn−1h3)x2+...+(g0hn−1 +g1hn−2 +...+gn−1h0)xn−1)(modxn−1)(6.5)Koefisien dari setiap x pada baris terakhir harus 0. Hal ini mengakibatkan gi.(hn−1,hn−2,...,h1,h0) =0 untuk setiap i = 0,1,...,n−1 dengan gi adalah vektor yang diperoleh dari (g0,g1,...,gn−1)yang digeser secara siklik sejauh i posisi.Oleh karena itu, (hn−1,hn−2,...,h1,h0) adalah codeword dari C⊥ sebab (g0,g1,...,gn−1) membangun C dari teorema (3.1).Vektor (hn−1,hn−2,...,h1,h0) digeser secara siklik sejauh k+1 posisi sehingga vektor tersebutberkorespondensi ke hR(x). Dengan kata lain hR(x) adalah codeword dari C⊥ yang juga meru-pakan cyclic code. Karena deg(hR(x)) = deg(h(x)) = k, himpunan hR(x),xhR(x),...,xn−k−1hR(x)merupakan basis dari C⊥. Oleh karena itu C⊥ dibangun oleh hR(x). Kemudian monic polyno-mial h−10 hR(x) adalah generator polinomial dari C⊥.Definisi 6.3.6. Diberikan C merupakan q-ary cyclic code dengan panjang n. Diberikanh(x) = (xn −1)/g(x). Kemudian, h−10 hR(x) disebut parity-check polynomial dari C denganh0 merupakan bentuk konstan dari h(x).Akibat 6.3.7. (Matrik Parity-check Cyclic Codes) Diberikan C sebuah q-ary[n,k] cyclic co-de dengan generator polynomial g(x). Diberikan h(x) = (xn − 1)/g(x). Diberikan h(x) =h0 +h1x+...+hkxk. MatrikH =hR(x)xhR(x)...xn−k−1hR(x)=hk hk−1 . . . h0 0 0 0 . . 00 hk hk−1 . . . h0 0 0 . . 0. .. .. .0 0 . . . hk hk−1 . . . . h0merupakan parity-chech matrix dari C.
  • 45. 6.4. DECODING 39Contoh 6.3.8. Diberikan C merupakan binary [7,4] cyclic code yang dibangun oleh g(x) =1+x2 +x3. Diambil h(x) = (x7 −1)/g(x) = 1+x2 +x3 +x4. Didapat hR(x) = 1+x+x2 +x4yang merupakan parity-check polinomial dari C. Oleh karena ituH =1 1 1 0 1 0 00 1 1 1 0 1 00 0 1 1 1 0 1merupakan parity-check dari C.6.4 DecodingDecoding cyclic code terdiri dari 3 langkah yang sama dengan decoding linear code yakni:menghitung syndrome, tentukan error pattern yang berkorespondensi dengan syndrome,perbaiki error.Dari akibat sebelumnya untuk cyclic code, kita dapat menghasilkan matrik parity-check dalambentukH = (In−k|A)dengan operasi baris elementer.Teorema 6.4.1. Diberikan H = (In−k|A) adalah matrik parity check dari q-ary cyclic code C.Bila g(x) adalah polinomial generator C, maka syndrome dari xεFnq adalah sama denganw(x)mod(g(x)).note: w = (w0w1w2...wn−1) maka w(x) = w0 +w1x+w2x2 +...+wn−1xn−1Bukti. Untuk tiap-tiap kolom matrik A kita asosiasikan dengan polinomial derajat palingbesar n−k −1 dan tulis A sebagaiA = (a0(x)a1(x)a2(x)....ak−1(x))dari sebelumnya kita ketahui bahwa G = (−AT |Ik) adalah matrik generator untuk C. Olehkarena itu xn−k+i − ai(x) adalah codeword dari C. Ambil xn−k+i − ai(x) = qi(x)g(x) untuksuatu qi(x)ε Fq[x]/xn −1ai(x) = xn−k+i−qi(x)g(x)misalkan w(x) = w0 +w1x+w2x2 +...+wn−1xn−1.Untuk syndrome s = wHT dari w,korespondensipolinomial s(x) adalahs(x) = w0 +w1x+w2x2+...+wn−k−1xn−k−1+wn−ka0(x)+...wn−1ak−1(x)=n−k−1∑i=0wixi−k−1∑j=0wn−k+j(xn−k+j−qj(x)g(x))=n−1∑i=0wixi− (k−1∑j=0wn−k+jqj(x))g(x)≡ w(x)(modg(x))(6.6)Dimana polinomial s(x) memiliki derajat paling besar n−k −1, dan s(x) adalah sisa pemba-gian w(x) oleh g(x).
  • 46. 40 BAB 6. CYCLIC CODESAkibat 6.4.2. Diberikan g(x) adalah polinomial generator cyclic code C. Untuk code w(x)yang diterima, jika sisa pembagian s(x) dari w(x) oleh g(x) memiliki weight kurang dari atausama dengan (d(C)−1)/2 , maka s(x) adalah error pattern dari w(x); dengan kata lainw(x) di decode(perbaiki) menjadi w(x)−s(x)Bukti. Dari theorema sebelumnya kita peroleh bahwa w(x) dan s(x) ada di dalam satu koset.Kemudian karena w(x) ≤ (d(C)−1)/2 maka s(x) adalah koset leader(tunggal) maka w(x)akan diperbaiki(decode) menjadi w(x)−s(x).Lemma 6.4.3. Diberikan C adalah q-ary [n,k]-cyclic code dengan polinomial generator g(x).Jika s(x) = ∑n−k−1i=0 sixi adalah syndrome dari w(x), maka syndrome dari cyclic shift xw(x)adalah sama dengan xs(x)−sn−k−1g(x)Bukti.Dari theorema sebelumnya, dapat kita tunjukkan bahwaxs(x)−sn−k−1g(x)adalah sisa pembagian dari xw(x) oleh g(x). Diketahui w(x) = q(x)g(x)+s(x), makaxw(x) = xq(x)g(x)+xs(x) = (xq(x)+sn−k−1)g(x)+(xs(x)−sn−k−1g(x))jelas bahwa deg(xs(x)−sn−k−1g(x)) < n−k = deg(g(x)), dengan kata lain xs(x)−sn−k−1g(x)adalah syndrome dari xw(x).Secara induksi kita dapat menghitung syndrome dari xw(x),x2w(x),x3w(x),.....Definisi 6.4.4. Cyclic run of 0 dengan panjang l dari n-tuple adalah rangkaian cyclic lberurutan komponen 0Contoh 6.4.5. 1. e=(1,3,0,0,0,0,0,1,0) memiliki cyclic run of 0 panjang 52. e=(0,0,1,2,0,0,0,1,0,0) memiliki cyclic run 0f 0 panjang 46.4.1 Algoritma Decoding Cyclic CodesDiberikan C adalah q-ary [n,k,d]-cyclic code dengan polinomial generator g(x). Jika w(x)diterima dengan error pattern e(x), dimana e(x) ≤ (d(C)−1)/2 dan e(x) memiliki cyclicruns of 0 sepanjang tidak lebih besar dari k. Langkah untuk menentukan e(x):1. Hitung syndrome dari xiw(x), untuk i = 1,2,... dan notasikan syndrome sebagaisi(x)(xiw(x)mod(g(x)))2. Temukan m sedemikian weight dari syndrome sm(x) untuk xmw(x) kurang dari atausama dengan (d(C)−1)/2 .3. Hitung sisa pembagian e(x) dari xn−msm(x) dibagi oleh xn −1. perbaiki w(x) menjadiw(x)−e(x).
  • 47. 6.5. BURST ERROR CORRECTING CODES 416.5 Burst Error Correcting CodesSejauh ini kita hanya berkosentrasi pada code yang dapat mengkoreksi random error. Padahalpada beberapa jaringan komunikasi seperti saluran telepon dan sistem penyimpanan magnetik,gangguan terjadi dalam waktu yang sangat singkat. Sehingga error yang diterima lebih bersifatlocalize error dibandingan random error. error yang bersifat localize itulah nantinya yang kitanamakan burst error.Secara umum, code yang digunakan untuk mengkoreksi random error tidak efektif untukmengkoreksi burst error. Tetapi kita dapat mengkontruksi code yang lebih spesifik untukmengkoreksi burst error, code jenis ini nantinya dinamakan burst error correcting codes dancyclic codes sangat efisien untuk mengkoreksi burst errors.Definisi 6.5.1. Burst dengan panjang l adalah vektor biner yang komponen-komponen taknol nya memuat barisan siklik dengan panjang l,dimana komponen pertama dan komponenterakhir barisan siklik tersebut tidak bernilai nol.Contoh 6.5.2. 1. e1 = (01010110000) burst dengan panjang 6 di V11(Z2)2. e2 = (00000010001) burst dengan panjang 5 di V11(Z2)3. e3 = (01000000100) burst dengan panjang 5 di V11(Z2)Teorema 6.5.3. Linear code C adalah sebuah l-burst-error-correcting code jika dan hanyajika seluruh burst error dengan panjang l atau kurang berada di koset yang berbeda dari C.Bukti. Andaikan dua burst error berbeda b1 dan b2 dengan panjang l atau kurang berada dikoset yang sama dari C, maka c = b1 −b2 adalah codeword yang tak nol. Sehingga jika b1diterima, maka b1 dapat disandikan ke 0 dengan error b1 dan dapat disandikan ke c denganerror b2. Jadi linear code C bukan l-burst-error-correcting code, kontradiksi dengan yangdiketahui. Pengandaian salah, harus diingkar. Yang benar seluruh burst error dengan panjangl atau kurang harus berada di koset yang berbeda dari C.Akibat 6.5.4. Katakan C =[n,k] linear l-burst-error-correcting code, maka1. tidak ada burst tak nol dengan panjang ≤ 2l yang dapat menjadi codeword.2. n−k ≥ 2l.Bukti.1. katakan terdapat codeword c dengan panjang burst ≤ 2l. Tanpa mengurangi keumuman,c dapat berbentuk (0,1,u,v,1,0), dengan u dan v masing-masing vektor dengan panjang≤ l.Dipilih w = (0,1,u,0,0,0) burst dengan panjang ≤ l,maka,x = (0,0,0,v,1,0) = c−wjuga burst dengan panjang ≤ l. Sehingga c,w dan x = c−w berada pada koset yangsama dari C. Didapat w dan x dua burst tak nol dengan panjang ≤ l berada pada kosetyang sama, kontradiksi dengan teorema, sehingga terbukti tidak ada burst tak nol denganpanjang ≤ 2l yang dapat menjadi codeword.
  • 48. 42 BAB 6. CYCLIC CODES2. Katakan u1,u2,...un−k+1 adalah n−k+1 vektor kolom pertama dari parity check matrikC, maka ui,i = 1,2,...,n−k +1 ada di Fn−k2 dan oleh karena itu vektor-vektor tersebuttidak bebas linear. Berarti terdapat c1,c2,...cn−k+1 ∈ F2 dengan tak semuanya nol danberlakun−k+1∑i=1ciui = 0akibatnya (c1,c2,...cn−k+1) adalah codeword sekaligus burst dengan panjang ≤ n−k +1.Dari teorema, syarat burst merupakan codeword adalah panjangnya harus lebih dari 2l.Jadi haruslah n-k+1¿2l, yang berarti n-k≥2l.Dari sini kita dapat menyimpulkan bahwa [n,k] linear l-burst-error-correcting code jikadan hanya jika l≤ n−k26.5.1 Algoritma Decoding Burst-error-codeKatakan C adalah l-burst-error-correcting code dengan generator polynomialnya adalah g(x)dan r(x) dan juga merupakan vektor yang diterima. untuk mencari error dan codeword yangdikirim, maka dilakukan langkah sebagai berikut:(1) hitung s0(x) dengan menggunakan algoritma pembagian(r(x) = a(x)g(x)+s0(x))(2) i=0(3) hitung si(x)(modg(x)), dengan si(x) = xis0(x)(4) hitung syndrome dari si(x)(5) jika si(x) adalah burst dengan panjang ≥l, maka berhenti dan error didapat, yaitu e(x) =xn−i(si,0)jika si(x) adalah burst dengan panjang ¿l,maka i=i+1(6) Jika i=n,berhenti, error tidak didapatjika i¡n, kembali ke (3)Dengan algoritma ini, akan didapat error yaitu e(x), dengan ini maka r(x) yang diterima akandapat dikoreksi ke r = r(x)−e(x).Contoh 6.5.5. g(x) = 1+x4 +x6 +x7 +x8 adalah pembangun dari (15,7)−cycliccode atasz2 dan diterima vektor r = (110011101100010), akan dicari codeword yang dikirim.Jawab:l≤ n−k2 = 15−72 = 4 didapat C adalah 4-burst-error-correcting.
  • 49. 6.5. BURST ERROR CORRECTING CODES 43untuk r = (110011101100010)diperolehr(x) = 1+x+x4+x5+x6+x8+x9+x13= (x+x2+x4+x5)g(x)+(1+x2+x5+x7)sehinggas0(x) = (1+x2+x5+x7)(6.7)i=0 s0(x) = 1+x2 +x5 +x7syndrome s0(x) = (10100101)i=1 s1(x) = x+x3 +x6 +x8(modg(x))s1(x) = 1+x+x3 +x4 +x7syndrome s1(x) = (11011001)i=2 s2(x) = x+x2 +x4 +x5 +x8(modg(x))s2(x) = 1+x+x2 +x5 +x6 +x7syndrome s2(x) = (11100111)i=3 s3(x) = x+x2 +x3 +x6 +x7 +x8(modg(x))s3(x) = 1+x+x2 +x3 +x4syndrome s3(x) = (11111000)i=4 s4(x) = x+x2 +x3 +x4 +x5syndrome s4(x) = (01111100)i=5 s5(x) = x2 +x3 +x4 +x5 +x6syndrome s5(x) = (00111110)i=6 s6(x) = x3 +x4 +x5 +x6 +x7syndrome s6(x) = (00011111)i=7 s7(x) = x4 +x5 +x6 +x7 +x8(modg(x))s7(x) = 1+x5syndrome s7(x) = (10000100)
  • 50. 44 BAB 6. CYCLIC CODESdidapat l = 4 untuk syndrome s7(x), sehinggae(x) = xn−i(s7,0)e(x) = x15−7(s7,0)e(x) = x8(s7,0)e(x) = x8(100001000000000)maka,e = (000000001000010)sehinggarkitakodekanker −e = (110011101100010)−(000000001000010)r −e = (110011100100000)(6.8)
  • 51. Bab 7BCH Code7.1 PendahuluanPada bagian ini akan dijelaskan beberapa hal yang mendasar seperti lapangan hingga(finitefield), gelanggang suku banyak(ring polynomial), suku banyak minimal(minimal polynomial),dan cyclotomic coset.7.1.1 Finite FieldField dengan | F |< ∞ disebut lapangan hingga(finite field) dan F∗ sebagai himpunan F{0}.Teorema 7.1.1. Zn adalah lapangan hingga jika hanya jika n bilangan prima.Definisi 7.1.2. Misalkan F lapangan. Karakteristik F adalah bilangan bulat positif terkecilm dengan demikian bahwam∑i=11 = 1+1+...+1 = 0dimana 1 ∈ F. Jika m tidak ada maka karakteristiknya 0.Dibawah ini akan diberikan definisi dari elemen primitif. Selanjutnya yang dimaksuddengan GF(q) adalah Galois Field atau Lapangan Galois dengan q elemen.Catatan bahwa q harus mempunyai bentuk pn dengan p dan n bilangan prima. Sedangkanlapangan Zp secara sama didefinisikan sebagai GF(p).Lemma 7.1.3. Jika α,β ∈ F mempunyai karakteristik p, maka(α +β)p= αp+β pDefinisi 7.1.4. Anggota α ∈ F lapangan hingga dikatakan generator F∗ atau elemen primitifjika{αi: i ≥ 0} = F∗Lemma 7.1.5. Untuk setiap anggota tak nol α ∈ GF(q),αq−1 = 1. Selanjutnya, α ∈ GF(qm)jika hanya jika αq = α.Contoh 7.1.6. Diberikan GF(9) yang dikontruksikan menggunakan polynomial yang irredu-cible f(x) = x2 +1 ∈ Z3[x]. Carilah elemen primitif. Kita akan mencoba bahwa α = x+1merupakan elemen primitif maka45
  • 52. 46 BAB 7. BCH CODE(1+x)0 = 1 (1+x)4 = 2(1+x)1 = 1+x (1+x)5 = 2+2x(1+x)2 = 2x (1+x)6 = x(1+x)3 = 1+2x (1+x)7 = 2+xJadi α = 1+x merupakan elemen primitif untuk GF(9)7.1.2 Ring PolynomialDefinisi 7.1.7. Misalkan F merupakan lapangan. HimpunanF[x] = {n∑i=0aixi: ai ∈ F,n ≥ 0}disebut sebagai ring polynomial atas F.Teorema 7.1.8. Misalkan f(x) suku banyak atas F dengan derajat(degree) ≥ 1. MakaF[x]/(f(x)) bersama dengan operasi penjumlahan dan perkalian berbentuk gelanggang.Lebih jauh, F[x]/(f(x)) adalah lapangan jika dan hanya jika irreducible.Lemma 7.1.9. Untuk setiap elemen β dari finite field F dengan q elemen, kita mempunyaiβq = β7.1.3 Minimal PolynomialDefinisi 7.1.10. Misalkan F lapangan dengan karakteristik p dan misalkan α ∈ F∗. Sukubanyak minimal α terhadap GF(p) merupakan suku banyak monic m(x) derajat terkecil diGF(p)[x] dengan demikian m(α) = 0.Teorema 7.1.11. Suku banyak minimal anggota α tunggal.Bukti.Andaikan F = GF(q) dan F mempunyai karakteristik p. Mengikuti Lemma 7.1.5 bahwa αmemenuhi suku banyak xq−1 −1 ∈ GF(p)[x]. Ketika terdapat suatu suku banyak GF(p)[x]dengan α akarnya maka ada salah satu dari akarnya dengan derajat terkecil. Ini mengatakanbahwa ada suku banyak minimal yaitu m(x). Andaikan ada dua suku banyak monic m1(x)dan m2(x) dengan derajat terkecil mempunyai akar α. Dengan menggunakan algoritmapembagian suku banyak didapatm1(x) = l(x)m2(x)+r(x)dimana deg r(x) < deg m2(x) atau r(x) = 0Ketika m1(α) = 0 dan m2(α) = 0, kita mempunyai r(α) = 0, tetapi karena m2(x) mempu-nyai derajat terkecil maka r(x) = 0, sehingga m2(x) membagi m1(x). Dengan cara yangsama, m1(x) membagi m2(x) dan ketika keduanya merupakan suku banyak monic, makam1(x) = m2(x) sehingga terbukti α tunggal.Teorema 7.1.12. Untuk α ∈ F∗, suku banyak minimal α, maka m(α)(x) adalah suku banyakyang irreducible.
  • 53. 7.1. PENDAHULUAN 47Definisi 7.1.13. Untuk α ∈ F, misalkan t bilangan bulat positif terkecil dengan demikianαpt= α, maka himpunan konjugat dari α(terhadap GF(p)) adalahC(α) = {α,αp,αp2,αp3,...,αpt−1}C(α) = C(αpi),∀i ∈ F lapangan dengan karakteristik pLemma 7.1.14. Misalkan F lapangan hingga dengan karakteristik p, misalkan α ∈ F∗, danC(α) himpunan konjugat α terhadap GF(q), makam(x) = ∏β∈C(α)(x−β)Bukti.Misalkan m(x) = ∑ti=0 mixi dengan koefisien mi ∈ F, kita catatan bahwam(x)p = ∏β∈C(α)(xβ )p = ∏β∈C(α)(xp −βp)= ∏β∈C(α)(xp −β) = m(xp)= ∑ti=1 xipDengan mengikuti Lemma 7.1.3 didapat bahwa{β : β ∈ C(α)} = {β p: β ∈ C(α)}Dilain pihak, kita dapatkan bahwam(x)p=t∑i=1(mixi)p=t∑i=1mpi xipJadi, mi = mpi dan dengan menggunakan Lemma 7.1.5 sehingga terbukti bahwa mi ∈ GF(p),0 ≤i ≤ t.Teorema 7.1.15. Untuk α ∈ F, suku banyak minimal α diberikan olehmα(x) = ∏β∈C(α)(x−β)Contoh 7.1.16. Kontruksikan lapangan F = GF(23). Hal pertama yang diperlukan adalahsuku banyak pangkat tiga atas Z2. Misalkan kita mengambil f(x) = x3 +x+1 dan anggota-anggota F adalah{0,1,x,x+1,x+x2,x2,1+x2,1+x+x2}.Ketika x3 + x + 1 = 0 mod f(x), maka kita mempunyai x3 ≡ −x − 1 = x + 1(mod(f(x))),dan 1 = −1 ∈ Z2. Selanjutnya kita tuliskan anggota lapangan dengan a0 +a1x+a2x2, makadidapatkan0 = (000) x2 = (001)1 = (100) 1+x2 = (101)x = (010) x+x2 = (011)1+x = (110) 1+x+x2 = (111)Jika kita mengambil α, maka dengan mudah kita dapatkan bahwa α merupakan generator F.Andaikan kita mengambil β = (101) dan kita akan dicari mβ (x) dan dengan menggunakanTeorema didapatmβ (y) = ∏δ∈C(β)(y−β)(y−β2)(y−β4)
  • 54. 48 BAB 7. BCH CODEdan ketika β8 = β dan kita akan menghitung(y−β)(y−β2)(y−β3)= y3 +(β +β2 +β4)y2 +(ββ2 +ββ4 +β2β4)y+ββ2β4Dengan menggunakan representasi setiap anggota tak nol sebagai akar dari generator α,dengan mengambil α = x, kita dapatkanα0 = (100) α4 = (011)α1 = (010) α5 = (111)α2 = (001) α6 = (101)α3 = (110) α7 = (100)Ketika β = α6, maka β2 = α12 = α5 = dan β4 = α24 = α3, diperolehβ +β2 +β4 = α6 +α5 +α3= (101)+(111)+(110)= 100ββ2 +ββ4 +β2β4 = β3 +β5 +β6= α18 +α30 +α36= α4 +α2 +α= 0ββ2β4 = β7= α42= 1Jadi, didapat suku banyak minimal β2 dan β4 yaitumβ (y) = y3+y2+1Sedangkan suku banyak minimal α juga merupakan suku banyak minimal α2 dan α4 yaitumα(y) = y3+y+1Darimana dapat dicari sendiri.7.1.4 Cyclotomic CosetDibawah ini akan diberikan definisi dan contoh dari Cyclotomic coset.Definisi 7.1.17. Diberikan q dan n bilangan bulat i,0 ≤ i ≤ n−1, cyclotomic coset (q modulon) memuat i didefinisikan olehCi = {i,iq,iq2,...,iqn−1}dimana anggota-anggota himpunan modulo n, dan s bilangan bulat terkecil dengan demikianiqs ≡ i(modn). C = {Ci : 0 ≤ i ≤ n−1} disebut himpunan cyclotomic coset q modulo nUntuk penjelasan lebih lanjut dapat dilihat di [?]Contoh 7.1.18. Untuk n = 9 dan q = 2, didapatC1 = [1,2,4,8,7,5] = C2 = C4 = C8 = C7 = C5C3 = [3,6] = C6C0 = [0]Teorema 7.1.19. Misalkan f(x) = xn −1 suku banyak atas GF(q). Banyaknya faktor irredu-cible dari f(x) adalah sama dengan banyak cyclotomic coset q modulo n.
  • 55. 7.1. PENDAHULUAN 497.1.5 BCH codesSuku banyak monic g(x) ∈ GF(q)[x] dikatakan sebagai split didalam perluasan field GF(qm)dari GF(q) jika g(x) bisa difaktorkan sebagai hasil kali suku banyak linear di GF(qm), kitabisa menuliskannya ;g(x) = (x−α1)(x−α2)...(x−αn)dimana αi ∈ GF(qm) dan GF(qm) disebut sebagai splitting field dari g(x). Secara umum, da-pat didefinisikan bahwa splitting field dari g(x) ∈ GF(qm) sebagai lapangan terkecil GF(qm),dengan kata lain lapangan terkecil yang memuat semua akar -akar dari g(x). Splitting fieldg(x) bisa didapatkan dari derajat faktor irreducible atas GF(q). Catatan bahwa g(x) bolehirreducible atas GF(q), tetapi selalu faktor- faktornya sebagai hasil kali suku banyak linearyang berbeda di splitting field. Untuk contoh, g(x) = x2 +x+1 adalah merupakan irreducibleatas GF(2) dan tidak mempunyai akar di GF(2), tetapi atas GF(4),g(x) = (x+α)(x+α2)dan mempunyai akar-akarnya adalah α dan α2, dimana GF(4) = {0,1,α,α2} dengan α2 +α +1 = 0Contoh 7.1.20. Diberikan suku banyak dibawah inig(x) = 1+x3+x5+x6+x8+x9+x10atas GF(2), dapat dicek bahwa g(x) tidak mempunyai akar di GF(2), ataupun GF(22),GF(23),dan GF(24), tetapi menggunakan GF(25) didapat akar -akar α dari h(x) = 1+x2 +x5 yaituα,α3, dan anggota konjugatnya adalahα,α2,α4,α8,α16 dan α3,α6,α12,α24,α17adalah merupakan akar -akar dari g(x), dan semua akar dari g(x) di GF(25)Contoh 7.1.21. Diberikan suku banyak dibawah ini :g(x) = 2+2x+x4+2x5+x6+x7atas GF(3) dan hanya memiliki satu akar dengan yaitu 1, dan tidak ada akar dari persamaantersebut di GF(32), sedangkan dengan mengggunakan GF(33) didapat akar α dari h(x) =1+2x2 +x3 yaitu;1,α2,α6,α18,α4,α12,α10Akar -akar diatas merupakan akar α dari g(x).7.1.6 BCH CodesKita akan mendefinisikan kelipatan persekutuan terkecil lcm(f(x), f(x)) suku banyak taknol f(x), f(x) ∈ Fq[x] menjadi suku banyak monic dengan derajat terkecil yang merupakanperkalian dari f1(x) dan f2(x).Definisi 7.1.22. Misalkan kita mempunyai sebanyak t suku banyak f1(x), f2(x),..., ft(x) ∈F[x], maka kelipatan persekutuan terkecil dari f1(x), f2(x),..., ft(x) adalah suku banyak mo-nic dengan derajat terkecil dan merupakan perkalian dari semua suku banyak f1(x), f2(x),..., ft(x).Selanjutnya, dinotasikan sebagai lcm(f1(x), f2(x),..., ft(x)).
  • 56. 50 BAB 7. BCH CODEJika f1(x), f2(x),..., ft(x) ∈ Fq[x] dapat difaktorisasi menjadif1(x) = a1.p1(x)e1,1... pn(x)e1,nf2(x) = a2.p1(x)e2,1... pn(x)e2,n......ft(x) = at.p1(x)et,1... pn(x)et,ndimana pi(x) merupakan suku banyak monic yang irreducible atas Fq makalcm(f1(x), f2(x),..., ft(x)) = p1(x)max{e1,1,...,et,1}...pn(x)max{e1,n,...,et,n}Contoh 7.1.23. Diberikan polinomial biner,f1(x) = (1+x)2(1+x+x4)3f2(x) = (1+x)(1+x+x2)2f3(x) = x2(1+x+x4)sehingga, lcm(f1(x), f2(x), f3(x)) = x2(1+x)2(1+x+x2)2(1+x+x4)3Lemma 7.1.24. Diberikan f1(x),f2(x),..., ft(x) suku banyak atas Fq. Jika f(x) habis dibagioleh semua suku banyak fi(x),∀i = 1,2,...,t maka f(x) habis dibagi oleh lcm(f1(x), f2(x),..., ft(x))Bukti. Ambil g(x) = lcm(f1(x), f2(x),..., ft(x)). Menggunakan algoritma pembagian makaada dua suku banyak u(x) dan r(x) atas Fq dengan demikian deg(r(x)) < deg(g(x)) danf(x) = u(x)g(x)+r(x). Jadi, r(x) = f(x)−u(x)g(x), dan selanjutnya r(x) juga habis dibagioleh semua fi(x). Ketika g(x) mempunyai derajat terkecil,dengan jelas bahwa r(x) = 0.Contoh 7.1.25. Suku banyak f(x) = x15 −1 ∈ F2[x] habis dibagi oleh f1(x) = 1+x+x2 ∈F2[x], f2(x) = 1 + x + x4 ∈ F2[x], dan f3(x) = (1 + x + x2)(1 + x3 + x4) ∈ F2[x]. Maka f(x)habis dibagi oleh lcm(f1(x), f2(x), f3(x)) = (1+x+x2)(1+x+x4)(1+x3 +x4).Dibawah ini akan dijelaskan tentang definisi BCH Codes.Definisi 7.1.26. Misalkan α elemen primitif dari Fqm dan dinotasikan oleh Mi(x) merupakanpolynomial minimal dari αi terhadap Fq. Sebuah primitif BCH code atas Fq dengan pan-jang n = qm −1 didesain dengan distance δ adalah q-ary cyclic code yang dibangun olehg(x) :=lcm(M(a)(x),M(a+1)(x),...,M(a+δ−2)(x)) untuk suatu bilangan bulat a. Lebih jauh,code ini disebut sebagai narrow sense jika a = 1.Contoh 7.1.27. Misalkan α elemen primitif dari F2m, maka narrow sense binary BCH codedidesain dengan distance 2 adalah cyclic code yang dibangun oleh M(1)(x).Contoh 7.1.28. Misalkan α ∈ F8 akar -akar dari 1+x+x3 merupakan elemen primitif dariF8. Polynomial M(1)(x) dan M(2)(x) keduanya sama dengan 1+x+x3. Selanjutnya, narrowsense binary BCH code dengan panjang 7 dibangun oleh lcm(M(1)(x),M(2)(x)) = 1+x+x3adalah [7,4]−code. Dengan fakta bahwa [7,4,3]−Hamming code.Contoh 7.1.29. Misalkan β merupakan akar dari 1+x+x2 ∈ F2[x], maka F4 = F2[β]. Mi-salkan α menjadi akar dari β +x+x2 ∈ F4[x]. Maka α elemen primitif dari F16. Diberikannarrow-sense 4−ary BCH code dengan panjang 15 didesain dengan distance 4, maka generatorpolynomialnya adalahg(x) = lcm(M(1)(x),M(2)(x),M(3)(x)) = 1+βx+βx2+x3+x4+β2x5+x6.
  • 57. 7.1. PENDAHULUAN 517.1.7 Parameter dari BCH CodesDiketahui bahwa panjang dari BCH code adalah qm −1. Selanjutnya akan dicari dimensi dariBCH code terlebih dahulu.Teorema 7.1.30. Diketahui panjang dari BCH code adalah qm −1.(i) Dimensi dari q−ary BCH code dengan panjang qm −1 yang dibangun olehg(x) := lcm(M(α)(x),M(α+1)(x),...,M(α+δ−2)(x)tidak tergantung dari pemilihan elemen primitif α(ii) q−ary BCH code dengan panjang qm −1 yang didesain dengan distance δ memilikidimensi setidaknya qm −1−m(δ −1)Akan diberikan contoh dari Teorema 7.1.30 di atas dan dapat dilihat dibawah ini.Contoh 7.1.31. (i) Diberikan cyclotomic cosets 2 modulo 15 dibawah ini :C2 = {1,2,4,8} C3 = {3,6,12,9}.Maka dimensi dari binary BCH Codes dengan panjang 15 dan didesign dengan distance3 yang dibangun oleh g(x) :=lcm(M(2),M(3)(x)) adalah15− | C2 ∪C3 |= 15−8 = 7(ii) Cyclotomic cosets dari 3 modulo 26 yaitu,C1 = C3 = {1,3,9}C2 = {2,6,18}C4 = {4,10,12}Kemudian dimensi dari ternary BCH codes dengan panjang 26 dan didesain dengandistance 5 yang dibangun oleh g(x) := lcm(M(1)(x),M(2)(x),M(3)(x),M(4)(x)) adalah26−|C1 ∪C2 ∪C3 ∪C4| = 26−9 = 17Proposisi 7.1.32. Narrow-sense q-ary BCH code dengan panjang qm −1 dan didesain dengandistance δ mempunyai dimensi qm −1−m(δ −1) jika q = 2 dan gcd(qm −1,e) = 1 untuksemua 1 ≤ e ≤ δ −1.Proposisi 7.1.33. Narrow sense binary BCH code dengan panjang n = 2m −1 dan didesaindengan distance δ = 2t +1 mempunyai dimensi sedikitnya n−m(δ −1)/2.Bukti.Sebagaimana cyclotomic cosets Ci dan C2i adalah sama, maka dimensi k memenuhik = 2m−1− |2ti=1Ci |= 2m−1− |ti=1C2i−1 |≤ 2m−1−t∑i=t| C2i−1 |≤ 2m−1−tm= 2m−1−m(δ −1)/2
  • 58. 52 BAB 7. BCH CODEContoh 7.1.34. Narrow sense binary BCH code dengan panjang 63 didesain dengan distanceδ = 5 mempunyai dimensi 51 = 63−6(5−1)/2. Bagiamanapun, narrow sense binary BCHcode dengan panjang 31 didesain dengan distance δ = 11 mempunyai dimensi 11 yang lebihbesar daripada 31−5(11−2)/2.Selanjutnya, kita akan mempelajari minimum distance BCH codes.Lemma 7.1.35. Misalkan C q-ary cyclic code dengan panjang n dan generator polynomialg(x). Andaikan α1,...,αr akar -akar dari g(x) dan polynomial g(x) tidak mempunyai akarganda. Maka elemen c(x) ∈ Fq[x]/(xn − 1) adalah codeword C jika hanya jika c(αi) = 0,untuk setiap i = 1,...,r.Bukti. Jika c(x) codeword C, maka ada polynomial f(x) dengan demikian c(x) = g(x)f(x).Jadi kita mempunyai c(αi) = g(αi)f(αi) = 0 untuk semua i = 1,...,r. Secara konvers, jikac(αi) = 0 untuk i = 1,...,r maka c(x) habis dibagi oleh g(x) ketika g(x) tidak mempunyaiakar ganda. Ini mengartikan bahwa c(x) adalah codeword C.Contoh 7.1.36. Diberikan binary [7,4]−Hamming code dengan generator polynomial g(x) =1 + +x + x3. Semua elemen dari F8{0,1} adalah akar-akar c(x) = 1 + x + x2 + x3 + x4 +x5 +x6 = (x7 −1)/(x−1), semua akar dari g(x) adalah akar-akar c(x). Jadi, 1111111 adalahcodeword.Dibawah ini teorema yang akan menjelaskan tentang ’designed distance’Teorema 7.1.37. BCH code didesain dengan distance(designed distance) δ mempunyaiminimum distance sedikitnya δ.Bukti.Misalkan α merupakan elemen primitif dari Fqm dan misalkan C adalah BCH code yang di-bangun oleh g(x) :=lcm(M(a)(x),M(a+1)(x),...,M(a+δ−2)(x)). Dengan jelas bahwa elemenαa,...,αa+δ−2 adalah akar-akarnya g(x).Andaikan bahwa minimum distance d dari C lebih kecil daripada δ. Maka ada codewordtak nol c(x) = c0 +c1x+···+cn−1xn−1 dengan demikian wt(c(x)) = d < δ. MenggunakanLemma 7.1.35, kita mempunyai c(αi) = 0 untuk semua i = a,...,a+δ −2;1 αa (αa)2 ... (αa)n−11 αa+1 (αa+1)2 ... (αa+1)n−11 αa+2 (αa+2)2 ... (αa+2)n−1......... ......1 αa+δ−2 (αa+δ−2)2 ... (αa+δ−2)n−1c0c1c2...cn−1= 0. (7.1)Asumsikan bahwa c(x) adalah R = {i1,...,id},cj = 0 jika hanya jika j ∈ R. Maka persamaan(7.1) menjadi(αa)i1 (αa)i2 (αa)i3 ... (αa)id(αa+1)i1 (αa+1)i2 (αa+1)i3 ... (αa+1)id(αa+2)i1 (αa+2)i2 (αa+2)i3 ... (αa+2)id...............(αa+δ−2)i1 (αa+δ−2)i2 (αa+δ−2)i3 ... (αa+δ−2)idci1ci2ci3...cid= 0. (7.2)
  • 59. 7.1. PENDAHULUAN 53Ketika d ≤ δ −1, kita mendapatkan sistem persamaan dibawah ini dengan memilih persamaand yang pertama sistem persamaan diatas sehingga didapatkan :(αa)i1 (αa)i2 (αa)i3 ... (αa)id(αa+1)i1 (αa+1)i2 (αa+1)i3 ... (αa+1)id(αa+2)i1 (αa+2)i2 (αa+2)i3 ... (αa+2)id......... ......(αa+d−1)i1 (αa+d−1)i2 (αa+d−1)i3 ... (αa+d−1)idci1ci2ci3...cid= 0. (7.3)Determinan D koefisien matriks persamaan diatas adalah sama denganD =d∏j=1(αa)ijdet1 1 1 ... 1αi1 αi2 αi3 ... αid(α2)i1 (α2)i2 (α2)i3 ... (α2)id......... ......(αd−1)i1 (αd−1)i2 (αd−1)i3 ... (αd−1)id(7.4)=d∏j=1(αa)ij∏k>l(αik −αil ) = 0.Dengan mengkombinasikan persamaan (7.3) dan (7.4), kita mendapatkan (ci1,...,cid) = 0sehingga kontradiksi. Jadi terbukti.Contoh 7.1.38. Misalkan α akar dari 1+x+x3 ∈ F2[x], dan misalkan C binary BCH codedengan panjang 7 didesain dengan distance 4 yang dibangun olehg(x) = lcm(M(0)(x),M(1)(x),M(2)(x)) = 1+x2+x3+x4Maka d(C) ≤ wt(g(x)) = 4. Disisi lain dengan menggunakan teorema 7.1.37 didapat d(C) ≥ 4.Jadi, d(C) = 4.7.1.8 Decoding BCH CodesPada bagian akan diberikan algoritma dalam decoding BCH code yang dibagi menjadi 3 yaitu:(i) Menghitung syndrome(ii) Menemukan error locator polynomial(iii) Menemukan semua akar dari error locator polynomialUntuk menyederhanakannya, kita hanya akan mendiskusikan decoding narrow sense binaryBCH codes. Misalkan C narrow sense binary BCH codes dengan panjang n = 2m −1 dandesign distance δ = 2t +1 yang dibangun oleh g(x) := lcm(M(1)(x),M(2)(x),...,M(δ−1)(x)),dimana M(i)(x) adalah polynomial minimal dari αi terhadap F2 untuk elemen primitif α ∈ F2m.
  • 60. 54 BAB 7. BCH CODEAmbilH =1 α (α)2 ... (α)n−11 α2 (α2)2 ... (α2)n−11 α3 (α3)2 ... (α3)n−1......... ......1 αδ−1 (αδ−1)2 ... (αδ−1)n−1(7.5)Maka bisa ditunjukkan bahwa word c ∈ Fn2 adalah codeword C jika hanya jika cHT = 0.Selanjutnya, kita bisa mendefinisikan sindrome SH(w) dari w ∈ Fn2 terhadap H adalah wHT .Andaikan bahwa w(x) = w0 +w1x+...+wn−1xn−1 word yang diterima dengan error po-lynomial e(x) memenuhi wt(e(x)) ≤ t. Ambil c(x) = w(x)−e(x) maka c(x) adalah codeword.1. Menghitung SindromeSindrome w(x) adalah(s0,s1,...,sδ−2) := (w0,w1,...,wn−1)HTsehingga si = w(αi+1) = e(αi+1) untuk setiap i = 0,1,...,δ −2, ketika αi+1 adalahakar-akar dari g(x). Asumsikan bahwa error diambil di posisi i0,i1,...,il−1 denganl ≤ t didapate(x) = xi0 +xi1 +···+xil−1 (7.6)Maka kita mendapatkan sistem persamaanαi0 + αi1 + ··· + αil−1 = s0 = w(α),(αi0)2 + (αi1)2 + ··· + (αil−1)2 = s1 = w(α2),.........(αi0)δ−1 + (αi1)δ−1 + ··· + (αil−1)δ−1 = sδ−2 = w(αδ−1).(7.7)sebarang metode diatas untuk menyelesaikan sistem persamaan diatas merupakanalgoritma decoding untuk BCH codes.2. Menemukan error locator polynomial Untuk e(x) = xi0 + xi1 + ··· + xil−1, didefini-sikan error locator polynomial olehσ(z) :=l−1∏j=0(1−αijz).Ini dapat ditemukan bahwa posisi error ij sejauh semua akar-akar σ(z) yang diketahui.Untuk tahap ini, kita harus menentukan error locator polynomial σ(z).Teorema 7.1.39. Andaikan polynomial sindrome s(z) = ∑δ−2j=0 sjzj adalah bukan po-lynomial nol. Maka terdapat polynomial tak nol r(z) ∈ F2m[z] dengan demikiandeg(r(z)) ≤ t −1, gcd(r(z),σ(z)) = 1 danr(z) ≡ s(z)σ(z) (mod zδ−1) (7.8)Lebih jauh, untuk sebarang pasangan (u(z),v(z)) polynomial tak nol atas F2m memenu-hi deg(u(z)) ≤ t −1, deg(v(z)) ≤ t danu(z) ≡ s(z)v(z) (mod zδ−1) (7.9)
  • 61. 7.1. PENDAHULUAN 55Kita mempunyaiσ(z) = βv(z), r(z) = βu(z), (7.10)untuk elemen tak nol β ∈ F2m.Bukti.(Ketunggalan). Kalikan persamaan (7.8) dengan v(z) dan persaman (7.9) dengan σ(z)memberikan hasilv(z)r(z) ≡ σ(z)u(z) (mod zδ−1) (7.11)Sebagaimana deg(v(z)r(z)) ≤ 2t −1 = δ −2 dan deg(σ(z)u(z)) ≤ 2t −1 = δ −2 de-ngan mengikuti persamaan (7.11) bahwa v(z)r(z) = σ(z)u(z). Menggunakan syarat bah-wa gcd(r(z),σ(z)) = 1 dan semua polynomial tak nol, kita mendapatkan σ(z) = βv(z)dan r(z) = βu(z) untuk elemen tak nol β ∈ F2m.(Eksistensi). Ambilr(z) = σ(z)l−1∑j=1αij(1−αij z)Makar(z)σ(z)=l−1∑j=0αij(1−αij z)=l−1∑j=0αij∞∑k=0(αijz)k=l−1∑j=0αijδ−2∑k=0(αijz)k=δ−2∑k=0l−1∑j=0(αij)k+1zk=δ−2∑k=0w(αk+1)zk= s(z) (mod zδ−1).dengan r(1/αij ) = 0 untuk setiap j, kita tahu bahwa gcd(r(z),σ(z)) = 1 sehinggaterbukti.Dari teorema 7.1.39 diatas, kita menemukan bahwa untuk mencari error locator po-lynomial σ(z) perlu menyelesaikan kongruensi polynomial persamaan (7.8). Ini bisadiselesaikan menggunakan algoritma Euclidean.3. Menemukan akar -akar error locator polynomial Untuk melakukannya, kita bisamencari semua kemungkinan akar -akar dengan menggunakan σ(z) di αi, untuk semuai = 1,2,.... . Setelah semua akar -akarnya αi1,...,αil dari σ(z) ditemukan, kitamendapatkan error polynomial persamaan (7.6)Contoh 7.1.40. Misalkan α akar dari g(x) = 1+x+x3 ∈ F2[x]. Maka Hamming code yangdibangun oleh g(x) =lcm(M(1)(x),M(2)(x)) mempunyai design distance δ = 3. Andaikanbahwa w(x) = 1+x+x2 +x3 word yang diterima.
  • 62. 56 BAB 7. BCH CODE(i) Menghitung sindrome :(s0,s1) = (w(α),w(α2)) = (α2,α4)(ii) Menemukan error locator polynomial :Selesaikan kongruensi polynomialr(z) ≡ s(z)σ(z) (mod z2)dengan deg(r(z)) = 0 dan deg(σ(z)) ≤ 1, dans(z) = α2+α4z.Kita mempunyai σ(z) = 1+α2z dan r(z) = α2. Selanjutnya didapat error di tempatketiga. Jadi, kita bisa memperbaiki(decode) w(x) ke w(x)−x2 = 1+x+x3 = 1101000.
  • 63. Bab 8Self-Dual Codes dan Binary Golay Code8.1 PendahuluanDidalam bab ini kita sangat tertarik pada kelas code yaitu self dual code. Dari kedua pandangsecara teoritis dan praktek, kode ini banyak digunakan. Kita mulai dengan definisi dibawahini.Definisi 8.1.1. Himpunan Fq merupakan field berhingga dengan order q. Himpunan takkosong V dengan operasi jumlahan (+) dan perkalian skalar dengan anggota Fq merupakanruang vektor (ruang linear) atas Fq jika memenuhi kondisi di bawah ini. ∀u,v,w ∈ V dan∀α,β ∈ Fq maka;1. u+v ∈ V2. (u+v)+w = u+(v+w)3. Terdapat elemen 0 ∈ V sehingga 0+v = v+0, untuk setiap v ∈ V4. Untuk setiap u ∈ V, ∃(−u) ∈ V sehingga u+(−u) = 0 = (−u)+u5. u+v = v+u6. αv ∈ V7. α(u+v) = αu+αv dan (α +β)u = αu+βu8. (αβ)u = α(βu)9. Jika 1 merupakan identitas penjumlahan di Fq maka 1u = uContoh 8.1.2. Di bawah ini merupan beberapa contoh dari ruang vektor:1. Fnq merupakan koleksi semua vektor dengan panjang nFnq = {(v1,v2,...,vn) : vi ∈ Fq}merupakan ruang vektor atas Fq Dengan definisi penjumlahan dalam Fnq yaitu penjum-lahan masing-masing elemen, dengan definisi penjumlahan pada Fq, jikav = (v1,v2,...,vn) ∈ Fnq dan w = (w1,w2,...,wn) ∈ Fnq57
  • 64. 58 BAB 8. SELF-DUAL CODES DAN BINARY GOLAY CODEmakav+w = (v1 +w1,v2 +w2,...,vn +wn) ∈ Fnqserta definisi perkalian skalar untuk Fnq yaitu:v = (v1,v2,...,vn) ∈ Fnq dan α ∈ Fqmakaαv = (αv1,αv2,...,αvn) ∈ Fnqserta vektor nol (0,0,...,0) ∈ Fnq .2. Z52 merupakan ruang vektor atas field Z2Definisi 8.1.3. Jika V merupakan ruang vektor. Himpunan tidak kosong C ⊆ V merupakansubruang jika C merupakan ruang vektor atas penjumlahn vektor dan perkalian yang samadengan V.Akibat 8.1.4. Jika V merupakan ruang vektor. Himpunan tidak kosong C ⊆ V merupakansubruang jika dan hanya jika memenuhi kondisi dibawah ini:∀x,y ∈ C dan α,β ∈ Fq, maka αx+βy ∈ FnqDefinisi 8.1.5. Jika V merupakan ruang vektor atas Fq. Kombinasi linear dari v1,v2,...,vr ∈V yaitu vektor α1v1 +α2v2 +···+αrvr untuk sembarang α1,...,αr ∈ FqDefinisi 8.1.6. Jika V merupakan ruang vektor atas Fq, maka himpunan vektor {v1,v2,...,vr}bebas linear jikaα1v1 +α2v2 +···+αrvr = 0 ⇔ α1 = α2 = ··· = αr = 0Definisi 8.1.7. Jika V merupakan ruang vektor atas Fq dan S = {v1,v2,...,vk} himpunantidak kosong subset dari V. Maka span dari S yaitu:S = {α1v1 +α2v2 +···+αkvk : αi ∈ Fq}Jika S = /0, maka S = {0}. Cukup jelas bahwa S merupakan sub ruang dari V, dandisebut subruang yang dibangun oleh S. Jika diberikan subruang C dari V, himpunan bagian Sdari C dikatakan membangun C jika C = SDefinisi 8.1.8. Jika V ruang vektor atas Fq, dan himpunan bagian tidak kosong B = {v1,v2,...,vk}dari V dikatakan basis untuk V jika V = B dan bebas linear.
  • 65. 8.1. PENDAHULUAN 598.1.1 Linear CodeDefinisi 8.1.9. Linear code C dengan panjang n atas field Fq yaitu subruang dari ruangvektor FnqContoh 8.1.10. Di bawah ini beberapa contoh linear code:1. {(λ,λ,...,λ) : λ ∈ Fq}. Selanjutnya code ini sering disebut repetition code2. C = {000,001,010,011}3. C = {0000,1100,2200,0001,0002,1101,1102,2201,2202}Selanjutnya anggota dari linear code C disebut dengan codewordDefinisi 8.1.11. C merupakan linear code atas ruang vektor Fnq , maka1. Dual code C yaitu C⊥ denganC⊥ = {v ∈ Fnq : v.c = o,∀c ∈ C}2. Dimensi dari linear code C yaitu dimensi C atas ruang vektor FqLinear code C dengan panjang n dan mempunyai dimensi k atas Fq sering disebut jugaq-ary [n,k]-code atau [n,k]-code. Jika distance dari C diketahui maka biasanya ditulis dengan[n,k,d]Kita tahu berdasar Definisi 8.1.9 linear code C merupakan subruang maka secara eksplisitlinear code C memiliki basis yang membangun C. Dalam koding teori, basis dari linear codeC disajikan dalam bentuk matrik, dan disebut matrik generator. Selain itu, matrik yangmenyajikan basis untuk dual code C atau C⊥ disebut parity-check matrik untuk linear code C.Definisi ini cukup penting dalam memahami materi selanjutnya.Definisi 8.1.12. 1. Matrik generator untuk linear code C yaitu matrik G dengan vektorbarisnya merupakan basis dari C.2. Parity-check matrik H untuk linear code C yaitu matrik generator untuk dual code C⊥Teorema 8.1.13. C merupakan [n,k]-linear code atas Fq dengan matrik generator G. Makauntuk v ∈ Fnq berada dalam C⊥ jika dan hanya jika v orthogonal dengan setiap vektor barisdari G dengan kata lainv ∈ C⊥⇔ vGT= 0Bukti. Katakan ri merupakan vektor ke-i dari G.Jelas bahwa ri ∈ C untuk setiap 1 ≤ i ≤ kMaka untuk setiap c ∈ C maka berdasarkan Definisi 8.1.12 maka c dapat ditulis sebagaic = α1r1 +α2r2 +···+αkrk dengan α1,...,αr ∈ FqJadi untuk sebarang v ∈ C⊥ maka v.c = 0 untuk setiap c ∈ C. Maka jelas bahwa v orthogonaldengan ri untuk setiap 1 ≤ i ≤ k, dengan kata lain vGT = 0Jika diketahui v.ri = 0 untuk setiap 1 ≤ i ≤ k maka jelas bahwa untuk setiapc = α1r1 +α2r2 +···+αkrk ∈ Cv.c = α1(v.r1)+α2(v.r2)+···+αk(v.rk) = 0
  • 66. 60 BAB 8. SELF-DUAL CODES DAN BINARY GOLAY CODEAkibat 8.1.14. Linear code C dengan matrik generator G serta Dual-code C⊥ dengan matrikgenerator H maka HGT = 0Linear code C mempunyai matrik generator G. Jika matrik generator dari linear code Cmempunyai bentuk G = [Ik|X] maka generator matrik ini disebut bentuk standar.Teorema 8.1.15. Jika G = [Ik|X] yaitu bentuk standar matrik generator untuk [n,k]-code C,maka parity-check matrik untuk C yaitu H = [−XT |In−k]8.1.2 Hamming Distance dan Hamming WeightDefinisi 8.1.16. Jika x dan y merupakan codeword dari linear code C. (Hamming)distancedari x ke ydinotasikan dengan d(x,y) dengan definisi jumlah elemen yang berbeda tiapkoordinatnya. Jika x = x1,x2,...,xn dan y = x1,y2,...,yn maka,d(x,y) = d(x1,y1)+d(x2,y2)+···+d(xn,yn)dengand(xi,yi) =1, jika xi = yi0, jika xi = yiDefinisi 8.1.17. Jika C merupakan [n,k]-code. Maka Hamming distance dari code C yaitu:d(C) = min{d(x,y) : x,y ∈ C,x = y}Definisi 8.1.18. Untuk sembarang x codeword di Fnq . (Hamming) weight dari x dinotasikandengan wt(x) dengan definisi,wt(x) = d(x,0)Lemma 8.1.19. Jika x,y ∈ Fnq makawt(x+y) = wt(x)+wt(y)−2wt(x∗y)denganx∗y = (x1y1,x2y2,...,xnyn)Teorema 8.1.20. Code C dengan v-error correcting jika dan hanya jika d(C) ≥ 2v+1;ekuivalen mengatakan suatu code dengan distance d mempunyai d−12 -error correctingcode.8.2 Self-Dual CodeDefinisi 8.2.1. Linear code C dikatakan self-orthogonal jika C ⊆ C⊥Lemma 8.2.2. Linear code C dengan matrik generator G self-orthogonal jika dan hanya jikaGGT = 0
  • 67. 8.2. SELF-DUAL CODE 61Bukti. Karena C self-orthogonal maka C ⊆ C⊥, dengan matrik generator G.Ambil sebarang vektor baris dari G katakan ri dengan 1 ≤ i ≤ k, maka ri ∈ C dan ri ∈ C⊥.karena G merupakan parity-check matrik untuk C⊥makaGrTi = 0Karena berlaku untuk sembarang vektor baris maka diperolehGGT= 0Jika diketahui bahwa GGT = 0. Katakan G mempunyai k baris, katakan ri dengan 1 ≤ i ≤ k.Berdasarkan definisi 8.1.12 maka ri ∈ C. Karena GGT = 0, maka rirj = 0,1 ≤ i ≤ k.Ambil sebarang ck,cp ∈ C. Maka ck,cp merupakan kombinasi linear dari ri. Bentuk ck.cp,berdasarkan definisi inner product dan berdasarkan rirj = 0 maka jelas bahwa ck.cp = 0.Sehingga jelas bahwa C ⊆ C⊥.Definisi 8.2.3. Linear code C self-dual jika C = C⊥Contoh 8.2.4. Diperhatikan beberapa contoh matrik generator di bawah ini,1. MatrikG =1 0 0 1 01 0 1 1 1merupakan matrik generator untuk self-orthogonal code C, karena GGT = 0. G tidakmembangun self-dual code karena C merupakan subruang berdimensi 2, dan C⊥merupakan subruang berdimensi 3 jadi C = C⊥.2. MatrikG =1 1 1 1 1 1 1 11 0 0 1 1 0 1 00 1 0 0 1 1 1 00 0 1 1 0 1 1 0merupakan matrik generator untuk self-dual (8,4)-code C.3. G = [I6|A] merupakan matrik generator untuk self-dual (12,6)-code C atas F3, denganA =2 2 1 2 0 10 2 2 1 2 12 2 0 1 1 21 0 1 1 1 11 2 2 2 1 01 2 1 0 2 2Lemma 8.2.5. Jika G = [Ik|X] merupakan matrik generator untuk self-dual [n,k]-code atasfield Fq maka XXT = −IkBukti. Karena G merupakan self-dual, GGT = 0 dan0 = [Ik|X][Ik|X]T= Ik +XXTmaka BBT = −Ik
  • 68. 62 BAB 8. SELF-DUAL CODES DAN BINARY GOLAY CODE8.2.1 Extended Binary Golay CodeSalah satu self-dual code yang penting yaitu binary (24,12,8) extended Golay code atau lebihdikenal dengan G24. Code tersebut dengan matrik generator G = [Ik|B] dengan,B =0 1 1 1 1 1 1 1 1 1 1 11 1 1 0 1 1 1 0 0 0 1 01 1 0 1 1 1 0 0 0 1 0 11 0 1 1 1 0 0 0 1 0 1 11 1 1 1 0 0 0 1 0 1 1 01 1 1 0 0 0 1 0 1 1 0 11 1 0 0 0 1 0 1 1 0 1 11 0 0 0 1 0 1 1 0 1 1 11 0 0 1 0 1 1 0 1 1 1 01 0 1 0 1 1 0 1 1 1 0 01 1 0 1 1 0 1 1 1 0 0 01 0 1 1 0 1 1 1 0 0 0 1Proposisi 8.2.6. (Properties of the extended binary Golay Code)1. ¡1-¿ Panjang dari G24 yaitu 24 dan mempunyai dimensi 122. ¡2-¿ Parity-check matrik untuk G24 yaituH = [B|I12]3. ¡3-¿ Code G24 mrupakan self-dual, sehingga G24 = G⊥244. ¡4-¿ Parity-check matrik yang lain untuk G24 yaituH = [I12|B] = G5. ¡5-¿ Matrik generator yang lain untuk G24 yaituG = [B|I12] = H6. ¡6-¿ Weight untuk setiap codeword di G24 merupakan kelipatan 47. ¡7-¿ Code G24 tidak mempunyai codeword dengan weight 4, jadi distance dari G24yaitu d=88. Code G24 mempunyai 3-error correcting codeBukti. Kali ini akan dibuktikan proposisi 8.2.6. Untuk bukti 1-5 cukup jelas.Akan dibuktikan untuk proposisi 6-8.6 Ambil sebarang v ∈ G24. Maka v merupakan kombinasi linear dari vektor baris G.Jika v merupakan vektor baris dari G maka v mempunyai weight 8 atau 12, sehingga weightdari v kelipatan dari 4.Andaikan v = ri +rj yaitu jumlahan sebarang vektor baris dari G. Maka berdasarkan lemma8.1.19 dan karena G24 merupakan self-dual maka wt(v) kelipatan dari 4. Jika v merupakan
  • 69. 8.2. SELF-DUAL CODE 63kombinasi linear dari vektor baris dari G maka dengan induksi matematika diperoleh wt(v)kelipatan dari 4.7 Berdasarkan proposisi 6 maka distance dari G24 yaitu 4 atau 8.Andaikan G24 memuat codeword non-zero v dengan wt(v) = 4. Kita dapat tulis v sebagaiv = (v1,v2) dengan v1,v2 merupakan vektor dengan panjang 12.1. Jika wt(v1) = 0 dan wt(v2) = 4.Maka hal ini tidak mungkin terjadi, diperhatikan matrik generator G. wt(v1) = 0 jikadan hanya jika v merupakan vektor nol.2. Jika wt(v1) = 1 dan wt(v2) = 3.Pada kasus ini kembali diperhatikan matrik generator G v merupakan salah satu darivektor baris dari G. Maka kontradiksi bahwa vektor baris dari G memiliki weight 12atau 8.3. Jika wt(v1) = 2 dan wt(v2) = 2.Maka v merupakan jumlahan dari dua vektor baris. Mudah untuk ditunjukan bahwatidak ada vektor baris yang memenuhi sehingga wt(v2) = 24. Jika wt(v1) = 3 dan wt(v2) = 1.Diperhatikan bahwa G’ merupakan generator matrik untuk G24. Maka v haruslahmerupakan salah satu dari vektor baris dari G’. Jelas bahwa terjadi kontradiksi.5. Jika wt(v1) = 4 dan wt(v2) = 0.Pada kasus ini sama dengan kasus pertama. Jadi terjadi kontradiksiMaka jelas bahwa G24 tidak mempunyai codeword dengan weight 4. Maka distance dari G24yaitu d=8.8 Berdasarkan proporsisi 7 dan teorema 8.1.20 maka G24 mempunyai 3-error correcting.Definisi 8.2.7. (Binary Golay Code) ˆG merupakan matrik 12×13ˆG = [I12| ˆB]dengan ˆB matrik 12×11 yang dibentuk dari matrik B dengan menghilangkan kolom terakhir.Binary linear code dengan matrik generator ˆG disebut binary Golay code dan dinotasikandengan G23.Definisi 8.2.8. (Extended Ternary Golay Code) Extended ternary Golay code dinotasikandengan G12, yaitu ternary linear code dengan matrik generator G = [I6|A] deganA =0 1 1 1 1 11 0 1 2 2 21 1 0 1 2 21 2 1 0 1 21 2 2 1 0 11 1 2 2 1 0
  • 70. 64 BAB 8. SELF-DUAL CODES DAN BINARY GOLAY CODE8.2.2 Decoding Extended Binary Golay CodeJika G = [I12|B] matrik generator didefinisikan l1,l2,...,l12 merupakan vektor kolom danr1,r2,...,l12. Serta x(i),y(i) merupakan binary 12-tupel dengan komponen ke-i adalah non-zero serta 0 merupakan 12-tupel zero.Jika r merupakan codeword yang diterima,1. Tentukan s = GrT2. Jika wt(s) ≤ 3 maka bentuk e = (sT ,0) dan lanjutkan ke 83. Jika wt(s+li) ≤ untuk suatu li, 1 ≤ i ≤ 12 lalu bentuk e = ((s+li)T ,y(i)) lanjut ke 84. Bentuk BT s5. Jika wt(BT s) ≤ 3 maka bentuk e = (0,(BT s)T ) lanjut ke 86. Jika wt(BT s + rTi ) ≤ 2 untuk suatu ri, 1 ≤ i ≤ 12 lalu bentuk e = (x(i),(BT s)T + ri)lanjut ke 87. Jika sedikitnya ada 4 error yang terjadi. Retransmit dan mulai kembali 18. Decode r ke r −e = cContoh 8.2.9. Jika kita mendapat codeword sebagai berikut:r1 = 100010000000100100011101r2 = 100000100000100011010010r3 = 101100010000110011110001Maka akan kita kodekan sebagai berikut:1. Kita akan kodekan codeword r1. Kita cariGrT= (010010000000)T= sKarena wt(s) ≤ 3 maka kita bentuk e = (sT ,0) dan kodekan r1 ker1 −(sT,0) = 1100000000001001000111012. Kita akan kodekan codeword r2. Kita cariGrT= (101111101011)T= sKarena wt(s) > 3 maka kita cari li sehingga wt(s+li) ≤ 2.Kita lihat kolom ke-4 dari matrik Bs+l4 = (000001100000)TJelas bahwa vektor di atas mempunyai weight 2, maka e = (s+l4,y(4)) dengan y(4) =000100000000. Maka kita kodekan r2 ker2 −e = 100001000000100111010010
  • 71. 8.2. SELF-DUAL CODE 653. Kita akan kodekan codeword r3. Kita cariGrT= (110010101011)T= sKarena wt(s) > 3 maka kita cari li sehingga wt(s+li) ≤ 2.Karena tidak ada kolom yang memenuhi kondisi di atas maka kita bentukBTs = 010111110111Karena wt(BT s) > 3 maka kita harus mencari vektor baris dari B dengan BT s untuksuatu ri sehingga wt(BT s+ri) ≤ 2.Kita lihat untuk i = 1 diperoleh,BTs+r1 = (001000001000)T= yTSehingga kita peroleh e = (x(1),y) dengan x(1) = 100000000000 jadi,e = 1000000000000000001000001000Jadi kita kodekan r3 ker3 −e = 001100010000111011111001Demikian beberapa hal yang dikenalkan dari Binary Golay Code (24,12,8) self-dual codeyang digunakan pada misi luar angkasa Voyage dalam transmisi gambar dari Jupiter danSaturnus. Kode ini memuat sampai 212 = 4096 codeword yang digunakan untuk transmisiwarna. Code ini dapat mengoreksi sampai 3 error, relatif lebih baik dibandingkan Red-Mullercode order satu.
  • 72. 66 BAB 8. SELF-DUAL CODES DAN BINARY GOLAY CODE
  • 73. Daftar Pustaka[1] Ling, S. and Chaoping Xing, 2004, ”Coding Theory” A First Course, CambridgeUniversity Press, New York.[2] Vanstone.,S. A. and P. C. van Oorschot,1989, ”An Introduction to Error CorrectingCodes with Applications”, Kluwer Academic Publishers,Dordrecht[3] Adlam, B.,2011, Constructing the Extended Binary Golay Code, Harvard University,UK.[4] Lim, S., 2004, Coding Theory A First Course, Cambridge University Press, Inc., UK.[5] sweeney, P.,1991, Error Control Coding,Prentice Hall, UK.67

×