Analisis Dan Implementasi Steganografi P

Seminar Nasional Teknologi Informasi dan Komunikasi (SNASTIKOM 2013)

ISBN 978-602-19837-3-7

Analisis Dan Implementasi Steganografi Pada Citra Gif Menggunakan
Algoritma Gifshuflle
Mufida Khairani1), Sajadin Sembiring2)

Jurusan Teknik Informatika Sekolah Tinggi Teknik Harapan Medan
Jl. H.M. Joni No. 70A Medan 20152 Indonesia
E-mail : [email protected]

Abstrak

Algoritma Gifshuffle merupakan sebuah algoritma
steganografi yang dapat menyisipkan pesan pada
berkas citra GIF berdasarkan pertukaran posisi
warna pada palet warna berkas tersebut. Prinsip
algoritma ini didasarkan pada kenyataan bahwa
susunan warna pada palet warna dari sebuah citra
GIF tidak mempengaruhi bagaimana citra terlihat.

Aplikasi yang dibuat dalam penelitian ini tidak
hanya mengimplementasikan algoritma Gifshuffle,
tetapi juga mengimplementasikan algoritma
kriptografi Affine Cipher agar steganalisis lebih
sulit memperoleh pesan asli. Kelemahan dari
algoritma Gifshuffle adalah sangat terbatasnya
panjang pesan yang dapat disisipkan karena jumlah
warna pada palet warna citra GIF adalah maksimal
256 warna. Sementara kelebihan dari algoritma ini
adalah aspek imperceptibility (perbedaan citra asli
dan citra hasil penyisipan pesan tidak dapat
dipersepsi oleh indra) yang sangat memuaskan.
Kata Kunci : Algoritma Gifshuffle, citra GIF,
algoritma kriptografi Affine

1. Pendahuluan

menggunakan 8-bit untuk setiap piksel. Tidak
seperti format JPEG yang dapat menampung jutaan
warna (menggunakan 24-bit untuk setiap piksel).

(Vaughan, 2006).
Format gambar GIF memiliki dua versi, yaitu
GIF87a dan GIF89a. GIF87a adalah versi pertama
dari format GIF yang berupa gambar statis.
CompuServe kemudian memperkenalkan versi
lanjutan, yaitu GIF89a. GIF89a dapat menampilkan
gambar dinamis (animasi) dan latar belakang
transparan.
Gifshuflle merupakan sebuah algoritma yang
menyisipkan pesan ke dalam citra berformat GIF.
Cara kerjanya adalah dengan mengubah susunan
palet warna pada citra tersebut di mana setiap
perubahan berkorespondensi dengan sebuah karakter
yang
dideklarasikan
sebelumnya.
Namun,
penyisipan pesan ke dalam citra GIF masih belum
cukup karena pesan dapat dengan mudah diekstrak
oleh steganalis. Oleh karena itu, diperlukan sebuah

proses enkripsi terhadap pesan sebelum disisipkan
ke dalam citra GIF untuk mempersulit steganalis
dalam memperoleh informasi dari pesan rahasia
tersebut

1.1 Tujuan Penelitian

Meningkatnya penggunaan internet dewasa ini telah
menyebabkan semakin meningkatnya kebutuhan
akan keamanan dan kecepatan dalam proses
pengiriman data. Steganografi merupakan salah satu
pilihan dalam menjaga kerahasiaan data yang
dikirim. Steganografi menyamarkan keberadaan
pesan
yang
telah
disisipkan
ke
media
penampungnya. Media penampung tersebut dapat

berupa audio, gambar, video atau media lainnya.
Untuk mempercepat proses pengiriman pesan
rahasia, diperlukan sebuah media penampung pesan
yang berukuran kecil namun tetap dapat menjamin
kerahasiaan pesan yang dikandungnya. GIF
(Graphics Interchange Format) adalah format
gambar yang diperkenalkan oleh CompuServe pada
1987 dan merupakan salah satu format yang umum
digunakan dalam web karena ukurannya yang kecil.
Format GIF hanya menampung maksimal 256 warna
saja dalam sebuah berkas gambar karena

a. Merancang sebuah aplikasi yang menyisipkan
dan mengekstrak pesan berupa teks dalam media
penampung berupa citra dengan format GIF
menggunakan algoritma Gifshuflle.
b. Merancang sebuah aplikasi yang dapat
mengenkripsi
dan
mendekripsi

teks
menggunakan algoritma kriptografi Affine
Cipher.

2.

Kriptografi

Kriptografi saat ini telah menjadi salah satu syarat
penting dalam keamanan teknologi informasi
terutama dalam pengiriman pesan rahasia.
Pengiriman pesan rahasia sangat rentan terhadap
serangan yang dilakukan oleh pihak ketiga, seperti
penyadapan, pemutusan komunikasi, pengubahan
pesan yang dikirim, dan lain-lain. Kriptografi dapat
meningkatkan keamanan dalam pengiriman pesan

Information Technology

4-9


Seminar Nasional Teknologi Informasi dan Komunikasi (SNASTIKOM 2013)

atau komunikasi data dengan cara menyandikan
pesan tersebut berdasarkan algoritma dan kunci
tertentu yang hanya diketahui oleh pihak-pihak yang
berhak atas data/informasi tersebut. Hal ini
menyebabkan pihak-pihak yang tidak berhak tidak
dapat mengerti isi pesan tersebut.

2.1. Sejarah Kriptografi

Sejarah kriptografi sebagian besar merupakan
sejarah kriptografi klasik, yaitu metode enkripsi
yang menggunakan kertas dan pensil atau mungkin
dengan bantuan alat mekanik sederhana. Secara
umum algoritma kriptografi klasik dikelompokkan
menjadi dua kategori, yaitu algoritma transposisi
{transposition cipher) dan algoritma substitusi
{substitution cipher). Cipher transposisi mengubah

susunan huruf-huruf di dalam pesan, sedangkan
cipher substitusi mengganti setiap huruf atau
kelompok huruf dengan sebuah huruf atau kelompok
huruf lain. Di India, kriptografi digunakan oleh
pencinta (lovers) untuk berkomunikasi tanpa
diketahui orang. Bukti ini ditemukan di dalam buku
"Kama Sutra" yang merekomendasikan wanita
seharusnya mempelajari seni memahani tulisan
dengan cipher.
Pada abad ke-17, sejarah kriptografi mencatat
korban ketika ratu Skotlandia, Queen Mary,
dipancung setelah surat rahasianya dari balik penjara
(surat terenkripsi yang isinya rencana membunuh
Ratu Elizabeth I) berhasil dipecahkan oleh seorang
pemecah kode. Kriptografi umum digunakan di
kalangan militer. Pada Perang Dunia ke-2,
pemerintah Nazi Jerman membuat mesin enkripsi
yang dinamakan Enigma. Mesin yang menggunakan
beberapa buah rotor (roda berputar) ini melakukan
enkripsi dengan cara yang sangat rumit. Namun

Enigma cipher berhasil dipecahkan oleh pihak
Sekutu dan keberhasilan memcahkan Enigma sering
dikatakan sebagai faktor yang memperpendek
perang dunia ke-2.
Kriptografi
modern
dipicu
oleh
perkembangan peralatan komputer digital. Dengan
komputer digital, cipher yang lebih kompleks
menjadi sangat mungkin untuk dapat dihasilkan.
Tidak seperti kriptografi klasik yang mengenkripsi
karakter per karakter (dengan menggunakan alfabet
tradisional), kriptografi modern beroperasi pada
string biner. (Munir, 2006. hal: 10-12) Ada banyak
sekali algoritma kriptografi yang telah diciptakan
hingga saat ini, baik kriptografi klasik maupun
kriptografi modern. Namun algoritma kriptografi
yang dibahas dalam tugas akhir ini hanya algoritma
Affine Cipher karena algoritma tersebutlah yang

digunakan untuk menambah lapisan keamanan pada
program steganografi yang dibuat oleh penulis.

4-10

ISBN 978-602-19837-3-7

2.2 Steganografi

Steganografi adalah seni menyembunyikan pesan.
Tujuan steganografi adalah menyembunyikan
komunikasi untuk mecegah pihak ketiga mengetahui
tentang keberadaan pesan. Hal ini berbeda dengan
kriptografi, seni merahasiakan pesan, yang ditujukan
untuk membuat pesan tidak dapat dibaca oleh pihak
ketiga tetapi tidak menyembunyikan keberadaan
komunikasi rahasia tersebut. (Kessler, 2004).
Pencetus kata steganografi adalah Trithemius,
penulis buku kriptografi: "Polygraphia and
Steganographia". Istilah tersebut diambil dari

Bahasa Yunani, steganos yang artinya tersembunyi
dan graphia yang artinya tulisan. (Cox et al, 2008)
Steganografi membutuhkan dua properti yaitu media
penampung dan pesan rahasia. Media penampung
yang umum digunakan adalah gambar, suara, video,
atau teks. Pesan yang disembunyikan dapat berupa
sebuah artikel, gambar, daftar barang, kode program,
atau pesan lain. Keuntungan steganografi
dibandingkan dengan kriptografi adalah bahwa
pesan yang dikirim tidak menarik perhatian sehingga
media penampung yang membawa pesan tidak
menimbulkan kecurigaan bagi pihak ketiga. Ini
berbeda dengan kriptografi di mana cipherteks
menimbulkan kecurigaan bahwa pesan tersebut
merupakan pesan rahasia. (Munir, 2006, hal: 302).
Penyembunyian pesan rahasia ke dalam
media penampung pasti mengubah kualitas media
tersebut. Kriteria yang harus diperhatikan dalam
penyembunyian pesan adalah (Munir, 2006, hal:
307):

a. Imperceptibility. Keberadaan pesan rahasia
tidak dapat dipersepsi oleh inderawi.
b. Fidelity. Mutu media penampung tidak berubah
banyak akibat penyisipan.
c. Recovery. Pesan yang disembunyikan harus
dapat diungkapkan kembali (reveal). Karena
tujuan steganografi adalah data hiding,

2.3 GIF

Graphics Interchange Format atau yang sering
disingkat GIF adalah sebuah format berkas citra
yang diperkenalkan pada tahun 1987 oleh
CompuServe untuk menggantikan format RLE
yang hanya mampu menampilkan gambar dengan
warna hitam dan putih saja. GIF adalah salah satu
format berkas citra yang paling sering ditemui di
dunia digital. Hal ini terjadi karena format ini
berukuran relatif kecil. Sebagai contoh untuk citra
yang sama, berkas dengan format GIF dapat
berukuran lebih kecil jika dibandingkan dengan
format JPG. Hal ini disebabkan karena file GIF
hanya menggunakan 256 palet warna. Sehingga
tentunya ukuran file akan lebih kecil. Namun 256

Information Technology

Seminar Nasional Teknologi Informasi dan Komunikasi (SNASTIKOM 2013)

palet warna tersebut tidak mutlak hanya 256 warna
tertentu. Warna tersebut dapat dipilih dari 24-bit
palet warna RGB atau dapat disimpulkan bahwa
berkas dengan format GIF akan membuang palet
warna yang tidak diperlukan dan mengambil hanya
256 palet warna yang diperlukan. (Penalosa, 2005).
Format gambar GIF memiliki dua versi, yaitu
GIF87a dan GIF89a. GIF87a adalah versi pertama
dari format GIF yang berupa gambar statis.
CompuServe kemudian memperkenalkan versi
lanjutan, yaitu GIF89a. GIF89a dapat menampilkan
gambar dinamis (animasi) dan latar belakang
transparan.

ISBN 978-602-19837-3-7

citra pada Gambar 1. Hal ini terjadi karena GIF
menggunakan tipe kompresi data yang berbeda
dengan JPG. GIF menggunakan tipe kompresi yang
sering disebut lossless. Hal ini berarti bahwa citra
tidak mengalami kehilangan kualitas ketika
dikompresi. Sedangkan pada JPG tipe kompresi
yang digunakan adalah lossy sehingga citra
mengalami
pengurangan
kualitas
ketika
dikompresi.Memang berkas JPG dapat berkurang
lebih kecil lagi ketimbang file GIF namun kualitas
citra yang dihasilkan akan sangat menurun seperti
pada gambar dibawah ini.

Gambar 2.4 Citra dengan format JPEG (4 KB)
Gambar 2.2 Citra dengan format JPEG (6KB)

Gambar 2.3 Citra dengan format GIF (5 KB)

Dari perbandingan dua buah gambar diatas
terlihat jelas bahwa citra dengan format GIF
memiliki ukuran berkas yang lebih kecil 1 KB untuk
citra yang sama. Bahkan jika dilihat secara lebih
teliti lagi maka dapat dilihat bahwa citra pada
Gambar 2 memiliki hasil yang lebih baik dari pada

2.4 Algoritma Gifshuffle

Salah satu algoritma steganografi yang dapat
digunakan untuk menyisipkan pesan pada citra
berformat GIF adalah algoritma Gifshuffle.
Algoritma Gifshuffle dibuat oleh Matthew Kwan,
seorang sarjana ilmu komputer dari University of
Melbourne yang kemudian mendirikan sebuah
perusahaan yang bergerak di bidang enkripsi surat
elektronik bernama Unicypt Pty Ltd. (Penalosa,
2005) Sesuai namanya, Gifshuffle akan melakukan
"shujfle" atau pengacakan terhadap palet warna
dari sebuah berkas GIF, sehingga bisa diartikan
bahwa
Gifshuffle adalah algoritma
yang
memanfaatkan penukaran posisi ke 256 palet warna
dalam berkas citra berformat GIF. Penukaran posisi
memungkinkan diperolehnya sebuah informasi
berkaitan dengan perbedaan posisi awal dengan
posisi akhir. (Ariyus, 2009)
Proses penyandian pada algoritma Gifshuffle
didasarkan pada fakta bahwa susunan warna pada
palet warna citra GIF tidak mempengaruhi
bagaimana citra terlihat. Dua citra GIF dengan
susunan palet warna yang berbeda dapat terlihat
sama. Misalkan ada sebuah kumpulan berisi 52 buah

Information Technology

4-11

Seminar Nasional Teknologi Informasi dan Komunikasi (SNASTIKOM 2013)

kartu, maka ada sebanyak 52 faktorial (52!) cara
untuk mengurutkan kumpulan tersebut, yang berarti
bahwa setiap urutan tertentu dari kartu dapat
mewakili sebuah angka pada rentang 0 sampai
dengan (52!-1). Dengan kata lain jika diberikan n
buah kartu, kita dapat menyimpan informasi
setidaknya log2(n!) bit sesuai dengan urutan kartukartu tersebut.
Dalam aplikasinya, setiap algoritma memiliki
dua buah ciri khas yang dapat digunakan sebagai
parameter pembanding, yaitu jumlah proses yang
dilakukan dan jumlah memori yang digunakan untuk
melakukan proses. Jumlah proses ini dikenal sebagai
kompleksitas waktu yang disimbolkan dengan T(n),
sedangkan jumlah memori ini dikenal sebagai
kompleksitas ruang yang disimbolkan dengan S(n).
Kenyataannya, jarang sekali kita membutuhkan
kompleksitas waktu yang detil dari suatu algoritma.
Biasanya yang kita butuhkan hanyalah bagian paling
signifikan dari kompleksitas waktu yang sebenarnya.
Kompleksitas waktu ini dinamakan kompleksitas
waktu asimptotik yang dinotasikan dengan O (Obesar atau Big-O). Kompleksitas waktu asimptotik
ini diperoleh dengan mengambil term terbesar dari
suatu persamaan kompleksitas waktu. (Rheinadi,
2009)
Misalnya jika diperoleh waktu eksekusi dari
suatu algoritma T(n) adalah sebanyak 5n3+4n+3
langkah untuk besar input sebesar n, maka akan
lebih mudah untuk menghapus pangkat yang kecil
seperti 4n dan 3 karena keduanya tidak terlalu
signifikan terhadap input n. Koefisien 5 pada 5n3
juga dihilangkan dengan anggapan bahwa komputer
beberapa tahun ke depan akan menjadi 5 kali lipat
lebih cepat dari komputer sekarang, sehingga
keberadaan koefisien 5 juga tidak terlalu signifikan.
Maka waktu yang diperlukan oleh algoritma tersebut
untuk memproses input sebesar n adalah n3, atau
biasa dituliskan Big-O=n3. (Dasgupta et al, 2008)
Notasi Big-O yang sering dijumpai pada
algoritma adalah (Pratama, 2010. hal: 21-22):
a. O(1) - constant time
Kompleksitas O(1) terdapat pada algoritma yang
menghasilkan nilai selalu tetap tanpa bergantung
kepada banyak masukan.
b. O(2log n) - logarithmic time
Algoritma yang berdasarkan pada binary tree
biasanya memiliki kompleksitas O(log n).
c. O(n) - linear time
Algoritma
dengan
kompleksitas
O(n)
membutuhkan 1 kali proses untuk masingmasing masukan.
d. O(n 2log n) - linearithmic time
Kompleksitas O(n log n) terdapat pada algoritma
yang memecahkan masalah menjadi masalah

4-12

e.

f.

g.

h.

ISBN 978-602-19837-3-7

yang lebih kecil, lalu menyelesaikan tiap
masalah secara independen.
O (n2) - quadratic time
Umumnya algoritma dengan kompleksitas O(n2)
melibatkan proses perulangan bersarang (nested
loop).
O(n3) - cubic time
Algoritma dengan kompleksitas O(n3), mirip
dengan O(n2), namun menggunakan loop
bersarang sebanyak 3 kali. Algoritma jenis ini
hanya cocok jika n kecil. Jika n besar, waktu
yang dibutuhkan akan sangat lama.
O(2n) - exponential time
Salah satu algoritma yang mempunyai
kompleksitas O(2n) adalah brute force dalam
menebak suatu password. Setiap penambahan
karakter, akan melipatgandakan waktu yang
dibutuhkan.
O(n!) - factorial time
O(n!) merupakan kompleksitas yang sangat cepat
pertumbuhan waktu yang diperlukannya.
Algoritma ini memproses tiap masukan dan
menghubungkannya dengan n-1 masukan
lainnya.

2.5 Quicksort

Menurut Cormen et al (1989) quicksort adalah
salah satu algoritma pengurutan yang berdasarkan
pada metode divide-and-conquer. Metode ini
membagi masalah menjadi beberapa sub masalah
yang mirip dengan masalah utama tetapi dengan
skala yang lebih kecil. Sub masalah tersebut
kemudian diselesaikan kemudian menggabungkan
semua solusi sub masalah untuk menghasilkan solusi
masalah utama.

3. Analisis dan Perancangan Sistem

Sebelum merancang sebuah sistem, perlu dilakukan
analisis terlebih dahulu. Analisis sistem adalah
proses menentukan kebutuhan sistem, apa yang
harus dilakukan sistem untuk memenuhi kebutuhan
klien (user). Dengan adanya analisis sistem, sistem
yang dirancang akan lebih baik dan memudahkan
pengembang sistem dalam perbaikan apabila pada
kemudian hari ditemukan kesalahan atau
kekurangan.
Algoritma Gifshuffle memiliki dua macam
aktifitas yang berbeda namun saling berkaitan, yaitu:
a. Encoding
Pada encoding terjadi proses penyisipan pesan
teks ke gambar. Masukannya adalah pesan teks
dan citra berformat GIF sebagai media
menyembunyikan
pesan
teks
tersebut.
Keluarannya adalah citra berformat GIF yang

Information Technology

Seminar Nasional Teknologi Informasi dan Komunikasi (SNASTIKOM 2013)

telah disisipkan pesan atau biasa disebut stego
image.
b. Decoding
Pada decoding terjadi proses pengekstrakan
pesan teks dari gambar. Masukannya adalah citra
berformat GIF tempat pesan disembunyikan
(stego image) dan keluarannya adalah pesan teks.
Atau dapat dikatakan bahwa decoding adalah
proses pembalikan dari encoding.
Sistem yang dirancang pada skripsi ini
terdiri dari empat proses utama, yaitu proses
enkripsi, proses dekripsi, proses penyisipan pesan
dan proses pengekstrakan pesan. Secara garis besar,
langkah-langkah yang ada pada sistem ini dapat
dilihat pada flowchart aplikasi di bawah ini:

ISBN 978-602-19837-3-7

Proses enkripsi akan mengubah plainteks
(pesan
asli)
menjadi
cipherteks
dengan
menggunakan algoritma Affine Cipher. Cipherteks
inilah yang kemudian akan digunakan dalam proses
penyisipan. Proses penyisipan akan menyisipkan
cipherteks hasil enkripsi ke dalam gambar asli
(gambar sebelum disisipkan pesan). Proses ini akan
menghasilkan gambar baru yang telah disisipkan
pesan atau biasa disebut dengan stego image. Untuk
dapat memperoleh kembali pesan asli, maka perlu
dilakukan proses pengekstrakan yang merupakan
kebalikan dari proses penyisipan. Perlu diketahui
bahwa proses pengekstrakan yang dibuat dalam
skripsi ini tidak mengembalikan kondisi citra ke
keadaaan sebelum citra disisipi pesan. Setelah
diekstrak, cipherteks kemudian akan didekripsi
menggunakan kunci yang harus sama dengan kunci
yang digunakan untuk mengenkripsi pesan.

3.1. Skema Penyisipan (Encoding)

Berikut ini merupakan langkah-langkah untuk
menyembunyikan pesan dalam sebuah citra GIF
menggunakan algoritma Gifshuffle:
a. Tentukan pesan yang akan disisipkan, kemudian
ubahlah pesan itu ke bentuk biner.
b. Tambahkan angka 1 di depan rangkaian bilangan
biner tersebut kemudian konversikan rangkaian
tersebut ke desimal. Biasanya bilangan tersebut
merupakan bilangan yang besar. Sebut bilangan
ini sebagai m.
c. Kemudian tentukan citra GIF tempat pesan akan
disisipkan. Hitunglah jumlah warna pada gambar
tersebut. Sebut jumlah ini sebagai n. Jika m >
n\
1 maka pesan terlalu panjang dan proses
penyisipan tidak dapat dilakukan.
d. Urutkan warna pada palet warna berdasarkan
urutan naturalnya. Setiap warna dengan format
RGB dikonversikan dengan rumus berikut:
(Nilai merah * 65536) + (nilai hijau * 256) +
(nilai biru)
Palet warna kemudian diurutkan berdasarkan
besar bilangan integer yang
mewakili warna tersebut.
e. Lakukan iterasi terhadap variable i dengan nilai i
dari 1 sampai n. Setiap warna pada urutan n
i
dipindahkan ke posisi baru yaitu m mod i ,
kemudian m dibagi dengan i .
f. Palet warna baru hasil iterasi pada langkah
kelima dimasukkan ke dalam palet warna berkas
GIF. Apabila ada sebuah tempat yang diisi oleh 2
buah warna maka warna yang sebelumnya
menempati tempat tersebut akan digeser satu
tempat ke posisi berikutnya.
g. Apabila ternyata besar palet warna yang baru
lebih kecil dari 256 maka palet warna urutan

Information Technology

4-13

Seminar Nasional Teknologi Informasi dan Komunikasi (SNASTIKOM 2013)

terakhir akan diisi dengan warna terakhir dari
palet warna sebelumnya.
h. Berkas GIF kemudian akan dikompresi ulang
dengan palet warna yang baru untuk
menghasilkan berkas yang baru dengan ukuran
dan gambar yang sama namun telah disisipi
pesan.

4. Implementasi dan Pengujian Sistem

Setelah dilakukan perancangan, maka tahap
selanjutnya adalah implementasi sistem ke dalam
bentuk program komputer. Bahasa pemrograman
yang digunakan adalah bahasa Java dengan
menggunakan NeatBean 6.8. Aplikasi ini berjalan di
komputer dengan sistem operasi Windows.

4.1 Tampilan Antar Muka

Tampilan antar muka (interface) dari aplikasi skripsi
ini dibuat sesederhana mungkin agar memudahkan
pengguna dalam menjalankan tahap demi tahap
penyisipan pesan ke dalam citra berformat GIF.

4.2 Aspek Imperceptibility

Seperti telah dijelaskan pada bab sebelumnya, aspek
imperceptibility menekankan bahwa algoritma
steganografi yang baik membuat keberadaan pesan
rahasia pada media penampung tidak dapat
dipersepsi secara inderawi. Dalam aplikasi ini media
penampung yang digunakan adalah berkas citra
digital, sehingga indera yang dapat menentukan
apakah keberadaan pesan rahasia dapat dipersepsi
atau tidak adalah mata.
Untuk dapat menguji aspek ini pada sistem
yang telah dibuat, maka berkas citra coba.gif
disisipkan pesan untuk menghasilkan berkas citra
coba_stego.gif yang telah mengandung pesan.
Apabila perbedaan di antara kedua berkas citra tidak
dapat terlihat secara kasat mata, maka dapat ditarik
kesimpulan bahwa algoritma yang digunakan untuk
menyisipkan pesan telah memenuhi aspek
imperceptibility.

Dasgupta, Sanjoy., dkk. 2008. Algorithm.
Singapore: McGraw-Hill.
Kendall, Kenneth. E. dan Kendall, Julie. E. 2003.
Analisis dan Perancangan Sistem. Klaten: Intan
Sejati.
Kessler, Gary C. 2004. An Overview of
Steganography for the Computer Forensics
Examiner.
http://www.fbi.gov/hq/lab/fsc/backissu/july200
4/research/2004_ 03_research01.htm. Diakses
tanggal 8 April 2010.
Kwan, Matthew. 2003. How Gifshuffle Works.
http://www.
darkside.com.
au/
gifshuffle/description.html. Diakses tangal 24
Februari 2010.
Luthfi, Inas. 2009. Steganografi Digital Citra
Bergerak
Animated
GIF.
http://www.informatika.org/~rinaldi/Kriptograf
i/2008-2009/Makalah1/
MakalahIF305812009-a058.pdf. Diakses tanggal 22 Februari
2010.
Manfredi,
Michael.2008. Modern
Cryptography
and
Mathematics.
http://www.fmnetwork.org.uk/files/Encryption.
pdf. Diakses tanggal 1 Desember 2010.
Munir, Rinaldi. 2006. Kriptografi. Bandung:
Informatika.
Penalosa, Ronald A. 2005. Steganografi Pada Citra
dengan
Format
GIF
Menggunakan
Algoritma
Gifshuffle.
http://www.
informatika. org/~rinaldi/ Kriptografi/20062007/Makalah1/Makalah1-053.pdf. 10 Januari
2010.
Rheinadi, Ryan. 2009. Analisis Algoritma Buble
Sort.
http://www.informatika.
org/~rinaldi/Matdis/20092010/Makalah0910/MakalahStrukdis0910032.pdf. Diakses pada tanggal 10 Desember
2010

Daftar Pustaka

Anonymous.
2006.
Affine
Cipher.
http://statmath.uregina.ca/~kozdron/Teaching/
Cornell/ 135Summer06/Handouts/affine.pdf.
Diakses tanggal 17 Mei 2010.
Ariyus, Dony. 2009. Keamanan Multimedia.
Yogyakarta: Andi.
Cormen, Thomas H., dkk. 1989. Introduction to
Algortithms. New York: McGraw-Hill.
Cox, Ingemar J., dkk. 2008 Digital Watermarking
and
Steganography.
Second
Edition.
Burlington: Morgan Kaufmann Publishers.

4-14

ISBN 978-602-19837-3-7

Information Technology