TUGAS AKHIR – CI1599
DETEKSI KERUSAKAN DAN PEMULIHAN CITRA DENGAN DUAL WATERMARK ROBI ARMADANI NRP 5105 100 035
Dosen Pembimbing Prof. Ir. Handayani Tjandrasa, M.Sc, Ph.d
JURUSAN TEKNIK INFORMATIKA Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Surabaya 2009
i
TUGAS AKHIR – CI1599
DETEKSI KERUSAKAN DAN PEMULIHAN CITRA DENGAN DUAL WATERMARK
ROBI ARMADANI NRP 5105 100 035
Dosen Pembimbing Prof. Ir. Handayani Tjandrasa, M.Sc, Ph.d
JURUSAN TEKNIK INFORMATIKA Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Surabaya 2009
UNDERGRADUATE THESES – CI1599
IMAGE TAMPERING DETECTION AND RECOVERY USING DUAL WATERMARK
ROBI ARMADANI NRP 5105 100 035
Supervisor Prof. Ir. Handayani Tjandrasa, M.Sc, Ph.d
DEPARTMENT OF INFORMATICS Faculty of Information Technology Sepuluh Nopember Institute of Technology Surabaya 2009
LEMBAR PENGESAHAN
DETEKSI KERUSAKAN DAN PEMULIHAN CITRA DENGAN DUAL WATERMARK
TUGAS AKHIR Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer pada Bidang Studi Intelligent Business System Program Studi S-1 Jurusan Teknik Informatika Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Oleh : ROBI ARMADANI Nrp. 5105 100 035 Disetujui oleh Tim Pembimbing Tugas Akhir : 1. Prof. Ir. Handayani Tjandrasa, M.Sc, Ph.d …. ( Pembimbing )
SURABAYA, JULI 2009
DETEKSI KERUSAKAN DAN PEMULIHAN CITRA DENGAN DUAL WATERMARK Nama Mahasiswa NRP Jurusan Dosen Pembimbing
: Robi Armadani : 5105 100 035 : Teknik Informatika FTIf - ITS : Prof. Ir. Handayani Tjandrasa, M.Sc, Ph.d
Abstrak Datangnya era dijital multimedia telah membawa banyak manfaat dalam hal berkreasi dan pendistribusian konten citra, tetapi kemudahan dalam penyalinan dan pengeditan juga memfasilitasi penggunaan yang tidak sah, penyalahgunaan, dan penyampaian informasi yang tidak benar. Pemilik dari konten citra tentu saja khawatir dengan dengan persoalan ini sehingga watermarking yang merupakan penempelan suatu signal (watermark) kedalam suatu citra, diajukan untuk melindungi hak kekayaan intelektual. Skema Dual Watermark yang efektif untuk deteksi kerusakan citra dan pemulihan diajukan dalam tugas akhir ini. Di dalam algoritma ini, setiap blok pada citra mengandung watermark dari dua blok lainnya. Dapat dikatakan, ada dua salinan dari watermark untuk setiap blok pada citra. Untuk itu, algoritma ini menjaga dua salinan dari watermark keseluruhan citra dan menyediakan kesempatan kedua untuk pemulihan blok jika dalam suatu kasus satu salinan telah rusak. Algoritma ini membutuhkan sebuah kunci rahasia, yang dilekatkan kedalam citra ber-watermark, dan sebuah algoritma public chaotic mixing yang digunakan untuk mengekstrak watermark untuk pemulihan kerusakan. Kata Kunci : Watermark, Deteksi, Pemulihan, Dual Watermark.
i
IMAGE TAMPERING AND DETECTION USING DUAL WATERMARK Student Name NRP Major Supervisor
: Robi Armadani : 5105 100 035 : Teknik Informatika FTIf - ITS : Prof. Ir. Handayani Tjandrasa, M.Sc, Ph.d
Abstract The age of digital multimedia has brought many advantages in the creation and distribution of image content, but the ease of copying and editing also facilitates unauthorized use, misappropriation, and misrepresentation. Content providers are naturally concerned about these issues, and watermarking which is the act of embedding another signal (the watermark) into an image, have been proposed to protect an owners rights. An effective dual watermark scheme for image tamper detection and recovery is proposed in this paper. In our algorithm, each block in the image contains the watermark of other two blocks. That is to say, there are two copies of watermark for each nonoverlapping block in the image. Therefore, we maintain two copies of watermark of the whole image and provide second chance for block recovery in case one copy is destroyed. A secret key, which is transmitted along with the watermarked image, and a public chaotic mixing algorithm are used to extract the watermark for tamper recovery. Keywords : Watermark, Dual Watermark, Detection, Recovery, Embedding.
ii
KATA PENGANTAR Segala puja dan puji syukur ke hadirat Allah SWT yang menguasai segala pengetahuan, atas berkat rahmat dan hidayah Nya, buku Tugas Akhir yang berjudul: “DETEKSI KERUSAKAN DAN PEMULIHAN CITRA DENGAN DUAL WATERMARK” Mata Kuliah Tugas Akhir yang memiliki beban sebesar 4 satuan kredit disusun dan diajukan sebagai salah satu syarat untuk menyelesaikan program strata satu (S-1) pada Jurusan Teknik Informatika di Institut Teknologi Sepuluh Nopember Surabaya. Dengan mengucap syukur, dengan ini penulis hendak menyampaikan penghormatan dan terimakasih yang sebesar-besarnya kepada pihak-pihak yang telah memberikan dukungan secara langsung maupun tidak langsung antara lain kepada : 1. Ayahanda dan Ibunda tercinta, Abdullah dan Maria Ulfa atas segala bimbingan, didikan, doa, dan dukungannya selama ini. 2. Kakak-kakaku, Mas Ruli dan Mbak Eli yang senantiasa memberikan saran dan dukungan. 3. Prof. Ir. Handayani Tjandrasa, M.Sc, Ph.d, selaku dosen pembimbing yang dengan sabar membimbing sampai akhir demi selesainya Tugas Akhir ini. Saya ucapkan terima kasih sedalam-dalamnya atas bimbingannya. 4. Dosen Penguji saya, Bu Bilqis Amaliah dan Pak Rully Soelaiman. Terima kasih atas kritik dan sarannya yang membangun. 5. Seluruh Dosen Pengajar dan Staf Akademis yang telah memberikan semua ilmunya dan kemudahan selama perkuliahan. 6. Teman teman 2005 7. Para Senior atas bimbingan moral nya yang memberikan dampak positif bagiku. 8. Teman teman di kos: Mas Dimas, Rahmat, Theo, Bayu,
Sastro, Cita, Diki . Terima kasih atas do’a dan supportnya. 9. Arek arek Lemmonice: maen band dengan kalian memberi tambahan semangat dan energi baru lagi buat menyelesaikan tugas akhir ini. 10. dan Pihak-pihak yang tidak bisa saya sebutkan satu-persatu. Sebagai manusia biasa, penulis menyadari bahwa karya Tugas Akhir ini masih jauh dari kesempurnaan dan mengandung banyak kekurangan di sana-sini sehingga dengan segala kerendahan hati penulis tetap mengharapkan saran serta kritik yang membangun dari rekan-rekan pembaca. Surabaya, Juni 2009 Penulis
iv
DAFTAR ISI Abstrak ..........................................................................................i KATA PENGANTAR ............................................................... iii DAFTAR ISI ................................................................................ v DAFTAR GAMBAR ................................................................ vii DAFTAR TABEL .......................................................................xi BAB 1 PENDAHULUAN ............................................................ 1 1.1 Latar Belakang............................................................... 1 1.2 Tujuan dan Manfaat ....................................................... 2 1.3 Rumusan Masalah ......................................................... 3 1.4 Batasan Masalah ............................................................ 3 1.5 Metodologi .................................................................... 4 1.6 Sistematika Laporan ...................................................... 5 BAB 2 DASAR TEORI ............................................................... 7 2.1 Watermark ..................................................................... 7 2.1.1 Pengenalan ............................................................. 7 2.1.2 Struktur dari Watermarking ................................. 10 2.1.3 Watermarking pada Citra Dijital ......................... 12 2.1.4 Fragile Image Watermarks .................................. 13 2.2 Citra di MATLAB dan Kakas Pengolahan Citra ......... 19 2.2.1 Tipe Data ............................................................. 20 2.2.2 Ringkasan Tipe Citra dan Tipe Data ................... 20 2.2.3 Peningkatan Kualitas Citra .................................. 21 2.3 Dual Watermark .......................................................... 22 2.3.1 Watermark Embedding ........................................ 23 2.3.2 Deteksi Kerusakan Blok ...................................... 31 2.3.3 Pemulihan Kerusakan pada Blok ......................... 33
BAB 3 PERANCANGAN DAN IMPLEMENTASI PERANGKAT LUNAK....................................................................................... 37 3.1 Deskripsi umum........................................................... 37 3.2 Perancangan dan implementasi proses ........................ 38 3.2.1 Watermark Embedding ........................................ 38 3.2.2 Deteksi Kerusakan Blok ...................................... 48 3.2.3 Pemulihan Kerusakan pada Blok ......................... 60 BAB 4 UJI COBA DAN EVALUASI ....................................... 69 4.1 Uji Fungsionalitas ........................................................ 69 4.1.1 Skenario ............................................................... 69 4.1.2 Lingkungan Uji Coba .......................................... 69 4.1.3 Pelaksanaan ......................................................... 70 4.1.4 Hasil uji coba ....................................................... 70 4.1.5 Analisis Hasil Uji Coba ....................................... 74 4.2 Uji Kualitas Citra ......................................................... 75 4.2.1 Skenario ............................................................... 75 4.2.2 Lingkungan Uji Coba .......................................... 77 4.2.3 Pelaksanaaan........................................................ 77 4.2.4 Hasil Uji Coba dan Analisis Hasil Uji Coba ....... 78 4.3 Uji Keamanan .............................................................. 88 4.3.1 Skenario ............................................................... 88 4.3.2 Lingkungan Uji Coba .......................................... 88 4.3.3 Pelaksanaaan........................................................ 89 4.3.4 Hasil Uji Coba ..................................................... 89 4.3.5 Analisis Hasil Uji Coba ....................................... 90 BAB 5 PENUTUP ...................................................................... 91 5.1 Kesimpulan .................................................................. 91 5.2 Saran ............................................................................ 92 DAFTAR PUSTAKA ................................................................ 93 BIODATA PENULIS ................................................................ 95
vi
DAFTAR GAMBAR Gambar 2.1 Perbedaan Steganography dengan Cryptography ............. 8 Gambar 2.2 Proses Embedding Watermark ....................................... 11 Gambar 2.3 Proses Deteksi Watermark .............................................. 11 Gambar 2.4 Teknik Watermarking ..................................................... 12 Gambar 2.5 Tahap pelekatan fragile watermark ................................ 15 Gambar 2.6 Citra orisinil(kiri) dan citra berwatermark(kanan).......... 15 Gambar 2.7 Teknik Deteksi Kerusakan pada Fragile Watermark ...... 16 Gambar 2.8 Hasil operasi Median Filter sebelum(kiri) dan sesudah(kanan) ................................................................................... 22 Gambar 2.9 Skema dari pelekatan watermark .................................... 23 Gambar 2.10 Skema proses deteksi dan pemulihan citra watermark . 23 Gambar 2.11 Skema proses pelekatan watermark .............................. 24 Gambar 2.12 Gambar contoh partner blok ......................................... 26 Gambar 2.13 Proses pembangkitan blok watermark .......................... 29 Gambar 2.14 Proses pembentukan Joint bit ....................................... 29 Gambar 2.15 Proses peletakan joint bit pada partner-blok ................. 30 Gambar 2.16 Skema proses deteksi kerusakan pada citra berwatermark ...................................................................................... 32 Gambar 2.17 Gambar blok-blok tetangga dari blok utama ................ 33 Gambar 2.18 Skema proses pemulihan kerusakan citra berwatermark ............................................................................................................ 34 Gambar 3.1 Kode Program Pembentukan Tabel Blok Awal .............. 38 Gambar 3.2 Kode Program Pembentukan Tabel Look-Up ................ 39 Gambar 3.3 Kode Program Pembentukan Tabel PushAside .............. 40 Gambar 3.4 Kode Program Pembangkitan Blok Watermark ............. 41 Gambar 3.5 Kode Program Pembentukan 12 Joint Bit Watermark.... 42 Gambar 3.6 Diagram proses embedding blok watermark .................. 43
Gambar 3.7 Kode Program Pelekatan Watermark pada Blok Pemulihan Pertama ............................................................................. 43 Gambar 3.8 Lanjutan Kode Program Pelekatan Watermark pada Blok Pemulihan Pertama ............................................................................. 44 Gambar 3.9 Kode Program Pelekatan Watermark Blok Pemulihan Kedua.................................................................................................. 45 Gambar 3.10 Lanjutan Kode Program Pelekatan Watermark Blok Pemulihan Kedua................................................................................ 46 Gambar 3.11 Diagram proses penghalusan citra ................................ 47 Gambar 3.12 Kode Program Penghalusan Citra Watermark .............. 47 Gambar 3.13 Lanjutan Kode Program Penghalusan Citra Watermark ............................................................................................................ 48 Gambar 3.14 Diagram proses deteksi level 1 ..................................... 49 Gambar 3.15 Kode Program Deteksi Kerusakan Level 1................... 49 Gambar 3.16 Lanjutan Kode Program Deteksi Kerusakan Level 1 ... 50 Gambar 3.17 Diagram proses deteksi level 2 ..................................... 51 Gambar 3.18 Kode Program Deteksi Level 2 untuk Blok Bagian Pojok Citra .................................................................................................... 51 Gambar 3.19 Kode Program Deteksi Level 2 untuk Blok Bagian Pojok Citra .................................................................................................... 52 Gambar 3.20 Kode Program Deteksi Level 2 untuk Blok Bagian Tepi Atas Citra ............................................................................................ 52 Gambar 3.21 Kode Program Deteksi Level 2 untuk Blok Bagian Tepi Bawah Citra ........................................................................................ 53 Gambar 3.22 Kode Program Deteksi Level 2 untuk Blok Bagian Tepi Kiri Citra............................................................................................. 53 Gambar 3.23 Kode Program Deteksi Level 2 untuk Blok Bagian Tepi Kanan Citra......................................................................................... 54 Gambar 3.24 Kode Program Deteksi Level 2 untuk Blok Bagian Tengah Citra ....................................................................................... 54 Gambar 3.25 Diagram proses deteksi level 3 ..................................... 55 viii
Gambar 3.26 Kode Program Deteksi Level 3 untuk Blok Tepi Atas Citra .................................................................................................... 56 Gambar 3.27 Kode Program Deteksi Level 3 untuk Blok Tepi Bawah Citra .................................................................................................... 56 Gambar 3.28 Lanjutan Kode Program Deteksi Level 3 untuk Blok Tepi Bawah Citra................................................................................ 57 Gambar 3.29 Kode Program Deteksi Level 3 untuk Blok Tepi Kiri Citra .................................................................................................... 57 Gambar 3.30 Kode Program Deteksi Level 3 untuk Blok Tepi Kiri Citra .................................................................................................... 58 Gambar 3.31 Kode Program Deteksi Level 3 untuk Blok Tepi Kanan Citra .................................................................................................... 58 Gambar 3.32 Kode Program Deteksi Level 3 untuk Blok Tengah Citra ............................................................................................................ 59 Gambar 3.33 Diagram proses pemulihan tahap 1............................... 61 Gambar 3.34 Kode Program Pemulihan Tahap 1 Pembentukan Blok Pemetaan ............................................................................................ 61 Gambar 3.35 Kode Program Pemulihan Tahap 1 Pengecekan Blok Pemulihan Pertama untuk Blok Tengah Atas ..................................... 62 Gambar 3.36 Kode Program Pemulihan Tahap 1 Pengecekan Blok Pemulihan Kedua untuk Blok Tengah Atas ....................................... 63 Gambar 3.37 Kode Program Pemulihan Tahap 1 Pengecekan Blok Pemulihan Pertama untuk Blok Tengah Bawah ................................. 64 Gambar 3.38 Kode Program Pemulihan Tahap 1 Pengecekan Blok Pemulihan Kedua untuk Blok Tengah Bawah .................................... 64 Gambar 3.39 Lanjutan Kode Program Pemulihan Tahap 1 Pengecekan Blok Pemulihan Kedua untuk Blok Tengah Bawah ........................... 65 Gambar 3.40 Diagram proses pemulihan tahap 2............................... 66 Gambar 3.41 Kode Program Pemulihan Tahap 2 ............................... 66 Gambar 3.42 Kode Program Peningkatan Kualitas Citra ................... 67 Gambar 4.1 Gambar grafik PSNR terhadap luas kerusakan............... 84
Halaman ini sengaja dikosongkan
x
DAFTAR TABEL Tabel 2.1 Ringkasan Tipe Citra dan Tipe Data .................................. 20 Tabel 2.2 Lanjutan Ringkasan Tipe Citra dan Tipe Data ................... 21 Tabel 2.3 Blok Pemetaan Awal .......................................................... 25 Tabel 2.4 Tabel Look-Up ................................................................... 25 Tabel 2.5 Tabel Look-Up dengan operasi Push-Aside ....................... 28 Tabel 4.1 Hasil Uji Coba Fungsionalitas Citra Berwatermark ........... 70 Tabel 4.2 Lanjutan 1 Hasil Uji Coba Fungsionalitas Citra Berwatermark ..................................................................................... 71 Tabel 4.3 Lanjutan 2 Hasil Uji Coba Fungsionalitas Citra Berwatermark ..................................................................................... 72 Tabel 4.4 Lanjutan 3 Hasil Uji Coba Fungsionalitas Citra Berwatermark ..................................................................................... 73 Tabel 4.5 Lanjutan 4 Hasil Uji Coba Fungsionalitas Citra Berwatermark ..................................................................................... 74 Tabel 4.6 Hasil Uji Coba PSNR Citra Berwatermark ........................ 78 Tabel 4.7 Lanjutan Hasil Uji Coba PSNR Citra Berwatermark ......... 79 Tabel 4.8 Hasil Uji Coba Pengaruh Luas Kerusakan terhadap nilai PSNR untuk kerusakan Single Chunk ................................................ 80 Tabel 4.9 Lanjutan 1 Hasil Uji Coba Pengaruh Luas Kerusakan terhadap nilai PSNR untuk kerusakan Single Chunk ......................... 81 Tabel 4.10 Lanjutan 2 Hasil Uji Coba Pengaruh Luas Kerusakan terhadap nilai PSNR untuk kerusakan Single Chunk ......................... 82 Tabel 4.11 Lanjutan 3 Hasil Uji Coba Pengaruh Luas Kerusakan terhadap nilai PSNR untuk kerusakan Single Chunk ......................... 83 Tabel 4.12 Hasil Uji Coba PSNR Citra Pemulihan dengan kerusakan menyebar (Spread Chunk) .................................................................. 84 Tabel 4.13 Lanjutan 1 Hasil Uji Coba PSNR Citra Pemulihan dengan kerusakan menyebar (Spread Chunk) ................................................. 85
Tabel 4.14 Lanjutan 2 Hasil Uji Coba PSNR Citra Pemulihan dengan kerusakan menyebar (Spread Chunk) ................................................. 86 Tabel 4.15 Hasil Uji Coba Pengaruh Nilai Kunci Rahasia terhadap Nilai PSNR. ........................................................................................ 86 Tabel 4.16 Lanjutan Hasil Uji Coba Pengaruh Nilai Kunci Rahasia terhadap Nilai PSNR. ......................................................................... 87 Tabel 4.17 Hasil Uji Coba Keamananan Watermark ........................ 89 Tabel 4.18 Lanjutan Hasil Uji Coba Keamananan Watermark .......... 90
xii