WATERMARKING PADA CITRA DIGITAL MENGGUNAKAN DISCRETE WAVELET TRANSFORM
TUGAS AKHIR
oleh: Dean Fathony Alfatwa 13503003
PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG 2008
Lembar Pengesahan WATERMARKING PADA CITRA DIGITAL MENGGUNAKAN DISCRETE WAVELET TRANSFORM
TUGAS AKHIR
oleh: Dean Fathony Alfatwa 13503003
Disetujui: Bandung, 9 Oktober 2008 Pembimbing Tugas Akhir
Ir. Rinaldi Munir, M.T. NIP: 132084796
Abstraksi Kemudahan penyebaran citr a digital melalui internet memiliki sisi positif dan negatif terutama bagi pemilik asli citra digital tersebut. Sisi positif dari kemudahan penyebaran
adalah dengan cepatnya pemilik citra tersebut
menyebarkan file citra digital ke berbagai alamat situs di dunia. Sedangkan sisi negatifnya adalah jika tidak ada hak cipta yang berfungsi sebagai pelindung citra yang disebarkan tersebut, maka citra digital ini, yang misalakan adalah hasil foto komersil, atau hasil karya lukisan
digital, akan sangat mudah diakui
kepemelikannya oleh pihak lain.
Watermark merupakan salah satu solusi untuk melindungi hak cipta terhadap foto digital yang dihasilkan. Dengan diterapkannya Digital Image Watermarking ini maka hak cipta foto digital yang dihasilkan akan terlindungi dengan cara menyisipkan informasi tambahan seperti informasi pemilik, keaslian, dsb ke dalam foto digital tersebut. Discrete Wavelet Transform (DWT) merupakan salah satu kakas yang banyak digunakan dalam teknik watermarking dalam domain transform.
Penyisipan watermark ke dalam citra digital menggunakan DWT dijalankan dengan menggunakan aplikasi yang dibangun di lingkungan desktop. Aplikasi ini diberi nama Cammar. Cammar dibangun menggunakan bahasa pemograman Java versi 1.6. Sedangkan kompilator sekaligus IDE yan g digunakan untuk memudahkan pengembangan perangkat lunak adalah NetBeans 6. 0. Pemberian beberapa jenis serangan terhadap citra hasil penyisipan watermark menggunakan Cammar mengubah watermark yang telah disisipkan. Serangan yang mengubah watermark tersebut antara lain bluring, sharpening, dan penambahan noise.
Kata kunci: citra digital, watermarking, Discrete Wavelet Transform (DWT).
i
Kata Pengantar Puji syukur kepada Allah swt atas segala berkahNya, karena berkat rahmat dan bimbinganNya, Tugas Akhir in i dapat diselesaikan. Tugas Akhir ini dilaksanakan sebagai salah satu syarat kelulusan dari Departemen Teknik Informatika ITB.
Penulis juga menyadari bahwa banyak pihak yang telah membantu selama pengerjaan Tugas Akhir ini. Oleh karena itu, dengan segala kerendahan hati penulis ingin mengucapkan terima kasih sebesar -besarnya kepada: 1. Bapak Rinaldi Munir, yang telah bersedia menjadi dosen pembimbing Tugas Akhir ini, serta dengan sabar membimbing selama pengerjaan Tugas Akhir ini. 2. Bapak M. Sukrisno Mardiyanto sebagai dosen wali penulis. 3. Bapak Oerip S. Santoso yang telah bersedia menjadi dosen penguji untuk presentasi proposal Tugas Akhir. 4. Ibu Nur Ulfa Maulidevi yang telah bersedia menjadi dosen penguji untuk presentasi seminar Tugas Akhir. 5. Bapak Bugi Wibowo, sang penyelamat untuk pra sidang, sebagai penguji pra sidang dan sidang Tugas Akhir. 6. Bapak Santika Wachjudin Partasubita sebagai penguji pelaksanaan sidang Tugas Akhir. 7. Keluarga penulis, mami, ayah, de Fin a buat semua dukungan moral dan terutama spiritual. 8. Abah, Mbah Bus, Uti Cluring, buat semua doanya. 9. Teman-teman informatika 2003 terutama Fajar Yuliawan, terima kasih buat saran-saran codingnya, Febrian Aris Rosadi, terima kasih buat semua bantuannya, Neni Adiningsih, terima kasih bantuan penyusunan dokumen nya. 10. Pihak Tata Usaha, Pak Ade, Pak Rasidi, serta teman -teman TU-nya. 11. Teman-teman SMA yang masih sering kontak tanya Tugas Akhir penulis.
ii
12. The Uchiha Clan (anak-anak Cisitu Indah Baru 9), terima kasih atas gangguannya selama pengerjaan Tugas Akhir penulis. 13. The special ones, girls of my TA, Alfiyah Darojat, Melinda Theodora, dan Umi Nurhayati, terima kasih buat supportnya, nasihatnya, marah -marahnya, dan masih banyak lagi. 14. Pihak lainnya yang tidak dapat disebutkan satu per satu yang telah membantu baik secara langsung maupun tidak langsung.
Penulis menyadari bahwa laporan Tugas Akhir ini tidaklah sempurna, kritik dan saran yang membangun akan selalu diterima. Akhir kata, semoga Tugas Akhir ini dapat bermanfaat untuk semua orang yang membacanya.
Bandung, Oktober 2008
Penulis
iii
Daftar Isi Abstraksi
............................................................................................................ i
Kata Pengantar ........................................................................................................ ii Daftar Isi
.......................................................................................................... iv
Daftar Gambar...................................................................................................... viii Daftar Tabel ........................................................................................................... x BAB I
PENDAHULUAN .......................................................................... I-1
1.1
Latar Belakang ................................................................................ I-1
1.2
Rumusan Masalah ........................................................................... I-3
1.3
Tujuan ............................................................................................. I-3
1.4
Batasan Masalah.............................................................................. I-4
1.5
Metodologi ...................................................................................... I-4
1.6
Sistematika Pembahasan .................................................................I-5
BAB II
DASAR TEORI .............................................................................II-1
2.1
Citra Digital ...................................................................................II-1
2.1.1
Pembentukan Citra Digital.............................................................II-1
2.1.2
Perbedaan Antara Format File dan Kompresi................................II-3
2.2
Discrete Wavelet Transform ..........................................................II-4
2.2.1
Domain dalam Transformasi Sinyal...............................................II-4
2.2.2
Wavelet ...........................................................................................II-5
2.2.3
Transformasi Wavelet (Wavelet Transform) ..................................II-6
2.2.4
Discrete Wavelet Transform (DWT) ..............................................II-8
2.2.5
Penerapan DWT dalam Kompresi Citra .......................................II-12
2.3
Watermarking...............................................................................II-15
2.3.1
Sejarah Watermarking..................................................................II-16
2.3.2
Jenis Digital Watermarking .........................................................II-17
2.3.3
Digital Image Watermarking .......................................................II-18
2.3.4
Teknik dalam Digital Image Watermarkin g ................................II-20
2.3.5
Serangan terhadap Citra Ber -watermark......................................II-20
iv
2.3.6 2.4
Watermarking menggunakan DWT..............................................II-23 Kualitas Citra ...............................................................................II-25
2.4.1
Peak Signal-to-Noise Ratio (PSNR).............................................II-25
2.4.2
Penghitungan Galat/Error ............................................................II-26
2.5
Human Visual System (HVS)........................................................II-27
BAB III
ANALISIS ................................................................................... III-1
3.1
Dekomposisi Citra Digital yang Akan Disisipi Watermark ........ III-1
3.2
Proses Penyisipan Citra Watermark............................................. III-2
3.3
Pendeteksian dan Ekstraksi Watermark ....................................... III-3
3.4
Analisis Kebutuhan Perangkat Lunak .......................................... III-3
3.5
Deskripsi Umum Sistem untuk Watermarking ............................ III-4
3.5.1
Analisis Data ................................................................................ III-5
3.5.2
Analisis Proses ............................................................................. III-6
BAB IV
PERANCANGAN ....................................................................... IV-1
4.1
Perancangan Arsitektural ............................................................. IV-1
4.2
Batasan Perancangan.................................................................... IV-1
4.3
Perancangan Kelas ....................................................................... IV-2
4.4
Perancangan Antarmuka .............................................................. IV-3
4.4.1
Layar Saji frameMain .................................................................. IV-3
4.4.2
Layar Saji panelImage.................................................................. IV-5
4.4.3
Layar Saji panelInputWatermark ................................................. IV-6
4.4.4
Layar Saji panelInputExtract........................................................ IV-7
4.4.5
Layar Saji testPSNR..................................................................... IV-8
4.4.6
Layar Saji calculateError.............................................................. IV-9
BAB V
IMPLEMENTASI ......................................................................... V-1
5.1
Lingkungan Implementasi ............................................................. V-1
5.2
Perangkat Keras dalam Pengembanga n Cammar ......................... V-1
5.3
Perangkat Lunak dalam Pengembangan Cammar ......................... V-1
5.4
Implementasi Kelas ....................................................................... V-2
5.4.1
Kelas frame_Main ......................................................................... V-2
5.4.2
Kelas panel_Image ........................................................................ V-3
v
5.4.3
Kelas panel_InputWatermark........................................................ V-3
5.4.4
Kelas panel_InputExtract .............................................................. V-3
5.4.5
Kelas Watermark........................................................................... V-4
5.4.6
Kelas Extract ................................................................................. V-4
5.4.7
Kelas Haar ..................................................................................... V-4
5.4.8
Kelas panel_TestPSNR ................................................................. V-4
5.4.9
Kelas panel_CalculateError .......................................................... V-5
5.5
Implementasi Antarmuka .............................................................. V-5
5.5.1
Layar Saji frame_Main ................................................................. V-5
5.5.2
Layar Saji panel_Image................................................................. V-6
5.5.3
Layar Saji panel_InputWatermark ................................................ V-7
5.5.4
Layar Saji panel_InputExtract ...................................................... V-8
5.5.5
Layar Saji panel_TestPSNR .......................................................... V-9
5.5.6
Layar Saji panel_CalculateError ................................................. V-10
BAB VI
PENGUJIAN ................................................................................ VI-1
6.1
Tujuan Pengujian ......................................................................... VI-1
6.2
Rancangan Pengujian ................................................................... VI-1
6.3
Perancangan Kasus Uji ................................................................ VI-2
6.3.1
Skenario Uji Kebenaran Perangkat Lunak ................................... VI-2
6.3.2
Skenario Uji Kinerja Perangkat Lunak ........................................ VI-2
6.3.3
Skenario Uji Ketahanan Perangkat Lunak ................................... VI-2
6.4
Pelaksanaan Pengujian ................................................................. VI-3
6.5
Pelaksanaan Pengujian Kebenaran Perangkat Lunak .................. VI-4
6.6
Pelaksanaan Pengujian Kinerja Perangkat Lunak ........................ VI-5
6.7
Pelaksanaan Pengujian Ketahanan Perangkat Lunak ................... VI-5
6.8
Hasil Pengujian ............................................................................ VI-6
BAB VII
PENUTUP...................................................................................VII-1
7.1
Kesimpulan .................................................................................VII-1
7.2
Saran............................................................................................ VII-2
Daftar Pustaka ........................................................................................................ xi Daftar Referensi ................................................................................................... xiii
vi
Lampiran A. Perbedaan antara Format File dengan Kompresi Citra.................. A-1 Lampiran B. Anatomi Sistem Penglihatan Manusia dan Hubungan Sensitivitas Sistem Penglihatan dengan Watermarking ................................... B-1 Lampiran C. Hasil Pengujian .............................................................................. C-1
vii
Daftar Gambar Gambar II-1.
(a) Tingkat kecerahan yang kontinu, (b) tingkat kecerahan setelah mengalami kuantisasi 16 tingkatan diskrit [TEC06]. Sumbu f merupakan ukuran frekuensi, dan sumbu t merupakan waktu ........................................................................................II-3
Gambar II-2.
(a) Gelombang (wave), (b) wavelet [SRI03] ............................II-6
Gambar II-3.
Keluarga Wavelet (a)Haar, (b)Daubechies, (c)Coiflet, (d)Symlet, (e)Meyer, (f)Morlet, (g)Mexican Hat. Dengan sumbu
x
merupakan waktu, t dan sumbu y merupakan (t) [SRI03].....II-7 Gambar II-4.
Dekomposisi wavelet tiga tingkat [SRI03] ............................II-10
Gambar II-5.
Dekomposisi wavelet dengan frekuensi sinyal asal f=0~ [SRI03] ...................................................................................II-11
Gambar II-6.
Rekonstruksi wavelet tiga tingkat [SRI03] ............................II-12
Gambar II-7.
Dekomposisi wavelet satu tingkat terhadap citra [TER06] ....II-14
Gambar II-8.
(a) Citra Lena asli, (b) Struktur piramid dua tingkat, (c) Dekomposisi Lena menggunakan Daubechies Wavelet satu tingkat, (d) Dekomposisi Lena menggunakan Haar Wavelet dua tingkat [TER06]. ....................................................................II-15
Gambar II-9.
Penyisipan watermark [KUT99] ............................................II-18
Gambar II-10.
Ekstraksi watermark [KUT99]...............................................II-19
Gambar II-11.
Penyisipan
watermark
menggunakan
Discrete
Wavelet
Transform (DWT) [KEJ04] ....................................................II-24 Gambar III-1.
Dekomposisi citra host [TER06]............................................ III-1
Gambar III-2.
Arsitektur Sistem.................................................................... III-5
Gambar III-3.
Use Case perangkat lunak ...................................................... III-7
Gambar IV-1.
Keterhubungan antar kelas ..................................................... IV-4
Gambar IV-2.
Layar saji frameMain ............................................................. IV-5
Gambar IV-3.
Layar saji panelImage ............................................................ IV-6
Gambar IV-4.
Layar saji panelInputWatermark ............................................ IV-7
viii
Gambar IV-5.
Layar saji panelInputExtract .................................................. IV-8
Gambar IV-6.
Layar saji testPSNR ............................................................... IV-9
Gambar IV-7.
Layar saji calculateError ...................................................... IV-10
Gambar V-1.
Implementasi layar saji frameMain......................................... V-6
Gambar V-2.
Implementasi layar saji panelImage ........................................ V-7
Gambar V-3.
Implementasi layar saji panelInputWatermark ....................... V-8
Gambar V-4.
Implementasi layar saji panelInputExtract .............................. V-9
Gambar V-5.
Implementasi layar saji testPSNR ......................................... V-10
Gambar V-6.
Implementasi layar saji calculateError .................................. V-11
ix
Daftar Tabel Tabel IV-1. Kelas Utama dan Definisinya ......................................................... IV-2 Tabel IV-2. Kelas Tambahan dan Definisinya .................................................. IV-3 Tabel V-1. Implementasi Kelas ......................................................................... V-2
x