Metode dan Perancangan T1 672007032 Full text

4

3. Metode dan Perancangan

Metode pengembangan sistem yang dipakai dalam penelitian ini adalah metode waterfall, dapat dilihat pada Gambar 2. Gambar 2. Metode Permodelan Waterfall [4] Adapun tahap-tahap metode pengembangan dalam perancangan aplikasi antara lain : 1. Penentuan dan Analisis Spesifikasi; Pada tahap ini dilakukan pengumpulan kebutuhan sistem secara lengkap. Setelah itu dilakukan analisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang dibangun. Adapun beberapa hal yang diperlukan sebelum membangun sistem adalah : 1 Masukan berupa citra GIF non animated; 2 Sofware pemrograman untuk menyusun kode dalam sistem; 3 Software image manipulation untuk melakukan pengujian terhadap media penampung; 4 Software pembanding gambar untuk melakukan perbandingan antara citra asli dan citra stego. 2. Desain sistem dan Perangkat lunak; Tahap ini terdiri dari proses desain sistem yang membagi kebutuhan-kebutuhan sistem perangkat lunak, termasuk menghasilkan fungsi sistem perangkat lunak dalam bentuk transformasi ke dalam satu atau lebih program yang dapat dijalankan. 3. Implementasi dan Uji Coba Unit; Pada tahap ini desain perangkat lunak diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrograman. Kemudian dilakukan pengujian terhadap unit program yang telah dibuat. Uji unit termasuk pengujian bahwa setiap unit sesuai spesifikasi. 4. Intergrasi dan uji coba system; Pada Tahap ini, unit program diintegrasikan dan diuji menjadi sistem yang lengkap untuk meyakinkan bahwa persyaratan perangkat lunak telah dipenuhi. 5. Operasi dan pemeliharaan; Ini adalah fase terpanjang dari proses sebelumnya. Sistem digunakan dan dilakukan pemeliharaan termasuk perbaikan kesalahan yang tidak ditemukan pada langkah sebelumnya. Analisis Kebutuhan Sistem Analisis kebutuhan sistem merupakan proses identifikasi dan evaluasi permasalahan-permasalahan yang ada, sehingga nantinya sistem yang dibagun sesuai dengan kriteria yang diharapkan. Tahapan analisis kebutuhan digunakan 5 untuk mengetahui kebutuhan sistem agar dapat bekerja dengan baik dan optimal, sehingga tidak terjadi kesalahan perancangan dan kerusakan pada program. Aplikasi steganografi menggunakan metode Gifshuffle, dibuat untuk memenuhi kebutuhan sebagai berikut: 1 Dapat melakukan embedding pesan terenkripsi pada citra berformat GIF; 2 Dapat melakukan ekstrak pesan terenkripsi yang tersimpan dalam stego image. Berdasarkan kriteria kebutuhan sistem, maka masukan yang diperlukan oleh sistem adalah sebagai berikut : 1 File gambar dengan format GIF sebagai media cover untuk embedding pesan; 2 Pesan rahasia yang berupa text dengan masukan segala karakter. Analisis keluaran berfungsi untuk mengetahui keluaran yang dihasilkan oleh sistem yang dibangun. Sistem yang dibangun ini akan menghasilkan keluaran dalam bentuk : 1 File stego image yaitu file gambar cover yang di dalamnya terdapat file rahasia yang telah di-embedding; 2 Pesan rahasia berupa teks yang telah diekstrak. Perancangan Sistem Perancangan sistem meliputi perancangan algoritma yang digunakan dalam sistem. Dalam penelitian ini menggunakan algoritma Vigenere Cipher, Sedangkan untuk steganografi menggunakan algoritma Gifshuffle. Algoritma steganografi digunakan untuk menambah tingkat keamanan algoritma kriptografi. Pembuatan aplikasi dalam penelitian ini menggunakan kriptografi untuk mengenkripsi pesan. Algoritma kriptografi yang digunakan adalah algoritma Vigenere Cipher dengan memanfaatkan Square Table Vigenere. Penerapan enkripsi algoritma Vigenere Contoh enkripsi dengan masukan plaintext “TEKNIKINFORMATIKA” dengan kunci “UKSW”, maka : 1. Plaintext = “TEKNIKINFORMATIKA” 2. Kunci = “UKSW” 3. Dilakukan enkripsi dengan kunci = UKSWUKSWUKSWU. Secara detil dapat dilihat pada Tabel 3. Tabel 3 Perubahan Kunci Vigenere T E K N I K I N F O R M A T I K A Plaintext U K S W U K S W U K S W U K S W U Kunci 4. c„T‟ = „T‟ + „U‟ mod 26 = L T = 51 dan U= 52  51+5296=7  „ c„E‟ = „E‟ + „K‟ mod 96 = p, dst Perancangan Steganografi Dengan Algoritma Steganografi Algoritma steganografi yang digunakan adalah algoritma Gifshuffle. Gifshufle memanfaatkan palet warna dari citra Gif. Algoritma Gifshuffle memiliki dua proses utama, yaitu proses encoding dan proses decoding. Contoh penyisipan pesan “T” ke dalam berkas GIF dengan jumlah warna pada palet warna sebanyak 6 buah, adalah sebagai berikut: 6 1. Pesan yang akan disisipkan adalah “T” yang diubah ke dalam bentuk biner dengan pengkodean ASCII menghasilkan bilangan biner : 1010100. Untuk mendapatkan nilai M disisipkan angka 1 pada rangkaian biner maka : 2. Jumlah warna pada palet warna citra tersebut adalah 6, maka apabila menggunakan cara pada halaman 4 proses encoding dapat dilakukan. Karena nilai m tidak lebih besar dengan n-1. 3. Urutan warna pada palet warna citra tersebut secara “natural” dapat dilihat pada Gambar 3. Gambar 3 Pengkonversian RGB ke Nilai Integer. Pada Gambar 3 ditunjukk an nilai “natural” dari beberapa warna, nilai tersebut didapat dari besar nilai RGB. Contoh pada warna A, nilai Red dalam heksadesimal adalah f7, dan dikonversikan ke dalam desimal menjadi 247, nilai Green dalam heksadesimal adalah 47 dan dikonversikan ke dalam desimal menjadi 71, dan nilai Blue dalam heksa-desimal adalah 47 dan dikonversikan ke dalam desimal menjadi 71. Berdasarkan nilai-nilai desimal tersebut didapat nilai “natural” dengan rumus berikut : Sehingga didapat nilai integer yaitu 16205639. Susunan palet warna setelah diurutkan berdasarkan besar nilai integer terkecil dapat dilihat pada Gambar 4. Gambar 4 Susunan Palet Warna Diurutkan berdasarkan Besar Nilai Integer. 4. Iterasi variabel i mulai dari 1 sampai n : Warna indeks ke- dipindahkan ke- . a Untuk Maka, warna indeks ke-5 dipindahkan ke indeks ke-0 pada susunan palet warna yang baru. b Untuk Maka, warna indeks ke-4 dipindahkan ke indeks ke-0 pada susunan palet warna yang baru. 7 c Untuk Maka, warna indeks ke-3 dipindahkan ke indeks ke-2 pada susunan palet warna yang baru. d Untuk Maka, warna indeks ke-2 dipindahkan ke indeks ke-0 pada susunan palet warna yang baru. e Untuk Maka, warna indeks ke-1 dipindahkan ke indeks ke-3 pada susunan palet warna yang baru. f Untuk Maka, warna indeks ke-0 dipindahkan ke indeks ke-1 pada susunan palet warna yang baru. 5. Pada tahap kelima, apabila ada beberapa warna yang menempati indeks yang sama, maka Setiap warna yang menempati indeks tersebut akan bergeser sekali ke indeks berikutnya. Susunan palet warna yang baru sesuai aturan tersebut dapat dilihat pada Gambar 5. Gambar 5 Susunan Palet Warna yang Baru Setelah Dilakukan Iterasi Terhadap Variabel i. 6. Urutan palet warna ini kemudian dimasukkan ke dalam berkas citra GIF untuk menghasilkan citra yang telah disisipi pesan. Untuk skema decoding berupa pembalikan dari skema encoding. Inti dari proses decoding adalah untuk mencari nilai . Setelah nilai diperoleh maka pesan asli dapat mudah didapat. Adapun langkah-langkah untuk mengekstrak kembali pesan dari sebuah citra GIF menggunakan algoritma Gifshuflle adalah sebagai berikut : 8 1. Masukkan nomor sesuai dengan posisi setiap warana pada palet warna citra GIF yang telah disisipkan pesan. 2. Warna diurutkan berdasarkan konversi RGB ke nilai integer dengan rumus : 3. diberi nilai 0. 4. Iterasi variabel dari 0 sampai . posisi warna ke- . Iterasi variabel dari sampai . Jika nilai posisi warna ke nilai posisi warna ke-i, maka posisi warna ke dikurangkan 1. 5. Setelah nilai diperoleh, maka nilai dikonversikan ke bilangan biner untuk memperoleh pesan asli. Berdasarkan contoh pada proses encoding, maka pesan asli dapat diekstrak dengan mengikuti langkah-langkah berikut: 1. Warna pada palet warna diberikan nomor sesuai dengan posisinya. Lebih jelasnya dapat dilihat pada Gambar 6. Gambar 6 Penomoran Posisi Palet Warna. 2. Nilai natural setiap warna dapat dilihat pada Gambar 7. Gambar 7 Nilai Natural Setiap Warna Kemudian diurutkan berdasarkan nilai integer terkecil, maka posisi palet warna baru terdapat pada Gambar 8. Gambar 8 Urutan Palet Warna Baru Berdasarkan Nilai Integer Terkecil. 3. diberi nilai 0. 4. Iterasi variabel i dari 0 sampai 5. posisi ke-i. Iterasi variabel j dari i+1 sampai 5. Jika nilai posisi warna ke nilai posisi warna ke-i, maka posisi warna ke dikurangkan 1. a Untuk 9 posisi ke-0 o Untuk Posisi ke-1 posisi ke-0 , ya maka posisi ke- o Untuk Posisi ke-2 posisi ke-0 , tidak o Untuk Posisi ke-3 posisi ke-0 , ya maka posisi ke- o Untuk Posisi ke-4 posisi ke-0 , tidak o Untuk Posisi ke-5 posisi ke-0 , ya maka posisi ke- 1 2 3 4 5 i Warna C Warna E Warna D Warna F Warna A 4 3 1 2 Posisi b Untuk o Untuk Posisi posisi , tidak o Untuk Posisi posisi , tidak o Untuk Posisi posisi , tidak o Untuk Posisi posisi , tidak 2 3 4 5 i Warna E Warna D Warna F Warna A 3 1 2 Posisi c Untuk 10 o Untuk Posisi posisi , ya maka posisi ke- o Untuk Posisi posisi , ya maka posisi ke- o Untuk Posisi posisi , ya maka posisi ke- 3 4 5 I Warna D Warna F Warna A 2 1 Posisi d Untuk o Untuk Posisi posisi , tidak o Untuk Posisi posisi , tidak 4 5 I Warna F Warna A 1 Posisi e Untuk o Untuk Posisi posisi , ya maka posisi ke f Untuk 5. Angka 1 dalam rangkaian biner dihilangkan, maka : 11 T Perancangan Proses Perancangan proses menggunakan Unified Modeling Language UML. Langkah pertama yang dilakukan untuk memetakan fungsionalistas adalah dengan menyusun use case diagram. Encoder f rom Actors Decoder f rom Actors Pilih Gambar Set Password Kripto Input passwordStego Change passwordKripto Menulis pesan Mendapat pesan SetPasswordStego cekTabelViginere Input PasswordKripto Change passwordStego Gambar 9 Use Case Diagram Sistem Use case diagram sistem pada Gambar 9, terdiri dari dua aktor yaitu Encoder dan Decoder. Kedua aktor tersebut memiliki hak untuk memilih gambar. Untuk aktor Encoder sendiri memiliki hak untuk menulis pesan, menggunakan cekTabelVigenere, SetPasswordStego dan Set PasswordVigenere. Dalam kedua SetPassword terdapat generalisasi ChangePassword. Sedangkan untuk aktor Decoder sendiri berhak melakukan input passwordStego dan passwordKripto dan terakhir Mendapat Pesan.

5. Pembahasan