SIFAT DAN KARAKTERISTIK KODE REED SOLOMON BESERTA APLIKASINYA PADA STEGANOGRAPHY

dokumen-dokumen yang mirip
BAB II KAJIAN TEORI. Himpunan merupakan suatu kumpulan obyek-obyek yang didefinisikan. himpunan bilangan prima kurang dari 12 yaitu A = {2,3,5,7,11}.

BAB 1 PENDAHULUAN. mempermudah aktivitas sehari-hari. Penggunaan komunikasi dan media komputer

Sifat Dan Karakteristik Kode Reed Solomon Beserta Aplikasinya Pada Steganography

BAB II KAJIAN TEORI. definisi mengenai grup, ring, dan lapangan serta teori-teori pengkodean yang

BAB III PEMBAHASAN. Teori Pengkodean (Coding Theory) adalah ilmu tentang sifat-sifat kode

BAB I PENDAHULUAN. Penyampaian pesan dapat dilakukan dengan media telephone, handphone,

Encoding dan Decoding Kode BCH (Bose Chaudhuri Hocquenghem) Untuk Transmisi Data

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

BAB I PENDAHULUAN. digital sebagai alat yang penting dalam teknologi saat ini menuntut adanya sistem

BAB II DASAR TEORI. 7. Menuliskan kode karakter dimulai dari level paling atas sampai level paling bawah.

BAB 2 LANDASAN TEORI

UNIVERSITAS NEGERI YOGYAKARTA F A K U L T A S M I P A

BAB I PENDAHULUAN. Jaringan komputer dan internet telah mengalami perkembangan yang

BAB II TEORI KODING DAN TEORI INVARIAN

BAB I PENDAHULUAN A. Latar Belakang B. Rumusan Masalah C. Tujuan

BAB II TINJAUAN PUSTAKA

G a a = e = a a. b. Berdasarkan Contoh 1.2 bagian b diperoleh himpunan semua bilangan bulat Z. merupakan grup terhadap penjumlahan bilangan.

KONSTRUKSI KODE BCH SEBAGAI KODE SIKLIK Indrawati, Loeky Haryanto, Amir Kamal Amir.

SIMULASI KODE HAMMING, KODE BCH, DAN KODE REED-SOLOMON UNTUK OPTIMALISASI FORWARD ERROR CORRECTION

ANALISIS KESTABILAN MODEL SEII T (SUSCEPTIBLE-EXPOSED-ILL- ILL WITH TREATMENT) PADA PENYAKIT DIABETES MELLITUS TUGAS AKHIR SKRIPSI

BAB I PENDAHULUAN. sangat pesat, sehingga penggunaan komputer sebagai media komunikasi bagi

Kode Sumber dan Kode Kanal

PEDOMAN PENGGUNAAN SIMULATOR PENYANDIAN DAN PENGAWASANDIAN SISTEM KOMUNIKASI BERBASIS PERANGKAT LUNAK VISUAL C#

Konstruksi Kode Reed-Solomon sebagai Kode Siklik dengan Polinomial Generator Ryan Pebriansyah Jamal 1,*, Loeky Haryanto 2, Amir Kamal Amir 3

DAFTAR ISI. HALAMAN JUDUL... i HALAMAN PERSETUJUAN... II HALAMAN PENGESAHAN... III KATA PENGANTAR... IV DAFTAR ISI... V BAB I PENDAHULUAN...

Proses Decoding Kode Reed Muller Orde Pertama Menggunakan Transformasi Hadamard

BAB II TEORI DASAR. untuk setiap e G. 4. G mengandung balikan. Untuk setiap a G, terdapat b G sehingga a b =

Deteksi dan Koreksi Error

STRUKTUR ALJABAR: RING

BAB II LANDASAN TEORI. yang mendasari pembahasan pada bab-bab berikutnya. Beberapa definisi yang

II. TINJAUAN PUSTAKA. Pada bab ini akan diuraikan mengenai konsep teori grup, teorema lagrange dan

ENCODING DAN DECODING KODE HAMMING SEBAGAI KODE TAK SIKLIK DAN SEBAGAI KODE SIKLIK Lilik Hardianti, Loeky Haryanto, Nur Erawaty

LAPORAN PENELITIAN EFISIENSI ALGORITME ARITMETIK ( ) DENGAN OPERASI DIBANGKITKAN DARI SIFAT GRUP SIKLIK PADA KRIPTOGRAFI KURVA ELIPTIK

Makalah Teori Persandian

ANALISIS PENYEBARAN PENYAKIT DIARE SEBAGAI SALAH SATU PENYEBAB KEMATIAN PADA BALITA MENGGUNAKAN MODEL MATEMATIKA SIS

BAB I PENDAHULUAN. Struktur aljabar merupakan suatu himpunan tidak kosong yang dilengkapi

BAB I PENDAHULUAN. A. Latar Belakang. Struktur aljabar merupakan salah satu bidang kajian dalam matematika

II. TINJAUAN PUSTAKA. Pada bab ini akan diberikan konsep dasar (pengertian) tentang bilangan sempurna,

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA

BAB II PENGKODEAN. yang digunakan untuk melakukan hubungan komunikasi. Pada sistem komunikasi analog, sinyal

BAB II KERANGKA TEORITIS. komposisi biner atau lebih dan bersifat tertutup. A = {x / x bilangan asli} dengan operasi +

KOMBINASI ALGORITMA AFFINE CIPHER DAN ELGAMAL UNTUK PENGAMANAN PESAN RAHASIA SKRIPSI

SEKILAS TENTANG KONSEP. dengan grup faktor, dan masih banyak lagi. Oleh karenanya sebelum

SISTEM KRIPTOGRAFI UNTUK KEAMANAN INFORMASI MENGGUNAKAN FUNGSI CHAOS ARNOLD S CAT MAP SKRIPSI

II. TINJAUAN PUSTAKA. Pada bab ini diberikan beberapa definisi mengenai teori grup yang mendukung. ke. Untuk setiap, dinotasikan sebagai di

RING FUZZY DAN SIFAT-SIFATNYA SKRIPSI

0,1,2,3,4. (e) Perhatikan jawabmu pada (a) (d). Tuliskan kembali sifat-sifat yang kamu temukan dalam. 5. a b c d

II. LANDASAN TEORI. Pada bagian ini akan dikaji konsep operasi biner dan ring yang akan digunakan

Table of Contents. Table of Contents 1

PENGANTAR PADA TEORI GRUP DAN RING

BAB 2 LANDASAN TEORI

PENERAPAN METODE MOST SIGNIFICANT BIT UNTUK PENYISIPAN PESAN TEKS PADA CITRA DIGITAL

STUDI IMPLEMENTASI STEGANOGRAFI PESAN TULISAN dengan MENGGUANAKAN PEMBANGKIT KALIMAT

Sandi Blok. Risanuri Hidayat Jurusan Teknik Elektro dan Teknologi Informasi FT UGM

ANALISIS KESTABILAN DARI SISTEM DINAMIK MODEL SEIR PADA PENYEBARAN PENYAKIT CACAR AIR (VARICELLA) DENGAN PENGARUH VAKSINASI SKRIPSI

SISTEM PENGKODEAN. IR. SIHAR PARLINGGOMAN PANJAITAN, MT Fakultas Teknik Jurusan Teknik Elektro Universitas Sumatera Utara

TTG3B3 - Sistem Komunikasi 2 Linear Block Code

II. KONSEP DASAR GRUP. abstrak (abstract algebra). Sistem aljabar (algebraic system) terdiri dari suatu

Antonius C. Prihandoko

Bab II. Teori Encoding-Decoding Reed-Solomon Code

KODE LEXICOGRAPHIC UNTUK MEMBANGUN KODE HAMMING (7, 4, 3) DAN PERLUASAN KODE GOLAY BINER (24, 12, 8)

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB 3 MEKANISME PENGKODEAAN CONCATENATED VITERBI/REED-SOLOMON DAN TURBO

BAB I PENDAHULUAN 1.1 Latar Belakang

TEORI GRUP SUMANANG MUHTAR GOZALI KBK ALJABAR & ANALISIS

UNIVERSITAS NEGERI YOGYAKARTA

BAB II TINJAUAN PUSTAKA

BAB II DASAR TEORI. membahas tentang penerapan skema tanda tangan Schnorr pada pembuatan tanda

BAB II LANDASAN TEORI. bilangan bulat dan mengandung berbagai masalah terbuka yang dapat dimengerti

OPTIMASI PELAYANAN ANTRIAN MULTI CHANNEL (M/M/c) PADA STASIUN PENGISIAN BAHAN BAKAR UMUM (SPBU) SAGAN YOGYAKARTA SKRIPSI

II. TINJAUAN PUSTAKA. Pengkajian pertama, diulas tentang definisi grup yang merupakan bentuk dasar

untuk setiap x sehingga f g

II. TINJAUAN PUSTAKA. Pada bab ini akan diberikan konsep dasar (pengertian) tentang bilangan sempurna,

Volume 9 Nomor 1 Maret 2015

Tugas Teori Persandian. Step-by-Step Decoding

BAB 1 PENDAHULUAN. 1.1 Latar Belakang. Seiring perkembangan teknologi, berbagai macam dokumen kini tidak lagi dalam

BAB II TINJAUAN PUSTAKA

PENGERTIAN RING. A. Pendahuluan

UNIVERSITAS GADJAH MADA. Bahan Ajar:

ANALISIS ALGORITMA DAN WAKTU DEKODING KODE BCH DALAM PENGOREKSIAN GALAT PADA TRANSMISI PESAN TEKS. Oleh : FITRI G

BAB 2 LANDASAN TEORI. Pada bab ini dibahas landasan teori yang akan digunakan untuk menentukan ciri-ciri dari polinomial permutasi atas finite field.

UNIVERSITAS GADJAH MADA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM JURUSAN MATEMATIKA PROGRAM STUDI S1 MATEMATIKA Sekip Utara, Yogyakarta

I PENDAHULUAN II LANDASAN TEORI. Latar Belakang Berawal dari definisi grup periodik yaitu misalkan grup, jika terdapat unsur (nonidentitas)

AKAR-AKAR POLINOMIAL SEPARABLE SEBAGAI PEMBENTUK PERLUASAN NORMAL PADA RING MODULO

MATERI ALJABAR LINEAR LANJUT RUANG VEKTOR

Diktat Kuliah. Oleh:

MODEL FUZZY RADIAL BASIS FUNCTION NEURAL NETWORK UNTUK PERAMALAN KEBUTUHAN LISTRIK DI PROVINSI DAERAH ISTIMEWA YOGYAKARTA

PENGENALAN KONSEP-KONSEP DALAM RING MELALUI PENGAMATAN Disampaikan dalam Lecture Series on Algebra Universitas Andalas Padang, 29 September 2017

BAB II LANDASAN TEORI

ANALISIS DURASI NYALA LAMPU LALU LINTAS PADA PERSIMPANGAN BERDEKATAN DENGAN PENERAPAN ALJABAR MAX-PLUS HALAMAN JUDUL TUGAS AKHIR SKRIPSI

UNIVERSITAS GADJAH MADA. Bahan Ajar:

UNIVERSITAS NEGERI YOGYAKARTA F A K U L T A S M I P A

MATRIKS BENTUK KANONIK RASIONAL DENGAN MENGGUNAKAN PEMBAGI ELEMENTER INTISARI

ANALISIS BIFURKASI PADA MODEL MATEMATIS PREDATOR PREY DENGAN DUA PREDATOR SKRIPSI

Keberlakuan Teorema pada Beberapa Struktur Aljabar

PROFILE ANALYSIS VIA MULTIDIMENSIONAL SCALING (PAMS) DAN APLIKASINYA UNTUK MENGGAMBARKAN POLA PROFIL NILAI UJIAN SEKOLAH SKRIPSI

Penerapan Steganografi Metode Least Significant Bit (LSB) dengan Invers Matriks Pada Citra Digital

Transkripsi:

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 2016

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 2016 i

ii

iii

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 iv

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" v

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. vi

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 vii

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. viii

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 ix

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 J. Syndrome... 29 x

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 DAFTAR PUSTAKA... 76 xi

DAFTAR TABEL Tabel 2.1. Tabel Cayley Z 7 Hasil Penjumlahan Modulo 7...11 Tabel 2.2. Tabel Cayley Z 7 Hasil Perkalian Modulo 7...12 Tabel 2.3. Elemen-Elemen GF(2 3 )...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 GF(2 4 ) dengan Akar Primitif α 4 + a + 1..... 50 Tabel 3.2. Penyisipan Huruf A pada File MP3......... 62 xii

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 xiii

DAFTAR SIMBOL n Panjang kode blok n k Banyaknya digit parity check F Banyaknya elemen F n F q Himpunan semua vektor dengan panjang n atas lapangan F q. d(x, y) Jarak hamming dari word x dan y w(c) Bobot hamming terkecil dari Codeword C GF(q) Galois Field dengan banyak elemen q. g(x) Polinomial generator P(x) Polinomial primitif M(x) Polinomial data pesan C(x) Polinomial data yang dikirim q(x) Polinomial hasil bagi r(x) Polinomial residu atau sisa v(x) Polinomial data yang diterima e(x) Polinomial error S(x) Polinomial syndrome Akhir pembuktian. Λ(x) Polinomial evaluasi error RS (n, k) Kode Reed Solomon dengan panjang pesan k lalu di-encode menjadi pesan kode dengan panjang n xiv

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 1

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. 2

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 3

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. 4

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. 5

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). 6

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 ( ). 7

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. 8

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. 9

( ) 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. ( ) ( ) ii. 10

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 11

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 Z n merupakan lapangan berhingga jika dan hanya jika bilangan prima. 12

Bukti: ( ) Ak n ditunjukk n himpunan Z n 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 Z n 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 Z n adalah lapangan jika prima. Karena Z n memiliki elemen bilangan berhingga maka Z n 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] 13

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 14

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. 15

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 ( ) ( ) [ ], [g(x)]+[ f (x)] = [g(x) + f (x)] dan [g(x)].[ f (x)] = [g(x). f (x)]. 16

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 001 17

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. vi. 18

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 : 19

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. 20

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 ( ) ( ) ( ). 21

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. 22

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 23

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. 24

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. Berikut diberikan contoh polinomial generator. 25

Contoh 2.21 (Vanstone & Oorschot, 1989:29). Polinomial generator atas GF(9) yang terbentuk atas fungsi ireduksibel ( ) dari dimisalkan [ ]. Untuk mencari elemen primitif perlu dicoba dan jika 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 ( ). 26

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: [ ] [ ] [ ] [ ] [ ] [ ] sehingga dihasilkan matriks G adalah 27

[ ] 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 [ ] [ ] [ ] [ ] [ ]. 28

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.5 Standar 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 29

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. 30

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. Sumber Informasi Sumber Encoder Saluran (Channel) Sumber Decoder Penerima 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 31

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). 32

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. Selanjutnya diberikan teorema mengenai kemampuan deteksi kesalahan kode. 33

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. 34

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 ( ) { ( ) ( )} ( )( ). Didapatkan sehingga kode tersebut 35

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 error-detecting dan errorcorrecting 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 36

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 37

(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. 38

Sebagai contohnya, misalkan akan mengirimkan pesan tersembunyi yang berisi MERAH. Kalimat yang akan dikirimkan adalah Memang Enak Rasa Asam Harumanis. cover text/cover media pesan tersembunyi : emang nak asa sam arumanis : MERAH stego text (stegogramme) : Memang Enak Rasa Asam Harumanis. 39

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 masingmasing. 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. 40

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) 41

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. noise Data dikirim RS Encoder Saluran transmisi RS Decoder Data diterima 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 42

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 43

Kemudian membangun kode C RS-(5,2) atas dengan jarak. Matriks generator G untuk kode C adalah [ ] dan matriks parity-cek H adalah [ ] Kode C mempunyai 256 codeword (diperoleh dari ) dengan jarak C adalah. Kode Reed Solomon merupakan kode siklik non-biner subkelas dari kode BCH (Moreira & Farrell, 2006). Kode Reed Solomon dinotasikan dengan RSdengan bit simbol, dimana adalah panjang pesan lalu di-encode menjadi panjang bit. Pada proses encoding data simbol, ditambahkan simbol parity (redundansi) dengan panjang untuk setiap panjang bit. Jadi, pada proses panjang data kode blok semula bit lalu di menjadi bit. Teorema 3.1 (Vanstone & Oorschot, 1989: 239). Sebuah kode C RS- mempunyai jarak. Bukti: Diberikan sebagai polinomial generator C. Ada elemen dengan order sebagaimana 44

dengan. Dalam hal ini, C mempunyai jarak minimum. Karena memiliki paling banyak tak nol pada perluasannya dan adalah codeword dan karenanya. Sehingga. Decoder Reed Solomon mampu mengoreksi kesalahan hingga error pada, dimana (Hanzlik, 2011:18). Teorema 3.2 (Vanstone & Oorschot, 1989: 239). Kode C RS- atas dapat mendeteksi sebanyak error atau dapat memperbaiki sebanyak error. Bukti: Diketahhui kode C RS- atas GF(. Setiap elemen di GF( dapat direpresentasikan sebagai -tupel atas GF(2). Karenanya setiap codeword, suatu -tupel atas GF(, dapat diganti oleh suatu -tupel atas GF(2) dengan mengganti setiap GF( komponen dengan suatu biner - tupel. Himpunan vektor adalah kode- atas GF(2). Sehingga terdiri dari vektor. Kemampuan untuk mengoreksi error dengan panjang bit. Diberikan suatu codeword di berkoresponden dengan codeword di. Selanjutnya, diberikan adalah simbol ke- di, dan merupakan -tupel korespondensi. Berdasarkan Teorema 3.2, dapat mengoreksi error jika mengubah simbol di sebanyak. Karenanya jika, maka dapat mengoreksi error. Berikut diberikan contoh koreksi kode Reed Solomon. 45

Contoh 3.2 Diberikan kode Reed Solomon C RS- yang berarti panjang kode, dimensi dan redundansi. Kode RS ini mempunyai kemampuan koreksi sebanyak. Contoh 3.3. Berdasarkan kode yang diberikan pada Contoh 3.1 Misalkan decoder menerima vektor di mana _ menunjukkan posisi terjadi kesalahan, dan memunculkan 0 untuk menunjukkan posisi kesalahan Maka untuk beberapa codeword c. Karena maka [ ] [ ] [ ] [ ] [ ] Matriks di atas dapat diseleseikan dengan sistem persamaan sebagai berikut :. 46

Sistem 3 persamaan memiliki solusi unik,,. Oleh karena itu = ). Berikut diberikan Gambar 3.2 yang merupakan ilustrasi codeword pada Reed Solomon seperti yang telah diuraikan sebelumnya. Data Simbol Simbol Parity k 2t Gambar 3.2. Codeword Reed Solomon Teorema 3.3. (Lindell, 2010:22) Kode Reed Solomon-(n,k,d) merupakan kode linear. Bukti: Untuk setiap dua codeword dan dan setiap skalar dan dapat dinyatakan dengan adalah codeword. Polinomial kode linear dan berderajat. Contoh 3.3. Misalkan lapangan berhingga adalah 255. Diketahui dan mempunyai panjang vektor kode maka dimensi dari kode adalah. Kode yang terbentuk adalah kode Reed Solomon- RS-. Kode linear dengan parameter yang memenuhi dinamakan kode Maximum Distance Separable (MDS) (Neubauer, dkk, 2007 : 47

81). Kode MDS merupakan suatu kode dengan kapasitas koreksi error tinggi yang memenuhi batas pertidaksamaan singleton. Batas pertidaksamaan singleton untuk setiap kode- adalah (Sebastia Xambo, 2003 : 21). Teorema 3.4 (Lindell, 2010 :22). Kode Reed Solomon merupakan kode-(n, k, d) dan sekaligus MDS. Bukti: Diketahui kode dengan panjang berdimensi dan ( ). Diberikan dan merupakan dua polinomial yang berbeda dengan derajat paling tinggi. Karena untuk setiap dua polinomial yang berbeda [ ] dengan derajat lebih kecil dari terdapat paling tidak nilai untuk, maka setidaknya ada nilai untuk. Hal ini berarti bahwa setidaknya ada pada nilai yang menyatakan bahwa. Dengana demikian, untuk setiap yang berbeda maka ( ) dan oleh sebab itu kode berjarak sedikitnya. Hal ini memenuhi kesetaraan batas singleton. 3. Encoding dan Decoding Kode Reed Solomon Dalam komunikasi nirkabel, data yang dikirimkan oleh transmitter terkadang mengalami gangguan dari suatu saluran (channel) yang dapat mengakibatkan kerusakan data. Data yang mengalami kerusakan akan dapat dideteksi untuk selanjutnya dapat dikoreksi. Proses kode pengoreksi Reed 48

Solomon mempunyai langkah-langkah kerja yang penting yaitu proses encoding dan proses decoding. Berikut ini diberikan uraian prosedur kerja kode Reed Solomon. a. Proses Encoding Kode Reed Solomon Encoding Reed Solomon menggunakan encoding sistematis yang berarti blok data parity tidak mengubah pesan data. Dalam encoding sistematis, dikenal empat bentuk polinomial yaitu adalah polinomial data yang dikirim, adalah polinomial data pesan, adalah polinomial hasil bagi, dan adalah polinomial residu atau sisa. Polinomial dapat direpresentasikan dari simbol pesan orde. Polinomial dinyatakan dari polinomial dan atau perkalian dari polinomial dan polinomial generator. Sedangkan, polinomial residu atau sisa dihasilkan dari pembagian oleh. Jika tidak dihasilkan polinomial maka data yang dikirim tidak mengalami error, begitu juga sebaliknya jika dihasilkan polinomial maka terjadi error. Saat proses transmisi, polinomial tidak dipakai. Berikut adalah langkah-langkah proses encoding. i. Membentuk pesan { } dalam bentuk polinomial. ii. Mengalikan polinomial dengan untuk membuat ruang bagi. iii. Membagi dengan polinomial generator untuk menghasilkan. 49

iv. Karena polinomial tidak digunakan saat proses transmisi maka polinomial dibuang. v. Membentuk polinomial dengan menambahkan polinomial ke polinomial. Contoh 3.4. Berikut diberikan contoh perhitungan encoding. Misalkan akan dikirimkan pesan 2,2,3,3,4,4,5,5,6,6,7 atas dan dibangun oleh akar primitif. Polinomial primitif atas dengan akar primitif dapat dituliskan atau sama halnya dengan. Konstruksinya diberikan pada Tabel 3.1. Tabel 3.1. Konstruksi Polinomial Primitif atas dengan Akar Primitif Bentuk Bentuk Pangkat Polinomial Nilai 0 0 0 1 1 2 4 8 3 6 12 11 5 10 7 50

14 15 13 9 1 1 Pesan tersebut akan di-encode dengan, maka: 1. Membentuk polinomial dengan simbol.. 2. Mengalikan dengan untuk membuat ruang bagi.. 3. Membagi dengan untuk menghasilkan.. Berikut langkah pembagiannya.. Dihasilkan 51

4. tidak digunakan sehingga dibuang. Polinomial tidak dipakai. 5. Menambahkan dengan untuk membentuk dengan panjang simbol.. Polinomial dapat direpresentasikan kedalam GF(15,11) biner yaitu. Atau dalam indeks GF(15,11) yaitu Jadi kode yang telah di-encode dan siap dikirim adalah.. Kode akan dikirimakan melalui saluran transmisi kemudian kode itu akan di-decode sebelum kode diterima. Polinomial kode yang diterima terhadap kode yang ditransmisikan dideskripsikan oleh persamaan:. Polinomial adalah m-bit nilai error yang direpresentasikan oleh elemen dari GF( ). Derajat dari x pada mengindikasikan posisi error pada codeword. Banyaknya error yaitu t dengan kemampuan mengoreksi yaitu. Jika ada error lebih dari t 52

yang muncul, maka kode tersebut tidak dapat dikoreksi. Sebagai contoh. b. Proses Decoding Kode Reed Solomon Pada decoding Reed Solomon, adalah polinomial data yang diterima, sedangkan adalah polinomial error yang menyebabkan data yang diterima berbeda dari data yang dikirim. Proses decoding bekerja saat terjadi kode error. Ada empat tahap proses decoding Reed Solomon, yaitu: (i) Menghitung syndrome Syndrome adalah bagian utama proses decoding yang merupakan evaluasi dari polinomial. ( ) (3.4) Dengan menguraikan persamaan (3.4) didapatkan persamaan syndrome aljabar sebagai berikut. (3.5) Jika nilai syndrome semuanya bernilai nol, maka adalah codeword yang benar atau tanpa error. Sedangkan, jika ada salah satu syndrome yang bernilai tak nol, maka codeword terindikasi error. 53

(ii) Menenetukan polinomial error locator Metode untuk menghitung polinomial error locator ada tiga (Morelos- Zaragoza, 2006: 55), yaitu: Algoritma Berlekamp-Massey Algoritma Euclidean Direct-Solution Algoritma Euclidean berstruktur reguler dan bekerja dengan polinomial sehingga penelitian ini menggunakan algoritma Euclidean. Algoritma Euclidean diformulasi untuk mencari FPB (Faktor Persekutuan Terbesar) dua bilangan bulat, dua polinomial, maupun dua polinomial sembarang. Definisi 3.2 (Morelos-Zaragoza, 2006: 60). Untuk bilangan, jika, maka ada bilangan bulat dan sedemikian hingga: Untuk polinomial, jika, maka ada polinomial dan sedemikian hingga: Untuk sebarang bilangan bulat berlaku: Untuk polinomial sembarang berlaku: ( ) ( ). Diberikan polinomial syndrome yang didefinisikan sebagai berikut (Morelos-Zaragoza, 2006: 61): 54

(3.6) Hal ini terbentuk dari perluasan algoritma Euclidean untuk polinomial dan, sedemikian sehingga pada iterasi- dihasilkan: (3.7) dengan derajat, maka dan. Berikut diberikan langkah-langkah algoritma Euclidean untuk ( ) (Morelos-Zaragoza, 2006: 62). Input: [ ] [ ] kondisi inisial: (3.8) pada iterasi, lakukan pembagian untuk menentukan polinomial dan [ ] [ ] (3.9) dan dihitung (3.10) (3.11) perhitungan akan berhenti pada iterasi, ketika 55

[ ] [ ] (3.12) Maka ( ), dimana adalah bilangan bulat tak nol terbesar sedemikian sehingga dan. (iii) Mencari akar polinomial evaluasi error Polinomial evaluasi error (Morelos-Zaragoza, 2006 : 75) didefinisikan. (3.13) (iv) Menghitung nilai error Dengan menggunakan algoritma Forney (Forney, 1965), nilai error dapat dihitung sebagai berikut. ( ) ( ) (3.14) dengan adalah akar polinomial evaluasi error atau posisi errornya dan adalah turunan dar atas. Contoh 3.5. Di bawah ini adalah contoh proses decoding. Misalkan pada encoding RS(15,11) dengan Diasumsikan terjadi dua error, yaitu. Sehingga. Pada contoh ini ada dua hal 56

yang tidak diketahui yaitu posisi error dan nilai error. Karena kode Reed Solomon bekerja pada simbol (m-bit word), maka nilai error perlu diketahui. Berikut langkah-langkah decoding kode Reed Solomon. 1) Langkah pertama adalah menghitung nilai syndrome.. Elemen primitif dari GF( adalah, maka didapat,. 2) Langkah kedua menghitung polinomial pencari posisi error dan polinomial evaluasi error menggunakan metode algoritma Euclidean. Kondisi Inisial untuk Berdasarkan persamaan (3.9) Berdasarkan persamaan (3.11) 57

Untuk Berdasarkan persamaan (3.9) Berdasarkan persamaan (3.11) Algoritma berhenti karena derajat [ ].,. Dari akar-akar dapat diketahui bahwa posisi error terjadi pada dan. 3) Kemudian menghitung nilai polinomial evaluasi error. Berdasarkan persamaan (3.13) maka didapatkan. 4) Hitung nilai error menggunakan algoritma Forney persamaan (3.14) dengan dan maka dihasilkan Berdasarkan hasil perhitungan nilai error di atas dihasilkan polinomial evaluasi error yaitu.. 58

5) Selanjutnya mengoreksi kode error. Jadi kode yang dikirim adalah atau dalam bilangan non biner adalah (2,2,3,3,4,4,5,5,6,6,6,5,0,3,1). B. Aplikasi Kode Reed Solomon pada Steganography Kode Reed Solomon pertama kali ditemukan oleh Reed dan Solomon pada tahun 1960. Aplikasi kode Reed Solomon digunakan sebagai pengoreksi kesalahan pada Compact Disk (CD), Digital Versatile Disk (DVD), hard drives, saluran AWGN, pengiriman foto-foto dalam eksplorasi planet oleh NASA (National Aeronautics and Space Administration) dan ESA (European Space Agency). Penerapan kode pengoreksi Reed Solomon pada bidang komunikasi yang lain adalah steganography. Steganography merupakan suatu cara menyembunyikan informasi untuk mencegah pendeteksian pesan yang dikirimkan agar tidak diketahui orang lain. Menurut Ishengoma (2014) dalam jurnalnya yang berjudul The Art of Data Hiding with Reed Solomon Error Correcting Codes, dua tujuan penting dari steganography di media digital adalah untuk menjamin kebenaran data dan 59

memberikan bukti hak cipta. Oleh karena itu, data harus tetap tersembunyi dalam sinyal host, bahkan ketika sinyal mengalami gangguan seperti filtering, resampling, cropping, atau lossy data compression (Bender, dkk, 1996 :1). Berikut ini adalah komponen-komponen penting untuk proses steganography. 1) Carrier Document atau sering disebut cover media. Maksudnya adalah data yang akan digunakan untuk membangun sebuah stegogramme yang berisi pesan rahasia. Data yang digunakan adalah data tersembunyi bisa berupa teks, gambar, file audio, video, IP datagram, dokumen. 2) Secret Message atau pesan rahasia. Pesan rahasia yang akan dikirim berupa data tersembunyi dalam bentuk teks yang telah dikodekan. 3) Password atau kunci untuk menyembunyikan dan membuka kembali pesan. Ilustrasi dari proses steganography ditampilkan pada Gambar 3.3. Proses Embedding Pesan Rahasia Cover Media Stego-system Encoder Stegogramme Saluran Komunikasi Password Proses Ekstraksi Stegogramme Stego-system Decoder Pesan Rahasia Cover Media Gambar 3.3. Proses Kode Pengoreksi Reed Solomon pada Steganography 60

Berdasarkan Gambar 3.3 dapat dijelaskan bahwa dua input yang harus ada adalah cover media berupa pesan teks, pesan audio, pesan video, pesan gambar, maupun pesan-pesan protokol. Input yang kedua adalah pesan rahasia atau pesan tersembunyi yang dikirim dan telah diubah dalam bentuk kode. Selanjutnya menyampaikan kedua input melalui stego-system encoder. Langkah kerja stego-system encoder membutuhkan password yang nantinya password itu juga akan digunakan untuk proses ekstraksi. Karena apabila tanpa password yang sama maka stego-system decoder tidak dapat mengekstraksi pesan yang diterima (Bateman, 2008 : 5). Output dari stego-system encoder disebut dengan stegogramme. Stegogramme ini selanjutnya dikirim menggunakan saluran komunikasi yang telah dikunci dengan password seperti pada saat proses embedding. Stegogramme dan password ini diterima stego-system decoder yang kemudian pesan diekstraksi. Sebagai contoh aplikasi kode Reed Solomon pada audio steganography dimana pesan rahasia tertanam dalam bentuk sinyal audio digital. Audio digital disimpan dalam bentuk biner 0 dan 1. Dengan menggunakan encoding Least Significant Bit (LSB), sampel biner bit terakhir pada audio digital disubstitusi dengan biner bit pada pesan rahasia. Metode LSB merupakan salah satu metode untuk menyisipkan pesan rahasia pada pesan data (cover media) dengan cara mengganti bit terakhir atau bit terendah pada codeword pesan data kemudian disubstitusi dengan pesan rahasia. Misalkan akan disisipkan kata A dalam bentuk biner yaitu (01100101) ke file mp3 lalu dengan menggunakan metode LSB 61

untuk setiap bit ke-16 (terakhir) pada 8 sampel berturut-turut disubstitusi dengan koresponden biner A. Tabel 3.2. Penyisipan Huruf A pada File mp3 Sampel Audio MP3 A Sampel Audio MP3 dengan Data Encode 1001 1000 0011 1100 0 1001 1000 0011 1100 1101 1011 0011 1000 1 1101 1011 0011 1001 1011 1100 0011 1101 1 1011 1100 0011 1101 1011 1111 0011 1100 0 1011 1111 0011 1100 1011 1010 0111 1111 0 1011 1010 0111 1110 1111 1000 0011 1100 1 1111 1000 0011 1101 1101 1100 0111 1000 0 1101 1100 0111 1000 1000 1000 0001 1111 1 1000 1000 0001 1111 Contoh 3.6. Mengikuti Contoh 3.4, suatu pesan 2,2,3,3,4,4,5,5,6,6,7 atas dan dibangun oleh akar primitif. Setelah dilakukan encoding codeword seperti langkah pada Contoh 3.4 dihasilkan. Pada steganography, codeword merupakan polinomial kode dari cover media yang dalam hal ini digunakan untuk menyimpan suatu pesan rahasia. Selanjutnya posisi yang akan disubstitusi dengan suatu pesan rahasia pada. Misalkan pesan rahasia adalah 7,6,5,3. Selanjutnya pesan rahasia = mensubstitusi polinomial redundansi pada. Sehingga codeword yang telah disisipkan dengan suatu pesan rahasia adalah. 62

1. Algoritma Kode Reed Solomon pada Steganography Model aplikasi steganography pada kode Reed Solomon dengan mengganti bit redundansi kode pengoreksi error dengan suatu pesan rahasia pada saluran komunikasi. Diasumsikan bahwa penggantian bit pada kode Reed Solomon pada model tersebut tidak mempengaruhi kinerja dari pengoreksian kode Reed Solomon tersebut. Encoder Reed Solomon membuat codeword dengan menggunakan input dari data stegogramme. Posisi di codeword yang akan digunakan untuk data tersembunyi adalah data redundansi. Kemudian data yang telah ditentukan posisinya diganti dengan pesan rahasia ( ) menjadi codeword termodifikasi atau stegogramme codeword. Codeword termodifikasi tersebut dikirimkan melalui saluran komunikasi yang memungkinkan terjadinya error. Dilakukan decoding codeword untuk mengekstrak pengkoreksian bit error dan decoding stegogramme untuk mengekstrak pesan rahasia. Berdasarkan uraian sebelumnya maka didapatkan Algoritma Steganography dengan kode Reed Solomon sebagai berikut: a. Membangun codeword. b. Menentukan posisi untuk substitusi pesan rahasia pada c. Masukkan pesan rahasia pada posisi yang telah ditentukan. d. Pesan stegogramme terbentuk lalu transmisikan e. Decoding dengan kode Reed Solomon untuk mengoreksi error pada stegogramme. 63

f. Decoding dengan stegogramme decoder untuk mengekstraksi pesan rahasia. Uraian dari algoritma tersebut dapat dilihat pada bagan berikut ini. Membangun Codeword Menentukan posisi untuk substitusi pesan rahasia pada C x Pesan Stegogramme C x S m terbentuk Masukkan pesan rahasia S m pada posisi yang telah ditentukan Transmisikan pesan C x S m Decoding C x S m dengan kode RS untuk koreksi error Decoding C x S m dengan stegogramme decoder untuk ekstraksi S m Pesan S m diterima Gambar 3.4. Algoritma Steganography dengan Kode Reed Solomon 2. Software Xiao Steganography 2.6.1 Software Xiao steganography 2.6.1 merupakan salah satu software yang digunakan untuk menyembunyikan suatu pesan rahasia dengan cover media berupa gambar dalam format BMP atau audio dalam format WAV. 64

Berikut ini adalah langkah-langkah proses steganography menggunakan software Xiao Steganography 2.6.1. a. Tampilan utama software Xiao Steganography 2.6.1 ditunjukkan pada Gambar 3.5. Gambar 3.5. Tampilan Utama software Xiao Steganography 2.6.1 b. Klik kotak Add Files untuk menambahkan suatu cover media untuk menyembunyikan pesan rahasia. Lalu muncul jendela Add File to Image seperti pada Gambar 3.6. Pada tampilan ini klik kotak Load Target File untuk input pesan rahasia yang akan disembunyikan. Gambar 3.6. Tampilan Add File to Image untuk Input Data Cover Media c. Selanjutnya muncul tampilan Open untuk input file data sebagai cover media seperti pada Gambar 3.7. File yang digunakan hanya berupa gambar dalam format BMP atau audio dalam format WAV. 65

Gambar 3.7. Tampilan Input File sebagai Cover Media Pada langkah ini terbentuk suatu codeword dari bit-bit kode yang didalamnya terdapat informasi kode warna pada masing-masing pixel yang terdapat pada gambar. Lalu, klik tombol Next untuk langkah berikutnya. d. Pada tampilan Gambar 3.8, klik Add Files untuk menambahkan pesan rahasia yang akan disembunyikan. Pesan rahasia bisa berupa gambar, video, audio, maupun file data lainnya. Pada simulasi berikut ini digunakan file PDF sebagai pesan rahasia. Pesan rahasia yang dikirim tidak boleh melebihi kapasitas maksimum ukuran data (satuan KB) yang ditentukan. Pesan rahasia ini merupakan pesan yang akan disisipkan pada codeword. 66

Gambar 3.8. Tampilan Add File to Image untuk Input Data Pesan Rahasia Gambar 3.9. Tampilan Input File sebagai Pesan Rahasia Setelah terpilih file pesan rahasia yang akan disembunyikan, klik tombol Next untuk langkah berikutnya. e. Langkah selanjutnya adalah memilih algoritma enkripsi dan dekripsi serta menambahkan suatu password. Langkah ini ditunjukkan pada Gambar 3.10. Password pengirim dan penerima haruslah sama agar pesan rahasia yang diterima dapat dibuka. 67

Gambar 3.10. Tampilan Pilihan Algoritma Enkripsi dan Pengisian Password Klik tombol Next untuk langkah selanjutnya. f. Berikutnya adalah menyimpan pesan stegogramme (pesan rahasia yang telah disembunyikan oleh cover media) ditunjukkan pada Gambar 3.11 dan Gambar 3.12. Tunggu hingga proses penyimpanan file berhasil sehingga muncul tampilan seperti pada Gambar 3.13. Cover Media Gambar 3.11. Tampilan Penyimpanan File Gambar 3.12. Proses Penyimpanan Pesan Rahasia pada File Cover Media 68

Gambar 3.13. Tampilan Proses Enkripsi Berhasil Proses embedding atau proses penyisipan pesan rahasia pada cover media ) telah selesai. Pesan tersebut dinamakan pesan stegogramme. Untuk dapat membuka pesan stegogramme tersebut haruslah melalui proses ekstraksi. g. Proses ekstraksi stegogramme dilakukan dengan cara klik tombol Extract Files pada tampilan utama software Xiao Steganography 2.6.1 dengan tampilan seperti pada Gambar 3.5. Lalu klik tombol Load Source File dan pilih pesan stegogramme yang telah disimpan. Pesan Stegogramme Gambar 3.14. Tampilan Pemilihan Pesan Stegogramme untuk Ekstraksi File 69

h. Proses ekstraksi untuk mengambil pesan rahasia berjalan dan tunggu hingga muncul kotak jendela berikutnya. Setelah itu, isikan password yang sesuai pada saat enkripsi di kotak pengisian password. Kemudian klik Extract File. Tampilan ini diberikan pada Gambar 3.15. Gambar 3.15. Tampilan Proses Ekstraksi File i. Gambar 3.16. merupakan tampilan untuk menyimpan pesan rahasia yang berhasil di ekstrak. Gambar 3.16. Tampilan Penyimpanan Pesan Rahasia Hasil Ekstraksi 70

j. Jika password yang diisikan sama dengan password saat proses enkripsi maka proses ekstraksi berhasil. Lalu buka file pesan rahasia untuk dapat mengetahui isi file tersebut. Tampilan ini ditunjukkan pada Gambar 3.17. File Pesan Rahasia Hasil Ekstraksi Gambar 3.17. Tampilan Hasil Proses Ekstraksi Aplikasi steganography menggunakan software Xiao Steganography 2.6.1 menggambarkan proses enkripsi dan dekripsi. Proses enkripsi berupa proses penyembunyian pesan rahasia yang ditutupi dengan suatu cover media dan dikunci menggunakan suatu password. Pada contoh aplikasi ini cover media berupa gambar spongebob dengan format file BMP dan pesan rahasia yang dipilih berupa file PDF yang ukurannya tidak melebihi kapasitas ukuran KB yang ditentukan yaitu 325,486 KB. Pesan rahasia yang telah tertanam pada suatu file cover media disebut dengan pesan stegogramme. Pesan stegogramme dan file yang digunakan sebagai cover media sekilas terlihat sama persis. Inilah tujuan dari steganography yaitu menyembunyikan pesan rahasia agar tidak terlihat oleh orang lain dan terjamin kerahasiannya. Proses dekripsi berupa ekstraksi file untuk mengambil pesan rahasia tersebut dengan memasukkan password yang sama seperti saat proses enkripsi. Output proses dekripsi ini berupa file pesan rahasia yaitu file PDF dengan judul reed solomon.pdf. 71