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 EmbedToImagestring filename, byte[] document
2 {
3 int panjangDocument = CountDocumentBitSizedocument;
4 5
string binaryPanjangDoc = BytesToBinaryString 6
BitConverter.GetBytespanjangDocument; 7
string binaryString = binaryPanjangDoc 8
+ BytesToBinaryStringdocument; 9
10 byte[] pixels = ReadColorsfilename;
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 = ReplaceBitb, bit6, bit7; 19
pixels[i] = b; 20
m += 2; 21
if m == binaryString.Length break; 22
} 23
Bitmap result = CombineColorpixels, 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 sd 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[] ExtractDocumentstring filename
2 {
3 byte[] pixels = ReadColorsfilename;
4 5
string binaryPanjangDoc = ReadBitpixels, 32; 6
int panjangDoc = BitConverter.ToInt32 7
GetBytesArraybinaryPanjangDoc, 0; 8
panjangDoc = panjangDoc - 32; 9
string binaryIsiDocument = ReadBitpixels, panjangDoc, 32; 10
byte[] document = GetBytesArraybinaryIsiDocument; 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 Kapasitasstring filename{
2 3
Listbyte list = new Listbyte; 4
Bitmap bitmap = new Bitmapfilename; 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 hashchecksum 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 perubahankerusakan 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