Lembar Pengesahan Program Studi Sarjana Informatika
Studi dan Implementasi Non Blind Watermarking dengan Metode Spread Spectrum
Tugas Akhir Program Studi Sarjana Informatika ITB
Oleh Bayu Adi Persada / 13505043
Telah disetujui dan disahkan sebagai laporan tugas akhir di Bandung, pada tanggal 15 September 2009
Pembimbing
Ir. Rinaldi Munir, M.T. NIP. 132084796
i
RINGKASAN Distribusi
data
digital
berupa
citra
sangat
pesat
mengingat
perkembangan internet dan dunia digital yang terus maju secara keseluruhan. Tentu saja, hal ini banyak membawa keuntungan bagi para penggunanya. Namun, tidak sedikit pula bahaya dan kerugian yang menyertainya, seperti penggandaan citra secara ilegal, klaim kepemilikan atas sebuah karya, dan pengubahan orisinalitas dari sebuah karya digital. Salah satu cara untuk menangani masalah tersebut yaitu dengan menggunakan digital watermarking. Pada Tugas Akhir ini, dilakukan studi mengenai penerapan digital watermarking pada citra digital. Citra digital yang digunakan memiliki format JPEG. Dilakukan studi literatur untuk menunjang pemahaman mengenai penerapan tersebut. Selanjutnya, dilakukan proses implementasi terhadap hasil studi beserta analisis yang telah dibuat. Dalam pengerjaan Tugas Akhir ini, dikembangkan sebuah perangkat lunak bernama WatermarkingCo yang berfungsi menyisipkan berkas watermark berupa logo biner pada citra digital berformat JPEG. Teknik yang digunakan dalam implementasi adalah spread spectrum dimana berkas watermark disebar di dalam domain frekuensi citra digital. Perangkat lunak ini dibangun pada platform MacOs X 10.5.7 dan dikembangkan dengan menggunakan NetBeans IDE 6.5.1. Dari Tugas Akhir ini, dapat disimpulkan bahwa perangkat lunak WatermarkingCo telah dikembangkan dengan baik dan dapat menjalankan fungsinya dengan benar dan tepat. WatermarkingCo dapat melakukan penyisipan berkas watermark berupa logo biner ke dalam citra digital dan ekstraksi berkas tersebut dari sebuah citra ber-watermark. Kata kunci : digital watermarking, spread spectrum, citra digital, logo biner, JPEG
ii
KATA PENGANTAR Penulis memanjatkan puji syukur yang sebesar-besarnya pada Allah SWT atas segala rahmat, karunia, izin, dan ridho-Nya sehingga penulis dapat menyelesaikan Tugas Akhir ini dengan baik. Dalam pengerjaan Tugas Akhir ini, penulis membutuhkan bantuan dari berbagai pihak. Kontribusi dan bantuan mereka sangat berpengaruh dan bernilai bagi keberhasilan penulis menyelesaikan Tugas Akhir. Oleh karena itu, atas terselesaikannya laporan ini, penulis ingin mengucapkan terima kasih kepada : 1. Yulinar Ratih Dewayani selaku Ibunda, Bambang Rosihan selaku Ayahanda, Bintang Pramodana selaku kakak, dan Naratama Pradipta selaku adik yang terus mendampingi dan tidak pernah lelah memberikan semangat kepada penulis. 2. Keluarga besar HS. Sumaryono untuk setiap doa dan dukungan yang tak pernah berhenti. 3. Bapak Dr. Ing. H. M. Sukrisno Mardiyanto selaku mantan Ketua Program Studi Teknik Informatika ITB. 4. Ibu GA Putri Saptawati selaku Ketua Program Studi Teknik Informatika ITB. 5. Ibu Ir. Agustinah Saptajuwita K, M.Sc. dan Bapak Akhmad Imam Kistijantoro, S.T., M.Sc., Ph.D. selaku wali penulis selama 4 tahun menempuh kuliah. 6. Bapak Ir. Rinaldi Munir, M.T. selaku dosen pembimbing dalam pelaksanaan Tugas Akhir ini atas arahan dan bimbingan yang diberikan dengan penuh kesabaran. 7. Ibu Dra. Harlili, M.Sc. dan Bapak Dr. Ir. Rila Mandala, M.Eng. selaku dosen penguji Tugas Akhir ini atas seluruh masukan dan arahannya. 8. Seluruh dosen program studi Teknik Informatika yang telah memberikan pengetahuan yang sangat berharga bagi penulis. iii
9. Muh. Ikhsan Assaat, Larissa Rena, Rezza Mahyudin, Muh. Ray Rizaldi, Anugrah Adeputra, Fajar Dwi Anggara, Husein Azmi, Ginar Santika, Umi Fadilah, Twindania N, Joelian Samuel, Made Mahendra, Riani Rilanda, Desi Hadiati, Muh. Surya P, Halim Munawar, Geri Noorzaman, Irfan Hanif, Wahyu Adhi, Muhammad Iqbal, Rindhu Astry, Tara Baskara, dan Reza Rahman yang telah menjadi teman yang sangat baik bagi penulis dalam suka dan duka selama kuliah di Teknik Informatika. 10. Kukuh Nasrul Wicaksono, Prasetyo Andy, Winda Winanti, Muh. Gilang Kautzar, Rahmat Izwan, Ahmad Zamakhsyari, dan Imaduddin Amin sebagai teman seperjuangan penulis dalam mengerjakan Tugas Akhir. 11. Adhi Pradipta Nandi Wardhana, Denta Dannika, Herdityo Khaesaro, Muhammad Rizki, Ponti Marendra, dan Yudi Purwawijaya yang telah menjadi sahabat yang baik dalam keseharian penulis. 12. Teman-teman IF angkatan 2005 yang sangat luar biasa telah memberikan banyak kenangan manis selama masa perkuliahan. 13. Rekan-rekan tim sepakbola HMIF atas keceriaan, kemenangan, tawa, dan kesedihan yang diperoleh penulis disela-sela kuliah dan pengerjaan Tugas Akhir. 14. Teman-teman kost CIBA yang telah menjadi keluarga terdekat penulis selama menjalani kuliah. 15. Teman-teman HMIF dan Informatika ITB yang tidak dapat disebutkan satu per satu. 16. Segenap staf dan karyawan Tata Usaha di lingkungan Teknik Informatika, terutama Pak Ade, Pak Rasidi, Bu Titi, Pak Maman, dan Pak Wawan. 17. Aninditha Kusumaningtyas yang selalu memberikan semangat dan perhatian kepada penulis di sela-sela keseharian. 18. Semua pihak yang telah membantu dan tidak dapat disebutkan namanya satu per satu.
iv
Semoga Tugas Akhir ini dapat memberikan manfaat bagi semua pihak yang membutuhkannya. Penulis menyadari Tugas Akhir ini masih memiliki banyak kekurangan. Oleh karena itu, kritik dan saran dari pembaca sangat penulis harapkan.
Bandung, September 2009
Penulis
v
DAFTAR ISI RINGKASAN ........................................................................................................ ii KATA PENGANTAR .......................................................................................... iii DAFTAR ISI ......................................................................................................... vi DAFTAR GAMBAR ............................................................................................ ix DAFTAR TABEL................................................................................................. xi 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.2 DISCRETE COSINE TRANSFORM (DCT) ........................................... II-4 2.3 WATERMARKING ................................................................................. II-8 2.3.1 SEJARAH WATERMARKING...................................................... II-10 2.3.2 PERBEDAAN WATERMARKING DAN STEGANOGRAFI ...... II-11 2.3.3 DIGITAL WATERMARKING ....................................................... II-11 2.3.4 JENIS DIGITAL WATERMARKING............................................ II-13 2.3.5 APLIKASI DIGITAL WATERMARKING.................................... II-14 2.3.6 METODE DIGITAL WATERMARKING ..................................... II-15 2.3.7 WATERMARKING PADA BERKAS CITRA............................... II-18 2.3.7.1 Penggunaan DCT dalam Domain Frekuensi .......................... II-19 BAB III. ANALISIS MASALAH ................................................................. III-1 3.1 PROSES ENKODING WATERMARK ................................................. III-1 3.2 PROSES DEKODING WATERMARK ................................................. III-6 BAB IV. ANALISIS DAN PERANCANGAN PERANGKAT LUNAK....IV-1 vi
4.1 ANALISIS PERANGKAT LUNAK.....................................................IV-1 4.1.1 ANALISIS KEBUTUHAN............................................................IV-1 4.1.2 TUJUAN PENGEMBANGAN......................................................IV-2 4.1.3 BATASAN RANCANGAN SISTEM ...........................................IV-2 4.1.4 MASUKAN DAN KELUARAN SISTEM....................................IV-3 4.1.5 ANALISIS FUNGSIONAL SISTEM ............................................IV-3 4.1.5.1 Diagram Konteks.....................................................................IV-3 4.1.5.2 DFD Tingkat 1 WatermarkingCo............................................IV-5 4.1.5.3 DFD Tingkat 2 WatermarkingCo untuk Proses Enkoding......IV-7 4.1.5.4 DFD Tingkat 2 WatermarkingCo untuk Proses Dekoding .....IV-9 4.1.5.5 DFD Tingkat 3 untuk Proses Penyisipan Bit Watermark .....IV-11 4.1.5.6 DFD Tingkat 3 untuk Proses Ekstraksi Bit Watermark ........IV-13 4.2 PERANCANGAN PERANGKAT LUNAK.......................................IV-14 4.2.1 PERANCANGAN ANTARMUKA.............................................IV-15 4.2.1.1 Perancangan Antarmuka Enkoding .......................................IV-15 4.2.1.2 Perancangan Antarmuka Dekoding.......................................IV-17 4.2.2 PERANCANGAN KELAS..........................................................IV-18 BAB V. IMPLEMENTASI DAN PENGUJIAN .......................................... V-1 5.1 IMPLEMENTASI .................................................................................. V-1 5.1.1 LINGKUNGAN IMPLEMENTASI ............................................... V-1 5.1.2 IMPLEMENTASI KELAS ............................................................. V-1 5.1.3 IMPLEMENTASI ANTARMUKA ................................................ V-2 5.2 PENGUJIAN .......................................................................................... V-5 5.2.1 LINGKUNGAN PENGUJIAN ....................................................... V-6 5.2.2 TUJUAN UJI................................................................................... V-6 5.2.3 BATASAN PENGUJIAN ............................................................... V-6 5.2.4 PERANCANGAN KASUS UJI...................................................... V-7 5.2.4.1 Kasus Uji Kebenaran Perangkat Lunak.................................... V-7 5.2.4.2 Kasus Uji Kinerja Perangkat Lunak......................................... V-7 5.2.5 DATA PENGUJIAN....................................................................... V-7 5.2.6 PELAKSANAAN DAN HASIL PENGUJIAN .............................. V-9 vii
5.2.6.1 Pengujian Kebenaran Perangkat Lunak ................................... V-9 5.2.6.2 Pengujian Kinerja Perangkat Lunak....................................... V-10 5.2.7 ANALISIS HASIL PENGUJIAN ................................................. V-11 5.2.7.1 Analisis Hasil Uji Kebenaran Perangkat Lunak..................... V-12 5.2.7.2 Analisis Hasil Uji Kinerja Perangkat Lunak .......................... V-13 BAB VI. PENUTUP........................................................................................VI-1 6.1 KESIMPULAN .....................................................................................VI-1 6.2 SARAN .................................................................................................VI-2 DAFTAR REFERENSI ....................................................................................... ix DAFTAR PUSTAKA ............................................................................................ x LAMPIRAN A.
HASIL PENGUJIAN ........................................................ A-1
LAMPIRAN B.
KELAS PERANCANGAN ............................................... B-1
viii
DAFTAR GAMBAR Gambar II-1. Komponen warna RGB pada suatu piksel citra ............................. II-3 Gambar II-2. Fungsi basis DCT satu dimensi untuk N=8 [KHA03]................... II-6 Gambar II-3. Pembagian frekuensi koefisien DCT untuk ukuran blok 8 x 8...... II-7 Gambar II-4. Penyisipan watermark pada sebuah citra digital ......................... II-10 Gambar II-5. Proses penyisipan watermark pada digital watermarking [SIR04]II-15 Gambar II-6. Proses penyisipan dan ekstraksi watermark pada satu citra digital dengan LSB[SIR04]........................................................................................... II-16 Gambar II-7. Teknik watermarking dengan metode spread spectrum [COX97]II-17 Gambar II-8. Ilustrasi proses patchwork [SIR04] ............................................. II-18 Gambar II-9. Skema watermarking citra di ranah DCT.................................... II-20 Gambar III-1. Contoh matriks watermark logo biner ........................................III-1 Gambar III-2. Deretan bilangan biner dari contoh berkas watermark ...............III-2 Gambar III-3. Deretan bilangan biner dari contoh berkas watermark hasil pengubahan bit ...................................................................................................III-2 Gambar III-4. Contoh matriks koefisien DCT sebuah citra digital [CAB99] ....III-3 Gambar III-5. Skema penelusuran matriks koefisien DCT ................................III-4 Gambar III-6. Matriks koefisien DCT hasil penyisipan watermark...................III-5 Gambar III-7. Proses penyisipan watermark pada citra .....................................III-6 Gambar III-8. Perbandingan matriks koefisien DCT citra asal dan citra berwatermark...........................................................................................................III-7 Gambar III-9. Proses ekstraksi berkas watermark dari citra ber-watermark .....III-8 Gambar IV-1. Diagram konteks untuk aplikasi WatermarkingCo.....................IV-4 Gambar IV-2. DFD tingkat 1 WatermarkingCo.................................................IV-5 Gambar IV-3. DFD tingkat 2 untuk proses enkoding ........................................IV-7 Gambar IV-4. DFD tingkat 2 untuk proses dekoding ........................................IV-9 Gambar IV-5. DFD tingkat 3 untuk proses penyisipan bit watermark ............IV-11 Gambar IV-6. DFD tingkat 3 untuk proses ekstraksi bit watermark ...............IV-13 Gambar IV-7. Antarmuka Enkoding ................................................................IV-16 ix
Gambar IV-8. Antarmuka Enkoding yang berhasil..........................................IV-16 Gambar IV-9. Antarmuka Dekoding................................................................IV-18 Gambar IV-10. Antarmuka Dekoding yang berhasil .......................................IV-18 Gambar IV-11. Diagram kelas perancangan ....................................................IV-21 Gambar V-1. Implementasi antarmuka proses enkoding .................................... V-3 Gambar V-2. Implementasi antarmuka untuk hasil proses enkoding ................. V-3 Gambar V-3. Implementasi antarmuka proses dekoding .................................... V-4 Gambar V-4. Implementasi antarmuka untuk hasil proses dekoding ................. V-4 Gambar V-5. Implementasi antarmuka proses perhitungan BER ....................... V-5 Gambar V-6. Ilustrasi lokasi terjadinya kehilangan informasi.......................... V-12
x
DAFTAR TABEL Tabel II-1. Skala abu dan rentang nilai keabuan ................................................. II-4 Tabel IV-1. Entitas diagram konteks..................................................................IV-4 Tabel IV-2. Entitas data DFD tingkat 1 .............................................................IV-6 Tabel IV-3. Proses pada DFD tingkat 1 .............................................................IV-6 Tabel IV-4. Entitas data DFD tingkat 2 untuk proses enkoding ........................IV-8 Tabel IV-5. Proses pada DFD tingkat 2 proses enkoding ..................................IV-8 Tabel IV-6. Entitas data pada DFD tingkat 2 untuk proses dekoding..............IV-10 Tabel IV-7. Proses pada DFD tingkat 2 untuk proses dekoding ......................IV-10 Tabel IV-8. Entitas data pada DFD tingkat 3 untuk proses penyisipan bit watermark.........................................................................................................IV-12 Tabel IV-9. Proses pada DFD tingkat 3 untuk proses penyisipan bit watermark ..... ..........................................................................................................................IV-12 Tabel IV-10. Entitas data pada DFD tingkat 3 untuk proses ekstraksi bit watermark.........................................................................................................IV-14 Tabel IV-11. Proses pada DFD tingkat 3 untuk proses ekstraksi bit watermark ..........................................................................................................................IV-14 Tabel IV-12. Daftar kelas perancangan............................................................IV-19 Tabel V-1. Daftar tabulasi kelas perancangan dan kelas implementasi .............. V-2 Tabel V-2. Citra digital yang akan dipakai untuk pengujian .............................. V-8 Tabel V-3. Logo biner yang digunakan untuk pengujian.................................... V-8 Tabel A-1. Proses penyisipan logo "unesco.jpg" pada citra "funny.jpg"............ A-1 Tabel A-2. Proses penyisipan logo "cdc.jpg" pada citra "lena.jpg" .................... A-2 Tabel A-3. Proses penyisipan logo "unesco.jpg" pada citra "lena.jpg"............... A-3 Tabel A-4. Proses penyisipan logo "optic.jpg" pada citra "lena.jpg".................. A-4 Tabel A-5. Proses penyisipan logo "cdc.jpg" pada citra "flower.jpg" ................ A-5 Tabel A-6. Proses ekstraksi logo “unesco.jpg” dari citra ber-watermark “funnyunesco.jpg” .......................................................................................................... A-6
xi
Tabel A-7. Proses ekstraksi logo "unesco.jpg" dari citra ber-watermark "lenaunesco.jpg" .......................................................................................................... A-7 Tabel A-8. Proses ekstraksi logo "cdc.jpg" dari citra ber-watermark "lenacdc.jpg"................................................................................................................ A-8 Tabel A-9. Proses ekstraksi logo "optic.jpg" dari citra ber-watermark "lenaoptic.jpg" ........................................................................................................... A-10 Tabel A-10. Proses ekstraksi logo "cdc.jpg" dari citra ber-watermark "flowercdc.jpg".............................................................................................................. A-11 Tabel A-11. Uji ketahanan watermark pada pengolahan up-scaling ................ A-13 Tabel A-12. Uji ketahanan watermark pada pengolahan down-scaling ........... A-14 Tabel A-13. Uji ketahanan watermark pada pengolahan cropping................... A-15 Tabel A-14. Uji ketahanan watermark pada pengolahan JPEG distortion....... A-17 Tabel A-15. Uji ketahanan watermark pada pengolahan JPEG dithering........ A-18 Tabel A-16. Uji ketahanan watermark pada pengolahan triple watermarking. A-19 Tabel B-1. Deskripsi kelas perancangan MonochromeImage............................. B-1 Tabel B-2. Deksripsi kelas perancangan MonochromeReader ........................... B-1 Tabel B-3. Deskripsi kelas perancangan WatermarkEncoder............................. B-2 Tabel B-4. Deskripsi kelas perancangan WatermarkDecoder............................. B-2 Tabel B-5. Deskripsi kelas perancangan Engine................................................. B-3 Tabel B-6. Deskripsi kelas perancangan TableEntry .......................................... B-3 Tabel B-7. Deskripsi kelas perancangan TableMax............................................ B-4 Tabel B-8. Deskripsi kelas perancangan BER .................................................... B-4 Tabel B-9. Deskripsi kelas perancangan ForwardDCT....................................... B-5 Tabel B-10. Deskripsi kelas perancangan InverseDCT ...................................... B-5 Tabel B-11. Deskripsi kelas perancangan DCT .................................................. B-5
xii