BAB II TEORI DASAR
2.1 Aljabar Linier Definisi 2. 1. 1 Grup Himpunan tak kosong ๐บ disebut grup (๐บ,โ) jika pada ๐บ terdefinisi operasi โ , sedemikian rupa sehingga berlaku : a. Jika ๐, ๐ elemen dari ๐บ, maka
๐ โ ๐ elemen dari ๐บ. Dengan kata lain, ๐บ tertutup
terhadap operasi โ. b. Berlaku hukum asosiatif di ๐บ, yaitu diberikan ๐, ๐, ๐ elemen dari ๐บ , maka ๐ โ ๐ โ ๐ = ๐ โ ๐ โ ๐. c. Terdapat ๐ elemen dari ๐บ sedemikian rupa sehingga untuk setiap ๐ elemen dari ๐บ berlaku ๐ โ ๐ = ๐ โ ๐ = ๐. Selanjunya elemen e disebut elemen identitas atau unit di ๐บ. d. Untuk setiap ๐ elemen dari ๐บ, terdapat ๐โ1 โ ๐บ sedemikian rupa sehingga ๐ โ ๐โ1 = ๐โ1 โ ๐ = ๐. Elemen ๐โ1 disebut invers dari ๐ di ๐บ. Definisi 2. 1. 2 Grup ๐บ disebut grup komutatif atau grup abel jika berlaku hukum komutatif di ๐บ, yaitu ๐ โ ๐ = ๐ โ ๐, untuk setiap ๐, ๐ โ ๐บ. Contoh 2.1.3 Himpunan bilangan bulat (Z, +) merupakan grup komutatif terhadap operasi penjumlahan. Definisi 2. 1. 4 Lapangan Lapangan adalah sebuah himpunan ๐น, elemen-elemannya dinamakan skalar, bersama dengan dua buah operasi biner yaitu penjumlahan dinotasikan dengan +, dan perkalian dinotasikan dengan โ; bersama dengan dua buah elemen 0, 1 ๐ ๐น sedemikian rupa sehingga berlaku : a. Untuk Setiap ๐ฅ, ๐ฆ, ๐ง โ ๐น 1. ๐ฅ + ๐ฆ โ ๐น 2
2. ๐ฅ + ๐ฆ = ๐ฆ + ๐ฅ 3. ๐ฅ + ๐ฆ + ๐ง = ๐ฅ + (๐ฆ + ๐ง) 4. 0 + ๐ฅ = ๐ฅ 5. terdapat (โ๐ฅ) โ ๐น sedemikian rupa sehingga (โ๐ฅ) + ๐ฅ = 0 b. Untuk setiap ๐ฅ, ๐ฆ, ๐ง โ ๐น 6. ๐ฅ โ ๐ฆ โ ๐น 7. ๐ฅ โ ๐ฆ = ๐ฆ โ ๐ฅ 8.
๐ฅ โ ๐ฆ โ ๐ง = ๐ฅ โ (๐ฆ โ ๐ง)
9. 1 โ ๐ฅ = ๐ฅ c. Untuk setiap ๐ฅ โ F, ๐ฅ โ 0, terdapat elemen ๐ฅ โ1 di ๐น sedemikian rupa sehingga ๐ฅ โ ๐ฅ โ1 = ๐ฅ โ1 โ ๐ฅ = 1. d. Untuk setiap ๐ฅ, ๐ฆ, ๐ง โ ๐น, berlaku hukum distributif yaitu ๐ฅ + ๐ฆ โ ๐ง = ๐ฅ โ ๐ฆ + ๐ฅ โ ๐ง. Lapangan ๐น disebut lapangan hingga jika ๐น memiliki sebanyak hingga elemen. Banyaknya elemen di suatu lapangan hingga dinamakan orde lapangan. Jika lapangan ๐น memiliki tak hingga elemen, ๐น disebut lapangan tak hingga. Contoh 2.1.5 Himpunan ๐ญ๐ = {0,1} dengan operasi penjumlahan dan perkalian dilakukan dalam modulo 2, merupakan lapangan hingga berorde 2. Lapangan ๐ญ๐ biasa disebut lapangan biner. Himpunan bilangan riil ๐น merupakan salah satu contoh lapangan tak hingga. Definisi 2. 1. 5 Sub Ruang Vektor Sub Ruang Vektor dari ๐น๐ adalah sub himpunan ๐ โ ๐น ๐ dari p-vektor dengan 0 โ ๐ sedemikian rupa sehingga berlaku: a. Jika ๐ฃ โ ๐ dan ๐ โ ๐น, maka ๐ โ ๐ฃ โ ๐ b. Jika ๐ข, ๐ฃ โ ๐ maka ๐ข + ๐ฃ โ ๐ Definisi ini ekuivalen dengan, suatu subruang vektor dari ๐น๐ adalah himpunan tak kosong dari p-vektor dan tertutup terhadap operasi penjumlahan dan perkalian skalar.
3
Definisi 2. 1. 6 Ruang Vektor Ruang vektor ๐ atas lapangan ๐น adalah suatu himpunan tak kosong ๐, dengan elemenelemennya dinamakan vektor, sebuah elemen dari ๐ yaitu 0 disebut vektor nol, bersama dengan sebuah operasi biner +, disebut penjumlahan vektor, dan suatu perkalian skalar dinotasikan โ, dari vektor dengan elemen dari ๐น; sedemikian rupa sehingga memenuhi sifat-sifat : a. Untuk Setiap ๐ข, ๐ฃ, ๐ค ๐ ๐ 1. ๐ข + ๐ฃ โ ๐ 2. 0 + ๐ฃ = ๐ฃ 3. ๐ข + ๐ฃ = ๐ฃ + ๐ข 4. ๐ข + ๐ฃ + ๐ค = ๐ฃ + ๐ข + ๐ค b. Untuk setiap ๐ข, ๐ฃ ๐ ๐ dan untuk setiap ๐, ๐ ๐ F 5. ๐ โ ๐ฃ โ ๐ 6. 1 โ ๐ฃ = ๐ฃ 7. 0 โ ๐ฃ = 0 8. ๐(๐ข + ๐ฃ) = ๐ โ ๐ข + ๐ โ ๐ฃ 9. (๐ + ๐ ) โ ๐ฃ = ๐ โ ๐ฃ + ๐ โ ๐ฃ 10. (๐ โ ๐ ) โ ๐ฃ = ๐ โ (๐ โ ๐ฃ) Kondisi a1 menyatakan ๐ tertutup terhadap operasi penjumlahan, sedangkan kondisi b5 menyatakan ๐ tertutup terhadap operasi perkalian skalar. Definisi 2. 1. 7 Subruang dari suatu ruang vektor ๐ adalah sebuah subhimpunan ๐ โ V, sedemikian rupa sehingga ๐ merupakan suatu ruang vektor dengan operasi biner penjumlahan dan perkalian skalar yang dimiliki ๐. Definisi subruang berbeda dengan definisi subruang vektor, akan tetapi lemma berikut ini menunjukan kedua definisi tersebut mendefinisikan konsep yang sama. Lemma 2. 1. 8 Sebuah subhimpunan tak hampa ๐ โ ๐ dari suatu ruang vektor V merupakan suatu subruang dari V jika dan hanya jika :
4
(i) Jika u, v ๐ V, maka ๐ข + ๐ฃ ๐ ๐ (ii) Jika ๐ ๐ F dan ๐ข ๐ ๐, maka ๐ โ ๐ข ๐ ๐ Bukti : Bukti terdapat pada lampiran 1. Definisi 2. 1. 9 Misal F n suatu ruang vektor atas lapangan F , bentuk bilinier pada F n adalah suatu fungsi <,>: F n x F n ๏ฎ F yang memenuhi : a. < ๐ข, ๐ฃ >=< ๐ฃ, ๐ข > untuk setiap ๐ข, ๐ฃ ๐ F n b. < ๐ โ ๐ข, ๐ฃ >= ๐ โ< ๐ฃ, ๐ข > untuk setiap k ๐ F dan untuk semua u,v ๐ F n c. < ๐ข + ๐ฃ, ๐ค >=< ๐ข, ๐ฃ > +< ๐ฃ, ๐ค >
Contoh 2.1.10 : Hasil kali titik pada ๐น๐2 yang didefinisikan sebagai ๐ข ยท ๐ฃ = ๐ข1 ๐ฃ1 + ๐ข2 ๐ฃ2 + โฏ + ๐ข๐ ๐ฃ๐ untuk sebarang ๐ข = (๐ข1 ๐ข2 โฆ ๐ข๐ ) dan ๐ฃ = (๐ฃ1 + ๐ฃ2 + โฏ + ๐ฃ๐ ) elemen dari ๐น๐2 merupakan suatu bentuk bilinier pada ๐น๐2 . Jika ๐ข ยท ๐ฃ = 0, u dan v dinamakan vektor-vektor yang saling orthogonal. Definisi 2. 1. 11 Misal V suatu ruang vektor atas lapangan F, dan W adalah subhimpunan tak kosong dari V. Komplemen orthogonal dari W di V didefinisikan sebagai subruang ๐โฅ (dibaca S perpendikular), dengan ๐โฅ = {๐ฃ โ ๐| < ๐ฃ, ๐ค โฅ 0 untuk semua ๐ค โ ๐}. Definisi 2.1.12 Sebuah vektor ๐ค disebut kombinasi linier dari vektor-vektor v1 , v2 ,..., vr , jika w dapat dituliskan dalam bentuk w ๏ฝ k1v1 ๏ซ k2v2 ๏ซ ... ๏ซ kr vr , dengan k1 , k2 ,..., kr merupakan skalar. Definisi 2.1.13 Jika ๐ = {๐ฃ1 , ๐ฃ2 , โฆ , ๐ฃ๐ } merupakan suatu subhimpunan dari suatu ruang vektor V, maka subruang W dari ruang vektor V, yang terdiri atas semua kombinasi linier dari vektor-vektor di S dinamakan ruang yang dibangun oleh ๐ฃ1 , ๐ฃ2 , โฆ , ๐ฃr . Selanjutnya, kita sebut vektor-vektor ๐ฃ1 , ๐ฃ2 , โฆ , ๐ฃr membangun W. Untuk menandakan ๐ adalah ruang yang dibangun oleh vektor-vektor di ๐ = {๐ฃ1 , ๐ฃ2 , โฆ , ๐ฃ๐ } kita tuliskan ๐ = ๐ ๐๐๐(๐) atau ๐ = ๐ ๐๐๐{๐ฃ1 , ๐ฃ2 , โฆ , ๐ฃ๐ }.
5
Definisi 2.1.14 Jika ๐ = {๐ฃ1 , ๐ฃ2 , โฆ , ๐ฃ๐ } merupakan himpunan tak kosong dari vektorvektor, maka persamaan vektor ๐1 ๐ฃ1 + ๐2 ๐ฃ2 + โฏ + ๐๐ ๐ฃr = 0 memiliki paling sedikit satu buah solusi yaitu ๐1 = 0, ๐2 = 0, โฆ , ๐๐ = 0. Jika ini merupakan satu-satunya solusi, maka S dinamakan himpunan yang bebas linier. Jika terdapat solusi lain, maka S dinamakan himpunan yang bergantung linier. Definsi 2.1.14 Misal V suatu ruang vektor atas sebarang lapangan F, dan ๐ = {๐ฃ1 , ๐ฃ2 , โฆ , ๐ฃ๐ } merupakan himpunan dari beberapa vektor di V. S dinamakan basis bagi V, jika terpenuhi dua buah kondisi berikut : a. S bebas liner b. S membangun V Contoh 2.1.15 Misal ๐๐ = (0,0, โฆ ,1,0, โฆ .0) vektor di ๐น๐ dengan entri ke-i sama dengan 1 dan entri lainnya sama dengan nol. Dengan mudah dapat dilihat bahwa ๐1 , ๐2 , โฆ , ๐๐ merupakan basis bagi ๐น๐ . Secara umum ๐1 , ๐2 , โฆ , ๐๐ dikenal sebagai basis standar bagi ๐น๐ . Definisi 2.1.16 Misalkan V suatu ruang vektor dengan B merupakan basis bagi V, misal B terdiri dari sebanyak hingga elemen, sebut sebanyak n untuk suatu ๐ ๐ ๐. Maka kita sebut V berdimensi n. Jika V memiliki dimensi n, V disebut ruang vektor berdimensi hingga. Jika V tidak berdimensi hingga (tidak memiliki suatu basis dengan banyak elemennya berhingga), V disebut ruang vektor berdimensi tak hingga.
2.2 Teori Koding Definisi 2.2.1 Sebuah katakode dengan panjang n atas lapangan F adalah sebuah vektor elemen dari ruang vektor ๐น๐ . Definisi 2.2.2 Kode dengan panjang n adalah kumpulan katakode dengan panjang n. Contoh 2.2.3 u=10011, v=11000, u dan v merupakan kata kode dengan panjang 5 atas lapangan F2 . Di samping itu, C ={10011, 11000,} merupakan kode dengan panjang 5.
6
Dalam Tugas Akhir kita hanya akan membahas tentang katakode dan kode atas lapangan biner. Selain itu, operasi penjumlahan kode pada ruang vektor yang dibangun atas lapangan biner dilakukan dalam modulo 2. Definisi 2.2.4 Bobot Hamming dari suatu kata kode x = ๐ฅ1 ๐ฅ2 โฆ ๐ฅ๐ ditulis wt(x) adalah banyaknya entri tak nol pada x. Definisi 2.2.5 Jarak Hamming antara dua buah kata kode x = ๐ฅ1 ๐ฅ2 โฆ ๐ฅ๐ dan y = ๐ฆ1 ๐ฆ2 โฆ ๐ฆ๐ dinotasikan dengan dist(x, y) adalah banyaknya posisi x dan y berbeda. Contoh 2.2.6 Untuk u=10011 dan v=11000, diperoleh wt(u)=3, wt(v)=2, dan dist(u,v)= dist(10011, 10001)=1. Perlu diperhatikan bahwa jarak Hamming antara sebarang dua katakode u dan v dengan panjang n sama dengan bobot Hamming dari (u+v), karena keduanya merujuk pada banyaknya posisi u dan v berbeda. sehingga diperoleh dist(u,v)=wt(u+v). Definisi 2.2.7 Misal C suatu kode, dan ๐ = min dist u, v , untuk setiap u โ ๐ถ, v โ ๐ถ, u โ v. d dinamakan jarak minimum kode C. Contoh 2.2.8 Kode C1 = {00, 10, 01, 11}. Jarak minimum kode C1 adalah 1. Dalam Tugas Akhir ini, istilah bobot Hamming ditulis sebagai bobot dan istilah jarak Hamming ditulis sebagai jarak. Disamping itu, istilah jarak minimum kode ditulis sebagai jarak minimum. Sekarang kita memasuki salah satu bagian penting dari teori koding, yaitu tentang kode pendeteksi dan pengoreksi kesalahan. Kode C dikatakan dapat mendeteksi pola kesalahan u jika dan hanya jika v + u โ C untuk setiap v โ C. Dengan kata lain, u dapat dideteksi oleh C bila setiap katakode v yang ditransmisikan, dekoder dapat mengenali bahwa katakode yang diterimanya, yakni u+v, bukan merupakan katakode; sehingga dapat disimpulkan terjadi kesalahan.
7
Suatu kode dikatakan kode pendeteksi t kesalahan bila ia dapat mendeteksi semua pola kesalahan taknol dengan bobot kurang dari atau sama dengan t, dan tidak dapat mendeteksi sedikitnya satu pola kesalahan dengan bobot t + 1. Teorema berikut ini menujukan setiap kode C dengan jarak d merupakan kode pendeteksi d-1 kesalahan. Teorema 2.2.9 Suatu kode C dengan jarak d akan dapat mendeteksi sedikitnya semua pola kesalahan taknol dengan bobot โค dโ1. Tapi, ada sedikitnya satu pola kesalahan dengan bobot d yang tidak dapat dideteksi oleh C. Bukti : Bukti terdapat pada lampiran 2. Suatu kode C dikatakan dapat mengoreksi pola kesalahan u jika untuk semua v โ C, v+u berjarak lebih dekat ke v dibanding dengan jarak ke katakode lain di C. Kode C dikatakan kode pengoreksi t kesalahan bila ia mengoreksi semua pola kesalahan dengan bobot t dan tidak mengoreksi sedikitnya satu pola kesalahan dengan bobot t + 1. Teorema berikut ini menunjukan setiap kode C dengan jarak d merupakan kode pengoreksi [(d โ 1)/2] kesalahan, (notasi [x] menujukan bilangan bulat terbesar yang kurang dari atau sama dengan bilangan riil x). Teorema 2.2.10 Suatu kode C berjarak d akan mengoreksi semua pola kesalahan dengan bobot kurang dari atau sama dengan [(d โ 1)/2]. Namun, C tidak dapat mengoreksi sedikitnya satu pola kesalahan berbobot 1 + [(d โ 1)/2]. Bukti : Bukti terdapat pada lampiran 3.
Contoh 2.2.11 Untuk kode C1 = {00, 10, 01, 11}. Maka setiap katakode yang diterima merupakan katakode di C1 , sehingga C1 tidak dapat mendeteksi adanya kesalahan. Kode C1 tidak dapat mengoreksi kesalahan karena setiap kata yang diterima tidak perlu perubahan untuk menjadi katakode. Contoh 2.2.12
Ubah kode C1 dengan mengulang setiap katakodenya 3 kali dan didapat
kode C2 = {000000, 101010, 010101, 111111}. Misal kata 111010 yang diterima. Karena kata ini tidak di C2 , maka kita dapat mendeteksi sedikitnya ada satu kesalahan. Untuk menjadikan katakode, kata 111010 perlu diubah sedikitnya pada satu digitnya menjadi 101010. Sehingga kita mengharap bahwa 101010 memang kata yang ditransmisikan, 8
sehingga kita mengoreksi 111010 menjadi 101010. Kode C2 dapat mengoreksi satu kesalahan. Definisi 2.2.14 Suatu kode C dengan panjang n atas lapangan F disebut kode linier jika C membentuk subruang dari ruang vektor ๐น๐ . Definisi di atas memberikan pengertian bahwa kode linier adalah kode yang tertutup terhadap operasi penjumlahan katakode. Disamping itu, C tentulah memuat vektor nol, karena untuk sebarang ๐ฃ โ C, mengakibatkan ๐ฃ + ๐ฃ = 0 โ C. Dalam Tugas Akhir ini, suatu kode linier C dengan panjang n, dimensi k, dan jarak minimum d ditulis sebagai kode ๐ถ [๐, ๐, ๐] . Contoh sederhana kode linier adalah C4 = {000, 111}, karena 000 + 000 = 000, 111 + 000 = 111, 000 + 111 = 111, dan 111 + 111 = 000 semuanya ada di C4. Namun, C5 = {000, 100, 110} bukan kode linier, karena 100 + 110 = 010 โ C5. Salah satu keunggulan menggunakan kode linier adalah mudah untuk dihitung jaraknya. Yakni, jarak suatu kode linier C sama dengan bobot terkecil katakode taknol di C. Kenapa demikian? Perhatikan penjelasan berikut ini. Misal jarak minimum C adalah k, dan v dan w dua katakode di C yang memberikan d(v,w) = k. Misal c bobot terkecil di C. Karena C linier maka z = v + w โ C, dan wt(z) = wt(v + w) = d(v,w) = k. Jadi ๐ โค ๐, karena c merupakan bobot terkecil di C. Sebaliknya, jika c bobot terkecil di C dan wt(u) = c, maka kelinieran C menjamin adanya 0 โ C, dan d(0, u) = c. Sehingga ๐ โค ๐, karena k merupakan jarak minimum di C. Jadi diperoleh ๐ = ๐. Misalkan C adalah kode linier [๐, ๐, ๐] atas F. Misalkan pula ๐ด๐ adalah banyaknya katakode yang berbobot ๐ di C . Enumerator bobot Hamming dari kode C adalah polinom homogen berderajat n dalam dua variabel, yaitu : WC x, y =
n nโi i y i=0 Ai x
Enumerator bobot hamming juga bisa ditulis menjadi : ๐๐ถ ๐ฅ, ๐ฆ =
๐ข โ๐ถ
๐ฅ ๐โ๐ค๐ก (๐ข) ๐ฆ ๐ค๐ก (๐ข)
Misal C kode linier [๐, ๐], kode dual atau kode orthogonal dari C, ditulis ๐ถโฅ adalah himpunan vektor-vektor yang ortogonal dengan semua katakode dari C. Secara eksplisit 9
kita dapat menuliskan ๐ถโฅ ={๐ฃ โ (๐น2 )๐ | ๐ฃ. ๐ค = 0, untuk semua ๐ค โ ๐ถ}. Jika ๐ถ โ ๐ถ โฅ , kode C dinamakan kode swa-dual lemah(weakly self-dual), sedangkan jika ๐ถ = ๐ถ โฅ , kode C dinamakan kode swa-dual(self-dual). Misal ๐ด๐ โฒ adalah banyaknya katakode yang berbobot ๐ di ๐ถ โฅ . Maka pencacah bobot Hamming dari kode ๐ถ โฅ adalah polinom homogen berderajat n dalam dua variabel, yaitu : ๐๐ถ โฅ ๐ฅ, ๐ฆ = =
โฒ ๐โ๐ ๐ ๐ ๐ฆ ๐ =0 ๐ด๐ ๐ฅ ๐ข โ๐ถ โฅ
๐ฅ ๐โ๐ค๐ก (๐ข ) ๐ฆ ๐ค๐ก (๐ข )
Untuk kode swa-dual C, tentulah C tidak memuat katakode berbobot ganjil. Andaikan terdapat v โ C dan v berbobot ganjil, akibatnya v. v = 1. Kontradiksi dengan C swa-dual (seharusnya v. v = 0). Lebih lanjut, untuk suatu n, kita bisa mendapatkan kode swa-dual dengan panjang n dan bobot setiap katakodenya merupakan kelipatan 4. Kode swa-dual semacam ini dinamakan kode swa-dual genap. Untuk kode swa-dual genap dengan panjang n, kode tersebut tentulah memuat katakode berbobot n. Karena vektor berbobot n tentu orthogonal dengan setiap katakode di C. Matriks Pembangun dari suatu kode linier ๐ถ[๐, ๐, ๐] adalah suatu matriks ๐บ berukuran ๐ x ๐, ๐๐๐๐(๐บ) = ๐, dan himpunan semua vektor baris dari ๐บ merupakan basis bagi ๐ถ. Untuk kode ๐ถ yang sama, didefinisikan Matriks Cek Paritas ๐ป, yaitu suatu matriks berukuran ๐ x (n โ k), ๐๐๐๐(๐ป) = (๐ โ ๐) , dan himpunan semua vektor kolom dari ๐ป merupakan basis bagi ๐ถ โฅ . Teorema 2.2.15 Matriks G dan H berturut-turut merupakan matriks pembangun dan matriks cek paritas untuk suatu kode linier ๐ถ jika dan hanya jika: i. Baris dari G bebas linier, ii. Kolom dari H bebas linier, iii. Banyaknya baris dari G + Banyaknya kolom dari H = Banyaknya kolom dari G = Banyaknya baris dari H, dan iv. GH = 0.
10
Bukti : Untuk (i), (ii), dan (iii) cukup jelas dari definisi matriks pembangun dan matriks cek paritas. Definisi kode dual menyebabkan (iv). Terbukti.
โ
Selanjutnya, karena ๐ป๐ ๐บ๐ = (๐บ๐ป)๐ = 0 dan berdasar teorema 2. 2. 8, maka didapat teorema berikut : Teorema 2.2.16 H adalah matriks cek paritas dari ๐ถ jika dan hanya jika ๐ป๐ matriks pembangun dari ๐ถ โฅ , G matriks pembangun dari C jika dan hanya jika ๐บ๐ matriks cek paritas dari ๐ถ โฅ . Jadi, untuk kode swa-dual kita peroleh ๐บ = ๐ป๐ . Sekarang kita tinjau suatu fakta menarik pada kode dual biner, yaitu pencacah bobot dari kode dual biner ๐ถ โฅ ditentukan secara unik oleh pencacah bobot kode ๐ถ. Fakta ini dinyatakan dalam teorema Mac Williams di bawah ini. Teorema ini memberikan jalan bagi kita untuk mendapatkan pencacah bobot kode dual ๐ถ โฅ tanpa harus mendaftar katakode-katakode pada kode dual ๐ถ โฅ . Teorema 2.2.17 (Teorema Mac Williams) Jika ๐ถ [๐, ๐, ๐] merupakan suatu kode linier biner dengan kode dualnya adalah ๐ถ โฅ , maka ๐๐ถ โฅ ๐ฅ, ๐ฆ =
1 ๐ถ
๐๐ถ (๐ฅ + ๐ฆ, ๐ฅ โ ๐ฆ),
(i)
dengan ๐ถ = 2๐ adalah banyaknya katakode di ๐ถ. Persamaan (i) ekuivalen dengan persamaan : (ii)
๐ ๐ =0
๐ดโฒ๐ ๐ฅ ๐โ๐ ๐ฆ ๐ =
(iii)
๐ข โ๐ถ โฅ
1 ๐ถ
๐ ๐=0 ๐ด๐
๐ฅ ๐โ๐ค๐ก (๐ข) ๐ฆ ๐ค๐ก (๐ข) =
1 ๐ถ
(๐ฅ + ๐ฆ)๐โ๐ (๐ฅ โ ๐ฆ)๐ , atau ๐ข โ๐ถ (๐ฅ
+ ๐ฆ)๐ โ๐ค๐ก(๐ข) (๐ฅ โ ๐ฆ)๐ค๐ก (๐ข) .
Persamaan (i), (ii), dan (iii) dikenal sebagai identitas MacWilliams. Pembuktian Teorema Mac Williams memakai lemma berikut ini : Lemma 2.2.18 Misal f sebarang pemetaan yang didefinisikan pada ๐น ๐ . Transformasi Hadamard ๐ dari f didefinisikan sebagai ๐ ๐ข = 11
๐ฃโ๐น ๐
โ1
๐ข.๐ฃ
๐ ๐ฃ ,
๐ข โ ๐น๐ .
Jika ๐ถ[๐, ๐, ๐] merupakan kode linier, maka
๐ข โ๐ถ โฅ
๐ ๐ข =
1 ๐ถ
๐ข โ๐ถ ๐ (๐ข).
Bukti : Bukti terdapat pada lampiran 4.
Bukti Teorema Mac Williams : Cukup dibuktikan persamaan (iii). Misalkan ๐ ๐ข = ๐ฅ ๐โ๐ค๐ก (๐ข) ๐ฆ ๐ค๐ก (๐ข) , sehingga diperoleh ๐ ๐ข =
๐ฃโ๐น ๐ (โ1)
๐ ๐ข =
๐ข.๐ฃ ๐โ๐ค๐ก (๐ฃ) ๐ค๐ก (๐ฃ)
๐ฃโ๐น ๐ (โ1)
=
๐ ๐=1
๐ฅ
๐ฆ
๐ข 1 ๐ฃ1 +โฏ+๐ข ๐ ๐ฃ๐
1 ๐ข๐๐ค ๐ค =0 (โ1)
. Misal ๐ข = ๐ข1 โฆ ๐ข๐ , ๐ฃ = (๐ฃ1 โฆ ๐ฃ๐ ), maka didapatkan :
๐ ๐โ๐ฃ๐ ๐ฃ๐ ๐ฆ ๐=1 ๐ฅ
=
1 ๐ฃ1 =0
1 ๐ฃ2 =0 โฆ
1 ๐ฃ๐ =0
๐ ๐ข ๐ ๐ฃ๐ 1โ๐ฃ๐ ๐ฃ๐ ๐ฅ ๐ฆ ๐=1(โ1)
๐ฅ 1โ๐ค ๐ฆ ๐ค
Untuk ๐ข๐ = 0, notasi sigma menghasilkan ๐ฅ + ๐ฆ. Jika ๐ข๐ = 1, notasi sigma memberikan ๐ฅ โ ๐ฆ.
Akibatnya,
๐ ๐ข = (๐ฅ + ๐ฆ)๐ โ๐ค๐ก (๐ข) (๐ฅ โ ๐ฆ)๐ค๐ก (๐ข) ,
persamaan ini menghasilkan
๐ข โ๐ถ โฅ
๐ฅ ๐โ๐ค๐ก (๐ข) ๐ฆ ๐ค๐ก (๐ข) =
1 ๐ถ
terapkan lemma ๐ข โ๐ถ (๐ฅ
2.2.18 pada
+ ๐ฆ)๐โ๐ค๐ก (๐ข ) (๐ฅ โ ๐ฆ)๐ค๐ก (๐ข) . โ
Terbukti.
12