T1 672011089 Full text

Perancangan dan Implementasi Aplikasi Steganografi
pada Image PNG dengan Algoritma Shingling

Artikel Ilmiah

Peneliti:

Frendy Juniarto Baba (672011089)
Magdalena A. Ineke Pakereng, M.Kom.

Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
2016

Perancangan dan Implementasi Aplikasi Steganografi
pada Image PNG dengan Algoritma Shingling
Artikel Ilmiah

Diajukan kepada

Fakultas Teknologi Informasi
untuk memperoleh gelar Sarjana Komputer

Peneliti:

Frendy Juniarto Baba (672011089)
Magdalena A. Ineke Pakereng, M.Kom.

Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
2016

Lembar Tidak Plagiat

Lembar Pernyataan Persetujuan Akses

Lembar Pengesahan


Lembar Pernyataan

Perancangan dan Implementasi Aplikasi Steganografi pada Image PNG
dengan Algoritma Shingling
Frendy Juniarto Baba, 2) M. A. Ineke Pakereng
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60, Salatiga 50711, Indonesia
Email: 1) frendy_juniarto@yahoo.com, 2) inekep200472@yahoo.com
1)

Abstract
The exchange of confidential information or personal, requires a method that limits access to
this information. It aims to minimize the risk of interception of information by other parties.
Restrictions can be done by withholding information on a media such as images, audio, or video. This
technique is called steganography. The success of a steganography relies on flashy or whether the
changes that occur on the cover. To minimize the changes, use the LSB of each pixel digital image, as
insertion location information. This change risk can be further minimized by locating the proper
insertion location, that location has a level of similarity with the message bits to be inserted. Search
location "same" or "near duplicate" can be done by using algorithms Shingling. In this study

produced a steganography application that utilizes Shingling algorithm to minimize changes to the
cover due to the insertion process.
Keywords: Steganography, LSB, Shingling

Abstrak
Pertukaran informasi yang bersifat rahasia atau pribadi, memerlukan suatu metode yang
membatasi akses ke informasi ini. Hal ini bertujuan untuk memperkecil resiko penyadapan informasi
oleh pihak lain. Pembatasan dapat dilakukan dengan menyembunyikan informasi pada sebuah media
seperti gambar, audio, atau video. Teknik ini disebut dengan steganografi. Keberhasilan suatu
steganografi bergantung pada mencolok atau tidaknya perubahan yang terjadi pada cover. Untuk
memperkecil perubahan, digunakan LSB pada tiap piksel citra digital, sebagai lokasi penyisipan
informasi. Resiko perubahan ini dapat lagi diperkecil dengan cara mencari lokasi penyisipan yang
tepat, yaitu lokasi yang memiliki tingkat kemiripan dengan bit-bit pesan yang akan disisipkan.
Pencarian lokasi yang “sama” atau “mendekati sama” ini dapat dilakukan dengan menggunakan
algoritma Shingling. Pada penelitian ini dihasilkan suatu aplikasi steganografi yang memanfaatkan
algoritma Shingling untuk meminimalkan perubahan pada cover akibat proses penyisipan.
Kata Kunci: Steganografi, LSB, Shingling
1)
2)


Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana
Staf Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana.

1.

Pendahuluan

Jaringan komputer dan internet mempermudah proses pertukaran
informasi. Pada dasarnya, informasi melakukan perjalanan di internet dengan cara
yang tidak aman. Ini berarti bahwa pesan dapat disadap atau dirusak pada setiap
titik perangkat yang dilewati [1]. Masalah yang muncul adalah informasi yang
dilewatkan pada jaringan komputer adalah data plaintext. Hal ini beresiko ketika
ada pihak lain yang berhasil menyadap informasi ini, akan dapat dengan mudah
membaca isi informasi tersebut.
Untuk menjamin keamanan pertukaran informasi yang bersifat rahasia atau
pribadi, diperlukan suatu metode yang membatasi akses ke informasi ini.
Pembatasan dapat berupa penyandian informasi (kriptografi) [2], atau dengan
menyembunyikan informasi pada media yang umum (steganografi) [3], sehingga
tidak menyebabkan kewaspadaan (awareness) pihak lain yang mengakses
informasi ini.

Steganografi merupakan teknik menyembunyikan informasi pada sebuah
media. Media tersebut umumnya berupa file gambar, audio, video atau file dengan
format yang lain. Salah satu teknik steganografi yaitu LSB embedding [4], bekerja
dengan cara menggantikan bit akhir (LSB) dari media, dengan bit informasi.
Perubahan yang dihasilkan sangat kecil, sehingga tidak kasat oleh mata.
Keberhasilan suatu steganografi bergantung pada mencolok atau tidaknya
perubahan yang terjadi pada cover dan kemampuan algoritma yang digunakan
untuk menyembunyikan [5]. Untuk memperkecil perubahan, digunakan bit
terendah (LSB) pada tiap piksel citra digital, sebagai lokasi penyisipan informasi.
Penyisipan informasi dengan cara mengganti bit LSB pada citra digital
masih memiliki resiko untuk mengubah nilai piksel citra digital. Jika terdapat 30
karakter pesan (1 karakter = 1 byte = 8 bit), maka akan terjadi kemungkinan
sampai dengan 160 (30x8) warna yang berubah yang berubah, atau 10 piksel yang
berubah (1 piksel terdapat 3 warna). Resiko perubahan ini dapat lagi diperkecil
dengan cara mencari lokasi penyisipan yang tepat. Lokasi yang tepat adalah lokasi
yang memiliki tingkat kemiripan tinggi, dengan bit-bit pesan yang akan
disisipkan. Pencarian lokasi yang “sama” atau “mendekati sama” ini dapat
dilakukan dengan menggunakan algoritma Shingling [6].
Pada penelitian ini diajukan suatu metode steganografi pada citra digital,
yang bertujuan untuk meminimalkan perubahan piksel pada citra digital. Metode

yang digunakan untuk pencarian lokasi yang disisipi adalah algoritma Shingling.
2.

Tinjauan Pustaka

Pada penelitian yang berjudul “Implementasi Teknik Steganografi dengan
Metode LSB pada Citra Digital”, disebutkan tentang perlunya pengamanan
pengiriman pesan melalui jaringan Internet. Pada penelitian tersebut digunakan
media gambar sebagai cover. Hasil penelitian tersebut adalah sebuah aplikasi
steganografi dengan algoritma LSB Embedding, yang dapat menyembunyikan
pesan, sehingga orang lain tidak menyadari keberadaan pesan di dalam media. [7]
Berbeda dengan penelitian ini adalah, pada penelitian ini, proses dipilih pada
1

lokasi yang memberikan perubahan paling minimal. Sehingga kerusakan
(perubahan) pada cover menjadi tidak semakin mencurigakan, untuk mencapai
salah satu tujuan steganografi.
Pada penelitian yang berjudul "Identifying and Filtering Near-Duplicate
Documents",dibahas tentang masalah mendeteksi kemiripan halaman web satu
dengan web yang lain, pada proses web indexing skala besar yang dilakukan oleh

AltaVista search engine[6]. Andrei Broder mengajukan algoritma untuk
menyaring near-duplicate documents, dan sukses diimplementasikan selama
kurang lebih tiga tahun pada AltaVista. Dokumen yang dibandingkan
disederhanakan dalam bentuk set, melalui proses shingling. Pada penelitian
tersebut, satu shingle terdiri dari 4 kata, sehingga disebut 4-shingling. Setiap
shingle dibangkitkan sebuah fingerprint untuk kemudian dibandingkan dengan
nilai fingerprint dari shingle pada dokumen kedua. Algoritma yang digunakan
untuk membangkitkan nilai fingerprint adalah Rabin's fingerprint. Rabin's
membangkitkan nilai fingerprint sebesar 64 bit (8 byte). Hingga pada waktu
penelitian ini ditulis, belum ada penelitian sebelumnya yang membahas
penggunaan algoritma Shingling pada area steganografi.
Berdasarkan penelitian - penelitian yang telah dilakukan tentang
steganografi pada citra digital dengan teknik LSB, dan implementasi algoritma
Shingling, maka dilakukan penelitian yang bertujuan untuk merancang dan
mengimplemetasikan aplikasi steganografi pada image PNG dengan algoritma
Shingling, sehingga diperoleh stego image. Pada penelitian ini digabungkan
antara teknik steganografi LSB dengan Shingling. Steganografi LSB memiliki
kelebihan dalam kecilnya perubahan yang tampak setelah proses penyisipan.
Shingling berfungsi untuk memiliki lokasi penyisipan terbaik dengan cara
mencari lokasi piksel yang memiliki bit paling mirip dengan bit pesan.

Batasan masalah dalam penelitian ini adalah sebagai berikut: (1)
Pengamanan data dilakukan dengan cara menyembunyikan ke dalam citra digital;
(2) Citra digital yang digunakan memiliki format PNG (24 bit warna); (3)
Algoritma Shingling digunakan untuk memilih lokasi penyisipan terbaik.
Sedangkan proses penyisipan dilakukan pada bit LSB di lokasi yang terpilih.
Steganografi adalah ilmu dan seni menyembunyikan pesan rahasia di
dalam pesan lain sehingga keberadaan pesan rahasia tersebut tidak dapat
diketahui. Steganografi berasal dari bahasa Yunani, yaitu “steganos” yang artinya
“tulisan tersembunyi (covered writing)” [8]. Steganografi yang dibahas adalah
penyembunyian data di dalam citra (image). Meskipun demikian, penyembunyian
data dapat juga dilakukan pada media berupa suara digital, teks, ataupun video.
Penyembunyian data rahasia ke dalam image akan mengubah kualitas image
tersebut. Kriteria yang harus diperhatikan dalam penyembunyian data adalah: 1)
Mutu citra penampung tidak jauh berubah. Setelah penambahan data rahasia, citra
hasil steganografi masih terlihat dengan baik. Pengamat tidak mengetahui kalau di
dalam citra tersebut terdapat data rahasia. Data yang disembunyikan harus tahan
terhadap manipulasi yang dilakukan pada citra penampung. Bila pada citra
dilakukan operasi pengolahan citra, maka data yang disembunyikan tidak rusak;
2) Data yang disembunyikan harus dapat diungkapkan kembali (recovery). Dalam
penyembunyian pesan, steganografi menggunakan dua properti yaitu pesan

`2

rahasia dan media penampung. Ada beberapa tipe media yang dapat digunakan
untuk menyisipkan pesan rahasia. Tipe media ini dapat berfungsi sebagai media
pembawa pesan rahasia, yang disebut dengan host message. Terdapat beberapa
media yang dapat digunakan sebagai media steganografi, media penampung
tersebut dapat berupa text, image, audio, atau video [9].
Cara untuk mengaplikasikan steganografi pada file image terdiri dari
beberapa cara yang lazim digunakan dan prinsip kerja atau algoritma yang
digunakan sama seperti pada metode steganografi pada data audio. Berikut adalah
beberapa teknik yang digunakan: 1) Least Significant Bit Insertion (LSB) adalah
metode yang digunakan untuk menyembunyikan pesan pada media digital tersebut
berbeda-beda. Contohnya, pada berkas audio, pesan dapat disembunyikan dengan
menggunakan cara menyisipkannya pada bit rendah atau bit yang paling kanan
(LSB) pada data piksel yang menyusun file tersebut; 2) Redundant Pattern
Encryption adalah menggambar pesan kecil pada kebanyakan image. Keuntungan
dari metode ini adalah dapat bertahan dari cropping (kegagalan). Kerugiannya
yaitu tidak dapat menggambar pesan yang lebih besar; dan 3) Spread Spectrum
steganografi terpencar-pencar sebagai pesan yang diacak (encrypted) melalui
image (tidak seperti dalam LSB). Untuk membaca suatu pesan, penerima

memerlukan algoritma yaitu crypto-key dan stego-key. Metode ini juga masih
mudah diserang yaitu penghancuran atau pengrusakan dari kompresi dan proses
image (gambar) [9].
Cara paling mudah untuk menyembunyikan pesan adalah dengan
memanfaatkan Least Significant Bit (LSB). Jika digunakan image 24 bitcolor
sebagai cover, sebuah bit dari masing-masing komponen Red, Green, dan Blue,
dapat digunakan, sehingga tiga bit dapat disimpan pada setiap piksel. Sebuah
image 800 x 600 piksel dapat digunakan untuk menyembunyikan 1.440.000 bit
(180.000 bytes) data rahasia. Misalkan terdapat piksel-piksel dari image 24 bit
color :
00111000 01010110 11000111 00110011
Jika ada pesan rahasia yang memiliki nilai 1101, maka dihasilkan:
00111001 01010111 11000110 00110011
Dapat dilihat bahwa bit-bit pesan rahasia mengubah bit-bit terakhir citra
gambar. Perubahan pada LSB ini akan terlalu kecil untuk terdeteksi oleh mata
manusia sehingga pesan dapat disembunyikan secara efektif. Akan lebih baik jika
digunakan grayscale image karena perubahan warnanya akan lebih sulit dideteksi
oleh mata manusia. Proses ekstraksi pesan dapat dengan mudah dilakukan, yaitu
dengan mengekstrak LSB dari masing-masing piksel pada stego secara berurutan
dan menuliskannya ke output file yang akan berisi pesan tersebut. Kekurangan

dari metode modifikasi LSB ini adalah bahwa metode ini membutuhkan "tempat
penyimpanan" yang relatif besar. Kekurangan lain adalah bahwa stego yang
dihasilkan tidak dapat dikompres dengan format lossy compression [9].
LSB embedding merupakan teknik steganografi yang menggunakan
pendekatan tergolong sederhana dan langsung. Sesuai dengan namanya, teknik
LSB embedding menyisipkan pesan ke dalam LSB (least significant bit). Hal ini
hanya akan mempengaruhi nilai warna pada piksel sebesar + 1, maka secara
umum diasumsikan bahwa degradasi warna yang terjadi dapat tidak dikenali oleh
`3

mata[10]. LSB embedding memiliki kelebihan dibandingkan dengan algoritma
EOF steganography [3], dalam hal perubahan ukuran dokumen yang disisipi. LSB
embedding tidak menambahkan ukuran dokumen, karena proses yang terjadi
adalah mengganti bit akhir tiap warna. EOF bekerja dengan menambahkan
informasi pada akhir dokumen. Algoritma steganografi yang lain adalah algoritma
DCT. Algoritma ini menggunakan frekuensi domain dari citra digital untuk
menyisipkan informasi. Kelemahan dari algoritma DCT adalah mata manusia
dapat mengenali perubahan yang terjadi pada frekuensi rendah [11]. Karena
kelebihan - kelebihan dari algoritma LSB embedding, maka pada penelitian ini
dipilih LSB embedding dalam proses penyisipan Digital signature dalam
dokumen digital.
Algoritma Shingling merupakan algoritma yang ditemukan oleh Andrei
Broder[6]. Algoritma ini bekerja dengan cara membuat sebuah shingle yang berisi
beberapa kata dengan jumlah yang tetap. Angka yang menentukan jumlah kata
dalam satu shingle ini disebut gram. Pada tiap shingle dibangkitkan nilai
fingerprint. Proses shingling ini akan menghasilkan himpunan yang berisi
sejumlah fingerprint. Himpunan ini kemudian dibandingkan dengan himpunan
yang dihasilkan dari dokumen kedua. Nilai kemiripan diperoleh dengan cara
membagi jumlah fingerprint yang sama(intersection) dari dua dokumen dengan
jumlah fingerprint gabungan (union). Proses perhitungan tersebut didefinisikan
sebagai berikut[6]:
(1)
Persamaan 1 Rumus Nilai Kemiripan [6]

1.
2.
3.
4.
5.
6.
7.

Algoritma Shingling dilakukan melalui beberapa langkah berikut [6]:
Hilangkan tanda baca pada dokumen.
Dimulai dengan kata pertama, buat satu shingle berisi kata pertama
tersebut sampai 3 kata berikutnya.
Pindah ke kata kedua, buat shingle berisi kata kedua dan 3 kata berikutnya.
Lakukan pembentukan shingle sampai dengan 4 kata terakhir dari
dokumen tersebut.
Untuk tiap shingle, bangkitkan nilai fingerprint.
Lakukan langkah 1 sampai dengan 5 untuk dokumen kedua.
Gunakan rumus nilai kemiripan dokumen (Persamaan 1) untuk
menghitung nilai kemiripan dokumen.

Pada penelitian ini tidak digunakan proses menghitung nilai fingerprint.
Nilai fingerprint yang digunakan untuk proses pembandingan, digantikan dengan
membandingkan nilai-nilai bit.
Pada penelitian ini, format file citra digital yang digunakan adalah PNG.
PNG merupakan True Color image. Suatu true colour image memiliki komponen
red, green dan blue yang terpisah untuk tiap pikselnya. Pada sebagian besar true
colour image, tiap komponen diwakilkan dengan satu byte yang terdiri dari 8 bit,
sehingga setiap piksel memiliki 24 bit informasi warna. Oleh karena itu, mode ini
sering disebut sebagai “24-bit warna”. Pada Gambar 1 ditunjukkan contoh
`4

potongan dari file gambar. Potongan ini memiliki dimensi 6 x 6 piksel.Pada tiap
piksel terdapat tiga bagian warna yaitu red, green dan blue. Pada lokasi piksel 1,1
terdapat warna red bernilai 96, green bernilai 143, dan blue bernilai 179. Pada
lokasi piksel 1,2 terdapat warna red 61, green 125, dan green 198[12].

Gambar 1 Komponen RGB pada File Gambar 24 Bit Warna[12]

Microsoft .NET Framework merupakan sebuah perangkat lunak kerangka
kerja yang berjalan pada sistem operasi Microsoft Windows. Saat ini .NET
Framework umumnya telah terintegrasi dalam distribusi standar Windows (mulai
dari Windows Server 2003 dan versi-versi Windows yang lebih baru). Kerangka
kerja ini menyediakan sejumlah besar pustaka pemrograman komputer dan
mendukung beberapa bahasa pemrograman serta interoperabilitas yang baik
sehingga memungkinkan bahasa-bahasa tersebut berfungsi satu dengan lain dalam
pengembangan sistem. Berbeda halnya dengan tipikal aplikasi konvensional
umumnya, program yang ditulis dengan memanfaatkan .NET Framework berjalan
pada lingkungan perangkat lunak melalui Common Language Runtime, dan bukan
perangkat keras secara langsung. Hal ini memungkinkan aplikasi yang dibuat di
atas .NET secara teoritis dapat berjalan pada perangkat keras apapun yang
didukung oleh .NET Framework. Perangkat lunak ini adalah kunci penawaran
utama dari Microsoft, dan dimaksudkan untuk digunakan oleh sebagian besar
aplikasi-aplikasi baru yang dibuat untuk platform Windows [13]. Pada penelitian
ini, .NET Framework digunakan untuk membangun aplikasi steganografi.
Beberapa pustaka pemrograman yang digunakan adalah pustaka untuk membuat
Graphical User Interface (GUI), dan pustaka pemrosesan gambar (Bitmap).
3.

Metode dan Perancangan Sistem

Penelitian yang dilakukan, diselesaikan melalui tahapan penelitian yang
terbagi dalam empat tahapan, yaitu: (1) Identifikasi masalah dan studi literatur, (2)
Perancangan sistem, (3) Perancangan Prototype sistem, dan (4) Pengujian
prototype sistem dan analisis hasil pengujian.

`5

Identifikasi Masalah dan Studi Literatur

Perancangan Sistem

Implementasi Sistem

Pengujian Sistem dan Analisis Hasil Pengujian

Gambar 2 Tahapan Penelitian

Tahapan penelitian pada Gambar 2, dapat dijelaskan sebagai berikut.
Tahap pertama: identifikasi masalah, yaitu rentannya informasi yang dilewatkan
di Internet, dan diperlukan mekanisme untuk mengamankan informasi tersebut;
Tahap kedua: perancangan sistem yang meliputi perancangan proses penyisipan
dan proses ekstrasi; Tahap ketiga: perancangan prototype sistem, yaitu membuat
aplikasi sesuai perancangan proses pada tahap kedua; dan Tahap keempat:
pengujian sistem dan analisis hasil pengujian, yaitu dilakukan pengujian terhadap
proses yang telah dirancang, dan melihat kesesuaian solusi terhadap masalah yang
telah teridentifikasi sebelumnya.
Proses penyisipan adalah proses menyembunyikan bit-bit informasi pesan
ke dalam cover image. Gambar 3 menunjukkan langkah-langkah penyisipan
dalam bentuk flowchart. Proses ini secara garis besar terdiri dari:
1. Input dari proses ini adalah citra digital sebagai cover image, pesan dalam
bentuk string, dan kunci.
2. Pesan dienkripsi terlebih dahulu dengan algoritma XOR. Langkah ini
dilakukan dengan melakukan operasi XOR antara pesan dengan kunci.
Hasil dari langkah ini adalah ciphertext.
3. Mengubah ciphertext ke dalam bentuk kode ASCII, kemudian dari nilai
kode ASCII diubah ke dalam bentuk biner.
4. Warna-warna pada cover dibaca, dan bentuk dalam shingle-shingle.
Ukuran shingle bergantung dengan panjang bit ciphertext.
5. Pada tiap shingle, lakukan proses menghitung perbedaan antara shingle
dengan bit ciphertext.
6. Pilih shingle dengan nilai perbedaan terkecil.
7. Sisipkan bit pesan ciphertext ke dalam shingle yang terpilih tersebut.
8. Output dari proses ini adalah citra digital yang telah disisipi, disebut
dengan stego image.
9. Output yang kedua adalah angka sebagai “kode rahasia”. Angka ini
merupakan indeks posisi shingle dimana pesan tersebut disisipkan dan
ukuran panjang shingle. Tanpa mengetahui angka ini, maka proses
ekstraksi tidak dapat dilakukan.
Proses ekstraksi adalah proses mendapatkan kembali bit informasi pesan
yang sebelumnya telah disisipkan ke dalam stego image. Gambar 4 menunjukkan
`6

langkah-langkah ekstraksi dalam bentuk flowchart. Proses ini secara garis besar
terdiri dari:
1. Input dari proses ini adalah stego image, kunci, dan kode rahasia.
2. Warna-warna pada cover dibaca. Berdasarkan kode rahasia yang
dimasukkan, maka diperoleh posisi shingle dan panjang shingle.
3. Karena posisi ekstraksi sudah diketahui, maka tidak perlu dilakukan
pembentukan shingle-shingle.
4. Lakukan proses ekstraksi pada posisi shingle yang telah diketahui pada
langkah 2.
5. Bit hasil ekstraksi didekripsi dengan menggunakan kunci yang telah
dimasukkan pada langkah 1.
6. Output dari proses ekstraksi adalah bit informasi pesan.

Gambar 3 Proses Penyisipan

Gambar 4 Proses Ekstraksi

`7

Proses pembentukan shingle (Gambar 5) dilakukan sebelum proses
embedding dilakukan. Proses ini bertujuan untuk mencari lokasi penyisipan yang
memiliki bit-bit paling mirip dengan bit pesan yang akan disisipkan. Proses
pembentukan shingle dilakukan dengan urutan:
1. Tentukan panjang shingle, dengan melihat panjang bit ciphertext. Sebagai
contoh jika panjang bit ciphertext adalah 8 bit, maka shingle yang
terbentuk adalah 8 byte.
2. Untuk mempermudah membuat shingle, maka warna-warna dalam gambar
dikumpulkan dalam satu deret (satu himpunan). Sebagai contoh jika
terdapat gambar berukuran 8x4 piksel, maka total piksel adalah 8 x 4 = 32
piksel. Di dalam 32 piksel terdapat 32x3 warna = 96 warna. Untuk
menjelaskan langkah ini, 96 warna tersebut diberi nomor urut dari 0
sampai dengan 95.
3. Proses pembentukan shingle dimulai dari nomor urut 0. Dari langkah 1
diketahui bahwa panjang shingle adalah 8, maka shingle yang pertama
berisi warna-warna dari nomor urut 0 sampai dengan 7.
a. Shingle 0 = { 0, 1, 2, 3, 4, 5, 6, 7}
b. Shingle 1 = { 1, 2, 3, 4, 5, 6, 7, 8}
c. Shingle 2 = { 2, 3, 4, 5, 6, 7, 8, 9}
d. Shingle 3 = { 3, 4, 5, 6, 7, 8, 9, 10}
e. dan seterusnya..
f. Shingle 94 = { 94, 95, 1, 2, 3, 4, 5, 6},
g. Shingle 95 = { 95, 1, 2, 3, 4, 5, 6, 7,}
Catatan: angka 0, 1, 2 dst, adalah nomor urut warna. Isi shingle BUKAN
nomor urut, tetapi adalah warna dengan nomor urut tersebut.
4. Pada akhir proses, akan terbentuk sejumlah S shingle. Nilai S bergantung
pada jumlah warna pada gambar. Pada langkah 2 terdapat 96 warna, maka
di akhir proses terbentuk 96 shingle, masing-masing berisi 8 warna.
Proses pencarian lokasi penyisipan (Gambar 6) terbaik dilakukan dengan
cara membandingkan tiap shingle dengan bit pesan.
1. Baca shingle ke-0.
2. Baca LSB tiap-tiap warna di dalam shingle tersebut.
Contoh jika shingle 0 berisi 255, 10, 20, 255, 160, 155, 200, 160
Maka LSB nya adalah 1, 0, 0, 1, 0, 1, 0, 0.
3. Bandingkan bit LSB dari langkah 2, dengan bit ciphertext.
Contoh jika pesan adalah 1, 0, 1, 1, 0, 1, 0, 1, maka terdapat perbedaan
sebesar 2 (bit posisi 2, dan bit posisi 7).
4. Ulangi langkah 1 sampai dengan 3 untuk shingle-shingle selanjutnya.
5. Pilih shingle dengan nilai perbedaan terkecil. Jika terdapat lebih dari satu
single dengan nilai terkecil sama, pilih yang pertama.
6. Lanjutkan ke proses embedding.

`8

Mulai

Mulai

Tentukan
Panjang
shingle (S)

Shingleshingle yang
terbentuk

Hitung
total
piksel (P)

Baca satu shingle
Baca LSB tiap warna di
dalam shingle tersebut

Indeks =0

Hitung Perbedaan Bit
False
pesan dengan LSB warna

Jika Indeks < P

Jika Semua
shingle selesai
dibaca

Buat shingle berisi
True warna dengan nomor
urut Indeks sampai
False
dengan (Indeks+S)

True

Pilih satu shingle
dengan perbedaan
bit paling kecil

Indeks = Indeks + 1
Selesai

Selesai

Gambar 5 Proses Pembuatan Shingle

Gambar 6 Proses Pemilihan Shingle

Untuk menjelaskan proses embedding, diberikan contoh sebagai berikut.
Jika diketahui potongan piksel pada suatu gambar adalah:
Tabel 1 Komponen Warna Sebelum Penyisipan
NILAI
NILAI BINER LSB
WARNA
255
11111111
1
R
10
00001010
0
G
B

20

00010100

0

160
155

10100000
10011011

0
1

R

255

R
G

200
160

G
B

B
R

G
B

11111111

11001000
10100000

155
200

10011011
11001000

0
0

00000000
00000000

`9

1

0
0
1
0

0
0

100

R

01100100

0
255

G
B

00000000
11111111

0

0
1

Pesan yang disisipkan adalah “F”, Kunci yang digunakan adalah “R”.
Maka proses penyisipan dilakukan dengan cara demikian:
1. Enkripsi pesan dengan menggunakan kunci
Karakter

F

Kode ASCII
70

A
65
Hasil enkripsi XOR

BINER

01000110
01010010
00000111

2. Baca komponen warna dan buat shingle. Karena ukuran ciphertext adalah 8
bit, maka panjang tiap shingle adalah 8 bit. Nilai LSB warna yang diperoleh
adalah 101101001000100. Kemudian dibentuk shingle sebagai berikut
Tabel 2 Contoh Hasil Shingle
Isi Shingle

Nomor
Shingle
0

1

0

0

1

0

1

0

0

1

0

0

1

0

1

0

0

1

2

0

1

0

1

0

0

1

0

3
4
5
6
7
8
9
10
11
12

1
0
1
0
0
1
0
0
0
0

0
1
0
0
1
0
0
0
0
0

1
0
0
1
0
0
0
0
0
1

0
0
1
0
0
0
0
0
1
1

0
1
0
0
0
0
0
1
1
0

1
0
0
0
0
0
1
1
0
0

0
0
0
0
0
1
1
0
0
1

0
0
0
0
1
1
0
0
1
0

13
14

0
1

1
1

1
0

0
0

0
1

1
0

0
1

Keterangan
8 bit pertama dari LSB
warna
Geser ke kiri 1 bit, ambil 8
bit LSB
Geser ke kiri 2 bit, ambil 8
bit
Dst.

1
0

3. Hitung jumlah bit yang berbeda antara tiap shingle dengan ciphertext.

0
1

Tabel 3 Contoh Hasil Perhitungan Perbedaan
Shingle
Ciphertext
Jumlah Bit
Berbeda
10010100
00000110
3
00101001
00000110
5

4
5

01001000
10010000

Nomor Shingle

2
3

01010010
10100100

00000110
00000110

00000110
00000110

`10

3
3

4
4

6
7

00100000
01000001

9

00000110

11

00011001

8

10000011

10
12
13
14

00000110
00000110

3
4

00000110

3

00001100

00000110

2

00110010
01100101

00000110
00000110

11001010

00000110

0

00000110

5

00000110

4

3
4

4. Langkah 3 menghasilkan 1 shingle dengan nilai terkecil, yaitu shingle nomor
9. Proses penyisipan menghasilkan shingle demikian
Shingle

Ciphertext

Hasil Penyisipan

00000110

00000110

00000110

WARNA

R
G

NILAI
255
10

Tabel 4 Hasil Penyisipan
NILAI BINER LSB Posisi
11111111
1
0
00001010
0
1

B
R

20
255

00010100
11111111

0
1

2
3

R

200
160

11001000
10100000

0
0

6
7

G
B
G
B
R
G
B
R
G
B

160
155

155
200

10100000
10011011

10011011
11001000

0
1

1
0

Penyisipan
1
0

8
9

0

00000000

0

10

0

0

00000000

0

11

0

255

11111111

1

14

1

01100100
00000000

0
0

Selesai
disini

4
5

0
100
0

Keterangan

12
13

 Dimulai
dari sini
Turun
kebawah

0
0

5. Hasil penyisipan tidak menyebabkan perubahan nilai piksel warna. Output
dari proses penyisipan adalah stego image, dan kode rahasia. Kode rahasia
dibentuk dari dua angka, yaitu angka posisi shingle, dan angka panjang
shingle. Berdasarkan langkah 4, maka posisi shingle adalah 9 dan panjang
shingle adalah 8, dan kode rahasia yang terbentuk adalah “9.8”.
Untuk menjelaskan proses ekstraksi, diberikan contoh sebagai berikut. Jika
diketahui potongan piksel pada suatu gambar hasil penyisipan adalah:
R
G
B R G
B
R G
B R
G
B R
200 200 100 1 255 255 160 154 200 160 155 200 1

`11

G B R G
1 255 10 20

Kunci yang digunakan adalah “rahasia”. Maka proses ekstraksi dilakukan
dengan cara demikian:
1. Baca komponen warna.
WARNA

R
G
B
R

Tabel 5 Komponen Warna Proses Ekstraksi
NILAI
NILAI BINER
255
11111111
10
00001010

G
B
R
G
B
R

G
B
R
G
B

20
255

00010100
11111111

200
160

11001000
10100000

160
155

10100000
10011011

155
200

8
9

10
11

01100100
00000000

255

2
3

6
7

00000000
00000000

100
0

0
1

4
5

10011011
11001000

0
0

Posisi

12
13

11111111

14

2. Berdasarkan kode rahasia, yaitu “9.8” (posisi 9, panjang pesan 8), baca warna
mulai posisi ke 9, 10, dan seterusnya sampai terkumpul 8 bit. Hasilnya adalah
WARNA

R

NILAI
255

00001010

0

G

255
160

11111111
10100000

1
0

G
B

160
155

10100000
10011011

G
B
R

10

Tabel 6 Hasil Ekstraksi
NILAI BINER
LSB
11111111
1

20

B
R

155
200

R
G

200
0

G
B

0
255

B
R

0
100

00010100

Kunci Dekripsi

0

1
2

1
0

5
6

11001000
00000000

0
0

9
10

00000000
01100100
00000000
11111111

00000111
01010010

`12

0
1

0
0
0
1

Penyisipan
1

0

3
4

10011011
11001000

3. Kemudian lakukan proses dekripsi.
Hasil Ekstraksi

0

Posisi

7
8

11
12
13
14

0
0

0
0
0
1

Plain Text

01000110

jika diubah ke nilai decimal adalah 70, dan dalam kode ASCII
berarti karakter “F”.

01000110

4.

Hasil dan Pembahasan

Pada bagian ini dijelaskan tentang hasil penelitian yang telah dilakukan.
Aplikasi diimplementasikan dalam bentuk aplikasi desktop. Pengembangan
aplikasi dilakukan dengan menggunakan Visual Studio 2012 Express for Desktop.
Visual Studio 2012 Express for Desktop merupakan satu dari serangkaian produk
Microsoft yang dapat digunakan tanpa harus membayar lisensi. Di dalam Visual
Studio sudah termasuk kerangka kerja pemrograman .Net Framework 4.5. Pustaka
ini menyediakan pustaka-pustaka yang dapat digunakan untuk mengolah gambar,
melakukan enkripsi/dekripsi, dan lain sebagainya.
Aplikasi terdiri dari dua bagian utama, yaitu bagian embedding dan bagian
extracting. Gambar yang dapat digunakan sebagai cover adalah gambar dengan
format PNG. PNG merupakan true color image, sehingga mudah diolah
menggunakan pustaka Bitmap pada .Net Framework. Pustaka Bitmap
menyediakan akses untuk membaca piksel gambar, dan lebih lanjut lagi,
menyediakan akses untuk membaca dan menulis nilai warna R, G, B di dalam
piksel tersebut.
Kunci yang digunakan dibatasi maksimal 6 karakter, dengan tujuan untuk
menghindari kesalahan input. Kunci yang tidak terlalu panjang juga memudahkan
untuk diingat. Kunci yang dimasukkan oleh user ini digunakan untuk
menyandikan pesan, sebelum proses penyisipan. Kunci yang sama diperlukan
ketika proses ekstraksi. Tanpa kunci yang sama, pesan yang diekstrak tidak akan
menampilkan informasi yang berarti.

Gambar 7 Form Embedding

Gambar 8 Form Extracting

`13

Gambar 7 menunjukkan tampilan form embedding. Form tersebut
menyediakan kontrol untuk memilih gambar cover, input pesan dan kunci. Stego
image dan kode rahasia ditampilkan setelah proses embed selesai.
Pada Gambar 8, ditunjukkan form yang digunakan untuk proses ekstraksi.
Form ini memerlukan input berupa gambar stego, kunci, dan kode rahasia. Output
dari proses ekstraksi adalah data teks, yaitu pesan yang disisipkan sebelumnya.
Kode Program 1 Perintah untuk membentuk suatu shingle
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.

byte[] shingle = new byte[panjangShingle];
Array.Copy(colors, i, shingle, 0, shingle.Length);
char[] lsbWarna = ReadLSB(shingle);
int nilaiPerbedaan = CompareLSB(ciphertext, lsbWarna);
log[i] = new ShingleLog()
{
Index = i,
NilaiPerbedaan = nilaiPerbedaan,
LSBWarna = lsbWarna
};

Kode Program 1 merupakan perintah yang digunakan untuk membentuk
suatu shingle. Panjang shingle sama dengan panjang ciphertext. Langkah pertama
adalah membaca sejumlah deretan warna pada gambar. Kemudian baca nilai LSB
dari deretan warna tersebut (baris 3). Hitung banyaknya bit yang berbeda dengan
ciphertext (baris 4). Kemudian simpan dalam objek ShingleLog.
Kode Program 2 Perintah menghitung perbedaan shingle dengan ciphertext

1. private static int CompareLSB(char[] bits, char[] lsbWarna)
2. {
3.
int beda = 0;
4.
for (int i = 0; i < bits.Length; i++)
5.
{
6.
if (!bits[i].Equals(lsbWarna[i]))
7.
{
8.
beda++;
9.
}
10.
}
11.
return beda;
12. }

Kode Program 2 merupakan perintah untuk menghitung perbedaan bit
antara shingle dengan ciphertext. Sebagai contoh jika shingle bernilai “1101”, dan
ciphertext bernilai “1100”, maka terdapat satu perbedaan. Jika ciphertext bernilai
“0001”, maka terdapat tiga perbedaan.
Kode Program 3 Perintah untuk menyisipkan informasi pada LSB warna
1.
2.
3.
4.

char[] binary = Convert.ToString(b, 2).PadLeft(8, '0').ToCharArray();
binary[7] = p;
byte hasil = (byte)Convert.ToInt32(new string(binary), 2);
return hasil;

Kode Program 3 merupakan perintah untuk menyisipan satu bit informasi
ke dalam LSB warna. LSB di dalam bentuk array berada di lokasi elemen ke 7
(baris 2). Perlu diperhatikan bahwa dalam array indeks dimulai dari 0. Sehingga
indeks ke 0 adalah MSB (most significant bit), dan indeks terakhir yaitu 7 adalah
LSB.
`14

Kode Program 4 Perintah untuk ekstraksi bit
1.
2.
3.
4.
5.
6.
7.

char[] bitPesan = new char[panjangPesan];
int b = 0;
for (i = index; i < index + panjangPesan; i++)
{
bitPesan[b] = BacaLSB(colors[i]);
b++;
}

Kode Program 4 merupakan perintah untuk ekstraksi. Proses ini
memerlukan dua angka, yaitu posisi awal ekstraksi, diwakilkan dengan variabel
index (baris 3), dan panjang shingle atau panjang pesan, diwakilkan dengna
variabel panjangPesan (baris 1). Perulangan dilakukan dari posisi index. Pada tiap
warna di posisi index tersebut, ambil nilai LSB nya. Kemudian lakukan terus
sebanyak “panjangPesan” kali.
Kode Program 5 Perintah untuk enkripsi/dekripsi

1. private static byte[] XOR(byte[] pesan, byte[] password)
2. {
3.
byte[] result = new byte[pesan.Length];
4.
for (int i = 0; i < pesan.Length; i++)
5.
{
6.
result[i] =
7.
(byte)(pesan[i] ^ password[i % password.Length]);
8.
}
9.
return result;
10. }

Kode Program 5 merupakan perintah enkripsi dan dekripsi. Karena
operator XOR berlaku dua arah, maka proses enkripsi dan dekripsi menggunakan
satu fungsi perintah. Operator XOR ditunjukkan pada baris 7, yaitu karakter “^”.
Sistem yang dikembangkan pada penelitian ini didasarkan pada latar
belakang masalah yaitu bagaimana menyisipkan informasi pada gambar dengan
meminimalkan perubahan pada cover. Berdasarkan hal tersebut, maka dilakukan
beberapa pengujian. Pengujian pertama yaitu pengujian keberhasilan penyisipan
pesan (uji integritas). Pengujian kedua adalah pengujian perbandingan perubahan
piksel. Pengujian ketika adalah perbandingan kecepatan proses. Pengujianpengujian tersebut dilakukan dengan menggunakan standart test images [15] yang
biasa digunakan pada pengujian algoritma pengolahan gambar.
Pengujian pertama yaitu pengujian integritas pesan. Pengujian ini
bertujuan untuk membuktikan bahwa proses penyisipan berhasil dilakukan, dan
pesan yang diproses (embed dan extract), tidak mengalami perubahan.
No

Tabel 7 Hasil Pengujian Integritas pesan
Gambar
Pesan Masuk
Pesan Keluar

Sama

1

Ineke Pakereng

Ya

`15

Ineke Pakereng

2

Ya

3

Ya

4

Ya

1

Ya

2

Ya
Frendy

Frendy

3

Ya

4

Ya

1

Universitas Kristen Universitas Kristen
Satya Wacana
Satya Wacana

`16

Ya

2

Ya

3

Ya

4

Ya

Berdasarkan hasil pengujian integritas pesan, disimpulkan bahwa pesan
yang telah melalui proses embed dan extract, tidak mengalami perubahan.
Ukuran gambar mempengaruhi panjang pesan yang dapat disisipkan. Pada
gambar berukuran 200x200 piksel, kapasitas penyisipan adalah (200 x 200 x 3
warna) / 8 bit = 15000 byte.
Pengujian kedua adalah pengujian perbandingan perbedaan warna.
Pengujian ini dilakukan dengan menyisipkan data pada 8 gambar berbeda dengan
satu pesan yang sama, dan kunci yang sama “satya.wacana”. Pada pengujian ini
dilakukan proses embedding dengan menggunakan dua jenis algoritma. Algoritma
yang pertama adalah steganografi LSB biasa, dan algoritma yang kedua adalah
steganografi dengan Shingling. Pesan yang disisipkan adalah: “teknologi
informasi”.
No

Gambar Asli

Tabel 8 Hasil Pengujian Perbandingan Perubahan Piksel
Perbedaan
Warna
Stego Shingling
Stego LSB Biasa
dengan
gambar asli

Perbedaan
Warna
dengan
gambar asli

1.

51
(0.077 %)

27
(0.041 %)

2.

51
(0.077%)

35
(0.053%)

`17

3.

50
(0.077%)

32
(0.048%)

4.

53
(0.080%)

35
(0.053%)

5.

56
(0.0854%)

33
(0.050%)

52.2

32.4

Rata-rata

Hasil pengujian perbandingan perbedaan piksel menunjukkan bahwa
dengan menyisipkan dengan menggunakan algoritma Shingling, memberikan
perubahan yang lebih kecil daripada steganografi LSB biasa. Panjang pesan
“teknologi informasi” adalah 19 byte (152 bit). Pada steganografi LSB biasa, dari
152 bit, terdapat 52.2 bit yang menyebabkan perubahan ((52.2 / 152) x 100% =
34%). Pada steganografi Shingling, terdapat 32.4 bit yang menyebabkan
perubahan ((32.4 / 152) x 100% = 21%). Algoritma Shingling menyisipkan lebih
efektif sebesar 37.9% ((52.2-32.4)/52.2 x 100%) daripada steganografi LSB biasa.
Pengujian ketiga menggunakan scenario yang sama dengan pengujian
kedua. Perbedaanya adalah pada pengujian ketiga, yang dicatat adalah waktu
proses embedding dan ektraksi
Tabel 9 Hasil Pengujian Pengaruh Kunci
Stego LSB Biasa
No

Gambar Asli

Stego Shingling

Penyisipan
(milidetik)

Ekstraksi
(milidetik)

Penyisipan
(milidetik)

Ekstraksi
(milidetik)

1.

216.824

82.4886

5090.2735

82.6086

2.

214.0346

81.4986

5037.8592

78.5886

`18

3.

215.0775

80.6686

4965.9698

81.5886

4.

216.1975

75.5286

5360.8706

76.5086

5.

214.4201

87.6686

5155.566

87.4786

Berdasarkan hasil pengujian ketiga, diketahui bahwa algoritma shingling
memerlukan waktu penyisipan yang lebih lama dibandingkan dengan algoritma
steganografi LSB biasa. Hal ini karena pada algoritma steganografi LSB biasa,
informasi langsung disisipkan dari posisi awal warna cover. Pada steganografi
Shingling, dilakukan proses pembentukan shingle, dan pencarian shingle,
sehingga lebih memerlukan waktu proses. Proses ekstraksi kedua algoritma
menunjukkan perbedaan waktu yang kecil. Hal ini dikarenakan pada kedua
algoritma, proses ekstraksi dilakukan langsung pada lokasi penyisipan. Pada
algoritma steganografi LSB biasa, ekstraksi dimulai dari posisi pertama warna.
Sedangkan pada algoritma steganografi Shingling, ekstraksi dimulai dari posisi
indeks sesuai dengan kode rahasia yang dimasukkan, dan tanpa ada proses
pembuatan shingle-shingle.
Penggunaan algoritma Shingling memberikan keuntungan yaitu
meminimalkan perubahan piksel yang terjadi pada cover. Perubahan kecil penting
karena akan mengurangi kecurigaan pada cover yang disisipi.
Pengujian keempat adalah untuk menguji panjang pesan maksimal yang
dapat disisipkan pada gambar.
Tabel 10 Hasil Pengujian Maksimal Panjang Pesan
Panjang
Pesan

Ukuran Piksel
Gambar

Jumlah
Warna
(byte)

(byte)

(bit)

1.

128 x 128

49,152

1,000

8,000

No

Kesimpulan Penyisipan

Stego LSB
Biasa

Stego
Shingling

Berhasil

Berhasil

2.

128 x 128

49,152

2,000

16,000

Berhasil

Berhasil

3.

128 x 128

49,152

6,144

49,152

Berhasil

Berhasil

4.

128 x 128

49,152

8,000

64,000

Gagal

Gagal

5.

128 x 128

49,152

10,000

80,000

Gagal

Gagal

6.

256 x 256

196,608

1,000

8,000

Berhasil

Berhasil

7.

256 x 256

196,608

4,000

32,000

Berhasil

Berhasil

8.

256 x 256

196,608

20,000

160,000

Berhasil

Berhasil

`19

9.

256 x 256

196,608

24,576

196,608

Berhasil

10.

256 x 256

196,608

32,000

256,000

Gagal

Berhasil
Gagal

11.

512 x 512

786,432

10,000

80,000

Berhasil

Berhasil

12.

512 x 512

786,432

20,000

160,000

Berhasil

Berhasil

13.

512 x 512

786,432

98,000

784,000

Berhasil

Berhasil

14.

512 x 512

786,432

98,304

786,432

Berhasil

Berhasil

15.

512 x 512

786,432

100,000

800,000

Gagal

Gagal

16.

1024 x 1024

3,145,728

100,000

800,000

Berhasil

Berhasil

17.

1024 x 1024

3,145,728

200,000

1,600,000

Berhasil

Berhasil

18.

1024 x 1024

3,145,728

300,000

2,400,000

Berhasil

Berhasil

19.

1024 x 1024

3,145,728

393,216

3,145,728

Berhasil

Berhasil

20.

1024 x 1024

3,145,728

500,000

4,000,000

Gagal

Gagal

Berdasarkan Tabel 10, penyisipan berhasil jika panjang bit pesan kurang
dari atau sama dengan jumlah warna. Hal ini berhubungan dengan proses
penyisipan yaitu, 1 bit pesan disisipkan ke dalam 1 byte warna. Sehingga
maksimal panjang pesan dapat dihitung berdasarkan rumus P x L x 3. P adalah
panjang piksel gambar, L adalah lebar piksel warna, dan 3 adalah konstanta yang
menunjukkan banyaknya warna dalam 1 piksel.
5.

Simpulan

Berdasarkan penelitian, pengujian dan analisis terhadap sistem, maka dapat
diambil kesimpulan sebagai berikut: (1) Steganografi pada citra digital dapat
diimplementasikan dengan menggabungkan metode penyisipan yang
memanfaatkan LSB, dan penentuan lokasi penyisipan terbaik dengan
menggunakan algoritma Shingling; (2) Proses penyisipan dengan algoritma
Shingling berhasil meminimalkan perubahan yang terjadi pada cover, tanpa
merusak integritas pesan yang disisipkan; (3) Kecepatan proses penyisipan
algoritma Shingling lebih lambat daripada proses penyisipan algoritma LSB biasa,
karena terdapat proses pencarian lokasi terbaik; (4) Untuk proses ekstraksi,
diperlukan informasi seperti lokasi ekstraksi dan panjang pesan/shingle. Hal ini
dapat dipenuhi dengan cara membangkitkan kode rahasia ketika proses penyisipan
selesai. Kode rahasia berisi indeks posisi warna tempat penyisipan dimulai, dan
nilai panjang bit pesan yang disisipkan.
Saran yang dapat diberikan untuk penelitian dan pengembangan lebih lanjut
adalah dalam hal analisis untuk penyisipan pesan yang panjang. Pesan yang
panjang akan mengakibatkan shingle yang panjang. Tentu saja akan
mempengaruhi proses pencarian lokasi terbaik. Usulan yang dapat diberikan
adalah dengan memecah pesan menjadi beberapa bagian. Cover juga terbagi ke
dalam beberapa area penyisipan, tiap area bertanggung jawab untuk menampung
satu potongan pesan.

`20

6.
[1].
[2].
[3].
[4].
[5].
[6].
[7].
[8].
[9].
[10].
[11].
[12].
[13].
[14].
[15].

Daftar Pustaka
FLOSS Manuals 2015. Understanding Basic Internet Security.
http://en.flossmanuals.net/basic-internet-security/ch003_understandingbasic-internet-security/. Diakses pada 7 Juli 2015
Forouzan, B. A. 2007. Cryptography & Network Security. McGraw-Hill,
Inc.
Weiss, M. 2009. Principles of Steganography. n, d.[Online]. Available:
http://www. math. ucsd. edu/~ crypto/Projects/MaxWeiss/steganography.
pdf.[Accessed: March 15, 2009]
Patil, S. A. 2012. Hiding Text in Audio Using LSB Based Steganography. 2,
8–15.
Potdar, V. M. & Chang, E. 2004. Grey level modification steganography
for secret communication. In Industrial Informatics, 2004. INDIN’04. 2004
2nd IEEE International Conference on, pp. 223–228.
Broder, A. 2000. Identifying and filtering near-duplicate documents.
Combinatorial pattern matching , 1–10.
Alatas, P. 2009. Implementasi Teknik Steganografi dengan Metode LSB
pada Citra Digital. Universitas Gunadarma
Munir, R. 2006. Kriptografi. Informatika, Bandung
Arusbusman, Y. R. 2007. Image Steganografi.
Chandramouli, R. & Memon, N. 2001. Analysis of LSB based image
steganography techniques. In Image Processing, 2001. Proceedings. 2001
International Conference on, pp. 1019–1022.
Rafferty, C. 2005. Steganography & Steganalysis of Images. National
University of Ireland, Galway
Parvez, M. T. & Gutub, A. A.-A. 2008. RGB Intensity Based Variable-Bits
Image Steganography. 2008 IEEE Asia-Pacific Services Computing
Conference , 1322–1327. (doi:10.1109/APSCC.2008.105)
Microsoft
2015.
Overview
of
the
.NET
Framework.
https://msdn.microsoft.com/id-id/library/zw4w595w(v=vs.110).aspx.
Diakses pada 4 November 2015.
Pressman, R. S. & Jawadekar, W. S. 1987. Software engineering. New
York 1992
Weber,
A.
1993.
The
USC-SIPI
Image
Database.
http://sipi.usc.edu/database/. Diakses pada 3 Oktober 2015.

`21