10 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:
Frequency 1
1 1
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: Character
‘a’ ‘b’ ‘c’ ‘d’ ‘e’ ‘f’ ‘g’ Binary
110 0001
110 0010
110 0011
110 0100
110 0101
110 0110
110 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 1
1 1
4. 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.
11
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 filepesan 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 filepesan, 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 Embedstring 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.
12
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 FileStreammediaFile, FileMode.Open; FileStream destinationStream = new FileStreamresultFile, FileMode.Create;
WaveStream baru = new WaveStreamwaveFileStream, destinationStream; byte[ ] mediaBytes = new byte[baru.Length];
baru.ReadmediaBytes, 0, mediaBytes.Length; String binaryMessage = BuildBinaryMessagekey, documentFile;
WriteEmbedmediaBytes, binaryMessage; destinationStream.WritemediaBytes, 0, mediaBytes.Length;
public int HitungDokumenBitstring filename {
string DUMMYSTRING = tester; string binaryMessage = BuildBinaryMessageDUMMYSTRING, 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
13 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 FileStreammediaFile, FileMode.Open;
WaveStream baru = new WaveStreamwaveFileStream; byte[ ] mediaBytes = new byte[baru.Length];
baru.ReadmediaBytes, 0, mediaBytes.Length; byte[ ] isi = ReadEmbedmediaBytes;
private string StringToBinaryStringbyte[] data int messageBytesLength = ReadIntegercontainers.GetRange40 + nameBytesLength,
32.ToArray; OnProgressthis, 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.
Tabel 1 Spesifikasi Komputer
CPU
Intel Core i5 620M 2.67 GHz RAM
8 Gb Hard-disk
626 GB
VGA
ATI Mobility Radeon HD 5650 with 1GB VRAM Sistem Operasi
Windows 7 Home Premium 64-bit C 2012 .net 4
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 File audio Ade
Ukuran File Embeded
Respon Ya Tidak
1. Musik.wav
10 Kb 30
2. Musik.wav
30 Kb 30
3. Musik.wav
50 Kb 30
4. Musik.wav
89,3 Kb 30
5. Musik.wav
115 Kb
30
14 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 hashchecksum 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
3da4d498657c9a8b edd866b52bcab12e
3da4d498657c9a8b edd866b52bcab12e
Utuh Music.wav
Pesan1 d6b7a8301168104e
22b51c969ce9ea64 d6b7a8301168104e
22b51c969ce9ea64 Utuh
Music.wav Pesan2
77a557eeb347c23e 714c5b237cfce353
77a557eeb347c23e 714c5b237cfce353
Utuh Music.wav
Pesan3 316831a125fd70f3
6ede1904fa7f84e6 3ac62c7897eda8f1
17bfc45efbb7e777 Utuh
Music.wav Pesan4
64d93413e8e96a98 f0f327bbb52c5308
64d93413e8e96a98 f0f327bbb52c5308
Utuh
Berdasarkan hasil pengujian 2 pada Tabel 3, dapat disimpulkan bahwa aplikasi steganografi yang dibangun berhasil menyisipkan pesan dan mengekstraksi
pesan tanpa menyebabkan perubahankerusakan 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
15
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
16
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 di- embedding. 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 di- embedding. Hasil pengujian 5 dapat dilihat pada Tabel 5.
Tabel 5 Hasil Pengujian Threshold Berdasarkan Ukuran File
File Audio Wave
Ukuran File
Audio Wave
Ukuran File
Pesan .txt
Embedding detik
Extracting detik
Hasil Pengujian Subjektif
Kesimpulan Suviour
King.wav 75,7 Mb
10 KB 43,7095
0,2870164 Baik
Diterima 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 Ukuran File
Pesan .txt 239
239 239
0,2260129 0,2930168
0,210012 1,6140923
1,8421054 1,6120922
239 bytes 239 bytes
239 bytes
50 100
150 200
250 300
0,2 0,4
0,6 0,8
1 1,2
1,4 1,6
1,8 2
UKURAN FILE PESAN
E X
R A
C T
ING E
M B
E D
D IN
G
Pengujian Pengaruh Perbedaan Ukuran File Audio Wave Terhadap Waktu Proses
17
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.
Gambar 19 Grafik Proses Embedding
y = 0,0032x
2
+ 3,9339x + 5,2891 R² = 0,9999
100 200
300 400
500 600
2 0 4 0
6 0 8 0
1 0 0 1 2 0
Em b
ed d
in g
d eti
k
Ukuran file pesan
E m b e d d i n g
embedding Poly. embedding
18
Gambar 20 Grafik Proses Extracting
Berdasarkan grafik pada Gambar 19 dan Gambar 20, koefisien determinasi yang paling baik R
2
yaitu mendekati atau sama dengan 1. Pencocokan kurva yang dilakukan dengan data pada Tabel 5 maka diperoleh:
Proses embedding : y = 0,0032x
2
+ 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-06x
2
+ 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