perancangan dan implementasi finite automata · 2016. 10. 25. · pada steganografi pesan...
TRANSCRIPT
1
1. Pendahuluan
Kemudahan dalam berkomuniksai menimbulkan kebutuhan baru, yaitu
pengamanan informasi yang ditransmisikan pada jaringan komunikasi dari
pengirim dan penerima. Salah satu informasi yang dikirimkan adalah pesan yang
bersifat rahasia. Sisi keamanan pada pesan yang ditransmisikan rentan untuk
diakses pihak lain yang tidak berkepentingan. 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.
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. Salah satu teknik steganografi adalah Least
Significant Bit (LSB). Teknik steganografi dengan metode LSB, melakukan
penyisipan pesan ke bit terendah (LSB) tiap pixel yang terdapat pada cover, pada
satu pasangan komponen byte tertentu [1]. Kapasitas penyimpanan pada metode
LSB dapat ditingkatkan dengan metode 2LSB. Hal tersebut dikarenakan jumlah
bit yang digunakan dalam penyisipan pesan lebih banyak, yaitu 2 bit terakhir (bit
ke 7, dan bit ke 8).
Berdasarkan latar belakang tersebut, yaitu keterbatasan lokasi dan
berusaha meminimalisasi perubahan cover, pada penelitian diajukan suatu
steganografi menggunakan metode 2LSB pada citra digital, yang dapat memilih
lokasi penyisipan otomatis berdasarkan ukuran pesan, dan dapat
mengkombinasikan beberapa lokasi penyisipan sekaligus. Teknik ini merupakan
pengembangan dari metode LSB. Berdasarkan uraian tersebut, maka akan
dilakukan penelitian yang bertujuan untuk menggunakan 2LSB pada perancangan
dan implementasi aplikasi steganografi.
2. Tinjauan Pustaka
Pada penelitian yang berjudul “Perancangan Program Aplikasi
Penyimpanan Teks Pada File BMP Dengan Menggunakan Metode LSB Dan Haar
Wavelet”, dibahas mengenai bagaimana penggunaan metode LSB dan Haar
Wavelet dalam penyisipan file teks pada file gambar dengan format BMP.
2
Penggunaan dua metode yang berbeda ini diharapkan agar file gambar yang telah
disisipi file teks tidak mengalami perubahan pada ukuran file, resolusi, dan bentuk
fisik. Hasil dari penelitian tersebut menunjukkan bahwa file teks yang sesuai
dengan format karakter ASCII merupakan karakter desimal yang dapat dengan
mudah dikonversikan ke biner, sehingga dapat diterapkan dalam metode LSB.
Selain itu, cover image BMP dengan format RGB color 24-bit dan grayscale 8-bit
adalah cover image yang sangat kecil perubahan warnanya, sehingga sangat
direkomendasikan sebagai cover image [2].
Pada penelitian berjudul “Efficient Method Of Audio Steganography By
Modified Lsb Algorithm And Strong Encryption Key With Enhanced Security”,
dibahas mengenai penggunaan metode LSB termodifikasi yang
diimplementasikan untuk menyisipkan pesan pada file audio. Hasil dari penelitian
tersebut menunjukkan bahwa dengan metode LSB termodifikasi ukuran file audio
tidak mengalami perubahan dalam segi ukuran setelah dilakukan proses encoding.
Selain itu metode tersebut cocok untuk semua format file audio [3].
Berdasarkan penelitian yang pernah dilakukan terkait Steganografi, maka
dilakukan penelitian yang membahas tentang Aplikasi Steganografi Citra Digital
dengan Metode 2LSB. Aplikasi yang dibangun menggunakan bahasa
pemrograman C# .net framework 4.5 yang berfungsi untuk menyisipkan pesan
berupa file teks pada citra digital yang bertujuan untuk memproteksi pesan
tersebut melalui media citra digital. Teknik yang digunakan dalam implementasi
adalah 2LSB, dimana pesan rahasia berupa teks disisipkan ke dalam media citra
digital sehingga keberadaan pesan tidak dapat diketahui oleh penglihatan manusia
dengan mudah. Media citra digital yang digunakan sebagai cover image dalam
penelitian yaitu image dengan format PNG, BMP, dan TIFF dan pesan yang
disisipkan adalah teks.
Penelitian ini membahas tentang penggunaan metode steganografi 2LSB.
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)” [4]. Steganografi yang dibahas adalah
penyembunyian data di dalam citra (image). Meskipun demikian, penyembunyian
data dapat juga dilakukan pada wadah berupa suara digital, teks, ataupun video.
Cara untuk mengaplikasikan steganografi pada file image terdiri dari beberapa
cara yang biasa digunakan dan prinsip kerja atau algoritma yang digunakan sama
seperti pada metode steganografi pada data audio [5].
LSB (Least significant bit) adalah bagian dari barisan data biner (basis
dua) yang mempunyai nilai paling kecil. Letaknya adalah paling kanan dari
barisan bit. Sedangkan most significant bit adalah sebaliknya, yaitu angka yang
paling besar dan letaknya di sebelah paling kiri [6]. Contohnya adalah bilangan
biner dari 255 adalah 11111111 (kadang-kadang diberi huruf b pada akhir
bilangan menjadi 1111 1111b). Bilangan tersebut dapat berarti pada Gambar 1.
Gambar 1 Bilangan Biner [7]
3
Barisan angka 1 pada Gambar 1, dijelaskan sebagai berikut. Angka 1
paling kanan bernilai 1, dan merupakan nilai yang paling kecil, yang disebut
dengan least significant bit (bit yang paling kecil), sedangkan bagian paling kiri
bernilai 128 dan disebut dengan most significant bit (bit yang paling besar) [7]. LSB Embedding berarti menggantikan bit cover image pada posisi LSB, dengan
bit pesan. Hal ini dilakukan untuk semua bit pesan. Cover image yang tersisipi
umumnya disebut stego image. LSB Extracting merupakan proses pembacaan bit
stego image pada posisi LSB.
Citra digital dengan format 24 bit warna (true color image), sebagai
contohnya PNG, memiliki susunan 3 warna dalam 1 pixel. Ketiga warna tersebut
adalah red, green dan blue. Tiap warna berukuran 1 byte (8 bit) oleh karena itu
disebut 24 bit warna. Kapasitas maksimal pesan yang dapat disisipkan ke dalam
gambar mengunakan metode LSB dapat dihitung menggunakan rumus seperti
pada Persamaan 1 [8].
K = (1)
Dalam hal ini :
K : Kapasitas bit maksimal pesan yang dapat disisipkan dalam gambar.
P : Panjang gambar dalam pixel.
L : Lebar gambar dalam pixel.
3 : Konstanta yang menunjukkan jumlah warna dalam 1 pixel. 1 pixel
terdapat 3 warna.
8 : Konstanta yang menunjukkan jumlah bit dalam 1 byte.
Contoh penyisipan pesan pada gambar dengan panjang 400px dan lebar 225px
menggunakan Persamaan 1, sebagai berikut.
K = (P x L) x 3 bit
K = 400 x 225 x 3 bit
K = 90000 x 3 bit
K = 270000 bit
Untuk mendapatkan nilai dalam satuan byte, maka 270000/8 = 33750 byte.
Berdasarkan perhitungan tersebut menunjukkan jumlah maksimal kapasitas pesan
yang dapat disisipkan dalam gambar berukuran 400px x 225px adalah sebanyak
270.000 bit atau dalam satuan byte adalah 33.750 byte.
Steganografi 2LSB menggunakan 2LSB dari cover image sebagai lokasi
penyisipan pesan. Ada dua metode yang umumnya diterapkan pada 2LSB. Yang
pertama adalah dengan menggantikan 2 bit terakhir pada cover image dengan 2 bit
pesan. Metode ini disebut 2LSB Steganografi. Yang kedua adalah dengan
menggantikan first LSB (bit posisi 7) cover image dengan 1 bit pesan, kemudian
bergeser pada warna cover image selanjutnya, dan menyisipkan 1 bit pesan pada
second LSB (bit posisi 8). Metode ini disebut I2LSB steganografi, I untuk
independen. Hal ini dijelaskan pada Tabel 1 dan Tabel 2.
4
Tabel 1 Metode 2LSB
No Cover Bit Pesan Stego
1 255 11111111 11 11111111 255
2 255 11111111 10 11111110 254
3 200 11001000 10 11001010 202
4 255 11111111 11 11111111 255
5 255 11111111 10 11111110 254
6 100 01100100 11 01100111 103 Tabel 2 Metode I2LSB
No Cover Bit Pesan Stego Posisi Penyisipan
1 255 11111111 1 11111111 255 first
2 255 11111111 1 11111111 255 second
3 200 11001000 1 11001001 201 first
4 255 11111111 0 11111101 253 second
5 255 11111111 1 11111111 255 first
6 100 01100100 0 01100100 100 second
7 120 01111000 1 01111001 121 first
8 120 01111000 1 01111010 122 second
9 0 00000000 1 00000001 1 first
10 60 00111100 0 00111100 60 second
11 90 01011010 1 01011011 91 first
12 90 01011010 1 01011010 90 second
I2LSB akan mengubah nilai warna cover image dengan kemungkinan
sebesar 0 s/d 2. Sebagai contoh pada Tabel 2, 255 menjadi 255 (nomor 1), 200
menjadi 201 (nomor 3), dan 120 menjadi 122 (nomor 8). Sedangkan 2LSB akan
mengubah nilai warna cover image dengan kemungkinan sebesar 0 s/d 3. Sebagai
contoh pada Tabel 1, 255 menjadi 255 (nomor 1), 255 menjadi 254 (nomor 2),
200 menjadi 202 (nomor 3), dan 100 menjadi 103 (nomor 6). Sekalipun
perubahan yang dihasilkan oleh 2LSB lebih besar dari I2LSB, jumlah byte warna
cover yang diperlukan oleh 2LSB lebih kecil dari I2LSB, tepatnya setengah dari
kebutuhan I2LSB [9].
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, dan (4) Pengujian sistem dan analisis hasil
pengujian.
5
Gambar 3 Tahapan Penelitian
Tahapan penelitian pada Gambar 3, dijelaskan sebagai berikut: Tahap
pertama: mengidentifikasi masalah dan pengumpulan data, yaitu mengidentifikasi
masalah-masalah yang akan dibahas serta mendapatkan data dan literatur yang
terkait dengan proses embedding dan extracting terhadap data teks pada cover
image, menggunakan Metode 2LSB; 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
yang disisipkan pada citra dengan menggunakan metode 2LSB; dan Tahap
keempat: pengujian sistem dan analisis hasil pengujian, yaitu dilakukan pengujian
terhadap aplikasi steganografi yang dibangun, dengan tujuan untuk mengetahui
pengaruh encoding dan decoding pada proses yang berjalan di sistem.
Proses utama dalam sistem yang dibangun adalah proses penyisipan dan
ekstraksi menggunakan metode 2LSB. 2LSB merupakan modifikasi dari
algoritma LSB yang artinya mengambil 1 bit paling akhir pada gambar. 2LSB
berarti menggunakan 2 bit terakhir pada gambar.
Gambar 4 menunjukkan proses penyisipan file pada gambar
menggunakan metode 2LSB, dijelaskan sebagai berikut :
1) Dimulai dengan memasukkan cover image yang akan digunakan untuk
media penyisipan pesan.
2) Memasukkan file pesan yang akan disisipkan pada cover image.
3) Merubah isi pesan yang berupa teks menjadi bentuk biner.
4) Menghitung jumlah total bit pesan, yang diperoleh dari total bilangan
biner pada pesan.
5) Membaca tiap 2 bit pada pesan yang telah dirubah menjadi bentuk biner.
Proses membaca 2 bit pada pesan dilakukan secara berurutan dari bit awal
sampai bit terakhir pada pesan.
Saat membaca tiap 2 bit pesan, dilakukan proses membaca warna RGB
tiap pixel dari cover image dan dari setiap nilai warna dirubah menjadi bentuk
biner. Pada tiap 2 bit terakhir disisipi 2 bit pertama dari nilai biner pesan. Setelah
semua nilai 2 bit pada cover image disisipi 2 bit pesan, pesan yang disisipkan
pada cover image akan disimpan sebagai file steganografi.
Identifikasi Masalah
Perancangan Sistem
Implementasi Sistem
Pengujian Sistem dan Analisis Hasil Pengujian
6
Start
Input cover
Input pesan
Ubah pesan ke binnary
Hitung jumlah pesan
Baca 2 bit pesan
Pesan selesai dibaca?
FalseBaca warna
Sisipkan 2 bit
Pindah ke warna selanjutnya
True
Simpan sebagai steganografi
Selesai
Gambar 4 Proses Penyisipan File pada Gambar Menggunakan Metode 2LSB
Start
Input stego
Hitung jumlah pesan
Baca warna
Baca 2 bit LSB
Simpan dalam variabel
Terbaca semua ?
True
Tampilkan pesan
Selesai
False
Gambar 5 Proses Ekstraksi pada Gambar Menggunakan Metode 2LSB
7
Gambar 5 menunjukkan proses ekstraksi file pada gambar menggunakan
metode 2LSB, dijelaskan sebagai berikut :
1) Memasukkan file steganografi.
2) Menghitung jumlah total bit pesan, yang diperoleh dari total bilangan
biner pada pesan.
3) Membaca nilai RGB pada file steganografi, dan merubah ke dalam bentuk
biner.
4) Membaca tiap 2 bit terakhir pada nilai biner file steganografi.
5) Dari tiap 2 bit terakhir disimpan ke dalam bentuk variabel. Proses tersebut
terus berlangsung sampai semua total isi pesan terbaca.
6) Setelah seluruh 2 bit tersimpan ke dalam bentuk variabel, pesan yang
terdapat dalam file steganografi akan ditampilkan ke dalam bentuk teks.
Contoh 1 Proses Penyisipan
File teks yang akan disisipkan adalah “wacana”, dibuat ke dalam bentuk biner
seperti pada Tabel 3. Pada Tabel 3 setiap karakter pada file teks dibuat ke dalam
bentuk ASCII, kemudian dari nilai ASCII di buat ke dalam bentuk biner. Berikut
contoh proses penyisipan pesan ke dalam gambar.
Karakter : w
Nilai ASCII : 119
Nilai biner : 01110111
Setelah mendapatkan nilai biner dari tiap karakter, nilai biner dikelompokkan tiap
2 bit, menjadi seperti berikut.
01 11 01 11
Untuk menyisipkan pesan yang sudah dikelompokkan menjadi tiap bit, perlu
mencari nilai biner dari tiap warna RGB dalam gambar.
Red : 200 biner : 11001000
Green : 200 biner : 11001000
Blue : 100 biner : 01100100
Red : 255 biner : 11111111
Green : 0 biner : 00000000
Blue : 0 biner : 00000000
Setelah mendapatkan nilai biner dari tiap warna, kemudian mulai pada proses
penyisipan 2 bit pesan ke dalam 2 bit terakhir gambar.
Red : 11001000 + 01 11001001
Green : 11001000 + 11 11001011
Blue : 01100100 + 01 01100101
Red : 11111111 + 11 11111111
Proses penyisipan terus berlanjut sampai semua nilai biner pesan disipkan ke
dalam tiap – tiap warna dalam gambar. Proses penyisipan dapat dilihat pada Tabel
5. Tabel 3 Pesan Yang Akan Disisipkan
Contoh
Pesan W a c a n a Byte
Pesan 119 97 99 97 110 97 Biner
Pesan 01110111 01100001 01100011 01100001 01101110 01100001
8
Selain data pesan, data yang disisipkan yang lain adalah data informasi
panjang pesan. Berdasarkan contoh proses embedding, maka panjang bit pesan
adalah 48 bit. Informasi ini akan disisipkan di bagian awal, sebelum proses
penyisipan pesan berlangsung. Angka 48 jika diubah dalam bentuk tipe data
Integer (32 bit integer), maka dituliskan sebagai 00000000 00000000 00000000
00110000. Susunan ini ditunjukkan pada Tabel 4. Tabel 4 Susunan Data yang Disisipkan
Panjang Pesan
(4 byte)
Isi Pesan
(N byte) 48 Wacana Dalam format binary
00000000 00000000 00000000 00110000
01110111 01100001 01100011 01100001 01101110 01100001
Tabel 5 Contoh Proses Penyisipan
Cover 2 bit pesan Stego
Info
Panjang
Pesan
200 11001000 00 11001000 200
100 01100100 00 01100100 100
10 00001010 00 00001000 8
40 00101000 00 00101000 40
40 00101000 00 00101000 40
40 00101000 00 00101000 40
30 00011110 00 00011100 28
30 00011110 00 00011100 28
20 00010100 00 00010100 20
120 01111000 11 01111011 123
200 11001000 00 11001000 200
200 11001000 00 11001000 200
Pesan
200 11001000 01 11001001 201
200 11001000 11 11001011 203
100 01100100 01 01100101 101
255 11111111 11 11111111 255
0 00000000 01 00000001 1
0 00000000 10 00000010 2
90 01011010 00 01011000 88
90 01011010 01 01011001 89
90 01011010 01 01011001 89
128 10000000 10 10000010 130
100 01100100 00 01100100 100
100 01100100 11 01100111 103
200 11001000 01 11001001 201
200 11001000 10 11001010 202
100 01100100 00 01100100 100
9
255 11111111 01 11111101 253
0 00000000 01 00000001 1
0 00000000 10 00000010 2
90 01011010 11 01011011 91
90 01011010 10 01011010 90
90 01011010 01 01011001 89
128 10000000 10 10000010 130
100 01100100 00 01100100 100
100 01100100 01 01100101 101
Contoh 2 Proses Ekstraksi Tabel 6 Contoh Proses Ekstraksi
Stego 2 bit pesan
Info
Panjang
Pesan
200 11001000 00
100 01100100 00
8 00001000 00
40 00101000 00
40 00101000 00
40 00101000 00
28 00011100 00
28 00011100 00
20 00010100 00
123 01111011 11
Pesan
201 11001001 01
201 11001001 01
201 11001001 01
203 11001011 11
101 01100101 01
255 11111111 11
1 00000001 01
2 00000010 10
88 01011000 00
89 01011001 01
89 01011001 01
130 10000010 10
100 01100100 00
103 01100111 11
201 11001001 01
202 11001010 10
100 01100100 00
253 11111101 01
1 00000001 01
10
2 00000010 10
91 01011011 11
90 01011010 10
89 01011001 01
130 10000010 10
100 01100100 00
101 01100101 01
Tabel 6 berisi contoh proses ekstraksi file steganografi menggunakan
metode 2LSB, adalah kebalikan dari proses penyisipan. Dalam proses ini nilai
dari tiap byte warna file steganografi dirubah ke dalam bentuk biner. Dari
bilangan biner yang didapatkan diambil 2 bit terakhir pada semua nilai warna file
steganografi. Misalnya nilai warna dalam bentuk desimal adalah 203, diubah ke
dalam bentuk biner menjadi 110011011. Untuk proses ekstraksi pesan diambil 2
bit terakhir yaitu 11. Tabel 7 Hasil Ekstraksi
Hasil
Ekstraksi 01110111 01100001 01100011 01100001 01101110 01100001
Byte 119 97 99 97 110 97
Teks w a c a n a
Semua 2 bit terakhir yang telah diambil, disusun dari awal sampai akhir.
Supaya dapat dirubah menjadi bentuk variabel, bilangan biner dipisahkan tiap 8
bit. Misalnya hasil pemisahan bernilai 01110111, dijadikan ke dalam bentuk
bilangan desimal bernilai 119. Untuk dapat membaca pesan, bilangan yang
didapatkan harus dirubah menjadi bentuk teks. Bilangan 119 merupakan nilai
ASCII dari teks “w”, proses ini terus berulang sampai 8 bit terakhir.
4. Hasil dan Pembahasan
Hasil implementasi sistem berdasarkan perancangan yang telah dibuat,
dijelaskan sebagai berikut.
Gambar 6 Antarmuka untuk Proses Penyisipan Gambar 7 Antarmuka untuk Proses Ekstraksi
Gambar 6 menampilkan form yag digunakan untuk melakukan embedding
gambar. Pada form ini, disediakan fasilitas untuk memilih file pesan, memilih
cover image, dan menyimpan gambar hasil embedding. File gambar yang
digunakan untuk cover image adalah gambar bertipe PNG. Stego image akan
ditampilkan bersebelahan dengan cover image. Gambar 7 menampilkan form yang
11
digunakan untuk melakukan ekstraksi gambar. Pada form ini, disediakan fasilitas
untuk memilih stego image dan menyimpan pesan hasil ekstraksi. Kode Program 1 Perintah Untuk Proses Penyisipan
1 public static Bitmap EmbedToImage(string filename, byte[] document)
2 {
3 int panjangDocument = CountDocumentBitSize(document);
4
5 string binaryPanjangDoc = BytesToBinaryString(
6 BitConverter.GetBytes(panjangDocument));
7 string binaryString = binaryPanjangDoc
8 + BytesToBinaryString(document);
9
10 byte[] pixels = ReadColors(filename);
11
12 int m = 0;
13 for (int i = 0; i < pixels.Length; i++)
14 {
15 char bit6 = binaryString[m];
16 char bit7 = binaryString[m + 1];
17 byte b = pixels[i];
18 b = ReplaceBit(b, bit6, bit7);
19 pixels[i] = b;
20 m += 2;
21 if (m == binaryString.Length) break;
22 }
23 Bitmap result = CombineColor(pixels, filename);
24 return result;
25 }
Kode Program 1 merupakan perintah yang digunakan pada proses
penyisipan. Proses awal adalah menghitung kapasitas maksimal penyisipan.
Kemudian mengubah pesan ke dalam format binary. Selanjutnya adalah
membaca warna-warna yang ada di dalam cover image. Proses penyisipan bit
dilakukan dengan perulangan, yaitu 2 bit disisipkan pada 1 warna. Warna pada file
cover diubah ke dalam bentuk string bit. Kemudian pada bit cover posisi ke 6
diganti dengan bit pesan, dan bit cover posisi ke 7 diganti dengan bit pesan
selanjutnya. Perlu dipahami bahwa posisi bit cover dihitung mulai dari 0 s/d 7,
dengan bit posisi ke 7 adalah LSB. Setelah proses penyisipan bit-bit pesan, warna-
warna yang telah tersisipi, disatukan kembali dalam bentuk file image. Kode Program 2 Perintah untuk Proses Ekstraksi
1 public static byte[] ExtractDocument(string filename)
2 {
3 byte[] pixels = ReadColors(filename);
4
5 string binaryPanjangDoc = ReadBit(pixels, 32);
6 int panjangDoc = BitConverter.ToInt32(
7 GetBytesArray(binaryPanjangDoc), 0);
8 panjangDoc = panjangDoc - 32;
9 string binaryIsiDocument = ReadBit(pixels, panjangDoc, 32);
10 byte[] document = GetBytesArray(binaryIsiDocument);
11 return document;
12 }
Kode Program 2 merupakan perintah yang digunakan pada proses
ekstraksi. Langkah pertama adalah membaca byte warna pada gambar (baris 3),
Kemudian dari byte-byte warna tersebut, dilakukan proses ekstraksi 32 bit
pertama, yang merupakan nilai dari panjang pesan yang disisipkan (baris 5-8).
12
Berdasarkan nilai tersebut maka dilakukan proses ekstraksi bit-bit pesan (baris 9).
Bit hasil ekstraksi diubah ke dalam bentuk byte array sebagai output dari proses
ekstraksi.
Kode Program 3 Perintah untuk Menghitung Kapasitas Maksimal Bit yang Dapat Disisipkan
1 public static int Kapasitas(string filename){
2
3 List<byte> list = new List<byte>();
4 Bitmap bitmap = new Bitmap(filename);
5 int P = bitmap.Size.Height;
6 int L = bitmap.Size.Width;
7 int K = (P * L * 3) / 8;
8
9 return K;
10 }
Kode Program 3 merupakan perintah yang digunakan untuk menghitung
kapasitas maksimal bit yang dapat disisipkan dalam suatu cover image.
Langkahnya adalah dengan Panjang x Lebar x 3 dibagi dengan 8 (baris 5-7).
Pengujian terhadap sistem steganografi dengan metode 2LSB yang
dibangun, dilakukan dengan tujuan untuk melihat sistem telah memenuhi konsep
steganografi dengan metode 2LSB. Pengujian yang dilakukan dijelaskan sebagai
berikut.
Pengujian dilakukan pada komputer dengan spesifikasi sebagai berikut :
Sistem Operasi : Microsoft Windows 7 32-bit (x82)
Prosesor : Intel® Core™ i3-540, 3072Ghz
RAM : 6 GB
Kecepatan Harddisk : 7200 rpm
Display : NVIDIA GeForce GTX 550Ti 2GB
Pengujian Integritas Pesan (Pengujian 1), dilakukan dengan cara
menghitung nilai hash/checksum dari pesan sebelum disisipkan dengan pesan
setelah proses ekstraksi. Pesan dinyatakan utuh jika memiliki nilai yang sama.
Perhitungan hash dilakukan dengan metode algoritma MD5 [9]. Hasil pengujian 1
dapat dilihat pada Tabel 7. Tabel 7 Hasil Pengujian Integritas Pesan
No File Checksum Sebelum
Sisip
Checksum
Sesudah Ekstrak
Kesimpulan
1 Pesan 1.txt a14386497d471c42
11eb14bff021e541
a14386497d471c42
11eb14bff021e541
File Utuh
2 Pesan 2.txt 00a783ac2f9854a8
6a5fc98a65d72d60
00a783ac2f9854a8
6a5fc98a65d72d60
File Utuh
3 Pesan 3.txt 17dfa59946628dcb
65271ad8737795ef
17dfa59946628dcb
65271ad8737795ef
File Utuh
4 Pesan 4.txt 4d8a7c1bd7eaaac4
085afaf901c05ecb
4d8a7c1bd7eaaac4
085afaf901c05ecb
File Utuh
5 Pesan 5.txt f20dfe9a1b93aee2
872c9b345ce1dba4
f20dfe9a1b93aee2
872c9b345ce1dba4
File Utuh
Berdasarkan hasil pengujian 1 pada Tabel 7, dapat disimpulkan bahwa
aplikasi steganografi yang dibangun, berhasil menyisipkan pesan dan
mengekstraksi pesan tanpa menyebabkan perubahan/kerusakan pada pesan.
13
Pengujian Perbandingan Visual Gambar Sebelum dan Sesudah Proses
Embedding (Pengujian 2), dilakukan dengan cara menunjukkan file gambar
(cover) sebelum dan sesudah proses embedding kepada 30 responden. Kepada
responden ditanyakan apakah kedua file tampak beda. Terdapat dua file gambar
yang diujikan, gambar pertama yang diujikan adalah gambar berwarna. File yang
diujikan dapat dilihat pada Gambar 8 dan Gambar 9. Hasil kuisioner dapat dilihat
pada Gambar 10.
Gambar 8 Gambar Berwarna Sebelum
Embedding
Gambar 9 Gambar Berwarna Sesudah
Embedding
Gambar 10 Grafik Pengujian Visual Gambar Berwarna
Pengujian Visual kedua dengan menggunakan gambar hitam putih dapat
dilihat pada Gambar 11 dan Gambar 12. Hasil kuisioner dapat dilihat pada
Gambar 13.
Gambar 11 Gambar Hitam Putih Sebelum
Embedding
Gambar 12 Gambar Hitam Putih Sesudah
Embedding
14
Gambar 13 Grafik Pengujian Visual Gambar Hitam Putih
Gambar 10 dan Gambar 13 menunjukkan grafik Pengujian 2, disimpulkan
bahwa gambar berwarna ataupun gambar hitam putih tidak mengalami perubahan
secara signifikan secara visual setelah proses embedding.
Pengujian Pengaruh Susunan Warna Gambar Terhadap Waktu Proses
(Pengujian 3), dilakukan dengan tujuan untuk mengetahui pengaruh susunan
warna gambar terhadap waktu proses. Pengujian 3 dilakukan dengan
menggunakan empat gambar berbeda dengan size yang berbeda, dimensi yang
sama yaitu 768 x 768 pixel, dan pesan yang sama. Hasil pengujian 3 dapat dilihat
pada Tabel 8. Tabel 8 Hasil Rata-Rata Pengujian Pengaruh Susunan Warna Gambar Terhadap Waktu Proses
Gambar Ukuran
File
Dimensi Teks Embedding
(detik)
Extracting
(detik)
len_top.png 1.3 MB 768 x 768 1024 bytes 1,120 1,206
landscape.png 627 KB 768 x 768 1024 bytes 1,082 1,207
uksw.png 492 KB 768 x 768 1024 bytes 1,070 1.105
fti.png 130 KB 768 x 768 1024 bytes 1,033 1,004
Tabel 8 menunjukkan informasi pengujian 3, yaitu pengaruh perbedaan
file terhadap waktu. Kesimpulan dari pengujian 3 adalah bedanya file gambar
sekalipun memiliki dimensi yang sama, memerlukan waktu proses yang berbeda.
Hal ini dipengaruhi oleh ukuran file gambar, semakin kecil ukuran gambar,
semakin cepat waktu yang diperlukan untuk melakukan proses penyisipan.
Pengujian Kapasitas Maksimal Pesan Dapat Disisipkan Dalam Gambar
(Pengujian 4), dilakukan dengan menggunakan perhitungan pada Persamaan 2.
(2)
Dalam Hal ini :
K : Kapasitas maksimal pesan yang dapat disisipkan dalam gambar
15
P : Panjang gambar dalam pixel
L : Lebar gambar dalam pixel
3 : Konstanta yang menunjukkan jumlah warna dalam 1 pixel. 1 pixel
terdapat 3 warna
2 : Jumlah bit yang disisipkan dalam 1 byte
8 : Jumlah bit dalam 1 byte
Pengujian pertama dilakukan pada gambar dengan panjang 400px dan
lebar 225px, dan digunakan Persamaan 2 untuk menghitung kapasitas maksimal
pesan yang dapat disisipkan pada gambar. Proses perhitungan sebagai berikut.
Berdasarkan perhitungan tersebut menunjukkan jumlah maksimal
kapasitas pesan yang dapat disisipkan dalam gambar berukuran 400px x 225px
adalah sebanyak 67.500 byte.
Pengujian kedua dilakukan pada gambar dengan panjang 193px dan lebar
193px, dan digunakan Persamaan 2 untuk menghitung kapasitas maksimal pesan
yang dapat disisipkan pada gambar. Proses perhitungan sebagai berikut.
16
Berdasarkan perhitungan tersebut menunjukkan jumlah maksimal
kapasitas pesan yang dapat disisipkan dalam gambar berukuran 193px x 193px
adalah sebanyak 27.936 byte.
Berdasarkan hasil dua pengujian pada Pengujian 4, disimpulkan bahwa
semakin besar jumlah pixel pada sebuah gambar, akan semakin banyak jumlah
byte pesan yang dapat disisipkan.
5. Simpulan
Berdasarkan penelitian, pengujian dan analisis terhadap sistem, maka
dapat diambil kesimpulan sebagai berikut: (1) Sistem steganografi yang dibangun
menggunakan metode 2LSB, dapat melakukan penyisipan
(embedding)/pengambilan (extracting) data file cover berformat PNG, BMP dan
TIFF; (2) Berdasarkan hasil pengujian integritas pesan, pesan sebelum disisipkan
dan setelah disisipkan tidak mengalami perubahan; (3) Berdasarkan hasil
pengujian visual terhadap gambar sebelum dan sesudah proses embedding,
gambar tidak mengalami perubahan secara signifikan secara visual; (4)
Berdasarkan hasil pengujian pengaruh susunan warna gambar terhadap waktu
proses, perbedaan file gambar mempengaruhi kecepatan proses, hal ini disebabkan
tiap gambar memiliki ukuran file yang berbeda juga, ukuran file inilah yang
mempengaruhi kecepatan proses penyisipan; (5) Berdasarkan pengujian kapasitas
maksimal pesan yang dapat disisipan dalam gambar, semakin besar jumlah pixel
pada gambar akan menambah jumlah kapasitas byte pesan yang dapat disisipkan
pada gambar. Saran pengembangan yang dapat diberikan untuk penelitian lebih
lanjut adalah sebagai berikut: (1) Data yang disisipkan dapat dikembangkan tidak
hanya dalam bentuk teks, namun juga data gambar atau audio; (2) File stego
image tahan terhadap serangan manipulasi data (cropping, compression, rotating);
(3) Metode 2LSB dapat diterapkan pada media selain citra digital.
6. Daftar Pustaka
[1]. Grace Pattiasina, Khristie, 2013, Perancangan dan Implementasi Aplikasi
Steganografi pada Citra Menggunakan Metode LSB Termodifikasi dalam
Pemilihan Byte Penyisipan, skripsi, Salatiga: Program Studi Teknik
Informatika Universitas Kristen Satya Wacana.
[2]. Tjioe, Erik Aristo, 2011, Perancangan Program Aplikasi Penyimpanan
Teks Pada File BMP Dengan Menggunakan Metode LSB Dan Haar
Wavelet, Skripsi, Jakarta : Jurusan Teknik Informatika dan Matematika
Universitas Bina Nusantara.
[3]. Sridevi, Damodaram, & Narasimham, 2009, Efficient Method of Audio
Steganography by Modified LSB Algorithm and Strong Encryption Key
17
with Enhanced Security, Jurnal, Hyderabad : Department of Computer
Science and Engineering-JNTUH.
[4]. Munir, Rinaldi, 2006, Kriptografi, Steganografi, dan Watermarking,
Bandung: Institut Teknologi Bandung.
[5]. Arubusman, Yusrian Roman, 2007, Audio Steganografi, Tugas Akhir,
Jakarta: Teknik Informatika Universitas Gunadarma.
[6]. Utomo, Tri Prasetyo, 2012, Steganografi Gambar Dengan Metode Least
Significant Bit Untuk Proteksi Komunikasi Pada Media Online, Jurnal,
Bandung: Jurusan Teknik Informatika UIN Sunan Gunung Djati.
[7]. Septianto, Gabriel Ady, 2013, Perancangan dan Implementasi Aplikasi
Watermarking Citra Digital dengan Metode Selective Spread
Spectrum, Skripsi, Salatiga: Program Studi Teknik Informatika
Universitas Kristen Satya Wacana.
[8]. Alatas, Putri, 2009, Implementasi Teknik Steganografi Dengan Metode
LSB Pada Citra Digital, Tugas Akhir, Jakarta : Jurusan Sistem
Informasi, Fakultas Ilmu Komputer dan Teknologi Informasi
Universitas Gunadarma.
[9]. Liao, X., & Wen, Q. Y. 2008, Embedding in two least significant bits
with wet paper coding. In Computer Science and Software
Engineering, 2008 International Conference on (Vol. 3, pp. 555-558).
IEEE.
[10]. Rivest, R., 1992, The MD5 Message-Digest Algorithm.