35
BAB III PERANCANGAN SISTEM
3.1 Gambaran Umum Sistem
Perancangan akan diimplementasikan pada pembuatan aplikasi yang dinamakan “IMARK”. Sistem pada dasarnya ditujukan untuk proteksi hak cipta citra
digital. Pada sistem ini otentikasi membutuhkan citra asli sehingga dikategorikan ke dalam blind watermarking. Sistem yang dirancang terdiri dari dua modus yaitu
modus sisip dan modus ekstrak. Modus sisip bertujuan untuk menyisipkan watermark
ke dalam citra, sedangkan modus ekstrak bertujuan untuk mengekstrak watermark
dari dalam citra. Dalam aplikasi ini citra yang digunakan terbatas dengan ukuran minimal
256x256 piksel dan maksimal 1024x768. Format citra yang digunakan adalah BMP. Terdapat dua buah tipe BMP, yaitu: BMP keluaran Microsoft dan OS2. Format
BMP yang digunakan dalam tugas akhir ini adalah format dari Microsoft..
3.2 Program Utama
Secara umum, aplikasi dijalankan dalam diagram alir yang ditunjukkan pada Gambar 3.1. Sistem pertama kali meminta user memasukkan pilihan modus.
Pada modus sisip, user akan memasukkan citra asli yang akan diberi watermark
. Proses Hammcod meminta user memasukkan kode yang berupa password
yang terdiri dari 5-8 karakter. Hasil proses Hammcod yang berupa bit watermark
akan disisipkan pada citra melalui proses Wavsisip. Citra ber-watermark
Universitas Sumatera Utara
36 hasil proses Wavsisip akan dihitung nilai PSNRnya melalui proses hitung PSNR
untuk mengetahui kualitas citra yang dihasilkan.
Gambar 3.1
Diagram alir program utama. Pada modus ekstrak, user diminta memasukkan citra asli yang ber-watermark
dan citra uji. Melalui proses Wavekstrak, watermark pada citra uji diekstrak dan kemudian dibandingkan dengan watermark pada citra asli. Proses Corr akan
menghitung tingkat korelasi correlation watermark yang sedang dibandingkan.
3.3 Sisip
3.3.1 Pilih citra
Citra yang akan diberi watermark adalah citra berformat bitmap dengan ukuran yang telah ditentukan.
Universitas Sumatera Utara
37
3.3.2 Hammcod
Diagram alir proses Hammcod ditunjukkan pada Gambar 3.2.
Gambar 3.2
Diagram alir Hammcod Pada proses ini, password yang dimasukkan oleh user terbatas pada huruf dan
angka yang disimpan dalam variabel s. Password terlebih dahulu diubah ke bilangan desimal kemudian diubah lagi ke bilangan biner yang menghasilkan bit-bit password.
Setiap satu karakter password menghasilkan 8 bit bilangan biner. Selanjutnya bit-bit password
akan dibagi dua sehingga setiap bagian terdiri dari 4 bit. Kemudian dari 4 bit tersebut akan dikodekan menjadi 8 bit menggunakan pengkodean Hamming 8,4.
Selanjutnya kode Hamming diubah ke dalam bentuk sebuah urutan sequence bilangan bipolar w1…wL dengan mengubah nilai 0 pada kode Hamming menjadi
-1, yang mana L adalah panjang kode Hamming dan
{ }
1 ,
1 −
∈ k
w
dengan
Universitas Sumatera Utara
38 k=1,….,L. Proses ini menghasilkan bit watermark yang disimpan dalam variabel
hcs . Proses pengkodean ditunjukkan pada Gambar 3.3.
Gambar 3.3
Diagram alir proses pengkodean
3.3.3 Wavsisip
Proses wavsisip dimulai dengan membaca citra asli yang akan disisipkan watermark. Komponen warna RGB pada citra dipisah menjadi komponen warna R, G, dan B.
Kemudian dilanjutkan dengan proses dekomposisi pada komponen warna G. Diagram alir proses Wavsisip ditunjukkan pada Gambar 3.3.
Dekomposisi dilakukan dengan menggunakan wavelet Daubechies pada persamaan 2.5 dan 2.6. Dengan memperlakukan citra sebagai sinyal, koefisien warna
pada citra dikalikan dengan keofisien lowpass filter dan highpass filter untuk memperoleh sinyal aproksimasi dan sinyal detil. Pada Matlab, proses ini dilakukan
oleh fungsi wavedec2.
Universitas Sumatera Utara
39
Gambar 3.3
Proses wavsisip Pada komponen warna G dilakukan dekomposisi sampai 4 level.
Dekomposisi dilakukan oleh baris sintaks berikut:
dwtmodeper; Dekomposisi citra dengan wavelet sebanyak 4 level
[cg,sg]=wavedec2g,4,db4;dekomposisi pada komponen G
Proses dekomposisi dilakukan untuk menghasilkan koefisien detil yang disimpan dalam variabel cg. Penyisipan dilakukan pada matriks horizontal, vertikal,
dan diagonal dari koefisien detil cg. Untuk memperoleh matriks tersebut, keofisien cg
diekstrak dengan menggunakan baris sintaks berikut:
ekstrak keofisien detail horizontal, vertikal, dan diagonal [cgh4,cgv4,cgd4] = detcoef2all,cg,sg,4;
highg=cgl+1:end;tetapkan matriks yang akan disisipkan
Universitas Sumatera Utara
40 Ketiga matriks tersebut disatukan, diubah ke bentuk vektor baris dan
disimpan dalam variabel highg. Proses penyisipan dilakukan dengan menggunakan metode penambahan additive dengan rumus sebagai berikut:
L k
k hcs
n m
f alpha
n m
f n
m f
... 1
, ,
. ,
, =
+ =
………3.18
, n
m f
adalah keofisien matriks hasil penyisipan,
, n
m f
adalah koefisien sebelum penyisipan,
k hcs
adalah watermark, L adalah panjang watermark dan alpha adalah faktor pengontrol tingkat intensitas watermark yang disisipkan. Watermark
disisipkan pada seluruh elemen vektor highg. Proses rekonstruksi wavelet dilakukan dengan menggunakan persamaan 2.8
pada vektor highg. Pada Matlab, persamaan 2.8 dilakukan oleh fungsi waverec2. Dari hasil rekonstruksi diperoleh komponen warna G yang sudah memiliki
watermark . Selanjutnya komponen tersebut disatukan kembali dengan komponen R
dan B untuk menghasilkan citra ber-watermark.
3.3.4
Hitung PSNR
Perhitungan PSNR dilakukan pada citra iw1dan iw2 untuk mengetahui kualitas citra hasil penyisipan. Komponen RGB pada masing-masing citra dipisah
menjadi R, G, dan B. Kemudian dilakukan perhitungan RMSE untuk setiap komponen warna. Dari hasil perhitungan diambil nilai rata-ratanya. Selanjutnya
dilakukan perhitungan nilai PSNR berdasarkan nilai rata-rata yang telah diperoleh. Diagram alir proses perhitungan PSNR ditunjukkan pada Gambar 3.4.
Universitas Sumatera Utara
41
Gambar 3.4
Diagram alir Hitung PSNR
3.4 Ekstrak
3.4.1 Wavekstrak
Proses ini meminta input citra uji yang sudah memiliki watermark dan citra asli yang ber-watermark. Komponen warna G pada kedua citra didekomposisi
menggunakan wavelet Daubechies untuk memperoleh koefisien detil. Proses ekstraksi watermark dilakukan dengan membandingkan koefisien detil
hasil dekomposisi kedua citra dengan koefisien detil citra asli pada saat penyisipan menggunakan rumus berikut:
, ,
, ,
n m
f alpha
n m
f n
m f
n m
w −
=
…..3.19
, n
m f
adalah matriks koefisien dekomposisi citra uji,
, n
m f
adalah matriks koefisien dekomposisi citra asli, m,n adalah dimensi citra
Universitas Sumatera Utara
42 Diagram alir wavekstrak ditunjukkan pada gambar 3.5.
Gambar 3.5
Diagram alir proses wavekstrak Hasil ekstrak watermark dari kedua citra direkonstruksi kembali menjadi komponen
warna G menggunakan fungsi waverec2 pada Matlab. Selanjutnya komponen warna ini digabungkan untuk membentuk citra watermark yang disimpan dalam variabel
iw1 dan iw2.
3.4.2 Corr
Proses perhitungan corr korelasi dimulai dengan membaca citra watermark iw1
dan iw2. Perhitungan corr bertujuan untuk mengetahui tingkat kemiripan
Universitas Sumatera Utara
43 watermark
pada citra asli dengan watermark pada citra uji. Perhitungan correlation dilakukan dengan menggunakan rumus berikut:
2 2
2 1
2 1
2 ,
1 iw
iw iw
iw iw
iw corr
=
..........3.20
Universitas Sumatera Utara
44
BAB IV PENGUJIAN