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
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 )
DETEKSI KERUSAKAN DAN PEMULIHAN CITRA DENGAN DUAL WATERMARK
Nama Mahasiswa : Robi Armadani
NRP : 5105 100 035
Jurusan : Teknik Informatika FTIf - ITS
Dosen Pembimbing : 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.
IMAGE TAMPERING AND DETECTION USING DUAL WATERMARK
Student Name : Robi Armadani
NRP : 5105 100 035
Major : Teknik Informatika FTIf - ITS
Supervisor : 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 non-overlapping 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.
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.
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
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
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.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
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
Halaman ini sengaja dikosongkan
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
xii
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