PEMBANGUNAN APLIKASI STEGANOGRAFI MULTIMEDIA MENGGUNAKAN ALGORITMA END OF FILE DENGAN BAHASA PEMROGRAMAN JAVA 1
Sandi Amaruloh
1
Kel.Sukahati Muara Beres RT 04/05 No.48 Cibinong Bogor(
[email protected])
ABSTRAK Aplikasi steganografi multimedia ini dibuat dengan menggunakan metode end of file dan bahasa pemrograman java sebagai implementasinya, dengan tujuan yaitu membangun suatu aplikasi untuk mengamankan suatu data(informasi) dengan pemanfaatan teknik steganografi, beberapa jenis file multimedia yang dapat digunakan sebagai medianya yaitu file teks, file citra, file audio dan file video. Data yang dimasukkan berupa string yang di ketik melaui keyboard atau data string yang disalin dari suatu file dokumen kedalam kotak area yang disediakan, data string tersebut akan disisipkan kedalam suatu file multimedia yang berfungsi sebagai tempat penyimpanan data, aplikasi steganografi multimedia juga dilengkapi dengan fungsi kriptografi DES pada saat penyisipan data yang berfungsi sebagai kode pembangkit dan mengenskripsi data, agar keamanan suatu data dalam file lebih terjaga dan terlindungi dari pihak yang tidak berhak mengetahui data tersebut. Kata kunci : DES, End of file, Java, Multimedia, Steganografi PENDAHULUAN 1.1 Latar Belakang Masalah Perkembangan teknologi informasi yang semakin pesat dan telah memasuki babak baru dalam era revolusi teknologi yaitu perubahan dari teknologi analog menjadi teknologi digital, hal ini ditandai dengan penggunaan sistem komputerisasi untuk membantu dalam meringankan beban pekerjaan manusia hampir dalam semua bidang. Hasil dari penggunaan sistem komputerisasi yaitu data digital yang disimpan kedalam file digital, sebagian besar data menyimpan informasi bagi setiap individu dan keamanan suatu data menjadi prioritas dari pihak yang tidak berhak untuk mengetahui informasi dari data tersebut. Dalam mengamankan data (informasi) ada beberapa cara yaitu kriptografi, watermarking dan steganografi. Steganografi merupakan ilmu menulis atau menyembunyikan pesan tersembunyi dengan suatu cara sehingga selain si pengirim dan si penerima, tidak ada seorangpun yang mengetahui atau menyadari bahwa ada suatu pesan rahasia. Berbeda dengan kriptografi dan watermarking yang menyamarkan arti dari suatu pesan, tapi tidak menyembunyikan bahwa ada suatu pesan, kelebihan steganografi daripada kriptografi watermarking adalah pesan-pesannya tidak menarik perhatian orang lain. Seringkali, steganografi dan kriptografi digunakan secara bersamaan untuk menjamin keamanan pesan rahasianya. Beberapa metode untuk membuat suatu steganografi yaitu Least Significant Bit Insertion (LSB), Algorithms and Transformation, Redundant Pattern Encoding, Spread
Spectrum method dan End Of File. Metode-metode tersebut digunakan dalam steganografi dalam media dan fungsi yang berbeda-beda untuk memaksimalkan pengamanan suatu data (informasi) agar menjadi rahasia. Dalam Pembangunan metode yang digunakan yaitu end of file karena dapat mendukung lebih banyak file media yang berfungsi sebagai tempat penyisipan data. 1.2 Tujuan Penulisan Tujuan dari penulisan skripsi ini adalah pembangunan aplikasi untuk mengamankan suatu data(informasi) dengan pemanfaatan teknik steganografi dengan metode end of file, beberapa jenis file multimedia sebagai media steganografi dan bahasa pemrograman java sebagai implementasinya. 1.3 Pembatasan Masalah Dalam aplikasi terdapat 4 jenis pilihan steganografi yang dibedakan berdasarkan jenis file multimedia yang digunakan sebagai media steganografi untuk menyisipkan data (informasi), yaitu steganografi teks, steganografi citra, steganografi audio, dan steganografi video. Ukuran file yang dapat dijadikan sebagai media yaitu lebih dari atau sama dengan 1 KB (>= 1 KB) dan maksimal 15 MB. Data yang dimasukkan berupa string yang di ketik melaui keyboard atau data string yang disalin dari suatu file dokumen kedalam kotak area yang disediakan dalam aplikasi. TINJAUAN PUSTAKA Steganografi Steganografi adalah seni dan ilmu menulis atau menyembunyikan pesan tersembunyi dengan suatu cara sehingga selain si pengirim dan si penerima, tidak ada seorangpun yang mengetahui atau menyadari bahwa ada suatu pesan rahasia, media penyisipan pesan rahasia yang digunakan dalam teknik Steganografi digital antara lain adalah : 1. Teks Dalam algoritma Steganography yang menggunakan teks sebagai media penyisipannya biasanya digunakan teknik NLP sehingga teks yang telah disisipi pesan rahasia tidak akan mencurigakan untuk orang yang melihatnya. Contoh format teks : teks file, html, pdf, dll. 2. Audio Format ini pun sering dipilih karena biasanya berkas dengan format ini berukuran relatif besar. Sehingga dapat menampung pesan rahasia dalam jumlah yang besar pula. Contoh format audio : wav, voc, mp3, dll. 3. Citra Format pun paling sering digunakan, karena format ini merupakan salah satu format file yang sering dipertukarkan dalam dunia internet. Alasan lainnya adalah
banyaknya tersedia algoritma Steganografi untuk media penampung yang berupa citra. Contoh format citra : bitmap (bmp), gif, pcx, jpeg, dll. 4. Video Format ini memang merupakan format dengan ukuran file yang relatif sangat besar namun jarang digunakan karena ukurannya yang terlalu besar sehingga mengurangi kepraktisannya dan juga kurangnya algoritma yang mendukung format ini. Contoh format video : mpeg, avi dll. Penilaian sebuah algoritma steganografi yang baik dapat dinilai dari beberapa faktor yaitu: 1. Imperceptible Keberadaan pesan dalam media penampung tidak dapat dideteksi. 2. Fidelity Mutu media penampung setelah ditambahkan pesan rahasia tidak jauh berbeda dengan mutu media penampung sebelum ditambahkan pesan 3. Recovery Pesan rahasia yang telah disisipkan dalam media penampung harus dapat diungkap kembali. Hal ini merupakan syarat mutlak dalam sebuah algoritma steganografi, kerena ada banyak cara penyisipan pesan yang tidak terdeteksi namun sulit dalam pembacaan kembali. End Of File Teknik EOF atau End Of File merupakan salah satu teknik yang digunakan dalam steganografi. Teknik ini menggunakan cara dengan menyisipkan data pada akhir file. Teknik ini dapat digunakan untuk menyisipkan data yang ukurannya sesuai dengan kebutuhan. Ukuran file yang telah disisipkan data sama dengan ukuran file sebelum disisipkan data ditambah dengan ukuran data yang disisipkan ke dalam file tersebut. Dalam teknik ini, data disisipkan pada akhir file dengan diberi tanda khusus sebagai pengenal start dari data tersebut dan pengenal akhir dari data tersebut. DES (Data Encryption Standard DES (Data Encryption Standard) adalah algoritma cipher blok yang populer karena dijadikan standard algoritma enkripsi kuncisimetri, meskipun saat ini standard tersebut telah digantikan dengan algoritma yang baru, AES, karena DES sudah dianggap tidak aman lagi. Sebenarnya DES adalah nama standard enkripsi simetri, nama algoritma enkripsinya sendiri adalah DEA (Data Encryption Algorithm), namun nama DES lebih populer daripada DEA Cara kerja Algortima DES 1. Blok plainteks dipermutasi dengan matriks permutasi awal (initial permutation atau IP). 2. Hasil permutasi awal kemudian di-enchipering sebanyak 16 kali (16 putaran). Setiap putaran menggunakan kunci internal yang berbeda.
3. Hasil enciphering kemudian dipermutasi dengan matriks permutasi balikan (invers initial permutation atau IP-1) menjadi blok cipherteks.
Gambar 1. Diagram Enkripsi DES
Java Java adalah suatu teknologi di dunia software komputer. Selain merupakan suatu bahasa pemrograman, Java juga merupakan suatu platform. Sebagai bahasa pemrograman, Java adalah salah satu bahasa pemrograman berorientasi objek (OOP – Object Oriented Programming). Paradigma OOP menyelesaikan masalah dengan merepresentasikan masalah ke model objek. Karakterisitik OOP di antaranya adalah Enkapsulation, Inheritance dan Polimorfism.. Enkapsulation adalah pelindung program dari data yang sedang diolah. Enkapsulasi mendefinisikan perilaku dan melindungi program dan data agar tidak diakses secara sembarangan oleh program lain. Dalam Java, dasar enkapsulasi adalah class. Sebuah class yang menyatakan bahwa variabel dan methodnya tidak dapat diakses oleh class lain adalah dengan menjadikan class tersebut private, atau menjadikan class tersebut protected yaitu hanya bisa diakses oleh turunannya, atau menjadikan class tersebut public yaitu bisa diakses oleh sembarang class. Inheritance adalah pewarisan sifat. Sebagai gambaran, lingkaran dan segitiga adalah turunan dari bentuk 2D (dua dimensi) dan bentuk 2D adalah turunan dari objek gambar. Lingkaran dan segitiga mewarisi inherit sifat-sifat dan bentuk 2D, serta mewarisi sifat-sifat dari ojek gambar. Lingkaran dan segitiga dapat dikatakan sebagai subclass dari bentuk 2D. Bentuk 3D adalah parent-cass dari bola dan piramida. Walaupun lingkaran dan segitiga sama-sama turunan dari bentuk 2D, tetapi cara mengubah ukuran masing-masing berbeda. Untuk lingkaran, besaran yang harus diubah adalah jari-jarinya sedangkan untuk segitiga besaran yang harus diubahnya adalah alas dan tingginya. Dalam Java, implementasi method suatu parent-class dapat diubah oleh subclassnya. Hal ini dikenal dengan nama overriding method yaitu deklarasi method sama tapi implementasi atau definisinya berbeda. Hal inilah yang disebut dengan polimorfisme.
METODE PENELITIAN Dalam metode penelitian langkah awal yang dilakukan adalah studi pustaka dengan mempelajari landasan teori yang dibutuhkan mengenai steganografi, mempelajari teknik end of file, dan mempelajari struktur bahasa pemrograman java. Langkah selanjutnya yaitu merancang aplikasi steganografi yang akan dibuat, pembuatan algoritma berdasarkan landasan teori, desain interface aplikasi dan pembangunan source dalam bahasa pemrograman java. Langkah akhir yang dilakukan adalah pengujian kemampuan kapasitas aplikasi dan uji keberhasilan aplikasi. HASIL DAN PEMBAHASAN Gambaran Algoritma Encode Steganografi EOF Merupakan gambaran dari hasil file steganografi dengan metode end of file dalam aplikasi, pemasukkan data dilakukan seperti merge yang dihubungkan dengan bytes version sebagai penand dengan urutan input file, byte version, dan message.
Gambar 2. Gambaran proses encode dalam aplikasi (EOF)
Flow Chart Encode Aplikasi Steganografi Start Select carrier file
Select output location&file name Input secret message
Read message & message.length, read carrier file as file stream,read outpout location & file name
Carrier file & output location?
N
Y Input 8 digits number (DES cryphto) Start embedding Shift message & password to chiper, Shift bits to EOF for message & password Store bits into EOF bits & embedded the message with password Write the embedded message,password and bits in vector to output file
N
Embedded success?
Y Process saving file(stego file) to output file
End
Gambar 3. Flowchart metode EOF dalam aplikasi steganografi multimedia
Flowchart yang ditampilkan pada gambar 3 merupakan flowchart dari metode EOF untuk menyisipkan suatu data rahasia ke dalam file. Struktur Navigasi Aplikasi Login steganography
change password
Menu meltimedia steganography
Encode text steganography
Encode image steganography
Encode audio steganography
Encode video steganography
Decode text steganography
Decode image steganography
Decode audio steganography
Decode video steganography
Gambar 4. Struktur navigasi aplikasi steganografi multimedia Design Interface Aplikasi
Gambar 5. Design Interface Aplikasi steganografi
Form steganography login Merupakan form yang digunakan sebagai form utama dan sistem pengaman dalam aplikasi, jika tidak dapat melewati verifikasi kata kunci (password) yang terintegrasi dengan database.
Gambar 6. Tampilan form login steganografi Form change password Merupakan form yang digunakan untuk mengganti password yang akan digunakan pada saat login.
Gambar 7. Tampilan form ganti password Form multimedia steganography Merupakan form yang digunakan sebagai menu dalam aplikasi, menu multimedia steganography terdiri dari empat menu steganografi yang dibedakan berdasarkan jenis filenya yaitu teks steganografi (text steganography), steganografi citra(image steganography), steganografi audio(audio steganography), dan video steganografi(video steganography).
Gambar 8. Tampilan form menu steganografi multimedia
Form Encode Steganography Merupakan form yang digunakan untuk melakukan penyisipan data/pesan (embed) kedalam suatu file media, dalam aplikasi terdapat 4 jenis pilihan steganografi berdasarkan jenis file sebagai file yang berfungsi sebagai media. Pada gambar 9 merupakan tampilan form dari encode steganografi citra, dalam terdapat label source menentukkan file media, target untuk menentukan penyimpanan file, dan message untuk menentukkan data yang disisipkan.
Gambar 9. Tampilan form encode steganografi Form Decode Steganography Merupakan form yang digunakan untuk melakukan pengembalian data/pesan (retrieve) dari suatu file steganografi. Pada gambar 10 merupakan tampilan form dari decode steganografi citra, dalam terdapat label source menentukkan file steganografi yang akan di decode, dan message untuk menampilkan data dari file steganografi.
Gambar 10. Tampilan form decode steganografi
Untuk melakukan pengujian dari aplikasi, sebagai contoh dilakukan penyisipan data pada citra yang bernama coba.jpg dengan tahap seperti pada gambar 9 dan tahap decode pada gambar 10 dengan nama output file nama hasil.jpg. Hasil perbandingan ukuran file pada gambar 11, perbandingan view dari file pada gambar 12 dan perbandingan histogram pada gambar 13.
Gambar 11. Tampilan perbandingan ukuran file
Gambar 12. Tampilan perbandingan view file
Gambar 13. Tampilan perbandingan histogram
Uji Kemampuan Kapasitas Aplikasi Uji kemampuan aplikasi dilakukan untuk menguji kemampuan aplikasi untuk menampung data, file yang digunakan sebagai media adalah salah satu jenis file dari masing-masing jenis file multimedia yaitu .doc, .jpg, .wav, dan .avi. Data awal yang di uji yaitu ujiteks1.doc 100kb, ujicitra1.jpg 100kb, ujiaudio1.wav 100 kb, dan ujivideo1.avi 104 kb. Data yang di input dalam pengujian yaitu sebesar 25kb, 50kb, 75kb, 100kb, 200kb dan 1000kb. Hasil uji dapat dilihat pada tabel 1 dan semua ukuran file dan data input sudah dalam ukuran pembulatan. Tabel 1. Hasil uji kemampuan kapasitas aplikasi
Dari hasil uji kemampuan kapasitas aplikasi pada tabel 1 terbukti bahwa steganografi dengan menggunakan algoritma EOF dapat menampung data input yang sangat besar mulai dari 24% sampai dengan 1000% (dalam uji coba) dari besar ukuran file media. Uji Keberhasilan Aplikasi Uji keseluruhan aplikasi dilakukan untuk mengetahui keberhasilan setiap jenis file multimedia yang ada dalam aplikasi dari segi encode, decode dan kerusakan file beserta keterangan. Pengujian dapat di lihat pada tabel 2 dan semua ukuran file dan data input sudah dalam ukuran pembulatan.
Tabel 2. Hasil uji keberhasilan aplikasi
Dari hasil pengujian pada tabel 2 didapat bahwa terdapat beberapa kerusakan file yaitu pada jenis file plain text(.txt) terdapat kerusakan yaitu enkripsi password dan data terlihat, rich text format(.rtf) terdapat kerusakan yaitu enkripsi password terlihat, dan shockwave flash(.swf) terdapat kerusakan yaitu terdengar noise pada audio dan terjadi perlambatan pada video. Dari hasil keseluruhan aplikasi terhadap pengujian semua jenis file yang ada dalam aplikasi 100% berhasil dalam proses encode dan decode, sedangkan dalam kerusakan yang terdeteksi adalah 25% dan 75% tidak terdeteksi. KESIMPULAN 1. Steganografi multimedia melakukan penyisipan data terhadap beberapa jenis file multimedia yaitu teks, citra, audio, dan video yang memanfaatkan metode algoritma End Of File (EOF) 2. steganografi dengan menggunakan algoritma EOF dapat menampung data input teks yang sangat dari besar ukuran file media atau file yang dihasilkan sesuai dengan ukuran file ditambah ukuran data teks. 3. Berdasarkan hasil uji keseluruhan aplikasi terhadap pengujian semua jenis file yang ada dalam aplikasi 100% berhasil dalam proses encode dan decode, sedangkan dalam kerusakan yang terdeteksi adalah 25% dan 75% tidak terdeteksi. SARAN Dalam pembuatan aplikasi steganografi multimedia ini masih banyak kekurangan dalam hal implementasi, baik dalam segi tampilan aplikasi maupun fasilitas dalam aplikasi. Untuk pengembangan lebih lanjut dapat dilakukan beberapa hal seperti penambahan penyisipan file atau inputan berupa file bukan hanya karakter untuk setiap jenis file multimedia, mendukung semua jenis file sebagai medianya seperti file aplikasi (.exe, dan .msi ), pengaman password pada saat login terintegrasi dengan database MySql atau oracle yang memiliki tingkat pengamanan lebih tinggi dan file steganografi lebih tahan dari resiko rusak atau hancur dari kompresi, proses save ulang dan proses lain yang mengakibatkan perubahan pada file steganografi.
DAFTAR PUSTAKA 1. Halim Sean.Revelation. 2005 February:[1 Screen]. Available from : http://www.revelation.atspace.biz/index.html Accessed May 20,2009. 2. Harikumar Midhun.Audio Steganography Aplication. 2008 May: :[2 Screen]. Available from : http://midhunhk.blogspot.com/2008/05/audio-steganography-application-with.html. Accessed May 02,2010. 3. Maya.Steganografi LSB. 2008 July:[1 Screen]. Available from : http://www.maya9luthu.web.id/posts/steganografi-lsb/Steganografi_LSB.htm Accessed May 20,2009. 4. Rickyanto Isak, Dasar Pemrograman Berorientasi Objek dengan Java 2 ( JDK 1.4), Andi Yogyakarta, Yogyakarta, 2003. 5. Sukrisno, Ema utami. Implementasi Steganografi EOF Dengan Gabungan Enskripsi Rinjael, Shift Chipher dan Gabungan Hash MD5. 2007 May:[16 Screen]. Available from: http://p3m.amikom.ac.id/p3m/33%20%20IMPLEMENTASI %20STEGANOGRAFI%20TEKNIK%20EOF.pdf 6. Wikipedia.Java. 2009 March:[1 Screen]. Available from : http://www.id.wikipedia.org/wiki/Wikipedia:Java.htm. Accessed May 17,2009. 7. Wikipedia.Steganografi. 2009 March:[1 Screen]. Available from : http://www.id.wikipedia.org/w/index.php?title=Kategori:Steganografi.htm. Accessed May 17,2009.