s_d0551_0608512_chapter4
DESCRIPTION
ANALISIS KEBUTUHAN CAIRANTRANSCRIPT
38
BAB IV
HASIL PENELITIAN DAN PEMBAHASAN
4.1 Analisis Kebutuhan Sistem
Analisis sistem dilakukan untuk lebih memahami sistem yang akan dibuat
selanjutnya, dalam hal ini untuk lebih mengerti mengenai informasi yang ada,
fungsi-fungsi yang terdapat dalam sistem serta bagaimana performa sistem
tersebut. Hasil analisis tersebut akan digunakan sebagai acuan untuk proses
pemecahan masalah yang ada, sehingga akan mampu memberikan alternatif
solusi. Dalam pencarian solusi ini sistem dituntut untuk dapat memenuhi
spesifikasi yang dibuat agar mampu memberikan hasil yang optimal.
4.2.1 Algoritma Gifshuffle pada Berkas GIF
Untuk menyesaikan permasalahan steganografi pada citra GIF
menggunakan model algoritma gifshuffle. Model yang dikembangkan meliputi :
4.1.1.1. Encoding
1. Input Gambar
Langkah pertama yang dilakukan adalah menentukan citra yang akan
digunakan sebagai media penampung pesan. Sistem memproses citra
dengan ekstensi *.gif 8bit, Jika citra berupa GIF non-transparant, data
akan dimuat dan dilanjutkan menuju proses selanjutnya.
Spesifikasi proses dapat dilihat pada dokumen teknis hal 17 (baris 1 -
3)
39
2. Pengambilan nilai palet.
Setelah menentukan citra, sistem akan mengambil nilai palet
berdasarkan posisi indeks palet tersebut dengan cara menghitung
jumlah warna yang terkandung dalam berkas GIF yang ingin
disisipkan. Namakan jumlah yang diperoleh ini sebagai N.
Spesifikasi proses dapat dilihat pada dokumen teknis hal 17 (baris 4 -
12)
3. Konversi Nilai Palet
Konversi setiap warna dengan format RGB (Contoh: #0000FF) ke
bilangan integer dengan aturan (merah* 65536 + hijau * 256 + biru ).
Kemudian diurutkan berdasarkan besar bilangan interger yang
mewakili warna tersebut dari kecil ke besar. Warna yang sama
dihapus, untuk menghilangkan duplikasi.
Spesifikasi proses dapat dilihat pada dokumen teknis hal 18 (baris 13 -
17)
4. Input pesan
Proses yang dilakukan user berupa pesan yang akan disisipkan dengan
format text (*.txt), berukuran maksimal 209 karakter yaitu 202
karakter untuk pesan dan 7 karakter untuk password. Pesan dan
password tersebut akan diubah ke dalam bentuk biner dengan
representasi 1 dan 0.
Asumsikan kumpulan representasi biner yang tadi diperoleh sebagai
sebuah angka. Biasanya langkah ini akan menghasilkan sebuah
40
bilangan yang sangat besar karena konversi diperoleh dari biner yang
besar. Namakan bilangan yang diperoleh ini sebagai M.
Spesifikasi proses dapat dilihat pada dokumen teknis hal 17 (baris 18 -
38)
5. Encode
Lakukan iterasi terhadap variabel i dengan nilai i dari 1 sampai N.
Setiap warna dengan urutan N-i dipindahkan ke posisi baru kemudian
cari M selanjutnya. Dengan rumus dibawah ini.
N : jumlah palet
M : jumlah pesan
Iterasi M mod i (to N)= posisi baru
M div i (to N)= nilai M iterasi selanjutnya
Masukkan palet warna baru hasil iterasi pada langkah diatas ke dalam
palet warna berkas GIF. Apabila ada sebuah tempat yang diisi oleh 2
buah warna, maka warna yang sebelumnya menempati tempat tersebut
akan digeser satu tempat berikutnya.
Apabila besar dari palet warna yang baru lebih kecil dari 256, maka
palet warna berikutnya akan diisi dengan warna terakhir dari palet
warna sebelumnya. Kemudian palet warna yang baru pada berkas GIF
menghasilkan berkas GIF yang baru dengan ukuran dan citra yang
sama namun telah disisipi pesan.
41
Spesifikasi proses dapat dilihat pada dokumen teknis hal 19 (baris 39 -
58)
4.1.1.2.Decoding
Stego Image atau citra yang telah berisi pesan rahasia kemudian
dimasukkan dalam proses decoding. Berikut adalah penjelasan proses decoding
algoritma Gifshuffle :
1. Input gambar
Dimulai dengan load citra stego, yaitu citra yang telah disisipkan
pesan sebelumnya.
Spesifikasi proses dapat dilihat pada dokumen teknis hal 17 (baris 1 -
3)
2. Pengambilan nilai palet
Hitung jumlah warna yang terkandung dalam citra stego. Namakan
jumlah yang diperoleh ini sebagai N.
Spesifikasi proses dapat dilihat pada dokumen teknis hal 17 (baris4
s/d 12)
3. Konversi nilai palet
Salin palet warna gambar yang telah disisipi pesan. Setiap warna
dengan format RGB dikonversikan ke bilangan integer dengan aturan
(merah* 65536 + hijau * 256 + biru ). Sedangkan warna yang sama
dihapus.
Spesifikasi proses dapat dilihat pada dokumen teknis hal 18 (baris 13 -
17)
42
4. Decode
Anggap pesan sebagai bilangan M, dengan nilai awal 0.
Lakukan iterasi terhadap variabel i dengan nilai i dari N sampai 1.
Untuk mencari nilai asli M, M dikali i, kemudian M ditambahkan
posisi palet warna yang memiliki nilai konversi terkecil. Palet warna
yang telah diiterasi pada langkah 5 kemudian dihapus dan palet warna
berikutnya digeser satu tempat sebelumnya.
Kemudian konversikan bilangan M ke dalam bentuk biner.
Pada pesan biner diambil tiap 8 karakter untuk dikonversi menjadi
desimal suatu karakter tertentu. Kumpulan karakter tersebut
merupakan pesan yang ada di dalam image GIF.
Spesifikasi proses dapat dilihat pada dokumen teknis hal 19 (baris 59 -
72)
4.2. Analisis Kebutuhan Perangkat Lunak
Pada tahap awal dilakukan analisis kebutuhan, proses ini dilakukan untuk
mengetahui proses informasi, model, dan spesifikasi dari sistem yang dibutuhkan.
4.2.1 Deskripsi Umum Perangkat Lunak
Perangkat lunak yang digunakan sebagai implementasi penelitian ini
adalah applikasi penyembunyian pesan menggunakan algoritma gifshuffle
(AGISHA). Perangkat lunak ini mempunyai fungsi sebagai berikut :
43
1. Menerima inputan data berupa data gambar sebagai media sisipan dan
data pesan rahasia yang akan disisipkan.
2. Melakukan teknik steganografi dengan menggunakan algoritma
gifshuffle.
3. Menampilkan perubahan susunan palet warna padafagambar yang telah
disisipkan .
4. Menyimpan gambar yang telah disisipkan.
5. Mengurai kembali pesan yang telah disisipkan pada gambar.
4.2.2 Batasan dan Asumsi Analisis
Berdasarkan analisis yang telah dilakukan, beberapa batasan dan asumsi
yang akan diterapkan dalam mengimplementasikan perangkat lunak yang akan
dibangun antara lain:
1. Media steganografi yang dapat diproses merupakan berkas citra
berformat GIF non-transparant.
2. Pesan yang dapat disisipkan merupakan pesan berformat txt dengan
ukuran maksimal 209 karakter .
4.2.3 Analisis Proses Bisnis
Tahapan pertama yang dilakukan seorang user dalam menjalankan aplikasi
penyisipan pesan ini adalah memasukan data data yang digunakan dalam proses
penyisipan pesan. Data data yang digunakan dalam penyisipan pesan adalah data
gambar, data pesan, dan password.
Tahapan selanjutnya adalah proses perangkat lunak menyisipkan pesan
dengan menggunakan algoritma gifshuffle. Proses penyisipan yang dilakukan akan
44
disimpan dengan merubah posisi palet warna gambar tersebut, sehingga media
sisipan tidak akan berubah secara kualitas maupun kuantitas (ukuran).
Setelah proses penyisipan pesan, user dapat menampilkan dan mengurai
kembali pesan didalam gambar tersebut.
Gambar 4. 1 Deskripsi Umum
4.2.4 Model Proses Perangkat Lunak
Model proses yang di buat berdasarkan analisis proses bisnis dijelaskan
bahwa user akan memasukan gambar, pesan dan password. Selanjutnya perangkat
lunak akan mengolah data data tersebut menjadi gambar yang tlah disisipkan
pesan.
Model diatas dapat dimodel melalui Context diagram serta Data Flow
Diagram (DFD) dalam berbagai level. Penjelasan lengkap mengenai DFD level 0,
DFD level 1 serta Perancangan Perangkat Lunak dapat dilihat pada Dokumen
Teknis.
4.3. Pembahasan
Pada pengujian ini menggunakan media
kedalaman warna citra
Sedangkan teks yang disisipkan dalam
kapasitas sebesar 202
Gambar 4.
Setelah dilakukan penyisipan pesan maka citra
banyak mengalami perubahan hal ini terlihat dari gambar
mengalami penyisipan pesan. Tidak
serta Perancangan Perangkat Lunak dapat dilihat pada Dokumen
Pada pengujian ini menggunakan media citra dengan format
citra sebesar 8bit, resolusi 128x128dan kapasitasnya
Sedangkan teks yang disisipkan dalam citra diambil dari berkas teks dengan
202 bytes.
Gambar 4. 2 Berkas citra sebagai media penampung
dilakukan penyisipan pesan maka citra dengan format GIF tidak terlalu
galami perubahan hal ini terlihat dari gambar
mengalami penyisipan pesan. Tidak terlihat perbedaan sama sekali.
45
serta Perancangan Perangkat Lunak dapat dilihat pada Dokumen
dengan format GIF dengan
kapasitasnya 17,5 Kb.
diambil dari berkas teks dengan
Berkas citra sebagai media penampung
dengan format GIF tidak terlalu
4.3 yang telah
hat perbedaan sama sekali.
Dari gambar 4.2 dan gambar
palet warna citra asli dan citra stego
masih belum dapat dideteksi oleh mata manusia.
warna yang berubah d
Gambar 4. 4
Gambar 4. 3 Citra yang telah disisipi pesan
dan gambar 4.3 dapat dilihat bahwa dalam aplikasi ini
citra asli dan citra stego yang diakibatkan oleh penyisipan pesan
masih belum dapat dideteksi oleh mata manusia. Berikut ini adalah posisi
yang berubah dari citra asli menjadi citra stego:
4 Posisi palet warna dalam citra asli yang telah diurutkan
berdasarkan besar integernya.
46
yang telah disisipi pesan
dalam aplikasi ini perubahan
yang diakibatkan oleh penyisipan pesan
Berikut ini adalah posisi palet
citra asli yang telah diurutkan
47
Gambar 4. 5 Posisi palet warna dalam citra stego.
Tabel 4.1 menunjukkan posisi nilai RGB palet citra asli sebelum diurutkan
(A) berdasarkan aturan, merah (R) * 65536 + hijau * 256 + biru, setelah RGB
dikonversi ke aturan tersebut, kemudian diurutkan berdasarkan besar integer yang
mewakili warna tersebut dari yang terkecil ke besar (B).
48
Tabel 4. 1 Posisi nilai palet citra asli sebelum dan sesudah diurutkan dari kecil
ke besar berdasarkan besar integer
No R G B Integer Posisi Awal
(A) Posisi Akhir
(B) 0 0 0 0 0 0 0 1 4 4 4 263172 1 1 2 4 4 12 263180 2 2 3 4 15 4 265988 3 5 4 6 36 5 402437 4 245 5 10 6 21 656917 5 238 6 12 4 4 787460 6 167 7 12 4 12 787468 7 7 8 12 63 6 802566 8 111 9 15 18 29 987677 9 137 10 16 13 12 1051916 10 226 … ... ... ... ... ... ... 245 223 240 107 14676075 245 78 246 223 247 134 14677894 246 151 247 225 147 109 14783341 247 15 248 230 241 161 15135137 248 208 249 233 228 109 15328365 249 45 250 236 175 139 15511435 250 49 251 238 205 179 15650227 251 71 252 238 230 226 15656674 252 204 253 238 234 132 15657604 253 91 254 255 255 255 16777215 254 57
Setelah palet citra diurutkan dari terkecil ke besar berdasar nilai konversinya,citra
dapat disisipi pesan (encoding). Pada proses encoding dilakukan iterasi terhadap
variabel i dengan nilai i dari 1 sampai jumlah palet (N), setiap warna dengan
urutan N-i dipindahkan ke posisi baru yaitu hasil dari desimal pesan di mod
i,kemudian desimal pesan di div i. Iterasi ini dilakukan berulang sampai desimal
pesan habis. Apabila satu posisi diisi dua warna, warna yang sebelumnya digeser
49
satu tempat ke berikutnya. Dan tabel 4.2 menunjukkan posisi palet citra yang telah
diurutkan (B) dan posisi palet citra yang telah disisipkan pesan (C).
Tabel 4. 2 Posisi nilai palet citra asli yang telah diurutkan dan posisi palet citra
setelah di-encoding
No R G B Integer Posisi Awal
(B) Posisi Akhir
(C) 0 0 0 0 0 0 0 1 4 4 4 263172 1 1 2 4 4 12 263180 2 2 3 87 24 10 5707786 48 3 4 91 136 39 5998631 59 4 5 4 15 4 265988 3 5 6 53 90 36 3496484 25 6 7 12 4 12 787468 7 7 8 114 191 83 7520083 92 8 9 56 8 8 3672072 26 9 10 138 201 122 9095546 148 10 … ... ... ... ... ... ... 245 6 36 5 402437 4 245 246 151 165 89 9938265 161 246 247 155 63 62 10174270 177 247 248 102 173 39 6728999 68 248 249 184 220 122 12115066 209 249 250 201 230 89 13231705 231 250 251 137 198 103 9029223 141 251 252 74 160 55 4890679 42 252 253 91 91 47 5987119 58 253 254 167 200 88 10995800 189 254 255 167 200 88 10995800 189 255
Dari tabel 4.2, palet warna menjadi 256 sedangkan palet citra asli hanya
255. Ini terjadi karena dalam proses encoding, apabila besar palet warna yang
baru lebih kecil dari 256, maka palet warna berikutnya akan diisi dengan palet
50
warna terakhir dari palet warna hasil encoding. Jadi palet ke-256 diisi sama
seperti palet ke-255.
4.4. Pengujian Ketahanan Media Penampung
Karakteristik steganografi yang baik adalah imperceptibility tinggi, fidelity
tinggi, recovery maksimum dan robustness tinggi (Kusnendar, 2009).
Berdasarkan kriteria penilaian tersebut, disini akan dibahas tentang pengujian
Robustness (ketahanan terhadap berbagai operasi manipulasi yang dilakukan pada
media penampung) berkas citra yang telah disisipi pesan. Pengujian dilakukan
untuk melihat apakah pesan yang disisipkan masih dapat diekstrak meskipun citra
stego mengalami beberapa perubahan. Beberapa pengujian yang dilakukan adalah
1. Vertikal Flip
Vertikal flip adalah teknik untuk membalik sebuah gambar secara vertikal.
Gambar 4. 6 Citra stego di-vertikal flip
Setelah citra stego dilakukan perubahan secara vertikal flip ternyata pesan
dapat diekstraksi lagi. Karena palet citra tidak berubah setelah dilakukan vertikal
flip, seperti ditunjukkan pada gambar 4.7 :
51
Gambar 4. 7 Palet warna Citra stego di-vertikal flip
2. Rotation
Rotasi adalah teknik pembalikan gambar dengan derajat tertentu. Gambar
di bawah ini mengunakan rotasi dengan 90 derajat.
Gambar 4. 8 Citra stego dirotasi 90 derajat
Setelah citra stego dilakukan perubahan dengan cara dirotasi 90 derajat
ternyata pesan dapat diekstraksi lagi. Karena palet citra tidak berubah setelah
dilakukan rotasi, seperti ditunjukkan pada gambar 4.9 :
52
Gambar 4. 9 Palet warna citra stego setelah dirotasi 90 derajat
3. Penambahan efek Grayscale
Grayscale adalah perubahan warna agar mendekati hitam-putih.
Contohnya adalah gambar dibawah ini.
Gambar 4. 10 Citra stego diberi efek Grayscale
Setelah citra stego dilakukan penambahan efek grayscale ternyata pesan
tidak dapat diekstraksi lagi. Karena palet citra berubah setelah dilakukan
penambahan efek grayscale, seperti ditunjukkan pada gambar 4.11 :
53
Gambar 4. 11 Palet warna citra stego setelah diberi efek grayscale
Dari beberapa percobaan diatas diperoleh informasi bahwa pesan yang
disisipkan pada citra stego berhasil untuk diekstraksi apabila media gif yang
digunakan dikenai perubahan dengan cara di-flip dan di-rotasion. Namun ketika
media gif dikenai penambahan efek grayscale, ternyata pesan yang disisipkan
gagal untuk diekstraksi kembali. Hal ini terjadi karena palet warna ikut berubah
ketika sebuah berkas citra GIF diberi penambahan efek grayscale.