s_d0551_0608512_chapter4

16
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)

Upload: imamhakamar

Post on 03-Dec-2015

217 views

Category:

Documents


0 download

DESCRIPTION

ANALISIS KEBUTUHAN CAIRAN

TRANSCRIPT

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.