PERBAIKAN DAN EVALUASI KINERJA ALGORITMA PIXEL- VALUE DIFFERENCING (PVD) Rojali1; Sugi Guritman2; Heru T. Natalisa3 ABSTRACT Pixel Value Differencing (PVD) represents one of the algorithms in steganography. This algorithm was found in the year 2001 where some were developed and others were repaired. Based on algorithm of PVD, the main purpose was to obtain the difference between two nearby pixels which were used to count message capacities. This research tried looking for the difference of two nearby pixels, which used PVD algorithm for the bigger area while LSB algorithm was used for the difference of smaller area. This research also developed some tables taken from the existing tables of PVD and LSB. Originally there were only two tables for both small area and big area which was PVD but for now, four tables were created for PVD and four tables were also created for LSB. The study improved PVD algorithm which is called PVDM and evaluated. Results of research show that carrier media characteristic order is very influential to capacity order and picture is distorted when message was inserted. Through PVDM algorithm the quality of good picture between before and after has no significant difference even small distortion occurred. Keyword: pixel value differencing modified, performance of algorithm, steganograpy, picture distortion
ABSTRAK Pixel value differencing (PVD) merupakan salah satu algoritma dalam steganografi. Semenjak algoritma ini ditemukan pada Tahun 2001 sudah ada beberapa perbaikan dan pengembangan yang dilakukan. Dasar dari algoritma PVD adalah mencari selisih dua pixel berdekatan yang digunakan untuk menghitung kapasitas pesan. Pada penelitian ini perlakuan terhadap selisih dua pixel berdekatan akan berbeda, untuk daerah dengan interval besar atau perbedaan selisih dua pixel besar digunakan algoritma PVD sedangkan untuk daerah interval kecil atau perbedaan selisih dua pixel kecil digunakan algoritma LSB. Untuk itu pada penelitian ini, telah dilakukan perbaikan algoritma PVD yang disebut PVDM (Pixel Value Differencing Modified), serta evaluasi PVDM. Penelitian ini juga mengembangkan beberapa tabel dari yang sudah ada sebelumnya dari dua menjadi empat tabel. Hasil penelitian memperlihatkan bahwa karakteristik media pembawa pesan sangat mempengaruhi kapasitas pesan dan distrorsi dari gambar setelah disisipkan pesan. Melalui algoritma PVDM kualitas gambar baik sebelum ataupun sesudah disisipkan pesan tidak jauh berbeda dalam hal ini distorsi yang terjadi kecil. Kata kunci: pixel value differencing modified, kinerja algoritma, steganografi, distorsi gambar
1
Jurusan Matematika, Fakultas Sains dan Teknologi, Universitas Bina Nusantara, Jln. Kebon Jeruk Raya No. 27 Jakarta Barat,
[email protected] 2 Jurusan Matematika, FMIPA, Institut Pertanian Bogor 3 Jurusan Ilmu Komputer, FMIPA, Institut Pertanian Bogor
Perbaikan dan Evaluasi Kinerja …... (Rojali; dkk)
143
PENDAHULUAN Perkembangan teknologi informasi sekarang ini membuat komunikasi menjadi semakin mudah dan luas. Penyampaian pesan melalui internet merupakan sarana komunikasi yang sangat mudah dan efisien. Sejalan dengan hal itu kemunculan dari file-file multimedia yang beraneka ragam memberi pengaruh yang cukup besar dalam kemajuan teknologi informasi ini sehingga memungkinkan seseorang untuk dapat menyampaikan pesan menggunakan file-file multimedia tersebut. Faktor keamanan menjadi penting dalam proses pengiriman data melalui saluran internet. Apabila hal ini diabaikan, maka orang yang tidak berhak akan dengan mudah memanfaatkan data tersebut untuk tujuan tertentu. Jika hal ini terjadi ada dua pihak yang dirugikan, yaitu pengirim data dan penerima data. Steganografi merupakan suatu mekanisme untuk melindungi data (Kesler, 2001). Data yang akan dikirimkan dapat disisipkan melalui media pembawa berupa image , audio files, video files, atau text (Davidson et al, 2002). Metode penyisipan Least Significant Bits (LSB) umum dilakukan, pendekatan yang sederhana untuk menempelkan informasi di dalam suatu file cover dengan mengganti nilai-nilai LSB dengan data yang ingin disisipkan. Penelitian Gerson et al., 2005, melakukan penyisipan file gambar atau file dokumen ke dalam gambar bertipe bmp menggunakan teknik LSB. Penelitian awal algoritma PVD (Pixel Value Differencing) dilakukan oleh Wu et al., 2001, dengan mencari selisih nilai dua piksel terdekat. Selisih digunakan untuk menentukan jumlah data yang dapat disisipkan berdasarkan jangkauan tabel yang dipilih. Penelitian ini menggunakan dua jangkauan tabel dengan gambar yang pilih gray scale. Pada tahun 2006, Yang dan Weng mengembangkan algoritma PVD dengan mencari selisih piksel yang terdekat menjadi empat titik. Tabel jangkauan yang dipilih satu serta format gambar gray scale. Algoritma PVD dikembangkan juga oleh Al-Asmari et al., (2006) menjadi semi hexagonal PVD. Pada penelitian ini, setiap daerah dibagi menjadi 16 piksel. Pada setiap proses iterasi nilai terbaik dari iterasi digunakan untuk proses berikutnya dan seterusnya media yang digunakan format gambar gray scale. Pada daerah cover yang halus (selisih nilai piksel terdekat kecil), jumlah data yang dapat disisipkan sedikit. Sebaliknya, pada daerah yang kontras (selisih nilai piksel terdekat besar), data yang disisipkan akan besar merupakan hasil penelitian dilakukan Wang et al. (2006) dengan menggabungkan algoritma PVD dan fungsi modulus. Untuk daerah cover yang kontras, algoritma PVD tepat digunakan, sedangkan untuk daerah yang halus kurang begitu tepat karena kapasitas data yang disisipkan sedikit. Studi pendahuluan yang telah dilakukan menunjukkan bahwa penyebaran piksel dalam sebuah image secara berkelompok. Pengelompokan terjadi karena umumnya dalam sebuah image nilai piksel yang tidak jauh berbeda akan saling berdekatan. Fenomena ini yang akan dimanfaatkan untuk meningkatkan kapasitas penyimpanan file berdasarkan algoritma PVD yang dimodifikasi.
Citra Citra digital dapat ditampilkan sebagai matriks dua dimensi dengan baris dan kolomnya berisi posisi (x,y) citra, sedangkan elemennya menyatakan nilai warna pada posisi tersebut. Elemen pada citra digital disebut sebagai piksel. Setiap piksel terdiri dari 3 komponen warna yaitu R(Red), G(Green), dan B(Blue). Pada model warna RGB setiap warna yang dihasilkan merupakan hasil perpaduan antara ketiga warna dasar, yaitu merah, hijau, dan biru.
144
Jurnal Mat Stat, Vol. 9 No. 2 Juli 2009: 143-156
Gambar 1 Model warna RGB dalam bentuk koordinat Cartesius
Proses Penyisipan Pesan
Gambar 2 Proses Penyisipan Pesan
Proses penyisipan pesan dilakukan secara zigzag, dimulai dari kiri ke kanan kemudian turun ke bawah lalu ke kanan dan turun ke bawah kembali lagi dari kiri ke kanan dan seterusnya (Wu et al., 2001) sebagaimana ilustrasi Gambar 3.
Gambar 3 Proses Penyisipan File Cover secara Zigzag dalam Satu Blok yang Tidak Saling Beririsan
Proses Ekstraksi Pesan Untuk mengambil pesan dalam file stego image dilakukan proses ekstraksi pesan. Proses ekstraksi dilakukan dengan membaca (stego object) dengan menggunakan implementasi algoritma ekstraksi pesan sehingga pesan yang terdapat pada stego object akan diketahui.
Perbaikan dan Evaluasi Kinerja …... (Rojali; dkk)
145
Gambar 4 Proses mendapat pesan
Algoritma Pixel Value Differencing (PVD) Proses penyisipan Algoritma PVD secara lengkap bekerja sebagai berikut, (1) untuk setiap titik yang berurutan ( P(i,x) dan P(i,y) ) pada cover image hitung perbedaan antara nilai P(i,x) dan P(i,y) sebagai di. Berdasarkan nilai di carilah nilai batas bawah (lj) dan batas atas (uj) dari tabel jangkauan Rj; (2) hitung nilai wj = uj-lj +1; (3) hitung nilai ti=log(wj) dengan basis logaritma 2; (4) nilai ti adalah menentukan jumlah bit pesan yang dapat disisipkan; (5) ambil pesan sepanjang ti ,θi adalah nilai desimal dari ti; (6) hitung nilai δi = θi +lj ; (7) hitung nilai m = abs (δi – di); dan (8) carilah nilai P'(i,x) dan P'(i,y) dengan menggunakan persamaan (1) sebagai berikut.
⎧( P(i, x) + ⎡m / 2⎤, P(i, y ) − ⎣m / 2⎦), ⎪ jika P ≥ P dan d' > d ; (i , x ) (i , y ) i i ⎪ ⎪( P(i, x) − ⎣m / 2⎦, P(i , y ) + ⎡m / 2⎤), ⎪ ' ' ' ⎪ jika P(i , x) < P(i , y ) dan di > di ; ( P(i, x ) , P(i, y )) = ⎨ ⎪( P(i, x) − ⎡m / 2⎤, P(i , y ) + ⎣m / 2⎦), ⎪ jika P(i , x) ≥ P(i, y ) dan di' ≤ di ; ⎪ ⎪( P(i, x) + ⎡m / 2⎤, P(i, y ) − ⎣m / 2⎦), ⎪ jika P(i , x) < P(i, y ) dan di' ≤ di ; ⎩
(1)
Sementara itu, proses ekstraksi pesan Algoritma PVD secara lengkap bekerja adalah sebagai berikut, (1) untuk setiap titik yang berurutan ′
′
,
dan
′
,
pada stego image hitung perbedaan ′
sebagai yang dimutlakkan. Berdasarkan nilai carilah nilai batas antara nilai ′ , dan ′ , bawah (lj) dan batas atas (uj) dari tabel jangkauan Rj; (2) hitung nilai wj = uj-lj +1; (3) hitung nilai ti=log(wj) dengan basis logaritma 2; (4) nilai ti adalah menentukan jumlah bit pesan yang telah , konversi nilai ke dalam biner dengan panjang ti ; dan (6) hasil disisipkan; (5) hitung konversi nilai ke dalam biner dengan panjang ti merupakan pesan yang disembunyikan.
146
Jurnal Mat Stat, Vol. 9 No. 2 Juli 2009: 143-156
METODE PENELITIAN Bahan Bahan dalam penelitian ini adalah citra gambar format bmp 24 bit dan berkas text. Citra bmp digunakan sebagai media pembawa pesan, sedangkan berkas text sebagai pesan yang akan disisipkan. Jumlah citra bmp sebanyak delapan buah, pemilihan citra berdasarkan keragaman citra tersebut, terutama dilihat dari penyebaran warna. Sedangkan berkas text disesuaikan dengan daya tampung masing-masing citra bmpnya.
Metode Penelitian diawali dengan beberapa percobaan pendahuluan untuk mempelajari karakteristik penyebaran piksel dalam sebuah image. Tahap selanjutnya mempelajari cara kerja algoritma PVD dan melakukan beberapa perubahan dan penambahan sehingga diperoleh algoritma PVDM. Terakhir dibuat program untuk membandingkan kinerja kedua algoritma.
Percobaan Masing-masing algoritma dibuat programnya dengan spesifikasi perangkat lunak dan perangkat keras yang sama, yakni sebagai berikut. Pertama, perangkat lunak: (1) Microsoft Windows XP, (2) Microsoft Excel 2007, dan (3) Delphi versi 6 release. Kedua, perangkat keras: (1) Processor Intel Celeron 430, (2) 512 MB DDR2, (3) Harddisk 80 GB HDD, dan (4) Keyboard dan Monitor. Percobaan sebelumnya (Wu et al., 2001) hanya menggunakan dua tabel jangkauan (tabel jangkauan I dan tabel jangkuan II). Pada penelitian ini dikembangkan menjadi 4 tabel jangkuan, dengan penambahan 2 tabel jangkuan baru dari tabel sebelumnya seperti terlihat pada Tabel 1.
HASIL DAN PEMBAHASAN Algoritma PVD Inti dari algoritma PVD adalah perhitungan selisih antara piksel P(i,x) dan P(i,y). Hasil selisih kedua piksel akan menentukan besarnya kapasitas pesan yang dapat disisipkan, semakin besar selisih antara piksel P(i,x) dan P(i,y), semakin besar juga kapasitas pesan yang ditampung. Karakteristik sebuah citra pada umumnya antara piksel yang berdekatan mempunyai nilai piksel yang tidak jauh berbeda (selisih piksel antara interval [0..7]) yang dapat dikatakan kecil, walaupun bisa saja terjadi antara piksel yang berdekatan mempunyai nilai piksel yang jauh berbeda (selisih piksel antara interval [8.255]) yang dapat dikatakan besar. Perbedaan yang cukup besar antara dua piksel berdekatan terjadi karena adanya perubahaan warna yang kontras antara kedua piksel tersebut. Algoritma PVD menerapkan cara yang sama untuk semua selisih piksel, baik selisih besar ataupun selisih kecil. Kelemahan terjadi pada daerah dengan selisih piksel kecil, yaitu kurang optimalnya jumlah pesan yang dapat ditampung. Sebagai gambaran, untuk interval kecil daya tampung pesan hanya tiga bit untuk kedua piksel tersebut. Dengan algoritma LSB dua bit pada selisih piksel kecil dapat menampung empat bit pesan. Hal ini menunjukkan daya tampung yang lebih besar daripada menggunakan algoritma PVD.
Perbaikan dan Evaluasi Kinerja …... (Rojali; dkk)
147
Algoritma yang Diusulkan (PVDM) Penelitian ini akan mengelompokkan sebuah image dalam 2 kelompok, yaitu (1) kelompok dengan selisih piksel kecil (2) kelompok dengan selisih piksel besar. Kombinasi dari 2 kelompok ini untuk mengoptimalkan metode LSB dan PVD dalam satu gugus data yang sama. Metode penyisipan ini kita sebut algoritma PVDM (Pixel Value Differencing Modified). Kelebihan dari algoritma PVDM adalah mampu meningkakan kapasitas penyisipan data dan juga distorsi citra sebelum dan sesudah disisipkan tetap kecil. Perbedaan algoritma PVDM dengan algoritma PVD terletak pada pemilihan interval selisih pixel. Pada algoritma PVD semua interval mulai [0,255] diberlakukan sama, sedangkan algoritma PVDM pada interval [0,7] proses penyisipan pesan menggunakan algoritma LSB. Misalnya P(i,x) dan P(i,y) adalah dua buah pixel yang akan disisipkan pesan, selisih pixel P(i,x) dan P(i,y) berada pada interval [0,7] dilakukan proses penyisipan algoritma PVDM. Hasil proses penyisipan algoritma PVDM P(i,x) menjadi P(i,x)’ sedangkan P(i,y) menjadi P(i,y)’. Algoritma LSB yang digunakan mengharuskan selisih antara pixel P(i,x)’ dengan P(i,y)’ pada interval [0,7], karena jika tidak berada pada interval tersebut akan terjadi kesalahaan, kesalahaan ini disebabkan pada proses penyisipan menggunakan algoritma LSB sedangkan proses ekstrasi tidak menggunakan LSB. Sehingga tentunya pesan yang diambil akan berbeda. Proses penyisipan algoritma PVDM sampai ekstraksi algoritma PVDM, selengkapnya dapat dilihat dalam Gambar 5 dan Gambar 6.
Tabel 1Berbagai Macam Tabel Jangkauan Tabel Jangkuan I R1=[0,7] R2=[8,15] R3=[16,31] R4=[32,63] R5=[64,127] R6=[128,255]
148
Tabel Jangkuan II R1=[0,1] R2=[2,3] R3=[4,7] R4=[8,11] R5=[12,15] R6=[16,23] R7=[24,31] R8=[32,47] R9=[48,63] R10=[64,95] R11=[96,127] R12=[128,191] R13=[192,255]
Tabel Jangkuan III R1=[0,3] R2=[4,7] R3=[8,15] R4=[16,23] R5=[24,31] R6=[32,47] R7=[48,63] R8=[64,95] R9=[96,127] R10=[128,191] R11=[192,255]
Tabel Jangkuan IV R1=[0,1] R2=[2,5] R3=[6,7] R4=[8,15] R5=[16,31] R6=[32,47] R7=[48,63] R8=[64,95] R9=[96,127] R10=[128,191] R11=[192,255]
Jurnal Mat Stat, Vol. 9 No. 2 Juli 2009: 143-156
Gambar 5 Proses Penyisipan Pesan Algoritma PVDM
Gambar 6 Proses Ekstraksi Pesan Algoritma PVDM
Perbaikan dan Evaluasi Kinerja …... (Rojali; dkk)
149
Proses Penyisipan Pertama, untuk setiap titik yang berurutan (P(i,x) dan P (i,y)) pada cover image hitung perbedaan antara nilai P(i,x) dan P(i,y) sebagai di , berdasarkan nilai di carilah nilai batas bawah (lj) dan batas atas (uj) dari tabel jangkauan Rj. Kedua, jika nilai di berada pada interval [0..7] lakukan penyisipan LSB, sedangkan Jika nilai di berada pada interval [8..255] lakukan proses penyisipan PVD. Ketiga, pada penyisipan LSB dilakukan proses minimum distorsi untuk empat kemungkinan nilai P(i,x) dan P(i,y): P(i,x) mod 4 = 0 dan P(i,y) mod 4 = 0 7
7
Untuk
∑
dan
{P
∑
maka lakukan proses
j =1
i =1
+ ( −4) + i , P( i , y ) + ( −4) + j}
(i , x )
Jika P( i , x ) + ( −4) + i > 255 atau P( i , y ) + ( −4) + j > 255 maka P( i , x ) + ( −4) + i = 255 atau
P( i , y ) + ( −4) + j = 255 Jika P( i , x ) + ( − 4 ) + i < 0 atau P( i , y ) + ( −4) + j < 0 maka P( i , x ) + ( −4) + i = 0 atau
P( i , y ) + ( −4) + j = 0 Konversi nilai P( i , x ) + ( −4) + i atau P( i , y ) + ( −4) + j kedalam format biner, kemudian ambil masingmasing enam dijit pertama dari nilai biner tersebut untuk ditambahkan dengan pesan. Konversi masing-masing nilai biner kedalam desimal, carilah selisih mutlak dari dua nilai desimal tersebut. Carilah nilai minimum antara selisih citra sebelum dan sesudah disisipkan pesan P(i,x) mod 4 =0 dan P (i,y) mod 4 <> 0 11
7
Untuk
∑ i =1
{P
(i , x )
dan
∑ j =1
+ ( −4) + i, P( i , y ) + ( −4 − mod( P( i , y ) ,4) + j}
Jika P( i , x ) + ( −4) + i > 255 atau P( i , y ) + ( −4 − mod( P( i , y ) ,4) + j > 255 maka P( i , x ) + ( −4) + i = 255 atau P( i , y ) + ( −4 − mod( P( i , y ) ,4) + j = 255 Jika P( i , x ) + ( −4) + i < 0 atau P( i , y ) + ( −4 − mod( P( i , y ) ,4) + j < 0 maka P( i , x ) + ( −4) + i = 0 atau
P( i , y ) + ( −4 − mod( P( i , y ) ,4) + j = 0 Konversi nilai P( i , x ) + ( −4) + i atau P( i , y ) + ( −4 − mod( P( i , y ) ,4) + j kedalam format biner, kemudian ambil masing-masing enam dijit pertama dari nilai biner tersebut untuk ditambahkan dengan pesan. Konversi masing-masing nilai biner kedalam desimal, carilah selisih mutlak dari dua nilai desimal tersebut. Carilah nilai minimum antara selisih citra sebelum dan sesudah disisipkan pesan
150
Jurnal Mat Stat, Vol. 9 No. 2 Juli 2009: 143-156
P(i,x) mod 4 <>0 dan P(i,y) mod 4 = 0 7
11
Untuk
∑
dan
{P
(i , x )
∑ j =1
i =1
+ ( −4 − mod( P( i , x ) ,4)) + i, P( i , y ) + ( −4) + j}
Jika P( i ,x ) + ( −4 − mod( P( i , x ) ,4) + i > 255 atau P( i , y ) + ( −4) + j > 255 maka
P( i ,x ) + ( −4 − mod( P( i , x ) ,4) + i = 255 atau P( i , y ) + ( −4) + j = 255 Jika P( i , x ) + ( −4 − mod( P( i , x ) ,4) + i < 0 atau P( i , y ) + ( −4) + j < 0 maka
P( i ,x ) + ( −4 − mod( P( i , x ) ,4) + i = 0 atau P( i , y ) + ( −4) + i = 0 Konversi nilai P( i , x ) + ( −4 − mod( P( i , x ) ) + i atau P( i , y ) + ( −4) + j kedalam format biner , kemudian ambil masing-masing enam dijit pertama dari nilai biner tersebut untuk ditambahkan dengan pesan. Konversi masing-masing nilai biner kedalam desimal , carilah selisih mutlak dari dua nilai desimal tersebut. Carilah nilai minimum antara selisih citra sebelum dan sesudah disisipkan pesan P(i,x) mod 4 <>0 dan P(i,y) mod 4 <> 0 11
11
Untuk
∑ i =1
{P
(i , x )
dan
∑ j =1
+ ( −4 − mod( P( i , x ) ,4)) + i, P( i , y ) + ( −4 − mod( P( i , y ) + j}
Jika P( i ,x ) + ( −4 − mod( P( i , x ) ,4) + i > 255 atau P( i , y ) + ( −4) + j > 255 maka
P( i ,x ) + ( −4 − mod( P( i , x ) ,4) + i = 255 atau P( i , y ) + ( −4) + j = 255 Jika P( i , x ) + ( −4 − mod( P( i , x ) ,4) + i < 0 atau P( i , y ) + ( −4) + j < 0 maka
P( i ,x ) + ( −4 − mod( P( i , x ) ,4) + i = 0 atau P( i , y ) + ( −4) + i = 0 Konversi nilai P( i , x ) + ( −4 − mod( P( i , x ) ) + i atau P( i , y ) + ( −4 − mod( P( i , x ) ) + j ke dalam format biner, kemudian ambil masing-masing enam dijit pertama dari nilai biner tersebut untuk ditambahkan dengan pesan. Konversi masing-masing nilai biner kedalam desimal , carilah selisih mutlak dari dua nilai desimal tersebut. Carilah nilai minimum antara selisih citra sebelum dan sesudah disisipkan pesan Mod 4 digunakan karena pesan yang mungkin disisipkan untuk kasus dua bit adalah sebanyak empat buah yaitu 00 , 01, 10 atau 11. Pengulangan sebanyak 7 kali untuk P(i,x) mod 4 = 0 atau P(i,y) mod 4 = 0 karena jika piksel tepat habis dibagi 4 atau mod sama dengan 0, maka nilai bawah pertama dari titik P(i,x) yang habis dibagi empat adalah P(i,x) - 3 dan nilai atas pertama dari titik P(i,x) yang habis dibagi empat adalah P(i,x) + 3, sehingga jarak dari titik terbawah sampai titik teratas adalah 7 sesuai Gambar 7.
Perbaikan dan Evaluasi Kinerja …... (Rojali; dkk)
151
P(i,x) mod 4 <> 0 atau P(i,y) mod 4 <> 0 melakukan pengulangan 11 kali berdasarkan Gambar 8 terlihat bahwa P(i,x) atau P(i,y) memiliki tiga kemungkinan posisi yang semuannya memiliki jarak 11. Keempat, pada penyisipan PVD Jika nilai P('i , x ) dan P('i , y ) berada diluar range [0,255], maka dilakukan normalisasi menggunakan persamaan (7) agar interval nilai P('i , x ) dan P('i , y ) masih tetap berada pada interval [0,255]. ⎧ (P' = 0, P('i, y) = di − P('i,x) ), ⎪ (i, x) ⎪ jika P('i, x) < 0 ; ⎪ ⎪ ' ' ' ⎪ (P(i, x) = di − P(i, y) 0, P(i, y) = 0), ⎪ ⎪⎪ jika P('i, y) < 0; ' ' (P(i,x), P(i, y) ) = ⎨ ⎪(P' = 255, P('i, y) = P('i,x) − di ), i x ( , ) ⎪ jika P(i, x) > 255; ⎪ ⎪ ⎪(P' = P('i, y) − di , P('i, y) = 255), ⎪ (i, x) ⎪ jika P('i, y) > 255; ⎩⎪
(7)
Gambar 7 Posisi Piksel Tepat Habis Dibagi Empat
Gambar 8 Berbagi Posisi Piksel yang tidak Tepat Habis Dibagi Empat.
152
Jurnal Mat Stat, Vol. 9 No. 2 Juli 2009: 143-156
Proses Ekstraksi Pertama, untuk setiap titik yang berurutan ′
perbedaan antara nilai , dan proses ekstraksi. Ketiga, jika nilai konversi nilai
′ ′
,
dan
′
,
′
,
′
,
dan
′
,
pada stego image hitung
dimutlakkan untuk menentukan sebagai . Kedua, nilai < = 7, maka kerjakan proses ektraksi algoritma LSB: (1)
ke dalam bentuk biner; (2) ambil masing-masing 2 bit terakhir dari
′
> hasil konversi ; gabungkan masing-masing 2 bit terakhir tersebut. Jika nilai , dan , = 8, maka kerjakan proses ekstraksi algoritma PVD: (1) untuk setiap titik yang berurutan ′ ′ ′ ′ pada stego image hitung perbedaan antara nilai sebagai , dan , , dan , yang dimutlakkan, berdasarkan nilai carilah nilai batas bawah (lj) dan batas atas (uj) dari tabel jangkauan Rj; (2) hitung nilai wj = uj-lj +1; (3) hitung nilai ti = log(wj) dengan basis logaritma 2; (4) , konversi nilai ti adalah menentukan jumlah bit pesan yang telah disisipkan; (5) hitung nilai kedalam biner dengan panjang ti; (6) hasil konversi nilai ke dalam biner dengan panjang ti merupakan pesan yang disembunyikan.
Karakteristik Media Pembawa Pesan Perbedaan penyebaran selisih antara dua pixel terdekat untuk komponen red pada interval [0,7] rata-rata diatas 60% , kecuali pada gambar babbon hanya sebesar 40 persen.Sedangkan untuk penyebaran pixel green persentase yang hampir sama terjadi yaitu pada interval [0,7] mempunyai nilai rata-rata diatas 69% kecuali untuk gambar babbon yang hanya 37%. Begitu juga komponen blue pada untuk interval [0,7] selisih antara dua pixel terdekat diatas 63 %, kecuali pada gambar babbon hanya sebesar 37%. Dari karakteristik komponen red,green dan blue terlihat bahwa penyebaran piksel terbanyak berada pada interval [0,7]. Apabila digunakan algoritma PVD akan diperoleh nilai perbedaan(di) sebesar 7, dari sini diperoleh nilai wj=8, untuk mendapatkan jumlah bit (ti) yang dapat disisipkan dengan cara log(wj) dengan basis dua akan diperoleh nilai ti=3.
Evaluasi Kinerja Objektif Algoritma PVDM Dengan mengambil tabel jangkauan I R1= [0,7] , R2= [8,15] , R3= [16,31] , R4= [32,63] , R5= [64,127] dan R6= [128,255] daya tampung pesan yang dapat disisipkan pada citra berturut-turut adalah 8,8,16,32,64,128 jika dikonversi kedalam bit akan menjadi 3,3,4,5,6,7. Sedangkan jika diambil tabel jangkauan II R1= [0,1] , R2= [2,3] , R3= [4,7] , R4= [8,11] , R5= [12,15], R6= [16,23], R7= [24,31], R8= [32,47], R9= [48,63], R10= [64,95], R11= [96,127] R12= [128,191] dan R13= [192,255], daya tampung pesan yang dapat disisipkan pada citra berturut-turut adalah 2,2,4,4,4,8,8,16,16,32,32,64,64 jika dikonversi kedalam bit akan menjadi 1,1,2,2,2,3,3,4,4,5,5,6,6. Pemilihan tabel jangkauan III R1= [0,3] , R2= [4,7] , R3= [8,15] , R4= [16,23] , R5= [24,31], R6= [32,47], R7= [48,63], R8= [64,95], R9= [96,127], R10= [128,191], dan R11=[192,255] jumlah pesan yang dapat disisipkan dalam bit berturut-turut 4,4,8,8,8,16,16,32,32,64,64. Tabel Jangkauan IV adalah R1= [0,1] , R2= [2,5] , R3= [6,7] , R4= [8,15] , R5= [16,31], R6= [32,47], R7= [48,63], R8= [64,95], R9= [96,127], R10= [128,191], dan R11=[192,255] sehingga daya tampung dalam bit 2,4,2,8,16,16,32,32,64,64. Delapan citra pembawa “Apple”, ”Banana”, ”Babbon”, ”Borobudur”, ”Lena”, ”Penguin”, ”Pepper”, ”Sunflower” menghasilkan daya tampung seperti pada Gambar 9.
Perbaikan dan Evaluasi Kinerja …... (Rojali; dkk)
153
Gambaar 9 Daya Tam mpung Algoritm ma PVD untu uk Tabel Jangkkauan I, II, IIII, dan IV
Gaambar 10 Daya Tampung PV VDM untuk Tabel T Jangkauuan I,II,III dann IV
Gambaar 11 Persentase Kenaikan Daya D Tampunng Pesan d Algoritmaa PVD ke Alg dari goritma PVDM M
154
Jurnal J Mat Staat, Vol. 9 No. 2 Juli 2009: 143-156
PENUTUP Algoritma PVDM mampu meningkatkan kapasitas penyimpanan dan tetap mempertahankan kualitas dari citra untuk semua tabel jangkauan yang dipilih. Distorsi antara media sebelum dan sesudah disisipkan pesan cukup kecil dimana nilai PSNR diatas 36. Karakteristik data sangat berpengaruh pada kinerja algoritma PVDM dalam memperoleh daya tampung dan nilai PSNR. Pemilihan tabel mempengaruhi distorsi pada masing-masing algoritma, baik PVD maupun PVDM. Tetapi pada pemilihan Tabel jangkauan I kinerja algoritma PVDM selalu lebih baik dari pada algoritma PVD baik untuk data besar maupun data kecil. Penilaian secara subjektif dan objektif untuk semua tabel jangkuan dan daya tampung pesan menghasilkan nilai yang hampir sama. Algoritma PVDM hanya mengubah daerah dengan selisih pixel kecil interval [0, 7], penelitian selanjutnya dapat diterapkan pada interval yang lebih besar sehingga dapat dicari tabel yang lebih tepat lagi dan untuk data yang besar distorsi tidak banyak mengalami perubahan.
DAFTAR PUSTAKA Awad kh. Al-Asmari, and Owayed A. Al-Ghamdi. (2006). High capacity data hiding using semihexagonal pixel value differencing. Avcidas, I. (2001). Image quality statistics and their use in steganalysis and compression. Retrieved August 2, 2008 from http://www.busim.ee.boun.edu.tr/~image/thesis/avcibas.pdf. Busch, C., Wolfgang F., and Stephen W. (1999). Digital watermarking: Form concept to real-time video applications. IEEE Computer Graphic and Applications. Retrieved March 10, 2008 from http://debut.cis.nctu.edu.tw/~babycat/present/watermarking0523.pdf. Cole, E. (2003). Hiding in plain sight: Steganography and the art of covert communication, Indiana, USA: Wiley Publishing, Inc. Gerson F., Sutanto D., dan Darmawan A. (2005). Analisis dan perancangan algoritma steganography untuk penyampaian informasi rahasia melalui image. Skripsi. Binus University, Jakarta: Indonesia. Gonzales, R.C., and Richard E.W. (2002). Digital image processing, New York, USA: Addison Wesley. Publishing Company. Kessler, G.C. (2001). An overview of steganography for the computer forencics examiner. Retrieved April 11, 2008 from http://www.garykessler.net/library/fsc_stego.html. Kolkata. (2005). Different approaches of steganalysis. Retrieved March 10, 2008 from http://www.tifr.res.in/~sanyal/papers/Soumyendu_Steganography_Steganalysis_different_app roaches.pdf. Molker, T., Elloff, J.H.P., and Oliver, M.S. (2005). An overview of image steganography. Retrieved March 10, 2008 from http://martinolivier.com/open/stegoverview.pdf [11. Ranggo, M.T. (2000). Steganography, steganalysis and criptanalysis. Retrieved April 11, 2008 from http://www.spy-hunter.com/Steganography_V7.0_DefCon_V3_S.pdf.
Perbaikan dan Evaluasi Kinerja …... (Rojali; dkk)
155
Wu, D.C., and Tsai, W.H. (2003). A steganographic method for images by pixel-value differencing, Pattern Recognition Letters 24, 1613–1626. Zollner, J., Federrath, H., Klimant, H., Pfitzmann, A., Piotraschke, R., Westfeld, A., Wicke, G., and Wolf, G. (1998). Modeling the security of steganographic systems.
156
Jurnal Mat Stat, Vol. 9 No. 2 Juli 2009: 143-156