perancangan dan implementasi aplikasi steganografi pada citra … · 2017. 7. 18. · penelitian...
TRANSCRIPT
Perancangan dan Implementasi
Aplikasi Steganografi pada Citra
Menggunakan Metode LSB Termodifikasi
dalam Pemilihan Byte Penyisipan
Artikel Ilmiah
Peneliti : Khristie Grace Pattiasina (672008107)
M. A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen SatyaWacana
Salatiga
Mei 2013
Perancangan dan Implementasi
Aplikasi Steganografi pada Citra
Menggunakan Metode LSB Termodifikasi
dalam Pemilihan Byte Penyisipan
Artikel Ilmiah
Diajukan kepada
Fakultas Teknologi Informasi
untuk memperoleh gelar Sarjana Komputer
Peneliti: Khristie Grace Pattiasina (672008107)
M. A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Mei 2013
Perancangan dan Implementasi
Aplikasi Steganografi pada Citra
Menggunakan Metode LSB Termodifikasi
dalam Pemilihan Byte Penyisipan
1)
Khristie Grace Pattiasina, 2)
M.A. Ineke Pakereng
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60, Salatiga 50771, Indonesia
Email: 1)
Abstract
The development of information technology increasingly provides convenience in
the process of sending messages and documents. Confidentiality is a major consideration
when an important document sent over a computer network. Steganography is a method
to hide a message inside another file without showing significant changes, with the intent
of reducing the suspicion of the file. In this study implemented an LSB steganography by
using the modified method. LSB used a modified LSB byte insertion in the selection of the
cover image as a document storage bits. The results show that the cover image before
and after insertion of visually did not show significant differences. Test the integrity of
the document indicates that the document does not change the contents of the file.
Keywords: Steganography, LSB Modified, Selection Byte Insertion
Abstrak
Perkembangan teknologi informasi semakin memberikan kemudahan dalam
proses pengiriman pesan dan dokumen. Kerahasian adalah menjadi pertimbangan utama
ketika suatu dokumen penting dikirimkan melalui jaringan komputer. Steganografi
merupakan suatu metode untuk merahasiakan pesan di dalam suatu file lain tanpa
menunjukan perubahan yang signifikan, dengan maksud mengurangi kecurigaan terhadap
file tersebut. Pada penelitian ini diimplementasikan suatu steganografi dengan
menggunakan metode LSB termodifikasi. LSB yang digunakan merupakan LSB
termodifikasi dalam pemilihan byte penyisipan pada cover image sebagai tempat
penyimpanan bit-bit dokumen. Hasil pengujian menunjukkan bahwa cover image
sebelum dan sesudah disisipi secara visual tidak menampakkan perbedaan yang
signifikan. Uji integritas dokumen menunjukkan bahwa dokumen tidak mengalami
perubahan isi file.
Kata Kunci: Steganografi, LSB Termodifikasi, Pemilihan Byte Penyisipan
1)
Mahasiswa Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana 2)
Staf Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana.
1
1. Pendahuluan
Dalam bidang keamanan komputer, ada dua teknik yang digunakan untuk
menyembunyikan data atau pesan rahasia sehingga data atau pesan rahasia tetap
tidak terlihat, yaitu teknik kriptografi dan steganografi. Pada teknik kriptografi
sebelum data atau pesan rahasia dikirim, data dienkripsi dengan algoritma
tertentu, sehingga pesan yang dikirim tidak dapat dibaca atau diketahui orang
lain. Namun karena pesan tersebut merupakan pesan acak dan berbeda dengan
data aslinya, maka akan menimbulkan kecurigaan pada orang lain. Hal ini
disebabkan beberapa enkripsi mempunyai pola ciphertext yang menunjukkan
metode enkripsi yang digunakan, dengan demikian orang menjadi curiga dan akan
berusaha memecahkan pesan tersebut. Oleh karena itu, agar data yang
disembunyikan tidak dicurigai orang lain, terdapat suatu teknik penyamaran data
yaitu steganografi [1].
Pada steganografi pesan disembunyikan dalam media yang umum dikenal
yaitu image, audio, dan video, sehingga tidak menimbulkan kecurigaan. Teknik
steganografi menggunakan dua media yang berbeda. Salah satu media berfungsi
sebagai media yang berisikan informasi (pesan rahasia) dan media yang lain
berfungsi sebagai pembawa informasi tersebut (cover) yang dapat berupa sebuah
teks, gambar, suara, atau video.
Masalah yang sering muncul dalam steganografi adalah keterbatasan lokasi
penyisipan pesan. Keterbatasan ini ada karena teknik steganografi berusaha untuk
melakukan perubahan seminimal mungkin pada cover, dengan maksud
mengurangi kecurigaan. Teknik steganografi dengan metode LSB, melakukan
penyisipan pesan ke bit terendah (LSB) tiap pixel yang terdapat pada cover. Hal
ini berarti melakukan perubahan pada tiap byte warna dari cover, yang dapat
berakibat besarnya perubahan yang terjadi pada cover.
Berdasarkan latar belakang tersebut, yaitu keterbatasan lokasi dan berusaha
meminimalisasi perubahan cover, pada penelitian diajukan suatu steganografi
pada citra menggunakan metode LSB termodifikasi dalam pemilihan byte
penyisipan. Teknik ini merupakan pengembangan dari metode LSB. Penyisipan
dilakukan hanya pada byte warna pada cover yang memiliki nilai tertentu
(selective). Pemilihan nilai ini bersifat dinamis, tidak terbatas pada nilai byte
tertentu saja, sebagai contoh 254 dan 255 saja. Berdasarkan uraian tersebut, maka
akan dilakukan penelitian yang bertujuan untuk melakukan “Perancangan dan
Implementasi Aplikasi Steganografi Pada Citra Menggunakan Metode LSB
Termodifikasi Dalam Pemilihan Byte Penyisipan”.
2. Tinjauan Pustaka
Beberapa Penelitian yang membahas sistem steganografi pernah dilakukan.
Penelitian dengan topik “Efficient Method of Audio Steganography by Modified
LSB Algorithm and Strong Encryption Key With Enhanced Security”, yaitu
penelitian yang mengajukan metode baru untuk penyisipan pesan dalam audio,
dengan memodifikasi metode Least Significant Bit (LSB), dan menggunakan
kekuatan kunci enkripsi untuk meningkatkan keamanan pesan yang disisipkan.
2
Enkripsi yang digunakan adalah teknik enkripsi yang ditentukan sendiri dengan
aturan yang sederhana. Proses enkripsi diterapkan pada pesan, sebelum pesan
tersebut disisipkan ke dalam audio [2].
Penelitian lain yang pernah dilakukan berjudul “Aplikasi Steganografi pada
Citra Menggunakan Metode Least Significant Bit Termodifikasi dan RC6”.
Kesimpulan yang diperoleh adalah dapat melakukan penyisipan (embedding) atau
pengambilan (extracting) data pada byte komponen warna bernilai 254 atau 255,
pada file cover berformat PNG. Ukuran file yang disisipkan mempengaruhi
kecepatan proses (embedding, extracting), semakin besar file, semakin lama
waktu proses. Panjang kunci yang digunakan pada algoritma RC6 mempengaruhi
kecepatan proses enkripsi dan dekripsi, semakin besar panjang kunci, semakin
lama waktu proses [3].
Berdasarkan penelitian yang pernah dilakukan tentang steganografi dengan
metode LSB melalui media video, citra dan penelitian tentang metode LSB yang
dimodifikasi, maka dalam penelitian ini, akan dilakukan penelitian yang bertujuan
untuk merancang dan mengimplemetasikan aplikasi steganografi pada citra yang
menggunakan metode LSB termodifikasi dalam pemilihan byte penyisipan,
dimana dalam penelitian ini pengguna dapat memilih 2 (dua) byte bernilai
tertentu, yaitu genap dan ganjil, secara dinamis sebagai lokasi tempat
penyimpanan bit-bit dokumen yang akan disisipkan. Media yang dipakai sebagai
cover image dalam penelitian yaitu image dengan format PNG. Penelitian yang
dilakukan akan melihat apakah terjadi perubahan signifikan terhadap kualitas dan
besar ukuran data pada cover image setelah melalui proses embedding dan
extracting data, dan melihat apakah terjadi perubahan atau kerusakan pada data
yang telah diekstrak. Sistem yang dibangun diharapkan dapat membantu para
pengguna untuk menjaga kerahasiaan data pesan, dengan cara disisipkan dalam
file image.
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)” [1]. 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
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
3
media yang dapat digunakan sebagai media steganografi, media penampung
tersebut dapat berupa text, image, audio, atau video [4].
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) [4].
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 [4].
3. Metode dan Perancangan Sistem
Penelitian yang dilakukan, diselesaikan melalui tahapan penelitian yang
terbagi dalam empat tahapan, yaitu: (1) Identifikasi masalah, (2) Perancangan
sistem, (3) Implementasi sistem, (4) Pengujian sistem dan analisis hasil pengujian.
4
Gambar 1 Tahapan Penelitian [5]
Tahapan penelitian pada Gambar 1, dapat dijelaskan sebagai berikut. Tahap
pertama: identikasi masalah, yaitu mengidentifikasi masalah-masalah yang akan
dibahas serta mendapatkan data dan literatur yang terkait dengan proses
embedding dan extracting terhadap data teks, dan dokumen pada image .PNG,
menggunakan Metode Least Significant Bit (LSB) termodifikasi dalam pemilihan
byte yang digunakan untuk penyisipan (tidak terpaku pada byte tertentu); Tahap
kedua: perancangan sistem yang meliputi perancangan proses embedding dan
extracting pada sistem steganografi yang dibangun; Tahap ketiga, implementasi
sistem, yaitu mengimplementasikan tahapan penelitian pertama dan kedua ke
dalam sebuah program, dengan membuat aplikasi/program sesuai kebutuhan
sistem berdasarkan perancangan sistem yang telah dilakukan. Misalnya
aplikasi/program dapat menyembunyikan pesan rahasia dan dapat melindungi
keamanan data yang disisipkan pada citra dengan menggunakan metode Least
Significant Bit (LSB) yang dimodifikasi dalam pemilihan byte penyisipan (tidak
terpaku pada byte tertentu); Tahap keempat: pengujian sistem dan analisis hasil
pengujian, yaitu dilakukan pengujian terhadap pengaruh ukuran data, waktu
proses, dan kualitas image, serta melihat hasil yang diberikan apakah sudah sesuai
dengan konsep steganografi.
Penelitian yang dilakukan membahas tentang lokasi penyisipan pada cover
image yaitu dengan memilih byte-byte tertentu, dijelaskan sebagai berikut.
Pemilihan byte sebagai lokasi penyisipan dilakukan oleh user, dengan ketentuan
byte yang dipilih merupakan pasangan byte yang memiliki 7 (tujuh) bit awal sama,
dan 1 (satu) bit terakhir (LSB) berbeda, dijelaskan pada Contoh 1:
Contoh 1: Byte MSB LSB
90 0 1 0 1 1 0 1 0
91 0 1 0 1 1 0 1 1
7 bit pertama sama berbeda
Aturan ini digunakan karena proses penyisipan dan ekstraksi terjadi pada LSB,
dan kemungkinan bit yang disisipkan adalah antara bit bernilai 0 atau 1. Sehingga
jika pada Contoh 1, byte bernilai 90, nilai LSB diganti (disisipi) dengan bit 0 akan
menjadi 90, dan jika diganti 1, akan menjadi 91. Demikian pula byte bernilai 91,
jika nilai LSB diganti 0 akan menjadi 90, jika diganti 1 menjadi 91.
Identifikasi Masalah
Implementasi Sistem
Pengujian Sistem dan Analisis Hasil Pengujian
Perancangan Sistem meliputi Perancangan Proses
Embedding, dan Proses Extracting
5
Contoh 2:
90 01011010 disisip 0 01011010 90
90 01011010 disisip 1 01011011 91
91 01011011 disisip 0 01011010 90
91 01011011 disisip 1 01011011 91
Kesimpulannya adalah pasangan lokasi yang dapat disisipkan harus memiliki 7
(tujuh) bit pertama yang sama. 1 (satu) bit terakhir (LSB) digunakan untuk
menyisipkan. 1 (satu) bit terakhir tersebut mengakibatkan nilai lokasi tersebut
adalah genap jika LSB bernilai 0, dan ganjil jika LSB bernilai 1.
Penelitian yang dilakukan menghasilkan aplikasi steganografi, yang terdiri
dari dua proses utama, yaitu proses embedding dan proses extracting. Proses
embedding data dalam sistem steganografi, dijelaskan sebagai berikut. File yang
akan disisipkan akan dipilih terlebih dahulu, kemudian dihitung besar lokasi yang
tersedia pada file. File PNG yang digunakan sebagai media penyisipan harus
memiliki jumlah byte yang cukup untuk menampung file pesan. Proses
berikutnya adalah proses penyisipan bit file pesan di LSB byte file media. Proses
ini bersifat dinamis karena penyisipan dapat dilakukan pada byte file media yang
dapat dipilih oleh user, dan tidak terpaku pada byte bernilai 254 atau 255 saja.
Lokasi penyisipan data pesan dilakukan pada 2 (dua) byte bernilai tertentu, genap
dan ganjil. Selanjutnya pembacaan diteruskan lagi ke byte berikutnya. Proses
tersebut diulangi sampai semua bit file pesan selesai disisipkan. Setelah proses
selesai, file image disimpan sebagai file baru. Jika ada kesalahan pada proses
embedding maka proses akan berhenti dan menyimpan file baru. Jika besar lokasi
penyimpanan tidak dapat menampung file yang disisipkan maka tidak terjadi
proses embedding. Proses embedding dijelaskan pada Contoh 3.
Contoh 3: Proses Embedding Data
Berdasarkan Contoh 2, diketahui bahwa lokasi penyisipan yang dipilih user
adalah 90 dan 91. File gambar memiliki susunan warna sebagai berikut.
90 91 10 20 250 90
160 100 91 91 91 90
0 255 90 89 90 91
File yang disisipkan berisi karakter “a”
a = nilai ASCII 97 0110 0001 8 (delapan) bit yang harus disisipkan.
Maka diperlukan 8 lokasi bernilai bernilai 90 atau 91.
Hasil penyisipan adalah sebagai berikut:
6
byte
warna 90 91 10 20 250 90
nilai
binary 01011010 01011011 00001010 00010100 11111010 01011010
bit
pesan 0 1
1
hasil 01011010 01011011 tetap tetap tetap 01011011
byte
warna 160 100 91 91 91 90
nilai
binary 10100000 01100100 01011011 01011011 01011011 01011010
bit
pesan 0 0 0 0
hasil tetap tetap 01011010 01011010 01011010 01011010
byte
warna 0 255 90 89 90 91
nilai
binary 00000000 11111111 01011010 01011001 01011010 01011011
bit
pesan 1
hasil tetap tetap 01011011 tetap tetap tetap
Hasil akhir penyisipan: 90 91 10 20 250 91
160 100 90 90 90 90
0 255 91 89 90 91
Proses embedding hanya dapat dilakukan jika lokasi yang dipilih oleh user
memiliki jumlah yang sama atau lebih besar dari panjang bit pesan. Jika user
memilih lokasi yang tidak mencukupi, maka sistem akan memberikan pesan
kesalahan. Hal ini dikarenakan tiap 1 (satu) bit pesan memerlukan 1 byte lokasi
penyisipan. Pada Contoh 3, untuk menyisipkan 1 (satu) karakter (1 karakter
ASCII = 1 byte, 1 byte = 8 bit), maka diperlukan 8 lokasi (warna) yang memiliki
nilai 90 atau 91. Proses embedding dalam bentuk flowchart, ditunjukkan pada
Gambar 2.
7
Gambar 2 Proses Embedding
Proses extracting data merupakan proses untuk membaca pesan yang
disisipkan di dalam media penampung (cover). Proses extracting dalam sistem
yang dibangun dijelaskan sebagai berikut. Pilih file yang berisi pesan rahasia yang
telah disisipkan. Setelah itu, pilih lokasi byte yang akan diambil LSB-nya, jika
byte sesuai maka proses extracting akan dilakukan. Hasil dari variabel penampung
akan ditampilkan oleh program. Proses extracting dalam bentuk flowchart,
ditunjukkan pada Gambar 3.
8
Gambar 3 Proses Extracting
Contoh 4: Proses Ekstraksi
Berdasarkan Contoh 3, diketahui lokasi penyisipan yang dipilih user adalah 90
dan 91. File gambar yang telah disisipi memiliki susunan warna sebagai berikut :
90 91 10 20 250 91
160 100 90 90 90 90
0 255 91 89 90 91
9
Berdasarkan informasi pesan yang disisipkan diketahui bahwa panjang pesan
adalah 8, artinya ada 8 lokasi yang bernilai 90 dan 91 yang menyimpan bit pesan.
byte
warna 90 91 10 20 250 90
nilai
binary 01011010 01011011 00001010 00010100 11111010 01011010
bit
pesan 0 1
1
byte
warna 160 100 91 91 91 90
nilai
binary 10100000 01100100 01011011 01011011 01011011 01011010
bit
pesan 0 0 0 0
byte
warna 0 255 90 89 90 91
nilai
binary 00000000 11111111 01011010 01011001 01011010 01011011
bit
pesan 1
Hasil akhir ekstraksi:
0110 0001 97 merupakan kode ASCII untuk karakter “a”.
4. Hasil dan Pembahasan
Gambar 4 menunjukkan antarmuka dari proses embedding. Untuk
menjalankan proses embedding, user memilih cover image, dengan memilih
tombol select cover image. Proses selanjutnya yaitu, memilih file teks atau file
dokumen yang akan disimpan ke dalam file image pada menu select message file,
selanjutnya memilih menu select embedding location untuk memilih nilai
penyimpanan bit-bit dokumen pada byte bernilai tertentu sesuai keinginan dari
user. Proses selanjutnya adalah memilih tombol embed. Setelah melakukan proses
embed, maka user harus memilih tombol save embedded untuk menyimpan file
Cover yang sudah disisipkan file atau pesan rahasia tersebut.
10
Gambar 4 Antarmuka Proses Embedding
Gambar 5 menunjukkan antarmuka dari proses extracting, dimana user
dapat memilih cover image yang di dalamnya terdapat pesan rahasia yang akan
diekstrak. Proses selanjutnya user harus memilih menu select embedding
location untuk memilih nilai penyimpanan bit-bit dokumen pada byte yang
bernilai sama seperti ketika proses extracting, jika user memilih nilai
penyimpanan bit-bit dokumen pada byte yang bernilai sama sesuai ketika proses
embedding, maka pesan rahasia yang telah disisipkan akan ditemukan, sehingga
user dapat melihat atau mengambil pesan rahasia yang telah disisipkan, jika
user memilih nilai penyimpanan bit-bit dokumen pada byte yang bernilai tidak
sesuai ketika proses embedding, maka pesan rahasia yang telah disisipkan tidak
akan ditemukan, sehingga user tidak dapat melihat atau mengambil pesan
rahasia tersebut.
Gambar 5 Antarmuka Proses Extracting
Gambar 6 menunjukkan antarmuka dari proses compare, dimana user dapat
memilih cover image yang dipakai pada saat sebelum dan sesudah disisipkan
pesan atau pada proses embedding dan extracting, untuk melihat perbedaan pixel
dari cover image tersebut.
11
Gambar 6 Antarmuka Proses Compare
Kode Program 1 Perintah Untuk Proses Embedding 1. string binary = Convert.ToString(warna, 2).PadLeft(8, '0');
2. char[] arrayBit = binary.ToCharArray();
3. arrayBit[7] = p;
4. binary = new string(arrayBit);
Kode Program 1 merupakan perintah yang digunakan untuk menyisipkan bit
pesan ke dalam byte image. Langkah yang dilakukan perintah pada baris 1 adalah
mengubah byte ke dalam bentuk binary. Sehingga untuk byte dengan nilai 5 akan
menjadi “00000101”. Kemudian perintah pada baris 2, string binary diubah dalam
bentuk array karakter. Perintah pada baris 3, array indeks ke 7 (bit indeks paling
kurang signifikan/LSB) diganti dengan bit pesan pada variabel p. Perintah pada
baris ke 4, array yang telah “disisipi” ini dikembalikan dalam bentuk string
binary, untuk kemudian nantinya disimpan kembali dalam cover.
Kode Program 2 Perintah Untuk Proses Extracting 1. string binary = Convert.ToString(b, 2);
2. return binary[7];
Kode Program 2 menjelaskan proses ekstraksi nilai LBS dari byte warna.
Perintah pada baris 1, byte warna disimpan pada variabel b. Variable b diubah
dalam bentuk string binary. Kemudian perintah pada baris 2 dibaca nilai paling
akhir (LSB), yaitu pada indeks ke 7.
Kode Program 3 Perintah Untuk Proses Compare 1. Color[] a = EIS.ELSB.ReadColor(banding1);
2. Color[] b = EIS.ELSB.ReadColor(banding2);
3. int akhir = (a.Length > b.Length ? b.Length : a.Length);
4. int total = Math.Abs(a.Length - b.Length);
5. for (int i = 0; i < akhir; i++)
6. {
7. if (!a[i].Equals(b[i])) { total++; }
8. }
9. return total;
Kode Program 3 menjelaskan tahap proses compare. Perintah pada baris 1
dan 2 merupakan perintah yang digunakan untuk membaca warna yang terdapat
pada masing-masing image. Kemudian perintah pada baris 3 menghitung selisih
jumlah warna antara warna a dan b. Nilai selisih dibuat selalu positif (absolute)
pada perintah baris 4. Perintah pada baris 5-7 dilakukan perbandingan warna pada
12
indeks yang sama dari kedua gambar. Jika terjadi perbedaan nilai, maka nilai total
akan ditambahkan 1. Nilai total ini mencatat jumlah perbedaan yang ada.
Sistem steganografi yang dibangun perlu diuji, untuk melihat apakah sudah
sesuai dengan konsep steganografi. Beberapa pengujian yang dilakukan dijelaskan
sebagai berikut. Tabel 1 Hasil Pengujian Proses Embedding dan Extracting
Dengan Panjang Pesan (byte) yang Berbeda
Gambar 7 Grafik Hasil Pengujian Pengaruh Panjang Pesan (Byte)
Terhadap Lama Waktu Proses Embbeding dan Extracting
Berdasarkan hasil pengujian pengaruh panjang pesan terhadap lama waktu
proses embedding dan extracting pada Tabel 1 dan grafik pada Gambar 7, dapat
disimpulkan bahwa panjang pesan (byte) mempengaruhi proses embedding dan
proses extracting. semakin besar panjang pesan (byte), semakin lama waktu
proses embedding dan proses extracting.
Tabel 2 Hasil Pengujian Proses Embedding dan Extracting dengan Dimensi File yang Berbeda
NO Cover Image Size Dimensions
Panjang
Pesan Embedding Extracting
(byte) (millisecond) (millisecond)
1 lena.png 785294 512x512 10 byte 745,04 444,03
2 lena.png 785294 512x513 20 byte 933,05 454,05
3 lena.png 785294 512x514 30 byte 1111,06 461,13
4 lena.png 785294 512x515 40 byte 1309,07 472,03
5 lena.png 785294 512x516 50 byte 1487,08 483,06
NO Cover Image Size Dimensions Panjang Pesan Embedding Extracting
(byte) (millisecond) (millisecond)
1 baboon.png 785294 64x64 10 byte 18 12
2 baboon.png 785294 128x128 10 byte 61 47
3 baboon.png 785294 256x256 10 byte 237,4 133
4 baboon.png 785294 512x515 10 byte 1689,12 1044,8
5 baboon.png 785294 1024x1024 10 byte 4037,23 2654,7
13
Gambar 8 Grafik Hasil Ukuran Cover Image Terhadap
Lama Waktu Proses Embedding dan Extracting
Berdasarkan hasil pengujian pengaruh ukuran cover image terhadap lama
waktu proses embedding dan extracting pada Tabel 2 dan grafik pada Gambar 8,
dapat disimpulkan bahwa ukuran cover image mempengaruhi proses embedding
dan proses extracting. Semakin besar ukuran cover image, semakin lama proses
embedding dan proses extracting.
Tabel 3 Hasil Pengujian Proses Embedding dan Extracting
Dengan Lokasi Penyisipan yang Berbeda
Gambar 9 Grafik Hasil Pengaruh Lokasi Penyisipan Terhadap
Lama Waktu Proses Embedding dan Extracting
Berdasarkan hasil pengujian pengaruh lokasi penyisipan terhadap lama
waktu proses embedding dan extracting pada Tabel 3 dan grafik pada Gambar 9,
dapat disimpulkan bahwa lokasi penyisipan tidak mempengaruhi proses
embedding dan proses extracting.
NO Cover Image
Lokasi
Penyisipan Dimension
Panjang
Pesan Embedding Extracting
(byte)
(millisecond)
(millisecond)
1 vegetables.png 0 dan 1 512x512 10 788,05 442,5
2 vegetables.png 64 dan 65 512x512 10 775,04 453,3
3 vegetables.png 128 dan 129 512x512 10 795,05 478,2
4 vegetables.png 158 dan 159 512x512 10 777,04 479,9
5 vegetables.png 200 dan 201 512x512 10 776,04 494,1
14
Tabel 4 Hasil Pengujian Integritas (Keutuhan) File Pesan Sebelum dan Sesudah Disisipkan
No
Nama
File Ukuran MD5 Sebelum Embed MD5 Sesudah Extract Kesimpulan
1 10byte.txt 10 byte e807f1fcf82d132f
9bb018ca6738a19f
e807f1fcf82d132f
9bb018ca6738a19f Utuh
2 20byte.txt 20 byte fd85e62d9beb4542
8771ec688418b271
fd85e62d9beb4542
8771ec688418b271 Utuh
3 10byte.txt 30 byte a46857f0ecc21f0a
06ea434b94d9cf1d
a46857f0ecc21f0a
06ea434b94d9cf1d Utuh
4 20byte.txt 40 byte f5bf3e984432ae6f
9f98840951e5cef3
f5bf3e984432ae6f
9f98840951e5cef3 Utuh
5 10byte.txt 50 byte fb46ea63c015ee69
0bd3f2e50a461296
fb46ea63c015ee69
0bd3f2e50a461296 Utuh
Berdasarkan hasil pengujian integritas (keutuhan) file pesan sebelum dan
sesudah disisipkan pada Tabel 4, dapat disimpulkan bahwa tidak terjadi perubahan
pesan. Pesan yang sebelum disisipkan, dengan pesan hasil ekstrak memiliki isi
yang sama (utuh).
Tabel 5 Hasil Pengujian Pengaruh Panjang Pesan Terhadap Banyaknya Pixel yang Berubah
Gambar 10 Hasil Pengaruh Panjang Pesan Terhadap Banyaknya Pixel yang Berubah
Berdasarkan hasil pengujian pengaruh panjang pesan terhadap banyaknya
pixel yang berubah pada Tabel 5 dan Gambar 10, dapat disimpulkan bahwa
panjang pesan (byte) mempengaruhi perbedaan pixel atau banyaknya pixel yang
berubah. Semakin besar panjang pesan (byte), semakin besar banyaknya pixel
yang berubah.
NO Cover Image Embedded Image Size Dimensions Panjang Pesan Perbedaan Pixel
(byte)
1 lena.png lena1.png 785294 512x512 10 byte 74
2 lena.png lena2.png 785294 512x513 20 byte 120
3 lena.png lena3.png 785294 512x514 30 byte 165
4 lena.png lena4.png 785294 512x515 40 byte 209
5 lena.png lena5.png 785294 512x516 50 byte 253
15
Tabel 6 Hasil Pengujian Perbedaan Susunan Warna
Antara Gambar Asli Dengan Gambar Yang Telah Disisipkan
Gambar 11 Color Histogram Gambar Asli Cover
Image (lena.png)
Gambar 12 Color Histogram Gambar
Disisipi (lena1.png)
Gambar 13 Color Histogram Gambar Disisipi
(lena2.png)
Gambar 14 Color Histogram Gambar
Disisipi (lena3.png)
NO Cover Image Embedded Image Size Dimensions Panjang Pesan
(byte)
1 lena.png lena1.png 785294 512x512 10 byte
2 lena.png lena2.png 785294 512x513 20 byte
3 lena.png lena3.png 785294 512x514 30 byte
4 lena.png lena4.png 785294 512x515 40 byte
5 lena.png lena5.png 785294 512x516 50 byte
16
Gambar 15 Color Histogram Gambar Disisipi
(lena4.png)
Gambar 16 Color Histogram Gambar
Disisipi (lena5.png)
Berdasarkan hasil pengujian perbedaan susunan warna antara gambar asli
dengan gambar yang telah disisipkan pada Tabel 6 dan grafik pada Gambar ke-11
sampai Gambar ke-16, dapat disimpulkan bahwa mean (rata-rata) nilai warna
sama, jadi perbedaan susunan warna antara gambar asli dengan gambar yang telah
disisipkan tidak ada.
Pengujian penyisipan beberapa file dalam satu cover image dilakukan
dengan tujuan untuk mengetahui apakah teknik LSB termodifikasi dalam
pemilihan lokasi penyisipan memungkinkan satu cover dapat menyimpan
beberapa file pesan sekaligus. Pengujian dilakukan dengan cara: 1) menyisipkan
file pesan pertama ke dalam cover; 2) menyimpan file cover yang telah disisipi; 3)
melakukan penyisipan dengan file cover yang telah disisipi untuk file pesan
selanjutnya. Hasil Pengujian dapat dilihat pada Tabel 7. File cover yang
digunakan adalah vegetables.png, dengan ukuran file 796474 byte, dimensi
512x512 (1.048.576 pixel).
Tabel 7 Hasil Pengujian Penyisipan Beberapa File Dalam Satu Cover
No Nama File Ukuran
Lokasi
Penyisipan MD5 Sebelum
Embed
MD5 Sesudah
Extract Kesimpulan
1 10byte.txt 10 byte 226 dan 227
e807f1fcf82d132f
9bb018ca6738a19f
e807f1fcf82d132f
9bb018ca6738a19f Utuh
2 flower.png 1181 byte 0 dan 1
9e8c0f69e740649a
3203e637c16fe0e5
9e8c0f69e740649a
3203e637c16fe0e5 Utuh
3 rose.gif 971 byte 38 dan 39
f827557b7b9347e6
64682d60134e565d
f827557b7b9347e6
64682d60134e565d Utuh
4 topsecret.ttf 170 byte 40 dan 41
7f6b1ec2317f81ec
f9c327998e1c8737
7f6b1ec2317f81ec
f9c327998e1c8737 Utuh
5 pesan.pdf 27466 byte 254 dan 255
4c97766552c85a6a
5d5e247c04c5049a
4c97766552c85a6a
5d5e247c04c5049a Utuh
Berdasarkan hasil pengujian pada Tabel 7, dapat disimpulkan bahwa
penyisipan dapat dilakukan beberapa kali pada file cover yang sama, dengan
lokasi penyisipan yang berbeda.
Berdasarkan semua pengujian yang telah dilakukan, diketahui bahwa proses
extracting (ekstrasi) lebih cepat daripada embedding. Hal ini dikarenakan pada
embedding terjadi proses membaca lokasi, menyisipkan, dan menyimpan sebagai
gambar baru, sedangkan pada proses extracting, proses yang terjadi adalah
17
membaca lokasi penyisipan saja. Kecepatan proses embedding dan proses
extracting, dipengaruhi oleh besarnya ukuran file yang disisipkan. Semakin besar
ukuran file, semakin banyak pula bit yang harus disisipkan. Ukuran cover image
mempengaruhi proses embedding dan proses extracting, semakin besar ukuran
cover image, semakin lama proses embedding dan proses extracting. Besar kecil
jumlah byte lokasi penyisipan tidak mempengaruhi proses embedding dan proses
extracting. Integritas atau keutuhan file pesan yang sebelum disisipkan, dengan
pesan hasil ekstrak memiliki isi yang sama (utuh), tidak terjadi perubahan dengan
kata lain, file sebelum disisipkan dengan file hasil ekstrak adalah sama. Panjang
pesan (byte) mempengaruhi perbedaan pixel atau banyaknya pixel yang berubah,
semakin besar panjang pesan (byte), semakin besar pula banyaknya pixel yang
berubah. File cover tidak mengalami perubahan warna yang signifikan, sehingga
melalui uji perbandingan secara visual file cover sebelum dan sesudah penyisipan,
tidak berbeda. Penyisipan dapat dilakukan beberapa kali pada file cover yang
sama, dengan lokasi penyisipan yang berbeda. Hal ini menunjukkan bahwa
metode yang digunakan berhasil menyembunyikan file pesan dengan baik dalam
citra, dimana perubahan terhadap cover image tidak terlalu signifikan, sehingga
tidak menimbulkan kecurigaan terhadap file tersebut.
5. Simpulan
Berdasarkan hasil pembahasan dan pengujian yang telah dilakukan pada
pembuatan aplikasi steganografi pada citra, dapat disimpulkan bahwa sistem
steganografi yang dibangun menggunakan metode LSB termodifikasi dalam
pemilihan byte penyisipan, dapat melakukan penyisipan (embedding) dan
pengambilan (extracting) data, pada file cover berformat PNG. Ukuran file yang
disisipkan mempengaruhi kecepatan proses embedding dan extracting, semakin
besar file, semakin lama waktu proses. Besar kecil jumlah byte lokasi penyisipan
tidak mempengaruhi proses embedding dan proses extracting. Secara visual, cover
image tidak menunjukkan perbedaan yang mudah dikenali oleh mata manusia.
Aplikasi dapat menjaga keutuhan (integrity) file yang disisipkan. Beberapa file
pesan dapat disisipkan dalam satu file cover, namun pada lokasi byte penyisipan
yang berbeda. Saran yang dapat diberikan untuk penelitian lebih lanjut adalah
sebagai berikut: 1) Sistem memiliki fitur untuk mengijinkan pengguna dapat
memilih lebih dari dua byte untuk penyisipan dengan range nilai yang tidak hanya
berdekatan; 2) Sistem dapat memilih lokasi penyisipan secara otomatis
berdasarkan besar ukuran file yang akan disisipkan.
6. Daftar Pustaka
[1] Munir, Rinaldi, 2006, Kriptografi Steganografi dan Watermarking,
Bandung: Institut Teknologi Bandung.
[2] Sridevi, Damodaram, & Narasimham, 2009. Efficient Method of Audio
Steganography by Modified LSB Algorithm and Strong Encryption Key with
Enhanced Security, Hyderabad : Department of Computer Science and
Engineering-JNTUH.
18
[3] Solsolay, 2012, Aplikasi Steganografi pada Citra Menggunakan Metode
Least Significant Bit Termodifikasi dan RC6, Skripsi. Fakultas Teknologi
Informasi Universitas Kristen Satya Wacana.
[4] Arusbusman, Yusrian Roman, 2007, Image Steganografi, Jakarta:
Universitas Gunadarma.
[5] Hasibuan, Zainal, A., 2007, Metodologi Penelitian Pada Bidang Ilmu
Komputer Dan Teknologi Informasi : Konsep, Teknik, dan Aplikasi, Jakarta
: Ilmu Komputer Universitas Indonesia.