1.
Pendahuluan
Penggunaan teknologi informasi dan komputerisasi sebagai media kerja dan pusat informasi sudah menjadi suatu kebutuhan, karena dengan teknologi hampir semua pekerjaan dapat diselesaikan dengan mudah, cepat dan efisien. Kemudahan ini membawa pengaruh terhadap keamanan informasi yang menggunakan media komunikasi sebagai media penyampaian yang dapat mengakibatkan suatu informasi menjadi sangat rentan untuk diketahui, diambil atau bahkan dimanipulasi dan disalah gunakan oleh pihak lain yang tidak berhak. Jika ingin bertukar pesan, tentunya pihak pengirim berharap pesan yang dikirim sampai ke pihak penerima dengan aman, dengan maksud, pihak yang tidak berhak tidak dapat membaca pesan tersebut. Sedangkan di sisi penerima, diharapkan pesan yang diterima masih asli, tidak ditambah-tambah atau dikurangi, tidak diubah atau dimanipulasi selama pengiriman pesan. Untuk menjamin keamanan pertukaran informasi yang bersifat rahasia atau pribadi, diperlukan suatu sistem pengamanan data yang dapat melindungi informasi yang bersifat pribadi dan rahasia. Steganografi (Steganography) adalah ilmu dan seni menyembunyikan pesan atau data rahasia di dalam pesan lain sehingga keberadaan pesan rahasia tersebut tidak dapat diketahui [1]. Setiap orang dapat menampilkan atau membuka media tersebut, namun tidak menyadari bahwa media tersebut telah dibubuhkan pesan rahasia oleh pengirim. Pada steganografi pesan disembunyikan dalam media yang umum dikenal yaitu image, audio, dan video, sehingga tidak menimbulkan kecurigaan. Teknik steganografi menggunakan dua media yang berbeda. Salah satu media berfungsi sebagai media yang berisikan informasi (pesan rahasia) dan media yang lain berfungsi sebagai pembawa informasi tersebut (cover) yang dapat berupa sebuah teks, gambar, suara, atau video. Steganografi memungkinkan penyembunyian data pada berbagai jenis media digital seperti berkas citra, suara, video, dan teks. Berdasarkan latar belakang yang ada, maka dirancang suatu aplikasi steganografi dengan menggunakan Metode Echo Hiding. Metode Echo Hiding dapat meminimalkan perubahan suara pada berkas audio dari pendengaran manusia [2]. Penelitian yang dilakukan lebih difokuskan untuk mengembangkan aplikasi steganografi yang dapat menyembunyikan informasi rahasia di dalam media audio, yang berformat .wav (wave). Penelitian yang dilakukan akan melihat apakah terjadi perubahan kualitas dan besar ukuran data pada file audio setelah melalui proses embedding dan ekstrasi pesan. Aplikasi yang dibangun bertujuan dapat membantu para pengguna untuk menjaga kerahasian data yang disisipkan dalam file audio. 2.
Tinjauan Pustaka
Penelitian sebelumnya pernah dilakukan dengan judul Watermarking pada file audio PCM WAVE dengan metode echo hiding, dimana dalam penelitian tersebut membahas teknik Watermarking pada audio dengan format .wav, serta aplikasi yang dibangun masih harus dikembangkan lagi karena hanya dapat menyisipkan berkas rahasia dengan ukuran kecil [3]. 1
Penelitian berjudul Iimplementasi Watermarking pada Suara Digital dengan Metode Data Echo Hiding yaitu penelitian yang mengunakan teknik watermarking dimana informasi hak cipta seperti waktu atau tanggal, dan pemilik hak cipta disembunyikan ke dalam suatu media digital [4]. Berdasarkan penelitian yang pernah dilakukan dengan metode Echo Hiding melalui media audio, maka dalam penelitian ini, akan dilakukan penelitian Steganografi yang mengunakan metode Echo Hiding yaitu penelitian mengenai proses penyisipan sebuah informasi yang disisipkan ke dalam sebuah berkas file audio sehingga pihak ketiga tidak menyadarinya. Setiap orang dapat menampilkan atau membuka file audio tersebut, namun tidak menyadari bahwa file audio tersebut telah disisipi pesan rahasia. Proses penyisipan informasi ke dalam file audio dilakukan dengan tidak merubah atau merusak kualitas file audio yang disisipi informasi. Media yang digunakan pada penelitian ini yaitu audio dengan format .Wav (Wave). Penelitian yang dilakukan membahas tentang steganografi. Steganografi adalah ilmu dan seni menyembunyikan pesan rahasia di dalam pesan lain sehingga keberadaan pesan rahasia tersebut tidak dapat diketahui. Steganografi berasal dari Bahasa Yunani, yaitu “steganos” yang artinya “tulisan tersembunyi (covered writing)” [1]. Teknik steganografi yang digunakan dalam penelitian ini, yaitu mengunakan algoritma echo hiding yaitu penyisipan sebuah informasi rahasia yang disisipkan ke dalam sebuah berkas file audio Wave sehingga pihak ketiga tidak menyadarinya. Echo hiding merupakan metode untuk menyembunyikan informasi di dalam file audio. Metode ini menggunakan echo yang ada di dalam file audio untuk mencoba menyembunyikan informasi. Data yang akan disembunyikan dalam bentuk echo dinyatakan dengan variasi dari tiga parameter, yaitu initial amplitude, decay rate, dan offset. Initial Amplitude menyatakan amplitudo asal dari data suara tersebut, decay rate menyatakan besar echo yang akan diciptakan, dan offset menyatakan jarak antara sinyal suara dengan echo dalam bentuk fasa sudut dalam persamaan analog. Apabila offset yang didapat dari sinyal asli dan echo selisihnya berkurang, maka kedua sinyal yang terbentuk ini akan bercampur atau menjadi satu. Hal ini menyebabkan echo yang terbentuk akan terdengar sebagai resonansi atau gema. Metode Echo Hiding menggunakan dua jenis decay waktu yang berbeda. Decay waktu yang pertama digunakan untuk mewakili bit 0, decay ini berasal dari offset. Sedangkan decay yang kedua digunakan untuk mewakili bit 1, decay ini berasal dari offset ditambah dengan delta. Untuk menentukan nilai dari decay waktu agar berada di bawah batas pendengaran manusia, maka perlu dilakukan penyesuaian terhadap nilai decay rate dan initial amplitude. Pada sinyal audio, gema muncul beberapa saat setelah bunyi asli keluar. Jika decay waktu antara bunyi asli dengan gema diperkecil, maka suara gema akan lebih sulit dipersepsikan oleh telinga manusia [5].
2
Gambar 1 Tiga Parameter Dalam Metode Echo Hiding [5]
Proses penyisipan pesan pada metode echo hiding menggunakan fungsi domain waktu yang merupakan fungsi Discrete Time Exponential. Yang membatasi dan membedakan masing-masing impulse ialah decay rate.
Gambar 2 Discrete Time Exponential [5]
Metode echo hiding menggunakan dua buah sinyal, sinyal pertama merepresentasikan sinyal asli dari berkas audio dan sinyal kedua merepresentasikan echo yang dibentuk. Gambar 3(a) menunjukkan kernel yang menyatakan fungsi untuk menyisipkan pesan yang mempunyai bit 1. Sedangkan Gambar 3(b) merupakan fungsi untuk menyisipkan pesan yang mempunyai bit 0. Sinyal yang menggunakan kernel satu dan kernel nol akan diproses dan menghasilkan sinyal seperti yang dapat dilihat pada Gambar 4.
Gambar 3 Echo Kernel [5]
3
Gambar 4. Proses Penghasilan Echo [5]
Pada Gambar 4 jarak (δb) merupakan jarak di antara sinyal asli dengan echo yang akan dibentuk. Jarak ini didapatkan dari kernel satu atau kernel nol yang terdapat pada Gambar 2. Kedua kernel ini menggunakan jarak yang berbeda, yaitu kernel satu menggunakan jarak (δ1), sedangkan kernel nol menggunakan jarak (δ0). Sinyal asli akan dipecah atau dibagi-bagi menjadi bagian kecil untuk melakukan peyisipan pesan yang terdiri lebih dari 1 bit. Setiap bagian yang ada dapat disisipkan dengan bit pesan dan dapat dianggap sebagai sebuah sinyal yang independen. Setelah dilakukan proses penyisipan pesan, maka bagian-bagian kecil sinyal asli tersebut akan digabungkan kembali untuk membentuk sinyal awal. Dalam proses penyisipan pesan dengan algoritma echo hiding, pesan disisipkan ke dalam sinyal asli dengan menambahkan echo. Echo dibuat dengan menggunakan satu dari dua echo kernel, yaitu kernel satu atau kernel nol. Bit 1 disisipkan dan dinyatakan dengan kernel satu dengan echo pada jarak (δ1), sedangkan bit 0 disisipkan dan dinyatakan dengan kernel nol pada jarak sebesar (δ0). Langkah-langkah penggunaan algoritma echo hiding dalam sistem adalah sebagai berikut: 1. Hitung jumlah bit audio penampung, kemudian hitung ukuran data pesan dan total binary data. 2. Sinyal asli dari audio penampung dipecah atau dibagi ke dalam segmensegmen yang lebih kecil yang panjangnya sama dengan pesan yang akan disembunyikan (Gambar 5).
Gambar 5. Sinyal Asli Audio Yang Dipecah [5]
4
3.
Sinyal yang baru dibentuk diaplikasikan menjadi dua bagian yaitu kernel 0 dan kernel 1 (Gambar 6).
(a) Sinyal audio
(b) “one” kernel
(c) “zero” kernel
Gambar 6. Echo Kernel [5]
4.
5.
6.
Untuk mencapai hasil yang tidak dapat didengar oleh pendengaran manusia, maka dibuat sinyal echo 1 dengan melakukan pembuatan echo pada sinyal asli menggunakan kernel 1 dan membuat sinyal echo 0 dengan menggunakan kernel 0 Sinyal echo 0 dan echo 1 dibentuk menjadi dua buah mixer. Mixer merupakan sinyal yang dipadatkan dari bit pesan yang akan disisipkan, terdiri dari 0 dan 1. Signal mixer 0 merupakan komplemen dari sinyal mixer 1, jumlah antara dua sinyal mixer tersebut selalu 1. Sinyal echo 0 dikalikan dengan sinyal mixer 0 sedangkan sinyal echo 1 akan dikalikan dengan sinyal mixer 1. Hasil perkalian dari masing-masing sinyal echo dan sinyal mixer ini kemudian dijumlahkan. Transisi antara masingmasing sinyal melandai dan akan memberikan transisi yang tidak kasar antara masing-masing bagian sinyal yang disisipkan dengan bit yang berbeda. Hal ini juga akan mencegah terlihatnya perubahan yang mencolok pada hasil gabungan sinyal (Gambar 7).
Gambar 7. Sinyal Dari Echo Yang Dikodekan [5]
5
3.
Metode dan Perancangan Sistem
Penelitian yang dilakukan, diselesaikan melalui tahapan penelitian yang terbagi dalam empat tahapan, yaitu: (1) Analisis kebutuhan dan pengumpulan data, (2) Perancangan sistem, (3) Implementasi sistem, dan (4) Pengujian sistem dan analisis hasil pengujian. Analisis Kebutuhan dan Pengumpulan Data
Perancangan Sistem
Implementasi Sistem
Pengujian Sistem dan Analisis Hasil Pengujian
Gambar 8 Tahapan Penelitian
Tahapan penelitian pada Gambar 8, dapat dijelaskan sebagai berikut. Tahap pertama: identifikasi masalah, yaitu mengidentifikasi masalah-masalah yang akan dibahas, serta mendapatkan data dan literatur yang terkait dengan metode echo hiding untuk proses embedding dan proses extracting. Tahap kedua: perancangan sistem yang meliputi perancangan proses pembagian data dari sebuah file wave untuk kemudian disisipi dengan teks dalam sistem yang akan dibangun. Tahap ketiga: implementasi sistem, yaitu membuat aplikasi sesuai perancangan identifikasi masalah, dan pengumpulan data perancangan sistem meliputi perancangan proses embedding dan proses extracting penyisipan pesan text dalam file audio, dan Tahap keempat: pengujian sistem dan analisis hasil pengujian, yaitu dilakukan pengujian terhadap pengaruh kualitas file audio wave setelah penyisipan file txt, pengujian integritas pesan, pengujian visualisasi frequensi dan pengujian pengaruh perbedaan file audio wave terhadap waktu proses. Data yang dimasukkan dalam file ini adalah sebuah file audio dengan format WAVE (waveform audio file format). Ukuran file audio yang akan digunakan tidak dibatasi. Data yang akan disteganografikan kemudian disisipkan ke dalam file audio berupa data berformat text file (.txt). Mekanisme kerja dari Echo Hiding secara garis besar terdiri dari dua bagian besar yaitu modul penyisipan dan modul pengekstrakan. Input dari proses penyisipan berupa sinyal audio, data dan yang terakhir adalah key. Key yang dimaksud dalam hal ini adalah parameter-parameter berupa nilai decay yang mewakili bit “0” dan “1” serta nilai skala dari sinyal echo yang akan dibuat. Saat 6
proses penyisipan berlangsung, maka key yang digunakan berfungsi sebagai acuan dalam melakukan proses pembuatan decay echo yang mewakili bit biner “0” dan “1”. Hasil dari operasi penyisipan ini adalah sebuah sinyal yang telah berisi data dan key (apabila ikut disisipkan) [5]. Sedangkan untuk proses pengekstrakan yang dibutuhkan hanya sinyal asli saja (apabila key sudah disisipkan dalam sinyal) atau sinyal asli beserta key yang harus di-input-kan. Pada proses pengekstrakan ini, proses yang dilakukan adalah kebalikan dari proses penyisipan, akan tetapi proses yang dilakukan tetap berdasarkan key yang di-input-kan. Apabila key yang di-input-kan salah, maka data yang berhasil diekstrak tidak sama dengan data aslinya [5]. Proses utama dalam sistem yang dibangun, dibedakan menjadi dua yaitu proses embedding dan proses extracting. Pada proses embedding, dilakukan proses penyembunyian file rahasia ke dalam audio. Sedangkan pada proses extracting, akan dilakukan proses extracting terlebih dahulu yaitu mengambil file rahasia yang tersembunyi dalam file audio selanjutnya file rahasia tersebut akan dilakukan proses extracting. Gambar 8 menunjukkan proses embedding pada sistem, dapat dijelaskan sebagai berikut. Proses dimulai dengan melakukan input data, data yang akan di-input berupa file audio. Setelah itu, dilakukan pengecekan jumlah bit pada file audio yang telah di-input pada proses sebelumnya. Langkah berikutnya adalah melakukan input pesan. Kemudian lakukan pengecekan ukuran file pesan dan jumlah binary datanya, selanjutnya dilakukan pengecekan untuk mengetahui besarnya echo yang terdapat pada file tersebut. Kemudian melakukan pengecekan total maksimum echo yang dapat disisipkan atau ditambahkan ke dalam file audio tersebut. Jika jumlah binary data lebih dari jumlah binary data file pembawa (audio) pesan tersebut, maka user akan diminta untuk memasukkan file audio yang baru. Jika ternyata jumlah binary data yang dimasukkan kurang atau sama dengan jumlah binary data file pembawa (audio), maka proses selanjutnya adalah melakukan proses penyisipan pesan pada audio, copy kembali bit pada echo untuk dijadikan audio. Buat sebuah audio baru yang berisi pesan dan file audio, proses selesai. Gambar 9 menunjukkan Proses Ekstraksi Sistem, dimulai dengan memasukkan audio yang telah termodifikasi (audio) ke dalam sistem. Kemudian akan dicek, apakah file audio tersebut berisi pesan rahasia atau tidak. Jika ternyata file audio tersebut tidak berisi pesan rahasia, maka pesan kesalahan akan ditampilkan dan user diminta memasukkan file audio yang baru. Jika terdapat data rahasia, maka proses ekstraksi data akan berjalan, lalu pisahkan bit pesan dengan bit audio. Setelah itu output file audio akan dipisahkan dari output pesan. Bentuk kembali audio, dan tampilkan pesan yang telah diekstraksi, proses selesai. Proses embedding dan proses extracting dalam bentuk flowchart, ditunjukkan pada Gambar 8 dan Gambar 9.
7
Start
Start
Input file audio
Input file audio
Hitung jumlah bit pada audio
Menampulkan pesan kesalahan Input data/pesan
Apakah ada data yang di sisipkan?
Hitung ukuran data/pesan Hitung total binary data Hitung total echo Hitung maksimum echo yang dapat ditambahkan
Tidak ya
Menampilkan kelebihan binary data
Baca Informasi L = Panjang data Hitung binary data
Ukuran file pesan <= file audio
Tidak
proses ekstraksi data/pesan Dari file audio
ya
Proses embedding data/pesan dengan file audio
Simpan pesan sebagai file baru Output audio
selesai
selesai
Gambar 8 Proses Embedding Sistem
Gambar 9 Proses Ekstraksi Sistem
Proses embedding data dalam sistem yang dibangun, dijelaskan sebagai berikut: Contoh 1: Audio : Music.wav (16 bit) Plaintext: abcdefg (7 byte) Diurutkan berdasarkan binary data: ‘b’ ‘c’ ‘d’ ‘e’ ‘f’ ‘g’ Character ‘a’ 110 110 110 110 110 110 110 0001 0010 0011 0100 0101 0110 0111 Maka hasil binary yang diperoleh character a,b,c,d,e,f,g adalah : 1100001 1100010 1100011 1100100 1100101 1100110 1100111 Selanjutnya, binary data diurutkan berdasarkan frekuensinya: Character ‘a’ ‘b’ ‘c’ ‘d’ ‘e’ ‘f’ ‘g’ 1 0 1 1 0 0 1 Frequency Binary
8
Gambar 10 Blok Sinyal Awal Berdasarkan Binary Data
Pada Gambar 10 sinyal asli dibagi menjadi tujuh bagian yang diberi label a, b, c, d, e, f dan g. Pada bagian a, c, d, dan g akan disisipkan bit 1. Untuk itu akan digunakan kernel 1 sebagai fungsi sistem pada setiap bagian tersebut. Demikian sebaliknya bit 0 akan disisipkan pada bagian b, e, dan f maka akan digunakan kernel 0 sebagai fungsi sistem pada bagian tersebut. Untuk mencapai hasil yang tidak dapat didengar oleh pendengaran manusia, maka dibuat sinyal echo 1 dengan melakukan pembuatan echo pada sinyal asli menggunakan kernel 1 dan membuat sinyal echo 0 dengan menggunakan kernel 0 sebagai fungsi sistem terhadap sinyal asli. Hasil dari sinyal-sinyal tersebut dapat dilihat pada Gambar 11.
Gambar 11 Pembuatan Sinyal Echo 1 Dan Sinyal Echo 0
Untuk menggabungkan dua sinyal tersebut, maka dibuat dua sinyal mixer. Sinyal mixer terdiri dari nol dan satu tergantung dari bit yang ingin disembunyikan pada bagian dari sinyal asli.
Gambar 12 Sinyal Mixer
Gambar 13 Proses Encoding Echo [5]
9
Sinyal mixer 0 kemudian dikalikan dengan sinyal echo 0 sedangkan sinyal mixer 1 dikalikan dengan sinyal echo 1, kemudian kedua hasil tersebut dijumlahkan. Sebagai catatan bahwa sinyal mixer 0 merupakan komplemen dari sinyal mixer 1 dan transisi antara masing-masing sinyal adalah bertahap atau melandai. Jumlah antara dua sinyal mixer tersebut selalu 1. Ini akan memberikan transisi yang halus antara masing-masing bagian yang dikodekan dengan bit yang berbeda, dan mencegah perubahan yang mencolok pada hasil gabungan sinyal. Proses Extracting dalam sistem yang dibangun, dijelaskan sebagai berikut: proses extracting dilakukan dengan membaca byte-byte pada file audio. Dari Contoh 1, diperoleh bit-bit pesan: 1
Frequency
0
1
1
0
0
1
Proses tersebut dilakukan sampai semua bit pesan terbaca. Untuk mengetahui panjangnya pesan, dilakukan dengan membaca informasi L (Gambar 9). Setelah semua bit terkumpul maka dilakukan proses extracting. Binary : 1100001 1100010 1100011 1100100 1100101 1100110 1100111 Maka diperoleh data asli: ‘b’ Character ‘a’ Binary
‘c’
‘d’
‘e’
‘f’
‘g’
110 110 110 110 110 110 110 0001 0010 0011 0100 0101 0110 0111
Untuk menandai bahwa suatu file memiliki pesan yang tersembunyi, maka pada file cover disisipi suatu bit marker. Bit marker ini digunakan pada saat proses ekstraksi. Pada awal proses ekstraksi, program akan memeriksa apakah file cover memiliki bit marker, jika benar, maka proses ekstraksi akan dilakukan. Dengan adanya bit marker, program tidak perlu membaca semua bit yang ada di dalam file cover, namun hanya beberapa bit awal. Pada program yang dikembangkan, bit marker yang digunakan adalah: 1
4.
1
0
0
1
0
1
0
Hasil dan Pembahasan
Aplikasi yang dibangun adalah aplikasi steganografi yang dapat menyamarkan file text (.txt) dan audio (.wav), yang terdiri dari 2 (dua) proses yaitu, proses embedding dan proses extracting. Hasil implementasi sistem berdasarkan perancangan yang telah dilakukan, dijelaskan sebagai berikut.
10
Gambar 14 Antarmuka Proses Embedding
Gambar 14 menunjukkan tampilan antarmuka aplikasi untuk proses embedding. Ada empat langkah yang harus dilakukan user dalam proses embedding: 1) memilih file audio, dengan memilih button browse pada textbox wave file, user dapat memilih file audio format wave; 2) memilih file/pesan yang ingin dirahasiakan berupa file txt, dengan memilih button browse pada textbox document file; 3) proses selanjutnya yaitu, user memilih tombol Embed untuk melakukan proses embedding; 4) setelah melakukan proses embedding, maka akan ditampilkan save embedded audio, user memilih direktori tempat penyimpanan audio yang telah disisipkan file/pesan, hingga ditampilkan message box audio saved, kemudian pilih button ok untuk menutup message box, dan proses embedding selesai. Kode Program 1 Library Echo Hiding 1. 2. 3. 4. 5. 6. 7. 8.
namespace EchoHiding.Library { public class EchoHiding { public static void Embed(string waveCoverFile, string waveStegoResultFile, string messageFile) { }
Kode Program 1 menjelaskan Library Echo Hiding yang digunakan untuk proses embedding. Pada Library Echo Hiding ada 3 parameter utama yang digunakan dalam proses embedding yaitu string waveCoverFile, string waveStegoResultFil dan string messageFile. String waveCoverFile mendeklarasikan objek string baru dengan pointer variabel WaveCoverFile yang menunjukkan file audio wave yang digunakan sebagai media penampung, String waveStegoResultFile mendeklarasikan objek string baru dengan pointer variabel waveStegoResultFile yang menunjukkan file audio wave yang sudah berisi embedded message, dan String messageFile mendeklarasikan objek string baru dengan pointer variabel messageFile yang menunjukkan file pesan.
11
Kode Program 2 Perintah Untuk Proses Embbeding 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
public static string OffSet = "11001010"; FileStream waveFileStream = new FileStream(mediaFile, FileMode.Open); FileStream destinationStream = new FileStream(resultFile, FileMode.Create); WaveStream baru = new WaveStream(waveFileStream, destinationStream); byte[ ] mediaBytes = new byte[baru.Length]; baru.Read(mediaBytes, 0, mediaBytes.Length); String binaryMessage = BuildBinaryMessage(key, documentFile); WriteEmbed(mediaBytes, binaryMessage); destinationStream.Write(mediaBytes, 0, mediaBytes.Length); public int HitungDokumenBit(string filename) { string DUMMYSTRING = "tester"; string binaryMessage = BuildBinaryMessage(DUMMYSTRING, filename); return binaryMessage.Length; }}
Kode Program 2 menjelaskan tahap proses embedding, digunakan untuk proses penyisipan pesan. Perintah baris 1 menjelaskan perintah untuk proses penandaan bit, dimana “BitsMarker” berfungsi sebagai penanda. Perintah FileStream waveFileStream = new FileStream digunakan untuk membaca file wave (perintah pada baris 2). Perintah WaveStream baru = new WaveStream digunakan untuk membaca stream dalam file wave (perintah pada baris 4). Kemudian untuk tiap byte pesan (tiap karakter), diubah ke dalam bentuk binary (perintah pada baris 7). Proses penyisipan ke dalam stream wave terjadi dengan menggunakan perintah pada baris 8. Penyimpanan hasil penyisipan ke file wave menggunakan perintah baris 9. Perintah baris 10-15 menjelaskan perintah untuk menghitung jumlah binary data.
Gambar 15 Antarmuka Proses Extracting
Gambar 15 merupakan tampilan antarmuka proses extracting. Ada empat langkah yang harus dilakukan user dalam proses extract: 1) browse pada textbox wave file untuk memilih file audio yang telah embedd; 2) selanjutnya pilih button extract, pada saat proses extract selesai akan ditampilkan button save as; 3) Selanjutnya user dapat memilih lokasi dimana ingin menyimpan file hasil ekstraksi dengan memilih button save as. Message box image saved ditampilkan kemudian pilih button ok untuk menutup message box, dan proses extract selesai. Ketika 12
proses ekstraksi selesai dijalankan, maka akan ditampilkan total time yang menunjukkan lama waktu yang digunakan untuk proses extracting. Kode Progam 3 Perintah untuk Proses Extracting 1. 2. 3. 4. 5. 6. 7. 8. 9.
FileStream waveFileStream = new FileStream(mediaFile, FileMode.Open); WaveStream baru = new WaveStream(waveFileStream); byte[ ] mediaBytes = new byte[baru.Length]; baru.Read(mediaBytes, 0, mediaBytes.Length); byte[ ] isi = ReadEmbed(mediaBytes);
private string StringToBinaryString(byte[] data) int messageBytesLength = ReadInteger(containers.GetRange(40 + nameBytesLength, 32).ToArray()); OnProgress(this, new ELSBEventArgs() { Current = 0 + nameBytesLength + 32 });
Kode Program 3 menjelaskan perintah untuk proses extracting. Pada proses ini akan dilakukan pengecekan terhadap file yang akan di-extracting terlebih dahulu. Perintah pada baris ke 1, dilakukan pembacaan file stego wave (file Wave yang telah disisipi file txt). Perintah pada baris ke 2-4 dilakukan pembacaan stream di dalam file wave. Perintah pada baris ke 5 dilakukan proses pembacaan embedded message. Perintah baris ke 6 menjelaskan perintah untuk merubah byte ke binary. Perintah baris ke 7-9 menjelaskan perintah untuk membaca panjang binary. Pengujian terhadap sistem steganografi yang dibangun, dilakukan dengan tujuan untuk melihat apakah sistem telah memenuhi konsep steganografi dengan metode echo hiding, terkait pengaruh ukuran file audio dan kualitas file audio. Pengujian sistem dilakukan dengan karakteristik spesifikasi komputer, yang terlihat pada Tabel 1. CPU RAM Hard-disk
VGA Sistem Operasi C# 2012 .net 4
Tabel 1 Spesifikasi Komputer Intel Core i5 620M 2.67 GHz 8 Gb 626 GB ATI Mobility Radeon HD 5650 with 1GB VRAM Windows 7 Home Premium 64-bit Microsoft Visual Studio 2012 Express
Pengujian pengaruh kualitas file audio wav (Pengujian 1), dilakukan untuk mengetahui kualitas suara dari File wave setelah dilakukan proses penyisipan file txt. Pengujian 1 dilakukan dengan cara melakukan penyisipan file txt dengan ukuran yang berbeda ke dalam file audio wave yang sama. Pengujian 1 akan menunjukkan apakah terjadi perubahan kualitas suara file audio wave setelah penyisipan file txt. Hasil pengujian 1 kepada 30 responden ditunjukkan pada Tabel 2. Tabel 2 Hasil Pengujian Kualitas File Audio Wave dengan Ukuran File Berbeda
No 1. 2. 3. 4. 5.
File audio Ade Musik.wav Musik.wav Musik.wav Musik.wav Musik.wav
Ukuran File Embeded 10 Kb 30 Kb 50 Kb 89,3 Kb 115 Kb 13
Ya 0 0 0 0 30
Respon Tidak 30 30 30 30 0
Berdasarkan hasil pengujian pada Tabel 2 dapat disimpulkan bahwa besar ukuran pesan (byte) yang disisipkan menyebabkan perubahan kualitas audio wave. Semakin besar ukuran pesan (byte), semakin berpengaruh terhadap kualitas file audio yang di-embedding. Pengujian Integritas Pesan (Pengujian 2), dilakukan dengan cara menghitung nilai hash/checksum dari pesan sebelum disisipkan dengan pesan setelah proses ekstraksi. Pesan dinyatakan utuh jika memiliki nilai yang sama. Perhitungan hash dilakukan dengan menggunakan algoritma MD5 [6]. Hasil pengujian 2 dapat dilihat pada Tabel 3. Tabel 3 Hasil Pengujian Integritas Pesan
File Audio Wave
File pesan
Hash awal
Hash akhir
Kesimpulan
Music.wav
Pesan Pesan1
Music.wav
Pesan2
Music.wav
Pesan3
Music.wav
Pesan4
3da4d498657c9a8b edd866b52bcab12e d6b7a8301168104e 22b51c969ce9ea64 77a557eeb347c23e 714c5b237cfce353 3ac62c7897eda8f1 17bfc45efbb7e777 64d93413e8e96a98 f0f327bbb52c5308
Utuh
Music.wav
3da4d498657c9a8b edd866b52bcab12e d6b7a8301168104e 22b51c969ce9ea64 77a557eeb347c23e 714c5b237cfce353 316831a125fd70f3 6ede1904fa7f84e6 64d93413e8e96a98 f0f327bbb52c5308
Utuh Utuh Utuh Utuh
Berdasarkan hasil pengujian 2 pada Tabel 3, dapat disimpulkan bahwa aplikasi steganografi yang dibangun berhasil menyisipkan pesan dan mengekstraksi pesan tanpa menyebabkan perubahan/kerusakan pada pesan. Pengujian Perbandingam Visualisasi Frequensi (Pengujian 3), dilakukan dengan cara membandingkan spectrum frequensi audio yang mempunyai noise dengan spectrum frequensi audio yang tidak mempunyai noise. Spectrum frequensi audio wave dicapture menggunakan adobe audition. Spectrum frequensi audio wave yang diujikan dapat dilihat pada Gambar 16 dan Gambar 17.
Gambar 16 Spectrum Frequensi Audio Yang Tidak Mempunyai Noise
14
Gambar 17 Spectrum Frequensi Audio Yang Mempunyai Noise
Berdasarkan hasil pengujian 3 pada Gambar 16 dan Gambar 17, Pengujian Perbandingan Visualisasi Frequensi, dapat disimpulkan bahwa dari spectrum frequensi audio wave terlihat jelas bahwa terjadi noise yang sangat banyak pada Gambar 15. Hal ini dikarenakan file txt yang disembunyikan sangat besar. Berbeda dengan Gambar 14 hampir tidak ada noise yang terlihat, hal ini dikarenakan file txt yang disisipkan ukurannya sangat kecil. Pengujian Pengaruh Perbedaan File Audio Wave Terhadap Waktu Proses (Pengujian 4), dilakukan dengan tujuan untuk mengetahui pengaruh perbedaan file audio wave terhadap waktu proses. Pengujian 4 dilakukan dengan menggunakan file audio wave yang mempunyai ukuran berbeda , dengan file pesan txt yang sama. Hasil pengujian 4 dapat dilihat pada Tabel 4, dan dalam bentuk Grafik pada Gambar 18. Tabel 4 Hasil Rata-Rata Pengujian Pengaruh Perbedaan Ukuran File Audio Wave Terhadap Waktu Proses
File Audio Wave
Ukuran File Audio Wave
Ukuran File Pesan (.txt)
Embedding (detik)
Extracting (detik)
Jangan menyerah.wav
36,6 Mb
239 Bytes
1,6140923
0,2260129
Sentuh hatiku.wav
48,2 Mb
239 Bytes
1,8421054
0,2930168
One way.wav
34,6 Mb
239 Bytes
1,6120922
0,210012
15
1,6140923 239 bytes
1,8421054 239 bytes
0,2930168
0,2260129
1,6120922 239 bytes
0,210012
Jangan menyerah.wav (36,6 MB)
Sentuh hatiku.wav (48,2 MB)
One way.wav (34,6 MB)
Extracting (detik)
0,2260129
0,2930168
0,210012
Embedding (detik)
1,6140923
1,8421054
1,6120922
239
239
239
Ukuran File Pesan (.txt)
2 1,8 1,6 1,4 1,2 1 0,8 0,6 0,4 0,2 0
EXRACTING
300 250 200 150 100 50 UKURAN FILE PESAN 0
EMBEDDING
Pengujian Pengaruh Perbedaan Ukuran File Audio Wave Terhadap Waktu Proses
Gambar 18 Grafik Pengujian Pengaruh Perbedaan File Audio Wave Terhadap Waktu Proses
Gambar 18 menunjukkan grafik pengujian 4, yaitu pengaruh perbedaan file audio wave terhadap waktu proses ukuran file audio wave sebagai sumbu X, lama proses sebagai sumbu Y. Kesimpulan dari hasil pengujian 4 adalah Ukuran file yang disisipkan serta ukuran media penampung, mempengaruhi waktu dalam proses embedding. Semakin kecil ukuran file audio wave, semakin cepat waktu yang diperlukan untuk melakukan proses penyisipan. Waktu untuk menyisipkan pesan lebih lama dari pada waktu yang dibutuhkan untuk mengekstrak kembali pesan dari audio. Hal ini disebabkan karena pada proses penyisipan, aplikasi perlu untuk menginisialisasi audio dan file yang akan disisipkan serta kemampuan memori komputer. Waktu yang diperlukan dalam proses ekstraksi jauh lebih pendek dari waktu yang dibutuhkan pada proses embedding. Pengujian Threshold Berdasarkan Ukuran File (Pengujian 5), dilakukan untuk mengetahui ambang batas (absolute threshold) ukuran file txt yang dapat diembedding. Pengujian Threshold Berdasarkan Ukuran File dilakukan dengan cara melakukan penyisipan file txt dengan ukuran yang berbeda ke dalam file audio wave. Pengujian 5 akan menunjukkan batas ambang ukuran file txt yang dapat diembedding. Hasil pengujian 5 dapat dilihat pada Tabel 5. File Audio Wave
Suviour King.wav
Tabel 5 Hasil Pengujian Threshold Berdasarkan Ukuran File Ukuran Embedding Extracting Ukuran Hasil Pengujian File File (detik) (detik) Pesan Subjektif Kesimpulan Audio (.txt) Wave 75,7 Mb
10 KB
43,7095
16
0,2870164
Baik
Diterima
Suviour King.wav
75,7 Mb
30 KB
128,49834 96
0,7190411
Baik
Diterima
Suviour King.wav
75,7 Mb
50 KB
209,15196 28
1,1480657
Baik
Diterima
Suviour King.wav
75,7 Mb
70 KB
296,77697 47
1,5920911
Baik
Diterima
Suviour King.wav
75,7 Mb
90 KB
382,93390 26
2,0291161
Buruk
Diterima
Suviour King.wav
75,7 Mb
110 KB
477,52131 26
2,4731414
Buruk
Diterima
Suviour King.wav
75,7 Mb
130 KB
570,29761 91
2,9001659
Buruk
Diterima
Suviour King.wav
75,7 Mb
150 KB
-
-
-
Pesan terlau Panjang. Kapasitas 1115082 bit, pesan 1219424 bit
Tabel 5 menunjukkan hasil pengujian threshold berdasarkan ukuran file , ukuran file audio wave yang diuji adalah 75,7 Mb dengan ukuran file pesan (.txt) 10 KB, 30 KB, 50 KB, 70 KB, 90 KB, 110 KB, 130 KB, 150 KB, dapat disimpulkan bahwa pengujian pada audio wave dengan ukuran file pesan 150 kb tidak dapat dilakukan karena jumlah bit pesan melebihi kapasitas bit yang tersedia. Jika ukuran pesan txt yang disisipkan melebihi kapasitas 1115082 bit maka proses embedding tidak dilakukan dan akan ditampilkan pesan kelebihan kapasitas. Hal ini dikarenakan file txt yang disembunyikan sangat besar. Grafik pencocokan kurva dari data pada Tabel 5 dapat dilihat pada Gambar 17 dan Gambar 18. E mb e d d i n g
Embedding (detik)
embedding
Poly. (embedding)
600 500 400 300 200 100 0
y = 0,0032x2 + 3,9339x + 5,2891 R² = 0,9999
0
20
40
60
80
Ukuran file pesan
Gambar 19 Grafik Proses Embedding
17
100
120
Ex t ract i ng extracting
3
Poly. (extracting) y = 4E-06x2 + 0,0214x + 0,0729 R² = 1
Eextracting (detik)
2,5 2 1,5 1 0,5 0 0
20
40
60
80
100
120
Ukuran file pesan
Gambar 20 Grafik Proses Extracting
Berdasarkan grafik pada Gambar 19 dan Gambar 20, koefisien determinasi yang paling baik (R2) yaitu mendekati atau sama dengan 1. Pencocokan kurva yang dilakukan dengan data pada Tabel 5 maka diperoleh: Proses embedding : y = 0,0032x2 + 3,9339x + 5,2891 (1) R² = 0,9999 Model pada Persamaan 1 menunjukkan waktu yang diperlukan dalam proses embedding (detik), gradien dari Persamaan 1 adalah 0,9999. Hal ini memberikan informasi bahwa ukuran file pesan yang akan disisipkan mempengaruhi waktu proses embedding. Hal ini terjadi karena kecepatan proses embedding tergantung pada besarnya pesan yang disembunyikan. Ketergantungan ini dikarenakan proses penyembunyian membutuhkan pembacaan media secara menyeluruh terlebih dahulu untuk menganalisis struktur berkas audio tersebut. Proses extracting : y = 4E-06x2 + 0,0214x + 0,0729 (2) R² = 1 Model pada Persamaan 2 menunjukkan waktu yang diperlukan dalam proses extracting (detik), gradien dari Persamaan 2 adalah 1. Hal ini memberikan informasi bahwa besar ukuran file stegano tidak terlalu mempengaruhi waktu proses extracting. 5.
Simpulan
Berdasarkan hasil penelitian, pembahasan, pengujian, dan analisis yang dilakukan, dapat disimpulkan sebagai berikut: 1) Hasil pengujian Kualitas File Audio Wave dengan Ukuran File Berbeda menunjukkan bahwa besar ukuran pesan (115 KB) yang disisipkan menyebabkan perubahan kualitas audio wave. Semakin besar ukuran pesan (byte), semakin berpengaruh terhadap kualitas file audio yang di-embedding; 2) Hasil pengujian Integritas Pesan, menunjukkan bahwa aplikasi steganografi yang dibangun berhasil menyisipkan pesan dan mengekstraksi pesan 18
tanpa menyebabkan perubahan/kerusakan pada pesan.; 3) File audio hasil embedding berupa spectrum frequensi audio yang tidak mempunyai noise menunjukkan hampir tidak ada noise yang terlihat, hal ini dikarenakan file txt yang disisipkan ukurannya sangat kecil, dibandingkan dengan spectrum frequensi audio yang mempunyai noise menunjukkan noise yang sangat banyak hal ini dikarenakan file txt yang disembunyikan sangat besar; 4) Proses embedding dengan ukuran file pesan 115 KB, 130 KB, dan135 KB, menunjukkan audio wave hasil embedding buruk atau noise pada file audio wave mulai kedengaran, hal ini disebabkan karena ukuran pesan txt yang disisipkan semakin besar; 5) Proses embedding dengan ukuran file pesan 150 KB tidak dapat dilakukan hal ini dikarenakan file txt yang disembunyikan sangat besar melebihi kapasitas 1115082 bit; 6) Pencocokan kurva proses embedding dengan persamaan y = 0,0032x2 + 3,9339x + 5,2891 memberikan informasi bahwa ukuran file pesan yang akan disisipkan mempengaruhi waktu proses embedding. Hal ini terjadi karena kecepatan proses Embedding tergantung pada besarnya pesan yang disembunyikan. Ketergantungan ini dikarenakan proses penyembunyian membutuhkan pembacaan media secara menyeluruh terlebih dahulu untuk menganalisis struktur berkas audio tersebut; 7) Pencocokan kurva proses extracting dengan persamaan y = 4E-06x2 + 0,0214x + 0,0729 memberikan informasi bahwa besar ukuran file stegano tidak terlalu mempengaruhi waktu proses extracting; Saran untuk pengembangan sistem ke depan adalah: 1) untuk pengembangan lebih lanjut diharapkan mendukung format lainnya seperti : midi, aac, mp3; 2) pada penelitian selanjutnya tidak hanya mengunakan satu metode saja, tetapi menggunakan lebih dari satu metode yang digabung menjadi satu, seperti metode Phase Coding dan Echo Hiding; 3) dalam proses penyisipan, file yang akan disisipkan tidak hanya terbatas pada format text, tetapi semua format file dapat disisipkan ke dalam file audio. 6.
Daftar Pustaka
[1]
Munir, Rinaldi, 2004, IF5054 Kriptografi Steganografi dan Watermarking, Jurnal, Bandung: Program Studi Teknik Informatika Bandung : Institut Teknologi Bandung. Hapsari, D. D. (2009). “Aplikasi Video Steganography “. 121. Sugiono, Judi Prajetno. 2008. “Watermarking Pada File Audio PCM Wave Dengan Metode Echo Hiding”. Jurnal, Bali: Konferensi Nasional Sistem dan Informatika. Bali Piarsa, I Nyoman. 2010. ” Implementasi Watermarkingpada Suara Digital Dengan Metode Echo Hiding”, Jurnal, Bali: Program Studi Teknologi Informasi Fakultas Teknik, Universitas Udayana Kampus Bukit Jimbaran, Bali. Bender, Walter, Daniel Gruhl, & N. Morimoto. 1996. Techniques for echo hiding. Ibm Systems Journal, Vol 35, Nos 3&4, 1996. Rivest, R., 1992, The MD5 Message-Digest Algorithm, RFC 1320.
[2] [3]
[4]
[5] [6]
19