SIFAT DAN KARAKTERISTIK KODE REED SOLOMON BESERTA APLIKASINYA PADA STEGANOGRAPHY
SKRIPSI
Diajukan kepada Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Negeri Yogyakarta
untuk Memenuhi Sebagian Persyaratan Guna Memperoleh Gelar Sarjana Sains
Oleh Nurma Widiastuti NIM. 11305141029
PROGRAM STUDI MATEMATIKA JURUSAN PENDIDIKAN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS NEGERI YOGYAKARTA
i
SIFAT DAN KARAKTERISTIK KODE REED SOLOMON BESERTA APLIKASINYA PADA STEGANOGRAPHY
SKRIPSI
Diajukan kepada Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Negeri Yogyakarta
untuk Memenuhi Sebagian Persyaratan guna Memperoleh Gelar Sarjana Sains
Oleh Nurma Widiastuti NIM. 11305141029
PROGRAM STUDI MATEMATIKA JURUSAN PENDIDIKAN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS NEGERI YOGYAKARTA
iv
HALAMAN PERNYATAAN
Yang bertanda tangan di bawah ini, saya:
Nama : Nurma Widiastuti
NIM : 11305141029
Program Studi : Matematika
Fakultas : Matematika dan Ilmu Pengetahuan Alam
Judul Skripsi : Sifat dan Karakteristik Kode Reed Solomon Beserta Aplikasinya pada Steganography
menyatakan bahwa skripsi ini benar-benar karya saya sendiri. Sepanjang pengetahuan saya tidak terdapat karya atau pendapat yang ditulis atau diterbitkan orang lain kecuali sebagai acuan atau kutipan dengan mengikuti tata penulisan karya ilmiah yang telah lazim.
Apabila ternyata terbukti pernyataan saya ini tidak benar, maka sepenuhnya menjadi tanggung jawab saya, dan saya bersedia menerima sanksi sesuai ketentuan yang berlaku.
Yogyakarta, 09 Juni 2016 Yang Menyatakan,
Nurma Widiastuti NIM 11305141029
v MOTTO
“Man jadda wajada
Barang siapa yang berusaha akan mendapatkan apa yang diusahakannya
Man zara’a hasada
Barang siapa yang menanam akan mengetam
Man yajtahid yanjah
Barang siapa yang (sangat amat) bersungguh-sungguh akan berhasil"
"Segala sesuatu yang baik maupun buruk pasti tersimpan hikmah yang dapat dipetik untuk menjadikannya suatu pembelajaran"
vi PERSEMBAHAN
Dengan memanjatkan puji syukur kehadirat Allah SWT, karya sederhana ini ku persembahkan kepada:
1. Bapak Maryadi dan Ibu Tutik Istiyah tercinta, yang selalu mendoakan dan memberikan motivasi sehingga karya ini dapat terseleseikan dengan baik. 2. Kakakku Fitri Yuli Astuti dan semua keluarga yang tak henti memberikan
motivasi kepadaku untuk meraih cita-cita.
3. Guru, dosen, dan pendidik atas ilmu dan nasehat-nasehatnya yang menemani langkahku saat ini.
4. Keluarga Matsub’11, terima kasih telah menjadi kawan seperjuangan dalam menuntut ilmu selama masa kuliah, khususnya Playground (Yuli, Luthfi, A’yun, Casca, Atul, Muhsin, Humam, Noval, Sahid, Mahasin, dan Yoga) yang telah mewarnai perjalanan perjuanganku selama ini. Semoga silaturahmi kita tetap terjaga.
5. Sahabat-sahabatku “krucilers” Rini dan Saras yang telah memberikan inspirasi, pengalaman dan semangat tiada henti kepadaku. Juga teruntuk Umi, Ira, Nisa, Pupud, dan Kadha sahabat super yang selalu memberiku semangat dan pengalaman berharga sehingga hidup ini lebih bermakna.
6. Teruntuk kawan-kawan yang telah membantuku menuntaskan perjuangan ini Upi dan mas Thoyib. Muvika, Chimay, Allam, mas Choiru yang selalu mengingatkanku ketika diri ini mulai lengah.
7. Bilqies, Rahma terimakasih selalu berbagi keceriaan kepadaku. Semangat belajar dan menuntut ilmu.
vii
SIFAT DAN KARAKTERISTIK KODE REED SOLOMON BESERTA APLIKASINYA PADA STEGANOGRAPHY
Oleh Nurma Widiastuti NIM. 11305141029
ABSTRAK
Penggunaan media komputer digital sebagai alat komunikasi yang handal menuntut ketepatan dan keamanan dalam pengiriman pesan. Apabila terjadi gangguan (error) pada pesan yang dikirimkan, maka diperlukan suatu kode yang dapat mendeteksi kesalahan dan memperbaiki. Salah satu kode pengoreksi error adalah kode Reed Solomon. Kode Reed Solomon merupakan kode linear non biner dengan penambahan data redundansi. Penelitian ini bertujuan untuk menjelaskan sifat dan karakteristik kode Reed Solomon, menjelaskan cara encoding dan decoding kode Reed Solomon dengan algoritma Euclidean dan Forney serta aplikasi kode Reed Solomon pada steganography.
Kode Reed Solomon merupakan kode linear yang bekerja pada bilangan non-biner. Karena memenuhi pertidaksamaan singleton, kode Reed Solomon disebut kode MDS (Maximum Distance Separable). Metode encoding yang digunakan adalah encoding sistematis, yaitu metode encoding dengan cara meletakkan bit pesan dan redundansi bersebelahan. Sedangkan langkah decoding-nya adalah: menghitung syndrome, menentukan polinomial error locator menggunakan algoritma Euclidean, mencari akar polinomial evaluasi error, kemudian dihitung nilai error menggunakan algoritma Forney.
Steganography merupakan seni menyembunyikan pesan rahasia agar tidak terlihat orang lain. Ada dua input dari data yang ditransmisikan dalam aplikasi kode Reed Solomon pada Steganography, yaitu codeword sebagai cover media dan pesan rahasia. Fungsi codeword sebagai penutup (cover media) dari pesan rahasia dengan cara mengganti bit redundansi pada codeword dengan bit pesan rahasia. Pesan tersebut dinamakan pesan stegogramme.
Kata Kunci: Algoritma Euclidean dan Forney, decoding, encoding, kode Reed Solomon, steganography
viii
KATA PENGANTAR
Assalamu’alaikum wr. wb
Alhamdulillahirobbil’alamin, puji syukur penulis panjatkan kepada Allah SWT yang senantiasa memberikan nikmat dan rahmatNya sehingga penulis dapat menyelesaikan penulisan skripsi dengan judul “Sifat dan Karakteristik Kode Reed Solomon Beserta Aplikasinya pada Steganography”. Tugas akhir Skripsi ini dibuat sebagai salah satu syarat untuk menyelesaikan studi Sarjana Sains (S.Si).
Banyak pihak yang telah mendukung dan membantu penulis sejak awal kuliah hingga penulisan tugas akhir skripsi. Pada kesempatan ini, penulis mengucapkan terima kasih pada pihak-pihak yang telah membantu dan memberikan dukungan kepada penulis, yaitu:
1. Bapak Dr. Hartono selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Negeri Yogyakarta.
2. Bapak Dr. Ali Mahmudi selaku Ketua Jurusan Pendidikan Matematika FMIPA Universitas Negeri Yogyakarta yang telah memberikan kelancaran dalam urusan akademik.
3. Bapak Dr. Agus Maman Abadi selaku Ketua Program Studi Matematika FMIPA Universitas Negeri Yogyakarta.
4. Bapak Musthofa., M.Sc selaku Dosen Pembimbing Akademik yang telah memberikan arahan, bimbingan, dan nasehat selama proses studi di UNY. 5. Ibu Dwi Lestari, M.Sc dan Ibu Atmini Dhoruri, M.S selaku Dosen
Pembimbing Skripsi yang telah memberikan bimbingan, arahan, dan saran sehingga penulis dapat menyelesaikan penulisan Tugas Akhir Skripsi ini.
ix
6. Bapak Ibu dosen Jurusan Pendidikan Matematika yang telah memberikan ilmu kepada penulis baik secara langsung maupun tidak langsung.
7. Bapak Maryadi, Ibu Tutik Istiyah, dan keluarga yang tidak pernah lelah memberikan dukungan, semangat, dan doa untuk penulis.
8. Sahabat-sahabat dan semua pihak yang telah memberikan motivasi dan membantu secara langsung maupun tidak langsung sehingga dapat memperlancar proses penyusunan tugas akhir ini.
Penulis menyadari bahwa dengan keterbatasan yang dimiliki, penulisan skripsi ini masih jauh dari sempurna. Oleh sebab itu, penulis sangat mengharap kritik dan masukan yang membangun sehingga dapat membuat skripsi ini menjadi lebih baik. Semoga tugas akhir ini dapat bermanfaat bagi pembaca dan pihak lain yang terkait. Aamiin. Wassalamu’alaikum wr. wb. Yogyakarta, 09 Juni 2016 Penulis, Nurma Widiastuti NIM. 11305141029
x DAFTAR ISI HALAMAN JUDUL ... i PERSETUJUAN ... ii PENGESAHAN ... iii HALAMAN PERNYATAAN ... iv MOTTO ... v PERSEMBAHAN ... vi ABSTRAK ... vii
KATA PENGANTAR ... viii
DAFTAR ISI ... x
DAFTAR TABEL ... xii
DAFTAR GAMBAR ... xiii
DAFTAR SIMBOL ... xiv
DAFTAR LAMPIRAN ... xv
BAB 1 PENDAHULUAN ... 1
A. Latar Belakang Masalah ... 1
B. Rumusan Masalah ... 4
C. Tujuan Penulisan ... 4
D. Manfaat Penulisan ... 5
BAB II KAJIAN TEORI ... 6
A. Lapangan Berhingga ... 6
B. Kode Linear ... 18
C. Codeword ... 19
D. Kode Blok ... 20
E. Jarak Hamming dan Bobot Hamming ... 21
F. Pengertian Kode Linear... 23
G. Kode Siklik ... 24
H. Polinomial Generator ... 25
I. Matriks Generator dan Matriks Parity-Cek ... 26
xi
K. Encoding dan Decoding ... 31
L. Pengantar Kode Reed Solomon pada Aplikasi Steganography ... 36
BAB III PEMBAHASAN ... 40
A. Kode Reed Solomon ... 40
1. Pengantar Kode Reed Solomon ... 40
2. Kode Reed Solomon, Sifat-sifat dan Karakteristik ... 42
3. Encoding dan Decoding Kode Reed Solomon ... 48
B. Aplikasi Kode Reed Solomon pada Steganography ... 59
1. Algoritma Kode Reed Solomon pada Steganography ... 63
2. Software Xiao Steganography 2.6.1 ... 64
BAB IV KESIMPULAN DAN SARAN ... 73
A. Kesimpulan ... 73
B. Saran ... 74
xii DAFTAR TABEL
Tabel 2.1. Tabel Cayley Z7 Hasil Penjumlahan Modulo 7 ...11
Tabel 2.2. Tabel Cayley Z7 Hasil Perkalian Modulo 7 ...12
Tabel 2.3. Elemen-Elemen GF(23) ...17
Tabel 2.4. Pesan Warna dalam Bentuk Kode ...20
Tabel 2.5. Standar Array kode-(5,3) C ...29
Tabel 2.6. Coset Leader dan Syndrome kode-(5,3) C...31
Tabel 3.1. Konstruksi Polinomial Primitif atas 𝐺𝐹(24) dengan Akar Primitif 𝛼4+ 𝑎 + 1………...….. 50
xiii
DAFTAR GAMBAR
Gambar 2.1. Diagram Proses Pengiriman Pesan/Informasi …...…..……... 31 Gambar 3.1. Diagram Proses Kode Reed Solomon .………..……... 42 Gambar 3.2. Codeword Reed Solomon …………...………..…... 47 Gambar 3.3. Proses Kode Pengoreksi Reed Solomon pada Steganography .... 60 Gambar 3.4. Algoritma Steganography dengan kode Reed Solomon ..…..….. 64 Gambar 3.5. Tampilan Utama software Xiao Steganography 2.6.1.…………. 65 Gambar 3.6. Tampilan “Add File to Image” untuk Input Data Cover Media .. 65 Gambar 3.7. Tampilan Input File sebagai Cover Media... 66 Gambar 3.8. Tampilan “Add File to Image” untuk Input Data Pesan Rahasia.. 67 Gambar 3.9. Tampilan Input File sebagai Pesan Rahasia.………... 67 Gambar 3.10. Tampilan Pilihan Algoritma Enkripsi dan Pengisian Password..68 Gambar 3.11. Tampilan Penyimpanan File...68 Gambar 3.12. Proses Penyimpanan Pesan Rahasia pada File Cover Media ….68 Gambar 3.13. Tampilan Proses Enkripsi Berhasil...……… ...…..…..…..…69 Gambar 3.14. Tampilan Pemilihan Pesan Stegogramme untuk Ekstraksi File 69 Gambar 3.15. Tampilan Proses Ekstraksi File... 70 Gambar 3.16. Tampilan Penyimpanan Pesan Rahasia Hasil Ekstraksi..…... 70 Gambar 3.17. Tampilan Hasil Proses Ekstraksi.……….……..…...71
xiv DAFTAR SIMBOL
𝑛 Panjang kode blok
𝑛 − 𝑘 Banyaknya digit parity check
|𝐹| Banyaknya elemen F
𝐹𝑞𝑛 Himpunan semua vektor dengan panjang 𝑛 atas lapangan 𝐹
𝑞. 𝑑(𝑥, 𝑦) Jarak hamming dari word 𝑥 dan 𝑦
𝑤(𝐶) Bobot hamming terkecil dari Codeword C
𝐺𝐹(𝑞) Galois Field dengan banyak elemen 𝑞.
𝑔(𝑥) Polinomial generator
𝑃(𝑥) Polinomial primitif
𝑀(𝑥) Polinomial data pesan
𝐶(𝑥) Polinomial data yang dikirim
𝑞(𝑥) Polinomial hasil bagi
𝑟(𝑥) Polinomial residu atau sisa
𝑣(𝑥) Polinomial data yang diterima
𝑒(𝑥) Polinomial error
𝑆(𝑥) Polinomial syndrome
∎ Akhir pembuktian.
Λ(𝑥) Polinomial evaluasi error
𝑅𝑆 − (𝑛, 𝑘) Kode Reed Solomon dengan panjang pesan 𝑘 lalu di-encode menjadi pesan kode dengan panjang 𝑛
1 BAB 1 PENDAHULUAN
A. Latar Belakang Masalah
Sistem teknologi, informasi dan komunikasi dari waktu ke waktu berkembang sangat pesat. Hal ini ditandai dengan munculnya berbagai sistem teknologi, informasi dan komunikasi yang semakin canggih dan semakin mempermudah aktivitas sehari-hari. Penggunaan komunikasi dan media komputer digital sebagai alat teknologi yang handal menuntut ketepatan dan keamanan dalam pengiriman pesan. Tuntutan tersebut semakin meningkat seiring munculnya jaringan data berskala besar dan kecepatan tinggi yang digunakan untuk bertukar, memproses dan menyimpan informasi digital di lingkungan militer, kepemerintahan, maupun swasta. Keamanan dalam mengirimkan pesan atau informasi pada sistem komunikasi dapat dilakukan dengan mengubah pesan-pesan informasi, gambar, audio, propaganda, nasihat, dan lain sebagainya ke bentuk kode yang disebut dengan codeword dan disajikan dalam bentuk vektor.
Pada proses pengiriman pesan, terkadang codeword yang diterima tidak sama dengan kode yang dikirim. Hal ini berarti timbul sebuah kesalahan (error). Kesalahan merupakan suatu masalah yang dapat mengurangi keakuratan pesan yang diterima. Kesalahan bisa terjadi karena adanya gangguan/noise pada saat proses pengiriman pesan. Untuk mengatasi masalah tersebut diperlukan suatu sistem yang mampu untuk mengoreksi error. Oleh karena itu, pada sistem komunikasi diperlukan sistem pengkodean. Proses mengubah pesan ke dalam
2 bentuk kode disebut dengan encoding. Sedangkan proses menguraikan pesan atau membaca pesan disebut dengan decoding.
Dalam sistem pengkodean, kesalahan proses pengiriman pesan dapat dideteksi dan selanjutnya dapat dikoreksi. Salah satu kode pengoreksi error adalah kode Reed Solomon. Kode Reed Solomon (RS) pertama kali ditemukan oleh Irving S. Reed dan Gustave Solomon pada tahun 1960. Kode Reed Solomon (RS) merupakan kode siklik non biner yang kesalahannya dapat diperbaiki. Kode Reed Solomon bekerja jika dalam komunikasi terdapat sebuah blok data hilang atau benar-benar terhapus dan jika ada cukup blok tersisa yang diterima maka masih bisa diperbaiki.
Pada perkembangannya kode pengoreksi error menggunakan Reed Solomon mempunyai banyak aplikasi pada sistem komunikasi maupun informasi. Salah satu aplikasinya adalah untuk mengamankan pesan rahasia pada proses steganography. Steganography adalah suatu cara menyembunyikan informasi untuk mencegah pendeteksian pesan yang disembunyikan. Steganography berasal dari bahasa Yunani steganos yang artinya tersembunyi atau terselubung dan graphein yang berarti menulis. Teknik steganography dapat digunakan untuk menyembunyikan pesan rahasia berupa teks, gambar, maupun audio. Teknik ini sudah dilakukan sejak zaman romawi kuno dan telah berkembang pesat pada era sekarang menggunakan media komputer. Pada proses penyembunyian data diperlukan ketepatan dalam perhitungan bit – bit data karena jika terjadi sedikit kesalahan saja pada perhitungan maka akan berakibat pada rusaknya data yang dikirimkan sehingga data tidak akan dapat dikembalikan ke dalam bentuk semula.
3 Selain itu ukuran keberhasilan pada metode steganography juga dipengaruhi oleh proses penyembunyian data dengan hasil proses penyembunyian data yang berupa stego image harus menyerupai gambar asli (cover image) sehingga tidak terjadi kecurigaan dari pihak lain yang melihatnya. Selain itu faktor efisiensi data juga perlu dipertimbangkan dalam penyembunyian data sehubungan dengan perbandingan besarnya data yang disembunyikan dengan kualitas stego image yang dihasilkan artinya semakin besar data yang disembunyikan maka kualitas stego image yang dihasilkan semakin rendah.
Sebuah penelitian yang dilakukan oleh Peter Hanzlik pada tahun 2011 dalam penelitiannya yang berjudul “Steganography in Reed Solomon Codes”. Penelitian ini menghasilkan kode pengoreksi error Reed Solomon yang mempunyai kemampuan mengoreksi error pada stegogramme dan dimuat sebagai data tersembunyi yang telah di-encode.
Penelitian selanjutnya dilakukan oleh Frederick R. Ishengoma pada tahun 2014 yang berjudul “The Art of Data Hiding with Reed-solomon Error Correcting Codes” berisi tentang aplikasi kode pengkoreksi error Reed Solomon pada steganography. Penelitian ini menghasilkan model baru untuk aplikasi kode Reed Solomon sebagai kode pengoreksi error pada steganography. Model kerjanya yaitu mengganti redundansi kode Reed Solomon dengan pesan rahasia.
Berdasarkan penelitian-penelitian sebelumnya, tugas akhir ini merupakan studi dari jurnal yang berjudul “The Art of Data Hiding with Reed-solomon Error Correcting Codes” karya Frederick R. Ishengoma (2014). Kode pengoreksi error yang akan digunakan untuk memperbaiki kesalahan (error) pengiriman pesan
4 pada penelitian ini adalah kode Reed Solomon karena kemampuannya memperbaiki kesalahan yang cukup banyak dan kode Reed Solomon bekerja pada kode non-biner. Peneliti akan mengkaji sifat-sifat dan karakteristik kode Reed Solomon yang ditulis dalam bentuk definisi, teorema maupun contoh. Kemudian diberikan aplikasi proses pengiriman kode yang mengalami error pada kode Reed Solomon dan penyimpanan (penyisipan) pesan rahasia steganography pada kode Reed Solomon. Dengan penelitian ini, diharapkan dapat menambah pemahaman mengenai sifat-sifat dan karaktersitik kode Reed Solomon dan aplikasinya pada steganography.
B. Rumusan Masalah
Berdasarkan latar belakang masalah yang telah diuraikan tersebut, maka rumusan masalah yang akan dibahas dalam skripsi ini adalah sebagai berikut: 1. Bagaimana sifat-sifat dan karakteristik kode Reed Solomon?
2. Bagaimana aplikasi kode Reed Solomon pada steganography?
C. Tujuan Penulisan
Berdasarkan latar belakang masalah yang telah diuraikan tersebut, maka tujuan penulisan skripsi ini adalah sebagai berikut:
1. Menjelaskan sifat-sifat dan karakteristik kode Reed Solomon. 2. Menjelaskan aplikasi kode Reed Solomon pada steganography.
5 D. Manfaat Penulisan
Manfaat yang diperoleh dari penelitian ini adalah: 1. Bagi Penulis
Penulisan tugas akhir ini bermanfaat karena menambah pengetahuan dan wawasan tentang kode pengoreksi error yaitu kode Reed Solomon dan juga aplikasinya pada pengoreksian error pada steganography.
2. Bagi Para Pembaca
Penelitian ini dapat dijadikan sebagai acuan atau bahan studi untuk mempelajari kode Reed Solomon dan juga dapat dijadikan sebagai referensi untuk penelitian selanjutnya.
3. Bagi Perpustakaan Universitas Negeri Yogyakarta
Penulisan tugas akhir ini dapat menambah koleksi penelitian ilmiah atau bahan pustaka umumnya bagi Universitas Negeri Yogyakarta dan khususnya bagi Fakultas Matematika dan Ilmu Pengetahuan Alam.
6 BAB II KAJIAN TEORI
A. Lapangan Berhingga
Himpunan merupakan suatu kumpulan obyek-obyek yang didefinisikan dengan jelas pada suatu batasan-batasan tertentu. Contoh himpunan hewan berkaki empat H4 ={sapi, kambing, kuda, badak, harimau, unta}. Contoh lain himpunan bilangan prima kurang dari 12 yaitu A = {2,3,5,7,11}.
Definisi 2.1 (Sukirman, 2010: 68).
Himpunan tak kosong G yang memiliki operasi biner ⦁ disebut suatu grup apabila memenuhi aksioma-aksioma berikut ini:
i. Operasi ⦁ pada G bersifat asosiatif berlaku ( ⦁ )⦁ ⦁( ⦁ ). ii. G memuat elemen identitas, yaitu .
berlaku ⦁ ⦁ . iii. Setiap unsur G memiliki invers di dalam G juga.
sedemikian sehingga ⦁ ⦁ . Maka
disebut invers dari .
Suatu grup G dengan operasi biner ⦁ ditulis (G, ⦁). Jika (G, ⦁) suatu grup yang bersifat komutatif yaitu berlaku ⦁ ⦁ maka (G, ⦁) disebut grup komutatif atau grup abelian. Apabila terdapat dan , maka disebut kompleks dari (Sukirman, 2010:97). Misalkan terdapat ( ) suatu grup dan kompleks dari , dan apabila ( ) suatu grup, maka dikatakan adalah subgrup dari . Operasi pada grup dan harus sama (Sukirman, 2010:99).
7 Definisi 2.2 (Sukirman, 2010:174).
Diberikan suatu subgrup dari grup , sehingga disebut subgrup normal dari (diberi simbol ) jika dan hanya jika berlaku .
Contoh 2.1.
i. (B,+) dengan B adalah himpunan bilangan bulat, merupakan suatu grup dengan elemen identitas 0 dan setiap elemen mempunyai invers terhadap penjumlahan.
ii. Diberikan B9 = {0,1,2,3,4,5,6,7,8}, yaitu himpunan bilangan bulat tak negatif kurang dari 9. (B9,+), operasi + pada B9 bersifat asosiatif, memiliki elemen identitas 0 tetapi inversnya tidak termuat di B9 sehngga B9 tidak tertutup terhadap operasi +. Dengan demikian (B9,+) bukan merupakan grup. Sedangkan, (B9, ⦁) dengan B9 merupakan himpunan bilangan bulat tak negatif kurang dari 9 dan operasi ⦁ adalah operasi perkalian yang bersifat asosiatif tetapi hasil perkalian elemen-elemennya tidak termuat di B9 sehingga B9 tidak tertutup. Jadi, (B9, ⦁) juga bukan suatu grup.
Definisi 2.3 (Fraleigh, 1989: 167).
Suatu ring ( ⦁) adalah himpunan tak kosong R yang dilengkapi dengan dua operasi biner yang ditunjukkan dengan tanda ( ) untuk penjumlahan dan ( ⦁ ) untuk perkalian serta memenuhi aksioma-aksioma sebagai berikut:
i. ( ) merupakan grup komutatif atau grup abelian ii. ( ⦁) memenuhi sifat asosiatif
iii. Memenuhi sifat distributif kiri dan distributif kanan, untuk setiap berlaku ( ) dan ( ) .
8 Suatu ring ( ⦁) dikatakan ring komutatif apabila operasi perkalian ( ⦁ ) pada R bersifat komutatif yaitu untuk setiap berlaku ⦁ ⦁ .
Contoh 2.2.
Perhatikan himpunan-himpunan berikut.
B9 = {0,1,2,3,4,5,6,7,8}, yaitu himpunan bilangan bulat tak negatif kurang dari 9. = {[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]}, yaitu himpunan semua kelas bilangan bulat modulo 10.
= {[0], [1], [2], [3], [4], [5], [6], [7], [8], [9], [10]}, yaitu himpunan semua kelas bilangan bulat modulo 11.
Pada himpunan-himpunan tersebut didefinisikan operasi + dan ⦁ sehingga dapat dijelaskan sebagai berikut.
i. ( ⦁) merupakan suatu ring karena himpunan memenuhi semua syarat aksioma suatu ring yaitu ( ) merupakan grup abelian, ( ⦁) bersifat asosiatif, dan memenuhi sifat distribusi kanan dan kiri.
ii. ( ⦁) merupakan suatu ring karena himpunan memenuhi semua syarat aksioma suatu ring yaitu ( ) merupakan grup abelian, ( ⦁) bersifat asosiatif, dan memenuhi sifat distribusi kanan dan kiri.
iii. ( ⦁) bukan suatu ring karena (B9,+) maupun (B9,⦁) bukan suatu grup seperti yang telah dijelaskan pada Contoh 2.1.
Definisi 2.4 (Sukirman, 2006: 35)
Diberikan ( ⦁) suatu ring. Apabila , dan ( ⦁) adalah suatu ring, maka dikatakan bahwa adalah subring dari .
9 Contoh 2.3.
Misalkan adalah ring bilangan bulat terhadap penjumlahan dan perkalian
aritmetik. adalah himpunan semua bilangan genap dan terhadap
penjumlahan dan perkalian aritmetik adalah ring dan karena adalah himpunan bagian dari , maka adalah subring dari .
Suatu subring yang memiliki sifat khusus disebut dengan ideal. Berikut diberikan definisi ideal.
Definisi 2.5 (Sukirman, 2006: 50).
Diberikan suatu ring dan subring dari , maka:
i. disebut ideal kanan dari , jika , berlaku . ii. disebut ideal kiri dari , jika , berlaku .
iii. disebut ideal dua sisi dari , jika , berlaku dan .
Teorema 2.1 (Sukirman, 2006: 51).
Diberikan adalah ring, , . S adalah ideal dari jika dan hanya jika:
i. ;
ii. , dan . Bukti:
( ) Diketahui suatu ideal dari maka menurut definisi, adalah dubring dari yang memenuhi , dan , berlaku dan .
10 ( ) Apabila dan menurut ketentuan dan , maka adalah subring dari . Selanjutnya, karena , , berlaku dan
maka adalah ideal dari .
Contoh 2.4.
Misalkan {[ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]} adalah himpunan semua kelas bilangan bulat modulo 12. ( ⦁) merupakan ring dengan operasi penjumlahan dan perkalian modulo 12 maka {[ ] [ ] [ ]} adalah ideal dari yang tidak memuat pembagi nol.
Definisi 2.6 (Hartley & Howkes, 1970: 59).
Suatu ideal atas daerah integral disebut ideal utama atas jika dibangun oleh elemen tunggal , sedemikian sehingga .
Contoh 2.5.
Jika adalah daerah integral, maka ideal { } dan adalah ideal utama yang dibangun oleh masing-masing 0 dan 1.
Definisi 2.7 (Herstein, 1996:148).
Suatu ideal atas ring adalah ideal maksimal dari jika dan hanya jika ideal dari memuat yaitu itu sendiri dan .
Definisi 2.8 (Vanstone dan Oorschot, 1989: 21).
Sebuah lapangan F merupakan himpunan elemen-elemen tertutup yang memuat dua operasi biner yaitu penjumlahan dan perkalian dinotasikan dengan “+” dan “⦁” sehingga aksioma-aksioma di bawah ini terpenuhi untuk semua .
i. ( ) ( )
11 iii. ada elemen sedemikian sehingga
iv. ada elemen sedemikian sehingga ( ) v. ⦁( ⦁ ) ( ⦁ )⦁
vi. ⦁ ⦁
vii. ada elemen sedemikian sehingga ⦁
viii. untuk setiap , ada elemen sedemikian sehingga ⦁
ix. ⦁( ) ⦁ ⦁ .
Berikut diberikan contoh lapangan. Contoh 2.6.
Diberikan himpunan {[ ] [ ] [ ] [ ] [ ] [ ] [ ]}, yang merupakan himpunan semua kelas bilangan bulat modulo 7 dengan penjumlahan modulo 7 dan perkalian modulo 7 yaitu ( ⦁), maka ( ⦁) yang merupakan suatu lapangan. Berikut diberikan bukti dengan menggunakan Tabel Cayley :
Tabel 2.1. Tabel Cayley Hasil Penjumlahan Modulo 7 [0] [1] [2] [3] [4] [5] [6] [0] [0] [1] [2] [3] [4] [5] [6] [1] [1] [2] [3] [4] [5] [6] [0] [2] [2] [3] [4] [5] [6] [0] [1] [3] [3] [4] [5] [6] [0] [1] [2] [4] [4] [5] [6] [0] [1] [2] [3] [5] [5] [6] [0] [1] [2] [3] [4] [6] [6] [0] [1] [2] [3] [4] [5] diagonal utama
12 Tabel 2.2. Tabel Cayley Hasil Perkalian Modulo 7
[0] [1] [2] [3] [4] [5] [6] [0] [0] [0] [0] [0] [0] [0] [0] [1] [0] [1] [2] [3] [4] [5] [6] [2] [0] [2] [4] [6] [1] [3] [5] [3] [0] [3] [6] [2] [5] [1] [4] [4] [0] [4] [1] [5] [2] [6] [3] [5] [0] [5] [3] [1] [6] [4] [2] [6] [0] [6] [5] [4] [3] [2] [1] diagonal utama Memperhatikan tabel Cayley untuk penjumlahan modulo 7 memenuhi sifat tertutup, elemen nolnya adalah [0], invers terhadap penjumlahan modulo 7, yaitu [ ] [ ], [ ] [ ], [ ] [ ], [ ] [ ], [ ] [ ], [ ] [ ], [ ] [ ]. Tabel simetris terhadap diagonal utama, sehingga penjumlahan
modulo 7 maupun perkalian modulo 7 bersifat komutatif. Himpunan terhadap
perkalian modulo 7 bersifat tertutup, memiliki elemen kesatuan yaitu [1], invers terhadap perkalian modulo 7, yaitu [ ] [ ] , [ ] [ ] , [ ] [ ] , [ ] [ ] , [ ] [ ] , [ ] [ ] . Jadi setiap elemen terhadap operasi perkalian dan penjumlahan memiliki invers. Terbukti bahwa ( ⦁) merupakan suatu lapangan.
Suatu lapangan yang memuat sebanyak elemen berhingga disebut dengan lapangan berhingga. Himpunan kelas bilangan bulat modulo yang dinotasikan dengan atas operasi standar penjumlahan dan perkalian modulo disebut lapangan.
Teorema 2.2 (Vanstone & Oorschot , 1989 : 22).
Himpunan Zn merupakan lapangan berhingga jika dan hanya jika bilangan
13 Bukti:
( ) Ak n ditunjukk n himpunan Zn merupakan lapangan berhingga jika bilangan prima.
Diketahui bukan bilangan prima, maka dengan bilangan prima, . Karena merupakan lapangan, maka setiap elemen tak nolnya pasti memiliki invers. Misalkan adalah invers dari , berarti ( ) dan ( ). Karena maka ( ), akibatnya ( ) yang berarti sehingga prima. Hal ini kontradiksi dengan pengandaian bahwa bukan bilangan prima. Jadi bilangan prima.
( )Akan ditunjukkan jika bilangan prima maka himpunan Zn merupakan lapangan berhingga.
Diketahui bilangan prima. Untuk dapat membuktikan merupakan lapangan, maka akan dibuktikan bahwa setiap elemen tak nol mempunyai invers. Karena adalah bilangan prima, maka ( ) , untuk . Akibatnya terdapat bilangan bulat dan sedemikian sehingga yang berarti ( ), diperoleh ( ). Jadi terbukti bahwa setiap elemen tak nolnya mempunyai invers. Jadi Zn adalah lapangan jika prima. Karena Zn memiliki elemen bilangan berhingga maka Zn adalah lapangan berhingga. Berikut diberikan contoh lapangan berhingga.
Contoh 2.7.
dan merupakan lapangan berhingga, tetapi dan bukan lapangan berhingga karena pada operasi perkalian untuk elemen [3]
14 di serta elemen [3] dan [5] di tidak mempunyai invers. Selain itu juga bukan lapangan berhingga karena pada operasi perkalian untuk elemen [2] dan [5] tidak mempunyai invers.
Diberikan ring dan ideal atas ring . Karena adalah grup atas penjumlahan dan adalah subgrup normal dari , dapat dibentuk suatu grup faktor { }. Dengan menganalogikan grup atas koset-koset, didefinisikan hasil kali dua koset ( ).( )= .
Teorema 2.3 (Gallian, 2006:269)
Suatu ring komutatif dengan elemen kesatuan dan adalah ideal dari . Suatu adalah lapangan jika dan hanya jika adalah ideal maksimal.
Bukti:
( ) Akan ditunjukkan suatu adalah lapangan jika adalah ideal maksimal. Diketahui lapangan dan ideal dari yang memuat . Diketahui suatu ring komutatif dengan elemen kesatuan dan adalah ideal dari . Diberikan tetapi . Suatu adalah elemen tak nol dari , jika terdapat elemen sedemikian hingga ( ) ( ) , yaitu identitas perkalian dari karena maka terdapat dan . Sehingga, ( ) . Oleh karena itu , terbukti ideal maksimal.
( ) Akan ditunjukkan jika adalah ideal maksimal.maka adalah lapangan Diketahui lapangan dan ideal dari yang memuat .Diketahui ideal maksimal dan tetapi . Hal ini menunjukkan bahwa memiliki invers perkalian. Memandang { }. Ini adalah ideal dari
15 yang memuat . Karena adalah ideal maksimal maka . Sehingga, , , dengan , maka
( )( ).
Teorema 2.4 (Gallian, 2006: 311).
Diberikan lapangan dan ( ) [ ], ideal 〈 ( )〉 adalah ideal maksimal di [ ] jika dan hanya jika ( ) polinomial tak tereduksi atas lapangan .
Bukti:
( ) Diketahui 〈 ( )〉 ideal maksimal di [ ]. Polinomial ( ) juga bukan polinomial nol maupun elemen identitas di ( ), karena { } maupun [ ] adalah ideal maksimal di [ ]. Jika ( ) ( ) ( ) adalah faktor dari ( ) atas lapangan , maka 〈 ( )〉 〈 ( )〉 [ ]. Sedemikian, 〈 ( )〉 〈 ( )〉 atau [ ] 〈 ( )〉.
( ) Diketahui ( ) polinomial tak tereduksi atas . Diberikan suatu ideal di [ ] sedemikian sehingga 〈 ( )〉 [ ]. Karena [ ] adalah daerah asal ideal utama , maka 〈 ( )〉 untuk suatu ( ) di [ ]. Jadi, untuk 〈 ( )〉 〈 ( )〉 maka ( ) ( ) ( ), dengan ( ) [ ]. Karena ( ) polinomial tak tereduksi atas , maka ( ) adalah konstan atau ( ) konstan.
Polinomial tak tereduksi adalah polinomial yang tidak dapat dinyatakan sebagai hasil perkalian dari dua polinomial dengan derajat yag lebih kecil dari derajat ( ) dalam [ ]. Himpunan [ ] adalah semua polinomial dalam atas lapangan ( prima) dengan setiap polinomial berderajat hingga.
16 Akibat 2.1 (Gallian, 2006: 311).
Jika adalah lapangan dan ( ) polinomial tak tereduksi atas maka [ ] 〈 ( )〉 adalah lapangan.
Contoh 2.8.
Diberikan 〈 〉 adalah ideal maksimal di ( ) sehingga ( ) 〈 〉 adalah lapangan.
Lapangan berhingga yang memuat elemen disebut Galois field (lapangan Galois) yang dinotasikan dengan ( ).
Definisi 2.9 (Vanstone & Oorschot, 1989 : 28).
Jika F suatu lapangan berhingga dengan elemen, dan dengan p bilangan prima dan bilangan asli, maka dilambangkan dengan ( ).
Perhatikan bahwa q mempunyai bentuk , yaitu q merupakan suatu bilangan prima p atau hasil pemangkatan dari p. Notasi GF ( ) adalah suatu lapangan dengan karakteristik p. Lapangan dapat dinotasikan dengan ( ). Definisi 2.10.
Untuk suatu polinomial ( ) ( ), kelas ekuivalensi yang memuat ( ) ( ) adalah
[ ( )] { ( ) ( ) ( ) ( )( ( ))},
yaitu himpunan semua polinomial yang apabila dibagi dengan ( ) menghasilkan sisa yang sama dengan ( ).
Operasi penjumlahan dan perkalian dalam kelas-kelas ekuivalensi tersebut didefinisikan sebagai berikut. Untuk ( ) ( ) [ ],
17 Diberikan [ ] ( ) yaitu himpunan semua kelas-kelas ekuivalensi dalam [ ] yang kongruen modulo ( ), dengan ( ) adalah polinomial tak tereduksi. Contoh 2.9.
Mengikuti contoh 2.6, ( ) 〈 〉 adalah suatu lapangan yang ( ) dengan koefisien elemen-elemennya atas {[ ] [ ]} dan memiliki 4 elemen. Elemen-elemen dari ( ) ( ) 〈 〉 {[ ] [ ] [ ] [ ]}. Definisi 2.11 (Vlcek, 2004).
Polinomial tak tereduksi ( ) dengan derajat atas ( ) dikatakan primitif jika adalah bilangan bulat positif terkecil, untuk ( ) faktor dari , berlaku .
Berikut diberikan contoh lapangan Galois yang dikonstruksi dari polinomial primitif.
Contoh 2.10.
Pada ( ), polinomial primitif berderajat 3 yang membangun semua elemen lapangan adalah ( ) . Polinomial primitif ( ) atas ( ) dengan koefisien variabel adalah elemen ( ) { }.
Diberikan adalah akar primitif atas ( ) maka dan
( )
dihasilkan elemen dari ( ) seperti pada Tabel 2.3. Tabel 2.3. Elemen-Elemen ( )
Bentuk Pangkat Bentuk Polinomial Bentuk Biner
000
18 010 100 011 110 111 101 001
Berdasarkan Tabel 2.3 dapat dinyatakan elemen GF( ) =
{000,001,010,011,100,101,110,111}.
B. Kode Linear
1. Ruang Vektor atas Lapangan Berhingga Definisi 2.12 (Ling dan Xing, 2004: 17).
Diberikan suatu lapangan berhingga dengan elemen sebanyak q. Himpunan tak kosong V, dengan operasi penjumlahan vektor dan perkalian skalar terhadap elemen-elemen adalah ruang vektor atas untuk setiap dan untuk setiap berlaku aksioma berikut:
i.
ii. ( ) ( )
iii. ada elemen yang berlaku untuk setiap iv. ada elemen yang berlaku ( ) ( ) untuk
setiap
v.
19 vii. ( )
viii. ( ) ix. ( ) ( )
x. apabila 1 adalah elemen identitas terhadap perkalian dari maka memenuhi
Himpunan semua vektor dengan panjang atas lapangan ditulis . Contoh 2.11.
Ruang vektor atas yaitu { }. C. Codeword
Definisi 2.13 (Ling & Xing, 2004 : 5).
Diberikan { } adalah suatu himpunan yang berukuran , yang dapat disebut alfabet kode dan elemen-elemennya disebut simbol kode.
i. Suatu word panjang n yaitu barisan dengan untuk setiap i.
ii. Kode blok dengan panjang atas merupakan himpunan tak kosong C pada word mempunyai panjang yang sama.
iii. Elemen dari C disebut dengan codeword.
iv. Kode dengan panjang dan berukuran disebut dengan kode-( ). Berikut diberikan contoh kode.
Contoh 2.12.
Suatu himpunan yang beranggotakan warna yaitu B={merah, kuning, hijau, biru, ungu} akan dikodekan menjadi suatu pesan rahasia yang terdiri dari angka biner 0 dan 1 dengan panjang 3 yaitu :
20 Tabel 2.4. Pesan Warna dalam Bentuk Kode
Warna Kode Merah 001 Kuning 010 Hijau 011 Biru 100 Ungu 101
Jadi himpunan B dapat ditulis dalam bentuk kode yaitu B={001, 010, 011, 100,101}.
Contoh 2.13.
(i) { } adalah kode-( ) yang artinya kode dengan panjang 2
berukuran 4.
(ii) { } adalah kode-( ) yang artinya kode dengan panjang 3 berukuran 4.
(iii) { } adalah kode-( ) yang artinya kode dengan panjang 4 berukuran 6.
Kode atas alfabet kode { } disebut dengan kode biner. Kode atas alfabet kode { } disebut dengan kode terner. Sedangkan, kode atas alfabet kode { } disebut dengan kode quarterner.
D. Kode Blok
Definisi 2.14 (Vanstone dan Oorschot, 1989).
Kode Blok C dengan panjang berisi M elemen atas lapangan A adalah himpunan tupel yang berjumlah M dengan masing-masing koordinat dari tupel yang diambil dari simbol pada lapangan A dan dinotasikan dengan kode [ ] atas lapangan A.
21 Elemen-elemen dari kode [ ] disebut dengan codeword. Sedangkan elemen-elemen tupel (blok dengan panjang n) yang tidak berada dalam blok [ ] disebut dengan word.
Berikut diberikan contoh kode blok. Contoh 2.14. C[2,4] = {00,01,10,11} atas . C[3,8] = {000,001,010,011,100,101,110,111} atas . C[3,27] = {000,001,002,010,020,011,012,021,022,100,200,101,102,201, 202,110,210,220,120,111,112,121,122,211,212,221,222} atas . C[5,12]0=0{00001,00010,00100,01000,00011,00101,00110,01001,01010,01100, 00111,01111} atas .
A. Jarak Hamming dan Bobot Hamming
Jarak hamming digunakan untuk menghitung banyaknya perbedaan posisi dua codeword. Misalkan, jarak hamming antara dua codeword dan artinya banyaknya posisi yang berbeda antara dua codeword dan . Jarak hamming dinotasikan ( ). Berikut diberikan definisi jarak hamming.
Definisi 2.15 (Ling & Xing, 2004: 9).
Diberikan x dan y adalah word dengan panjang n atas lapangan A, jarak hamming dari x dan y dinotasikan ( ) dengan x dan y berbeda. Jika
dan , maka
22 Berikut diberikan contoh menghitung jarak hamming.
Contoh 2.15.
Diberikan codeword sebagai berikut:
, Jarak hamming ( ) , ( ) , ( ) . Definisi 2.116 (Vanstone dan Oorschot, 1989 : 7).
Diberikan C suatu kode [ ] maka jarak hamming d dari kode C adalah sebagai berikut:
{ ( ) }
Artinya, jarak hamming dari suatu kode adalah jarak minimum antara dua codeword yang berbeda, atas semua pasang codeword.
Berikut diberikan contoh menghitung jarak hamming suatu kode blok. Contoh 2.16.
Diberikan kode [ ] { } :
( ) ( )
( ) ( )
dihasilkan jarak hamming dari kode C sebagai berikut:
( ) ( ) ( )
( ) ( ) ( )
sehingga disimpulkan bahwa kode C mempunyai jarak . Definisi 2.17 (Ling & Xing, 2004 : 48).
Jika C suatu kode maka bobot hamming minimum dari C dilambangkan dengan ( ) yang berarti bobot terkecil dari codeword yang bernilai tak nol dari C.
23 Berikut diberikan contoh menghitung bobot hamming.
Contoh 2.17.
Diketahui codeword , , dan maka
bobot hamming untuk codeword adalah : ( )
( ) ( ) .
Definisi 2.18 (Ling & Xing, 2004 : 46).
Suatu kode C (C tidak harus linear), bobot hamming minimum dari C dinotasikan dengan w(C) yang merupakan bobot terkecil dari codeword tak nol dari C, didefinisikan
w(C)= in { ( )}.
Berikut diberikan contoh bobot hamming suatu kode blok. Contoh 2.18.
Diberikan kode [ ] { } :
( ) ( )
( ) ( )
dihasilkan bobot hamming dari kode C sebagai berikut:
( ) ( ) ( )
sehingga disimpulkan bahwa bobot hamming kode C adalah ( ) . B. Pengertian Kode Linear
Pengkodean yang baik adalah proses encoding dan decoding apabila timbul kesalahan dapat dideteksi dan dapat diperbaiki. Alfabet pada kode dalam kode
24 linear merupakan elemen lapangan berhingga . Kode yang terbentuk oleh ruang vektor atas lapangan berhingga disebut kode linear.
Berikut diberikan definisi kode linear. Definisi 2.19 (Ling & Xing, 2004 : 45).
Kode linear C dengan panjang n atas merupakan subruang vektor atas dengan adalah himpunan semua vektor dengan panjang n yang entri-entrinya adalah elemen . Bentuk adalah sebagai berikut :
{( ) }.
Kode ( ) adalah kode linear dengan panjang dan berdimensi atas lapangan (Ling & Xing, 2004: 46).
Berikut diberikan contoh kode linear. Contoh 2.19.
={0000, 1000, 0100, 1100} ={0000, 1100, 0011, 1111}
{ }.
dan merupakan kode linear atas , sedangkan merupakan kode linear atas .
C. Kode Siklik
Definisi 2.20 (Ling & Xing, 2004:133).
Himpunan S atas adalah kode siklik apabila terdapat ( )
maka juga terdapat ( ) . Berikut diberikan contoh kode siklik.
25 Contoh 2.20.
(i) Kode C-( ) yaitu kode = { } merupakan kode siklik karena perputaran dari setiap codeword pada merupakan codeword pada C juga.
(ii) Diberikan kode C-( ) yaitu {1101000, 0110100, 0011010, 0001101} merupakan kode siklik karena perputaran dari setiap codeword pada merupakan codeword pada C juga.
(iii) Diberikan kode { } merupakan kode siklik karena perputaran dari setiap codeword pada merupakan codeword pada S juga.
D. Polinomial Generator
Polinomial generator merupakan kode siklik C { } dengan panjang atas , yang terdapat polinomial monik unik ( ) berderajat minimal (Stichtenoth, 2009 : 317). Polinomial monik adalah polinomial
dengan koefisien tak nol pada pangkat tertinggi dari yaitu . Polinomial monik ( ) membagi dan membangun C sehingga
polinomial generator juga membagi . Bentuk umum dari polinomial
generator ( ) adalah sebagai berikut.
( ) ∏( )
dengan adalah unsur primitif dalam ( ) dan adalah banyaknya -error yang dapat dikoreksi.
26 Contoh 2.21 (Vanstone & Oorschot, 1989:29).
Polinomial generator atas GF(9) yang terbentuk atas fungsi ireduksibel ( ) dari [ ]. Untuk mencari elemen primitif perlu dicoba dan jika dimisalkan ternyata bukan elemen primitif. Tetapi, jika diambil maka hasilnya sebagai berikut:
( ) . ( ) .
( ) . ( ) .
( ) . ( ) .
( ) . ( ) .
Jadi merupakan polinomial generator dari GF(9)*. Notasi GF(9)*
menerangkan polinomial generator yang tidak menghasilkan
polinomial 0.
E. Matriks Generator dan Matriks Parity-Cek
Matriks generator digunakan untuk membentuk suatu kode linear. Setelah matriks generator terbentuk, kode akan dikirimkan yang nantinya akan diterima oleh pengguna. Apabila kode yang diterima tidak sesuai dengan yang dikirimkan maka perlu penambahan redudansi ke dalam informasi yang mengalami error agar dapat mendeteksi maupun mengoreksi informasi yang salah seperti aslinya. Redundansi yang dimaksud adalah bit-bit untuk mengecek terjadinya error yang dikenal dengan nama matriks parity-cek.
Definisi 2.21 (Ling & Xing, 2004 : 52).
i. Matriks generator untuk kode linear C adalah matriks G dimana baris-baris membentuk basis untuk C. Bentuk standar matriks generator adalah ( ).
27 ii. Matriks parity-cek H dari kode linear C adalah matriks generator untuk kode
dual . Bentuk standar matriks parity-cek adalah ( ).
Jika C merupakan kode linear-( ) maka matriks generator untuk C adalah matriks berukuran dan matrisk parity-cek untuk C berukuran ( ) .
Berikut diberikan contoh bentuk matriks generator dan matriks parity-cek. Contoh 2.22.
Diberikan matriks ̃ yang membangun kode-( ) atas ( ), yaitu
̃ [ ].
Operasi baris elementer yang sesuai terhadap ̃ untuk menghasilkan matriks G yang membangun kode yang sama sebagai berikut:
[ ] [ ] [ ] [ ] [ ] [ ]
28 [
] yang mempunya bentuk [ ], sehingga
diperoleh matriks [ ].
Matriks generator untuk kode dual atau disebut dengan matriks parity-cek H berbentuk [ ], yaitu
[ ] [ ] [ ] [ ] [ ] [ ].
Contoh 2.23.
Diketahui kode C-(6,3) biner atas dengan matriks generator H untuk sebagai berikut: [ ].
Matriks H di atas berbentuk [ ] sehingga didapatkan matriks [
].
Matriks generator untuk kode berbentuk [ ] sehingga
dihasilkan matriks generator yaitu [ ] [ ] [ ] [ ] [ ].
29 F. Syndrome
Definisi 2.22 (Ling S. & Xing C, 2004 : 59).
Diberikan suatu kode linear dengan panjang atas dan ( ) . Coset dari C yang ditentukan oleh u adalah himpunan
{ } { } . Definisi 2.23 (Ling S. & Xing C, 2004 : 60).
Suatu word dengan bobot hamming terkecil dalam suatu koset disebut coset leader.
Contoh 2.24.
Diberikan suatu kode - ( ) C dengan matriks generator dan matriks parity-cek yaitu [ ], [
] serta kode yaitu { }. Berikut diberikan tabel standar array untuk kode-(5,3) C.
Tabel 2.5Standar Array kode-(5,3) C Coset Leader
00000 00000 10011 01001 00110 11010 10101 01111 11100 00001 00001 10010 01000 00111 11011 10100 01110 11101 00010 00010 10001 01011 00100 11000 10111 01101 11110 10000 10000 00011 11001 10110 01010 00101 11111 01100 Berdasarkan Definisi 2.21, coset leader dipilih dari word yang berbobot terkecil yaitu 1. vektor-vektor kolom pertama pada Tabel 2.5 merupakan coset
30 leader dari koset-koset pada kolom selanjutnya. Selain vektor 00010, koset 00010+C juga memiliki coset leader lain yaitu 00100. Selain itu, vektor 00001 pada koset 00001+C juga memiliki coset leader lain yaitu 01000.
Berikut diberikan definisi yang berkaitan dengan syndrome. Definisi 2.24 (Ling & Xing, 2004 : 62).
Diberikan C adalah [ ] kode linear atas dan diberikan H adalah matriks parity-cek untuk C. Untuk setiap , maka syndrome oleh u adalah word ( ) .
Berikut diberikan contoh menghitung syndrome. Contoh 2.25.
Diketahui suatu matriks generator dan matriks parity-cek serta kode C seperti pada Contoh 2.24. Berdasarkan Tabel 2.5 diketahui coset leader yang
digunakan untuk menghitung syndrome dengan rumus ( ) sebagai
berikut. ( ) [ ] [ ] [ ] ( ) [ ] [ ] [ ] ( ) [ ] [ ] [ ] ( ) [ ] [ ] [ ]
Hasil perhitungan pada Contoh 2.24 dan Contoh 2.25 dinyatakan pada Tabel 2.6 berikut.
31 Tabel 2.6 Coset Leader dan Syndrome kode-( ) C
Coset Leader Syndrome
00000 00
00001 01
00010 10
10000 11
G. Encoding dan Decoding (Vanstone & Oorschot, 1989:1)
Teori kode pengoreksi error merupakan salah satu cabang matematika yang bergerak dibidang transmisi dan penyimpanan data. Media informasi tidak selalu memberikan keakuratan dalam menerima informasi, adakalanya terjadi suatu gangguan saat pengiriman pesan/informasi. Apabila terjadi suatu error pada saat pengiriman pesan/informasi, kesalahan tetap dapat terdeteksi bahkan diperbaiki dengan menambahkan suatu redundansi ke dalam pesan/informasi yang telah diubah dalam bentuk kode.
Gambar 2.1. Diagram Proses Pengiriman Pesan/Informasi
1. Proses Encoding
Suatu pesan/informasi diubah ke dalam bentuk kode untuk memudahkan proses pengiriman data (pesan/informasi). Proses mengubah pesan/informasi ke dalam bentuk kode disebut dengan proses encoding. Misalkan suatu himpunan
(Channel) Penerima Sumber Informasi Sumber Encoder Sumber Decoder Saluran
32 simbol {A,B,C,D} akan ditransmisikan ke dalam bentuk kode biner dengan panjang 2, yaitu:
A = 00 B = 10 C = 01 D = 11
Apabila pengirim mengirimkan sebuah kode 00, maka penerima akan membaca kode 00 sebagai A.
Contoh 2.26.
Diberikan matriks generator [
] dan pesan yang akan dikirim adalah { }, maka dikodekan menjadi
[ ] [ ] [ ]
[
] Jadi pesan yang dikirimkan adalah { }.
Sumber informasi mengirimkan simbol dari himpunan informasi {A,B,C,D}. Kemudian, sumber encoder memasangkan atau memetakan setiap informasi dengan urutan biner (0,1) dan ditransmisikan. Selanjutnya sumber decoder menerima urutan biner dari channel atau saluran, lalu dikonversi kembali ke huruf alfabet untuk dapat diterima oleh pengguna (penerima).
33 2. Proses Decoding
Proses mengembalikan kode menjadi suatu pesan/informasi seperti yang dikirimikan disebut dengan proses decoding. Pada saat proses decoding akan terjadi suatu proses deteksi error dan pengoreksian error jika terjadi error. Artinya, jika sumber decoder membaca informasi seperti yang dikirimkan oleh sumber encoder maka tidak perlu ada proses pengoreksian error. Sebaliknya, jika sumber decoder membaca pesan atau informasi yang salah maka perlu dilakukan suatu proses pengoreksian error.
Pada Contoh 2.26, jika sumber encoder mengirimkan 00 dan sumber decoder menerima 01, maka telah terjadi satu kesalahan. Sumber decoder tidak bisa mengetahui terjadinya error karena pesan 01 juga merupakan informasi valid dari C
Jika penerima membaca 1100 akan diketahui bahwa telah terjadi kesalahan karena urutan ini bukan salah satu input dari sumber encoder. Apabila kesalahan acak maka decoder akan mentransmisikan pesan ke 1110 karena urutan kode yang diterima hanya terjadi satu error.
Definisi 2.25.
Suatu kode C dapat mendeteksi sebanyak kesalahan ( ) jika untuk setiap codeword yang dikirim kemudian diterima codeword dengan ( ) sehingga .
34 Teorema 2.5.
Suatu kode C dikatakan mendeteksi kesalahan jika dan hanya jika ( ) ( ). Dengan kata lain, kode dengan jarak d dapat mendeteksi dengan tepat (d-1) kesalahan.
Bukti:
( ) Diketahui ( ) , maka terdapat sedemikian sehingga ( ) ( ) . Jika codeword yang dikirim dan diterima codeword maka terjadi kesalahan sebanyak ( ) dengan ( ) .Akan tetapi kesalahan tersebut tidak terdeteksi karena . Jadi, C bukan mendeteksi u kesalahan.
( ) Diketahui ( ) . Menurut definisi jarak dari suatu kode, hal ini berakibat jika dan sedemikian sehingga ( ) ( ), maka . Artinya jika terjadi kesalahan hingga sebanyak u, maka kesalahan tersebut
selalu terdeteksi.
Setelah kode yang mengalami kesalahan terdeteksi maka langkah selanjutnya adalah pengoreksian. Ada beberapa macam kode pengoreksi error. Diantaranya yaitu kode Reed Solomon yang merupakan subkelas dari kode BCH.
3. Kode BCH
Kode BCH adalah suatu kelas kode yang ditemukan oleh R.C. Bose dan D. Ray Chaudhuri pada tahun 1960 dan juga ditemukan secara independen oleh A. Hocquenghem pada tahun 1959. Nama BCH diambil dari penemu-penemu tersebut Bose Chaudhuri Hocquenghem.
35 Definisi 2.26 (Vanstone & Oorschot, 1989 : 205).
Kode BCH atas ( ) dengan panjang blok dan jarak yang ditentukan (designed distance) adalah suatu kode yang dibentuk oleh suatu polinomial ( ) { ( ) } [ ] dengan KPK adalah kelipatan persekutuan terkecil. Himpunan akar dari polinomial ( ) memuat elemen yang berbeda , dengan adalah suatu akar primitif ke-n dari elemen kesatuan dan adalah suatu bilangan bulat.
Definisi 2.27 (Vanstone & Oorschot, 1989 : 205).
Jika untuk bilangan bulat positif untuk bilangan bulat positif m, maka kode tersebut adalah suatu kode primitif, dan jika maka kode tersebut disebut narrow-sense.
Elemen adalah suatu akar ke- dari elemen kesatuan, sehingga juga merupakan suatu akar ke- dari elemen kesatuan untuk semua sehingga
( ) membagi ( ) dan ( ) juga membagi ( ).
Contoh 2.27.
Misal suatu elemen primitif dari ( ) sedemikian sehingga . Polinomial minimal dari dan adalah berturut-turut
( ) ,
( ) ,
( ) ,
Kode BCH yang mengoreksi dua error dengan panjang
dibentuk oleh ( ) { ( ) ( )} ( )(
36 adalah suatu kode ( ). Bobot dari polinomial generatornya adalah 5, sehingga kode tersebut adalah suatu kode ( ).
H. Pengantar Kode Reed Solomon pada Aplikasi Steganography 1. Sejarah Kode Reed Solomon
Gustave Solomon lahir di Brooklyn, New York pada tanggal 27 Oktober 1930, dan meninggal pada tanggal 31 Januari 1996 di Beverly Hills, CA. Dia adalah seorang ahli matematika dan insinyur yang merupakan salah satu penemu dari teori aljabar tentang error-correction.
Solomon bersama-sama dengan Irving S. Reed dikenal telah mengembangkan sebuah teori aljabar tentang detecting dan error-correcting codes yang dikenal sebagai Reed Solomon error correction. Kode ini digunakan untuk melindungi kerahasiaan informasi digital, dan telah digunakan secara luas di bidang komunikasi dan media penyimpanan digital modern.
Kasus yang paling umum misalnya digunakan kode RS-(255, 223) dimana pesan 223 simbol (masing-masing delapan bit ) di encode menjadi 255 simbol. Standar RS-(255, 223) kode Reed Solomon mampu memperbaiki hingga 16 simbol kesalahan dalam setiap codeword. Kode Reed Solomon ditemukan oleh Irving S. Reed dan Gustave Solomon pada tahun 1960. Mereka membawakan jurnal yang berjudul “Polynomial Codes over Certain Finite Fields" dalam seminarnya kala itu.
Pada saat artikel tersebut ditulis, teknologi digital saat itu tidak cukup maju untuk menerapkan konsep tersebut. Aplikasi dari kode tersebut baru
37 bisa digunakan pertama kali pada tahun 1982, yang diproduksi secara masal yaitu berupa cakram padat / compact disc, di mana dua kode interleaver Reed-Solomon digunakan. Algoritma decoding yang efisien untuk kode Reed Solomon dengan jarak yang besar telah dikembangkan Elwyn Berlekamp dan James Massey pada 1969.
Sekarang ini kode Reed Solomon telah dimanfaatkan untuk banyak aplikasi antara lain aplikasi komputer dan media panyimpanan seperti sistem RAID (Redundant Array of Independent Disks) pada hard disk drive, CD (compact disk), DVD (Digital Versatile Disk), dan blue-ray disk, telekomunikasi dan data teknologi seperti DSL (Digital Subscribe Line) & WiMAX (Worldwide Interoperability for Microwave Acces), dalam siaran televisi digital seperti sistem ATSC (Advanced Television Systems Committee) di Amerika, dan sistem DVB (Digital Video Broadcasting) di Eropa. Selain itu, aplikasi kode Reed Solomon untuk sarana bertukar
informasi/pesan yang mengutamakan tingkat keamanan adalah
steganography.
2. Sejarah Steganography
Steganography merupakan suatu cara penyembunyian pesan ke dalam pean lainnya sedemikian rupa sehingga orang lain tidak menyadari adanya
perubahan di dalam pesan yang terkirim. Kata steganography
(steganography) berasal dari bahasa Yunani yaitu steganos yang artinya tersembunyi atau terselubung dan graphein yang artinya menulis sehingga steganography berarti “menulis tulisan yang tersembunyi atau terselubung”
38 (Sellars, 1996). Teknik ini biasa digunakan untuk menyembunyikan pesan rahasia pada media komunikasi.
Catatan pertama tentang steganography ditulis oleh sejarawan Yunani Herodotus yaitu ketika Histaeus seorang raja kejam Yunani dipenjarakan oleh Raja Darius di Susa pada abad 5 Sebelum Masehi. Histaeus harus mengirim pesan rahasia kepada anak laki-lakinya Aristagoras di Militus. Histaeus menulis pesan dengan cara mentato pesan pada kulit kepala seorang budak dan ketika rambut budak itu mulai tumbuh, Histaeus mengutus budak itu pergi ke Militus untuk mengirim pesan di kulit kepalanya tersebut kepada Aristagoras.
Teknik steganography yang lain adalah tinta yang tak terlihat. Teknik ini pertama kali digunakan pada zaman Romawi kuno dengan menggunakan air sari buah jeruk, urine, atau susu sebagai tinta untuk menulis pean. Cara membacanya adalah dengan dipanaskan di atas nyala lilin, tinta yang sebelumnya tidak terlihat setelah terkena panas akan berangsur-angsur menjadi gelap dan pesan dapat dibaca.
Dari contoh steganography konvensional tersebut pada intinya adalah teknik steganography konvensional berusaha merahasiakan pesan komunikasi dengan cara menyembunyikan pesan atau mengkamuflase pesan. Maka,
prinsip dasar dalam steganography dikonsentrasikan kerahasiaan
komunikasinya bukan pada datanya (Johnson, 1998). Pada abad 20, steganography telah mengalami perkembangan. Steganography telah merambah juga ke media digital.
39 Sebagai contohnya, misalkan akan mengirimkan pesan tersembunyi yang berisi MERAH. Kalimat yang akan dikirimkan adalah Memang Enak Rasa Asam Harumanis.
cover text/cover media : emang nak asa sam arumanis
pesan tersembunyi : MERAH
40 BAB III PEMBAHASAN
A. Kode Reed Solomon
1. Pengantar Kode Reed Solomon
Teori Pengkodean (Coding Theory) adalah ilmu tentang sifat-sifat kode dan aplikasinya. Kode digunakan untuk kompresi data, kriptografi, kode pengoreksi error (error-correction codes) dan untuk network coding. Tujuan utama dari teori pengkodean adalah untuk memberikan kode dengan tingkat informasi yang tinggi, tingkat koreksi kesalahan yang tinggi dan dengan tingkat kompleksitas encoding dan decoding yang rendah (Betten, dkk , 2006 : 6). Setiap kelas kode mempunyai karakteristik dan kemampuan masing-masing. Pada penelitian ini kode pengoreksi error menggunakan kode Reed Solomon karena memiliki kemampuan mengoreksi yang tinggi.
Konstruksi dan decoding kode Reed Solomon menggunakan lapangan hingga yang sering disebut dengan lapangan Galois dengan elemen atau ditulis . Order elemen pada adalah bilangan bulat terkecil sedemikian sehingga .
Berikut diberikan contoh polinomial primitif. Contoh 3.1
Diberikan lapangan dengan adalah polinomial primitif biner. Jika adalah akar dari maka dapat dituliskan atau sama halnya .
41 Representasi Eksponensial Representasi Polinomial 0 0 1 1 1
Untuk menghitung penjumlahan representasi eksponensial dengan substitusi representasi polinomial terlebih dahulu. Misalnya untuk menghitung penjumlahan dan adalah sebagai berikut.
.
Untuk menkonstruksi kode Reed Solomon, terdapat simbol informasi, { }, atas lapangan berhingga . Simbol ini dapat
digunakan untuk mengkonstruksi polinomial
. Codeword Reed Solomon terbentuk dengan
mengevaluasi untuk setiap elemen atas (Wicker & Bhargava, 1994 :3).
( ) [ ] (3.1) Kode Reed Solomon memiliki codeword dengan adalah dimensi kode.
Sistem persamaan linear sebanyak variabel dapat ditunjukkan sebagai berikut.
(3.2)
42
Sistem persamaan pada (3.2) dapat ditulis dalam bentuk matriks sebagai berikut. [ ] [ ] [ ] (3.3)
2. Kode Reed Solomon, Sifat-sifat dan Karakteristik
Kode Reed Solomon adalah kode forward-error correction untuk mengoreksi kesalahan data transmisi pada saluran yang terganggu. Kode Reed Solomon juga merupakan kode blok dengan penambahan data redundansi sebelum ditransmisi sehingga kesalahan (error) dapat dideteksi dan dikoreksi (Shah dkk., 2001). Ilustrasi kode Reed Solomon ditampilkan pada Gambar 3.1.
Gambar 3.1. Diagram Proses Kode Reed Solomon
Kode Reed Solomon merupakan subkelas dari kode BCH (Bose Chaudhuri Hocquenghem) yang pertama kali ditemukan oleh Irving S. Reed dan Gustave Solomon yang kemudian disajikan dalam makalah “Polynomial Codes Over Certain Finite Fields” dalam Journal of the Society for Industrial and Applied
Data dikirim RS Encoder RS Decoder Data diterima Saluran transmisi noise
43 Mathematics pada tahun 1960. Sejak saat itu kode Reed Solomon telah menjadi kontributor dalam revolusi telekomunikasi yang berlangsung dari pertengahan abad ke-20 (Betten, dkk, 2006).
Berikut diberikan definisi dan teorema yang menjelaskan sifat-sifat dan karakteristik kode Reed Solomon.
Definisi 3.1 (Betten, dkk, 2006 : 244).
Kode Reed Solomon pengoreksi kesalahan adalah sebuah kode BCH (Bose Chaudhuri Hocquenghem) primitif dengan panjang atas lapangan .
Misalkan F adalah lapangan berhingga dan merupakan order dari dimana maka Polinomial generator dari kode ini mempunyai bentuk
∏
. Karena membagi , adalah polinomial
generator ideal di , sehingga membangun sebuah kode siklik di Karena untuk setiap maka polinomial minimal pada adalah . Hal ini mengikuti definisi kode BCH bahwa membangun kode BCH dengan jarak . Pada kondisi seperti ini kode dibangun oleh dinamakan Kode Reed Solomon yaitu kode- atas dengan , yaitu . Perbedaannya secara umum pada kode BCH merupakan elemen dari perluasan lapangan , sedangkan pada kode Reed Solomon merupakan elemen dari itu sendiri.
Contoh 3.1 (Vanstone & Oorschot, 1989).
Misalkan dibangun oleh akar pada . Elemen merupakan akar primitif. Jika