Metode dan Perancangan Sistem

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