Anda di halaman 1dari 16

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)

38

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,

45

DFD level 1 serta Perancangan Perangkat Lunak dapat dilihat pada Dokumen
Teknis.

4.3. Pembahasan
Pada pengujian ini menggunakan media citra dengan format GIF dengan
kedalaman warna citra sebesar 8bit, resolusi 128x128dan kapasitasnya 17,5 Kb.
Sedangkan teks yang disisipkan dalam citra diambil dari berkas teks dengan
kapasitas sebesar 202 bytes.

Gambar 4. 2 Berkas citra sebagai media penampung

Setelah dilakukan penyisipan pesan maka citra dengan format GIF tidak terlalu
banyak mengalami
galami perubahan hal ini terlihat dari gambar 4.3 yang telah
mengalami penyisipan pesan. Tidak terlihat
hat perbedaan sama sekali.

46

Gambar 4. 3 Citra yang telah disisipi pesan

Dari gambar 4.2 dan gambar 4.3 dapat dilihat bahwa dalam aplikasi ini perubahan
palet warna citra asli dan citra stego yang diakibatkan oleh penyisipan pesan
masih belum dapat dideteksi oleh mata manusia. Berikut ini adalah posisi palet
warna yang berubah dari
d citra asli menjadi citra stego:

Gambar 4. 4 Posisi palet warna dalam citra asli yang telah diurutkan
berdasarkan besar integernya.

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
0
1
2
3
4
5
6
7
8
9
10

245
246
247
248
249
250
251
252
253
254

R
0
4
4
4
6
10
12
12
12
15
16
...
223
223
225
230
233
236
238
238
238
255

G
0
4
4
15
36
6
4
4
63
18
13
...
240
247
147
241
228
175
205
230
234
255

B
0
4
12
4
5
21
4
12
6
29
12
...
107
134
109
161
109
139
179
226
132
255

Integer
0
263172
263180
265988
402437
656917
787460
787468
802566
987677
1051916
...
14676075
14677894
14783341
15135137
15328365
15511435
15650227
15656674
15657604
16777215

Posisi Awal
(A)
0
1
2
3
4
5
6
7
8
9
10
...
245
246
247
248
249
250
251
252
253
254

Posisi Akhir
(B)
0
1
2
5
245
238
167
7
111
137
226
...
78
151
15
208
45
49
71
204
91
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
0
1
2
3
4
5
6
7
8
9
10

245
246
247
248
249
250
251
252
253
254
255

R
0
4
4
87
91
4
53
12
114
56
138
...
6
151
155
102
184
201
137
74
91
167
167

G
0
4
4
24
136
15
90
4
191
8
201
...
36
165
63
173
220
230
198
160
91
200
200

B
0
4
12
10
39
4
36
12
83
8
122
...
5
89
62
39
122
89
103
55
47
88
88

Integer
0
263172
263180
5707786
5998631
265988
3496484
787468
7520083
3672072
9095546
...
402437
9938265
10174270
6728999
12115066
13231705
9029223
4890679
5987119
10995800
10995800

Posisi Awal
(B)
0
1
2
48
59
3
25
7
92
26
148
...
4
161
177
68
209
231
141
42
58
189
189

Posisi Akhir
(C)
0
1
2
3
4
5
6
7
8
9
10
...
245
246
247
248
249
250
251
252
253
254
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.

Anda mungkin juga menyukai