Pembuatan Aplikasi Steganografi PVD .1 Alat dan Data

4.2 Implementasi

Aplikasi steganografy PVD pada penelitian dibuat menggunakan pemrograman script Matlab 6.5 dinamakan dengan m-file. Dibutuhkan lima buah script m-file dalam mengembangkan aplikasi tersebut. Dua script m-file merupakan isi program sebagai implementasi dari algoritme penyisipan pesan dan pengambilan pesan, tiga buah script m-file untuk mengimplementasikan grafik antarmuka. Script m-file untuk penyisipan pesan berjumlah 515 line number dan pengambilan pesan berjumlah 293 line number. Implementasi dalam pengerjaan persamaan 4 membutuhkan fungsi tersendiri yang dibuat dengan script m-file sebanyak 56 line number. Script m-file seluruhnya dapat dilihat pada lampiran 1. Lima buah file figure dibuat untuk pengembangan grafik antarmuka. Setiap komponen yang ada pada file figure tersebut dikendalikan oleh sebuah script m- file . File figure halaman depan membutuhkan script m-file sebanyak 118 line number , halaman penyisipan pesan embededmessage membutuhkan script m-file sebanyak 882 line number dan halaman pengambilan pesan extractmessage membutuhkan script m-file sebanyak 456 line number. Gambar 19 Halaman depan aplikasi steganografi PVD. Gambar 20 Halaman penyisipan pesan aplikasi steganografi PVD. Gambar 21 Halaman pengambilan pesan image aplikasi steganografi PVD. Gambar 22 Halaman pengambilan pesan teks aplikasi steganografi PVD.

4.3 Pengujian Aplikasi

Sebelum aplikasi digunakan, unit tes dilakukan untuk menguji aplikasi. Pengujian menggunakan menggunakan file cover48pix.bmp sebagai cover, file 4pixel.bmp sebagai pesan, dan file stego image disimpan dalam file stegoku1.bmp. Gambar 23 dan 24 merupakan visualisasi dari file-file tersebut. Gambar 23 File cover cover48pix.bmp dan pesan 4pixel.bmp Gambar 24 File stego image stegoku1.bmp Nilai piksel yang dimiliki file-file yang digunakan dalam unit tes adalah seperti yang tampak pada tabel 2, tabel 3. Tabel 2 Nilai piksel file cover48pix.bmp Layer: Red 137 125 131 136 123 123 124 255 255 147 129 177 154 135 148 137 255 255 139 135 150 185 142 140 255 255 137 123 230 169 148 150 255 181 137 123 135 132 133 150 255 255 255 255 255 255 255 255 Layer: Green 28 4 17 27 2 255 255 49 12 109 63 25 51 29 255 255 32 24 54 124 37 33 255 255 27 214 93 51 54 255 115 29 23 19 19 54 255 255 255 255 255 255 255 255 Layer: Blue 164 155 160 163 153 153 154 255 255 173 158 196 177 163 173 164 255 255 166 162 174 201 167 165 255 255 163 153 237 189 173 174 255 198 164 153 162 160 161 174 255 255 255 255 255 255 255 255 Tabel 3 Nilai piksel file 4pixel.bmp Layer: red Layer: green Layer: blue 244 33 34 234 255 255 255 255 255 Stego image yang dihasilkan dalam unit tes memiliki nilai piksel seperti yang disajikan pada tabel 4, 5, dan 6. Tabel 4 Nilai piksel layer red file stegoku1.bmp 135 127 130 138 128 119 62 317 233 169 134 173 160 129 147 138 255 255 139 135 150 185 142 140 255 255 137 123 230 169 148 150 255 181 137 123 135 132 133 150 255 255 255 255 255 255 255 255 Tabel 5 Nilai piksel layer green file stegoku1.bmp 32 1 17 27 6 -5 2 256 232 71 -3 124 61 26 51 29 255 255 32 24 54 124 37 33 255 255 27 214 93 51 54 255 115 29 23 19 19 54 255 255 255 255 255 255 255 255 Tabel 6 Nilai piksel layer blue file stegoku1.bmp 164 155 158 166 159 147 173 237 261 168 156 199 178 163 176 161 255 255 166 162 174 201 167 165 255 255 163 153 237 189 173 174 255 198 164 153 162 160 161 174 255 255 255 255 255 255 255 255 Aplikasi menggunakan fungsi newpixel newpixel.m untuk menghitung persamaan 4. Fungsi tersebut diuji kebenarannya dengan membuat sebuah script m-file testpxpy.m. Tabel 7 memperlihatkan nilai piksel dari output file testpxpy.m. Tabel 7 Output file testpxpy.m Data Input Data Output Pi,x Pi,y Pi,x Pi,y 137 125 135 127 131 136 130 138 123 123 128 119 124 255 62 317 255 147 233 169 129 177 134 173 154 135 160 129 Perbandingan nilai piksel dari kedua output yang dihasilkan yaitu output file stego image aplikasi fungsi newpixel dan output script m-file testpxpy.m membuktikan kebenaran algoritme aplikasi. Walaupun pada ujicoba ditemukan nilai-nilai piksel yang berada di luar jangkauan out of range yaitu berada di luar [0..255], namun hal ini sedikit sekali ditemukan sehingga secara visual tidak mempengaruhi pesan Luo et al. 2009. Apabila output file stego image disimpan dalam file stegoku1.bmp, nilai-nilai piksel yang berada di luar jangkauan dinormalisasi ke dalam format 24 bit. Tabel 8 menunjukkan nilai-nilai piksel yang dimiliki file stegoku1.bmp. Tabel 8 Nilai piksel file stegoku1.bmp Layer: Red 135 127 130 138 128 119 62 255 233 169 134 173 160 129 147 138 255 255 139 135 150 185 142 140 255 255 137 123 230 169 148 150 255 181 137 123 135 132 133 150 255 255 255 255 255 255 255 255 Layer: Green 32 1 17 27 6 2 255 232 71 124 61 26 51 29 255 255 32 24 54 124 37 33 255 255 27 214 93 51 54 255 115 29 23 19 19 54 255 255 255 255 255 255 255 255 Layer: Blue 164 155 158 166 159 147 173 237 255 168 156 199 178 163 176 161 255 255 166 162 174 201 167 165 255 255 163 153 237 189 173 174 255 198 164 153 162 160 161 174 255 255 255 255 255 255 255 255 Unit tes juga dilakukan pada proses ekstraksi pesan. File pesan yang disembunyikan pada file stego image stegoku1.bmp diekstrak sehingga didapatkan file pesan yang diinginkan. Hasil ekstraksi membuktikan bahwa aplikasi berjalan dengan benar dan dapat digunakan dalam melakukan penelitian.

4.4 Hasil dan Percobaan

Empat buah citra yang dijadikan sebagai cover pada penelitian ini masing- masing berukuran 512x512 piksel dan 256x256 piksel disajikan pada Gambar 25. Airplane.bmp Baboon.bmp Fractal.bmp Pepper.bmp Gambar 25 Citra bakal cover. Percobaan menggunakan dua pesan berbentuk plain teks dan empat pesan berbentuk image. Gambar 26 menyajikan image pesan yang digunakan. Barcode.bmp Flower.bmp Peta.bmp Sby.bmp Gambar 26 Citra pesan.

4.4.1 Filterisasi

Tahapan filterisasi dilakukan menggunakan Adobe Photoshop CS. Matriks kernel yang digunakan untuk customize filter pada penelitian ini adalah sebagai berikut. 1. Blur: 1 1 1 1 2 1 1 1 1 2 4 2 1 1 1 1 2 1 2. Sharpen: -1 -1 -1 -1 -1 9 -1 -1 5 -1 -1 -1 -1 -1 3. Emboss: -2 -1 -1 1 1 1 2 Sebelum sebuah citra diinput untuk dijadikan cover dalam aplikasi, citra- citra tersebut difilterisasi terlebih dahulu. Gambar 27, 28, 29, dan 30 merupakan hasil filterisasi yang dilakukan terhadap citra-citra bakal cover tersebut.

4.4.2 Hasil Percobaan

Citra cover yang digunakan pada penelitian ini yakni sebesar 256x256 piksel berukuran 192 Kilobyte KB dan cover 512x512 piksel berukuran 769 KB. Adapun pesan yang disisipkan berukuran 5 KB, 10 KB, 21 KB, 31 KB, 43 KB, 50 KB, 60 KB, 80 KB dan 100 KB.