7
3. Metode dan Perancangan Sistem
Metode perancangan yang dipakai dalam penelitian ini adalah Prototype Model. Bagan mengenai prototype model dapat dilihat pada Gambar 1.
Gambar 1 Bagan Prototype Model [5]
Tahap-tahap dalam Prototype Model adalah sebagai berikut: 1. Listen to Costumer; Pada tahap ini dilakukan analisis terhadap permasalahan
yang ada, yaitu mendapatkan data dan literatur yang terkait dengan proses embedding, ekstraksi, enkripsi dan dekripsi terhadap data teks pada audio,
menggunakan metode enhanced audio steganography EAS; melalui dokumen dan referensi yang ada.
2. Build; Selanjutnya setelah memperoleh data dan mengetahui proses enkripsi dan dekripsi dengan Enhanced Audio Steganography, langkah berikutnya
adalah membuat perancangan dengan menggunakan Unified Modeling Language UML mengenai sistem yang akan dibangun nantinya. Selain itu
dilakukan pula perancangan pada user interface dan algoritma.
3. Costumer Test; Pada Tahap ini dilakukan pengujian sistem, yaitu menjalankan proses implementasi sistem, dengan menguji pengaruh ukuran
data, waktu proses dan kualitas audio, serta melihat hasil yang diberikan apakah sudah sesuai dengan konsep Steganografi, dan algoritma kriptografi
Vigenere.
Perancangan Algoritma Enhanced Audio Steganography EAS
Algoritma Proses Embedding Data
Secara umum steganografi digunakan untuk menyembunyikan pesan atau data di dalam data lainnya. Untuk menyembunyikan pesan rahasia, tentunya
memerlukan media sebagai sarana penampung pesan rahasia tersebut. Dalam penelitian ini media penampung yang digunakan adalah objek berupa file audio.
Setelah menentukan media penampung, barulah dapat menyisipkan pesan rahasia ke dalam media penampung, agar dapat menyisipkan pesan rahasia ke dalam
media penampung tentunya membutuhkan sebuah algoritma yang dapat memodifikasikan objek menjadi objek yang baru dengan informasi rahasia di
dalamnya tanpa terjadi perubahan yang mencolok dari objek awalnya. Algoritma ini biasa disebut dengan algoritma embedding. Proses embedding ini dapat
dijelaskan sebagai berikut. File yang akan disisipkan dienkripsi terlebih dahulu. Aplikasi akan meminta pengguna untuk memasukkan kata kunci. Kemudian
8
hitung besar lokasi yang tersedia pada file WAV. File WAV yang digunakan sebagai media penyisipan harus memiliki jumlah byte bernilai 254 atau 255 yang
cukup untuk menampung file pesan. Proses berikutnya adalah proses penyisipan bit file pesan di LSB byte file media. Proses ini bersifat selektif karena penyisipan
hanya dilakukan pada byte file media yang bernilai 254 atau 255 saja. Selanjutnya pembacaan diteruskan lagi ke byte berikutnya. Proses tersebut diulangi sampai
semua bit file pesan selesai disisipkan. Setelah proses selesai, file WAV disimpan sebagai file baru. Proses embedding dalam bentuk flowchart, ditunjukkan pada
Gambar 2.
Gambar 2 Flowchart Proses Embedding
Algoritma Extracting Data
Proses yang terjadi sesuai algoritma extracting data adalah proses dekripsi dan dilanjutkan dengan proses extracting data. Data yang telah disisipkan akan
dikeluarkan terlebih dahulu, kemudian akan didekripsikan sehingga menghasilkan data rahasia yang diinginkan user. Proses extracting dapat dijelaskan sebagai
berikut. Proses extracting merupakan proses untuk membaca objek yang disisipkan di dalam media penampung. Ketika media penampung dimasukkan,
sistem akan membaca apakah ada data yang disisipkan atau tidak, jika tidak, proses akan selesai, tetapi jika ada data yang disisipkan, maka proses akan
Start Input Pesan
Input Audio IndexPesan = 0
Hitung lokasi yang tersedia Lokasi =
panjang message dalam bit array
IndexPesan panjangBitPesan
Byte = 254 atau Byte = 255
Baca byte audio selanjutnya
Simpan audio sebagai file baru
Ganti bit terakhir LSB dengan bit
pesan ke - IndexPesan
IndexPesan = IndexPesan + 1
Stop Ya
Ya
Ya Tidak
Tidak Tidak
Input Kunci Enkripsi Enkripsi Pesan
9
berlanjut dengan penyiapan penampung pesan. Sistem akan membaca panjang data yang disisipkan di dalam byte audio, dan mengecek apakah byte tersebut
bernilai 254 atau 255, mengecek apakah panjang penampung L variabel panjang pesan, kemudian proses pembacaan bit terakhir LSB dan disimpan ke
penampung pesan. Proses ini akan diulangi hingga semua bit selesai terbaca. Pesan yang didapat akan dilakukan proses dekripsi, kemudian disimpan sebagai
file baru, proses selesai dengan output document yang telah diekstrak. Proses extracting dalam bentuk flowchart, ditunjukkan pada Gambar 3.
Start Input media
Ada data yang telah
disisipkan? Siapkan
penampung Pesan
Byte 254 atau 255?
Panjang penampung
L Baca bit terakhir
LSB simpan ke penampung
Pesan
Simpan Pesan sebagai file baru
Stop Ya
Tidak
Ya Tidak
Baca informasi L=Panjang data
Baca Byte selanjutnya
Ya
Tidak Input Kunci
Dekripsi
Dekripsi Pesan
Gambar 3 Flowchart Proses Extracting
Perancangan Algoritma Vigenere
Dalam algoritma EAS, terdapat proses enkripsi, yang berfungsi untuk meningkatkan keamanan pesan yang disisipkan. Algoritma enkripsi yang
digunakan adalah Vigenere.
10
Mulai Input
Kunci Input
Data
C[i] = Data[i] + Kunci[i] 256 i Panjang
Data i=0
C= Array[Panjang Data]
Ya
i=i+1 Return C
Tidak
Selesai Modifikasi Kunci Sehingga panjang Kunci
sama dengan Panjang Data
Gambar 4 Flowchart Proses Enkripsi
Gambar 4 menjelaskan proses enkripsi yang memerlukan dua buah masukan yaitu Kunci dan Data. Keduanya dalam bentuk koleksi array. Sebelum
kunci dapat digunakan, kunci harus disusun sedemikian rupa sehingga panjangnya sama dengan panjang data yang akan dienkripsi. Penampung hasil enkripsi adalah
variabel C, yang juga berupa koleksi, dengan panjang elemen sama dengan panjang Data. Untuk setiap Data pada index ke i, dilakukan perhitungan Data[i] +
Kunci[i] modulus 256. Angka 256 adalah konstanta yang menunjukkan berapa banyak jumlah elemen pada satu baris Tabula Recta. Hasil perhitungan disimpan
pada variabel C index ke i. Selanjutnya nilai i dinaikkan sebesar 1. Proses pembacaan Data ini dilakukan sampai i mencapai nilai sama dengan Panjang
Data.
Gambar 5 menjelaskan proses dekripsi yang memerlukan dua buah masukan, yaitu Kunci dan Data. Keduanya dalam bentuk koleksi array. Sebelum
kunci dapat digunakan, kunci harus disusun sedemikian rupa sehingga panjangnya sama dengan panjang data yang akan didekripsi. Penampung hasil dekripsi adalah
variabel P. Untuk setiap Data dilakukan perhitungan sebagai berikut. Jika nilai Kunci index ke i lebih kecil dari nilai Data index ke i, rumus yang digunakan
adalah Data[i]-Kunci[i] modulus 256. Jika nilai Kunci index ke i lebih besar, rumus yang digunakan 256+Data[i]-Kunci[i] Modulus 256. Nilai 256 di depan
rumus, digunakan untuk menghindari nilai negatif.
11
Mulai Input
Kunci Input Data
i Panjang Data
i=0 P= Array[Panjang Data]
i=i+1 Return P
Tidak
Selesai Modifikasi Kunci Sehingga panjang Kunci
sama dengan Panjang Data
P[i] = Data[i] - Kunci[i] 256
Jika Kunci[i] Data[i]
P[i] = 256 + Data[i] - Kunci[i] 256
Ya Tidak
Ya
Gambar 5 Flowchart Proses Dekripsi
Rancangan Use Case Diagram
Use Case Diagram merupakan diagram yang memperlihatkan hubungan antara aktor dengan sistem [6]. Rancangan use case diagram dapat dilihat pada
Gambar 6.
Gambar 6 Use Case Diagram
Berdasarkan Gambar 6, dapat dilihat interaksi antara user dengan sistem, dimana terdapat dua user yaitu Embeddor dan Extractor. Embeddor dapat
melakukan input audio, input document, proses embedding, yang di dalamnya terdapat proses input key untuk enkripsi, serta dapat melakukan fungsi dari user
extractor. Extractor dapat melakukan input stego audio dan proses ekstraksi yang di dalamnya terdapat proses input key untuk dekripsi.
12
4. Hasil dan Pembahasan