Watermarking Berbasis Permutasi RC-4 Pada Koefisien DWT ...
Transcript of Watermarking Berbasis Permutasi RC-4 Pada Koefisien DWT ...
i
Watermarking Berbasis Permutasi RC-4 PadaKoefisien DWT Citra Digital Ukuran 8x8
diajukan oleh
Mina Naidah Gani
JURUSAN TEKNIK ELEKTROPOITEKNIK NEGERI BANDUNG
2012
i
PRAKATA
Alhamdulillah, segala puji dan syukur kehadirat Allah SWT atas limpahan
rahmat serta karunianya yang memenuhi langit dan bumi serta atas kekuatan yang
diberikannya sehingga penulis dapat menyelesaikan buku dengan judul
“Watermarking berbasis Permutasi RC-4 pada koefisien DWT Citra Digital 8x8”.
Buku ini disusun untuk disumbangkan bagi para pengunjung perpustakaan di
Jurusan Teknik Elektro Politeknik Negeri Bandung.
Penulis menyadari sepenuhnya bahwa buku ini masih jauh dari sempurna,
untuk itu semua jenis saran, kritik dan masukan yang bersifat membangun sangat
penulis harapkan. Akhir kata, semoga tulisan ini dapat memberikan manfaat bagi
pengembangan ilmu pengetahuan khususnya bidang pencitraan dan memberikan
wawasan tambahan bagi para pembaca dan khususnya bagi penulis sendiri.
Hanya Allah Maha Segalanya, kita hanya dapat berikhtiar dan berusaha
semaksimal mungkin niscaya Allah akan memberikan yang terbaik bagi umatnya.
Sholawat dan salam penulis sampaikan kepada junjungan kita Nabi Muhammad
SAW yang telah menuntun dari masa kegelapan menuju jalan yang penuh
keberkahan. Amin.
Bandung, September 2012
Mina Naidah Gani
ii
ABSTRAK
Salah satu metode perlindungan untuk data citra digital adalah Digital ImageWatermarking. Discrete Wavelet Transform (DWT) merupakan salah satu ranahyang banyak digunakan dalam teknik watermarking dalam domain transform.Dengan selalu berasumsi bahwa algoritma dapat dimiliki siapa saja, metodeAsimetrik watermarking citra digital dapat menjembatani agar watermark yangterdapat pada host tetap aman. Permutasi yang sulit dilacak adalah salah satupemecahan masalah ini. Metoda permutasi RC-4 berbasis logistik map, dengankonsep penyisipan pada koefisien dwt citra digital yang diajukan oleh beberapapeneliti direalisasikan dengan menggunakan Matlab 2009b. Hasil pengujianmenunjukkan bahwa menaikkan dan menurunkan nilai ambang koefisien, bobotwatermark privat dan bobot watermark publik berpengaruh pada psnr gambarberwatermark. Jadi pengaturan beberapa koefisien seperti koefisien ambangpenyisipan, nilai kekuatan watermark, dan koefisien watermark itu sendiri, dapatmenghasilkan copyright yang handal pada suatu host.
Kata Kunci : Citra Digital, Watermarking, DWT, permutasi, ekstraksi.
One method of protection for digital image data is Digital Image Watermarking.Discrete Wavelet Transform (DWT) is one of the areas that is widely used inwatermarking techniques in transform domain. By always assume that thealgorithm can be owned by anyone, asymmetric watermarking method of digitalimage watermark to bridge that contained the host remains safe. Permutations aredifficult to track is one solution. RC-4 permutation method based on logistic map,with the insertion of the concept of digital image dwt coefficients proposed bysome researchers realized using Matlab 2009b. The test results showed that raiseand lower the threshold coefficient, weighted watermark private and publicwatermark weighting effect on PSNR berwatermark picture. So setting somecoefficients such as coefficients insertion threshold, the value of watermarkstrength, and coefficient of watermark itself, can produce a reliable copyright on ahost.
Keywords: Image Digital Watermarking, DWT, permutations, extraction.
iii
DAFTAR ISI
PRAKATA …………………………………….................…………............ i
DAFTAR ISI ……………………………………………………….............. ii
DAFTAR TABEL .......................................................................................... iii
DAFTAR GAMBAR .................................................................................... iv
BAB 1 PENDAHULUAN ………………………...............................…… 1
BAB 2 TINJAUAN PUSTAKA DAN LANDASAN TEORI ……................. 62.1 Tinjauan Pustaka ....................................................................... 62.2 Teori Pendukung........................................................................ 7
2.2.1 Fungsi Chaos................................................................... 82.2.2 Algoritma RC-4 ............................................................ 92.2.3 Discrete Wavelett Transform......................................... 10
2.2.3.1 Wavelet............................................................. 102.2.3.2 Transformasi Wavelet...................................... 10
2.2.4 Skema Dugad.............................................................. 112.2.4.1 Penyisipan Watermark ................................... 12
2.2.5 Penyisipan Menurut Maya Maimon .............................. 122.2.7 Penyisipan Watermark menurut Gui ........................... 13
BAB 3 METODA PENELITIAN ,ALGORITMA DAN ANALISA.............. 143.1 Materi Penelitian ..................................................................... 143.2 Alat Penelitian ....................................................................... 143.3 Jalan penelitian ....................................................................... 143.4 Tabel Permutasi ...................................................................... 15
3.4.1 Membangkitkan nilai-nilai Chaos................................. 163.4.2 Mendapatkan tabel permutasi (algoritma RC-4)............ 17
3.5 Alur Penyisipan Watermark ........................................................ 183.5.1 Algoritma I (Munir-Dugad)................................................ 18
iv
3.5.1.1 Contoh proses penerapan algoritma Munir_Dugadmenggunakan citra 8x8..................................................... 19
3.5.2 Algoritma II (Munir-Maimon)............................................. 273.5.2.1 Contoh proses penerapan algoritma Munir_Maimon
menggunakan citra 8x8..................................................... 293.5.3 Algoritma III (Munir-Dugad- Gui)..................................... 333.5.3.1 Contoh proses penerapan algoritma unir_Dugad_Gui
menggunakan citra 8x8..................................................... 353.5.4 Algoritma IV (Munir-Maimon-Gui)................................... 423.5.4.1 Contoh proses penerapan algoritma Munir_Dugad
menggunakan citra 8x8.................................................... 43BAB 4 KESIMPULAN...................................................................................... 50BAB 5 DAFTAR PUSTAKA.......................................................................... 51
DAFTAR TABEL
Tabel 3.1 Pengaruh bobot watermark public terhadap psnr citra berwatermark.. 41
Tabel 3.2 Pengaruh kekuatan watermark terhadap psnr citra berwatermark untuk
algoritma IV…………………………………………………………...46
Tabel 3.3 Pengaruh bobot watermark public terhadap psnr citra berwatermark
untuk algoritma IV………………………………………...…………60
v
DAFTAR GAMBAR
Gambar 2.1 Skema Asimetrik Watermarking 7
Gambar 3.1 Diagram Alir Metoda Penelitian 15
Gambar 3.2 Diagram Alir Pembuatan Tabel Permutasi 15
Gambar 3.3 Tiga table permutasi yang berbeda dari tiga nilai awal Chaos yangberbeda 18
Gambar 3.4 Diagram Alir Algoritma munir-dugad 20
Gambar 3.5 Koefisien host image X1 berukuran 8x8 21
Gambar 3.6 Komponen transformasi wavelet level 1 22
Gambar 3.7 Komponen transformasi wavelet level 2 22
Gambar 3.8 Komponen transformasi wavelet level 1 22
Gambar 3.9 Koefisien watermark ukuran 4x4 23
Gambar 3.10 Nilai yang dibangkitkan dari teori chaos 23
Gambar 3.11 Nilai sebaran dari nilai chaos yang dinormalisir ke mod 16 24
Gambar 3.12 Tabel permutasi S yang dijaga rahasia 24
Gambar 3.13 Nilai transformasi wavelet dari Wr 24
Gambar 3.14 Hasil permutasi Wp1 berdasarkan table permutasi S 24
Gambar 3.15 Perubahan koefisien akibat penyisipan WM pada komponendiagonal 1 Algoritma I 25
Gambar 3.16 Perubahan koefisien pada komponen horizontal level 1Algoritma I 26
Gambar 3.17 Perubahan koefisien pada komponen vertical 1 Algoritma I 26
Gambar 3.18 Komponen-komponen pada level 2 algoritma I 27
Gambar 3.19 Komponen-komponen pada level 3 algoritma I 27Gambar 3.20. Rekonstruksi hasil penyisipan dengan fungsi IDWT
algoritma I 28Gambar 3.21 Hasil pengolahan untuk host 8x8 algoritma I 29Gambar 3.22. Diagram alir algoritma munir-maimon 30Gambar 3.23 Perubahan koefisien pada komponen diagonal level1
algoritma II 31Gambar 3.24 Perubahan koefisien pada komponen horizontal level1
algoritma II 32Gambar 3.25 Perubahan koefisien pada komponen vertikal level1
algoritma II 32Gambar 3.26 Perubahan koefisien pada komponen wavelet level2
vi
algoritma II 33Gambar 3.27 Perubahan koefisien pada komponenwavelet level 3
algoritma II 34Gambar 3.28 Hasil Rekonstruksi setelah dilakukan penyisipan
algoritma II 34Gambar 3.29 Hasil pengolahan untuk host 8x8 pada algoritma II 35Gambar 3.30. Diagram alir algoritma Munir-Dugad-Gui 36Gambar 3.31 Koefisien We berdasarkan Watermark termutasi dan
watermark public 37Gambar 3.32 Perubahan koefisien pada komponen level 1 algoritmaIII 38Gambar 3.33 Perubahan koefisien pada komponen level 2 algoritma III 39Gambar 3.34 Perubahan koefisien pada komponen level 3 39Gambar 3.35 Hasil Rekonstruksi setelah dilakukan penyisipan pada
Algoritma III 40Gambar 3.36 Difference antara Host dan citra berwatermark
Algoritma III 40Gambar 3.37. Hasil pengolahan citra dari algoritma III. 41Gambar 3.38. Perbandingan watermark dengan watermark termutasi 42Gambar 3.39. Perbandingan watermark dengan watermark termutasi
pada b = 0.2 42Gambar 3.40. Perbandingan watermark dengan watermark termutasi
pada b = 0.4 42Gambar 3.41. Perbandingan watermark dengan watermark termutasi
pada b = 0.6 43Gambar 3.42. Perbandingan watermark dengan watermark termutasi
pada b = 0.8 43Gambar 3.43. Perbandingan watermark dengan watermark termutasi
pada b = 1.0 43Gambar 3.44. Diagram alir agoritma munir-dugad-gui 44
Gambar 3.45 Hasil pengolahan citra pada Algoritma Munir-Maimon-Gui 45Gambar 3.46. Kekuatan Watermark p = 0.1, psnr citra = -40,4997 47Gambar 3.47. Kekuatan Watermark p = 0.01, psnr citra = -20,4997 47Gambar 3.48. Kekuatan Watermark p = 0.001, psnr citra = -0,4997 47Gambar 3.49. Kekuatan Watermark p = 0.0001, psnr citra = 19.5003 48Gambar 3.50. Kekuatan Watermark p = 0.00001, psnr citra = 39.5003 48Gambar 3.51. Kekuatan Watermark p = 0.000001, citra = 59.5003 48
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Siapa yang tidak mengenal komputer. Komputer dipakai dalam hampir
segala aspek kehidupan. Dari specialized-computer yang biasa dipakai untuk
proses otomatisasi dalam industri (salah satu contoh: industri pengepakkan
makanan, pengaturan traffic light, pembelian tiket online, dsb) sampai kepada
komputer pribadi (Personal Computer) yang lebih dikenal dengan sebutan PC
yang sering digunakan di kantor-kantor untuk menyimpan data-data perusahaan,
menyimpan/mengolah database, mengatur keuangan, sampai kepada sekedar
hiburan untuk mendengar lagu, menyaksikan VCD atau permainan bagi anak-
anak.
Perkembangan komputer digital dan perangkat lain yang digitalised, telah
membuat data digital menjadi trend, dan mudah digunakan. Ada beberapa faktor
yang membuat data digital (seperti audio, citra, video, dan text) banyak
digunakan, antara lain (menurut Supangkat (2000)) :
Mudah diduplikasi dan hasilnya sama dengan aslinya,
Murah untuk penduplikasian dan penyimpanan,
Mudah disimpan untuk kemudian diolah atau diproses lebih lanjut,
Serta Mudah didistribusikan, baik dengan media disk maupun melalui
jaringan seperti Internet.
2
Masalah yang terjadi dalam hak cipta pada bidang multimedia tidak hanya
mengenai penggandaan dan pendistribusian, tetapi juga mengenai kepemilikan.
Sering ditemukan produk digital tidak mencantumkan siapa pemegang hak
ciptanya. Misalkan bukti kepemilikan itu ada, namun informasi kepemilikan
hanya disertakan pada sampul pembungkus yang menerangkan bahwa produk
multimedia tersebut adalah milik pembuatnya. Kenyataannya distribusi produk
multimedia saat ini tidak hanya secara offline, namun sering dilakukan lewat
internet. Pada beberapa situs web, dapat ditemukan informasi berupa teks,
gambar, suara, video. Semua produk digital mudah didownload. Serta dapat
dipertukarkan dengan layanan seperti e-mail. Hampir semua data yang bertebaran
di dunia internet tidak ada informasi pemiliknya. User bisa saja mengklaim bahwa
produk yang dia dapatkan adalah hasil karyanya. Karena tidak ada bukti
kepemilikan sebelumnya, maka klaim tersebut mungkin saja dipercaya. Hal ini
yang menimbulkan persoalan hak cipta bagi citra digital yang tersebar. Salah satu
cara yang dapat digunakan untuk melindungi hak cipta pada citra digital adalah
dengan watermarking.
Watermarking merupakan suatu cara untuk penyembunyian atau
penanaman data/informasi tertentu (baik hanya berupa catatan umum maupun
rahasia) ke dalam suatu data digital lainnya, tetapi tidak diketahui kehadirannya
oleh indera manusia (indera penglihatan atau indera pendengaran), dan mampu
menghadapi proses-proses pengolahan sinyal digital sampai pada tahap tertentu.
3
Watermarking berfungsi melindungi data yang disisipi dengan informasi
lain dengan tujuan untuk melindungi hak milik, copyright, dsb. Teknik
penyembunyian data sendiri terbagi menjadi dua domain yaitu :
Domain spasial yang jika dihubungkan dengan Digital Image
Watermarking yaitu penyisipan watermark dilakukan secara langsung ke
dalam pixel citra,
Domain transform yang menyisipkan watermark ke dalam koefisien
transformasi.
Menurut Liu (2002), tiga karakteristik yang seharusnya dipenuhi oleh suatu teknik
watermarking adalah imperceptibility, robustness, dan trustworthiness.
Imperceptibility menunjukkan antara citra asli dan citra ber-watermark secara
persepsi tidak dapat dibedakan oleh mata manusia, watermark tidak mengalami
interferensi dengan medianya. Robustness merupakan tingkat kekuatan watermark
yang disisipkan terhadap serangan dan pemrosesan sinyal yang biasanya
dilakukan pada suatu data digital seperti penambahan noise, proses filter, scaling,
perputaran, pemotongan, dan lossy compression. Sedangkan trustworthiness
menjamin tidak akan dapat dibangkitkan watermark yang sama dengan
watermark yang asli dan menyediakan bukti terpercaya untuk melindungi hak
kepemilikan.
Kebanyakan watermark disisipkan sebagai deretan bit (binary digit) atau
dapat juga melalui pengaturan sinyal digital dengan menggunakan algoritma
berbasiskan kunci yang disisipkan.
4
Fungsi-fungsi ini dicapai dengan menggenerate blok data yang biasanya
ukurannya lebih kecil dari data asli. Blok data yang lebih kecil ini disisipkan pada
data asli dan pada identitas pengirim. Penyisipan ini memverifikasi integritas data
dan mendukung non repudiasi. Untuk menghasilkan digital watermarking,
program sinyal digital melewatkan file untuk dikirimkan melalui fungsi hash satu
arah. Setelah data media dihitung, kemudian dienkripsi dengan kunci publik
pengirim. Penerima kemudian mendekripsi data media yang diterima dengan
menggunakan kunci public penerima. Jika kunci privat digunakan untuk
memodifikasi watermarking data media dan benar bahwa ia merupakan kunci
publiknya, verifikasi pengirim telah tercapai. Verifikasi terjadi karena hanya
kunci sebagai bagian yang telah diwatermark, maka pesan tidak dimodifikasi
publik pengirim yang dapat mendekrip media digital yang dienkripsi dengan
kunci privat pengirim. Kemudian, penerima dapat melihat data media dari file
yang diterima menggunakan fungsi hash yang identik dengan pengirim, jika data
media identik dengan data media yang dikirim. Dengan mengingat prinsip
Kerckhoff (Schneier, 1996) yang menyatakan bahwa suatu skema sekuriti seperti
kriptografi dan watermarking harus mengasumsikan bahwa lawan mengetahui
segala sesuatu mengenai algoritmanya, maka pihak lawan yang mengetahui
algoritma watermarking dapat menggunakan kunci tersebut untuk menghapus
watermark dari data multimedia tanpa menimbulkan kerusakan yang berarti pada
data tersebut.
Agar watermark sulit di hapuskan, skema asymmetric watermarking dapat
memecahkan masalah ini. Pada skema ini, kunci untuk menyisipkan watermark
5
berbeda dengan kunci untuk mendeteksi watermark. Cara ini dapat meningkatkan
keamanan daripada skema simetri. Konsep asymmetric watermarking banyak
diadopsi dari asymmetric cryptography. Sebagaimana kita ketahui, pada
asymmetric cryptography, kunci untuk enkripsi berbeda dengan kunci untuk
dekripsi.
Penelitian sebelumnya (Munir, 2008) dilakukan pada ranah DCT dan
menerapkan metoda asimetrik dengan teori korelasi untuk pendeteksian
watermark pada serangan non mallicious. Beberapa eksperimen yang mereka
lakukan menghasilkan uji korelasi yang selalu positif, berarti watermark dapat
dideteksi, untuk :
cropping hingga 50% crop,
kompresi jpeg hingga kwalitas 20%,
resizing hingga 25%,
noising salt and peppers hingga 20%,
sharpening,
rotating hingga 10%.
Pada penelitian ini akan diimplementasikan perangkat lunak berdasarkan beberapa
algoritma untuk menyisipkan watermark hingga watermark dengan skema public
dapat disisipkan pada suatu citra digital. Kunci dibangkitkan dengan metoda RC-4
dan kemudian disisipkan pada ranah DWT (Discrete Wavelett Transform) suatu
citra digital berukuran 8x8.
6
BAB II
TINJAUAN PUSTAKA DAN LANDASAN TEORI
2.1 Tinjauan Pustaka
Pengkajian penyisipan watermark di ranah dwt telah begitu berkembang
untuk mendapatkan performansi yang handal. Kunci dari kokohnya watermark
digital adalah tergantung dari algoritma yang kuat, dan membentuk system yang
imperceptible.
1. Dugad (1998) mengusulkan skema public-key watermarking berdasarkan
teorema korelasi di ranah DWT, yang menunjukkan ranah tersebut lebih baik
dari pada ranah DCT.
2. Choi (2004) mengusulkan skema public-key watermarking berdasarkan
transformed-key, yang dinamakan transformed-key watermarking (TKW).
3. Fu (2004) mengusulkan skema asymmetric watermarking yang menyisipkan
watermark privat dan watermark public ke dalam sinyal host.
4. Liu (2005), mengusulkan sebuah protokol, commitment based watermark
detection, dengan berbasiskan pada korelasi.
5. Gui (2005) mengusulkan skema asymmetric watermarking yang
menggunakan banyak watermark public. Watermark privat diturunkan dari
sejumlah watermark public. Tujuan yang hendak dicapai adalah mendapatkan
skema deteksi public dengan kekokohan yang sama dengan deteksi privat.
Idenya didasarkan pada fakta bahwa pada kebanyakan skema asymmetric
watermark publik hanya sebagian berkorelasi dengan watermark privat,
7
artinya hanya sebagian informasi watermark privat terdapat di dalam
watermark publik.
6. Gui (2006) didalamnya memaparkan skema asymmetric watermarking
berbasis matriks non-full rank.
7. Parameswaran (2007), memodulasi dwt dari host dengan normalisasi invers
moment. Untuk mendeteksi watermark pada gambar berwatermark bisa
digunakan korelasi linier.
8. Munir (2008) mengusulkan skema asymmetric watermarking berbasiskan
pada operasi permutasi RC-4 dan fungsi Chaos, Chaos diterapkan karena ia
mempunyai karakteristik penting untuk meningkatkan keamanan, yaitu
sensitivitas pada kondisi awal. Data multmedia yang disisipi watermark
adalah citra greyscale. Baik penyisipan maupun pendeteksian watermark
keduanya dilakukan pada ranah discrete cosine transform (DCT).
2.2 Teori Pendukung
Gambar 2.1. Skema Asimetrik Watermarking
8
Dari Gambar 2.1, X adalah host signal yaitu fitur yang diekstraksi dari data
multimedia dan w adalah informasi watermark. X dapat berupa pixel-pixel citra,
audio, maupun video, dapat juga berupa koefisien DCT atau koefisien DWT.
Dari skema gambar di atas pendeteksian dengan menggunakan kunci public akan
menghasilkan 1 atau 0 ( ada atau tidak ada watermark)
Untuk menyisipkan watermark w ke dalam X digunakan kunci privat, hal ini akan
menghasilkan sinyal berwatermark Y
Dapat ditulis seperti pada persamaan (2.1)
Y = X + αw.......................................................................(2.1)
α adalah kekuatan watermark
Pendeteksian watermark tidak membutuhkan kunci privat dan sinyal host (X),
tetapi membutuhkan kunci public dan sinyal berwatermark Y juga suatu nilai
ambang T, yang akan dibandingkan terhadap Y sehingga mengidentifikasi adanya
watermark (1) atau tidak (0)
Skema asimetrik watermarking selain harus kokoh terhadap non-malicious attack
seperti kompressi, cropping, rotasi dll, juga harus kokoh terhadap malicious attack
yaitu serangan yang bertujuan untuk menghapus watermark.
2.2.1. Fungsi Chaos (Eggers(2000))
xi+1 = r xi (1-xi), …………………………………………(2.2)
dan 0 ≤ r ≤ 4.
Dengan menggunakan fungsi rekursif dari persamaan 2.2, kita bisa
membuat suatu deretan angka Real yang penyebarannya sangat dipengaruhi oleh
9
nilai awal. Karakteristik umum sistem chaos adalah kepekaannya terhadap
perubahan kecil nilai awal (sensitive dependence on initial condition). Kepekaan
ini berarti bahwa perbedaan kecil pada nilai awal fungsi, setelah fungsi diiterasi
sejumlah kali, akan menghasilkan perbedaan yang sangat besar pada nilai
fungsinya.
2.2.2. Algoritma RC4
Algoritma RC4 termasuk ke dalam kelompok stream cipher. Inti algoritma
RC4 adalah membangkitkan kunci-aliran (keystream) yang kemudian di-XOR-kan
dengan plainteks. Algoritma RC4 menggunakan larik S[0..255] yang diinisialisasi
dengan 0, 1, 2, …, 255. Selanjutnya larik S dipermutasi berdasarkan kunci
eksternal U yang panjangnya variabel. Jika panjang U
< 256, maka dilakukan padding sehingga panjangnya menjadi 256 byte. Permutasi
terhadap nilai-nilai di dalam larik S dilakukan dengan cara sebagai berikut:
j ← 0
for i ← 0 to 255 do
j ← (j + S[i] + U[i]) mod 256
swap(S[i], S[j])
end
Algoritma permutasi di atas dimodifikasi untuk mempermutasikan
watermark publik. Misalkan panjang watermark adalah N, maka larik S[0..N]
yang diinisialisasi dengan 0, 1, …, N – 1. U adalah sebuah larik integer sepanjang
N yang elemen-elemennya dibangkitkan dengan logistic map (nilai chaos yang
10
riil terlebih dahulu dikalikan dengan N dan dibulatkan ke integer terdekat).
Selanjutnya permutasi terhadap nilai-nilai di dalam larik S dilakukan dengan cara
yang sama seperti potongan algoritma di atas kecuali 255 diganti dengan N. Nilai-
nilai di dalam larik S digunakan untuk mempermutasikan watermark publik.
(Munir,2008)
2.2.3. Discrete Wavelett Transform
2.2.3.1. Wavelet
Komponen Wavelet merupakan gelombang mini (small wave) yang
mempunyai kemampuan mengelompokkan energy citra terkonsentrasi pada
sekelompok kecil koefisien, sedangkan kelompok kecil lainnya hanya
mengandung sedikit energi yang dapat dihilangkan tanpa mengurangi nilai
informasinya. Secara matematis, pengertian wavelet adalah fungsi matematika
yang memotong-motong data menjadi kumpulan-kumpulan frekuensi yang
berbeda, sehingga masing-masing tersebut dapat dipelajari dengan menggunakan
skala resolusi yang berbeda.
2.1.3.2. Transformasi Wavelet
Transformasi Wavelet memiliki kemampuan untuk menganalisa suatu data
dalam domain waktu dan domain frekuensi secara simultan. Analisa data pada
transformasi wavelet dilakukan dengan membagi (dekomposisi) suatu sinyal ke
dalam komponen-komponen frekuensi yang berbeda-beda dan selanjutnya
masing-masing komponen frekuensi tersebut dapat dianalisa sesuai dengan skala
11
resolusinya . Hal ini seperti proses filtering, dan sinyal dalam domain waktu
dilewatkan ke dalam filter highpass dan lowpass dan memisahkan komponen
frekuensi tinggi dan frekuensi rendah .
DCT menggunakan deret sinyal cosinus dengan frekuensi yang berbeda
sebagai fungsi basisnya. Sedangkan DWT menggunakan deret wavelet sebagai
fungsi basisnya. Sekumpulan wavelet ini diturunkan dengan dilatasi dan translasi
dari single primary wavelet. Oleh sebab itu,tidak seperti DCT yang hanya ada satu
kemungkinan fungsi basis, pada transformasi wavelet ada banyak kemungkinan
transformasinya karena fungsi basis yang digunakan dapat diturunkan dari
primary wavelets. Wavelet harus memiliki beberapa sifat agar dapat dikatakan
sebagai basis untuk transformasi wavelet:
Dapat diintegralkan
Dapat dikomposisi hanya untuk komponen frekuensi yang positif
Beberapa fungsi basis wavelet yang dapat digunakan oleh encoder Baseline JPEG
berbasis wavelet yang dibuat adalah Haar wavelet, Daubechies wavelet, Symlets
wavelet, dan Bi-orthogonal wavelet. Namun, pada penelitian ini hanya akan
menggunakan fungsi basis wavelet “Daubechies wavelet transform”.
2.2.4 Skema Dugad (1998)
Menggunakan Transformasi Wavelet dengan Daubechies 8-tap filter.
1. Bagian LL band tidak dimodifikasi
2. Sisipkan watermark pada band : HL(horizontal), LH(vertical), HH(diagonal).
3. Sisihkan semua koefisien yang lebih besar dari T1.
4. Watermark disisipkan di sejumlah M koefisien tersebut.
12
5. 2.2.4.1 Penyisipan Watermark
1. Hitung NxN DWT dari NxN gray scale image I.
2. low pass DWT coefficients tidak termasuk yang dimodifikasi.
3. Sisip watermark pada koefisien DWT > T1:
T = {ti}, t’i = ti + α|ti|xi, ………………………………..(2.6),
dan i seluruh koefisien DWT > T1.
4. Ganti T = {ti} dengan T’ = {t’i} pada DWT domain.
Hitung inverse DWT untuk mendapatkan gambar berwatermark I’.
2.2.5 Penyisipan Menurut Maimon (1999)
Cara penyisipannya sebagai berikut
1. Menghitung jumlah koefisien DWT, y[m,n]
2. Watermark adalah Gaussian N[m,n]: dengan mean 0 and variance 1.
kita bisa menyisipkan watermark juga dengan cara seperti 2.9
……………(2.9)
control level watermarking
Square2 menunjukkan penguatan untuk harga koefisiennya.
y’[m,n] adalah koefisien citra berwatermark
Koefisien DWT LL band tidak diubah
Adapun pendeteksiannya membandingkan (menggunakan korelasi) pada
tiap-tiap band (tentunya bukan pada LL band)
13
2.2.6 Penyisipan Watermark menurut Gui (2005)
Menurut Gui watermark yang harus disisipkan adalah watermark yang
telah termutasi. Watermark asal merupakan kunci dan disebut juga
watermark public.
We = (1-b)Ws + bWb,........................................(2.11)
Dan b adalah pengendalian watermark public (Wb), Ws adalah watermark
yang termutasi.
2.2.8. Fungsi yang digunakan pada Matlab
1. [cA,cH,cV,cD] = dwt2(X,'wname')
Menghitung matriks koefisien-koefisien perkiraan cA dan koefisien-
koefisien detail matriks cH, cV, dan cD (horizontal, vertical, dan
diagonal), didapatkan dengan dekomposisi wavelet X. Matriks masukan.
'wname' string berisi fungsi wavelet.
2. idwt2
Menggunakan fungsi 'wname' untuk menghitung tingkat pertama,
merekonstruksi koefisien-koefisien perkiraan matriks X, berdasarkan
matriks perkiraan cA dan matriks detail cH, cV, dan cD (datar, tegak, dan
diagonal).
3. [C,S] = wavedec2(X,N,'wname')
Mengembalikan dekomposisi wavelet dari matriks X pada tingkat N,
menggunakan wavelet yang disebutkan dalam string 'wname' (lihat
wfilters untuk informasi lebih lanjut). Output C, merupakan vektor
dekomposisi dan tabel matriks S. N harus bilangan bulat positif
14
4. MSE (Mean Square Error) dan PSNR (Peak Signal to Noise Ratio)
Blok PSNR menghitung rasio signal-to-noise puncak, dalam desibel,
antara dua gambar. Rasio ini sering digunakan sebagai pengukuran
kualitas antara asli dan gambar terkompresi. Semakin tinggi PSNR,
semakin baik kualitas dikompresi, atau gambar direkonstruksi. Mean
square error (MSE) dan Signal to Noise Ratio Puncak (PSNR) adalah dua
kesalahan metrik digunakan untuk membandingkan kualitas gambar
kompresi. MSE merupakan kuadrat kesalahan kumulatif antara kompresi
dan citra asli, sedangkan PSNR merupakan ukuran dari kesalahan puncak.
Semakin rendah nilai MSE, semakin rendah kesalahan. Untuk menghitung
PSNR tersebut, blok yang pertama menghitung kesalahan berarti-squared
menggunakan persamaan berikut:
ൌ∑ (ି) ǡ
כ…… (2.12)
Dalam persamaan 2.12, M dan N adalah jumlah baris dan kolom pada
gambar masukan, masing-masing. Kemudian blok menghitung PSNR
dengan menggunakan persamaan berikut:
ൌ ቀ
ቁ……(2.13)
Dalam persamaan 2.13, R adalah fluktuasi maksimum dalam jenis input
data gambar. Misalnya, jika gambar input memiliki ganda-presisi floating-
point data, maka R adalah 1. Jika memiliki 8-bit data integer jenis
unsigned, R adalah 255, dll
15
BAB III
METODA PENELITIAN, ALGORITMA DAN ANALISA
3.1 Materi Penelitian
Bahan penelitian yang digunakan pada penelitian ini antara lain:
- Literatur dari penelitian terdahulu sebagai pembanding, seperti yang telah diuraikan
pada keaslian penelitian dan kajian pustaka.
3.2 Alat Penelitian
Alat penelitian yang digunakan dalam penelitian ini terdiri dari :
- Komputer dengan spesifikasi cukup untuk menjalankan Matlab 2009
- Matlab R2009a
3.3 Jalan Penelitian
Penelitian ini akan dilakukan melalui beberapa tahap, antara lain sebagai yang
ditujukkan oleh diagram alir pada Gambar 3.1
Sehingga diterapkan eksperimen, yaitu :
Pendeteksian watermark, dengan menerapkan teori korelasi, menggunakan host grey
scale 8x8, adapun alur penelitiannya dilakukan seperti Gambar 3.1.
16
Gambar 3.1. Diagram Alir Metoda Penelitian
3.4. Tabel Permutasi (Munir dkk,2008)
Gambar 3.2. Diagram alir pembuatan table permutasi.
17
Dengan menginputkan nilai awal dan jumlah koefisien yang akan di embedkan pada
koefisien gambar Host, kita akan mendapatkan tabel yang akan digunakan untuk memutasi
koefisien dari watermark, diagram alirnya dapat dilihat pada Gambar 3.2
3.4.1. Membangkitkan logistic map ( nilai-nilai chaos)
Chaos diterapkan karena ia mempunyaikar karakteristik penting untuk meningkatkan
keamanan, yaitu sensitivitas pada kondisi awal. Chaos digunakan khususnya sebagai
pembangkit bilangan acak. Berdasarkan algoritma munir dkk dalam menentukan table
permutasi yang nantinya akan digunakan untuk memutasi koefisien-koefisien watermark.
Pertama diterapkan teori chaos seperti yang tertera pada persaamaan (3.1). Berikut ini
dicontohkan untuk mendapatkan table permutasi dengan N=16.
xi+1 = r xi (1-xi) ……………………………………..(3.1)
dengan x0 sebagai nilai awal iterasi. Konstanta r menyatakan laju pertumbuhan fungsi, yang
dalam hal ini 0 ≤ r ≤ 4. Dengan melakukan iterasi persamaan (3.1)
dari nilai awal x0 tertentu, kita memperoleh barisan nilai-nilai chaos. Nilai-nilai chaos
tersebut terletak di antara 0 dan 1 dan tersebar secara merata serta tidak
ada dua nilai yang sama. Karakteristik umum sistem chaos adalah kepekaannya
terhadap perubahan kecil nilai awal (sensitive dependence on initial condition). Kepekaan ini
berarti bahwa perbedaan kecil pada nilai awal fungsi, setelah fungsi diiterasi sejumlah kali,
akan menghasilkan perbedaan yang sangat besar pada nilai fungsinya (Munir, 2008).
Contoh berikut ditentukan dari x0 =0.5 ; r = 3.99 dan jika N=16, didapat : B[i] = X[i] =
0,9975 0,0100 0,0393 0,1507
0,5106 0,9971 0,0117 0,0462
0,1759 0,5784 0,9730 0,1050
0,3750 0,9351 0,2421 0,7322
18
3.4.2 Mendapatkan table permutasi (Algoritma RC-4)
Menurut Munir [2008] ada banyak cara untuk membangkitkan watermark privat dari
watermark publik yang saling berkorelasi satu sama lain. Salah satu cara adalah dengan
mempermutasikan elemen-elemen watermark publik. Sejumlah teknik permutasi yang ada
dapat digunakan untuk tujuan ini. Algoritma watermarking di dalam makalah ini
memodifikasi sebagian algoritma kriptografi RC4 untuk melakukan permutasi. Algoritma
RC4 termasuk ke dalam kelompok stream cipher. Inti algoritma RC4 adalah membangkitkan
kunci-aliran (keystream) yang kemudian di-XOR-kan dengan plainteks. Algoritma RC4
menggunakan larik S[0..255] yang diinisialisasi dengan 0, 1, 2, …, 255. Selanjutnya larik S
dipermutasi berdasarkan kunci eksternal U yang panjangnya variabel. Jika panjang U < 256,
maka dilakukan padding sehingga panjangnya menjadi 256 byte. Permutasi terhadap nilai-
nilai di dalam larik S dilakukan dengan cara sebagai berikut:
j ← 0
for i ← 0 to 255 do
j ← (j + S[i] + U[i]) mod 256
swap(S[i], S[j])
end
Algoritma permutasi di atas dimodifikasi untuk mempermutasikan watermark publik.
Misalkan panjang watermark adalah N, maka larik S[0..N] yang diinisialisasi dengan 0, 1, 2,
…, N – 1. U adalah sebuah larik integer sepanjang N yang elemen-elemennya dibangkitkan
dengan logistic map (nilai chaos yang riil terlebih dahulu dikalikan dengan N dan dibulatkan
ke integer terdekat). Selanjutnya permutasi terhadap nilai-nilai di dalam larik S dilakukan
dengan cara yang sama seperti potongan algoritma di atas kecuali 255 diganti dengan N.
Nilai-nilai di dalam larik S digunakan untuk mempermutasikan watermark public
19
(Munir,2008). Nilai chaos yang didapat berdasarkan teorema Chaos lalu dipetakan menyebar
sesuai logistic mapnya ke nilai integernya sebanyak N (contoh dengan N=16)
U[i] = [8 15 0 0 2 8 15 0 0 2 9 15 1 5 14 3]
Kemudian nilai pemetaan dari nilai chaos tersebut diolah menggunakan algoritma RC-4,
sehingga didapat table permutasi, yang nantinya akan digunakan untuk memutasi koefisien-
koefisien watermark. Tabel permutasi yang didapat tetap dijaga rahasia
S[i] = [14 11 5 10 6 8 9 15 3 16 1 12 7 4 13 2]
Gambar 3.3 menunjukkan dengan perubahan sedikita saja pada nilai awal, akan
mendapatkan table permutasi yang berbeda pula.
Pada gambar tersebut diambil tiga buah nilai awal x0 (B(0)) yang cukup berdekatan yaitu :
0.6000, 0.6100 dan 0.6200. Dengan memberikan nilai rasio sebesar r =3.999, maka didapat
hasil tiga buah table permutasi S yang berbeda-beda pula.
Gambar 3.3. Tiga table permutasi yang berbeda dari tiga nilai awal Chaos yang berbeda
20
Sedangkan pada experiment yang dilakukan digunakan harga N yang besarnya
tergantung seberapa banyak jumlah koefisien pada gambar host yang akan di sisipkan dan
nilai ambang dari koefisien dwt host tersebut. Dalam hal ini WM (watermark) disisipkan
pada koefisien dwt host >= 15. Adapun hasilnya tidak bisa ditampilkan di sini, karena terdiri
dari 4624 koefisien, (dari host yang digunakan).
3.5. Alur Penyisipan Watermark
Dari berbagai literature yang telah dipelajari, maka dicoba diimplementasikan system
penyisipan watermark berdasarkan apa yang telah diteliti oleh para peneliti yang
berkecimpung lama di bidang watermarking. Adapun algoritmanya diberi nama sesuai para
peneliti tersebut.
3.5.1. Algoritma I (Munir-Dugad)
Menggunakan Transformasi Wavelet dengan Daubechies 8-tap filter.
Skema algoritma I (Munir-Dugad), adalah sebagai berikut:
1. Citra ditransformasi DWT 3 level
2. Bagian LL band tidak dimodifikasi
3. Sisihkan semua koefisien yang lebih besar dari T1 dari HL (komponen horizontal), LH
(komponen vertical), HH (komponen diagonal) pada level 1, level2 dan level 3
4. Hitung jumlah koefisien tersebut (misalkan jumlahnya adalah N)
5. Watermark dibuat seukuran N, lalu ditranformasikan 1 level ke ranah DWT
6. Buat table permutasi mengikuti sub bab 3.4 sejumlah N.
7. Koefisien transformasi watermark lalu dimutasi mengikuti table permutasi yang telah
dibuat.
21
8. Watermark transformed termutasi disisipkan di sejumlah N koefisien dari koefisien
citra transformed pada HL, LH dan HH dari koefisien yang lebih besar dari T1 seperti
pada tahap 3, menggunakan formula 2.6
9. Transformasi balik hasil penyisipan tersebut untuk mendapatkan citra berwatermark
Dengan mengadopsi Algoritma Munir-Dugad didapat diagram alir seperti Gambar 3.4.
Gambar 3.4. Diagram Alir Algoritma munir-dugad
Pada algoritma seperti yang telah digambarkan pada Gambar 3.4 ini diterapkan pemutasian
koefisien watermark ala Munir dkk, dikombinasikan dengan penyisipan watermark ala Dugad
dkk. Hanya saja pada algoritma mereka watermark tidak pernah ditransformasikan untuk
kemudian disisipkan, di sini watermark ditransformasikan kemudian dimutasi lalu disisipkan
di domain transform, baru kemudian ditransformasi balik.
22
3.5.1.1. Contoh proses penerapan algoritma Munir-Dugad menggunakan citra 8x8
Untuk contoh ini diambil citra 8x8. Contoh ini diambil agar bisa dilihat jalannya proses dari
algoritma Munir-Dugad. Adapun watermark asal diambil 4x4.
Gambar 3.5. Koefisien host image X1 berukuran 8x8
Misalkan sebuah citra host 8x8, dinamakan X1. Jika citra tersebut diambil koefisien grey
scalenya akan didapat koefisien seperti yang terdapat pada Gambar 3.5.
Jika koefisien host dari Gambar 3.5. ditransformasi menggunakan transformasi wavelet
(daubechies) 1 level maka akan didapat hasil seperti tertera di Gambar 3.6, Pada level 1,
akan memiliki 4 (empat) komponen, yaitu LL1 (dinamakan cA1), HL1 (= cV1), LH1 (=cD1)
dan HH1 (= cH1), indeks 1 menggambarkan DWT level 1. Hasil transformasi yang
ditampilkan di sini adalah cD1, cH1, cV1 dari yang tertera seperti pada Gambar 3.6. Adapun
cA1 tidak ditampilkan,
Jika komponen cA1 (LL1) ditransformasikan lagi maka akan didapat cD2, cH2, dan cV2,
(seperti tertera pada Gambar 3.4 ) juga cA2 (tidak ditampikan). Demikian untuk mendapatkan
komponen level-3 DWT, cA2 tersebut ditransformasikan 1 level sehingga akan didapat cD3,
cH3 dan cV3, juga cA3. Untuk level-3 ini pun cA3 tidak ditampilkan, karena watermark
tidak akan disisipkan pada level tersebut. Sedangkan watermark akan disisipkan pada
elemen/koefisien yang lebih besar dari 15 dari komponen-komponen mulai level1, ke 2 dan
ke 3.
Adapun sintaks yang digunakan adalah :
23
[cA1,cH1,cV1,cD1] = dwt2(X1,'db1');[cA2,cH2,cV2,cD2] = dwt2(cA1,'db1');[cA3,cH3,cV3,cD3] = dwt2(cA2,'db1');
Gambar 3.6. Komponen transformasi wavelet level 1
Gambar 3.7. Komponen transformasi wavelet level 2
Gambar 3.8. Komponen transformasi wavelet level 3
Sebelum melakukan penyisipan, kita olah dahulu watermark yang akan disisipkan di X1
sesuai algoritma I. Untuk menentukan ukuran watermark kita perlu mengetahui dahulu
24
jumlah koefisien (dari hasil transformasi) yang lebih besar dari 15 (angka ini adalah pilihan,
kita boleh saja memilih angka yang lain, asalkan hasil penyisipannya masih sesuai dengan
image aslinya jika dikembalikan ke image awal), jumlah koefisien yang lebih besar dari 15
bisa dihitung dari apa yang tertera di Gambar 3.6, Gambar 3.7 dan Gambar 3.8, di sana
terlihat yang diberi warna kuning adalah koefisien yang lebih besar atau sama dengan 15 dan
dapat dihitung ternyata semuanya ada 12.
Adapun watermark, kita sebut saja Wr, berukuran 4x4, ukuran ini isinya ada 16 (tidak
sesuai dengan jumlah yang harus disisipkan, 12), tetapi karena suatu citra agar bisa di DWT
harus berukuran bujursangkar, √12 x √12 jadi kita bulatkan ke atas menjadi 4x4. Adapun
watermarknya diambil seperti Gambar 3.9.
Gambar 3.9. Koefisien watermark ukuran 4x4
Untuk memutasi watermark dibutuhkan tabel permutasi, dan tabel permutasi didapat
dari angka acak yang dibangkitkan dari teori chaos dengan r = 3.999 dan x0 = 0.5 (di dalam
program, x di beri nama B), didapat sebaran nilai chaos seperti pada Gambar 3.10, adapun
nilai chaos ini dinormalisir menjadi U(i) seperti tertera pada Gambar 3.11. Dengan algoritma
RC-4 maka akan didapat tabel permutasi S seperti Gambar 3.12. Urutan sesuai tabel S inilah
yang akan digunakan untuk memutasi Wr.
Gambar 3.10. Nilai yang dibangkitkan dari teori chaos
25
Gambar 3.11. Nilai sebaran dari nilai chaos yang telah dinormalisir ke mod 16
Gambar 3.12. Tabel permutasi S yang dijaga rahasia
Koefisien watermark Wr (pada Gambar 3.9) kemudian di DWT 1 level, sehingga didapat
seperti pada Gambar 3.13 (nilai transformasi yang hasinya merupakan deretan koefisien yang
memanjang, agar nantinya bisa dimutasikan menggunakan table S) yang dinamai Wp1,
adapun Ws adalah hasil mutasi berdasarkan table S ( Seperti yang tertera pada Gambar 3.14
Gambar 3.13. Nilai transformasi Wavelet dari Wr
Gambar 3.14. Hasil permutasi dari Wp1 berdasarkan tabel permutasi S
Hasil dari penyisipan watermark di ranah DWT
OutD merupakan hasil penyisipan watermark di ranah DWT, terlihat tadinya nilai
koefisiennya adalah yang kuning (karena yang dipilih lebih besar dari 15) setelah dilakukan
penyisipan nilainya menjadi yang hijau, pada Gambar 3.15.
26
Gambar 3.15. Perubahan koefisien akibat penyisipan WM pada komponen diagonal1 Agoritma I
Berikut ini akan diperiksa beberapa nilai yang didapat berdasarkan formula Dugad, (dengan
kekuatan watermark p = 0.001) dengan sintaks sebagai berikut :
“ outD(l,k)=cD1(l,k)+p*abs(cD1(l,k))*Ws(v); “
dan Ws(1)= -16.000 (dapat dilihat di table 3.10)
OutD (1,3) = 17.3390 + 0.001*17.3390*(-16.000) = 17.0615
Dengan cara yang sama kita bisa menghitung koefisien-koefisien lainnya
OutD(4,2) = 40.6095 + 0.001*40.6095*355.7500 = 55.0563;
Dan (Ws(2) = 355.7500)
OutD(1,3) = 15.9494 + 0.001*15.9494*32.2500 = 16.4638;
Dan (Ws(3) = 32.2500)
Adapun untuk komponen horizontal outH yang dikembangkan dari cH1 tidak mengalami
perubahan, karena pada komponen ini tidak ditemukan koefisien yang lebih besar atau sama
dengan 15. Seperti yang tercantum pada Gambar 3.16
27
Gambar 3.16 Perubahan koefisien pada komponen horizontal level1 algoritma I
Pada komponen vertical (cV1) seperti pada Gambar 3.17 terdapat 5 perubahan nilai koefisien
pada (1,2), (3,2), (2,3), (3,3) dan (4,,2)
Gambar 3.17 Perubahan koefisien pada komponen vertikal level1 algoritma I
Kita ambil contoh komponen vertical (2,4)
OutV(2,4) = 30.9941 + 0.001*30.9941*80.500 = 33,4891
Pada komponen ini digunakan Ws(8), karena dia terhitung sebagai koefisien ke 8 yang
mengalami penyisipan.
Yang dapat disisipi pada komponen level 2, seperti pada Gambar 3.18, terdapat 3 koefisien
yang berubah (yang lebih besar atau sama dengan 15).
28
Gambar 3.18 Komponen-komponen pada level2 algoritma I
Adapun rinciannya adalah sebagai berikut :
Ws(9)= 93, disisipkan di cD2(2,1),
OutD2(2,1) = 30.4047 + 0.001*30.4047*93 = 33.2324
Ws(10) = -29.00, disisipkan di cV2(1,1),
OutV2(1,1) = 15,3575 + 0.001* 15,3575*(- 29.00) OutV2(1,1) = 14.9121
Pada komponen horizontal level 2 tidak terdapat koefisien yang harus disisipi.
Ws(11) = -37.500; cV2(1,2),
OutV2(1,2) = 84.9316 + 0.001*84.9316*(-37.500) = 81,7467
Gambar 3.19 Komponen-komponen pada level3 algoritma I
Yang mengalami perubahan ada 1 koefisien yaitu pada komponen vertical level 3, seperti
yang terdapat pada Gambar 3.19
Ws(12) = 65.500 ; cV3(1,1), sehingga
OutV3(1,1) = 192.5440 + 0.001*192.5440*65.5 = 205.1557
29
Pengembalian koefisien yang telah disisipi ke citra berwatermark (IDWT)
Pada tahap ini semua koefisien tersebut dikembalikan ke citranya sehingga berlebel citra
berwatermark, dengan meng inverse kan semua koefisien yang telah disisipi watermark
dengan menerapkan IDWT2, adapun sintaksnya adalah sebagai berikut:
X3 = idwt2(cA3,outH3,outV3,outD3,'db1');X2 = idwt2(X3,outH2,outV2,outD2,'db1');X0 = idwt2(X2,outH,outV,outD,'db1');
Adapun koefisien yang dihasilkan adalah seperti yang tercantum pada Gambar 3.20.:
Gambar 3.20. Rekonstruksi hasil penyisipan dengan fungsi IDWT algoritma I
X3 adalah rekonstruksi dari komponen level-3, di sini terbentuk 2x2 dari 1x1
X2, rekonstruksi komponen level-2, terbentuk 4x4 dari 2x2.
X0 rekonstruksi komponen level-1, terbentuk 8x8 dari 4x4.
Terlihat dari Gambar 3.20 dibandingkan terhadap Gambar 3.5 ada selisih pada koefisien-
koefiennya, selisih ini akibat adanya penyisipan watermark, meskipun demikian hal ini tidak
30
akan mempengaruhi persepsi mata. Hasil pengolahan citra berwatermark ditunjukkan oleh
Gambar 3.21.
Setelah dihitung psnr citra terwatermark ternyata nilainya adalah 40.1703. Nilai ini jelas
imperceptible
Gambar 3.21 Hasil pengolahan untuk host 8x8 algoritma I
3.5.2. Algoritma II (Munir-Maimon)
Dengan mengadopsi Algoritma Maya Maimon (1998), prosesnya hampir mirip dengan
algoritma I (Munir-Dugad). Formula penyisipan diganti dengan formula yang diajukan oleh
Maimon.
Skema algoritma I (Munir-Maimon), adalah sebagai berikut:
1. Citra ditransformasi DWT 3 level
2. Bagian LL band tidak dimodifikasi
3. Sisihkan semua koefisien yang lebih besar dari T1 dari HL (komponen horizontal), LH
(komponen vertical), HH (komponen diagonal) pada level 1, level2 dan level 3
4. Hitung jumlah koefisien tersebut (misalkan jumlahnya adalah N)
5. Watermark dibuat seukuran N, lalu ditranformasikan 1 level ke ranah DWT
gambar awal
2 4 6 8
2
4
6
8
gambar berwatermark
2 4 6 8
2
4
6
8
watermark
1 2 3 4
1
2
3
4
watermark termutasi
1 2 3 4
1
2
3
4
31
6. Buat table permutasi mengikuti sub bab 3.4 sejumlah N.
7. Koefisien transformasi watermark lalu dimutasi mengikuti table permutasi yang telah
dibuat.
8. Watermark transformed termutasi disisipkan di sejumlah N koefisien dari koefisien
citra transformed pada HL, LH dan HH dari koefisien yang lebih besar dari T1 seperti
pada tahap 3, menggunakan formula 2.9
9. Hasil penyisipan tersebut kemudian ditransformasi balik untuk mendapatkan citra
berwatermark.
Gambar 3.22 berikut menggambarkan diagram alir skema Munir-Maimon.
Gambar 3.22. Diagram alir algoritma munir-maimon
Pada algoritma seperti Gambar 3.22 ini penyisipan yang dilakukan hampir sama dengan
Gambar 3.3. Hanya saja disini ada tambahan kuadrat (square) dari koefisien pengali
watermarknya.
32
3.5.2.1. Contoh proses penerapan algoritma Munir-Maimon menggunakan citra 8x8.
Citra yang digunakan pada contoh algoritma ini sama dengan pada algoritma Munir-
Dugad yaitu seperti yang tertera pada Gambar 3.5. Sehingga hasil transformasi waveletnya
akan sama dengan Gambar 3.6, 3.7 dan 3.8. Penyisipan pun dilakukan pada koefisien yang
lebih besar atau sama dengan 15. Dengan demikian ukuran watermarknya juga sama yaitu
4x4, seperti yang tertera pada Gambar 3.9. Dan karena nilai awal dari logistic map chaosnya
adalah sama yaitu 0,5 dan dengan r = 3,999, maka didapat table permutasi S yang sama
dengan Gambar 3.12. Sama seperti pada algoritma sebelumnya, gambar ini akan digunakan
untuk memutasi hasil dari transformasi wavelet watermark (Ws), yang nantinya akan
disisipkan pada Host (Ws, seperti pada Gambar 3.14). Karena formula untuk penyisipan pada
algoritma II ini digunakan seperti pada flowchart, milik Maimon, maka berikut ini akan
ditunjukkan perubahan yang terjadi pada komponen-komponen transformasinya.
Gambar 3.23 Perubahan koefisien pada komponen diagonal level1 algoritma II
Pada Gambar 3.23, kita ditunjukkan :
Ws(1) = -16.000, untuk cD1 (1,3) akan disisipkan seperti pada algoritma II
Dalam hal ini:
outD(1,3) = 17,3390 + 0.00001* 17,3390^2*(-16,000) = 17,2909
33
Ws(2) = 355,7500 disisipkan pada cD1(2,4)
outD(2,4) = 40,6095 + 0,00001*40,6095^2*355,7500 = 46,4763
Ws(3) = 32,500 disisipkan pada cD1(3,1)
outD(3,1) = 15,9494 + 0,00001*15,9494^2*32,500 = 16,0314
Gambar 3.24 Perubahan koefisien pada komponen horizontal level1 algoritma II
Pada komponen horizontal tidak terdapat koefisien >= 15, jadi tidak ada perubahan pada
outH nya.
Sedangkan pada komponen vertical terjadi 5 buah perubahan nilai koefisien, seperti yang
tercantum pada Gambar 3.25 yaitu :
Gambar 3.25 Perubahan koefisien pada komponen vertikal level1 algoritma II
34
Ws(4) = 5,500 disisipkan pada cV1(1,2)
outV(1,2) = 27,6033 + 0,00001*27,6033^2*5,500 = 27,6452
Ws(5) = 32,7500 disisipkan pada cV1(2,3)
outV(2,3) = 25,1321 + 0,00001*25,1321^2*32,7500 = 25,3390
Ws(6) = 61,500 disisipkan pada cV1(3,2)
outV(3,2) = 41,9014 + 0,00001*41,9014^2*61,500 = 42,9812
Ws(7) = -21,500 disisipkan pada cV1(3,3)
outV(3,3) = 17,6769 + 0,00001*17,6769^2*(-21,500) = 17,6097
Ws(8) = 80,500 disisipkan pada cV1(4,2)
outV(4,2) = 30,9941 + 0,00001*30,9941^2*(80,500) = 31,7674
Sedangkan pada komponen wavelet level 2 terjadi 3 perubahan nilai koefisien, seperti
yang terdapat pada Gambar 3.26 yaitu :
Gambar 3.26 Perubahan koefisien pada komponen wavelet level2 agoritma II
Ws(9) = 93 disisipkan pada cD2(1,2)
outD2(1,2) = 30,4047 + 0,00001*30,4047 ^2*93 = 31,2645
Ws(10) = -29,000disisipkan pada cV2(1,1)
outV2(1,1) = 15,3575 + 0,00001*15,3575^2*(-29,000) = 15,2891
Ws(11) = -37,500 disisipkan pada cV2(2,1)
outV2(2,1) = 84,9316 + 0,00001*84,9316^2*(-37,500) = 82,2266
35
Gambar 3.27 Perubahan koefisien pada komponenwavelet level 3 algoritma II
Untuk komponen level 3 hanya terdapat 1 buah perubahan, dapat dilihat di Gambar 3.27,
yaitu :
Ws(12) = 65,500 disisipkan pada cV3(2,1)
outV2(2,1) = 192,5440 + 0,00001*192,5440 ^2*(65,500) = 216,8270
Hasil Inverse DWT nya seperti pada Gambar 3.28
Gambar 3.28 Hasil Rekonstruksi setelah dilakukan penyisipan algoritma II
Hasil pengolahan Citranya adalah seperti pada Gambar 3.29 berikut
36
Gambar 3.29 Hasil pengolahan untuk host 8x8 pada algoritma II
Untuk algoritma II ini didapat psnr citra terwatermark = 38.1720
3.5.3 Agoritma III (Munir-Dugad-Gui)
Skema untuk algoritma III diuraikan sebagai berikut :
1. Citra ditransformasi DWT 3 level
2. Bagian LL band tidak dimodifikasi
3. Sisihkan semua koefisien yang lebih besar dari T1 dari HL (komponen horizontal), LH
(komponen vertical), HH (komponen diagonal) pada level 1, level2 dan level 3
4. Hitung jumlah koefisien tersebut (misalkan jumlahnya adalah N)
5. Watermark dibuat seukuran N, lalu ditranformasikan 1 level ke ranah DWT
6. Buat table permutasi mengikuti sub bab 3.4 sejumlah N.
7. Koefisien transformasi watermark lalu dimutasi mengikuti table permutasi yang telah
dibuat.
8. Hitung watermark privat ws mengikuti skema Gui yaitu sesuai dengan formula 2.11
gambar awal
2 4 6 8
2
4
6
8
gambar berwatermark
2 4 6 8
2
4
6
8
watermark
1 2 3 4
1
2
3
4
watermark termutasi
1 2 3 4
1
2
3
4
37
9. Watermark privat disisipkan di sejumlah N koefisien dari koefisien citra transformed
pada HL, LH dan HH dari koefisien yang lebih besar dari T1 seperti pada tahap 3,
menggunakan formula 2.9
10. Hasil penyisipan tersebut kemudian ditransformasi balik untuk mendapatkan citra
berwatermark.
Skema di atas jika dituangkan kedalam bentuk flowchart didapat diagram seperti gambar
3.30
Gambar 3.30. Diagram alir algoritma Munir-Dugad-Gui
Pada algoritma kali ini, watermark yang akan disisipkan adalah hasil kombinasi antara
watermark public dengan watermark yang telah dimutasi. Pada pengkombinasiannya
38
diterapkan pembobot untuk watermark public. Hal ini ditujukan agar watermark public tidak
seluruhnya ada pada watermark yang disisipkan. Dengan mengkombinasi dengan watermark
termutasi, diharapkan keamanan dari watermark lebih terjaga.
3.5.3.1. Contoh proses penerapan algoritma III (Munir-Dugad-Gui) menggunakan citra
8x8.
Semua proses dilakukan sama dengan ke dua algoritma sebelumnya (algoritma I dan
II). Hanya saja beberapa hal yang berbeda akan dibahas di sini,
Semua proses dilakukan sama seperti pada algoritma I, di sini kita kembangkan
watermarknya dengan menerapkan ide Gui tentang pengkombinasian watermark publik
dengan watermark termutasi (watermark privat). Sintaks nya adalah:
b = 0.3;We = (1 - b)*Ws + b*Wp;
Dan : b = bobot watermark public
We = watermark yang akan disisipkan
Ws = watermark termutasi, disebut juga dengan watermark privat
Wp = watermark public
Gambar 3.31 Koefisien We berdasarkan Watermark termutasi dan watermark public
Berdasarkan Gambar 3.31, yang akan dianalisa 3 contoh koefisien saja dengan bobot
watermark public = 0,3
39
We(1) = (1-0,3)*(-16,0000) + 0,3*69 = 9,5000
We(6) = 0,7*61,5000 + 0,3*128 = 81,45
We(12) = 0,7*65,5 + 0,3*49 = 60,55
Berikut ini akan diperlihatkan Gambar 3.32 dan terjadi perubahan koefisien karena
penyisipan dari watermark kombinasi We
.
Gambar 3.32 Perubahan koefisien pada komponen level 1 algoritmaIII
40
Diambil 3 contoh koefisien dari komponen level1 (seperti pada Gambar 3.32), untuk
diperiksa perubahannya mengikuti formula sesuai algoritma III, yaitu :
We(2) = 280,2250 ; outD(2,4) = 40,6095 + 0,001*40,6095*280,2250 = 51,9893
We(4) = 23,0500 ; outV(1,2) = 27,6033 + 0,001*27,6033*23,0500 = 28,2395
We(7) = 26,6500 ; outV(3,3) = 17,6769 + 0,001*17,6769*26,6500 = 18,1480
Untuk komponen pada level2 diambil 2 contoh koefisien (dari Gambar 3.33)
Gambar 3.33 Perubahan koefisien pada komponen level 2 algoritma III
We(9) = 101,4 ; outD2(1,2) = 30,4047 + 0,001*30,4047*101,4 = 38,4878
We(11) = 16,35 ; outV2(2,1) = 84,9316 + 0,001*84,9316*16,35 = 86,3202
Pada komponen level3 (Gambar 3.34) menyisakan 1 kofisien yang akan dianalisa.
Gambar 3.34 Perubahan koefisien pada komponen level 3
We(12) = 60,55 ; outV3(1,1) = 192,5440 + 0,001*192,5440*60,55 = 204,2026
Demikian bagaimana terjadinya perubahan nilai koefisien Host setelah disisipi
watermark kombinasi antara watermark public dan watermark termutasi.
41
Gambar 3.35 memperlihatkan Inverse DWT dari hasil penyisipan :
Gambar 3.35 Hasil Rekonstruksi setelah dilakukan penyisipan pada Algoritma III
Adapun difference antara citra awal dan citra berwatermark adalah sebagai berikut (seperti
yang tercantum pada Gambar 3.36)
Gambar 3.36 Difference antara Host dan citra berwatermark Algoritma III
Karena kekuatan watermark sangat kecil (p = 0,001), differencenya pun menjadi kecil, jika
ditransformasikan ke bentuk citra, hasilnya semuanya hitam.
Sedangkan citra yang dihasilkan dari inverse DWT seperti Gambar 3.37. Nilai psnr citra
terwatermark adalah 41,47.
42
Gambar 3.37. Hasil pengolahan citra dari algoritma III.
Berikut ini akan di perlihatkan pengaruh bobot watermark public terhadap citra
berwatermark. Ternyata jika bobot watermark diubah-ubah ,maka psnr terwatermark pun
berubah, ini dikarenakan koefisien dipengaruhi oleh watermark yang nilainya pun berubah.
Nilai psnr terwatermark citra terwatermark pada algoritma III ini, akan mencapai nilai
maksimum pada bobot 0.6, (kekuatan watermark p = 0,001). Dapat dilihat pada table 3.1
b (bobot watermark) 0 0,2 0,4 0,6 0,8 1,0
psnr citra
terwatermark
40.1703 41.0930 41.7582 42.0049 41.7586 41.0935
Tabel 3.1. Pengaruh bobot watermark public terhadap psnr citra tcitra berwatermark berdasarkan algoritma III
Tentu saja citra watermark termutasi nya pun berubah mengikuti perubahan bobotnya. Hal ini
ditunjukkan pada Gambar 3.38 sampai dengan Gambar 3.40. Gambar 3.36, untuk b = 0 ;
Gambar 3.8, b = 0.2 ; Gambar 3.10, b = 0.4 ;
gambar awal
2 4 6 8
2
4
6
8
gambar berwatermark
2 4 6 8
2
4
6
8
watermark
1 2 3 4
1
2
3
4
watermark termutasi
1 2 3 4
1
2
3
4
43
Gambar 3.38, untuk b = 0.6; Gambar 3.11, b = 0.8 ; Gambar 3.12, b = 1.0.
Terlihat bahwa semakin bobot mendekati 1(satu), maka watermark termutasi We nya pun
semakin mendekati bentuk watermark public Wp.
Gambar 3.38. Perbandingan watermark dengan watermark termutasi pada b = 0
Gambar 3.39. Perbandingan watermark dengan watermark termutasi pada b = 0.2
Gambar 3.40. Perbandingan watermark dengan watermark termutasi pada b = 0.4
watermark
1 2 3 4
0.5
1
1.5
2
2.5
3
3.5
4
4.5
watermark termutasi
1 2 3 4
0.5
1
1.5
2
2.5
3
3.5
4
4.5
watermark
1 2 3 4
0.5
1
1.5
2
2.5
3
3.5
4
4.5
watermark termutasi
1 2 3 4
0.5
1
1.5
2
2.5
3
3.5
4
4.5
watermark
1 2 3 4
0.5
1
1.5
2
2.5
3
3.5
4
4.5
watermark termutasi
1 2 3 4
0.5
1
1.5
2
2.5
3
3.5
4
4.5
44
Gambar 3.41, 3.42 dan 3.43 menunjukkan perubahan menuju bentuk watermark public.
Gambar 3.41. Perbandingan watermark dengan watermark termutasi pada b = 0.6
Gambar 3.42. Perbandingan watermark dengan watermark termutasi pada b = 0.8
Gambar 3.43. Perbandingan watermark dengan watermark termutasi pada b = 1.0
watermark
1 2 3 4
0.5
1
1.5
2
2.5
3
3.5
4
4.5
watermark termutasi
1 2 3 4
0.5
1
1.5
2
2.5
3
3.5
4
4.5
watermark
1 2 3 4
0.5
1
1.5
2
2.5
3
3.5
4
4.5
watermark termutasi
1 2 3 4
0.5
1
1.5
2
2.5
3
3.5
4
4.5
watermark
1 2 3 4
0.5
1
1.5
2
2.5
3
3.5
4
4.5
watermark termutasi
1 2 3 4
0.5
1
1.5
2
2.5
3
3.5
4
4.5
45
Terlihat watermark termutasi mulai membentuk watermark public, dengan naiknya bobot
watermark public.
3.5.4. Algoritma IV (Munir-Maimon-Gui)
Dengan mengadopsi Pengendalian watermark publik Gui (2005) digabung dengan konsep
Maya Maimon, skema algoritma III diganti formula penyisipannya mengikuti formula
maimon, didapat diagram alir seperti yang diitunjukkan pada Gambar 3.44.
Gambar 3.44. Diagram alir agoritma munir-maimon-gui
46
Diagram ini mengkombinasi algoritma pada Gambar 3.22 dengan metoda pembobotan untuk
watermark publik Gui
3.5.4.1. Contoh proses penerapan algoritma IV (Munir-Maimon-Gui) menggunakan
citra 8x8.
Pada algoritma ini tentu saja prosesnya sama seperti yang terdapat dalam ketiga
algoritma sebelumnya. Karena pada algoritma ini terdapat square pada penyisipannya, maka
kekuatan watermark harus dikecilkan dalam hal ini p diambil bernilai 0,00001. Adapun hasil
pengolahan citranya adalah seperti pada Gambar 3.45
Gambar 3.45 Hasil pengolahan citra pada Algoritma Munir-Maimon-Gui
Jika kekuatan watermark dinaikkan, maka nilai psnr terwatermark citra terwatermark akan
menurun, hal ini dikarenakan pengaruh square membuat nilai hasil penyisipan semakin jauh
dari nilai koefisien awalnya, hal ini akan membuat citra berubah jauh, dan akan nampak jelas
perbedaannya (tidak imperceptible). Tabel 3.2 akan memperlihatkan pengaruh kekuatan
gambar awal
2 4 6 8
2
4
6
8
gambar berwatermark
2 4 6 8
2
4
6
8
watermark
1 2 3 4
1
2
3
4
watermark termutasi
1 2 3 4
1
2
3
4
47
watermark terhadap nilai psnr terwatermark citra terwatermarknya pada algoritma Munir-
Maimon-Gui (algoritma IV)
p = (kekuatan
watermark)
0.1 0.01 0.001 0.0001 0.00001 0.000001
psnr citra
terwatermark
-40.4997 -20.4997 -0.4997 19.5003 39.5003 59.5003
Tabel 3.2. Pengaruh kekuatan watermark terhadap psnr terwatermark citra berwatermark untuk algoritma IV
Bobot watermark public yang diterapkan untuk citra Gambar 3.14, b = 0.6. Didapat psnr
terwatermark citra terwatermark = 39,5003. Berikut ini akan dibandingkan pengaruh bobot
watermark public terhadap psnr terwatermark citra terwatermark, ditunjukkan pada table 3.3
b (bobot watermark) 0 0,2 0,4 0,6 0,8 1,0
psnr terwatermark
citra terwatermark
38.1720 38.7084 39.1630 39.5003 39.6878 39.7048
Tabel 3.3. Pengaruh bobot watermark public terhadap psnr terwatermark citra berwatermark untuk algoritma IV
Untuk memperlihatkan pengaruh kekuatan watermark, pada Gambar 3.46 sampai
Gambar 3.51 terlihat bagaimana citra berwatermark sangat berubah jauh dari citra Hostnya.
Gambar 3.46 dan Gambar 3.47 dengan p = 0,1 dan p = 0,01, didapat citra berwatermark yang
sama, walau pun jika dihitung nilai psnr terwatermark citra terwatermark nya jauh berbeda.
48
Gambar 3.46. Kekuatan Watermark p = 0.1, psnr citra terwatermark = -40,4997
Gambar 3.47. Kekuatan Watermark p = 0.01, psnr citra terwatermark = -20,4997
Dengan terus menaikkan kekuatan watermark, contohnya pada Gambar 3.46, dan nilai
p = 0.001, citra mulai berubah dari bentuk seperti ke dua citra pada kekuatan yang lebih kecil.
Gambar 3.48. Kekuatan Watermark p = 0.001, psnr citra terwatermark = -0,4997
Pada p = 0.0001, citra mulai terlihat bentuknya, walaupun ini tentu saja hanya
persepsi visual (Gambar 3.49). Semakin dinaikkan kekuatan watermark, keabuan
citra berwatermark mulai mendekati citra Host (Gambar 3.50 dan Gambar 3.51)
49
Gambar 3.49. Kekuatan Watermark p = 0.0001, psnr citra terwatermark = 19.5003
Gambar 3.50. Kekuatan Watermark p = 0.00001, psnr citra terwatermark = 39.5003
Gambar 3.51. Kekuatan Watermark p = 0.000001, psnr terwatermark citra terwatermark = 59.5003
50
BAB IV
KESIMPULAN
Kesimpulan :
1. Algoritma RC-4 lebih membuat nilai normalisasi chaos untuk watermark lebih menyebar.
2. Nilai bobot watermark public dan privat, juga menentukan imperceptible citraterwatermark
3. PSNR dari citra terwatermark terhadap citra asli sangat ditentukan oleh bobot watermark.Semakin kecil bobotnya, semakin besar PSNR citra terwatermarknya.
4. Nilai PSNR di kisaran lebih besar dari 35, menunjukkan bahwa citra terwatermarkimperceptible (relative tidak terlihat perubahan citra secara kasat mata)
51
DAFTAR PUSTAKA
1. Choi H, Lee K, dan Kim T (2004). Transformed-Key Asymmetric Watermarking
System, IEEE Signal Processing Letters, Vol. 11. No. 2, [February 2004]
2. Dugad R., Ratakonda K., and Ahuja N. (1998) A New Wavelet-Based Scheme for
Watermarking Images, Proceedings of 1998 International Conference on Image
Processing Vol. 2, Chicago, IL, October 4-7, 1998
3. Fu Y, Shen R, Shen L (2004) A Novel Asymmetric Watermarking Scheme, Proc. Of
3rd Int. Conf. on Machine Learning and Cybernetics.
4. Gui G, Jiang L(2005). A Robust Asymmetric Watermarking Schme Using Multiple
Public Watermarks, IEICE Trans. Fundamentals, Vol. E88- A, No. 7 [Juli 2005]
5. Gui G, Jiang L(2006). A New Asymmetric Watermarking Scheme for Copyright
Protection, IEICE Trans. Fundamentals, Vol. E89-A, No. 2 [February 2006]
6. Liu, Ruizhen. and Tan, Tieniu. (2002) An SVD based watermarking scheme for
protecting 14 rightful ownership. IEEE Transactions on Multimedia. Vol. 4. No.1.
7. Maimon Maya, Watermarking using wavelets, Wavelets seminar 1999
8. Munir R, Riyanto B, Sutikno S dan Wiseto P (2008) Metoda asymmetric
Watermarking pada Citra Digital Berbasiskan pada Permutasi RC-4 dan Fungsi
Chaos, Seminar On Intelligent Technology and Its Application.
9. Parameswaran Latha, and Anbumani K. (2007), A Content Based Image
Watermarking Scheme Resilient to Geometric Attacks, International Journal of
Electrical and Computer Engineering 2:2 2007
10. Supangkat Suhono H., Kuspriyanto, Juanda (2000). Watermarking sebagai Teknik
Penyembunyian Label Hak Cipta pada Data Digital, TEKNIK ELEKTRO, Vol. 6,
No. 3, 2000.
11. Schneier, Bruce, (1996) Applied Cryptography 2nd, John Wiley & Sons, 1996