BAB II LANDASAN TEORI
2.1 Citra 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. Pada umumnya citra bitmap terdiri dari 4 blok data yaitu: BMP header, Bit Information (DIB header), Color Palette, dan Bitmap Data. BMP header berisi informasi umum dari citra bitmap. Blok ini berada pada bagian awal file citra dan
14
Universitas Sumatera Utara
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.2 Wavelet Wavelet adalah suatu metode pengolahan sinyal yang mana sebuah sinyal dipecah menjadi beberapa bagian yang merujuk kepada frekuensi yang berbedabeda. 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 fourier yang dapat mempresentasikan sinyal sebagai penjumlahan deret sinus dan kosinus. Namun salah satu kelemahan besar transformasi fourier adalah hanya mampu untuk menghasilkan resolusi frekuensi dan tidak ada resolusi waktu. Hal ini berarti suatu sinyal dapat ditentukan frekuensinya tetapi tidak dapat diketahui kapan
15
Universitas Sumatera Utara
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. Filterisasi sendiri merupakan sebuah fungsi yang digunakan dalam pemrosesan sinyal. Wavelet dapat direalisasikan menggunakan iterasi filter dengan penskalaan. Resolusi dari sinyal, yang merupakan rata-rata dari jumlah detil informasi dalam sinyal, ditentukan melalui filterasi ini dan skalanya didapatkan dengan upsampling dan downsampling (subsampling).
16
Universitas Sumatera Utara
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 didownsample 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.
y tinggi [k ] =
x[n]h[2k − n] ..........(2.1) n
y rendah [k ] =
x[n]g[2k − n] ........(2.2) n
17
Universitas Sumatera Utara
ytinggi [k ] dan y rendah[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. ytinggi [k ]
yrendah [k ]
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, y rendah[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:
x[n] =
( ytinggi [k ]h[−n + 2k ] + y rendah [k ]g[−n + 2k ]) ........(2.3) k
18
Universitas Sumatera Utara
Proses rekonstruksi sinyal untuk mendapatkan sinyal asal dengan satu tingkatan digambarkan pada Gambar 2.2 ytinggi [k ] yrendah [k ]
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 2.1. Untuk nilai koefisien g[n] diperoleh dengan menggunakan persamaan berikut:
19
Universitas Sumatera Utara
g 0 = h3 g 1 = − h2 ……(2.4) g 2 = h1 g 3 = − h0
Tabel 2.1 Koefisien-koefisien highpass filter No koefisien (n) 0 1 2 3 4 5 6 7
D2
D4
D6
D8
1 1
0.6830127 1.1830127 0.3169873 -0.1830127
0.47046721 1.14111692 0.650365 -0.19093442 -0.12083221 0.0498175
0.32580343 1.01094572 0.8922014 -0.03957503 -0.26450717 0.0436163 0.0465036 -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: ai = h0 s 2i + h1 s 2i +1 + h2 s 2i + 2 + h3 s 2i +3 …….(2.5) ci = g 0 s 2i + g1 s 2i +1 + g 2 s 2i + 2 + g 3 s 2i +3 …..(2.6) Dengan ai adalah sinyal aproksimasi, ci adalah sinyal detil, h0, h1, h2, h3 adalah keofisien h[n] dan g0, g1, g2, g3 adalah koefisien g[n] dan s adalah sinyal yang akan dianalisa. Dengan mengambil sebanyak delapan sampel sinyal (s), persamaan 5 dan 6 dapat dibuat ke dalam bentuk matriks sebagai berikut:
20
Universitas Sumatera Utara
ai ci ai +1 ci +1 ai + 2 ci + 2 ai + 3 ci +3
h0 g0 0 0 = 0 0 0 0
h1 g1 0 0 0 0 0 0
h2 g3 h0 g0 0 0 0 0
h3 g4 h1 g1 0 0 0 0
0 0 h2 g2 h0 g0 0 0
0 0 h3 g3 h1 g1 0 0
0 0 0 0 h2 g2 h0 g0
s 2i 0 s 2i +1 0 s 2i + 2 0 s 0 • 2i +3 .......(2.7) s 2i + 4 h3 g3 s 2 i +5 h1 s 2i + 6 g1 s 2i + 7
Untuk proses rekonstruksi menjadi sinyal (s) menggunakan persaman berikut:
s 2i s 2i +1 s 2i + 2 s 2i + 3 s 2i + 4 s 2i + 5 s 2i + 6 s 2i + 7
h2 h3 0 0 = 0 0 0 0
g2 g3 0 0 0 0 0 0
h0 h1 h2 h3 0 0 0 0
g3 g1 g2 g3 0 0 0 0
0 0 h0 g1 h2 g3 0 0
0 0 h0 h1 h2 h3 0 0
0 0 0 0 h0 gh h2 h3
ai 0 ci 0 ai +1 0 c 0 • i +1 ……(2.8) g0 ai + 2 g1 ci + 2 h2 ai +3 g3 ci +3
2.3 Kode 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: d + p + 1 ≤ 2 p ……………(2.9) dimana d adalah jumlah bit data dan p adalah jumlah bit parity.
21
Universitas Sumatera Utara
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: a3 = b3 ⊕ b2 ⊕ b1 a 2 = ¬b2 ⊕ b1 ⊕ b0 a1 = ¬b3 ⊕ b1 ⊕ b0
……..(2.10)
a0 = ¬b3 ⊕ b2 ⊕ b0 Yang mana ⊕ adalah operasi bitwise xor dan ¬ adalah bitwise not. Untuk mendekodekan satu byte kode Hamming tersebut dilakukan operasi bitwise xor pada kode Hamming untuk menghasilkan parity dengan persamaan sebagai berikut: p = h7 ⊕ h6 ⊕ h5 ⊕ h4 ⊕ h3 ⊕ h2 ⊕ h1 ⊕ h0 …..(2.11) c0 = h7 ⊕ h5 ⊕ h1 ⊕ h0 c1 = h7 ⊕ h3 ⊕ h2 ⊕ h1 …..(2.12) c 2 = h5 ⊕ h4 ⊕ h3 ⊕ h1 Jika parity, p , bernilai 1 maka terdapat 0 atau 2 error yang muncul. Jika 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
ditunjukkan pada Tabel 2.2.
22
Universitas Sumatera Utara
Tabel 2.2 Error yang muncul. c0 c1 c2 111 110 101 011 001 010 100 000
arti error pada bit h6 error pada bit h4 error pada bit h2 error pada bit h0 error pada bit h7 error pada bit h5 error pada bit h3 error pada bit h1
2.4 Watermarking 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 sistem penglihatan manusia (Human Visual System).
23
Universitas Sumatera Utara
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 dengan S, citra yang telah disisipkan watermark dinotasikan dengan I’ dan fungsi encoder dinotasikan dengan E. Pada proses watermarking, fungsi E mengambil citra
24
Universitas Sumatera Utara
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.
Gambar 2.4 Ekstraksi watermark.
25
Universitas Sumatera Utara
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 berwatermark 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 transformasi yang menyisipkan watermark ke dalam 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 bit pada citra dengan menggunakan 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 transformasi yang digunakan. Beberapa jenis transformasi yang sering digunakan
26
Universitas Sumatera Utara
yaitu Discrete Fourier Transform (DFT), Discrete Cosine Transform (DCT), Discrete Wavelet Transform (DWT), dan Discrete Laguerre Transform (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
dan security. Ketiga faktor tersebut harus dimiliki suatu aplikasi watermarking.
27
Universitas Sumatera Utara
2.4.7 Aplikasi Digital Watermarking 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 penerima mengekstrak informasi di dalamnya.
28
Universitas Sumatera Utara
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 malicious attack 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. 2. Kompresi
29
Universitas Sumatera Utara
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. 5. Cropping
30
Universitas Sumatera Utara
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 tempattempat yang memungkinkan terjadinya serangan.
2.5 Watermarking 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 berwatermark. 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), vertikal (LH), dan diagonal (HH).
31
Universitas Sumatera Utara
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:
f '= f + α . f .w(k ), k = 1,...., L ……(2.14) 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 berwatermark fr. Kedua citra tersebut didekomposisi kembali dengan transformasi wavelet untuk mendapatkan komponen aproksimasi dan detilnya. Proses ekstraksi watermark dilakukan dengan menggunakan rumus berikut:
wr ( k ) =
( fr − f ) …….(2.15) (α . f )
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 semakin baik kualitas sinyal yang dihasilkan. Penghitungan peak signal to-noise ratio (PSNR) digunakan untuk membandingkan kualitas citra hasil rekonstruksi atau citra uji dengan citra asal. Nilai PSNR umumnya berkisar
32
Universitas Sumatera Utara
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:
RMSE =
[ f (i, j ) − F (i, j )] M *N
2
………(2.16)
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:
PSNR = 20 log 10
255 ………..(2.17) RMSE
nilai 255 merupakan batas atas nilai piksel pada citra 8 bit (0-255).
2.6 Matlab 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 terdapat beberapa tipe data yang sering digunakan, yaitu : 1. *.m atau m-file
33
Universitas Sumatera Utara
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 diletakkan pada atau diambil dari direktori yang sedang aktif (current directory).
34
Universitas Sumatera Utara