Anda di halaman 1dari 152

UJI KETAHANAN ALGORITMA F5

IMAGE TERHADAP


JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI (UIN)

UJI KETAHANAN ALGORITMA F5 PADA STEGO
TERHADAP IMAGE DISTORTION




SKRIPSI



Oleh:

Dian Hafidh Zulfikar
NIM. 05550081























JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI (UIN) MAULANA MALIK IBRAHIM
MALANG
2010

PADA STEGO
IMAGE DISTORTION
MAULANA MALIK IBRAHIM
UJI KETAHANAN ALGORITMA F5 PADA
IMAGE TERHADAP

Universitas Islam Negeri (UIN) Maulana Malik Ibrahim Malang
Untuk Memenuhi Salah Satu
Memperoleh Gelar Sarjana Komputer (S. Kom)
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI (UIN)

UJI KETAHANAN ALGORITMA F5 PADA STEGO
TERHADAP IMAGE DISTORTION


SKRIPSI


Diajukan Kepada:

Fakultas Sains dan Teknologi
Universitas Islam Negeri (UIN) Maulana Malik Ibrahim Malang
Untuk Memenuhi Salah Satu Persyaratan Dalam
Memperoleh Gelar Sarjana Komputer (S. Kom)



Oleh:

Dian Hafidh Zulfikar
NIM. 05550081


















JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI (UIN) MAULANA MALIK IBRAHIM
MALANG
2010
STEGO
IMAGE DISTORTION
Universitas Islam Negeri (UIN) Maulana Malik Ibrahim Malang
MAULANA MALIK IBRAHIM


LEMBAR PERSETUJUAN

UJI KETAHANAN ALGORITMA F5 PADA STEGO IMAGE
TERHADAP IMAGE DISTORTION


SKRIPSI

Oleh :
DIAN HAFIDH ZULFIKAR
05550081

Telah Disetujui,
21 Mei 2010

Pembimbing I



M.Ainul Yaqin, M.Kom
NIP. 197610132006041004
Pembimbing II



DR. Ahmad Barizi, M.A
NIP. 197312121998031001

Mengetahui,
Ketua Jurusan Teknik Informatika
Fakultas Sains dan Teknologi
Universitas Islam Negeri (UIN) Maulana Malik Ibrahim Malang


Ririen Kusumawati, M.Kom
NIP. 197203092005012002


HALAMAN PENGESAHAN


UJI KETAHANAN ALGORITMA F5 PADA STEGO IMAGE
TERHADAP IMAGE DISTORTION

SKRIPSI

Dipersiapkan dan disusun oleh

Dian Hafidh Zulfikar
NIM.05550081


Telah Dipertahankan Di Depan Dewan Penguji Skripsi
Dan Dinyatakan Diterima Sebagai Salah Satu Persyaratan
Untuk Memperoleh Gelar Sarjana Komputer (S.Kom)
Tanggal, 21 Mei 2010


Susunan Dewan Penguji : Tanda Tangan

1. Penguji Utama : Ririn Kusumawati, M. Kom
NIP. 197203092005012002

2. Ketua Penguji : Zainal Abidin, M. Kom
NIP. 197606132005011001

3. Sekretaris Penguji : M.Ainul Yaqin, M. Kom
NIP. 197606132005011001

4. Anggota Penguji : DR. Ahmad Barizi, M.A
NIP. 197312121998031001
( )


( )


( )


( )


Mengetahui dan Mengesahkan
Ketua Jurusan Teknik Informatika
Fakultas Sains dan Teknologi
Universitas Islam Negeri (UIN) Maulana Malik Ibrahim Malang




Ririen Kusumawati, M.Kom
NIP. 197203092005012002



LEMBAR PERNYATAAN

Saya yang bertanda tangan dibawah ini :
Nama : Dian Hafidh Zulfikar
NIM : 05550081
Jurusan : Teknik Informatika
Judul Skripsi : UJI KETAHANAN ALGORITMA F5 PADA STEGO
IMAGE TERHADAP IMAGE DISTORTION

Dengan ini menyatakan bahwa :
1. Isi dari Skripsi yang saya buat adalah benar-benar karya sendiri dan tidak
menjiplak karya orang lain, selain nama-nama termaktub di isi dan tertulis
di daftar pustaka dalam skripsi ini.
2. Apabila dikemudian hari ternyata Skripsi saya tulis terbukti hasil jiplakan,
maka saya akan bersedia menanggung segala resiko yang akan saya terima.

Demikian pernyataan ini dibuat dengan segala kesadaran.


Malang, 15 Mei 2010
Yang menyatakan,


Dian Hafidh Zulfikar
NIM. 05550081








MOTTO


Hidup yang Cuma sekali-kalinya ini, sedapat mungkin diisi dengan sesuatu
yang selalu bermanfaat untuk orang lain.






















Sembah sujud serta syukur kepada Allah SWT. Taburan cinta kasih
dan sayang-Mu telah memberikanku kekuatan, membekaliku dengan ilmu
serta membimbingku dengan jalan cinta. Atas kehendakmu akhirnya skripsi
ini bisa terseleikan. Serta sholawat dan salam kepada
Muhammad SAW yang telah membawaku dan keluargaku ke zaman terang
benderang.
Kupersembahkan karya tulis ini untuk
Ayahku H.Amiruddin Harun
Yang setiap saat selalu bersujud dan
Allah SWT, serta senantiasa mendukung dan memberiku kekuatan untuk
terus berjuang dalam mengarungi lautan hidup hingga sekarang
Bapak maafkan segala kesalahanku dan kelalaianku selama ini. Anakmu
hanya bisa memberikan secarik karya yang sederh

AdikQ Riza semangat belajar untuk kuliahnya, semoga cepat
menyusul jadi sarjana.
dewasa dan tambah pinter.
semangat serta inspirasi yang kalian berikan selama ini
mana ya.???. Seseorang
semangat belajar.

Semua orang yang pernah mendidikku dari aku mul
kaki dimuka bumi ini sampai saat ini dari sekolah TPA, Tk, hingga
kejenjang perguruan tinggi saya ucapkan terimakasih yang sebesar

Poro alumnus joyo

Serta seluruh teman
Khususnya angkatan 200
umumnya. Serta semua rekan seperjuangan yang tidak bisa disebutkan satu
persatu yang telah membantu penulis selama ini..Terima Kasih.
Bersemangatlah teman

PERSEMBAHAN
`0 !# q9# m9#
Sembah sujud serta syukur kepada Allah SWT. Taburan cinta kasih
Mu telah memberikanku kekuatan, membekaliku dengan ilmu
serta membimbingku dengan jalan cinta. Atas kehendakmu akhirnya skripsi
ini bisa terseleikan. Serta sholawat dan salam kepada junjunganku Rasululloh
SAW yang telah membawaku dan keluargaku ke zaman terang
Kupersembahkan karya tulis ini untuk
H.Amiruddin Harun dan Ibuku Mardiatun tercinta
ang setiap saat selalu bersujud dan memanjatkan berdoa kepada
Allah SWT, serta senantiasa mendukung dan memberiku kekuatan untuk
dalam mengarungi lautan hidup hingga sekarang
Bapak maafkan segala kesalahanku dan kelalaianku selama ini. Anakmu
hanya bisa memberikan secarik karya yang sederhana ini.
AdikQ Riza semangat belajar untuk kuliahnya, semoga cepat
Eva-Evi yang manja tapi selalu rame, semoga semakin
dewasa dan tambah pinter. Aku berterimakasih banyak atas segala dorongan
semangat serta inspirasi yang kalian berikan selama ini, tapi inspirasi yang
Seseorang yang selalu mendukung dan menyemangati aku,
Semua orang yang pernah mendidikku dari aku mulai menginjakkan
kaki dimuka bumi ini sampai saat ini dari sekolah TPA, Tk, hingga
kejenjang perguruan tinggi saya ucapkan terimakasih yang sebesar-besarnya.
alumnus joyo wes kabeh pokok e suwun yo
erta seluruh teman-teman seperjuangan jurusan Teknik Informatika
angkatan 2005 dan angkatan 2004, 2006, 2007, 2008 pada
umumnya. Serta semua rekan seperjuangan yang tidak bisa disebutkan satu
persatu yang telah membantu penulis selama ini..Terima Kasih.
Bersemangatlah teman-temanku semua.






Sembah sujud serta syukur kepada Allah SWT. Taburan cinta kasih
Mu telah memberikanku kekuatan, membekaliku dengan ilmu
serta membimbingku dengan jalan cinta. Atas kehendakmu akhirnya skripsi
junjunganku Rasululloh
SAW yang telah membawaku dan keluargaku ke zaman terang
tercinta
berdoa kepada
Allah SWT, serta senantiasa mendukung dan memberiku kekuatan untuk
dalam mengarungi lautan hidup hingga sekarang. Ibu dan
Bapak maafkan segala kesalahanku dan kelalaianku selama ini. Anakmu
AdikQ Riza semangat belajar untuk kuliahnya, semoga cepat
Evi yang manja tapi selalu rame, semoga semakin
berterimakasih banyak atas segala dorongan
, tapi inspirasi yang
yang selalu mendukung dan menyemangati aku,
ai menginjakkan
kaki dimuka bumi ini sampai saat ini dari sekolah TPA, Tk, hingga
besarnya.
eknik Informatika
2008 pada
umumnya. Serta semua rekan seperjuangan yang tidak bisa disebutkan satu


KATA PENGANTAR
Bissmillahhirrahmanirrahim
Alhamdulliah, puji syukur kehadirat Allah SWT yang melimpahkan segala rahmat
dan karunia-Nya, sehingga penulis dapat menyelesaikan skripsi yang menjadi
salah satu syarat mutlak untuk menyelesaikan program studi Teknik Informatika
jenjang Strata-1 Universitas Maulana Malik Ibrahim UIN Malang.
Dengan segala kerendahan hati, penulis menyadari bahwa dalam meyelesaikan
skripsi ini tidak lepas dari peran berbagai pihak yang telah banyak memberikan
bantuan, bimbingan dan dorongan. Dalam kesempatan ini penulis ingin
mengucapkan terima kasih yang tak terhingga khususnya kepada :
1. Prof.DR.H.Imam Suprayogo, selaku Rektor Universitas Islam Negeri
Malang beserta seluruh staf. Darma Bakti Bapak dan Ibu sekalian terhadap
Universitas Mualana Malik Ibrahim turut membersarkan dan
mencerdaskan penulis.
2. Prof.Drs. Sutiman Bambang Sumitro, SU, DSc, selaku Dekan Fakultas
Sains dan Teknologi Universitas Islam Negeri Malang beserta staf, Bapak
dan ibu sekalian sangat berjasa memupuk dan menumbuhkan semangat
untuk maju kepada penulis.
3. Ririen Kusumawati, M.kom selaku Ketua Jurusan Teknik Informatika
yang telah memotivasi, membantu dan memberikan penulis arahan yang
baik dan benar dalam meyelesaikan penulisan skripsi ini.
4. Muh.Ainul Yaqin M.kom selaku pembimbing skripsi sekaligus orang
orang tua penulis dijurusan Teknik Informatika UIN Maliki Malang yang


telah banyak memberikan bimbingan serta motovasi kepada penulis dalam
menyelesaikan skripsi ini.
5. DR.Ahmad Barizi M.A selaku pembimbing skripsi agama sekaligus orang
orang tua penulis dijurusan Teknik Informatika UIN Maliki Malang yang
telah banyak memberikan bimbingan serta motovasi kepada penulis dalam
menyelesaikan skripsi ini.
6. Seluruh Dosen Universitas Maulana Malik Ibrahim, khususnya dosen
Teknik Informatika dan staf yang telah memberikan ilmu kepada penulis
selama empat tahun lamanya.
7. Orang tua dan seluruh keluarga besar di Lampung dan Madiun,yang telah
banyak memberikan doa, motivasi dan dorongan dalam menyelesaikan
skripsi ini.
Penulis menyadari sepenuhnya bahwa sebagai manusia biasa tentunya
tidak akan luput dari kekurangan dan keterbatasan. Maka dengan segenap
kerendahan hati, penulis mengharapkan saran dan kritik yang dapat
menyempurnakan penulisan ini sehingga dapat bermanfaat dan berguna untuk
pengembangan ilmu pengetahuan.
Malang 15 Mei 2010

Penulis






DAFTAR ISI
HALAMAN JUDUL .............................................................................................. i
HALAMAN PERSETUJUAN ............................................................................. iii
HALAMAN PENGESAHAN ............................................................................... iv
HALAMAN PERNYATAAN ................................................................................ v
MOTTO vi
PERSEMBAHAN ............................................................................................... vii
KATA PENGANTAR ........................................................................................ viii
DAFTAR ISI ........................................................................................................ x
DAFTAR TABEL .............................................................................................. xiv
DAFTAR GAMBAR .......................................................................................... xvi
DAFTAR LAMPIRAN ...................................................................................... xix
ABSTRAK ......................................................................................................... xx
BAB I PENDAHULUAN .................................................................................... 1
1.1 Latar Belakang .............................................................................................. 1
1.2 Rumusan Masalah ......................................................................................... 7
1.3 Batasan Masalah ........................................................................................... 7
1.4 Tujuan Penelitian .......................................................................................... 7
1.5 Manfaat Penelitian ......................................................................................... 8
1.6 Metode Penelitian .......................................................................................... 8
1.7 Sistematika Penulisan Skripsi ....................................................................... 10
BAB II TINJAUAN PUSTAKA ...........................................................................12
2.1 Definisi Steganografi .................................................................................12


2.2 Perbedaan Steganografi dan Kriptografi .................................................... 19
2.3 Perbedaan Steganografi dan Watermarking ............................................... 20
2.4 Citra Digital .............................................................................................. 21
2.4.1 Pixel dan Warna................................................................................ 23
2.5 Format Citra BMP .................................................................................... 25
2.6 Format Citra JPG ...................................................................................... 27
2.7 Discrete Cosine Transform ........................................................................ 29
2.8 Kuantisasi ................................................................................................. 30
2.9 Embedding dengan Algoritma F5 .................................................................. 31
2.10 Algoritma Huffman ................................................................................. 34
2.11 Penambahan Image Distortion pada Stego Image .................................... 35
2.12 Bahasa Pemrograman Java ...................................................................... 36

BAB III ANALISIS DAN PERANCANGAN SISTEM ......................................... 37
3.1 Analisis Sistem ........................................................................................... 37
3.1.1 Analisis Data .................................................................................... 37
3.1.2 Spesifikasi Aplikasi. ......................................................................... 38
3.1.3 Spesifikasi Pengguna ....................................................................... 39
3.1.4 Deskripsi Sistem .............................................................................. 39
3.1.5 Analisis Use Case ............................................................................ 43
3.2.6 Activity Diagram .............................................................................. 44
3.2.6.1 Activity Diagram Proses Embedding Pesan .................................... 44
3.2.6.2 Activity Diagram Proses Exracting Pesan ....................................... 46
3.2.6.1 Activity Diagram Proses Lihat Nilai Pixel ...................................... 47


3.2.7 Analisis Squence Diagram ............................................................... 48
3.2.7.1 Squence Diagram Proses Embedding Pesan .................................... 48
3.2.7.2 Squence Diagram Proses Extracting Pesan ..................................... 49
3.2.7.3 Squence Diagram Proses Lihat Nilai Pixel ...................................... 50
3.1.8 Desain Kelas .................................................................................... 51
3.2 Perancangan Aplikasi ................................................................................ 54
3.2.1 Proses Embedding Pesan Dengan Algoritma F5 ................................ 54
3.2.2 Proses Extraction Pesan .................................................................... 57
3.2.3 Perancangan User Interface ............................................................... 58
3.3 Perancangan Uji Coba ............................................................................... 64
3.3.1 Pengujian Ketahanan (Robustness) ................................................... 65
3.2.4.1 Penambahan Efek Gaussian Blur .............................................. 65
3.2.4.1 Penambahan Intensitas Warna ................................................... 66
3.2.4.1 Efek Rotation ............................................................................ 68
3.2.4.1 Efek Scalling ............................................................................ 69

BAB IV HASIL DAN PEMBAHASAN .................................................................71
4.1 Lingkungan Implementasi .......................................................................... 71
4.1.1 Ruang lingkup Perangkat Keras ........................................................ 71
4.1.2 Ruang Lingkup Perangkat Lunak ...................................................... 72
4.2 Implementasi Program .............................................................................. 72
4.2.1 Input Data ......................................................................................... 72
4.2.2 Perhitungan Discrete Cosine Transform (DCT) ................................. 73
4.2.3 Perhitungan Quantization .................................................................. 74


4.2.4 Permutasi Koeficien DCT dengan PRNG .......................................... 74
4.2.5 Proses Embedding ............................................................................ 74
4.2.6 Huffman Coding ............................................................................... 76
4.2.3 Proses Extraction .............................................................................. 77
4.2.3 Lihat Nilai Pixel Citra ....................................................................... 81
4.3 Pembahasan .............................................................................................. 82
4.3.1 Pembahasan Proses Embedding .......................................................... 83
4.3.2 Pembahasan Proses Exctraction .......................................................... 91
4.4 Implementasi Uji Coba ............................................................................. 93
4.4.1 Evaluasi Ketahanan (Robustness) .......................................................... 93
4.4.1.1 Penambahan Efek Gaussian Blur .............................................. 93
4.4.1.2 Penambahan Intensitas Warna ................................................... 96
4.4.1.3 Penambahan Efek Rotation ....................................................... 99
3.2.4.1 Penambahan Efek Scalling ....................................................... 102

BAB V KESIMPULAN DAN SARAN ................................................................ 108
5.1 Kesimpulan ........................................................................................................... 108
5.2 Saran ..................................................................................................................... 109
DAFTAR PUSTAKA ......................................................................................... 110
LAMPIRAN - LAMPIRAN







DAFTAR TABEL

Tabel 3.1 Nilai pixel citra stego tanpa efek dan citra stego dengan efek gaussian
blur. ................................................................................................................... 66
Tabel 3.2 Nilai pixel citra stego tanpa penambahan RGB dan citra stego dengan
penambahan RGB sebanyak 1 ............................................................................ 67
Tabel 3.3 Nilai pixel citra stego tanpa rotasi dan citra stego dengan penambahan
efek rotasi .......................................................................................................... 69
Tabel 3.4 Nilai pixel citra stego tanpa efek scalling dan citra stego dengan
penambahan efek scalling 3 ............................................................................... 70
Tabel 4.1 Nilai pixel citra asli format BMP dan citra stego yang berubah ........... 87
Tabel 4.2 Nilai pixel citra asli format JPG dan citra stego yang berubah ............ 91
Tabel 4.3 Nilai pixel citra stego tanpa efek Gaussian Blur dan citra stego dengan
efek Gaussian Blu r (pada blok 8x8 pixel) ......................................................... 95
Tabel 4.4 Perbandingan nilai DCT dan nilai kuantisasi sebelum dan sesudah citra
stego diberi efek gaussian blur. .......................................................................... 95
Tabel 4.5 Nilai pixel citra stego tanpa penambahan RGB dan citra stego dengan
penambahan RGB sebanyak 1.(blok 8x8 pixel) .................................................. 97
Tabel 4.6 Perbandingan nilai DCT dan nilai kuantisasi sebelum dan sesudah citra
stego diberi efek intensitas warna. ...................................................................... 98
Tabel 4.7 Nilai pixel citra stego tanpa perputaran dan citra stego setelah diputar 90
derajat (blok 8x8 pixel) .................................................................................... 100
Tabel 4.8 Perbandingan nilai DCT dan nilai kuantisasi sebelum dan sesudah citra


stego diberi efek rotation 90 cw. ...................................................................... 101
Tabel 4.9 Nilai piksel citra stego sebelum diubah dan citra stego yang telah
diperbesar dengan faktor 3. .............................................................................. 103
Tabel 4.10 Perbandingan nilai DCT dan nilai kuantisasi sebelum dan sesudah citra
stego diberi efek scalling dengan perbesaran faktor 3. ...................................... 104



























DAFTAR GAMBAR
Gambar 2.1 Steganografic System ......................................... 17
Gambar 2.2 Perbedaan Steganografi dan Kriptografi ........................................ 20
Gambar 2.3 Proses Watermarking pada Citra ................................................... 21
Gambar 2.4 Format Citra 24-bit ....................................................................... 27
Gambar 2.5 Analogi Permutative Straddling .................................................... 34
Gambar 3.1 Skema Pengujian Algoritma F5..................................................... 40
Gambar 3.2 Proses Penyisipan Pesan Dalam Citra dengan F5 .......................... 41
Gambar 3.3 Diagram Use Case ........................................................................ 43
Gambar 3.4 Activity Diagram Embedding Pesan .............................................. 44
Gambar 3.5 Activity Diagram Extracting Pesan ................................................ 46
Gambar 3.6 Activity Diagram Lihat Nilai Pixel ................................................ 47
Gambar 3.7 Squence Diagram Embedding Pesan ............................................. 48
Gambar 3.8 Squence Diagram Extracting Pesan ............................................... 49
Gambar 3.9 Squence Diagram Lihat Nilai Pixel ............................................... 50
Gambar 3.10 Class Diagram Aplikasi Steganografi F5 ..................................... 53
Gambar 3.11 Form Proses Embedding ............................................................. 58
Gambar 3.12 Form Proses Extracting .............................................................. 59
Gambar 3.13 Form Utama Lihat Nilai Pixel, DCT dan Kuantisasi ................... 61
Gambar 3.14 Form Tampil Nilai Pixel RGB .................................................... 62
Gambar 3.15 Form Tampil Nilai GrayScale ..................................................... 63
Gambar 3.16 Form Tampil Nilai DCT dan Kuantisasi ...................................... 64
Gambar 3.17 Citra stego diberi efek Gaussian Blur .......................................... 66


Gambar 3.18 Citra stego dengan penambahan RGB sebanyak 1 ....................... 67
Gambar 3.19 Citra Stego dengan efek rotasi 90 derajat searah Jam .................. 68
Gambar 3.20 Citra stego dengan penambahan efek scalling faktor 3 ................ 69
Gambar 4.1 Tampilan Running Program .......................................................... 83
Gambar 4.2 Tampilan proses penyisipan pesan dengan citra format BMP ........ 84
Gambar 4.3 Media Citra asli format BMP dan gambar stego format JPEG ...... 85
Gambar 4.4 Nilai pixel Grayscale citra asli BMP (blok 8x8 pixel) ................... 86
Gambar 4.5 Nilai pixel Grayscale Citra stego JPG (blok 8x8 pixel) ................. 86
Gambar 4.6 Tampilan proses penyisipan pesan dengan citra format JPEG ....... 88
Gambar 4.7 Media Citra asli format JPEG dan gambar stego format JPEG ..... 89
Gambar 4.8 Nilai pixel Grayscale citra asli format jpg (blok 8x8 pixel) ........... 90
Gambar 4.9 Nilai pixel Grayscale citra stego format jpg (blok 8x8 pixel) ......... 90
Gambar 4.10 Tampilan Proses extraction ......................................................... 92
Gambar 4.11 Gambar stego tanpa efek dan yang diberi efek Gaussian Blur ..... 94
Gambar 4.12 Hasil ektraksi guitarBstegoblur.jpg ............................................. 94
Gambar 4.13 Gambar stego tanpa penambahan intensitas dan yang diberi
penambahan intensitas warna. ............................................................................ 96
Gambar 4.14 Hasil ekstraksi citra stego dengan penambahan intensitas warna. 98
Gambar 4.15 Gambar stego tanpa perputaran dan yang diputar 90 derajat searah
jarum jam........................................................................................................... 99
Gambar 4.16 Hasil ekstraksi citra stego dengan perputaran rotasi 90 derajat .. 101
Gambar 4.17 Gambar stego tanpa perbesaran 3 dan yang diperbesar dengan
faktor 3. ........................................................................................................... 102


Gambar 4.18 Hasil ekstraksi citra stego dengan perbesaran dengan faktor 3 ... 104































ABSTRAK

Hafidh Zulfikar, Dian. 2010. Uji Ketahanan Algoritma F5 pada Stego Image
Terhadap Image Distortion. Skripsi, Jurusan Teknik Informatika,
Fakultas Sains dan Teknologi, Universitas Islam Negeri (UIN)
Maulana Malik Ibrahim Malang. M.Ainul Yaqin, M. Kom
Kata kunci: steganografi, DCT, F5 , robustness, stego image, image distortion

Steganografi merupakan ilmu dan seni yang mempelajari cara
penyembunyian informasi pada suatu media sedemikian rupa sehingga
keberadaannya tidak terdeteksi oleh pihak lain yang tidak berhak atas informasi
tersebut. Ada beberapa media yang dapat digunakan untuk menyisipkan pesan
dalam teknik steganografi, salah satunya adalah citra digital yang sering disebut
stego image. Steganografi pada media citra digital digunakan untuk
mengeksploitasi keterbatasan kekuatan sistem penglihatan manusia dengan cara
menurunkan kualitas warna pada file gambar yang belum disisipi pesan rahasia.
Teknik atau algoritma yang digunakan dalam tugas akhir ini adalah
algoritma F5. Algoritma F5 ini menyisipkan bit data pesan ke dalam bit koefisien
DCT hasil kuantisasi yang terlebih dahulu telah dipermutasi. Penilaian sebuah
algoritma steganografi yang baik dapat dinilai dari beberapa faktor salah satunya
adalah robustness yaitu data yang disembunyikan harus tahan terhadap berbagai
operasi manipulasi atau penambahan image distortion yang dilakukan pada citra
stego. Oleh karena itu untuk mengetahui apakah algoritma F5 ini baik digunakan
sebagai algoritma steganografi maka akan dilakukan uji ketahanan.
Dalam uji ketahanan ini maka citra stego akan diberi penambahan image
distortion untuk mengetahui apakah data yang disembunyikan tetap valid jika
diekstraksi. Dan hasil dari uji coba ketahanan ini adalah pesan dalam citra stego
yang diberi penambahan efek gaussian blur ,intensitas warna, rotation, dan
scalling tidak dapat diekstrak kembali. Sehingga algoritma F5 mempunyai
kelemahan yaitu tidak tahan atau robust terhadap penambahan image distortion.










BAB I
PENDAHULUAN

1.1 Latar Belakang
!# %!# 9) ) 7=9# ')9# `=9# 9# 9# '9#
'$6f9# 96G9# s6 !# $ 2

Dialah Allah Yang tiada Tuhan selain Dia, raja Yang Maha Suci, Yang
Maha Sejahtera, Yang Mengaruniakan keamanan, Yang Maha Memelihara, Yang
Maha Perkasa, Yang Maha Kuasa, Yang Memiliki segala Keagungaan, Maha
Suci Allah dari segala apa yang mereka persekutukan (QS.Al Hasyr : 23)

Dari ayat al quran diatas disebutkan bahwa Allah adalah Tuhan yang
wajib kita sembah. Allah yang Maha memelihara, Yang Maha perkasa, Yang
Maha Kuasa, Yang memiliki segala Keagungan, juga Yang mengaruniakan
keamanan bagi manusia.
Keamanan merupakan karunia Allah yang diberikan kepada manusia yang
wajib kita syukuri. Allah juga yang telah mengarunikan manusia akal untuk
berpikir. Masalah keamanan merupakan hal yang terpenting dalam kehidupan
didunia ini. Oleh karena itu manusia wajib menggunakan akalnya untuk
mempelajari dan menciptakan keamanan itu.
Perkembangan teknologi komputer dan teknologi telekomunikasi pada
saat ini telah mengubah cara masyarakat dalam hal berkomunikasi. Dulu
komunikasi jarak jauh masih dilakukan dengan cara konvensional, yaitu dengan


cara saling mengirim surat. Didalam al quran pun telah diceritakan tentang proses
penyampaian pesan dalam Quran Surat An-Naml ayat 20-26.
)? 9# $) $ < & 9# & %2 7$9#
/{ $/# # & t2#{ & _?'9 =0 7 ]3
/ $) Mm& $/ 9 tB / G_ _*7 *6/ ) )
N` &# 6=? M?& 2 ` $; ' $?`
$% f` =9 !# `9 9# =&
69# G & #f` ! %!# l `=9#
N9# {# `= $ B $ `=? !# 9) ) >
9# 9# N
Artinya:
Dan dia memeriksa burung-burung lalu berkata: "Mengapa Aku tidak
melihat hud-hud, apakah dia termasuk yang tidak hadir.
Sungguh Aku benar-benar akan mengazabnya dengan azab yang keras
atau benar-benar menyembelihnya kecuali jika benar-benar dia datang kepadaku
dengan alasan yang terang".
Maka tidak lama Kemudian (datanglah hud-hud), lalu ia berkata: "Aku
Telah mengetahui sesuatu yang kamu belum mengetahuinya; dan kubawa
kepadamu dari negeri Saba suatu berita penting yang diyakini.
Sesungguhnya Aku menjumpai seorang wanita yang memerintah mereka,
dan dia dianugerahi segala sesuatu serta mempunyai singgasana yang besar.
Aku mendapati dia dan kaumnya menyembah matahari, selain Allah; dan
syaitan Telah menjadikan mereka memandang indah perbuatan-perbuatan
mereka lalu menghalangi mereka dari jalan (Allah), sehingga mereka tidak dapat
petunjuk,
Agar mereka tidak menyembah Allah yang mengeluarkan apa yang
terpendam di langit dan di bumi dan yang mengetahui apa yang kamu
sembunyikan dan apa yang kamu nyatakan.
Allah, tiada Tuhan yang disembah kecuali Dia, Tuhan yang mempunyai
'Arsy yang besar" ( Q.S An-Naml : 20-26)



Dari ayat diatas dikisahkan pada saat itu , Nabi Sulaiman a.s
mengumpulkan dan memeriksa seluruh pengikut-pengikutnya baik dari kalangan
manusia, jin dan binatang, termasuk burung-burung. Berdasarkan
pemeriksaannya, Nabi tidak melihat burung hud-hud. Karena ketidakhadiran
burung hud-hud tersebut, beliau berjanji akan mengazabnya dengan azab yang
keras, atau bahkan menyembelihnya. Ternyata, tidak lama kemudian, burung hud-
hud datang menghadap Nabi Sulaiman a.s. Burung hud-hud menjelaskan perihal
keterlambatannya karena mencari berita tentang adanya seorang wanita yang
menjadi pemimpin suatu negara dan dianugerahi segala sesuatu serta mempunyai
singgasana yang besar. Atas berita yang dibawa oleh burung hud-hud tersebut,
akhirnya Nabi Sulaiman a.s mengunjungi kerajaan Saba yang dipimpin oleh ratu
Balqis yang akhirnya masuk Islam dengan dakwah Nabi Sulaiman a.s. Jadi bisa
disimpulkan dari kisah tersebut pada zaman tersebut sudah terdapat suatu konsep
penyampaian pesan yang dilakukan oleh seekor burung hud kepada Nabi
Sulaiman a.s.
Sekarang dengan adanya internet, komunikasi jarak jauh bisa dilakukan
dengan saling mengirim email atau sms (sort message service). Internet juga telah
membuat komunikasi semakin terbuka dan pertukaran informasi juga semakin
cepat melewati batas-batas negara dan budaya. Namun tidak semua
perkembangan teknologi komunikasi ini memberi dampak yang menguntungkan
bagi dunia komunikasi. Penyadapan data merupakan hal yang paling ditakuti oleh
pengguna jaringan komunikasi pada saat ini.


Perkembangan teknologi telekomunikasi tidak hanya mendorong
kecenderungan orang untuk saling berkomunikasi semata. Tuntutan semakin
menjadi kompleks sehingga masalah keamanan data menjadi hal yang sangat
penting, apalagi data yang dikirimkan adalah pesan yang sangat rahasia. Berbagai
usaha dilakukan untuk menjamin agar pesan rahasia yang dikirimkan tersebut
tidak bisa diakses oleh pihak lain.
Dewasa ini penyembunyian pesan rahasia tidak hanya dapat dilakukan
dengan menyamarkan pesan tersebut melainkan dapat pula menyisipkan pesan
tersebut dalam media lain, dengan demikian orang lain tidak akan curiga terhadap
pesan rahasia yang dikirimkam karena pesan tersebut tidak terlihat yang terlihat
hanyalah media penampung pesan tersebut. Hal ini tentunya akan lebih praktis
daripada mengirimkan pesan dalam bentuk berkas terenkripsi yang akan membuat
orang lain curiga dan mulai melakukan attack untuk mengetahui isi pesan yang
dikirim.(Suhono, 2004).
Dalam dunia keamanan data, istilah steganografi sangat dikenal.
Steganografi adalah teknik menyembunyikan atau menyamarkan keberadaan
pesan rahasia dalam media penampungnya. Steganografi pada media digital
digunakan untuk mengekploitasi keterbatasan kekuatan sistem indera penglihatan
dan pendengaran manusia, sehingga dengan keterbatasan tersebut sulit
menemukan perubahan pada file yang telah disisipi pesan rahasia.
Secara teori, semua file yang ada didalam komputer dapat digunakan
sebagai media penampung pesan, seperti file citra berformat JPG, GIF, BMP, file
audio berformat MP3, WAV, bahkan didalam sebuah video dengan format AVI,


atau dalam format lainya seperti TXT, HTML, PDF. Semua file dapat dijadikan
tempat bersembunyi, asalkan file tersebut memiliki bit-bit data redundant yang
dapat dimodifikasi, setelah dimodifikasi file media tersebut tidak akan banyak
terganggu fungsinya dan kualitasnya tidak akan jauh berbeda dengan aslinya
(Balza, 2005).
File citra merupakan media yang sering digunakan dalam dunia internet
maupun dunia citra digital, ukuran file relatif kecil apabila dibandingkan dengan
file audio atau video. Salah satu format file citra yang paling sering ditemuai
didunia internet maupun dunia digital adalah GIF. Berkas dengan format GIF
dapat berukuran lebih kecil jika dibandingkan dengan format JPG untuk citra yang
sama (Ariyus, 2009), Seiring beragamnya pilihan media yang digunakan pada
steganografi dalam dunia modern sekarang ini, maka makin beragam pula
algoritma steganografi yang digunakan.
Teknik steganografi pernah dilakukan oleh setiana pada tahun 2006
dengan menggunakan metode Least-Significant Bit (LSB) Insertion, metode ini
merupakan metode paling sederhana tetapi metode LSB ini paling tidak tahan
terhadap proses yang dapat mengubah nilai-nilai intensitas pada citra dan metode
ini yang paling banyak diserang. Selain LSB metode yang juga pernah digunakan
adalah metode Gifshuffle yang digunakan pada citra digital dengan format GIF.
Metode inipun mudah digunakan karena hanya mengandung langkah-langkah
singkat yang tidak rumit tetapi metode ini memiliki kelemahan yaitu citra yang
telah disisipi pesan tidak tahan terhadap perubahan. Karena setelah dilakukan
beberapa perubahan terhadap citra diperoleh hasil bahwa pesan tidak lagi dapat


diekstrak serta metode ini hanya cocok untuk menyisipkan pesan-pesan pendek
yaitu pesan yang berukuran 209 bytes atau 209 karakter (Setiana, 2006). Selain
metode LSB dan Gifshuffle, penyembunyian pesan dapat menggunakan masking
dan filtering serta transformasi (Ariyus, 2009). Dan teknik atau algoritma yang
digunakan dalam tugas akhir ini adalah algoritma F5. Algoritma F5 ini
menyisipkan bit data pesan kedalam bit koefisien DCT kemudian membuat
matriks encoding untuk mengurangi atau meminimalkan jumlah perubahan-
perubahan yang diperlukan untuk menyisipkan suatu pesan dengan panjang
tertentu.(Frederich, dkk,2002)
Penilaian sebuah algoritma steganografi yang baik dapat dinilai dari
beberapa faktor yaitu imperceptibility keberadaan pesan dalam media penampung
tidak dapat dideteksi, fidelity yaitu mutu media penampung setelah ditambahkan
pesan tidak jauh berbeda dengan mutu media penampung sebelum ditambahkan
pesan, recovery yaitu pesan rahasia yang telah disisipkan dalam media
penampung harus dapat diungkap kembali, dan robustness yaitu pesan yang
disembunyikan harus tahan terhadap berbagai operasi manipulasi yang dilakukan
pada media penampung.
Masalah yang timbul adalah apakah algoritma F5 baik atau layak untuk
digunakan dalam steganografi. Oleh karena itu akan dilakukan pengujian tersebut
yang meliputi pengujian terhadap ketahanan citra penampung pesan, untuk
melihat apakah pesan yang disisipkan masih bisa diektraksi kembali meskipun
citra mengalami beberapa perubahan akibat operasi manipulasi atau penambahan


image distortion seperti penambahan efek blur, vertikal flip, rotation, scaling dan
penambahan intensitas warna (penambahan nilai RGB).

1.2 Rumusan Masalah
Masalah-masalah yang diteliti dan dipecahkan pada tugas akhir ini adalah :
1.2.1 Bagaimana mengimplementasikan steganografi sebagai salah satu
teknik untuk mengamankan data digital dengan algoritma F5 ?
1.2.2 Bagaimana hasil pengujian ketahanan algoritma F5 terhadap berbagai
operasi manipulasi yang dilakukan pada citra penampung ?
1.3 Batasan Masalah
Batasan masalah yang dibahas dalam tugas akhir ini adalah :
1.3.1 Citra yang akan disisipi pesan rahasia adalah citra diam (still image)
dengan format Bmp (*.bmp) dan JPEG (*.jpg).
1.3.2 Data yang akan disisipkan berupa data teks dokument (*.txt)
1.3.3 Teknik atau algoritma yang digunakan untuk menyembunyikan data
adalah algoritma F5.
1.3.4 Distorsi yang akan diberikan pada stego image berupa penambahan
efek Gaussian Blur, Rotation, Scaling, penambahan intensitas warna
(penambahan nilai RGB).
1.4 Tujuan dan Kegunaan Penelitian
1.4.1 Tujuan Penelitian
1.4.1.1 Mengimplementasikan teknik steganografi dengan algoritma F5
untuk mengamankan data digital.


1.4.1.2 Menganalisa ketahanan Algoritma F5 terhadap citra stego setelah
dilakukan penambahan image distortion.

1.4.2 Kegunaan Penelitian
1.4.2.1 Memahami penerapan algoritma F5 untuk steganografi sebagai
teknik pengaman data digital.
1.4.2.2 Memberikan pandangan bahwa steganografi dengan menggunakan
algoritma F5 menambah tingkat pengamanan data digital.

1.5 Metode Penelitian
1.5.1 Fase Analisis
Studi Literatur
Studi ini dilakukan dengan cara mencari sekaligus mempelajari beberapa
literatur dan artikel mengenai steganografi dan pemrograman file citra,
sebagai acuan dalam perencanaan dan pembuatan tugas akhir.
Pendefinisian dan analisis masalah untuk mencari solusi yang tepat
1.5.2 Fase Pembuatan Program
Perancangan dan implementasi sistem yang dilakukan secara
ekperimental, yaitu bereksperimen membuat program berdasarkan materi dan
algoritma yang telah dipelajari.





1.5.3 Fase Uji Coba Program
Uji coba dan analisis hasil implementasi tersebut apakah sesuai dengan
tujuan yang dirumuskan sebelumnya, untuk kemudian dievaluasi.
Penambahan Efek Gaussian Blur
Pengujian ini untuk melihat apakah pesan yang disisipkan masih bisa
diekstrak kembali meskipun stego image mengalami beberapa perubahan. Dalam
membuat operasi manipulasi ini bisa menggunakan software Adobe Photoshop
atau ACDSee, pengujian yang dilakukan adalah penambahan efek Gaussian Blur.
Maka setelah diberi penambahan image distortion maka citra stego tersebut akan
diekstrak kembali. Hal ini dimaksudkan apakah pesan masih bisa diekstrak atau
tidak.
Rotation
Rotation merupakan teknik pembalikan gambar dengan derajat tertentu.
Scaling
Scalling adalah perubahan ukuran gambar dengan skala tertentu.
Penambahan Intensitas Warna
Kemudian untuk mengetahui apakah citra stego dapat tahan atau robust
dengan penambahan intensitas warna (hal ini dimaksudkan untuk mengetahui
apakah pesan dalam citra stego dapat diekstrak kembali jika nilai pikselnya
diubah). Maka dengan menggunakan software Photoshop atau ACDSee nilai
RGB dari citra stego akan ditambah. Sehingga kita bisa membuat tabel


perbandingan nilai piksel citra stego tanpa penambahan intensitas warna RGB
dengan citra stego dengan penambahan warna RGB.
Koordinat Sebelum (*.jpg) Sesudah (*.jpg)
X Y R G B R G B


1.5.4 Revisi Program
Setelah Fase diatas ,pada tahap ini adalah memperbaiki kesalahan-
kesalahan dalam listing program maupun menambah kekurangan dari program
yang dikerjakan.
Dokumentasi dan Penyusunan Laporan
Dokumentasi dilakukan untuk jangka waktu sekarang dan yang akan
datang agar memudahkan maintenance jika terjadi kesalahan program lagi akibat
ketidakstabilan perangkat atau karena gangguan teknis lainya. Penyusunan
laporan adalah tahap dimana melaporkan semua hal dan data-data yang sudah
dikerjakan selama penelitian.
1.6. Sistematika Penulisan Skripsi
Adapun sistematika pada Tugas Akhir ini adalah sebagai berikut :
BAB I PENDAHULUAN
Bab ini berisi tentang latar belakang, rumusan masalah, batasan masalah, tujuan,
manfaat, metodologi dan sistematika penulisan.




BAB II LANDASAN TEORI
Bab ini menjelaskan tentang teoriteori yang terkait dengan permasalahan yang
diambil.
BAB III DESAIN DAN PERANCANGAN SISTEM
Bab ini menjelaskan tentang analisa yang dilakukan dalam merancang dan
membuat sistem, yaitu pembuatan desain data, deskripsi sistem, desain proses dan
implementasi desain dan semua yang diperlukan dalam aplikasi Steganografi F5
serta proses pengujian ketahanan.
BAB IV HASIL DAN PEMBAHASAN
Bab ini membahas tentang implementasi dari aplikasi yang dibuat secara
keseluruhan. Serta melakukan pengujian terhadap aplikasi yang dibuat untuk
mengetahui aplikasi tersebut telah dapat menyelesaikan permasalahan yang
dihadapi sesuai dengan yang diharapkan.
BAB V PENUTUP
Bab ini berisi tentang kesimpulan dan saran yang diharapkan dapat bermanfaat
untuk pengembangan pembuatan program aplikasi selanjutnya.









BAB II
TINJAUAN PUSTAKA

2.1 Definisi Steganografi
Steganografi (steganography) adalah ilmu dan seni menyembunyikan
pesan rahasia (hiding message) sedemikian sehingga keberadaan (eksistensi)
pesan tidak terdeteksi oleh indera manusia. Kata steganografi berasal dari Bahasa
Yunani yang berarti tulisan tersembunyi (covered writing) (Sellers,1996).
Dalam definisi steganografi singkat di atas terdapat konsep pesan yang
akan disampaikan kepada orang lain, tentunya ada beberapa pesan yang penting
sehingga hanya orang yang berhak saja yang dapat menerimanya, sehingga dalam
bidang steganografi ini pesan tersebut akan disembunyikan, artinya ini
berhubungan dengan keamanan pesan, jadi terdapat dua hal yang penting disini
yaitu penyampaian pesan dan keamanannya.
Dalam kajian islam terdapat istilah amanah yang merupakan salah satu
dari sifat wajib nabi dan Rosul-Nya. Amanah berarti dapat dipercaya. Rasululloh
SAW sendiri sebelum menjadi Rasul, beliau sudah digelari Al Amin (Yang Dapat
Dipercaya). Dengan demikian, tidak mungkin seorang Nabi dan Rasul
bersifat/bersikap khianat (curang).
Amanah diterapkan para Nabi dan Rasul dalam bentuk selalu
menyampaikan semua ajaran yang diterimanya. Tidak ada satupun yang
disembunyikan. Dengan demikian, mustahil mereka menyelewengkan atau
berbuat curang atas ajaran Allah SWT. Selain sifat amanah terdapat sifat Tabligh,


Tabligh mempunyai arti menyampaikan wahyu kepada umatnya. Sifat ini terkait
dengan sifat Amanah, yang tidak akan berbuat curang dalam menyampaikan
ajaran Allah kepada umat. Dengan demikian, Nabi dan Rasul mustahil kitman
(menyembunyikan wahyu).( Quraish Shihab,2002)
Maksud dari sifat ini, Nabi dan Rasul akan senantiasa menyampaikan
wahyu, apapun bahaya/ancaman yang datang kepada mereka. Kita barangkali
sudah pernah dan sering mendengar cerita Nabi Ibrahim a.s yang dibakar,
kemudian Nabi Yahya a.s yang dibunuh, bahkan Rasululloh Saw sendiri diancam
akan dibunuh serta mendapat perlakuan diasingkan oleh kaumnya.
Dalam penjelasan di atas wahyu merupakan sesuatu yang mesti
disampaikan, yang dalam istilah steganografi ini diistilahkan pesan yang akan
dikirimkan kepada yang berhak menerimanya, steganografi yang baik harus
memperhatikan unsur keamanan dari pesan yang akan dikirimkan. Tentunya ini
berkaitan dengan teknik penyembunyian pesan yang akan diterapkan.
Sedangkan hubungan keamanan dengan Islam dalam kaitanya dengan
steganografi bisa merujuk diantaranya seperti dalam surat Al Hasyr ayat 23 :
!# %!# 9) ) 7=9# ')9# `=9# 9# 9# '9#
'$6f9# 96G9# s6 !# $ 2

Artinya :Dialah allah yang tiada tuhan selain Dia,raja,, Yang Maha Suci,
Yang Maha Sejahtera, Yang Mengarunikan Keamanan, Yang Maha
Mememlihara, Yang Maha Perkasa, Yang Maha Kuasa, Yang Memiliki Segala
Keagungan, Maha Suci Allah dari apa yang mereka persekutukan( QS: Al Hasyr
: 23)



Stabilitas keamanan sangat erat hubunganya dengan keimanan. Ketika
keimanan lenyap, niscaya keamanan akan tergoncang. Dua unsur ini saling
mendukung. Allah berfirman :
%!# #`# `9 #6= ) =/ 79`& `9 {# G
Artinya :orang-orang yang beriman dan tidak mencampur adukkan iman
mereka dengan kezhaliman, mereka itulah orang-orang yang mendapatkan
keamanan, dan mereka itu adalah orang-orang yang mendapat petunjuk (Al
Anam: 82)

Bagaimana mungkin seorang muslim dapat melaksanakan amalan sesuai
dengan tuntunan petunjuk, jika ia merasa takut. Begitu pentingya, sampai-sampai
nabi Ibrahim a.s memohon kepada Allah curahan keamanan sebelum meminta
kemudahan rizki. Sebab orang yang didera rasa takut, tidak akan bisa menikmati
lezatnya makan minum. Allah menceritakan permohonan nabi Ibrahim a.s dalam
ayat:
) $% `/) > _# # #$#/ $# `# `&#& NV9# #
] !$/ 9# z# $% . `G' =% O & <) ># $9#
/ 9#
Artinya :Dan (ingatlah ketika ibrahim berdoa: wahai Rabbku, jadikanlah
negeri ini negeri aman setaosa dan berikanlah rizki dari buah-buahan kepada
penduduknya yang beriman diantara mereka kepada Allah dan hari
kemudian(QS.Al Baqoroh:126).

Secara ekplisit, beliau mendahulukan permohonan keamanan daripada
permohonan rizki. Dari sini, generasi salaf telah memaklumi betapa mahal nilai


keamanan. Sesungguhnya Allah benar-benar telah memberikan anugerah besar
kepada bangsa arab (yaitu) dengan menjadikan tanah mereka sebagai tanah haram
(suci), membebaskan mereka dari rasa ketakutan, memberi makan mereka dari
kelaparan. Allah berfirman:
#6= > # M79# %!# & `_ # _z
Artinya :Maka hendaklah mereka menyembah rabbku pemilik rumah ini
(kabah) yang telah memberi makanan kepada mereka untuk menghilangkan
lapar dan mengamankan mereka dari ketakutan (QS.Quraisy : 3-4)

Ada sekian mekanisme yang ditempuh berbagai negara demi terciptanya
keamanan. Sebagian negara mempraktekkan bahasa pukulan, penganiayaan dan
memaksakan kehendak kepada rakyat demi menciptakan keamanan yang
sebenarnya rapuh. Namun banyak pula negara yang telah menegakkan keamanan
dengan lebih toleran dan dilaksanakan diatas nilai-nilai dan prinsip kemanusian
serta hak azazi manusia.
Salah satu teknik keamanan dalam dunia komputer dapat dibuat salah
satunya dengan steganografi, karena manusia hidup didunia selalu membutuhkan
keamanan dalam berbagai bentuknya.
Pada Februari 2000, USA Today melaporkan bahwa teroris menggunakan
steganografi untuk menyembunyikan komunikasi mereka dari pemerintahan.
Menurut mereka, pesan rahasia disembunyikan dalam gambar digital yang
dikirimkan ke situs internet publik seperti eBay atau Amazon. Artikel tersebut
minim dengan informasi teknis yang memungkinkan pembacanya untuk menguji


kebenaran berita tersebut. Namun, artikel tersebut tetap saja di publikasi oleh
beberapa kantor berita.
Penyimpanan pesan dengan cara ini menyulitkan orang banyak untuk
mengetahui apakah ada pesan rahasia dibalik suatu data (dalam hal ini gambar
digital). Steganografi dapat mengelabui siapapun dengan sangat mulusnya. Satu-
satunya cara mengungkapkan pesan rahasia tersebut adalah dengan suatu tools
perangkat lunak khusus untuk memeriksa apakah gambar digital tersebut disisipi
oleh pesan rahasia.
Steganografi membuat pesan rahasia yang dikirimkan terlihat tidak
mencurigakan. Sehingga siapapun yang melihat atau memeriksanya tidak akan
menyadari adanya pesan rahasia karena tidak adanya simbol-simbol yang tidak
biasa seperti hasil enkripsi kriptografi.
Melihat keunggulan yang ditunjukkan oleh steganografi bila dibandingkan
dengan kriptografi biasa membuat pentingnya pengenalan yang lebih mengenai
cara kerja steganografi ini. Untuk memperkaya pemahaman mengenai
steganografi, perlu juga pelajaran mengenai pendeteksian gambar digital hasil
steganografi.














Adapun proses steganografi selengkapnya ditunjukkan pada Gambar 2.1





Gambar 2.1 Steganographic System (Jendricke, 2003)

Ada dua proses utama dalam steganografi digital yaitu penyisipan
(Embedding/encoding) dan penguraian (extraction/decoding) pesan. Pesan dapat
berupa plaintext, chipertext, citra atau apapun yang dapat ditempelkan ke dalam
bit-strem. Embedding merupakan proses menyisipkan pesan kedalam file yang
belum dimodifikasi, yang disebut media cover (cover object). Kemudian media
cover dan pesan yang ditempelkan membuat media stego (stego object).
Extraction adalah proses menguraikan pesan yang tersembunyi dalam media
stego. Suatu password khusus (stego key) juga dapat digunakan secara
tersembunyi, pada saat penguraian selanjutnya dari pesan. Ringkasnya
steganografi adalah teknik menanamkan embedded message pada suatu cover
object, dimana hasilnya berupa stego object.
Pihak yang terkait dengan steganografi antara lain embeddor, extractor,
dan stegoanalyst (Mohanty,1999). Embeddor adalah orang yang melakukan
embedding dengan menggunakan aplikasi steganografi, extractor adalah orang
yang melakukan extract stego image dengan menggunakan aplikasi stegonografi.
Sedangkan stegoanalyst adalah orang yang melakukan stegonalisis. Stegonalisis


merupakan ilmu dan seni untuk mendeteksi pesan yang tersembunyi dalam
steganografi.
Penilaian sebuah algoritma steganografi yang baik dapat dinilai dari
beberapa faktor yaitu :
Imperceptible
Keberadaan pesan dalam media penampung tidak dapat dideteksi.
Fidelity
Mutu media penampung setelah ditambahkan pesan rahasia tidak jauh berbeda
dengan mutu media penampung sebelum ditambahkan pesan.
Robustness
Yaitu pesan yang disembunyikan harus tahan terhadap berbagai operasi
manipulasi yang dilakukan pada media penampung.
Recovery
Pesan rahasia yang telah disisipkan dalam media penampung harus dapat
diungkap kembali. Hal ini merupakan syarat mutlak dalam sebuah algoritma
steganography, kerena ada banyak cara penyisipan pesan yang tidak terdeteksi
namun sulit dalam pembacaan kembali.
2.2 Perbedaan Steganografi dengan Kriptografi
Menurut Setiana dalam penelitian tugas akhirnya dengan judul
Steganografi pada file Citra Bitmap 24 bit Untuk pengaman data menggunakan
metode Least Significant Bit (LSB) Insertion(2006), steganografi dan kriptografi
mempunyai prinsip kerja yang berbeda, meskipun keduanya mempunyai
hubungan yang dekat dalam dunia keamanan data. Pada kriptografi menghasilkan


sebuah chipertext dimana dengan itu seolah-olah dengan sengaja menunjukkan
kepada orang lain bahwa ada sesuatu didalamnya, namun tidak dapat diketahui
maknanya. Namun dengan bentuk chipernya, justru akan membuat data tersebut
terancam oleh usaha-usaha yang dilakukan oleh orang lain untuk dapat
membongkar dengan tujuan atau alasan apapun.
Steganography berbeda dengan cryptography, letak perbedaannya adalah
pada hasil keluarannya. Hasil dari cryptography biasanya berupa data yang
berbeda dari bentuk aslinya dan biasanya data seolah-olah berantakan sehingga
tidak dapat diketahui informasi apa yang terkandung didalamnya (namun
sesungguhnya dapat dikembalikan ke bentuk semula lewat proses dekripsi),
sedangkan hasil keluaran dari steganography memiliki bentuk persepsi yang sama
dengan bentuk aslinya. Kesamaan persepsi tersebut adalah oleh indera manusia
(khususnya visual), namun bila digunakan komputer atau perangkat pengolah
digital lainnya dapat dengan jelas dibedakan antara sebelum proses dan setelah
proses (Suhono, 2000).

Gambar 2.2 Menunjukkan ilustrasi perbedaan antara steganografi dan kriptografi.





Gambar 2.2 Perbedaan steganografi dan kriptografi


2.3 Perbedaan Steganografi dengan Watermarking
Watermarking merupakan aplikasi dari steganografi, namun ada perbedaan
antara keduanya. Jika pada steganografi informasi rahasia disembunyikan didalam
media digital dimana media penampung tidak berarti apa-apa, maka pada
watermarking justru media digital tersebut yang akan dilindungi kepemilikanya
dengan pemberian label hak cipta atau watermark (Munir, 2004).
Meskipun steganografi dan watermarking tidak sama, namun secara
prinsip penyisipan informasi kedalam data digital tidak jauh berbeda. Beberapa
metode yang telah ditemukan untuk penyisipan watermark adalah metode LSB,
metode adaptif, metode spread spectrum dan sebagainya.
Data watermark yang biasa disisipkan kedalam data digital adalah teks,
citra atau suara. Watermark berupa teks mengandung kelemahan karena kesalahan
satu bit akan menghasilkan hasil teks yang berbeda pada waktu verifikasi
(ektraksi). Watermark berupa suara atau citra lebih disukai karena kesalahan pada
beberapa bit watermark tidak menghasilkan perubahan berarti pada waktu
verifikasi. Hasil ekstraksi watermark yang mengandung kesalahan tersebut masih
dapat dipersepsi secara visual (atau secara pendengaran jika watermark-nya
berupa suara). Citra yang sering digunakan sebagai watermark biasanya logo atau
lambang.











Gambar 2.3 Proses Watermarking pada Citra (Supangkat,dkk, 2000)

2.4 Citra Digital
Citra dalam kamus Webster adalah suatu representasi kemiripan, atau
imitasi dari suatu object atau benda. Citra dapat dikelompokkan menjadi citra
tampak dan citra tidak tampak . Banyak contoh dari citra tampak dalam kehidupan
sehari-hari, misalnya foto keluarga, lukisan, apa yang nampak dalam layar
monitor serta hologram. Sedangkan citra tidak tampak misalnya data gambar
dalam file (citra digital ). Untuk dapat melihatnya citra tidak tampak ini harus
diubah menjadi citra tampak, misalnya dengan menampilkanya dilayar monitor,
dicetak diatas kertas dan sebagainya. Dari sekian banyak citra, hanya citra digital
yang dapat diolah menggunakan komputer (Balza,2005).
Sebuah citra digital memiliki beberapa karakteristik, antara lain ukuran
citra, resolusi, dan format nilainya. Pada umumnya citra digital berbentuk persegi
panjang yang memiliki lebar dan tinggi tertentu. Ukuran ini biasanya dinyatakan
dalam banyaknya titik atau pixel, sehingga ukuran citra selalu berukuran bulat.
Nilai intensitas warna pada suatu pixel disebut gray scale level. Kedalaman warna


yang dapat direpresentasikan dengan pixel tergantung pada jumlah bit pixel-nya
(bpp) (Munir,2004).
Citra digital disimpan juga secara khusus didalam file 24-bit atau 8-bit.
Citra 24-bit menyediakan lebih banyak ruang untuk menyembunyikan informasi;
bagaimanapun, ruang itu bisa sungguh besar (dengan perkecualian gambar JPEG).
Semua variasi warna untuk pixel diperoleh dari tiga warna dasar: merah, hijau,
dan biru. Setiap warna dasar direpresentasikan dengan 1 byte ; gambar 24-bit
menggunakan 3 byte per pixel untuk merepresentasikan suatu nilai warna. Tiga
byte itu bisa direpresentasikan sebagai nilai hexadecimal, decimal, dan biner.
Dalam banyak halaman web, warna latar belakang direpresentasikan dengan
bilangan 6 digit hexadecimal, yang aktualnya tiga ikatan merepresentasikan
merah, hijau, dan biru. Latar belakang putih akan memiliki nilai FFFFFF: 100%
merah (FF), 100% hijau (FF), dan 100% biru (FF). Nilai decimal-nya 255,
255,255 dan nilai biner-nya adalah 11111111,11111111,11111111 yang adalah
tiga byte yang menghasilkan warna putih.
Definisi latar belakang putih adalah analog dengan definisi warna dari
pixel tunggal dalam suatu citra. Pixel merepresentasikan kontribusi pada ukuran
file. Sebagai contoh, citra 24-bit dengan luas 1,024 pixel dan ketinggian 768 pixel,
yang merupakan resolusi umum untuk grafik beresolusi tinggi. Suatu citra
memiliki lebih dari dua juta pixel. Masing-masing memiliki definisi yang akan
menghasilkan suatu kelebihan file 2 Mbyte. Oleh karena citra 24-bit masih relatif
tidak umum pada internet, ukuran seperti itu akan menarik perhatian selama
transmisi. Dengan begitu, kompresi file akan menguntungkan.


Citra file paling banyak digunakan sebagai cover image untuk
menyembunyikan pesan rahasia pada format citra file seperti :
JPG: 8 dan 24 bpp.progresif dan baseline; faktor kompresi bisa disetel,
subsampling, memperlancar,dan kode optimisasi huffman.
BMP: Windows dan OS/2; 2/8/16/24/32 bpp; RLE dan uncompressed
GIF (Graphics Interchange Format): Non-interlaced GIF 89a only
TIFF (Tag Image File Format): 1/2/4/8/12/16 bits per sample, 1-4 sample
per pixel dan support untuk multipage dokument
FNG (Portable Network Graphics): Semua sub-byte mendukung
Dan sebagainya.
(Ariyus, 2009)
2.4.1 Pixel dan Warna
Suatu pixel (kependekan dari picture element) adalah titik kecil sebagai
representasi gambar pada memori komputer. Jumlah pixel pada sebuah gambar
disebut dengan resolusi. Sebagai contoh, misalkan sebuah citra berukuran 256 x
256 dan direpresentasikan secara numerik dengan matriks yang terdiri dari 256
buah baris (di-indeks dari 0 sampai 255) dan 256 buah kolom (di-indeks dari
sampai 255) seperti contoh berikut :



156 210 219 221


120 189 187 220
197 201 167 0
231 145 134 0
K K
M M M M M M
M M M M M M
K K
K K
K K

Pixel pertama pada koordinat (0,0) mempunyai nilai intensitas 0 yang
berarti warna pixel tersebut hitam, pixel kedua pada koordinat (0,1) mempunyai
intensitas 134 yang berarti warnanya antara hitam dan putih, dan seterusnya
(Munir 2004).
Titik-titik warna pada gambar digital juga disebut pixel. Pada gambar
berwarna setiap pixelnya memiliki warna dan kecerahannya masing-masing.
Kedalaman warna yang dapat direpresentasikan dengan pixel tergantung pada
jumlah bit per pixelnya (bpp), kedalaman warna yang biasa dipakai pada gambar
digital antara lain 8 bpp (256 warna), 16 bpp (65.536 warna, dikenal dengan
Highcolor), dan 24 bpp (16.777.216 warna, dikenal dengan Truecolor).
Warna adalah aspek dari penglihatan, tanggapan psikofisikal yang
mencakup reaksi fisik mata dan tanggapan interpretasi otak terhadap karakteristik
gelombang cahaya di atas tingkat kecerahan tertentu (pada titik yang lebih rendah
mata dapat merasakan perbedaan tingkat kecerahan tetapi tidak mampu
membedakan warna. Model warna adalah cara untuk merepresentasikan warna
dan hubungan warna satu sama lain. Sistem pemroses gambar yang berbeda
menggunakan model warna yang berbeda pula untuk alasan yang berbeda
(Setiana, 2006).




2.5 Format Citra BMP
Citra disimpan didalam berkas (file) dengan format tertentu. Format citra
yang baku dilingkungan sistem operasi Microsoft Windows dan IBM OS/2 adalah
berkas bitmap (BMP). Saat ini format BMP memang kalah populer
dibandingkan format JPG atau GIF. Hal ini karena berkas BMP pada umumnya
tidak dimampatkan, sehingga ukuran berkasnya relatif besar dari pada berkas JPG
maupun GIF, Hal ini juga menyebabkan format BMP sudah jarang digunakan.
Meskipun format BMP tidak mangkus dari segi ukuran berkas, namun
format BMP mempunyai kelebihan dari segi kualitas gambar. Citra dalam format
BMP lebih bagus daripada citra dalam format yang lainya, karena citra dalam
format BMP umunya tidak dimampatkan sehingga tidak ada informasi yang
hilang. Terjemahan bebas bitmap adalah pemetaan bit. Artinya, nilai intensitas
pixel didalam citra dipetakan ke sejumlah bit tertentu. Peta bit yang umum adalah
bit 8, artinya setiap pixel panjangnya 8 bit. Delapan bit ini merepresentasikan nilai
intensitas pixel. Dengan demikian ada sebanyak 2
8
= 256 derajat keabuan, mulai
dari 0 sampai 255.
Citra dalam format BMP ada tiga macam; citra biner, citra berwarna, dan
citra hitam-putih (grayscale). Citra biner hanya mempunyai dua nilai keabuan 0
dan 1. Oleh karena itu, 1 bit sudah cukup untuk merepresentasikan nilai pixel.
Citra berwarna adalah citra yang lebih umum. Warna yang terlihat pada citra
bitmap merupakan kombinasi dari tiga warna dasar yaitu merah, hijau, dan biru.
Setiap pixel disusun oleh tiga komponen warna : R (red), G (green), dan B (blue).
Kombinasi dari tiga warna RGB tersebut menghasilkan warna yang khas untuk


pixel yang bersangkutan. Pada citra 256 warna, setiap pixel panjangnya 8-bit,
tetapi komponen warna RGB-nya disimpan didalam tabel RGB yang disebut
palet.Setiap komponen RGB panjangnya 8-bit, jadi 256 nilai keabuan untuk warna
merah, 256 nilai keabuan untuk warna hijau, dan 256 nilai keabuan utuk warna
biru. Nilai setiap pixel tidak menyatakan derajat keabuan secara langsung, tetapi
nilai pixel menyatakan indeks tabel RGB yang memuat nilai keabuan merah (R),
nilai keabuan hijau (G) dan nilai keabuan biru (B) untuk pixel yang bersangkutan.
Pada citra hitam putih nilai R=G=B untuk menyatakan bahwa citra hitam-putih
hanya mempunyai satu kanal warna. Citra hitam-putih umumnya adalah citra 8-
bit.
Citra yang lebih kaya warna adalah citra 24-bit. Setiap pixel panjangnya
24 bit, karena setiap pixel langsung menyatakan komponen warna merah,
komponen warna hijau, dan komponen warna biru. Citra 24-bit disebut juga citra
16 juta warna karena ia mampu menghasilkan 2
24
=16.777.216 kombinasi warna.
Berkas citra 24-bit (16,7 juta warna) tidak mempunyai palet RGB, karena nilai
RGB langsung diuraikan dalam data bitmap. Setiap elemen data bitmap
panjangnya 3 byte, masing-masing byte menyatakan komponen R, G, dan B.
Contoh format citra 24-bit (16 juta warna) kira-kira seperti pada gambar 2.4. Pada
contoh format citra 24-bit tersebut pixel pertama mempunyai R = 20, G = 19, B =
21, pixel kedua mempunyai R = 24, G = 24, B = 23. Demikian seterusnya (Munir,
2004).


<header berkas>
<header bitmap>

<data bitmap>
20 19 21 24 24 23 24 ...


Gambar 2.4 Format citra 24-bit (16 juta warna)

2.6 Format Citra JPEG
Menurut Daryanto (2007) dalam jurnal dengan judul Analisa
Perbandingan Standar-Standar Kompresi Pada Gambar. Joint Photograpic
Experts (JPEG) dirancang untuk kompresi beberapa full-color atau gray-scale
dari suatu gambar yang asli, seperti pemandangan asli di dunia. JPEGs bekerja
dengan baik pada continous tone images seperti photographs atau semua
pekerjaan seni yang menginginkan yang nyata, tetapi tidak terlalu bagus pada
ketajaman gambar yang banyak menggunakan garis. JPEG sudah mendukung
untuk 24-bit color depth atau sama denga 16 juta warna.
JPEG adalah algoritma kompresi secara lossy. JPEG bekerja dengan
mengubah gambar spasial dan merepresentasikan kedalam memisahkan antara
informasi frekuensi yang rendah dan tinggi dari sebuah gambar. Informasi
frekuensi yang tinggi akan diseleksi untuk dihilangkan yang terikat pada
pengaturan kualitas yang digunakan. Waktu kompresi dan dekompresi
dilaksanakan dengan simetris. JPEG Groups (IJG) decoder lebih ditingkatkan
kemampuanya dibandingkan dengan encodernya. Manakala, ketika diperlihatkan
8 bits, mengurangi kuantitas warna yang lambat. Banyak para penjual JPEG


menawarkan untuk mempercepat hasil dari JPEG, kuantisasi warna dan kualitas
dengan mengimplementasikan IJG.
JPEG bekerja dalam beberapa langkah seperti berikut. Pertama, pixel
gambar ditrasformasikan keruang warna luminance dan chrominance, lalu
komponen chorominance di-downsample untuk mengurangi volume data. Down
sampling itu bisa dilakukan karena mata manusia lebih sensitif terhadap
perubahan luminance daripada perubahan chrominance. Selanjutnya, nilai pixel
dikelompokkan kedalam blok-blok 8x8 yang ditransformasikan menggunakan
DCT (Discreate Cosine Transform). Transformasi DCT menghasilkan peta
frekuensi 8x8 yang berisi koefisien yang mewakili nilai rata-rata dalam blok dan
frekusensi yang lebih tinggi berubah dalam blok tersebut secara berurutan.
Masing-masing memiliki nilai yang dibagi koefisien kuantisasi dan hasilnya
dibulatkan menjadi integer. Kuantisasi itu biasanya akan menimbulkan
loss/kerugian yang disebabkan oleh JPEG. Banyak koefisien yang mewakili
frekuensi lebih tinggi yang hilang tidak akan menimbulkan perubahan visual yang
bisa terdeteksi dalam gambar. Koefisien yang berkurang kemudian dikodekan
menggunakan Huffman coding untuk mengurangi ukuran data selanjutnya.
Langkah itu tidak menimbulkan kerugian (lossles), dan langkah terakhir dalam
aplikasi JPEG adalah menambahkan data header dengan memberikan parameter
yang akan digunakan oleh decoder untuk melakukan decoding (Ariyus,2009)





2.7 Discrete Cosine Transform (DCT)
Pada format gambar JPEG, masing-masing komponen warna
menggunakan transformasi DCT (discrete cosine transform) untuk
mentranformasi blok-blok gambar 8x8 pixel kedalam 64 masing-masing
koefisien DCT (Ariyus,2009).
Koefisien-koefisien DCT tersebut adalah F(u,v) dari suatu blok 8x8 dari
citra pixel f(x,y) dinyatakan dengan pada persamaan dibawah ini:
Persamaan 2.1:

+ +
=

= =
7
0
7
0
16
) 1 2 (
cos
16
) 1 2 (
cos ) , ( ) ( ) (
8
2
) , (
x y
v y u x
y x f v C u C v u F


Pada persamaan diatas F(u,.v) berbentuk matriks 2-dimensi 8x8 dimana:
u,v,x,y = 0,1,2,.,7
x,y adalah koordinat spatial dari domain asal.
u,v adalah koordinat frekuensi pada domain transformasi atau koefisien-koefisien
DCT.
C(u), C(v) = 1/2 Untuk u,v = 0
C(u), C(v) = 1, untuk lainya.
Dalam perhitungan DCT ini, apabila dilihat persamaan diatas adalah:
1. Citra berupa blok array 2D, Citra dengan domain spatial atau nilai piksel
memiliki fungsi f(x,y) sedangkan dalam domain frekuensi atau koefisien
DCT memiliki F(u,v).
2. Panjang dan lebar citra sama yaitu 8.
3. Looping untuk x,y=0,1,2 7, dan looping u,v=0,1,2,,7.


4. Nilai C(u),C(v) = 1/2, untuk u,v = 0 serta C(u),C(v)=1, untuk lainnya.
5. Setelah itu dilakukan perhitungan seperti pada persamaan diatas maka
akan didapat blok array baru dalam domain frekuensi atau koefisien DCT
(Irianto, 2004).

2.8 Kuantisasi
Proses kuantisasi merupakan proses untuk mengurangi jumlah bit yang
diperlukan dalam hal penyimpanannya (proses membersihkan koefisien DCT
yang tidak penting untuk pembentukan image baru), proses kuantisasi diterapkan
pada keluaran proses DCT. Kuantisasi dilakukan dengan cara membagi keluaran
proses DCT dengan suatu nilai yang ditetapkan dalam matriks kuantisasi
(Murinto,2005).
Proses kuantitasi dilakukan dengan cara:
Persamaan 2.2 :
F
Q
(u,v) =Round
,
,
(Ariyus,2009).
Dimana;
(q[u,v])= tabel kuantisasi pada file citra.
Pemilihan tabel kuantisasi (q[u,v]) akan menentukan hasil kualitas
kompresi dan dekuantisasi dari suatu citra. Dalam proses dekompresi JPEG tiap
elemen dari F
Q
(u,v) dikalikan dengan q(u,v) untuk mendapatkan kembali suatu
pendekatan bagi F(u,v) blok citra f(i.j) dapat dibalikkan kembali dengan
menggunakan suatu invers 2-D DCI (IDCT). Adapun persamaanya adalah
(Murinto,2005)
Persamaan 2.3 :
2.9 Embedding dengan Algoritma F5
Algoritma steganografi F5 diperkenalkan oleh peneliti dari
Plitzman dan Westfeld
untuk mengembangkan konsep
embedding pesan untuk gambar format JPEG (Fridrich,dkk,2002). Algoritma
steganografi F5 dapat pul
koefisien DCT dengan data pesan. F5 mengurangi nilai ab
yang disebut matriks encoding. Menurut deskripsi dari algoritma F5 versi 11,
program aplikasi menerima 5 inputan yaitu:
Faktor kualitas dari stego image
Input file (BMP,JPEG);
Output file name;
Password atau stego
Pesan yang akan disembunyikan
Matrix encoding
dengan menghitung ukuran blok pesan k dari panjang pesan dan
koefisien non DC yang tidak nol. Kode Hamming (1, 2
rahasia k-bit dari m kata pesan kedalam n
dapat merecover dari single bit yang error dalam kata kode.


Embedding dengan Algoritma F5
Algoritma steganografi F5 diperkenalkan oleh peneliti dari Jerman yaitu
pada tahun 2001. Tujuan dari penelitian mereka adalah
untuk mengembangkan konsep-konsep dan mempraktekkan bagaimana proses
embedding pesan untuk gambar format JPEG (Fridrich,dkk,2002). Algoritma
steganografi F5 dapat pula disebut sebagai metode subtraksi. F5 mengurangi bit
koefisien DCT dengan data pesan. F5 mengurangi nilai absolutnya dalam proses
yang disebut matriks encoding. Menurut deskripsi dari algoritma F5 versi 11,
program aplikasi menerima 5 inputan yaitu:
r kualitas dari stego image-Q;
Input file (BMP,JPEG);
Output file name;
Password atau stego-key;
Pesan yang akan disembunyikan
Matrix encoding menghitung kode hamming yang sesuai (1, (2
dengan menghitung ukuran blok pesan k dari panjang pesan dan jumlah koefisien
koefisien non DC yang tidak nol. Kode Hamming (1, 2
k
-1, k) mengkode pesan
bit dari m kata pesan kedalam n-bit kata kode a dengan n=2
dapat merecover dari single bit yang error dalam kata kode.
Jerman yaitu
pada tahun 2001. Tujuan dari penelitian mereka adalah
konsep dan mempraktekkan bagaimana proses
embedding pesan untuk gambar format JPEG (Fridrich,dkk,2002). Algoritma
a disebut sebagai metode subtraksi. F5 mengurangi bit
olutnya dalam proses
yang disebut matriks encoding. Menurut deskripsi dari algoritma F5 versi 11,
menghitung kode hamming yang sesuai (1, (2
k
-1), k)
jumlah koefisien-
1, k) mengkode pesan
bit kata kode a dengan n=2
k
-1. Dan


F5 menggunakan fungsi decoding f(a) = ni=1 ai. i dan jarak Hamming
d. Dengan matrix encoding, embedding pesan k-bit kedalam n-bit kata kode akan
mengubahnya maksimum dengan satu bit. Dengan kata lain, kita dapat
menemukan kata kode yang sesuai a untuk setiap kata kode a dan setiap kata
pesan m sehingga m= f(a ) and d(a, a ) 1.
Pertama, koefisien-koefisien DCT dipermutasi dengan kunci pseudo-
random number generator (PRNG), lalu diatur kedalam kelompok-kelompok n ,
angka nol dan koefisien DC dilompati. Pesan tersebut kemudian dipecah menjadi
blok-blok k-bit. Untuk setiap blok pesan m, diperoleh kata kode n-bit dengan
penggabungan LSB koefisien nilai absolut. Jika blok pesan m dan pengkodean
f(a) adalah sama, maka blok pesan dapat diembed tanpa adanya perubahan,
sebaliknya bila digunakan s = mf(a) untuk menentukan koefisien mana yang
perlu dirubah (nilai absolutnya dikurangi dengan satu). Jika koefisien menjadi nol,
akan terjadi pengurutan, dan dibuang dari kelompok koefisien. Kelompok tersebut
diisi dengan koefisien yang bukan nol berikutnya dan proses berulang sampai
pesan dapat diembed.(Irianto,2004)
Untuk pesan-pesan yang lebih kecil, matrik encoding membuat F5
mengurangi jumlah perubahan pada gambar, untuk contohnya, pada k = 3, tiap
perubahan mengembed 3,43 bit pesan sedangkan total ukuran kode lebih dari dua
kalinya. Karena F5 mengurangi koefisien DCT, jumlah koefisien yang berdekatan
tidak lagi invariant, dan test x
2
tidak dapat mendeteksi pesan yang terembed secara
F5 (Irianto,2004).


F5 adalah Steganographic system yang menawarkan kapasitas
penyimpanan data yang besar. Dengan F5, penggunanya dapat memasukkan data
yang berukuran sampai 13% dari ukuran gambar keseluruhan.

Implementasi Permutative Straddling menyebabkan penyisipan data yang
terlalu banyak menyebabkan gambar digital rusak secara merata. Sehingga
tidak mudah dikenali dengan melihatnya.
















Gambar 2.5
Gambar 2.5 di atas contoh dari continuous embedding tanpa
Straddling menyebabkan gambar rusak pada bagian awalnya. sedangkan Gambar
bawah dengan Permutative Straddling
menjadi rusak secara merata (Adythia, 2007).

F5 merupakan penyempurnaan dari sistem
permutasi dikenakan kata yang dimasukkan pengguna. Kemudian
pad untuk distribusi pesan secara rata, Matriks
yang minimal. Terakhir dilakukan














Gambar 2.5 Analogi Permutative Straddling
atas contoh dari continuous embedding tanpa Permutative
menyebabkan gambar rusak pada bagian awalnya. sedangkan Gambar
Permutative Straddling pada F5 yang menyebabkan gambar
menjadi rusak secara merata (Adythia, 2007).
merupakan penyempurnaan dari sistem F4. Pada pelaksanaan
permutasi dikenakan kata yang dimasukkan pengguna. Kemudian Pseud one time
untuk distribusi pesan secara rata, Matriks Encoding dengan embedding rate
yang minimal. Terakhir dilakukan Core Embedding seperti pada F4.
Permutative
menyebabkan gambar rusak pada bagian awalnya. sedangkan Gambar
yang menyebabkan gambar
. Pada pelaksanaan F5,
Pseud one time
embedding rate


2.10 Algoritma Huffman
Dalam ilmu komputer dan teori informasi, kode Huffman adalah algoritma
pengkodean entropi untuk kompresi data lossless. Istilah ini merujuk kepada
penggunaan tabel kode yang memiliki panjang bervariasi (variable length code)
dimana tabel kode tersebut diturunkan dengan cara tertentu berdasarkan prakiraan
probabilitas kemunculan setiap nilai dalam sumber data. Kode Huffman
dikembangkan oleh David A.Huffman pada saat mengambil gelar Ph.D di MIT.
Kode Huffman menggunakan metode spesifik untuk merepresentasikan
setiap simbol, menghasilkan prefik-free code (string dari bit representasi sebuah
simbol tidak pernah menjadi prefiks [awalan] dari sebuah simbol lain). Yang
merepresentasikan karakter yang lebih sering muncul dengan bit string yang lebih
pendek dari pada karakter yang jarang muncul dalam suatu sumber data.
Kompresi Huffman adalah metode paling efisien dari metode lain yang sejenis
karena pemetaan lain simbol dari sumber data menjadi string unik menghasilkan
file output yang lebih kecil ketika frekuensi simbol sesuai dengan frekuensi yang
digunakan untuk menghasilkan kodenya. Kemudian ditemukan metode untuk
melakukan pemetaan ini dalam waktu linier dengan mengurutkan probabilitas
input. Untuk suatu set simbol dengan distribusi probabilitas tersebut dan jumlah
elemen sebesar kelipatan pangkat dua, kode Huffman setara dengan binary block
encoding sederhana. Penggunaan kode Huffman begitu luas sampai-sampai semua
kode prefix free disinonimkan dengan Huffman walaupun algoritmanya tidak
sesuai dengan Huffman (Alam, 2008).



2.11 Penambahan Image Distortion pada Stego Image
Penilaian sebuah algoritma steganografi yang baik dapat dinilai dari
beberapa faktor. Salah satunya adalah robustness yaitu data yang disembunyikan
harus tahan (robust) terhadap berbagai operasi manipulasi yang dilakukan pada
citra penampung, seperti pengubahan kontras, penajaman, pemampatan, rotasi,
perbesaran gambar, pemotongan (cropping), diputar (flip) dan sebagainya. Bila
pada citra penampung dilakukan operasi-operasi pengolahan citra tersebut, maka
data yang disembunyikan seharusnya tidak rusak (tetap valid jika diekstraksi
kembali). Oleh karena itu untuk menguji ketahanan (robustness) pesan yang
disembunyikan dalam citra maka akan dilakukan beberapa operasi manipulasi
pengolahan citra terhadap citra penampung atau cover image tersebut.
2.12 Bahasa Pemrograman Java
Java adalah suatu bahasa pemrograman yang bersifat open source yang
diciptakan atau dirancang oleh James Gosling, salah satu pemrogram yang bekerja
di Sun Microsystem, yang ketika itu ditugaskan untuk memimpin proyek dalam
menciptakan program yang berguna untuk mengendalikan perangkat elektronik
rumah tangga yang bersifat Multiplatform, bersama rekannya Patrick Naughton.
Bahasa Java adalah bahasa modern yang telah diterima masyarakat komputasi
dunia. Hampir semua perusahaan perangkat lunak dan komputer besar
mendukung dan mengembangkan aplikasi sistem berbasis Java. (Rangsang, 2003)
Pada Tahun 1996, Sun Microsystem secara resmi merilis versi awal Java
yang kemudian terus berkembang hingga muncul JDK 1.1 (Java Development Kit
versi 1.1). Perkembangan terus dilakukan hingga muncul versi baru yang disebut


Java 2. Perubahan utama antara versi sebelumnya adalah adanya Swing yang
merupakan teknologi Graphical User Interface (GUI) yang mampu menghasilkan
aplikasi desktop yang benarbenar baik. Sedangkan dalam penelitian ini
menggunakan versi The Java 2 Platform, Standart Edition (J2SE), dimana versi
ini menyediakan lingkungan pengembangan yang kaya fitur, stabil, aman dan
mendukung konektivitas basis data, rancangan antarmuka pemakai, masukan atau
keluaran, dan pemrograman jaringan. (Dwi Prasetyo dkk, 2007)


















BAB III
METODE DAN PERANCANGAN SISTEM

3.1 Analisis Sistem
Analisis sistem bertujuan untuk mengidentifikasi permasalahan-
permasalahan yang ada pada sistem di mana aplikasi dibangun yang meliputi
perangkat lunak (software), pengguna (user) serta hasil analisis terhadap sistem
dan elemen-elemen yang terkait. Analisis ini diperlukan sebagai dasar bagi
tahapan perancangan sistem. Analisis sistem Desain dan implementasi ini meliputi
desain data, deskripsi sistem, desain proses dan implementasi desain dan semua
yang diperlukan dalam aplikasi Steganografi F5 serta proses pengujian ketahanan.

3.1.1 Analisis Data
Dalam sistem steganografi F5 ini sekumpulan file-file citra yang
mempunyai berbagai jenis ekstensi yang digunakan sebagai objek penelitian,
namun dalam hal ini hanya dua tipe saja yang menjadi objek penelitian.
Umumnya pengenal tipe file citra tertera pada nama file tersebut, yaitu tiga huruf
paling kanan setelah titik. Fungsinya adalah untuk mengetahui atau membedakan
jenis file. Untuk memperoleh hasil yang maksimal dalam proses steganografi F5
dan mempermudah dalam pengujian kebenaran dan keakuratan aplikasi, maka
data yang digunakan diambil dari beberapa file citra yang ada dalam media
penyimpanan berdasarkan format dan besar kapasitas file citra. Dalam aplikasi


steganografi F5 ini hanya dua file yang akan dijadikan objek penelitian yaitu file
citra tipe *.bmp dan tipe *.jpg.
Sedangkan dalam program uji ketahanan nantinya akan digunakan inputan
berupa file citra sebelum disisipi pesan dan file citra yang sudah disisipi pesan
serta stego image yang telah diberi efek distorsi, yang nantinya akan dianalisis
nilai pixelnya untuk menguji ketahanan algoritma F5.

3.1.2 Spesifikasi Aplikasi
Ada dua aplikasi yang akan dibangun pada tugas akhir ini, aplikasi
pertama merupakan program steganografi F5 itu sendiri dan aplikasi kedua adalah
aplikasi yang akan digunakan untuk program uji untuk menganalisis ketahanan
algoritma F5.
Spesifikasi program steganografi F5 sebagai berikut:
a. Melakukan proses steganografi F5 terhadap sekumpulan atau sebuah file
citra yang sudah diketahui ekstensi dan besar kapasitas filenya, namun
dalam hal ini hanya dibatasi dua tipe file citra saja yaitu *.bmp dan *.jpg.
b. Proses steganografi F5 ini dapat menyembunyikan pesan rahasia dalam
format *.txt ke dalam bit-bit redundant dalam file citra.
c. Aplikasi ini menggunakan pesan rahasia dengan tipe file *.txt.
d. Melakukan proses extracting file citra terhadap file yang telah disisipi
pesan rahasia, agar pesan yang tersembunyi tadi dapat diurai kembali.


e. Penggunaan shared secret atau password dalam proses embedding atau
extracting dimaksudkan agar hanya orang-orang tertentu saja yang dapat
mengakses proses ini.
Spesifikasi program uji sebagai berikut:
a. Menampilkan nilai pixel dari citra sebelum proses penyisipan pesan serta
dapat pula menampilkan nilai pixel dari citra yang sudah disisipi pesan.
b. Menampilkan nilai perhitungan DCT dan perhitungan kuantisasi dari nilai
pixel citra yang diinputkan sebelum atau setelah dilakukan proses
manipulasi citra.
3.1.3 Spesifikasi Pengguna
Aplikasi ini ditujukan untuk digunakan oleh semua pihak yang
membutuhkan aplikasi steganografi F5 khususnya para orang-orang dibidang
teknologi informasi yang selalu mementingkan keamanan data ataupun informasi
sebagai salah satu hal yang tidak bisa diabaikan.

3.1.4 Deskripsi Sistem
Pada dasarnya proses penyembunyian pesan rahasia dalam sistem
steganografi dimulai dengan identifikasi bit-bit redundant dari cover mediumnya (
yang dapat dimodifikasi tanpa merusak integritas medium yang bersangkutan).
Proses embedding menggunakan algoritma F5 menghasilkan suatu medium stego
(dalam kasus ini medium tersebut berupa cover image) melalui penyisipan bit data
pesan dalam koefisien DCT setelah melalui proses kuantisasi untuk mengurangi


atau meminimalkan jumlah perubahan-perubahan yang diperlukan untuk
menyisipakan suatu pesan dengan panjang tertentu sehingga menghasilkan sebuah
stego image. Penambahan stego key atau shared secret digunakan untuk
memperkuat pengamanan data pada data rahasia.
Dalam bab ini akan dibahas mengenai dua proses utama dalam teknik
steganografi yaitu proses penyisipan atau embedding pesan dalam citra dan proses
penguraian atau extraction pesan, serta membahas tentang penjelasan mengenai
distorsi atau operasi manipulasi pengolahan citra yang akan diberikan pada citra
yang telah disisipi pesan. Dan proses pengujian ketahanan terhadap algoritma F5
pada stego image. Gambaran umum sistem pengujian F5 digambarkan dalam
diagram dibawah ini.

Citra Asli
Proses
Embedding F5
Stego Image
Adobe Photoshop :
Gaussian Blur
Intensitas Warna
Efek Scalling
Efek Rotation
Proses
Extraction
Hasil
*.txt

Gambar 3.1 Skema Sistem pengujian F5





Sedangkan Proses penyisipan pesan dalam citra menggunakan algoritma
F5 dapat dilihat dalam Gambar 3.2

Gambar 3.2 Proses Penyisipan Pesan Dalam Citra dengan F5 (Wesfeld, 2001)
Dalam proses penyisipan pesan ini menggunakan algoritma F5, langkah-
langkah penyisipan pesan dengan menggunakan algoritma F5 (sesuai dengan Bab
2 Gambar 2.5) yaitu pertama insialisasi PRNG (pseudo-random number
generator) dengan shared secret atau stego key. Kemudian didapatkan koefisien-
koefisien DCT atau domain frekuensi dari citra. Untuk mengubah citra menjadi
koefisien-koefisien DCT atau domain frekuensi menggunakan perhitungan DCT
seperti pada Bab 2 Persamaan 2.1
Hasil transformasi citra dengan DCT akan menghasilkan nilai positif dan
negatif. Oleh karena itu nilai hasil transformasi akan diabsolutkan hal ini disebut
proses kuantisasi (sesuai pada Bab 2) persamaan 2.2). Komponen DC (daerah
[0,0]-zero frequency) akan selalu bernilai lebih tinggi dari nilai koefisien yang
lain.
Dalam proses embedding pesan dalam citra menggunakan algoritma F5 ini
pertama-tama dimasukkan (input) file citra. Setelah itu masukkan password atau


shared secret sebagai kunci steganografi. Selelah itu ambil pixel dari citra
tersebut, kemudian lakukan perhitungan DCT (sesuai dengan persamaan 2.1 pada
Bab 2) untuk memperoleh koefisien DCT atau domain frekuensinya serta tabel
kuantisasinya. Inisialisasi PRNG dengan password yang telah dimasukkan.
Setelah itu dilakukan permutasi pada koefisien DCT, lalu dilakukan proses
embedding bit data pesan ke dalam koefisien DCT yang telah dipermutasikan.
Setelah proses embedding selesai, lakukan invers permutasi terhadap koefisien
DCT yang telah disisipkan pesan. Sehingga didapatkan hasil berupa stego image.
Selanjutnya sesuai pada gambar 3.2 maka dilakukan huffman coding untuk
mengkompresi citra sehingga output citra atau stego image merupakan citra
dengan format JPEG (*.jpg).
Setelah proses embedding tahap selanjutnya yaitu proses extracting pesan
pada dasarnya proses penguraian pesan atau extraction adalah proses
pengembalian dari proses penyisispan pesan dalam citra atau embebdding.











3.1.5 Analisis Use Case

Gambar 3.3 Diagram Use Case

Diagram use case yang ditunjukkan pada Gambar 3.3 terdapat satu aktor
yaitu user. Pertama, user melakukan embedding pesan dengan menginputkan file
citra yang belum tersisipi pesan berupa file gambar asli yang mempunyai tipe
*.bmp dan *.jpg serta password (shared secret). Kedua, user dapat melakukan
extracting pesan dengan menginputkan file gambar yang telah tersisipi pesan atau
stego image dan password (shared secret) untuk mendapatkan kembali pesan
yang tersembunyi. Ketiga terdapat proses analisis pengujian ketahanan algoritma
F5 setelah melalui penambahan beberapa image distortion dan nantinya akan
dianalisis nilai pixel citranya.


Embedding Message
Extraksi Message
Lihat Nilai Pixel
User


3.1.6 Aktifity Diagram
3.1.6.1 Aktifity Diagram Proses Embedding Pesan

















Gambar 3.4 Activity Diagram Embedding Pesan

Berikut ini penjelasan aktivity diagram proses penyisipan pesan dalam citra sesuai
dengan Gambar 3.4
Input Cov er Image, Input Secret
Message,Input Key Image
Perhitungan
DCT
Proses
Kuantisasi
Permutasi Koef isien
DCT dengan PRNG
Proses Embedding
Message
Inv ers
Permutasi
Huf f man
Coding
Stego
Image *.jpg
Embed : Embed Stegoanalisis : User


1. Masukkan citra yang akan disisipi pesan, citra ini dapat berupa citra
dengan format *.bmp dan *.jpg. Kemudian masukkan file data teks yang
akan disisipkan dan key yang berlaku sebagai kunci steganografi dalam
aplikasi ini.
2. Bagi citra input menjadi blok-blok 8x8 pixel, setelah itu lakukan
perhitungan DCT sesuai pada Bab 2 Persamaan 2.1 sehingga akan
didapakan koefisien DCT. Dan lakukan perhitungan kuantisasi sesuai pada
Bab 2 Persamaan 2.2
3. Lakukan permutasi koefisien DCT tersebut dengan PRNG (Pseudo
Random Number Generator).
4. Proses embedding yaitu kurangi nilai kuantisasi koefisien DCT dengan bit
data pesan.
5. Lakukan kompresi pada citra tersebut dengan menggunakan kompresi
Huffman Coding.
6. Setelah proses embedding data selesai akan dihasilkan sebuah citra stego
(stego image ) dengan format jpg (*.jpg).









3.1.6.2 Aktivity Diagram Proses Extracting Pesan













Gambar 3.5 Activity Diagram Extracting Pesan
Proses penguraian pesan pada stego image dengan algoritma F5 ini sesuai dengan
Aktivity Diagram proses Extracting pesan pada Gambar 3.5 yaitu:
1. Masukkan stego image dan key
2. Kemudian lakukan dekompres pada citra stego tersebut dengan
menggunakan huffman decoder.
3. Lakukan permutasi koefisien DCT dengan PRNG.
4. Setelah itu lakukan proses ektraksi pesan dalam citra stego tersebut.
5. Hasil berupa pesan hasil proses extracting.
Input Stego
Image,Input Stego Key
Huffman
Decoding
Permutasi Koefisien
DCT dengan PRNG
Proses
Extraction
Secret
Message
Extract : Extract Stegoanalisis : Stegoanalis


3.1.6.3 Aktivity Diagram Proses Lihat Nilai Pixel (Uji F5)















Gambar 3.6 Activity Diagram Lihat Nilai Pixel

Proses analisis nilai pixel stego image untuk mengetahui ketahanan algoritma F5
ini sesuai dengan Aktivity Diagram proses analisis diatas pada Gambar 3.6 yaitu:
1. Masukkan citra, bisa citra stego atau citra asli.
2. Ambil blok citra pada titik tertentu.
3. Tampilkan nilai Red, Green, dan Blue dari citra.
Input Image
Ambil Blok Citra
pd titik tertentu
Tampilkan
Nilai RGB
Tampilkan Nilai
GrayScale
Hitung DCT
Hitung
Kuantisasi
Uj iF5 : Void Steganoanalis : User


4. Tampilkan nilai Grayscale dari citra.
5. Hitung nilai Discrete Cosine Transform.
6. Dilakukan proses kuantisasi.
3.1.7 Analisis Squence Diagram
3.1.7.1 Squence Diagram Proses Embedding Pesan












Gambar 3.7 Squence Diagram Proses Embedding Pesan

Pada gambar 3.7 menggambarkan aliran pesan dari use case embedding pesan.
Masing-masing pesan juga menggambarkan suatu objek yang membuat
pemanggilan objek yang lain yang saling keterkaitan dalam suatu proses
embedding pesan.
: User
: MainFrame : DCT : Permutation : F5Random : JpegEncoder : Huffman aksiEmbed :
Embed
cipherEBT_actionPerformed( )
messageEBT_actionPerformed( )
encipherBT_actionPerformed( )
oriEBT_actionPerformed( )
Huffman( )
JpegEncoder( )
DCT( )
Permutation( )
F5Random( )
main( )


3.1.7.2 Squence Diagram Proses Extracting Pesan












Gambar 3.8 Squence Diagram Proses Extracting Pesan
Pada gambar 3.8 menggambarkan aliran pesan dari use case ektracting pesan.
Masing-masing pesan juga menggambarkan suatu objek yang membuat
pemanggilan objek yang lain yang saling keterkaitan dalam suatu proses
ektracting pesan.





: User
: MainFrame aksiEktraksi :
Extract
: HuffmanDecode : Permutation : F5Random
cipherDBT_actionPerformed( )
messageDBT_actionPerformed( )
main( )
HuffmanDecode( )
Permutation( )
F5Random( )


3.1.7.3 Squence Diagram Proses Lihat Nilai Pixel











Gambar 3.9 Squence Diagram Proses Lihat Nilai Pixel

Pada gambar 3.9 menggambarkan aliran pesan dari use case Lihat nilai pixel.
Masing-masing pesan menggambarkan suatu objek yang membuat pemanggilan
objek yang lain.






: User
: FormUjiF5 : TampilPixel : TampilGrayScale : HitungDCT : ImageFunction : DCTFunctions
open File( )
TampilPixel( )
TampilGrayScale( )
FillDCTLV( )
LoadPictureBox1( )
buttonTampilPixel( )
buttonTampilGrayScale( )
buttonHitungDCT( )


3.1.8 Desain Kelas
Kelas-kelas yang diperlukan dalam pembuatan perangkat lunak steganografi ini
adalah sebagai berikut :
Program Steganografi F5 sebagai berikut:
Kelas MainFrame
Kelas ini berfungsi sebagai kelas utama yaitu terdapat komponen berupa
menu untuk menjalankan aplikasi, seperti menu yang berisi Embedding
yang di dalamnya terdapat aplikasi embedding pesan, menu extracting
yang didalamnya terdapat aplikasi exctracting pesan.
Kelas Embed
Kelas ini digunakan untuk memproses penyisipan pesan dengan tipe *.txt
kedalam citra dengan tipe *.bmp maupun *.jpg, sehingga pesan tersebut
dapat disembunyikan.
Kelas Extract
Berkebalikan dari fungsi kelas diatas, kelas ini berfungsi untuk proses
menguraikan kembali pesan yang telah tersembunyi didalam citra atau
stego image, sehingga pesan tersembunyi dapat muncul kembali.
Kelas Permutation
Kelas ini berfungsi untuk proses permutation dari setiap nilai pixel dari
citra.
Kelas F5Random
Kelas yang berfungsi sebagai pengacak (shuffled) nilai pixel secara
random dengan menggunakan PRNG yang dibangkitkan oleh password.


Kelas Huffman
Kelas yang berfungsi untuk proses huffman coding sehingga didapatkan
citra yang memiliki ukuran size yang lebih kecil.
Kelas JpegEncoder
Kelas ini berfungsi untuk proses Jpeg Encoder yaitu proses pengcodingan
citra menjadi citra tipe *.jpg
Program Uji F5:
Kelas FormUjiF5
Berisi tampilan utama program uji F5, yang mana terdapat fungsi untuk
mengambil citra dan menampilkanya dan memperkecil ukuran citra
menjadi 16x16 pixel untuk mempermudah analisis.
Kelas TampilPixel
Kelas yang akan menampilkan komponen warna Red, Green, dan Blue
Kelas TampilGrayScale
Kelas yang akan menampilkan komponen grayscale.
Kelas HitungDCT
Kelas ini akan melakukan proses perhitungan DCT dan perhitungan
kuantisasi dan menampilkan hasil perhitungan keduanya.

Berdasarkan penjelasan analisis kelas diatas dapat digambarkan kelas diagram
pada Gambar 3.10

























Gambar 3.10 Class Diagram Aplikasi Steganografi F5

java sun
F5Random
random : SecureRandom
b : Byte
F5Random()
getNextValue()
getNextByte()
JpegEncoder
runner : Thread
Image : Image
Huf : Huffman
dct : DCT
Quality : Quality
JpegEncoder()
Permutation
shuffled : Integer
Permutation()
getShuffled()
DCT
N : Integer
QUALITY : Integer
DCT()
initMatrix()
forwardDCT()
Huffman
bufferPutBits : Integer
bufferPutBuffer : Integer
ImageHeight : Integer
ImageWidth : Integer
Huffman()
HuffmanBlockEncoder()
bufferIt()
flushBuffer()
Bmp
iDataOffset : Integer
pixel : Integer
imageFile : Integer
Bmp()
readBitmapFileHeader()
readBitmapInfoHeader()
HuffmanDecode
HuffmanDecode()
Decode_AC_coefficients()
Decode_ZZ()
closeStream()
Diagram Class Steganografi F5
Diagram Class Lihat Nilai Pixel
ImageFunction
setImage()
getBMPSize()
padWidth()
padHeight()
DCTFunctions
calculateDCT()
Quantize()
Extract
f : File
carrier : Byte
coeff : Integer
fos : FileOutputStream
embFileName : String
password : String
deZigZag : Byte
main()
MainFrame
fileDialog : FileDialog
mainPanel : Panel
cardLayout1 : CardLayout
encipherP : Panel
decipherP : Panel
borderLayout2 : BorderLayout
label1,label2,label3,label4 : Label
gridLayout1 : GridLayout
oriETF : TextField
messageETF : TextField
cipherETF : TextField
oriEBT : Button
messageEBT : Button
cipherEBT : Button
resultETA : TextArea
encipherBT : Button
messageDTF : TextField
cipherDBT : Button
messageDBT : Button
label9,label10 : Label
cipherDTF : TextField
decipherBT : Button
resultDTA : TextArea
menuBar1 : MenuBar
menu1,menu2 : Menu
menuItem1,menuItem2 : MenuItem
password1,password2 : String
main()
oriEBT_actionPerformed()
cipherEBT_actionPerformed()
messageEBT_actionPerformed()
cipherDBT_actionPerformed()
messageDBT_actionPerformed()
encipherBT_actionPerformed()
decipherBT_actionPerformed()
Embed
image : Image
dataOut : FileOutputStream
file,outFile : File
jpeg : JpegEncoder
i,Quality : Integer
haveInputImage : Boolean
embFileName : String
password : String
inFileName : String
outFileName : String
main()
HitungDCT
FillDCTLV()
TampilGrayScale
TampilGrayScale()
komponenGrayScale()
buttonHitungDCT()
FormUjiF5
open File()
buttonTampilPixel()
LoadPictureBox1()
pictureBox1_MouseMove()
pictureBox2_MouseMove()
TampilPixel
TampilPixel()
komponeRed()
komponenGreen()
komponenBlue()
buttonTampilGrayScale()


3.2 Perancangan Aplikasi
Pada perancangan aplikasi steganografi F5 ini akan dijelaskan mengenai
rancangan aplikasi yang akan dikerjakan serta fitur-fitur yang akan dipakai pada
aplikasi tersebut. Objek dari penelitian ini yaitu file citra dengan tipe file *.bmp
dan *.jpg. Dimana file-file tersebut akan disisipi pesan dengan menggunakan
teknik algoritma F5, kemudian setelah kita mendapatkan file citra yang telah
disisipi pesan atau disebut stego image, maka terhadap stego image tersebut akan
diuji ketahananya terhadap berbagai operasi manipulasi atau image ditortion yaitu
penambahan efek gaussian blur, perubahan intensitas warna, rotation, scaling.
Nanti akan diuji apakah pesan yang terkandung dalam citra tersebut masih bisa
diurai kembali atau tidak. Hal ini bertujuan untuk mengetahui apakah ada
pengaruh terhadap pesan yang terkandung dalam citra setelah proses manipulasi
citra dilakukan.
3.2.1 Proses Embedding Pesan dengan Algoritma F5
Citra dengan ukuran 8x8 pixel dengan masing-masing nilai pixelnya:

Kemudian masing-masing nilai pixel tersebut dikurangi dengan 128,
sehingga didapatkan hasil sebagai berikut:



Dilakukan proses DCT pada masing-masing nilai pixel:

+
=

= =
7
0
7
0
8 2
7
22
0 ) 1 0 2 (
cos
8 2
7
22
0 ) 1 0 2 (
cos ) , ( ) 0 ( ) 0 (
8
2
) 0 , 0 (
x y
y x f C C F

+
=

= =
7
0
7
0
8 2
7
22
0 ) 1 0 2 (
cos
8 2
7
22
0 ) 1 0 2 (
cos ) , (
2
1
2
1
8
2
) 0 , 0 (
x y
y x f F

[ ] [ ] ) 0 cos * 0 cos * 34 ).....( 0 cos * 0 cos . 73 ( ) 0 cos * 0 cos * 76 (
2
1
2
1
8
2
) 0 , 0 ( + = F

[ ] 3323
8
1
) 0 , 0 ( = F

375 , 415 ) 0 , 0 ( = F

+
=

= =
7
0
7
0
8 2
7
22
1 ) 1 1 2 (
cos
8 2
7
22
0 ) 1 0 2 (
cos ) , ( ) 1 ( ) 0 (
8
2
) 1 , 0 (
x y
y x f C C F

+
=

= =
7
0
7
0
8 2
7
22
1 ) 1 1 2 (
cos
8 2
7
22
0 ) 1 0 2 (
cos ) , ( 1
2
1
8
2
) 1 , 0 (
x y
y x f F
30 ) 1 , 0 ( = F

Dan seterusnya, sehingga didapatkan nilai koefisien DCT sebagai berikut :
Setelah itu dilakukan proses kuantisasi nilai diatas, diketahui nilai default
matrik kuantisasi (tersimpan dalam file citra) sebagai berikut:
Maka didapatkan nilai DCT hasil




26
16
415
=

Round
Setelah itu dilakukan proses permutasi pada keseluruhan pixel citra
Dilakukan proses embedding pesan misal:


Setelah itu dilakukan proses kuantisasi nilai diatas, diketahui nilai default
matrik kuantisasi (tersimpan dalam file citra) sebagai berikut:


Maka didapatkan nilai DCT hasil kuantisasi :
26

Setelah itu dilakukan proses permutasi pada keseluruhan pixel citra
Dilakukan proses embedding pesan misal:
Setelah itu dilakukan proses kuantisasi nilai diatas, diketahui nilai default
Setelah itu dilakukan proses permutasi pada keseluruhan pixel citra


Pesan A dengan representasi nilai ASCII 8-bit= 01000001
Ket: Jika Nilai LSB dan Pesan tidak sama maka:
Increment koefisien negatif
Decrement koefisien positif
Skip 0,ulangi jika shirnkage terjadi





(Patel,Davang,1998)
Setelah itu dilakukan proses invers permutasi untuk mendapatkan
koefisien DCT atau domain spatialnya.
Terakhir dilakukan proses Huffman Coding untuk mendapatkan citra
dengan ukuran file yang lebih kecil.
3.2.2 Proses Extraksi
Pada dasarnya proses ektraksi merupakan proses yang berkebalikan dari
proses Embedding pesan, sehingga bisa kita uraikan langkah-langkahnya sebagai
berikut:
Masukkan Stego image dan key-nya atau shared secret.
Dilakukan decompres image dengan fungsi huffman decode.


Dilakukan proses permutasi koefisien DCT dengan PRNG yang
dibangkitkan oleh password.
Proses Ektraksi yang diimplemetasikan dalam kelas Extract.java (sumber :
James R. Weeks and BioElectroMech, 1998.)
Hasilnya pesan rahasia didapatkan.
3.2.3 Perancangan User Interface
Aplikasi steganografi F5 ini dibangun dengan desain User interface form
atau antar muka yang memiliki dua form inti, yang terdiri dari interface
Embedding dan interface Ektraksi. Berikut merupakan gambar dari interface
Embedding dan Ektraksi:










Gambar 3.11 Form Proses Embedding
Adapun keterangan bagian-bagian yang ada dalam Gambar 3.11 adalah:


1. TextField yang akan menampilkan alamat direktori citra yang akan
diembed.
2. TextField yang akan menampilkan alamat direktori citra yang telah
disisipi pesan akan diletakkan.
3. TextField yang akan menampilkan alamat direktori pesan rahasia.
4. TextField untuk menentukan password (shared secret) yang akan
digunakan.
5. Tombol yang digunakan untuk mencari direktori citra atau pesan
yang akan dicari atau diletakkan.
6. Tombol untuk memulai proses Embedding pesan kedalam citra.
7. TextArea digunakan untuk menampilkan proses embedding yang
dilakukan.










Gambar 3.12 Form Proses Extracting


Adapun keterangan bagian-bagian yang ada dalam Gambar 3.12 adalah:
1. TextField yang akan menampilkan alamat direktori citra stego yang akan
diektraksi.
2. TextField yang akan menampilkan alamat direktori dimana pesan hasil
ektraksi akan diletakkan.
3. TextField untuk menentukan password (shared secret) yang akan
digunakan,harus sama dengan password proses Embed.
4. Tombol yang digunakan untuk mencari direktori citra stego atau pesan
hasil ektraksi yang akan dicari atau diletakkan.
5. Tombol untuk memulai proses Extracting citra.
6. TextArea untuk menampilkan proses extraksi yang terjadi.
Sedangkan aplikasi program uji F5 yang akan melihat nilai pixel akan
dibangun dengan desain User interface atau antar muka yang memiliki beberapa
form inti yang terdiri dari interface Form Utama, Form Tampil Nilai RGB, Form
Tampil Gray Scale, Form Tampil Nilai DCT dan hasil kuantisasi. Berikut
merupakan gambar dari interface program uji F5.
















Gambar 3.13 Form Utama Lihat Nilai Pixel, DCT dan Kuantisasi
Adapun keterangan dari gambar diatas sebagai berikut:
1. PictureBox1 yang akan menampilkan citra dengan bentuk aslinya.
2. PictureBox2 yang akan menampilkan citra dengan blok 16x16 pixel untuk
mempermudah analisis citra.
3. Menu yang digunakan untuk mencari alamat direktori citra yang akan
dianalisis.
4. Tombol untuk menampilkan Form Tampil Pixel yang akan menampilkan
komponen pixel RGB citra.
5. Tombol untuk menutup Aplikasi.















Gambar 3.14 Form Tampil Nilai pixel RGB
Adapun keterangan dari gambar diatas sebagai berikut:
1. PictureBox yang menampilkan citra yang akan dianalisis nilai pixelnya
2. RadioButton untuk menentukan komponen warna yang dipilih ada tiga
pilihan Red, Green, dan Blue.
3. ListView untuk menampilkan nilai pixel yang terpilih, dibatasi hanya
ukuran 8x8 pixel saja.
4. Tombol untuk untuk menampilkan Form GrayScale.
5. Tombol untuk menutup Form.














Gambar 3.15 Form Tampil Nilai GrayScale
Adapun keterangan dari gambar di atas sebagai berikut:
1. PictureBox yang menampilkan citra yang sedang dianalisis
2. ListView untuk menampilkan nilai pixel dalam bentuk GrayScale.
3. Tombol untuk menampilkan Form Hitung DCT dan Kuantisasi.
4. Tombol untuk menutup Form.





















Gambar 3.16 Form Tampil Nilai DCT dan Hasil Kuantisasi
Adapun keterangan dari gambar di atas sebagai berikut:
1. ListView1 yang menampilkan nilai pixel GrayScale dari citra yang sedang
dianalisis.
2. ListView2 yang menampilkan nilai DCT dan nilai Hasil Kuantisasi.
3. Tombol untuk menampilkan hasil perhitungan kuantisasi.
4. Tombol untuk menutup Form.









3.3 Perancangan Uji Coba
Pengujian yang akan dilakukan dalam sistem ini dilihat dari ketahanan
(robustness) Algoritma F5 pada citra stego setelah dilakukan operasi manipulasi
pengolahan citra atau distorsi. Dalam uji ketahanan ini, citra stego akan diberikan
distorsi seperti pada subbab 2.11. Pengujian ketahanan dilakukan untuk
mengetahui apakah data yang telah disisipkan dapat diektrak kembali atau tidak.
3.3.3 Pengujian Ketahanan (Robusstness) Algoritma F5 pada Stego Image
terhadap Image Distortion
Sebagaimana telah disebutkan sebelumnya bahwa sebuah algoritma
steganografi harus memenuhi empat faktor. Apabila ketiga faktor telah dipenuhi
yaitu imperceptible, fidelity, recovery maka akan dilanjutkan dengan pengujian
ketahanan terhadap algoritma F5 pada stego image. Untuk melakukan pengujian
tersebut maka akan dilakukan beberapa operasi manipulasi pengolahan citra
(distorsi).
Dalam subbab ini akan dibahas tentang pengujian mutu berkas citra
yang telah disisipi pesan (stego image). Apakah mengalami penurunan kualitas
atau tidak, dan apakah informasi masih dapat diperoleh dari citra yang telah
diubah-ubah tersebut.






3.3.3.1 Penambahan Efek Gaussian Blur
Pengujian kemudian dilanjutkan untuk melihat apakah pesan yang
disisipkan masih dapat diekstrak meskipun stego image mengalami beberapa
perubahan. Dalam pembuatan operasi manipulasi pengolahan citra ini
menggunakan Adobe Photoshop, Pengujian yang dilakukan yaitu penambahan
efek Gaussian blur




Gambar 3.17 Citra diberi efek Gaussian Blur
Dan berikut perbandingan nilai piksel citra stego tanpa efek dengan citra stego
dengan penambahan efek gaussian blur :
Tabel 3.1 Nilai pixel citra stego tanpa efek dan citra stego dengan efek gaussian
blur.
Koordinat Sebelum Sesudah
x y R G B R G B


Maka setelah diberi penambahan efek gaussian blur maka citra stego
tersebut akan diekstraksi. Kemudian nilai piksel citra stego dengan penambahan
efek gaussian blur akan dibandingkan dengan nilai piksel citra stego tanpa


penambahan efek. Hal ini dimaksudkan untuk mengetahui apakah terjadi
perubahan nilai piksel atau warna antara kedua citra stego tersebut.
3.3.3.2 Penambahan Intensitas Warna
Kemudian untuk mengetahui apakah citra stego dapat tahan atau robust
dengan penambahan intensitas warna (hal ini dimaksudkan untuk mengetahui
apakah pesan dalam citra stego dapat diekstrak kembali jika nilai pikselnya
diubah) maka dengan menggunakan Adobe Photoshop atau Ms.Paint nilai RGB
dari citra stego akan ditambah. Berikut ini penambahan intensitas warna pada citra
stego :













Gambar 3.18 Citra stego dengan penambahan RGB sebanyak 1.
Dan berikut perbandingan nilai piksel citra stego tanpa penambahan intensitas
warna dengan citra stego dengan penambahan RGB sebanyak 1 :





Tabel 3.2 Nilai pixel citra stego tanpa penambahan RGB dan citra stego dengan
penambahan RGB sebanyak 1.
Koordinat Sebelum Sesudah
x y R G B R G B


Kemudian citra stego tersebut akan diekstraksi apakah pesan citra stego dengan
penambahan intensitas warna masih valid atau tidak rusak (pesan dapat
diekstraksi).
3.3.3.3 Proses Rotation
Kemudian untuk mengetahui apakah citra stego dapat tahan atau robust
dengan penambahan efek rotation (hal ini dimaksudkan untuk mengetahui apakah
pesan dalam citra stego dapat diekstrak kembali jika nilai pikselnya diubah) maka
dengan menggunakan Adobe Photoshop citra stego akan diputar searah jarum jam
sebesar 90 derajat. Berikut ini penambahan efek rotasi pada citra stego :













Gambar 3.19 Citra stego dengan penambahan efek rotasi 90 derajat searah jarum
jam.


Dan berikut perbandingan nilai piksel citra stego tanpa efek dengan citra stego
dengan penambahan efek rotasi :
Tabel 3.3 Nilai pixel citra stego tanpa rotasi dan citra stego dengan penambahan
efek rotasi.
Koordinat Sebelum Sesudah
x y R G B R G B


Kemudian citra stego tersebut akan diekstraksi apakah pesan citra stego dengan
penambahan rotasi masih valid atau tidak rusak (pesan dapat diekstraksi).
3.3.3.4 Proses Scalling
Kemudian untuk mengetahui apakah citra stego dapat tahan atau robust
dengan penambahan efek scalling (hal ini dimaksudkan untuk mengetahui apakah
pesan dalam citra stego dapat diekstrak kembali jika scalling dilakukan) maka
dengan menggunakan Adobe Photoshop citra stego akan diperbesar dengan faktor
skala 3. Berikut ini penambahan efek scalling pada citra stego :











Gambar 3.20 Citra stego dengan penambahan efek scalling faktor 3.
Dan berikut perbandingan nilai piksel citra stego tanpa efek dengan citra stego
dengan penambahan efek scalling :


Tabel 3.4 Nilai pixel citra stego tanpa efek scalling dan citra stego dengan
penambahan efek scalling 3.
Koordinat Sebelum Sesudah
x y R G B R G B


Kemudian citra stego tersebut akan diekstraksi apakah pesan citra stego dengan
penambahan scalling masih valid atau tidak rusak (pesan dapat diekstraksi).

















BAB IV
HASIL DAN PEMBAHASAN

Implementasi merupakan proses tranformasi representasi rancangan ke
bahasa pemrograman yang dapat dimengerti oleh komputer. Pada bab ini akan
dibahas hal-hal yang berkaitan dengan implementasi sistem steganografi. Bab ini
akan membahas hasil implementasi yang dihasilkan oleh perangkat lunak, yang
meliputi proses penyisipan pesan/embedding, proses menguraikan kembali pesan
yang telah disisipkan/extraction dan untuk selanjutnya dilakukan evaluasi
terhadap ketahanan algoritma F5 pada stego image dengan menambahkan image
distortion.
4.1 Lingkungan Implementasi
Lingkungan implementasi meliputi lingkungan perangkat keras serta perangkat
lunak.
4.1.1 Lingkungan Perangkat Keras
Perangkat keras yang digunakan dalam pengembangan sistem pembuatan
steganografi dan uji coba adalah :
1. Genuine AMD Turion(tm) X2 Dual-Core Mobile RM-70, MMX, 3DNow
(2 CPUs), ~2.0GHz
2. RAM 512 MB.
3. Harddisk dengan kapasitas 160 GB.
4. Monitor 14
5. Keyboard.


6. Mouse.
4.1.2 Lingkungan Perangkat Lunak
Perangkat lunak yang digunakan dalam pengembangan sistem pembuatan
steganografi dan uji coba adalah :
1. Sistem Operasi Microsoft Windows XP Professional SP 2.
2. Pemrograman Java dengan Installer J2SDK 1.5 dan editor Jcreator Pro
v3.10.008.
3. Microsoft Visual C# 2008 Express Edition.
4. Adobe Photoshop
4.2 Implementasi Program
4.2.1 Input Citra
Proses input yang dilakukan user berupa citra digital dengan format
bmp (*.bmp) dan jpg (*.jpg). Kemudian hasil citra steganografi atau stego
image akan disimpan dengan format jpg (*.jpg).

//input file citra

if (!haveInputImage)
{
if (!args[i].endsWith(".jpg") &&
!args[i].endsWith(".bmp"))
StandardUsage();
inFileName = args[i];
outFileName = args[i].substring(0,
args[i].lastIndexOf(".")) +
".jpg";
haveInputImage=true; }
else {
outFileName = args[i];
if (outFileName.endsWith(".bmp"))
outFileName = outFileName.substring(0,



outFileName.lastIndexOf("."));
if (!outFileName.endsWith(".jpg"))
outFileName = outFileName.concat(".jpg"); }
4.2.2 Perhitungan Discrete Cosine Transform (DCT)
Proses perhitungan DCT ini pertama-tama bagi citra menjadi blok-blok
8x8 pixel.

Kemudian dilakukan perhitungan DCT untuk mendapatkan koefisien DCT sesuai
dengan Persamaan 2.2.

// hitung DCT
for (v = 0; v < 8; v++)
{
for (u = 0; u < 8; u++)
{
for (x = 0; x < 8; x++)
{
for (y = 0; y < 8; y++) {
output[v][u]+=((double)input[x][y])
*Math.cos
(((double)(2*x+1) *
(double)u*Math.PI)/
(double)16)*Math.cos
(((double)(2*y + 1)
(double)v *Math.PI) /
(double)16); } }
output[v][u] *= (double)(0.25)*((u == 0) ?
((double)1.0/Math.sqrt(2)) :
(double) 1.0) * ((v==0) ?
((double)1.0/Math.sqrt(2)) :
(double) 1.0); } }
// set minimum blok panjang dan minimum blok lebar

MinBlockWidth = ((imageWidth%8 != 0) ?
(int) (Math.floor((double)
imageWidth/8.0) + 1) * 8 :
imageWidth); MinBlockHeight = ((imageHeight%8 != 0)
?
(int) (Math.floor((double)
imageHeight/8.0) + 1)*8:
imageHeight);


4.2.3 Perhitungan Quantization
Quantization dilakukan untuk mendapatkan blok-blok koefisien DC
dengan bilangan bulat atau integer yang terdekat.


index = 0;
for (i = 0; i < 8; i++) {
for (j = 0; j < 8; j++) {
// untuk membulatkan blok-blok koefisien DC dan AC
pada integer yang terdekat
outputData[index]=(int)
(Math.round(inputData[i][j] /
(double)(((int[])
(quantum[code]))[index])));
index++; }
}
4.2.4 Permutasi Koeficien DCT dengan PRNG
Setelah didapatkan koefisien DCT dan melakukan quantization maka akan
dilakukan permutasi koefisien DCT dengan PRNG.


// untuk membuat shuffled sequence, inisialisasi
array bertipe integer dari 0 ... (size-1).
for (i = 0; i < size; i++) // inisialisasi
size
shuffled[i] = i;
int maxRandom = size; // set angka masukan
untuk
shuffle
for (i = 0; i < size; i++)
{ // shuffle entries
randomIndex = random.getNextValue(maxRandom--
);
tmp = shuffled[randomIndex];
shuffled[randomIndex] = shuffled[maxRandom];
shuffled[maxRandom] = tmp; }





4.2.5 Proses Embedding
Proses embedding yaitu proses untuk menyisipkan pesan kedalam citra
yang telah diinputkan. Pada proses ini pertama-tama inisialisasi PRNG dengan
shared secret atau stego key. Kemudian permutasi koefisien DCT dengan
PRNG. Kemudian kurangi nilai absolut koefisien DCT (tabel kuantisasi)
dengan bit data pesan.
// Copyright (C)1998, James R. Weeks and
BioElectroMech.
// embed status word first
for(i=0; i<coeffCount; i++) {
shuffledIndex = permutation.getShuffled(i);
if (shuffledIndex%64 == 0) continue; // skip DC
coefficients
if (coeff[shuffledIndex] == 0) continue; // skip
zeroes
// rev. 12: skip every second 1 or -1
if (Math.abs(coeff[shuffledIndex]) == 1)
if (((++one)&1) == 0) continue;
was2 = (Math.abs(coeff[shuffledIndex]) == 2);

if (coeff[shuffledIndex] > 0) {
if ((coeff[shuffledIndex]&1) != nextBitToEmbed) {
coeff[shuffledIndex]--; // decrease absolute
value
_changed++; }
} else {
if ((coeff[shuffledIndex]&1) == nextBitToEmbed) {
coeff[shuffledIndex]++; // increase absolute
value
_changed++; }
}
// rev. 12: skip every second 1 or -1
if (was2 && (Math.abs(coeff[shuffledIndex]) == 1))
if (((++one)&1) == 0) continue;
if (coeff[shuffledIndex] != 0) {
// The coefficient is still nonzero.
// successfully embedded "nextBitToEmbed".
// read a new bit to embed now.
if (availableBitsToEmbed==0)
break; // statusword embedded.
nextBitToEmbed = byteToEmbed & 1;
byteToEmbed >>= 1;
availableBitsToEmbed--;
_embedded++;
} else {
_thrown++;
one--;


}
}

embeddingLoop:
do {
kBitsToEmbed = 0;
// get k bits to embed
for (i=0; i<k; i++) {
if (availableBitsToEmbed==0)
// If the byte of embedded text is empty, get a
new one.
try {
if (embeddedData.available()==0) {
isLastByte = true;
break;
}
byteToEmbed = embeddedData.read();
byteToEmbed ^= random.getNextByte();
} catch (Exception e) {
e.printStackTrace();
break;
}



4.2.6 Huffman Coding
Setelah citra disisipkan pesan maka citra selanjutnya dikompresi
menggunakan kompresi Huffman coder sehingga citra stego atau stego image
yang dihasilkan akan berukuran lebih kecil.
public void HuffmanBlockEncoder(BufferedOutputStream
outStream, int zigzag[], int prec, int DCcode,
int ACcode)
{
int temp, temp2, nbits, k, r, i;
NumOfDCTables = 2;
NumOfACTables = 2;
// The DC portion
temp = temp2 = zigzag[0] - prec;
if(temp < 0)
{
temp = -temp;
temp2--;
}
nbits = 0;
while (temp != 0)
{
nbits++;
temp >>= 1;


}
bufferIt(outStream,
((int[][])DC_matrix[DCcode])[nbits][0],
((int[][])DC_matrix[DCcode])[nbits][1]);
// The arguments in bufferIt are code and size.
if (nbits != 0)
{
bufferIt(outStream, temp2, nbits);
}
// The AC portion
r = 0;
for (k = 1; k < 64; k++)
{
if ((temp = zigzag[jpegNaturalOrder[k]]) == 0)
{
r++; }
else
{
while (r > 15)
{
bufferIt(outStream,
((int[][])AC_matrix[ACcode])[0xF0][0],
((int[][])AC_matrix[ACcode])[0xF0][1]);
r -= 16;
}
temp2 = temp;
if (temp < 0)
{
temp = -temp;
temp2--;
}
nbits = 1;
while ((temp >>= 1) != 0)
{
nbits++; }
i = (r << 4) + nbits;
bufferIt(outStream,
((int[][])AC_matrix[ACcode])[i][0],
((int[][])AC_matrix[ACcode])[i][1]);
bufferIt(outStream, temp2, nbits);
r = 0;
}
}
if (r > 0)
{
bufferIt(outStream,
((int[][])AC_matrix[ACcode])[0][0],
((int[][])AC_matrix[ACcode])[0][1]);
} }







4.2.7 Proses Extraction
Pada proses extraction atau penguraian pesan diimplementasikan
dalam sebuah kelas (extract.java). Data yang diperlukan dalam proses
penguraian pesan adalah citra stego (stego image) yang sudah dibuat dengan
aplikasi ini dan sebuah key untuk otentikasi.
Dalam proses penguraian pesan dalam citra, pertama kali yang
dilakukan adalah melakukan dekompresi terhadap stego image tersebut
dengan menggunakan huffman decoder.
/* Andreas Westfeld 1999 */
/* HuffmanDecode.class:

public void HuffDecode(int[][][] buffer) {
int x, y, tmp, sz = X * Y, scan=0;
int[][] Block = new int[8][8];
int Cs, Ta, Td, blocks;
long t;
double time;

// Membaca Scan Header information
Ls = getInt(); Ns = getByte();
Cs = getByte();
Td = getByte();
Ta = Td & 0x0f;
Td >>= 4;
Ss = getByte(); Se = getByte();
Ah = getByte(); Al = Ah & 0x0f;
Ah >>= 4;

// Calculate the Number of blocks encoded
//blocks = X * Y / 64;
blocks = getBlockCount()/6;
// decode image data and return image data in array
for(cnt=0;cnt<blocks;cnt++) {
// Get DC coefficient
if(Td == 0)
hftbl = 0;
else
hftbl = 2;
tmp = DECODE();
DIFF = RECEIVE(tmp);
ZZ[0] = PRED + EXTEND(DIFF, tmp);
PRED = ZZ[0];
// Get AC coefficients
if(Ta == 0)


hftbl = 1;
else
hftbl = 3;
Decode_AC_coefficients();

// dezigzag and dequantize block
for(lp=0;lp<64;lp++)
Block[deZZ[lp][0]][deZZ[lp][1]] = ZZ[lp] *
QNT[0][lp];

// store blocks in buffer
for(x=0;x<8;x++)
for(y=0;y<8;y++)
buffer[cnt][x][y]=Block[x][y];
}
closeStream();
}

// Public get methods
public int getX() { return X; }
public int getY() { return Y; }
public int getPrec() { return P; }
public int getComp() { return Nf; }

// Return quantized coefficients
public void rawDecode(int[][][] buffer) {
int x, y, tmp;
int[][] Block = new int[8][8];
int Cs, Ta, Td, blocks;
long t;
double time;
// Read in Scan Header information
Ls = getInt(); Ns = getByte();
Cs = getByte();
Td = getByte();
Ta = Td & 0x0f;
Td >>= 4;

Ss = getByte(); Se = getByte();
Ah = getByte(); Al = Ah & 0x0f;
Ah >>= 4;

// Calculate the Number of blocks encoded
blocks = getBlockCount()/6;

// decode image data and return image data in array
for(cnt=0;cnt<blocks;cnt++) {
// Get DC coefficient
if(Td == 0)
hftbl = 0;
else
hftbl = 2;
tmp = DECODE();
DIFF = RECEIVE(tmp);
ZZ[0] = PRED + EXTEND(DIFF, tmp);
PRED = ZZ[0];



// Get AC coefficients
if(Ta == 0)
hftbl = 1;
else
hftbl = 3;
Decode_AC_coefficients();

// dezigzag
for(lp=0;lp<64;lp++)
Block[deZZ[lp][0]][deZZ[lp][1]] = ZZ[lp];

// store blocks in buffer
System.out.print(cnt+" ");
for(x=0;x<8;x++) {
for(y=0;y<8;y++) {
buffer[cnt][x][y]=Block[x][y];
}
}
}
closeStream();
}


Setelah itu akan dilakukan ekstraksi yang akan diimplementasikan pada kelas
extract.java berikut ini :
//Author: Andreas Westfeld

private static File f; // carrier file
private static byte[] carrier; // carrier data
private static int[] coeff; // dct values
private static FileOutputStream fos; // embedded file
(output file)
private static String embFileName; // output file
name
private static String password;
HuffmanDecode hd = new HuffmanDecode(carrier); // Huff.DEC
System.out.println("Huffman decoding dimulai");
coeff=hd.decode();
System.out.println("Permutation dimulai");// Permutasi
F5Random random = new F5Random(password.getBytes());
Permutation permutation = new Permutation(coeff.length,
random);

// extract length information
for (i=0; availableExtractedBits<32; i++) {
shuffledIndex = permutation.getShuffled(i);
if (shuffledIndex%64 == 0)
continue; // skip DC coefficients
shuffledIndex = shuffledIndex-
(shuffledIndex%64)+deZigZag[shuffledIndex%64];


if (coeff[shuffledIndex] == 0)
continue; // skip zeroes

// rev. 12: skip every second 1 or -1
if (Math.abs(coeff[shuffledIndex]) == 1)
if (((++one)&1) == 0)
continue;

if (coeff[shuffledIndex] > 0)
extractedBit=coeff[shuffledIndex]&1;
else
extractedBit=1-(coeff[shuffledIndex]&1);
extractedFileLength |= extractedBit <<
availableExtractedBits++;
}



extractedFileLength &= 0x007fffff;

System.out.println("Ukuran File Pesan yang diembed: "
+extractedFileLength+ " bytes");



4.2.8 Lihat Nilai Pixel Citra
Proses ini akan melihat komponen nilai pixel baik komponen
Red,Green,Blue atau nilai grayscale serta menampilkan proses perhitungan
DCT dan perhitungan kuantisasi. Program ini diimplementasikan dengan
bahasa C# dengan editor Visual Studio C# 2008 Express Edition.
int i, j;
string[] rowRGB = new string[9];
byte pixelColor;

Bitmap img = new Bitmap(pictureBox1.Image);

listView1.Items.Clear();
listView1.ForeColor = componentColor;

for (i=quadY; i<quadY+8; i++)
{
rowRGB[0] = "y" + i.ToString();
for (j=quadX; j<quadX+8; j++)


{
if (componentColor == Color.Red)
pixelColor = img.GetPixel(j,i).R;
else if (componentColor == Color.Green)
pixelColor = img.GetPixel(j,i).G;
else
pixelColor = img.GetPixel(j,i).B;

rowRGB[j-quadX+1] =
pixelColor.ToString();
}
listView1.Items.Add(new
ListViewItem(rowRGB));
}

int i, j;
string[] rowRGB = new string[9];
byte pixelColor;
double gray;
double pixelR, pixelG, pixelB;

Bitmap img = new Bitmap(pictureBox1.Image);

listView1.Items.Clear();

for (i=quadY; i<quadY+8; i++)
{
rowRGB[0] = "y" + i.ToString();
for (j=quadX; j<quadX+8; j++)
{
pixelR = img.GetPixel(j,i).R;
pixelG = img.GetPixel(j,i).G;
pixelB = img.GetPixel(j,i).B;
gray = (0.3*pixelR + 0.59*pixelG +
0.11*pixelB);
pixelColor = (byte) gray;
listView1.ForeColor = Color.Black;

rowRGB[j-quadX+1] = pixelColor.ToString();

valueMatrix[i-quadY,j-quadX] = pixelColor;
}
listView1.Items.Add(new
ListViewItem(rowRGB));
}


4.3. Pembahasan
Pada bagian pembahasan ini akan diuji program aplikasi steganografi yang
telah dibuat. Berikut ini adalah tampilan program ketika pertama kali dijalankan.:












Gambar 4.1 Tampilan Running Program
4.3.1 Proses Embedding
Pada proses embedding ini, pertama akan digunakan media gambar dengan
format BMP dengan dimensi 191 x 150 dan ukuran citra 84,4 KB. Sedangkan teks
yang disisipkan dalam gambar diambil dari file teks tipe *.txt dengan kapasitas
sebesar 811 bytes.
Langkah pertama memilih gambar dengan menekan tombol Cari yang
terletak di atas kotak gambar, kemudian akan muncul open dialog untuk memilih


gambar yang diinginkan. Lalu setelah menekan tombol OK, nama direktori serta
nama gambar akan muncul pada teks box. Kemudian simpan output citra dengan
cara menekan tombol Cari sehingga akan muncul save dialog, tekan tombol save
maka akan muncul nama direktori dan nama citra setelah dilakukan embedding,
hal ini dilakukan untuk menyimpan citra stego dengan format jpg (*.jpg).
Sedangkan untuk membuka file teks yang ada, dengan menekan tombol Cari pada
File Pesan, lalu akan muncul open dialog untuk memilih file teks yang akan
dibuka. Setelah menekan ok, maka akan muncul nama direktori dan nama file
teks. Setelah mengisi Password, klik tombol Proses Embedding maka proses
penyisipan dilakukan.
Gambar 4.2 Gambar tampilan ketika proses selesai dilakukan:












Gambar 4.2 Tampilan proses penyisipan pesan dengan citra input format BMP
Pada Gambar 4.2 menunjukkan bahwa ukuran citra inputan adalah 191 x
150 pixel. 6520 bit (811 bytes) berhasil di-embed atau disisipkan dengan efisiensi
sebesar 1,5 bits per change. Sebanyak 4246 koefisien diubah atau disisipi dengan
bit data pesan dan sebanyak 1543 koefisien yang di-skip karena bernilai 0.


Setelah semua karakter berhasil di-embed maka langkah selanjutnya
adalah melakukan Huffman Coding untuk mengkompres citra stego.
Dari proses penyisipan pesan diatas, dihasilkan sebuah gambar stego
dengan format jpg (*.jpg) yang kualitasnya sama persis dengan gambar aslinya
sebelum disisipkan pesan. Ukuran resolusi dan kedalaman warnanya sama persis,
keduanya mempunyai resolusi 191x150 tetapi kapasitas citranya berkurang
sebesar 76,28 KB, dengan kapasitas citra asli atau citra sebelum disisipkan adalah
84,4 KB sedangkan citra hasil stego yang telah dikompresi menjadi 8,12 KB.
Dimana dari hasil diatas terdapat 4246 koefisien yang diubah dengan efisiensi
sebesar 1,5 bit per perubahan. 1543 koefisien yang di-skip karena bernilai nol.





a. media citra asli (guitarB.bmp, 84,4 KB)











b. citra stego( guitarBstego.jpg, 8,12 KB)
Gambar 4.3 Media Citra asli format BMP dan gambar stego format
JPEG


Setelah dilakukan penyisipan pesan maka citra dengan format BMP
tersebut tidak terlalu banyak mengalami perubahan hal ini terlihat dari gambar
stego guitarBstego.jpg yang telah mengalami penyisipan pesan. Tidak terlihat
perbedaan secara nyata dengan media gambar aslinya yaitu guitarB.bmp.
Untuk mengetahui apakah terjadi perubahan pixel, berikut ini nilai
grayscale dan nilai RGB (Red, Green, Blue) sebelum citra disisipkan pesan dan
RGB sesudah citra disisipkan pesan (sesuai pada Tabel 4.1). Hampir seluruh nilai
pixel mengalami perubahan. Ada nilai pixel yang mengalami penambahan dan ada
pula nilai pixel yang mengalami pengurangan.







Gambar 4.4 Nilai pixel grayscale citra asli BMP (blok 8x8 pixel)







Gambar 4.5.Nilai pixel Grayscale Citra stego jpg (blok 8x8 pixel)

Tabel 4.1 Nilai pixel citra asli format BMP dan citra stego yang berubah.


Koordinat Sebelum Sesudah
x y R G B R_S G_S B_S
0 0 156 145 42 156 144 34
1 0 150 139 35 154 140 31
2 0 153 143 23 160 147 35
3 0 170 160 38 173 160 46
4 0 179 167 54 180 165 48
5 0 167 156 41 168 153 36
6 0 165 156 31 166 151 32
7 0 184 176 40 184 172 52

5 7 145 132 38 146 131 38
6 7 163 144 48 162 147 54
7 7 162 139 44 152 135 45

Pada proses embedding selanjutnya yaitu dengan citra input JPEG , media
citra asli format JPG dengan ukuran atau dimensi 191 x 150 pixel dengan size
sebesar 84,4 KB. Kemudian akan dilakukan proses embedding atau penyisipan
data teks tipe *.txt yang memiliki ukuran yang sama yaitu sebesar 811 bytes.
Setelah dilakukan proses embedding maka didapatkan hasil sebagai berikut:

























Gambar 4.6 Tampilan proses penyisipan pesan dengan citra input format JPEG

Dari Gambar 4.6 menunjukkan terjadi perbedaan perhitungan koefisien
DCT dari citra input format BMP dan citra input format JPEG. Untuk
menyisipkan pesan sebesar 811 bytes pada citra input JPEG yang memiliki
dimensi yang sama, sebanyak 4167 koefisien yang diubah dengan efisiensi 1.5 bit
per change dan sebanyak 1663 koefisien yang di-skip karena bernilai 0.
Dari proses penyisipan pesan diatas, dihasilkan sebuah gambar stego
dengan format jpg (*.jpg) yang memilki kualitas yang hampir sama dengan
gambar aslinya sebelum disisipkan pesan namun dengan ukuran (size) yang lebih
kecil ,dimana telah terjadi pengurangan ukuran citra sebesar 23,73 KB.








a. citra asli (guitarJ.jpg 32,3 KB)






b. citra stego (guitarJstego.jpg 11,8)
Gambar 4.7 Media Citra asli format JPEG dan gambar stego format JPEG
Dari Tabel 4.2 menunjukkan nilai RGB (Red, Green, Blue) sebelum citra
disisipkan pesan dan RGB sesudah citra disisipkan pesan. Seperti pada citra input
format BMP, citra input format JPEG juga mengalami perubahan nilai piksel.
Ada nilai pixel yang mengalami penambahan dan ada pula nilai pixel yang
mengalami pengurangan.










Gambar 4.8 Nilai pixel grayscale citra asli format jpg (blok 8x8 pixel)
Gambar 4.8 Nilai pixel grayscale citra asli format jpg (blok 8x8 pixel)






Gambar 4.9 Nilai pixel grayscale citra stego format jpg (blok 8x8 pixel)

Tabel 4.2 Nilai pixel citra asli format JPG dan citra stego yang berubah
Koordinat Sebelum Sesudah
x y R G B R_S G_S B_S
0 0 154 140 43 152 141 33
1 0 153 139 34 155 144 29
2 0 157 141 28 139 128 13
3 0 170 153 39 178 167 51
4 0 183 165 53 176 164 46
5 0 165 150 33 159 147 29
6 0 169 160 31 187 175 55
7 0 178 172 32 170 158 40
.. .
5 7 129 122 18 137 120 28
6 7 166 146 47 163 146 54
7 7 161 130 39 147 131 36



Sehingga dapat disimpulkan bahwa citra stego dari hasil citra input format
BMP memiliki kualitas yang hampir sama dengan citra stego dari hasil citra input
format JPEG hal ini terlihat secara kasat mata dalam batas penglihatan normal
manusia tidak ada perbedaan yang terlalu menonjol antara citra asli dan citra
stego. Dengan ukuran dimensi yang sama (191 x 150 pixel) dan ukuran pesan
yang sama (811 bytes), citra stego dari citra awal tipe BMP mengalami
pengurangan ukuran yang sangat drastis yaitu dari 84,4 kb menjadi 8,12 kb saja
hal ini disebabkan karena proses kompresi huffman, berbeda dengan citra stego
hasil dari citra tipe JPG, tidak terlalu banyak mengalami perubahan ukuran hal ini
disebabkan citra JPG telah terlebih dahulu mengalami proses kompresi huffman.
4.3.2 Proses Extraction
Kemudian setelah proses embedding, proses selanjutnya adalah proses
extraction. Untuk melakukan penguraian pesan atau extraction dalam gambar,
dibutuhkan citra stego yang telah dibuat dengan aplikasi ini. Untuk memulai
proses extraction pertama pilih citra stego dengan menekan tombol Cari,
kemudian pilih citra stego yang akan diekstraksi, setelah itu tekan tombol Cari
untuk menyimpan file teks yang telah diekstrak dan masukkan Password yang
benar dan tekan tombol Proses Extraction, maka teks yang tersembunyi akan
dapat diurai.





























Gambar 4.10 Tampilan proses extraction
Pada proses extraction ini, pertama-tama yaitu melakukan proses Huffman
decoding, setelah itu lakukan permutasi sehingga didapatkan koefisien-koesisien
yang telah diubah. Setelah proses permutasi selesai maka langkah selanjutnya
adalah proses ekstraksi. Pada contoh proses ektraksi ini menggunakan citra stego
hasil proses embedding citra format BMP dimana pada proses tersebut telah
disisipi pesan sebesar 811 bytes, dan setelah dilakukan proses ektraksi didapatkan
kembali pesan yang sama sebesar 811 bytes.
4.4 Implementasi Uji Coba
Pada subbab ini akan dilakukan implementasi uji coba mengenai
ketahanan algoritma F5 yang telah dilakukan pada sistem dan hasil evaluasi dari
hasil yang dikeluarkan sistem.


4.4.1 Evaluasi Ketahanan (Robustness) Citra Stego
Pada subbab ini akan diuji ketahanan (sesuai dengan subbab 3.3.3) citra
stego yang telah disisipkan pesan, yang kemudian citra stego tersebut akan diberi
operasi manipulasi pengolahan citra atau image distortion.
Dalam subbab ini akan dibahas tentang pengujian mutu berkas citra yang
telah disisipi pesan (stego image). Apakah informasi masih dapat diperoleh dari
citra yang telah diubah-ubah tersebut.
4.4.1.1 Penambahan Efek Gaussian Blur
Pengujian kemudian dilanjutkan untuk melihat apakah pesan yang disisipkan
masih dapat diekstrak meskipun gambar mengalami beberapa perubahan. Berikut
pengujian ketahanan algoritma f5 pada citra stego dengan operasi penambahan
efek Gaussian blur :




guitarBstego.jpg
(Citra Stego)

guitarBstegoblur.jpg
(Citra stego hasil
Gaussian Blur)
Gambar 4.11 Gambar stego tanpa efek dan gambar stego yang diberi efek
Gaussian Blur






Berikut ini hasil ekstraksi Gambar 4.12 :























Gambar 4.12 Hasil ektraksi guitarBstegoblur.jpg

Setelah dilakukan penambahan efek Gaussian Blur ternyata pesan tidak
dapat diekstraksi lagi. Hal ini disebabkan adanya perubahan warna tiap-tiap pixel.
Dan untuk membuktikan bahwa terjadi perubahan warna pada citra stego yang
diberi efek gaussian blur maka Tabel 4.3 menunjukkan perbandingan nilai RGB
dari citra stego tanpa efek dan citra stego dengan efek :







Tabel 4.3 Nilai pixel citra stego tanpa efek Gaussian Blur dan citra stego dengan
efek Gaussian Blu r (pada blok 8x8 pixel)
Koordinat Sebelum Sesudah
x y R G B R_blur G_blur B_blur
0 0 156 144 34 156 146 33
1 0 154 140 31 156 146 33
2 0 160 147 35 158 148 35
3 0 173 160 46 160 148 36
4 0 180 165 48 162 150 38
5 0 168 153 36 165 152 40
6 0 166 151 32 166 153 41
7 0 184 172 52 167 154 42

5 7 146 131 38 145 129 33
6 7 162 147 54 145 129 33
7 7 152 135 45 145 129 33

Tabel 4.3 menunjukkan bahwa terjadi perubahan nilai piksel yang cukup
signifikan. Sehingga hal ini membuktikan bahwa citra stego yang diberi efek
gaussian blur (guitarBstegoblur.jpg) mengalami perubahan warna tiap pikselnya,
Dan hal ini juga mempengaruhi nilai koefisien DCT dan kuantisasinya. Berikut
perbandingan Nilai piksel gray scale, koefisien DCT dan kuantisasi antara citra
stego tanpa efek gaussian blur dan citra stego dengan efek gaussian blur.
Tabel 4.4 Perbandingan nilai DCT dan nilai kuantisasi sebelum dan sesudah citra
stego diberi efek gaussian blur.
Koordinat Nilai DCT Nilai Kuantisasi
x y Sebelum Sesudah Sebelum Sesudah
0 0 1059,875 1053,750 66 66
1 0 -15,972 -11,973 -1 -1
2 0 -40,318 0,237 -4 0
3 0 -12,443 0,712 -1 0
4 0 19,625 -0,250 1 0
5 0 16,173 -0,448 0 0
6 0 0,329 0,135 0 0
7 0 0,279 0,440 0 0



5 7 -0,041 0,314 0 0
6 7 -0,020 0,543 0 0
7 7 0,334 0,279 0 0

4.4.1.2 Penambahan Intensitas Warna
Uji ketahanan selanjutnya adalah menambah intensitas warna pada citra
stego. Hal ini untuk dimaksudkan untuk mengetahui apakah dengan menambah
atau mengubah intensitas warna, pesan dalam citra stego tersebut dapat diekstrak
kembali atau tidak (untuk mengetahui apakah dengan mengubah nilai pikselnya,
pesan masih dapat diekstrak kembali). Dalam uji coba ini, nilai RGB (Red, Green,
Blue) citra stego akan ditambah. Dengan menggunakan Adobe Photoshop maka
intensitas RGB citra stego akan ditambah masing-masing sebanyak 1 (Red = 1,
Green = 1, Blue = 1).







guitarBstego.jpg
(Citra Stego)

guitarBstegoInten1.jpg
(Citra stego dengan
penambahan RGB =1)

Gambar 4.13 Gambar stego tanpa penambahan intensitas dan gambar stego
yang diberi penambahan intensitas warna.


Tabel 4.4 menunjukkan nilai piksel citra stego sebelum ditambahkan intensitas
RGB dan citra stego yang telah ditambahkan intensitas warnanya:

Tabel 4.5 Nilai pixel citra stego tanpa penambahan RGB dan citra stego dengan
penambahan RGB sebanyak 1.(blok 8x8 pixel)
Koordinat Sebelum Sesudah
x y R G B R_1 G_1 B_1
0 0 156 144 34 154 142 34
1 0 154 140 31 154 142 34
2 0 160 147 35 163 150 38
3 0 173 160 46 172 159 45
4 0 180 165 48 179 164 47
5 0 168 153 36 169 154 35
6 0 166 151 32 166 152 30
7 0 184 172 52 187 171 49

5 7 146 131 38 141 132 37
6 7 162 147 54 157 147 52
7 7 152 135 45 148 138 43

Dari nilai piksel citra stego tanpa penambahan RGB dan citra stego dengan
penambahan RGB sebanyak 1 seperti pada Tabel 4.4 menunjukkan nilai piksel
berubah bukan hanya karena penyisipan tetapi juga karena adanya penambahan
intensitas warna RGB. Kemudian citra stego dengan penambahan intensitas
tersebut akan diekstraksi, Gambar 4.14 menunjukkan hasil ekstraksi citra stego
tersebut :



Gambar 4.14 Hasil ekstraksi citra stego dengan penambahan intensitas warna.

Gambar 4.14 Menunjukkan bahwa pesan tidak dapat diekstrak kembali,hal
ini diketahui bahwa hanya 0 bytes, yang berarti tidak ada pesan. Dan tabel 4.6
menunjukkan perbandingan Nilai piksel gray scale, koefisien DCT dan kuantisasi
antara citra stego tanpa penambahan intensitas warna dan citra stego dengan
penambahan intensitas warna (penambahan RGB sebanyak 1) :
Tabel 4.6 Perbandingan nilai DCT dan nilai kuantisasi sebelum dan sesudah citra
stego diberi efek intensitas warna.
Koordinat Nilai DCT Nilai Kuantisasi
x y Sebelum Sesudah Sebelum Sesudah
0 0 1059,875 1059,875 66 66
1 0 -15,972 -16,379 -1 -1
2 0 -40,318 -40,087 -4 -4
3 0 -12,443 -12,203 -1 -1


4 0 19,625 17,875 1 1
5 0 16,173 10,926 0 0
6 0 0,329 0,233 0 0
7 0 0,279 -0,061 0 0

5 7 -0,041 -0,206 0 0
6 7 -0,020 -0,217 0 0
7 7 0,334 0,201 0 0

4.4.1.3 Perubahan Arah (Rotation)
Uji ketahanan selanjutnya adalah melakukan perubahan arah terhadap citra
stego (rotation) searah jarum jam, apakah dengan melakukan perputaran arah,
pesan dalam citra stego tersebut dapat diekstrak kembali atau tidak. Dalam uji
coba ini, citra stego akan diputar sebesar 90 derajat searah jarum jam. Dengan
menggunakan Adobe Photoshop maka citra akan diputar sebesar 90 derajat searah
jarum jam.






guitarBstego.jpg
(Citra Stego)

guitarBstego90CW.jpg
(Citra stego diputar
=90CW)
Gambar 4.15 Gambar stego tanpa perputaran dan gambar stego yang diputar
90 derajat searah jarum jam.
Tabel 4.7 Menunjukkan nilai piksel citra stego sebelum diputar dan citra stego
yang telah diputar 90 derajat arah jarum jam.


Tabel 4.7 Nilai pixel citra stego tanpa perputaran dan citra stego setelah diputar
90 derajat (blok 8x8 pixel)
Koordinat Sebelum Sesudah
x y R G B R_90 G_90 B_90
0 0 156 144 34 89 65 29
1 0 154 140 31 122 98 62
2 0 160 147 35 116 92 54
3 0 173 160 46 149 124 83
4 0 180 165 48 236 202 154
5 0 168 153 36 241 196 137
6 0 166 151 32 255 201 131
7 0 184 172 52 252 193 117

5 7 146 131 38 233 189 116
6 7 162 147 54 243 205 132
7 7 152 135 45 233 201 128

Dari nilai piksel citra stego tanpa perputaran dan citra stego dengan
perputaran sebesar 90 derajat seperti pada Tabel 4.7 menunjukkan nilai piksel
berubah bukan hanya karena penyisipan tetapi juga karena proses perubahan arah.
Hal ini disebabkan pada proses rotasi 90 derajat ini terjadi proses penyalinan
pixel-pixel baris ke pixel-pixel kolom pada arah rotasi, hal ini juga akan merubah
nilai DCT dan kuantisasinya. Kemudian citra stego dengan perputaran tersebut
akan diekstraksi, Gambar 4.16 menunjukkan hasil ekstraksi citra stego tersebut :



Gambar 4.16 Hasil ekstraksi citra stego dengan perputaran rotasi 90 derajat.
Gambar 4.16 menunjukkan bahwa pesan tidak dapat diekstrak kembali, hal
ini ditunjukkan hanya 0 bytes data yang berhasil diektraksi. Dan tabel 4.8
menunjukkan perbandingan Nilai piksel gray scale, koefisien DCT dan kuantisasi
antara citra stego tanpa perputaran dan citra stego dengan perputaran sebesar 90
derajat :
Tabel 4.8 Perbandingan nilai DCT dan nilai kuantisasi sebelum dan sesudah citra
stego diberi efek rotation 90 cw.
Koordinat Nilai DCT Nilai Kuantisasi
x y Sebelum Sesudah Sebelum Sesudah
0 0 1059,875 1323,250 66 83
1 0 -15,972 -371,643 -1 -34
2 0 -40,318 -219,231 -4 -22
3 0 -12,443 -59,849 -1 -4
4 0 19,625 -27,250 1 -1
5 0 16,173 -21,760 0 -1


6 0 0,329 -0,112 0 0
7 0 0,279 16,149 0 0

5 7 -0,041 0,167 0 0
6 7 -0,020 0,289 0 0
7 7 0,334 -0,124 0 0

4.4.1.4 Perubahan Ukuran (Scalling)
Uji ketahanan selanjutnya adalah melakukan perubahan ukuran (scalling)
terhadap citra stego, apakah dengan melakukan perubahan ukuran tersebut, pesan
dalam citra stego tersebut dapat diekstrak kembali atau tidak. Dalam uji coba ini,
citra stego akan diperbesar sebesar faktor 3. Dengan menggunakan Adobe
Photoshop maka citra akan diubah ukuranya.








guitarBstego.jpg
(Citra Stego)

guitarBstego90CW.jpg
(Citra stego diputar
=90CW)
Gambar 4.17 Gambar stego tanpa perbesaran 3 dan gambar stego yang
diperbesar dengan faktor 3.



Tabel 4.9 Nilai piksel citra stego sebelum diubah dan citra stego yang telah
diperbesar dengan faktor 3.
Koordinat Sebelum Sesudah
x y R G B R_F3 G_F3 B_F3
0 0 156 144 34 164 151 37
1 0 154 140 31 151 138 23
2 0 160 147 35 169 154 39
3 0 173 160 46 173 158 41
4 0 180 165 48 171 154 36
5 0 168 153 36 168 152 31
6 0 166 151 32 162 146 24
7 0 184 172 52 184 165 44

5 7 146 131 38 168 159 56
6 7 162 147 54 157 148 43
7 7 152 135 45 139 128 23

Dari nilai piksel citra stego tanpa perbesaran dan citra stego dengan
perbesaran dengan faktor 3 seperti pada Tabel 4.9 menunjukkan nilai piksel
berubah bukan hanya karena penyisipan tetapi juga karena proses perubahan
skala. Hal ini disebabkan pada proses scalling ini terjadi proses pengubahan
ukuran citra (membesar atau mengecil), hal ini juga akan merubah nilai DCT dan
kuantisasinya. Kemudian citra stego dengan perbesaran 3 tersebut akan
diekstraksi, Gambar 4.18 menunjukkan hasil ekstraksi citra stego tersebut :



Gambar 4.18 Hasil ekstraksi citra stego dengan perbesaran dengan faktor 3
Gambar 4.18 menunjukkan bahwa pesan tidak dapat diekstrak kembali, hal
ini ditunjukkan hanya 0 bytes data yang berhasil diektraksi. Dan tabel 4.10
menunjukkan perbandingan Nilai piksel gray scale, koefisien DCT dan kuantisasi
antara citra stego tanpa perbesaran dan citra stego dengan perbesaran dengan
faktor 3 :
Tabel 4.10 Perbandingan nilai DCT dan nilai kuantisasi sebelum dan sesudah citra
stego diberi efek scalling dengan perbesaran faktor 3.
Koordinat Nilai DCT Nilai Kuantisasi
x y Sebelum Sesudah Sebelum Sesudah
0 0 1059,875 1083,750 66 68
1 0 -15,972 -15,661 -1 -1
2 0 -40,318 -43,827 -4 -4
3 0 -12,443 6,446 -1 0
4 0 19,625 26,500 1 1
5 0 16,173 0,117 0 0


6 0 0,329 0,024 0 0
7 0 0,279 0,182 0 0

5 7 -0,041 0,346 0 0
6 7 -0,020 -0,185 0 0
7 7 0,334 -0,058 0 0

Dari uji coba diatas diperoleh informasi bahwa ternyata secara umum
pesan yang disisipkan gagal untuk diestraksi apabila media JPEG (media stego)
yang digunakan dikenai perubahan. Hal ini terjadi karena palet warna atau nilai
piksel (RGB) pun berubah ketika sebuah berkas stego atau stego image diberi
penambahan image distortion yang otomatis juga merubah nilai DCT dan nilai
kuantisasinya, dimana pada proses embedding nilai kuantisasi inilah yang akan
disisipi pesan.
Sebenarnya proses F5 merupakan proses kompresi JPEG yang mana
ditengah-tengah tahapan proses kompresi tersebut ditambahkan proses permutasi
dan embedding pesan dengan F5 (Bab 3, Gambar 3.2). LSB dari koefisien yang
terkuantisasi dalam proses inilah yang dapat digunakan sebagai bit-bit redundant
untuk meng-embed pesan rahasia. Modifikasi koefisien DCT tunggal akan
memengaruhi 64 pixel gambar.(Ariyus,2004). Sehingga dalam hal ini modifikasi
sedikit saja pada nilai pixel dapat mempengaruhi pixel-pixel yang lain dan ini
tentunya dapat menyebabkan bit pesan yang telah disisipkanpun dapat
termodifikasi yang artinya pesan tidak dapat diambil kembali.
Sehingga dapat disimpulkan bahwa algoritma F5 mempunyai kelemahan
yaitu tidak tahan atau tidak robust terhadap operasi manipulasi pengolahan citra
atau image distortion terutama yang dilakukan pada citra penampung, hal ini


dapat dilihat dari percobaan dengan berbagai variasi warna pada citra penampung
(Lampiran 4 ), teryata dapat dikatakan 100 % pesan yang tersisipi gagal untuk
diambil kembali faktor utama penyebab kegagalan disebabkan oleh adanya
perubahan warna tiaptiap piksel citra seperti pada operasi penambahan efek yaitu
efek Gaussian blur , penambahan intensitas warna, rotation,dan proses scalling.
Selanjutnya akan dilakukan percobaan dimana distorsi akan diberikan
pada citra penampung terlebih dahulu sebelum citra penampung tersebut disisipi
pesan, dari percobaan yang telah dilakukan (Lampiran 3 ), dapat dilihat secara
umum pesan dapat disisipkan maupun diektrak secara baik, dari 6 percobaan yang
dilakukan pada citra ukuran 8x8 pixel hampir 60 % ke atas tingkat keberhasilanya,
hanya mengalami kegagalan embedding ataupun extracting pada citra yang
mempunyai warna polos atau citra yang memiliki variasi warna yang sedikit hal
ini disebabkan pada citra polos pada ukuran 8x8 pixel memiliki nilai kuantisasi
bernilai 0 sebanyak 63, sehingga F5 tidak akan menyisipkan pesan (skip koefisien
yang bernilai 0)(Patel,Davang, 1998). Dari percobaan yang dilakukan secara
umum semakin banyak variasi warna pada citra penampung menyebabkan
kemungkinan keberhasilan penyisipan pesan semakin besar.
Pada percobaan yang dilakukan dimana distorsi diberikan pada citra
penampung sebelum proses penyisipan pesan, artinya pada proses ini dilakukan
perubahan-perubahan nilai-nilai pixel hasil distorsi tersebut terlebih dahulu,
sehingga didapatkan citra penampung dengan nilai-nilai pixel yang baru, yang
tentunya ini tidak mempengaruhi proses embedding ataupun extracting pesan,
berbeda ketika distorsi diberikan pada citra penampung yang telah disisipi pesan,


tentunya hal ini menyebabkan perubahan-perubahan nilai pixel yang dari hasil
percobaan terlihat dapat dikatan 100% gagal.























BAB V
KESIMPULAN DAN SARAN

5.1 KESIMPULAN
Kesimpulan yang didapat dalam pengerjaan Tugas Akhir ini adalah :
1. Steganografi dengan algoritma F5 dapat digunakan untuk komunikasi rahasia
tanpa mencurigakan karena media penyimpanannya berupa gambar digital
yang masih dapat dilihat dengan mata tanpa ada suatu kejanggalan. Tingkat
keberhasilan proses embedding ataupun extracting mencapai 66 %, dimana
teknik F5 lebih cocok diterapkan pada citra yang memiliki variasi warna yang
lebih beragam.
2. Algoritma F5 ini memiliki kelemahan yaitu citra yang telah disisipi pesan
tidak tahan terhadap perubahan(distortion). Karena setelah dilakukan beberapa
perubahan terhadap citra diperoleh hasil bahwa pesan tidak dapat lagi
diekstrak. Hal ini disebabkan adanya perubahan warna tiap-tiap piksel citra
yang juga menyebabkan perubahan nilai DCT dan kuantisasinya seperti pada
operasi penambahan efek yaitu efek Gaussian blur , penambahan intensitas
warna atau penambahan RGB, rotation, dan proses scalling. Berbeda ketika
distorsi diberikan pada citra penampung sebelum disisipi pesan, maka F5
masih dapat melakukan embedding atau extracting pesan dengan baik, karena
perubahan nilai pixel terjadi sebelum proses embedding dilakukan.




5.2 SARAN
Beberapa saran untuk pengembangan lebih lanjut yang dapat diberikan oleh
Penulis adalah :
1. Format gambar yang dipakai sebaiknya tidak hanya menggunakan format file
BMP dan JPEG saja, tetapi bisa format gambar yang lain.
2. Untuk pengembangan selanjutnya diharapkan pesan yang disisipkan dapat
diekstrak kembali apabila citra stego tersebut diberi operasi manipulasi
pengolahan citra atau image distortion.
3. Apabila ingin mengembangkan lebih jauh lagi, steganografi diharapkan dapat
membantu menyembunyikan data dalam video atau audio, tidak hanya data
berupa teks saja yang dapat disembuyikan.














DAFTAR PUSTAKA

Ariyus, Dony, 2009, Keamanan Multimedia. Penerbit Andi Offset, Yogyakarta

Adythia, Rhesa. 2007. Studi dan Deteksi Steganografi pada File Bertipe JPEG
dengan Tiga Steganographic System.M
http://www.informatika.org/~rinaldi/Matdis/20062007/Makalah/Maka
lah0607-107.pdf. tanggal akses : 01 Oktober 2009
Achmad, Balza. 2005, Teknik Pengolahan Citra Digital Menggunakan Delphi,
Ardi, Yogyakarta.
Alam, Ibnu. 2008. Aplikasi Kode Huffman dalam Kompresi Gambar Berformat
JPEG. http://www.informatika.org/~rinaldi/Matdis/2007-2008
/Makalah/MakalahIF2153-0708-075.pdf, tanggal akses : 12 Juli 2009.

Dwi Prasetyo, Didik. 2007. 150 Rahasia Pemrograman Java, Jakarta : Elex
Media Komputindo.

Fridrich, J, Miroslav Goljan, Dorin Hogea. 2002. Steganalysis of JPEG Images :
Breaking The F5 Algorithm.
http://www.ws.binghamton.edu/fridrich/Research/f5.pdf., tanggal
akses : 18 Oktober 2009.
Irianto.2004.Embedding Pesan Rahasia Dalam. Gambar. http:// www .cert.or.id
/~budi/courses/ec7010/2004-2005/irianto-report.pdf., tanggal akses :
18 September 2009.
M. Quraish Shihab. 2002. Tafsir AlMisbah: Pesan Kesan dan Keserasian
AlQuran. Jakarta: Lentera Hati.

Munir, Rinaldi, 2004. Pengolahan Citra Digital dengan pendekatan Algoritmik.
Informatika. Bandung.
Murinto,2005. Penyisipan Robust Watermark Dalam Suatu Citra Untuk
Perlindungan Hak Cipta. http://www.murintokusumo.com/petra-
2005.pdf . Diakses tanggal 14 Juli 2009.
Patel,Davel.1998.F5 AStenagograpic Algorithm. www. ec.njit.edu/ ~shi/courses/
ECE643//F5%20 Presentation.ppt Diakses tanggal 14 Juli 2009.
Sellars, Duncan, An Introduction to Steganography,URL :
http://www.cs.uct.ac.za/courses/CS400W/NIS/papers99/dsellars/stego
.html. Diakses tanggal 12 Juli 2009.
Setiana, 2006. Steganografi pada File Citra Bitmap 24 Bit untuk Pengamanan
data menggunakan metode Least Significant Bit(LSB) Insertion.
FMIPA.Universitas Brawijaya.
Supangkat, H.S Kuspriyanto dan Juanda. 2000. Watermarking Sebagai Teknik
Penyembunyian label Hak Cipta pada data Digital.
http://www.digitally1.paume.itb.ac.id/mite/paper%2006%.pdf.
Diakses tanggal 12 Juli 2009.



Purnama, Rangsang. 2003. Pemrograman Java Jilid 1,2. Surabaya : Prestasi
Pustaka.

Martin, Indrajani. 2007. Pemrograman Berbasis Objek dengan Bahasa Java.
Jakarta : Elex Media Komputindo.

Suhono, Supangkat, H., Juanda, K. (2000). Watermarking Sebagai Teknik
Penyembunyian Hak Cipta Pada Data Digital. Jurnal Departemen
Teknik Elektro, Institut Teknologi Bandung.

Sulistyanto, Hermawan. 2002. Implementasi Alihragam Wavelet untuk Pemampat
Dat Citra. http://eprints.ums.ac.id/776/1/Emitor_HNS_Impelementasi
AlihRagamWavelet.pdf., tanggal akses : 18 Oktober 2009.

Jendricke, Uwe. 2003. Steganography and Watermaking. http://www.iig.uni
freiburg.de/n.pdf., tanggal akses : 07 Nopember 2009.
Mohanty, Saruju P. 1999. Digital Watermarking :A Tutorial
Review.http://www.cs.unt.edu/~smohanty/research/Reports/MohantyWatermarking
Survey1999.pdf., tanggal akses : 07 Nopember 2009.
Provos, Niels & Honeyman, Peter. Hide and Seek : An Introduction to
Steganopgraphy.www.eng.auburn.edu/csse/classes/comp7370/lessons/
Steganography.pdf., tanggal akses : 18 Januari 2010.
Westfeld, Andreas. 2001. F5-A Steganographic Algorithm. www.os.inf.tu-
dresden.de/~westfeld/publikationen/f5.pdf., tanggal akses : 18
Oktober 2009.






















Lampiran 1. Hasil Uji F5 Citra Tipe JPEG


Hasil Extraksi citra stego tipe JPG sebelum Distorsi.
Koordinat Nilai DCT Nilai Kuantisasi
x y Sebelum
disisipi
Pesan
Sesudah
disisipi
Pesan
Sebelum
disisipi
Pesan
Sesudah
disisipi
Pesan
0 0 1059,875 1059,625 66 66
1 0 -16,172 -16,078 -1 -1
2 0 -39,856 -35,818 -4 -4
3 0 -11,850 -11,792 -1 -1
4 0 18,125 10,125 1 0
5 0 10,819 -0,274 0 0
6 0 0,138 0,089 0 0
7 0 32,133 23,899 1 0
...
5 7 0,798 0,391 0 0
6 7 -0,487 -0,093 0 0
7 7 -0,388 -0,079 0 0

Nilai DCT dan kuantisasi citra tipe JPG (guitarJ.jpg dan guitarJstego.jpg)
Sebelum dan sesudah disisipi Pesan.




Hasil extraksi citra stego tipe jpg setelah diberi efek blur (guitarJstegoblur.jpg).
Koordinat Nilai DCT Nilai Kuantisasi
x y Sebelum
Efek
Sesudah
Efek
Sebelum
Efek
Sesudah
Efek
0 0 1059,625 1047,250 66 65
1 0 -16,078 -12,876 -1 -1
2 0 -35,818 -4,174 -4 0
3 0 -11,792 -0,218 -1 0
4 0 10,125 0,000 0 0
5 0 -0,274 -0,104 0 0
6 0 0,089 0,376 0 0
7 0 23,899 0,718 0 0

5 7 0,391 0,268 0 0
6 7 -0,093 -0,347 0 0
7 7 -0,079 0,207 0 0

Nilai DCT dan kuantisasi citra stego tipe JPG Sebelum dan sesudah diberi efek
blur.






Hasil extraksi citra stego tipe jpg setelah diberi efek penambahan Intensitas warna
(guitarJstegoInten1.jpg).
Koordinat Nilai DCT Nilai Kuantisasi
x y Sebelum
Efek
Sesudah
Efek
Sebelum
Efek
Sesudah
Efek
0 0 1059,625 1060,125 66 66
1 0 -16,078 -16,141 -1 -1
2 0 -35,818 -35,451 -4 -4
3 0 -11,792 -12,473 -1 -1
4 0 10,125 8,875 0 0
5 0 -0,274 0,010 0 0
6 0 0,089 -0,334 0 0
7 0 23,899 16,480 0 0

5 7 0,391 0,363 0 0
6 7 -0,093 0,023 0 0
7 7 -0,079 -0,095 0 0

Nilai DCT dan kuantisasi citra stego tipe JPG Sebelum dan sesudah diberi efek
penambahan Intensitas warna.




Hasil extraksi citra stego tipe jpg setelah diberi efek rotasi 90 derajat searah jarum
jam (guitarJstego90cw.jpg).
Koordinat Nilai DCT Nilai Kuantisasi
x y Sebelum
Efek
Sesudah
Efek
Sebelum
Efek
Sesudah
Efek
0 0 1059,625 1327,875 66 83
1 0 -16,078 -378,207 -1 -34
2 0 -35,818 -207,251 -4 -21
3 0 -11,792 -60,130 -1 -4
4 0 10,125 -26,875 0 -1
5 0 -0,274 -42,620 0 -1
6 0 0,089 -13,328 0 0
7 0 23,899 -15,298 0 0

5 7 0,391 -0,303 0 0
6 7 -0,093 -0,030 0 0
7 7 -0,079 -0,426 0 0

Nilai DCT dan kuantisasi citra stego tipe JPG Sebelum dan sesudah diberi efek
rotasi 90 derajat searah jarum jam.




Hasil extraksi citra stego tipe jpg setelah diberi efek scalling dengan pembesaran 3
(guitarJstegozoomout3.jpg).
Koordinat Nilai DCT Nilai Kuantisasi
x y Sebelum
Efek
Sesudah
Efek
Sebelum
Efek
Sesudah
Efek
0 0 1059,625 1089,750 66 68
1 0 -16,078 -15,816 -1 -1
2 0 -35,818 -36,064 -4 -4
3 0 -11,792 5,982 -1 0
4 0 10,125 18,250 0 1
5 0 -0,274 -10,858 0 0
6 0 0,089 12,232 0 0
7 0 23,899 -0,239 0 0

5 7 0,391 -0,341 0 0
6 7 -0,093 -0,033 0 0
7 7 -0,079 -0,372 0 0

Nilai DCT dan kuantisasi citra stego tipe JPG Sebelum dan sesudah diberi efek
scalling dengan pembesaran 3.




Lampiran 2. Proses Embedding dan Extracting Pesan tanpa Distorsi
Ukuran citra=8x8 pixel
Tipe: *.bmp
Ukuran pesan= 40 bits ( 1 karakter A)
No Nama citra
Asli
Embedded
Pesan (bits)
Hasil
embedding
Nilai Kuantisasi
bernilai 0
Alasan Nama Citra
Stego
Hasil
Extraksi
1

atas0.bmp
0 gagal 63 F5 akan men-
Skip nilai
kuantisasi yang
benilai 0

atasstego0.jpg
gagal
2

atas1.bmp
22 gagal 56 Tidak berhasil
mengembed
pesan secara
lengkap

atasstego1.jpg
gagal
3

atas2.bmp
40 berhasil 39 File pesan ter-
embed lengkap

atasstego2.jpg
berhasil
4

atas3.bmp
40 berhasil 38 File pesan ter-
embed lengkap

atasstego3.jpg
berhasil
5

atas4.bmp
40 berhasil 35 File pesan ter-
embed lengkap

atasstego4.jpg
berhasil
6

atas5.bmp
40 berhasil 33 File pesan ter-
embed lengkap

atasstego5.jpg
berhasil
Tingkat Keberhasilan perangkat lunak dalam menyisipkan dan
mengembalikan data adalah sebesar :

100 66,67 %


No Nama citra
Asli
Embedded
Pesan (bits)
Hasil
embedding
Nilai
Kuantisasi
bernilai 0
Alasan Nama Citra Stego Hasil
Extraksi
1

diagonal0.bmp
0 gagal 63 F5 akan men-
Skip nilai
kuantisasi yang
benilai 0

diagonal0stego.jpg
gagal
2

diagonal1.bmp
38 gagal 56 Tidak berhasil
mengembed
pesan secara
lengkap

diagonal1stego.jpg
gagal
3

diagonal2.bmp
40 berhasil 36 File pesan ter-
embed lengkap

diagonal2stego.jpg
berhasil
4

diagonal3.bmp
40 berhasil 35 File pesan ter-
embed lengkap

diagonal3stego.jpg
berhasil
5

diagonal4.bmp
40 berhasil 33 File pesan ter-
embed lengkap

diagonal4stego.jpg
berhasil
6

diagonal5.bmp
40 berhasil 31 File pesan ter-
embed lengkap

diagonal5stego.jpg
berhasil

Tingkat Keberhasilan perangkat lunak dalam menyisipkan dan
mengembalikan data adalah sebesar :

100 66,67 %






No Nama citra
Asli
Embedded
Pesan (bits)
Hasil
embedding
Nilai Kuantisasi
bernilai 0
Alasan Nama Citra Stego Hasil
Extraksi
1

bawah0.bmp
0 gagal 63 F5 akan men-
Skip nilai
kuantisasi yang
benilai 0

bawah0stego.jpg
gagal
2

bawah1.bmp
17 gagal 56 Tidak berhasil
mengembed
pesan secara
lengkap

bawah1stego.jpg
gagal
3

bawah2.bmp
40 berhasil 45 File pesan ter-
embed lengkap

bawah2stego.jpg
berhasil
4

bawah3.bmp
40 berhasil 43 File pesan ter-
embed lengkap

bawah3stego.jpg
berhasil
5

bawah4.bmp
40 berhasil 43 File pesan ter-
embed lengkap

bawah4stego.jpg
berhasil
6

bawah5.bmp
40 berhasil 41 File pesan ter-
embed lengkap

bawah5stego.jpg
berhasil

Tingkat Keberhasilan perangkat lunak dalam menyisipkan dan
mengembalikan data adalah sebesar :

100 66,67 %




Lampiran 3. Proses Embedding dan Extracting Pesan pada image terdistorsi
Ukuran citra=8x8 pixel, Tipe: *.bmp
Ukuran pesan= 40 bits ( 1 karakter A )
Gaussian Blur
No Nama citra
Asli
Embedded
Pesan (bits)
Hasil
embedding
Nilai Kuantisasi
bernilai 0
Alasan Nama Citra
Stego
Hasil
Extraksi
1

atas0.bmp
0 gagal 63 F5 akan men-
Skip nilai
kuantisasi yang
benilai 0

atasstego0.jpg
gagal
2

atas1.bmp
18 gagal 56 Tidak berhasil
mengembed
pesan secara
lengkap

atasstego1.jpg
gagal
3

atas2.bmp
32 gagal 48 Tidak berhasil
mengembed
pesan secara
lengkap

atasstego2.jpg
gagal
4

atas3.bmp
29 gagal 49 Tidak berhasil
mengembed
pesan secara
lengkap

atasstego3.jpg
gagal
5

atas4.bmp
31 gagal 52 Tidak berhasil
mengembed
pesan secara
lengkap

atasstego4.jpg
gagal
6

atas5.bmp
40 berhasil 41 File pesan ter-
embed lengkap

atasstego5.jpg
berhasil
Tingkat Keberhasilan perangkat lunak dalam menyisipkan dan
mengembalikan data adalah sebesar :

100 16,67 %



No Nama citra
Asli
Embedded
Pesan (bits)
Hasil
embedding
Nilai
Kuantisasi
bernilai 0
Alasan Nama Citra Stego Hasil
Extraksi
1

diagonal0.bmp
0 gagal 63 F5 akan men-
Skip nilai
kuantisasi yang
benilai 0

diagonal0stego.jpg
gagal
2

diagonal1.bmp
27 gagal 60 Tidak berhasil
mengembed
pesan secara
lengkap

diagonal1stego.jpg
gagal
3

diagonal2.bmp
33 gagal 49 Tidak berhasil
mengembed
pesan secara
lengkap

diagonal2stego.jpg
gagal
4

diagonal3.bmp
33 gagal 49 Tidak berhasil
mengembed
pesan secara
lengkap

diagonal3stego.jpg
gagal
5

diagonal4.bmp
31 gagal 54 Tidak berhasil
mengembed
pesan secara
lengkap

diagonal4stego.jpg
gagal
6

diagonal5.bmp
40 berhasil 41 File pesan ter-
embed lengkap

diagonal5stego.jpg
berhasil

Tingkat Keberhasilan perangkat lunak dalam menyisipkan dan
mengembalikan data adalah sebesar :

100 16,67 %





Penambahan Intensitas Warna
No Nama citra
Asli
Embedded
Pesan (bits)
Hasil
embedding
Nilai Kuantisasi
bernilai 0
Alasan Nama Citra
Stego
Hasil
Extraksi
1

atas0.bmp
0 gagal 63 F5 akan men-
Skip nilai
kuantisasi yang
benilai 0

atasstego0.jpg
gagal
2

atas1.bmp
22 gagal 56 Tidak berhasil
mengembed
pesan secara
lengkap

atasstego1.jpg
gagal
3

atas2.bmp
40 berhasil 39 File pesan ter-
embed lengkap

atasstego2.jpg
berhasil
4

atas3.bmp
40 berhasil 38 File pesan ter-
embed lengkap

atasstego3.jpg
berhasil
5

atas4.bmp
40 berhasil 35 File pesan ter-
embed lengkap

atasstego4.jpg
berhasil
6

atas5.bmp
40 berhasil 33 File pesan ter-
embed lengkap

atasstego5.jpg
berhasil

Tingkat Keberhasilan perangkat lunak dalam menyisipkan dan
mengembalikan data adalah sebesar :

100 66,67 %




No Nama citra
Asli
Embedded
Pesan (bits)
Hasil
embedding
Nilai
Kuantisasi
bernilai 0
Alasan Nama Citra Stego Hasil
Extraksi
1

diagonal0.bmp
0 gagal 63 F5 akan men-
Skip nilai
kuantisasi yang
benilai 0

diagonal0stego.jpg
gagal
2

diagonal1.bmp
38 gagal 55 Tidak berhasil
mengembed
pesan secara
lengkap

diagonal1stego.jpg
gagal
3

diagonal2.bmp
40 berhasil 39 File pesan ter-
embed lengkap

diagonal2stego.jpg
berhasil
4

diagonal3.bmp
40 berhasil 38 File pesan ter-
embed lengkap

diagonal3stego.jpg
berhasil
5

diagonal4.bmp
40 berhasil 35 File pesan ter-
embed lengkap

diagonal4stego.jpg
berhasil
6

diagonal5.bmp
40 berhasil 33 File pesan ter-
embed lengkap

diagonal5stego.jpg
berhasil

Tingkat Keberhasilan perangkat lunak dalam menyisipkan dan
mengembalikan data adalah sebesar :

100 66,67 %







Efek Rotation
No Nama citra
Asli
Embedded
Pesan (bits)
Hasil
embedding
Nilai Kuantisasi
bernilai 0
Alasan Nama Citra
Stego
Hasil
Extraksi
1

atas0.bmp
0 gagal 63 F5 akan men-
Skip nilai
kuantisasi yang
benilai 0

Atasstego0.jpg
gagal
2

atas1.bmp
23 gagal 56 Tidak berhasil
mengembed
pesan secara
lengkap

Atasstego1.jpg
gagal
3

atas2.bmp
40 berhasil 37 File pesan ter-
embed lengkap

Atasstego2.jpg
berhasil
4

atas3.bmp
40 berhasil 35 File pesan ter-
embed lengkap

Atasstego3.jpg
berhasil
5

atas4.bmp
40 berhasil 35 File pesan ter-
embed lengkap

Atasstego4.jpg
berhasil
6

atas5.bmp
40 berhasil 33 File pesan ter-
embed lengkap

Atasstego5.jpg
berhasil

Tingkat Keberhasilan perangkat lunak dalam menyisipkan dan
mengembalikan data adalah sebesar :

100 66,67 %



No Nama citra
Asli
Embedded
Pesan (bits)
Hasil
embedding
Nilai
Kuantisasi
bernilai 0
Alasan Nama Citra Stego Hasil
Extraksi
1

diagonal0.bmp
0 gagal 63 F5 akan men-
Skip nilai
kuantisasi yang
benilai 0

diagonal0stego.jpg
gagal
2

diagonal1.bmp
40 berhasil 36 File pesan ter-
embed lengkap

diagonal0stego.jpg
berhasil
3

diagonal2.bmp
40 berhasil 34 File pesan ter-
embed lengkap

diagonal0stego.jpg
berhasil
4

diagonal3.bmp
40 berhasil 34 File pesan ter-
embed lengkap

diagonal0stego.jpg
berhasil
5

diagonal4.bmp
40 berhasil 32 File pesan ter-
embed lengkap

diagonal0stego.jpg
berhasil
6

diagonal5.bmp
40 berhasil 33 File pesan ter-
embed lengkap

diagonal0stego.jpg
berhasil

Tingkat Keberhasilan perangkat lunak dalam menyisipkan dan
mengembalikan data adalah sebesar :

100 83,33 %





Efek Scalling
No Nama citra
Asli
Embedded
Pesan (bits)
Hasil
embedding
Nilai Kuantisasi
bernilai 0
Alasan Nama Citra
Stego
Hasil
Extraksi
1

atas0.bmp
0 gagal 63 F5 akan men-
Skip nilai
kuantisasi yang
benilai 0

Atasstego0.jpg
gagal
2

atas1.bmp
20 gagal 56 Tidak berhasil
mengembed
pesan secara
lengkap

Atasstego1.jpg
gagal
3

atas2.bmp
40 berhasil 41 File pesan ter-
embed lengkap

Atasstego2.jpg
berhasil
4

atas3.bmp
40 berhasil 40 File pesan ter-
embed lengkap

Atasstego3.jpg
berhasil
5

atas4.bmp
40 berhasil 39 File pesan ter-
embed lengkap

Atasstego4.jpg
berhasil
6

atas5.bmp
40 berhasil 40 File pesan ter-
embed lengkap

Atasstego5.jpg
berhasil

Tingkat Keberhasilan perangkat lunak dalam menyisipkan dan
mengembalikan data adalah sebesar :

100 67,67 %




No Nama citra
Asli
Embedded
Pesan (bits)
Hasil
embedding
Nilai
Kuantisasi
bernilai 0
Alasan Nama Citra Stego Hasil
Extraksi
1

diagonal0.bmp
0 gagal 63 F5 akan men-
Skip nilai
kuantisasi yang
benilai 0

diagonal0stego.jpg
gagal
2

diagonal1.bmp
40 berhasil 41 File pesan ter-
embed lengkap

diagonal0stego.jpg
berhasil
3

diagonal2.bmp
40 berhasil 40 File pesan ter-
embed lengkap

diagonal0stego.jpg
berhasil
4

diagonal3.bmp
40 berhasil 38 File pesan ter-
embed lengkap

diagonal0stego.jpg
berhasil
5

diagonal4.bmp
40 berhasil 37 File pesan ter-
embed lengkap

diagonal0stego.jpg
berhasil
6

diagonal5.bmp
40 berhasil 36 File pesan ter-
embed lengkap

diagonal0stego.jpg
berhasil

Tingkat Keberhasilan perangkat lunak dalam menyisipkan dan
mengembalikan data adalah sebesar :

100 83,33 %





Lampiran 4. Hasil Extraksi citra stego setelah diberi Image distortion
Hasil Extraksi citra stego dengan distorsi Gaussian Blur
No Nama Citra Stego Hasil Extraksi
1

silang0stegoblur.jpg
Gagal
2

silang1stegoblur.jpg
Gagal
3

silang2stegoblur.jpg
Gagal
4

silang3stegoblur.jpg
Gagal
5

silang4stegoblur.jpg
Gagal
6

silang5stegoblur.jpg
Gagal






Hasil Extraksi citra stego dengan distorsi Penambahan Intensitas warna
No Nama Citra Stego Hasil Extraksi
1

bawah0stegointen1.jpg
Gagal
2

bawah1stegointen1.jpg
Gagal
3

bawah2stegointen1.jpg
Gagal
4

bawah3stegointen1.jpg
Gagal
5

bawah4stegointen1.jpg
Gagal
6

bawah5stegointen1.jpg
Gagal






Hasil Extraksi citra stego dengan distorsi efek rotation
No Nama Citra Stego Hasil Extraksi
1

silang0stegorotation.jpg
Gagal
2

silang1stegorotation.jpg
Gagal
3

silang2stegorotation.jpg
Gagal
4

silang3stegorotation.jpg
Gagal
5

silang4stegorotation.jpg
Gagal
6

silang5stegorotation.jpg
Gagal






Hasil Extraksi citra stego dengan distorsi efek scalling
No Nama Citra Stego Hasil Extraksi
1

atas0stegscalling.jpg
Gagal
2

atas1stegscalling.jpg
Gagal
3

atas2stegscalling.jpg
Gagal
4

atas3stegscalling.jpg
Gagal
5

atas4stegscalling.jpg
Gagal
6

atas5stegscalling.jpg
Gagal





















Lampiran 5. Tabel Karakter


Lampiran 5. Tabel Karakter

Anda mungkin juga menyukai