• Tidak ada hasil yang ditemukan

Penerapan Daubechies Wavelet Dan Hamming Code Dalam Watermarking Citra Digital

N/A
N/A
Protected

Academic year: 2016

Membagikan "Penerapan Daubechies Wavelet Dan Hamming Code Dalam Watermarking Citra Digital"

Copied!
55
0
0

Teks penuh

(1)

Diajukan untuk memenuhi salah satu persyaratan dalam

menyelesaikan pendidikan sarjana (S-1) pada Departemen Teknik Elektro

Oleh :

ECHOLIMA SARAGIH 020402063

DEPARTEMEN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS SUMATERA UTARA

MEDAN

(2)

KATA PENGANTAR

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas rahmat dan karunia yang telah diberikan sehingga dapat menyelesaikan Tugas Akhir ini. Adapun Tugas Akhir ini dibuat untuk memenuhi syarat memperoleh gelar Sarjana Teknik di Departemen Teknik Elektro, Fakultas Teknik Universitas Sumatera Utara. Judul dari Tugas Akhir ini adalah “Penerapan Daubechies Wavelet dan Hamming Code Dalam Watermarking Citra Digital”. Tugas Akhir ini penulis persembahkan teristimewa kepada ayahanda Kamen P. Saragih, ibunda Marlina Gultom, kakak penulis Dr. Juliana K. R. Saragih, dan Tinsona Saragih, Amd, Windi Jeanni Saragih, serta Delanining Saragih selaku adik-adik penulis yang merupakan bagian hidup dari penulis dan juga teman-teman yang semuanya senantiasa mendoakan, mendukung dan memberi semangat kepada penulis. Dalam proses pembuatan Tugas Akhir ini penulis banyak menemukan masalah dan kesulitan. Namun berkat bantuan dan bimbingan dari berbagai pihak, Tugas Akhir ini akhirnya dapat selesai. Untuk itu penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada :

1. Bapak Ir. Nasrul Abdi, MT selaku Ketua Departemen Teknik Elektro Fakultas Teknik USU dan Bapak Rachmat Fauzi, ST, MT, selaku Sekretaris Departemen Teknik Elektro Fakultas Teknik USU.

(3)

3. Bapak Ir. Pernantin Tarigan, MSc, selaku Dosen Pembimbing Tugas Akhir, atas segala bimbingan, arahan dan solusi yang telah diberikan selama mengerjakan Tugas Akhir.

4. Bapak Maksum Pinem, ST, MT, selaku Dosen Wali penulis, atas bimbingan dan arahan dalam menyelesaikan kuliah.

5. Seluruh Staf Pengajar di Departemen Teknik Elektro Fakultas Teknik USU dan seluruh Karyawan di Departemen Teknik Elektro Fakultas Teknik USU. 6. Rekan-rekan mahasiswa Teknik Elektro terutama teman-teman old track

stambuk 2002, Sihar, Augustin, Junaris, Dodi, Bugi, Esron, Raymond, Adhi, Daniel, Chairil, Aritta, Joshua, Irham, Denny, Bismar, Yos, Hendra, Ardiansyah, Indra, Syafril, Agustin, Abu, Faisal, Romi, Surya, Ipengadohar, Rahmat, Hamdani, Hatorangan, Deddy, Usman, Novri, Roger, Erwin, Robert, Sabariah, Andriani, Silvia, Agus, Farid, Afli, Apriandi, Berry, Iqbal, Yandi Boy dan teman-teman 2002 lainnya.

7. Teman-teman di Apartemen 08, Candra, Gindo, Alvint, Jalich, Mike, Ijon, Taufik, Agung, Jefry dan teman-teman lainnnya.

8. Pihak-pihak lain yang tidak dapat diucapkan namanya satu persatu.

Akhir kata, penulis berharap semoga penulisan Tugas Akhir ini bermanfaat bagi kita semua. Sekian dan terima kasih.

Medan, Desember 2008 Penulis,

(4)

DAFTAR ISI

LEMBAR PENGESAHAN ...i

ABSTRAK ...ii

KATA PENGANTAR ...iii

DAFTAR ISI ...v

DAFTAR GAMBAR ...vi

DAFTAR TABEL ...ix

I. PENDAHULUAN 1.1. Latar Belakang ...1

1.2. Tujuan Penulisan ...2

1.3. Rumusan Masalah ...2

1.4. Batasan Masalah ...3

1.5. Metodologi Perancangan ...3

1.6. Kerangka Penulisan ...4

II. DASAR TEORI 2.1.CitraDigital ...6

2.1.1 Citra BMP ...6

2.2. Wavelet ...7

2.2.1 Daubechies Wavelet ...11

2.3. Kode Hamming ...13

2.3.1 Konstruksi Kode Hamming (8,4) ...14

2.4. Watermarking ...15

(5)

2.4.2 Watermarking Citra Digital ...16

2.4.3 Domain Pernerapan Watermarking Citra Digital ...18

2.4.4 Kriteria Watermarking ...19

2.4.5 Aplikasi Digital Watermarking ...20

2.4.6 Serangan terhadap citra ber-watermark ...21

2.5. Watermarking menggunakan Daubechies Wavelet ...23

2.6. Matlab ...25

III. PERANCANGAN SISTEM 3.1. Gambaran Umum Sistem ...27

3.2. Program Utama ...27

3.3. Sisip ...28

3.3.1 Pilih Citra ...28

3.3.2 Hammcod ...29

3.3.3 Wavsisip ...30

3.3.4 Hitung PSNR ...32

3.4. Ekstrak ...33

3.4.1 Wavekstrak ...34

3.4.2 Corr ...34

IV. PENGUJIAN 4.1.Analisa Hasil Pengujian ...36

4.1.1 Serangan Kompresi JPEG ...37

4.1.2 Serangan Noise ...38

(6)

4.1.4 Serangan Sharpen ...40

4.1.5 Serangan Blur ...41

V. KESIMPULAN DAN SARAN 5.1.Kesimpulan ...42

5.2. Saran ...42

DAFTAR PUSTAKA ...43

(7)

DAFTAR GAMBAR

1. Gambar 2.1 Dekomposisi sinyal satu tingkat ...10

2. Gambar 2.2 Rekonstruksi sinyal satu tingkat ...11

3. Gambar 2.3 Penyisipan watermark ...16

4. Gambar 2.4 Ekstraksi watermark ...17

5. Gambar 2.5 Struktur dekomposisi citra 4 level ...23

6. Gambar 3.1 Diagram alir program utama ...28

7. Gambar 3.2 Diagram alir Hammcod ...29

8. Gambar 3.3 Diagram alir proses Pengkodean ...30

9. Gambar 3.4 Diagram alir Wavsisip...31

10.Gambar 3.5 Diagram alir Hitung PSNR ...33

11.Gambar 3.6 Diagram alir Wavekstrak ...34

12.Gambar 4.1 Citra pic ber-watermark dan citra watermark ...37

13.Gambar 4.2 Citra insect ber-watermark dan citra watermark ...37

14.Gambar 4.3 Citra pic dan citra watermark serangan noise sebesar 10% ...39

(8)

DAFTAR TABEL

1. Tabel 2.1 Koefisien-koefisien highpass filter ...12

2. Tabel 2.2 Error yang muncul ...15

3. Tabel 4.1 Nilai PSNR citra sebelum dilakukan serangan ...36

4. Tabel 4.2 Hasil pengujian dengan kompresi JPEG skala 1:2 ...38

5. Tabel 4.3 Hasil pengujian dengan kompresi JPEG skala 1:5 ...38

6. Tabel 4.4 Hasil pengujian serangan noise ...39

7. Tabel 4.5 Hasli pengujian serangan motion blur ...40

8. Tabel 4.6 Hasil pengujian serangan sharpen ...40

(9)

baik berupa teks, citra, audio, maupun video. Kemudahan tersebut akhirnya dapat dipergunakan secara negatif tanpa memperhatikan aspek hak cipta seperti duplikasi dan distribusi data tau dokumen digital secara ilegal. Hal tersebut menimbulkan kekhawatiran bagi pemilik hak cipta, seperti fotografer profesional dan museum sehingga dibutuhkan suatu cara untuk melindungi hak cipta. Salah satu solusi yang dikembangkan untuk citra digital adalah dengan menggunakan digital watermarking. Watermarking bekerja dengan menyisipkan informasi yang menunjukkan kepemilikan, tujuan atau data lain pada citra digital yang disebut watermark. Penyisipan watermark dilakukan sedemikian rupa sehingga tidak merusak citra digital yang dilindungi dan tidak dapat dirasakan oleh indera manusia.

(10)

BAB I PENDAHULUAN

1. Latar Belakang

Perkembangan teknologi digital serta internet yang cukup pesat telah memberi kemudahan dalam mengakses dan mendistribusikan berbagai informasi dalam format digital, baik berupa teks, citra, audio, maupun video. Kemudahan tersebut akhirnya dapat dipergunakan secara negatif tanpa memperhatikan aspek hak cipta seperti duplikasi dan distribusi data atau dokumen digital secara ilegal. Hal tersebut menimbulkan kekhawatiran bagi pemilik hak cipta, seperti fotografer profesional dan museum sehingga dibutuhkan suatu cara untuk melindungi hak cipta.

Salah satu solusi yang dikembangkan untuk citra digital adalah dengan menggunakan digital watermarking. Watermarking bekerja dengan menyisipkan informasi yang menunjukkan kepemilikan, tujuan atau data lain pada citra digital yang disebut watermark. Penyisipan watermark dilakukan sedemikian rupa sehingga tidak merusak citra digital yang dilindungi dan tidak dapat dirasakan oleh indera manusia.

Dalam tugas akhir ini, akan dirancang suatu aplikasi penyisipan watermark

(11)

2. Tujuan Penulisan

Tujuan penulisan tugas akhir ini adalah sebagai berikut:

1. Menghasilkan aplikasi watermarking yang bertujuan untuk melindungi hak cipta citra digital.

2. Memenuhi salah satu syarat untuk menyelesaikan pendidikan program sarjana Teknik Elektro di Universitas Sumatera Utara.

3. Rumusan Masalah

Citra digital yang akan disisipi dengan watermark adalah citra digital dengan format bitmap warna, 24-bit per piksel dengan ukuran lebar minimal 128 piksel dan tinggi minimal 128 piksel. Watermark yang disisipkan bersifat invisible agar tidak menurunkan kualitas citra.

Dalam penyisipan watermark dibutuhkan kode yang berupa password yang dimasukkan oleh user. Kode ini berfungsi sebagai signature pada proses encoding

atau decoding watermark. Password harus memiliki panjang lima sampai delapan karakter. Password akan diubah ke dalam bilangan biner. Selanjutnya pada bilangan tersebut akan dilakukan pengkodean Hamming (8,4) per 4 bit-nya. Kode Hamming tersebut akan diubah menjadi sebuah urutan (sequence) bilangan bipolar. Sequence

ini dijadikan sebagai watermark yang disisipkan pada citra. Transformasi wavelet Daubechies (dekomposisi) dilakukan pada komponen warna Red (R), Green (G), dan

(12)

Pada proses pendeteksian dilakukan transformasi wavelet (dekomposisi) pada citra ber-watermark dan citra asli. Koefisien transformasi komponen warna G pada kedua citra dibandingkan untuk memperoleh keofisien watermark. Selanjutnya koefisien watermark direkonstruksi untuk memperoleh citra watermark.

Compiler yang digunakan dalam perancangan program aplikasi adalah Matlab 7.01. Sistem operasi yang digunakan adalah Windows XP.

4. Batasan Masalah

Dalam penulisan ini pembahasan masalah dibatasi sebagai berikut :

1. Citra digital yang dibahas terbatas pada format bitmap yang tidak terkompresi. 2. Wavelet yang dibahas hanyalah wavelet Daubechies.

3. Proses watermarking yang dibahas hanya meliputi penyisipan dan ekstraksi

watermark.

5. Metodologi Perancangan

Metode yang digunakan dalam penulisan tugas akhir terdiri dari dua tahap, yaitu:

1. Penyisipan Watermark

Pada proses penyisipan watermark dibagi menjadi tiga bagian utama yaitu dekomposisi, pengkodean dan rekonstruksi.

a. Dekomposisi

(13)

tiap level dilakukan pemisahan komponen highpass dan lowpass secara horizontal, vertikal dan diagonal dengan bergantian untuk memperoleh nilai smooth signal dan

detail signal. Perhitungan 4 level transformasi ini dilakukan dalam bentuk matriks. b. Pengkodean

Pada pengkodean, bit-bit password yang telah dimasukkan akan dibagi sehingga setiap bagian terdiri atas 4 bit. Kemudian 4 bit tersebut akan dikodekan menjadi 8 bit dengan penambahan sebanyak 4 bit parity. Proses ini menggunakan kode Hamming (8,4) yang dapat memperbaiki satu bit error dan mendeteksi sampai tiga bit error. Bit-bit hasil pengkodean diubah ke dalam bentuk urutan (sequence) bilangan bipolar.

c. Rekonstruksi

Pada proses rekonstruksi dilakukan transformasi invers wavelet terhadap komponen aproksimasi, vertikal, horizontal, dan vertikal untuk mendapatkan citra yang sudah disisipkan watermark dalam komponen warna RGB.

2. Ekstraksi Watermark

Pada proses ekstraksi watermark dilakukan dekomposisi terhadap citra asli dan citra uji. Koefisien hasil dekomposisi kedua citra dibandingkan untuk mempoleh koefisien watermark. Proses rekonstruksi menggunakan invers transformasi wavelet

dilakukan terhadap koefisien watermark untuk memperoleh citra watermark.

6. Kerangka Penulisan

(14)

BAB I PENDAHULUAN

Bab ini berisikan latar belakang masalah, tujuan penulisan, rumusan masalah, batasan masalah, metodologi dan sistematika penulisan.

BAB II DASAR TEORI

Bab ini membahas teori-teori yang berhubungan dengan topik tugas akhir, yaitu pembahasan mengenai citra digital, digital watermark, penjelasan mengenai

Daubechies Wavelet serta Hamming Code. BAB III PERANCANGAN SISTEM

Bab ini membahas mengenai algoritma dan pemrograman yang digunakan untuk menyisipkan dan mendeteksi watermark serta perancangan aplikasi watermarking

untuk perlindungan terhadap citra digital. BAB IV IMPLEMENTASI

Bab ini membahas penerapan watermark citra digital berformat bitmap dan evaluasi algoritma yang dipakai. Implementasi dilakukan dengan melakukan serangkaian uji coba untuk mengetahui apakah sistem dapat berfungsi dengan baik.

BAB V KESIMPULAN DAN SARAN

(15)

BAB II

LANDASAN TEORI

2.1Citra Digital

Semua citra digital yang ditampilkan di layar komputer adalah sederetan atau sekumpulan piksel (picture element). Citra tersebut dikatakan sebagai citra digital karena bentuk representasinya yang berupa bilangan (numbers). Oleh komputer akan dikenal dalam urutan ‘0’ dan ‘1’.

Ada beberapa format citra digital, antara lain: BMP, PNG, JPG, GIF, PCX, dan sebagainya. Masing-masing format mempunyai perbedaan satu dengan yang lain terutama pada header file. Namun ada beberapa yang mempunyai kesamaan, yaitu penggunaan palette untuk penentuan warna piksel. Sebagai studi kasus dalam tugas akhir ini akan digunakan format citra BMP yang dikeluarkan oleh Microsoft.

2.1.1 Citra BMP

Format BMP, disebut dengan bitmap atau format DIB (Device Independent Bitmap) adalah sebuah format citra yang digunakan untuk menyimpan citra bitmap digital terutama pada sistem operasi Microsoft Windows atau OS/2. Pada citra berformat BMP (bitmap) yang tidak terkompresi, piksel citra disimpan dengan kedalaman warna 1, 4, 8, 16, 24, atau 32 bit per piksel.

(16)

digunakan untuk mengidentifikasi citra. Beberapa aplikasi pengolah citra akan membaca blok ini untuk memastikan bahwa citra tersebut berformat bitmap dan tidak dalam kondisi rusak. Bit information berisi informasi detail dari citra bitmap, yang akan digunakan untuk menampilkan citra pada layar. Color palette berisi informasi warna yang digunakan untuk indeks warna bitmap, dan bitmap data berisi data citra yang sebenarnya, piksel per piksel.

Model ruang warna yang digunakan pada citra bitmap adalah RGB (red, green, dan blue). Sebuah ruang warna RGB dapat diartikan sebagai semua kemungkinan warna yang dapat dibuat dari tiga warna dasar red, green, dan blue. RGB sering digunakan di dalam sebagian besar aplikasi komputer karena dengan ruang warna ini tidak diperlukan transformasi untuk menampilkan informasi di layar monitor.

2.2Wavelet

Wavelet adalah suatu metode pengolahan sinyal yang mana sebuah sinyal dipecah menjadi beberapa bagian yang merujuk kepada frekuensi yang berbeda-beda. Wavelet digunakan untuk menyusun, menganalisis dan mensintesis data numeris hasil pengukuran/pengamatan suatu fenomena fisis tertentu.

Dalam pemrosesan sinyal sudah dikenal suatu metode yaitu transformasi

(17)

frekuensi itu ada. Oleh karena itu selama beberapa dekade yang lalu, para ahli berusaha untuk menemukan suatu metode yang dapat mempresentasikan suatu sinyal digital ke dalam domain frekuensi dan waktu secara bersamaan.

Dengan transformasi wavelet, sinyal digital dikalkulasi untuk menentukan domain frekuensi dan waktu secara bersamaan. Transformasi wavelet dapat diaplikasikan pada pengenalan objek, smoothing (memperhalus) dan kompresi.

Transformasi wavelet memiliki dua jenis dalam pengembangannya yaitu

Continous Wavelet Transform (CWT) dan Discrete Wavelet Transform (DWT). Semua fungsi yang digunakan dalam transformasi CWT dan DWT diturunkan dari

mother wavelet melalui translasi/pergeseran dan penskalaan/kompresi. Mother wavelet merupakan fungsi dasar yang digunakan dalam transformasi wavelet. Karena

mother wavelet menghasilkan semua fungsi wavelet yang digunakan dalam

transformasi melalui translasi dan penskalaan, maka mother wavelet juga akan menentukan karakteristik dari transformasi wavelet yang dihasilkan.

Dalam transformasi wavelet, penggambaran sebuah skala waktu sinyal digital didapatkan dengan menggunakan teknik filterisasi digital. Secara garis besar proses dalam teknik ini adalah dengan melewatkan sinyal yang akan dianalisis pada filter dengan frekuensi dan skala yang berbeda.

(18)

Sebuah sinyal harus dilewatkan dalam dua filterisasi DWT yaitu highpass filter dan lowpass filter agar frekuensi dari sinyal tersebut dapat dianalisis. Analisis sinyal dilakukan terhadap hasil filterisasi highpass filter dan lowpass filter yang mana highpass filter digunakan untuk menganalisis frekuensi tinggi dan lowpass filter digunakan untuk menganalisis frekuensi rendah. Analisis terhadap frekuensi dilakukan dengan cara menggunakan resolusi yang dihasilkan setelah sinyal melewati filterisasi.

Pembagian sinyal menjadi frekuensi tinggi dan frekuensi rendah dalam proses filterisasi highpass filter dan lowpass filter disebut sebagai dekomposisi. Proses dekomposisi dimulai dengan melewatkan sinyal asal melewati highpass filter dan

lowpass filter. Misalkan sinyal asal ini memiliki rentang frekuensi dari 0 sampai dengan rad/s. Pada saat melewati highpass filter dan lowpass filter ini, rentang frekuensi di-downssample menjadi dua, sehingga rentang frekuensi tertinggi pada masing-masing downsample menjadi /2 rad/s. Setelah filterisasi, setengah dari

sample atau salah satu downsample dapat dieliminasi sehingga sinyal dapat selalu

di-downsample oleh 2 ( 2) dengan cara mengabaikan setiap sample yang kedua. Proses dekomposisi ini dapat melalui satu atau lebih tingkatan. Dekomposisi sinyal satu tingkat ditulis dengan ekspresi matematika pada persamaan 1 dan 2.

− =

n

tinggi k x n h k n

y [ ] [ ] [2 ]...(2.1)

− =

n

rendah k x n g k n

(19)

] [k

ytinggi dan yrendah[k]adalah hasil dari highpass filter dan lowpass filter, x[n]

merupakan sinyal asal, h[n] adalah highpass filter dan g[n] adalah lowpass filter, n

dan k adalah variabel integer.

Untuk dekomposisi sinyal lebih dari satu tingkat, prosedur pada rumus 1 dan

2 dapat digunakan pada masing-masing tingkatan. Contoh dekomposisi sinyal satu

tingkat dipaparkan pada Gambar 2.1.

] [k ytinggi

] [k yrendah

Gambar 2.1 Dekomposisi sinyal satu tingkat.

Pada Gambar 2.1, hasil dari highpass filter, ytinggi[k]disebut sebagai sinyal

detil (detail signal) dan hasil dari lowpass filter,yrendah[k] disebut sebagai sinyal

aproksimasi (approximation signal). Dengan menggunakan kedua sinyal ini maka

dapat dilakukan proses Inverse Discrete Wavelet Transform (IDWT) untuk

merekonstruksi menjadi sinyal asal.

Proses rekonstruksi sinyal diawali dengan menggabungkan koefisien DWT

dari yang berada pada akhir dekomposisi dengan sebelumnya meng-upsample sinyal

oleh 2 ( 2) melalui highpass filter dan lowpass filter. Proses rekonstruksi ini

merupakan kebalikan dari proses dekomposisi sesuai dengan tingkatan pada proses

dekomposisi. Sehingga persamaan rekonstruksi pada masing-masing tingkatan dapat

ditulis sebagai berikut:

+ − +

+ −

= ytinggi k h n k yrendah k g n k

n

(20)

Proses rekonstruksi sinyal untuk mendapatkan sinyal asal dengan satu

tingkatan digambarkan pada Gambar 2.2

] [k ytinggi

] [k yrendah

Gambar 2.2 Rekonstruksi sinyal satu tingkat. 2.2.1 Daubechies Wavelet

Nama Daubechies wavelet berasal dari seorang matematikawan yang

bernama Inggrid Daubechies. Daubechies wavelet merupakan keluarga dari

transformasi wavelet diskrit (DWT) memiliki karakteristik derajat vanishing moment

yang maksimal. Derajat vanishing moment merupakan parameter untuk menyatakan

kemampuan mengaproksimasi suatu sinyal. Semakin besar derajat vanishing

moment, maka semakin kecil nilai galat/error aproksimasi yang akan terjadi.

Daubechies wavelet yang umum digunakan adalah D2 - D20. Dalam tugas

akhir ini digunakan Daubechies D4 wavelet, dengan nilai 4 menyatakan nomor

indeks wavelet. Nomor indeks ini mengacu pada banyaknya masing-masing

koefisien highpass filter h[n] dan lowpass filter g[n] yang dimiliki wavelet. Sehingga

dapat diartikan bahwa Daubechies D4 wavelet memiliki masing-masing 4 koefisien

h[n] dan g[n]. Dalam hal ini nilai koefisien h[n] untuk D2 - D20 telah ditetapkan oleh

Daubechies sendiri. Nilai koefisien h[n] untuk D2 - D8 ditabulasikan dalam Tabel

(21)

0

Tabel 2.1 Koefisien-koefisien highpass filter

No

2 0.3169873 0.650365 0.8922014

3 -0.1830127 -0.19093442 -0.03957503

4 -0.12083221 -0.26450717

5 0.0498175 0.0436163

6 0.0465036

7 -0.01498699

Sinyal aproksimasi dan sinyal detil dihitung dengan mengambil hasil

perkalian koefisien h[n] dan g[n] dengan sinyal yang akan dianalisa. Persamaannya

ditunjukkan sebagai berikut:

3

(22)

Untuk proses rekonstruksi menjadi sinyal (s) menggunakan persaman berikut:

2.3Kode Hamming

Kode Hamming ditemukan oleh Richard Hamming, merupakan sebuah kode

perbaikan error linier yang dapat memperbaiki dan mendeteksi bit-bit error tunggal.

Kode Hamming memiliki jarak minimum dmin = 3.

Kode Hamming terdiri dari bit data dan bit parity yang membentuk sebuah

hamming code word. Jumlah bit data dan bit parity ditentukan oleh aturan Hamming

(hamming rule) yang ditunjukkan oleh ketidaksamaan berikut:

p p

d+ +1≤2 ………(2.9)

(23)

2.3.1 Konstruksi Kode Hamming (8,4)

Kode Hamming (8,4) terdiri dari 4 bit input dan 4 bit parity. Misalkan bit

input: b3,b2,b1,b0 maka dapat dikodekan menjadi 8 bit kode Hamming dengan

susunan sebagai berikut: b3, a3, b2, a2, b1, a1, b0, a0 yang kemudian dapat diberi nama

h7, h6, h5, h4, h3, h2, h1, h0.. Untuk nilai a3, a2, a1, dan a0 diperoleh dengan

menggunakan persamaan berikut:

0

Untuk mendekodekan satu byte kode Hamming tersebut dilakukan operasi

bitwise xor pada kode Hamming untuk menghasilkan parity dengan persamaan

sebagai berikut:

semua bit c0, c1, c2 bernilai 1 maka byte yang diterima tidak berubah (tidak terdapat

error) sebaliknya jika bernilai 0 maka terdapat 2 error yang tidak dapat diperbaiki.

Jika p bernilai 0 maka terdapat sebuah bit error yang muncul yang dapat

diperbaiki dengan melakukan flip pada bit yang error. Bit error yang muncul

(24)

Tabel 2.2 Error yang muncul.

c0 c1 c2 arti

1 1 1 error pada bit h6

1 1 0 error pada bit h4

1 0 1 error pada bit h2

0 1 1 error pada bit h0

0 0 1 error pada bit h7

0 1 0 error pada bit h5

1 0 0 error pada bit h3

0 0 0 error pada bit h1

2.4Watermarking

Watermark merupakan sebuah informasi yang disisipkan pada media lain

dengan tujuan melindungi media yang disisipi oleh informasi tersebut dari

pembajakan, penyalahgunaan hak cipta, dan sebagainya. Watermarking adalah cara

untuk menyisipkan watermark ke dalam media yang ingin dilindungi hak ciptanya.

Watermarking berkembang seiring perkembangan zaman dengan munculnya

watermarking pada media digital atau disebut dengan digital watermarking. Digital

watermarking dapat diterapkan pada berbagai media digital seperti citra , file suara,

dan video.

Salah satu prinsip dalam digital watermarking adalah informasi yang

disisipkan pada media digital tidak boleh mempengaruhi kualitas media digital

tersebut. Sehingga pada digital watermarking terdapat persyaratan bahwa digital

watermark atau informasi digital yang disisipkan dalam dalam media digital

haruslah imperceptible atau tidak terdeteksi oleh sistempenglihatan manusia (Human

(25)

2.4.1 Jenis Digital Watermarking

Digital watermarking dapat dibagi menjadi empat jenis berdasarkan media digital

yang disisipi, yaitu:

1. Text Watermarking

Watermark disisipkan pada media digital jenis dokumen atau teks.

2. Image Watermarking

Watermark disisipkan pada citra digital.

3. Audio Watermarking

Watermark disisipkan pada file audio digital seperti mp3, mpeg, dan sebagainya.

4. Video Watermarking

Watermark disisipkan pada gambar bergerak atau disebut dengan video digital.

2.4.2 Watermarking Citra Digital

Secara umum proses watermarking pada citra dipaparkan pada Gambar 2.3.

Gambar 2.3 Penyisipan watermark.

Citra asli (original) dinotasikan dengan I, tanda atau signature dinotasikan

(26)

I dan sebuah signature S, dan menghasilkan sebuah citra baru I’ yang telah memiliki

watermark. Hubungannya dituliskan sebagai berikut:

E (I, S) = I’ ……..(2.13)

Citra ber-watermark yang dihasilkan dari proses watermarking tidak berbeda

jauh secara visual dengan citra asalnya. Hal ini disebabkan karena pengubahan dari

citra asal ke citra ber-watermark hanya berpengaruh sedikit terhadap perubahan

warna dari citra, sehingga sistem penglihatan manusia (Human Visual System) tidak

dapat melihat perubahan tersebut.

Proses watermarking perlu didukung dengan proses ekstrasi watermark dari

citra ber-watermark. Proses ekstraksi ini bertujuan untuk mendapatkan kembali citra

asal dan watermark yang disisipkan dalam citra tersebut. Umumnya proses ekstraksi

melibatkan proses pembandingan citra asal dengan citra ber-watermark untuk

mendapatkan watermark yang disisipkan, seperti yang ditunjukkan pada Gambar 2.4.

Fungsi decoder D mengambil sebuah citra J (J dapat berupa citra yang

memiliki watermark atau tidak) dan mengekstrak signature S’ dari citra tersebut.

Proses ini melibatkan citra asli (I) yang telah diberi watermark oleh pemiliknya.

(27)

Signature S’ yang telah diekstrak kemudian akan dibandingkan dengan

pemilik signature yang asli dengan sebuah fungsi comparator Cp dan menghasilkan

sebuah output biner yang bernilai 1 jika cocok dan 0 jika sebaliknya.

Secara garis besar watermarking dibedakan menjadi dua yaitu:

1. Private Watermarking / Non Blind Watermarking.

Merupakan watermarking yang membutuhkan citra asli dan citra

ber-watermark untuk mengekstrak watermark.

2. Public Watermarking / Blind Watermarking.

Watermarking yang tidak membutuhkan citra asli untuk mengekstrak

watermark.

2.4.3 Domain Penerapan Watermarking Citra

Domain penerapan watermarking citra terbagi menjadi dua yaitu, domain

spasial, penyisipan watermark dilakukan secara langsung ke dalam piksel citra, dan

domain transformasiyang menyisipkan watermark kedalam koefisien transformasi.

Contoh metode yang termasuk dalam domain spasial adalah LSB (Least Significant

Bit) yang me-watermark sebuah citra dengan mengganti bit LSB-nya dengan bit data,

metode lain dalam domain spasial yaitu metode patchwork yang menanamkan

watermark sebesar 1 bitpada citra denganmenggunakan pendekatan statistik.

Untuk metode yang digunakan pada domain transformasi, biasanya

berhubungan dengan transformasi sinyal yang digunakan dalam bidang matematika.

Watermark disisipkan ke dalam koefisien transformasi tergantung dari jenis

(28)

yaitu Discrete Fourier Transform (DFT), Discrete Cosine Transform (DCT),

Discrete WaveletTransform (DWT), dan Discrete LaguerreTransform (DLT).

2.4.4 Kriteria Watermarking

Watermarking memiliki persyaratan atau kriteria tertentu yang harus dimiliki

serta menentukan kualitas dari watermark tersebut. Watermarking yang baik

setidaknya memiliki kriteria seperti berikut ini:

Robustness. Watermark harus memiliki ketahanan terhadap berbagai macam

perubahan baik secara sengaja maupun tidak disengaja.

Imperceptible. Untuk menjamin kualitas dokumen yang ditandai, watermark

harus sebisa mungkin tidak tampak mempengaruhi dokumen asli,

Security. Pihak-pihak yang tidak memiliki otoritas tidak dapat mengetahui

dan mengubah watermark yang disisipkan dalam dokumen. Idealnya, lebih

bagus lagi jika watermark tidak dapat dideteksi oleh pihak-pihak tersebut.

No reference to original document. Pada aplikasi-aplikasi tertentu, sangatlah

penting proses pembacaan watermark dapat dilakukan tanpa membutuhkan

dokumen digital asli (tanpa watermark).

Multiple watermark. Untuk aplikasi-aplikasi tertentu, terkadang dibutuhkan

lebih dari satu watermark untuk memberikan proteksi yang lebih baik.

Unambiguity. Watermark harus mengandung informasi yang tidak ambigu mengenai kepemilikan hak cipta, pendistribusian dan sebagainya.

Dari faktor-faktor di atas, yang terpenting adalah robustness, imperceptibility

(29)

2.4.7 Aplikasi DigitalWatermarking

Digital watermarking memiliki beragam penggunaan dalam membantu kerja

manusia, diantaranya:

a. Copyright-Labeling

Watemarking digunakan untuk menyembunyikan label hak cipta pada data

digital atau sebagai bukti autentik kepemilikan atas dokumen digital.

b. Otentifikasi atau tamper proofing

Pemilik citra menyisipkan watermark ke dalam citra untuk membuktikan apakah

citra yang disimpan atau yang beredar masih asli atau sudah berubah (tamper

proofing).

c. Fingerprinting (traitor-tracing)

Pemilik citra mendistribusikan citra yang sama ke berbagai distributor. Sebelum

didistribusikan, setiap citra disisipkan watermark yang berbeda untuk setiap

distributor, seolah-olah cetak jari distributor terekam di dalam citra.

d. Aplikasi medis

Citra medis seperti foto sinar-X diberi watermark berupa ID pasien dengan

maksud untuk memudahkan identifikasi pasien. Informasi lain yang dapat

disisipkan adalah hasil diagnosis penyakit.

e. Covert communication

Untuk sistem komunikasi di negara-negara yang mana kriptografi tidak

dibolehkan, watermarking dapat digunakan untuk menyisipkan informasi rahasia.

Informasi tersebut disisipkan ke dalam citra, lalu dikirim melalui saluran publik, dan

(30)

2.4.7 Serangan terhadap citra ber-watermark

Serangan terhadap citra ber-watermark umumnya bertujuan untuk

menghilangkan watermark yang disisipkan di dalam citra tersebut. Serangan ini

disebut sebagai serangan yang disengaja. Serangan yang tidak disengaja biasanya

berhubungan dengan pengubahan citra, pengubahan ini dapat berupa cropping,

rotation, kompresi, dan lain-lain.

Secara umum jenis serangan terhadap citra ber-watermark dibagi menjadi

dua, yaitu serangan standar (standard attack) dan malicious attack. Malicious attack

merupakan serangan yang memilki tujuan untuk menghilangkan watermark.

Pengujian terhadap citra ber-watermark menggunakan serangan hanya dapat

dilakukan dengan menggunakan standard attack saja. Hal ini disebabkan karena

dalam maliciousattack umumnya pihak penyerang mencari algoritma penyisipan dan

kunci yang digunakan saat penyisipan watermark. Serangan jenis malicious attack

ini tentunya tidak dapat diujikan karena algoritma dan kunci yang digunakan

tentunya sudah diketahui oleh penyisip watermark.

Beberapa jenis standard attack adalah sebagai berikut:

1. Serangan geometris (geometrical attack)

Serangan geometris menyebabkan pendeteksi watermark kehilangan

sinkronisasinya dengan citra ber-watermark. Beberapa yang termasuk dalam

serangan geometris adalah rotasi citra, penskalaan ulang citra, pengubahan aspect

ratio, translasi, dan sebagainya.

(31)

Kompresi sering dilakukan pada file multimedia seperti audio, video, dan citra.

Watermark yang disisipkan biasanya lebih tahan terhadap kompresi yang

memiliki domain sama dengan domain yang dipakai pada saat watermarking.

Misalnya citra yang disisipi watermark menggunakan DCT (Discrete Cosine

Transform) lebih tahan terhadap kompresi JPEG daripada citra yang disisipi

watermark dalam domain spasial. Atau citra yang disisipi watermark

menggunakan DWT (Discrete Wavelet Transform) lebih kuat terhadap kompresi

JPEG2000.

3. Penambahan noise

Citra digital sangat rentan mendapatkan serangan berbagai macam jenis noise.

Ada beberapa cara yang menyebabkan suatu noise dapat berada di dalam sebuah

citra, bergantung bagaimana citra tersebut diciptakan. Sebagai contoh, jika citra

merupakan hasil scan foto yang berasal dari negatif film, maka negatif film ini

merupakan sumber noise. Noise juga bisa merupakan akibat dari kerusakan film

atau juga bisa berasal dari scanner itu sendiri.

4. Filterisasi

Filterisasi umum digunakan pada citra. Beberapa filter yang sering digunakan

yaitu gaussian filter, sharpening filter, dan sebagainya. Untuk menangani jenis

serangan ini watermark dapat disisipkan pada frekuensi yang paling sedikit

berubah jika terjadi kompresi, dengan memperkirakan filterisasi apa saja yang

umum digunakan.

(32)

Cropping merupakan serangan yang umum karena banyak orang sering

menginginkan bagian tertentu dari sebuah citra saja. Untuk dapat mengatasi

serangan ini dapat dilakukan dengan cara menyebarkan watermark pada

tempat-tempat yang memungkinkan terjadinya serangan.

2.5Watermarking menggunakan Daubechies Wavelet

Citra yang akan disisipkan watermark sebelumnya didekomposisi

menggunakan transformasi Daubechies wavelet, setelah watermark disisipkan pada

citra selanjutnya dilakukan invers transformasi wavelet untuk membentuk citra

ber-watermark. Struktur dekomposisi pada citra yang dilakukan sebanyak 4 level

ditunjukkan pada Gambar 2.5.

Gambar 2.5 Struktur dekomposisi citra 4 level.

Proses dekomposisi membagi citra dalam tipa level menjadi komponen

aproksimasi (LL) dan komponen detil yang terdiri dari komponen horizontal (HL),

(33)

Secara umum penyisipan watermark dilakukan dengan cara memodifikasi

koefisien pada komponen LL, LH, HL, atau HH.

Metode yang dipakai untuk menyisipkan watermark adalah dengan metode

penambahan (additive) dengan menggunakan rumus:

L

Dimana

α

merupakan faktor yang mengontrol tingkat intensitas penyisipan

watermark, f adalah koefisien sinyal asal, f’ adalah koefisien sinyal asal yang telah

dimodifikasi, dan w adalah bit watermark yang disisipkan pada sinyal asal.

Pada proses ekstraksi watermark dibutuhkan citra asli f dan citra uji

ber-watermark fr. Kedua citra tersebut didekomposisi kembali dengan transformasi

wavelet untuk mendapatkan komponen aproksimasi dan detilnya. Proses ekstraksi

watermark dilakukan dengan menggunakan rumus berikut:

)

dimana wr adalah watermark yang telah diekstrak.

Setelah watermark diekstrak dilakukan perhitungan peak signal to-noise ratio

(PSNR) dan korelasi antara watermark asli dengan watermark hasil ekstraksi. PSNR

didefinisikan melalui signal-to-noise ratio (SNR). SNR digunakan untuk mengukur

tingkat kualitas sinyal. Nilai ini dihitung berdasarkan perbandingan antara sinyal

dengan nilai derau. Kualitas sinyal berbanding lurus dengan dengan nilai SNR.

Semakin besar nilai SNR semakinbaik kualitas sinyal yang dihasilkan. Penghitungan

peak signal to-noise ratio (PSNR) digunakan untuk membandingkan kualitas citra

(34)

antara 30 dan 50 dalam skala desibel (dB) dan dilaporkan dengan presisi sebanyak

dua desimal poin. Untuk menghitung PNSR, pertama yang dilakukan adalah

menghitung nilai Root Mean Squared Error (RMSE) dari citra hasil rekonstruksi dan

citra asal Perhitungan dilakukan untuk mengetahui besarnya error yang dihasilkan

dari proses penyisipan. Perhitungan dilakukan untuk setiap piksel dalam citra dengan

menggunakan rumus:

di mana f(i,j) adalah citra asal, F(i,j) adalah citra hasil rekonstruksi atau citra uji, dan

M*N adalah perkalian panjang dengan lebar citra.

Berdasarkan persamaan RMSE, maka dapat dilakukan perhitungan PSNR dengan

rumus sebagai berikut:

=

RMSE

PSNR 20log10 255 ………..(2.17)

nilai 255 merupakan batas atas nilai piksel pada citra 8 bit (0-255).

2.6Matlab

Matlab (Matrix Laboratory) adalah bahasa pemrograman tingkat tinggi yang

dikhususkan untuk komputasi teknis. Bahasa yang dikembangkan oleh MathWorks

ini mengintegrasikan kemampuan komputasi, visualisasi dan pemrograman dalam

sebuah lingkungan yang tunggal dan mudah digunakan. Aplikasi Matlab yang

digunakan penulis adalah Matlab versi R2007a.. Pada aplikasi Matlab R2007a

(35)

adalah sekumpulan instruksi yang dapat dijalankan dalam sekali panggil.

2. *.mat

adalah format database sederhana yang berbentuk matriks.

3. *.fig

adalah format penyimpanan tampilan GUI (Graphical User Interface).

Setiap penyimpanan ataupun pemuatan variabel atau database pada Matlab selalu

(36)

BAB III

PERANCANGAN SISTEM

3.1Gambaran 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 OS/2. Format

BMP yang digunakan dalam tugas akhir ini adalah format dari Microsoft..

3.2Program 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

(37)

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.3Sisip

3.3.1 Pilih citra

Citra yang akan diberi watermark adalah citra berformat bitmap dengan

(38)

3.3.2 Hammcod

Diagram alir prosesHammcod 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)

(39)

(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

(40)

Gambar 3.3 Proses wavsisip

Pada komponen warna G dilakukan dekomposisi sampai 4 level.

Dekomposisi dilakukan oleh baris sintaks berikut:

dwtmode('per');

%Dekomposisi citra dengan wavelet sebanyak 4 level

[cg,sg]=wavedec2(g,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] = detcoef2('all',cg,sg,4);

(41)

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

f adalah keofisien matriks hasil penyisipan, f(m,n)adalah koefisien sebelum

penyisipan, hcs(k) 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.

(42)

Gambar 3.4 Diagram alir Hitung PSNR 3.4Ekstrak

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:

(43)

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

(44)

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

(45)

BAB IV PENGUJIAN

4.1Analisa Hasil Pengujian

Serangkaian pengujian dilakukan dengan menggunakan tiga buah citra

dengan ukuran yang sama yaitu citra beach, citra insect, dan citra pic. Dalam

pengujian digunakan beberapa serangan standar untuk mengetahui tingkat ketahanan

watermark yang disisipkan pada citra. Beberapa serangan standar yang digunakan

dalam pengujian meliputi: kompresi JPEG, blur, motion blur, noise, dan sharpen.

Pengujian dilakukan dengan menggunakan 4 level transformasi wavelet Daubechies,

koefisien alpha = 0.02 ,dan kode untuk watermark adalah echolima. Hasil pengujian

ditunjukkan dengan nilai PSNR citra (PSNRc), PSNR watermark (PSNRw), dan

nilai korelasi (correlation) watermark. Nilai PSNRw merupakan perbandingan nilai

PSNR watermark asli dengan watermark yang berasal dari citra yang telah

mengalami manipulasi. Ketahanan watermark dilihat dari nilai korelasi watermark

yang dihasilkan dari proses pengujian. Nilai PSNR citra hasil watermarking sebelum

dilakukan serangan ditunjukkan pada tabel 4.1

Tabel 4.1 Nilai PSNR citra sebelum dilakukan serangan

Citra (dB) BMP

PSNRc

beach(512x512) 35.67

insect(512x512) 34.83

pic(512x512) 38.94

(46)

Gambar 4.1 Citra pic yang ber-watermark dan citra watermark

Gambar 4.2 Citra insect yang ber-watermark dan citra watermark

4.1.1 Serangan kompresi JPEG

Serangan kompresi JPEG dilakukan untuk menguji ketahanan watermark

terhadap proses kompresi citra. Pengujian kompresi JPEG dilakukan pada citra

ber-watermark dengan menggunakan skala 1:2 dan skala 1:5 yang menghasilkan citra

terkompres dengan kualitas yang berbeda. Skala 1:2 memiliki tingkat kompresi yang

lebih tinggi sehingga menghasilkan citra dengan kualitas lebih rendah dibandingkan

dengan skala 1:5 yang memiliki tingkat kompresi yang lebih rendah. Citra hasil

(47)

Tabel 4.2 Hasil pengujian dengan kompresi JPEG skala 1:2

Citra BMP

size (kb)

JPEG size (kb)

JPEG

PSNRc PSNRw Corr

beach(512x512) 768 33 66.98 4.9 0.99

insect(512x512) 768 32 64.33 3.59 0.99

pic(512x512) 768 53 71.71 4.2 0.99

Tabel 4.3 Hasil pengujian dengan kompresi JPEG skala 1:5

Citra BMP

size (kb)

JPEG size (kb)

JPEG

PSNRc PSNRw Corr

beach(512x512) 768 54 62.70 0.34 0.99

insect(512x512) 768 44 57.18 1.00 0.99

pic(512x512) 768 87 67.77 3.31 0.99

Dari tabel 4.2 dan 4.3 menunjukkan nilai korelasi watermark pada citra yang

dikompres tidak mengalami penurunan. Nilai PSNR watermark semakin meningkat

pada kompresi skala 1:2. Perubahan nilai PSNR citra semakin naik pada kompresi

skala 1:2, hal ini menunjukkan telah terjadi penurunan kualitas citra hasil kompresi.

Tetapi dengan nilai korelasi yang tidak berubah maka watermark masih dapat

diekstrak dari citra. Hasil pengujian menunjukkan watermark tahan terhadap

kompresi JPEG.

4.1.2 Serangan noise

Pengujian serangan noise dilakukan dengan menggunakan noise sebesar 2%

dan 10%. Hasil menunjukkan untuk citra yang memiliki luminance (komponen yang

lebih terang) yang tinggi tidak kuat terhadap serangan noise, seperti pada citra beach.

(48)

serangan noise. Pengujian dilakukan untuk mengetahui tingkat ketahanan watermark

terhadap serangan noise. Hasil pengujian untuk serangan noise ditunjukkan pada

Tabel 4.4.

Tabel 4.4 Hasil pengujian serangan noise

Citra Noise 2% Noise 10%

PSNRc PSNRw Corr PSNRc PSNRw Corr

beach 65.36 18.25 0.99 73.63 33.83 0.78

ins 64.89 2.41 0.99 73.25 14.8 0.99

pic 65.02 15.11 0.99 73.53 28.06 0.97

Dari Tabel 4.3 dapat dilihat bahwa nilai korelasi watermark menurun pada citra

beach setelah diberi noise sebesar 10%. Citra hasil pengujian dengan serangan noise

ditunjukkan pada gambar 4.3 dan gambar 4.4.

Gambar 4.3 Citra pic dan citra watermark serangan noise sebesar 10%

(49)

4.1.3 Serangan Motion Blur

Pengujian serangan motion blur dilakukan dengan memberikan filter motion

blur pada citra dengan jarak sebanyak 2 piksel dan 10 piksel dengan sudut sebesar 0

derajat. Hal ini memberikan efek berbayang pada citra dengan arah yang disesuaikan

dengan sudut yang diberikan. Pengujian dilakukan untuk mengetahui apakah terjadi

penurunan nilai korelasi setelah mengalami proses manipulasi. Hasil pengujian

serangan motion blur ditunjukkan pada Tabel 4.5.

Tabel 4.5 Hasil pengujian serangan motion blur

Citra Motion blur 2 piksel Motion blur 10 piksel

PSNRc PSNRw Corr PSNRc PSNRw Corr

beach 60.99 4.0 0.99 67.80 5.2 0.99

insect 57.81 3.39 1.0 66.99 9.1 0.99

pic 67.96 1.89 0.99 71.71 0.8 0.99

Hasil pengujian menunjukkan watermark pada citra yang memiliki warna homogen

rentan terhadap serangan motion blur, seperti pada citra beach dan citra insect. Citra

dengan komposisi warna yang lebih banyak akan lebih tahan terhadap serangan ini.

Hasil pengujian menunjukkan nilai korelasi tidak banyak berubah.

4.1.4 Serangan sharpen

Pengujian serangan sharpen dilakukan dengan melakukan filter sharpen pada

citra. Proses ini meningkatkan kontras pada piksel warna yang berbatasan. Hasil

pengujian ditunjukkan pada Tabel 4.6.

Tabel 4.6 Hasil pengujian serangan sharpen

Citra Sharpen

(50)

insect 58.60 8.98 1

pic 68.77 0.08 0.99

Hasil pengujian menunjukkan serangan sharpen tidak mempengaruhi nilai

korelasi watermark.

4.1.5 Serangan blur

Pengujiian serangan blur dilakukan dengan menggunakan filter blur. Hasil

pengujian menunjukkan nilai korelasi yang tidak banyak berubah setelah mengalami

seranagn blur. Hasil pengujian ditunjukkan pada Tabel 4.7.

Tabel 4.7 Hasil serangan blur

Citra Sharpen

PSNRc PSNRw Corr

beach 60.03 8.10 0.99

insect 53.11 15.83 1

(51)

BAB V

KESIMPULAN DAN SARAN 5.1 Kesimpulan

Setelah dilakukan pembuatan dan pengujian dapat disimpulkan beberapa hal:

1. Metode penyisipan watermark menggunakan transformasi wavelet Daubechies

memberikan hasil rekonstruksi citra yang lebih baik tanpa menurunkan kualitas

citra secara signifikan.

2. Informasi yang disisipkan pada citra bersifat invisible.

3. Keragaman warna dan tingkat kecerahan pada citra merupakan faktor

mempengaruhi ketahanan watermark pada proses manipulasi.

4. Watermark yang disisipkan tahan terhadap hampir semua serangan pada proses

pengujian.

5.1 Saran

Beberapa saran yang berguna baik dalam menggunakan ataupun dalam

mengembangkan aplikasi ini adalah sebagai berikut:

1. Setelah melalui proses pengujian, terdapat keterbatasan aplikasi dalam

mengekstrak watermark pada citra yang telah mengalami proses resizing

(penskalaan ulang) dan cropping. Untuk itu dapat dikembangkan suatu metode

ekstraksi yang dapat mengatasi proses resizing dan cropping.

2. Untuk pengembangan lebih lanjut dapat ditambahkan metode penyisipan pada

(52)

DAFTAR PUSTAKA

1. Arnold Michael, Schumucker Martin, Wolthusen D. Stephen. 2003. “Techniques

and Application of Digital Watermarking and Content Protection”. Noorwood:

Arctech House.

2. Daubechies Ingrid. 1992. “Ten Lectures on Wavelets”. Philadelphia: SIAM

3. D Kundur, D Hatznikos. 1997. “A Robust Digital Image Watermarking Method

using Wavelet-Based Fusion”. Proceeding ICIP.

4. “Getting Started With Malab”. 2001. The MathWorks, Inc.

5. Juergen Seitz. 2005. “Digital Watermarking for Digital Media”. London:

Information Science Publishing

6. Kaplan, Ian. “The Daubechies D4 Wavelet Transform”,

(http://www.bearcave.com/misl/misl_tech/wavelets/daubechies/.2002)

7. Neubauer Andre, Freudenberger Jurgen, K¨uhn Volker. 2007. ”Coding Theory:

Algorithms Architectures and Application”. London: John Wiley & Sons Ltd,

8. Tinaja, “Exploring the BMP File Formats”,

(http://www.tinaja.com/expbmp.html)

(53)

Lampiran A

s = input('Password: ','s') %input password [hcs,z] = hammcod(s);

%menyisipkan watermark [iw,highgo] = wavsisip(i,z,hcs); imwrite(iw,'imgw.bmp');

%Penyisipan watermark dilakukan pada keofisien detail

%komponen warna hijau (green) citra setelah proses dekomposisi. id = double(i);

%Dekomposisi citra dengan wavelet sebanyak 4 level dwtmode('per');

[cr,sr]=wavedec2(r,4,'db4');%dekomposisi komopnen r [cg,sg]=wavedec2(g,4,'db4');

[cb,sb]=wavedec2(b,4,'db4');

%ekstrak keofisien detail(horizontal, vertikal, dan diagonal) pada level 4 [crh4,crv4,crd4] = detcoef2('all',cr,sr,4);

[cgh4,cgv4,cgd4] = detcoef2('all',cg,sg,4); [cbh4,cbv4,cbd4] = detcoef2('all',cb,sb,4);

l=prod(size(cgh4));%tetapkan ukuran matriks yang akan disipipkan watermark highg=cg(l+1:end);%matriks yang akan disispkan

highgo=highg;%simpan sebagai variabel highgo lowg=cg(1:l);%matriks aproksimasi

(54)

end

% inverse wavelet = rekonstruksi wavelet rw = waverec2(cr,sr,'db4');

gw = waverec2(cgmod,sg,'db4'); bw = waverec2(cb,sb,'db4');

imgw=cat(3,rw,gw,bw);%gabungkan ketiga matriks imw=uint8(imgw);

iw=imw;

pnsr.m

function [PSNR]=psnr(i,iu) %menghitung nilai PSNR

ir=i(:,:,1);%pisahkan komponen warna citra asli ig=i(:,:,2);

ib=i(:,:,3);

irw=iu(:,:,1);%pisahkan komponen warna citra berwatermark igw=iu(:,:,2);

ibw=iu(:,:,3); [m,n]=size(ir);

RMSEr=((sum(sum((ir-irw).*(ir-irw))))/m*n)^0.5;%hitung nilai RMSE RMSEg=((sum(sum((ig-igw).*(ig-igw))))/m*n)^0.5;

RMSEb=((sum(sum((ib-ibw).*(ib-ibw))))/m*n)^0.5;

RMSE=(RMSEr+RMSEg+RMSEb)/3 ; %ambil nilai rata-rata PSNR=abs(20*log10(1/RMSE));%hitung nilai PSNR

ekstrak.m

function [wtr1,wtr2,sim,corr,PSNRc,PSNRw]=ekstrak(i,iu) r=iu(:,:,1);

g=iu(:,:,2); b=iu(:,:,3);

s = input('Password: ','s') %input password [hcs,z]=hammcod(s);

%---

[wtr2,iurw,iugw,iubw] = wavekstrak(i,highgo);% fungsi ekstrak watermark citra asli igw=iugw; %set variabel igw

wtr1=wtr2;

%---

[wtr2,iurw,iugw,iubw] = wavekstrak(iu,highgo);% fungsi ekstrak watermark citra uji %---

imwrite(irw,'watermark1.tif'); %simpan citra watermark imwrite(iurw,'watermark2.tif');

[sim,corr]=simcorr(igw,iugw);

PSNRc=psnr(i,iu); %hitung PSNR citra

PSNRw=psnrw(igw,iugw);% hitung PSNR watermark

wavekstrak.m

(55)

[m,n]=size(id(:,:,1));

%Dekomposisi citra dengan wavelet sebanyak 4 level [cru,sru]=wavedec2(ru,4,'db4');

[cgu,sgu]=wavedec2(gu,4,'db4'); [cbu,sbu]=wavedec2(ru,4,'db4');

% ekstrak keofisien detail(horizontal, vertikal, dan diagonal) [crh4u,crv4u,crd4u] = detcoef2('all',cru,sru,4);

[cgh4u,cgv4u,cgd4u] = detcoef2('all',cgu,sgu,4); [cbh4u,cbv4u,cbd4u] = detcoef2('all',cbu,sbu,4); l=prod(size(crh4u));

highgu=cgu(l+1:end);%tetapkan matriks yang akan disisipkan k=prod(size(highgu));

if (highgo(1,k)>0)||(highgo(1,k)<0)

wgu(1,k)=(highgu(1,k)-highgo(1,k))/(alpha*highgo(1,k)); end

end

cgumod=[lowgu wgu]; %rekonstruksi wavelet

Gambar

Gambar 2.1 Dekomposisi sinyal satu tingkat.
Gambar 2.2 Rekonstruksi sinyal satu tingkat.
Tabel 2.1 Koefisien-koefisien highpass filter
Tabel 2.2  Error yang muncul.
+7

Referensi

Dokumen terkait

Bab ini berisi kesimpulan dari Tugas Akhir dan saran untuk pengembangan “ Watermarking citra berwarna digital pada ruang warna YCbCr menggunakan Discrete

Pada Tugas Akhir ini dibuat teknik watermarking citra digital berbasis DWT (Discrete Wavelet Transform) – SVD (Singular Value Decomposition). Teknik watermarking bertujuan untuk

Kemudian dari hasil simulasi didapatkan bahwa MP-Wavelet tipe B yang telah dikonstruksi pada penelitian ini menghasilkan rekonstruksi citra lebih baik daripada rekonstruksi

Discrete Cosine Transform merukan salah satu jenis transformasi yang sering digunakan dalam pengolahan citra. DCT pada dasarnya akan merepresentasikan suatu citra

Kemudian dari hasil simulasi didapatkan bahwa MP-Wavelet tipe B yang telah dikonstruksi pada penelitian ini menghasilkan rekonstruksi citra lebih baik daripada rekonstruksi

Discrete Cosine Transform merukan salah satu jenis transformasi yang sering digunakan dalam pengolahan citra. DCT pada dasarnya akan merepresentasikan suatu citra

Kemudian dari hasil simulasi didapatkan bahwa MP-Wavelet tipe B yang telah dikonstruksi pada penelitian ini menghasilkan rekonstruksi citra lebih baik daripada rekonstruksi

Hasil dari pengujian menunjukkan metode Spread Spectrum menghasilkan nilai PSNR yang lebih tinggi dibandingkan Discrete Wavelet Transform, sedangkan metode Discrete Wavelet