APLIKASI WATERMARK PADA CITRA DIGITAL MENGGUNAKAN METODE SINGULAR VALUE DECOMPOSITION (SVD)
YAYAN ADRIANSYAH
PROGRAM STUDI MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 2011 M /1433 H
APLIKASI WATERMARK PADA CITRA DIGITAL MENGGUNAKAN METODE SINGULAR VALUE DECOMPOSITION (SVD)
Skripsi Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Sains Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh:
YAYAN ADRIANSYAH 106094003193
PROGRAM STUDI MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 2011 M /1433 H
i
PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENARBENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI PADA PERGURUAN TINGGI ATAU LEMBAGA MANAPUN.
Jakarta, Desember 2011
Yayan Adriansyah 106094003193
iii
For My Existence …
iv
ABSTRAK Penyalahgunaan hak cipta pada multimedia pada produk digital seperti citra tidak hanya mengenai penggandaan dan pendistribusiannya saja, tetapi juga mengenai label kepemilikan. Kebanyakan produk digital tersebut tidak mencantumkan pemegang hak ciptanya atau informasi pemiliknya. Seseorang yang telah mendapat produk digital dapat mengklaim bahwa produk tersebut adalah hasil karyanya. Salah satu cara untuk melindungi hak cipta multimedia seperti citra adalah dengan menyisipkan informasi ke dalam citra tersebut dengan teknik watermarking. Watermarking pada citra dilakukan sedemikian sehingga informasi yang disisipkan tidak merusak citra yang dilindungi. Skripsi ini menghasilkan suatu sistem untuk menyisipkan watermark sebagai bukti kepemilikan dengan metode SVD (Singular Value Decomposition). Kata Kunci: Citra, Watermarking dan SVD (Singular Value Decomposition).
vi
ABSTRACT The abuse of copyright in the multimedia area such images is not just about multiplication and distributions, but about ownership labeling. Most of digital products do not give a copyright or ownership information. Someone who got a digital product can claim that those product is his/him creation. One of ways to shelter multimedia copyright for example image is embeded the information into images with watermarking technique. Watermarking for images did be such that the informations which embedded not to demaged the protection images. This paper present a system for embedded watermark for copyright with SVD (Singular Value Decomposition) method. Keywords : Images,Watermarking, and SVD (Singular Value Decomposition).
KATA PENGANTAR
ﺑﺴﻢ اﷲ اار ﺣﻤﻦ اار ﺣﯿﻢ Segala puji dan syukur kepada Sumber dari suara-suara hati yang bersifat mulia, Sumber ilmu pengetahuan, Sumber segala kebenaran, Sang Maha Cahaya, Allah SWT sehingga penulis dapat senantiasa bersyukur dapat menyelesaikan skripsi ini. Shalawat serta salam teruntuk Nabi Muhammad SAW, sumber tauladan seluruh umat manusia, yang selalu menjadi sumber inspirasi penulis untuk harus selalu bersifat rendah hati dan tidak takabur dalam penyelesaian skripsi ini. Penulis menyadari bahwa penyelesaian tulisan ini tidak terlepas dari untaian do’a, dukungan, dan bantuan dari berbagai pihak. Dalam kesempatan dirahmati oleh Allah SWT ini, perkenankalah penulis mengucapakan banyak terima kasih kepada : 1. Dr. Syopyansyah Jaya Putra, M.Sis. selaku Dekan Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta. 2. Yanne Irene, M.Si. selaku Ketua Program Studi (Prodi) Matematika Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta serta selaku Penguji I. 3. Ibu Suma’inna M.Si. Selaku Pembimbing I dan Bapak Hata Maulana, S.Si.M.TI. Selaku Pembimbing II untuk semua waktu, semangat, dan nasehat kepada penulis. 4. Ibu Gustina Elfiyanti selaku penguji II dan seluruh dosen dan staf Program Studi (prodi) Matematika Fakultas Sains dan Teknologi atas waktu, ilmu, dan motivasinya.
vii
5. Orang yang kucintai, mamah dan ayahanda, kakaku, serta seluruh keluarga besar penulis, untuk semua do’a, bimbingan, dan semangatnya. 6. Teman-teman seperjuangan Iif, Indra, Ela dan seluruh teman dari berbagai angkatan prodi matemaika yang selalu memotivasi penulis untuk segera menyelesaikan skripsinya. 7. Tak ketinggalan dan tak bisa di lupakan Teman-teman kosan sekaligus teman tim basket UIN Jakarta, Qober, Zul, Gepeng, Cay, Oms, Away, Nana, Mamang, Akew, Thifani Berkahandina pacar saya, dan teman-teman yang di Bandung Simbau, Mail, Oghi, Badak, Rifi. Seluruh teman dimanapun kalian berada yang tidak dapat disebutkan satu per satu, untuk do’a, dukungan, dan candanya. Harapan yang besar bahwa pembahasan dalam skripsi ini dapat memberikan manfaat dan kontribusi yang berarti, baik bagi para pembaca pada umumnya dan bagi penulis pada khususnya. Berkaitan dengan penyusunan skripsi ini masih jauh dari kesempurnaan, oleh karena itu kritik dan saran kontruksif sangat penulis harapkan. Semoga kita selalu berada di jalan-Nya serta selalu mendapatkan rahmat dan hidayah-Nya. Amin.
Jakarta, Desember 2011
Penulis
viii
DAFTAR ISI
HALAMAN JUDUL...............................................................
i
PENGESAHAN ...................................................................
ii
PERNYATAAN ...................................................................
iii
PERSEMBAHAN ...................................................................
iv
ABSTRAK
.............. ...........................................................
v
ABSTRACT .........................................................................
vi
KATA PENGANTAR ............................................................
vii
DAFTAR ISI .........................................................................
ix
DAFTAR GAMBAR ..............................................................
xii
DAFTAR TABEL ...................................................................
xiv
BAB I. PENDAHULUAN ....................................................
1
1.1. Latar Belakang ..................................................................
1
1.2. Permasalahan .....................................................................
2
1.3. Pembatasan Masalah ..........................................................
3
1.4. Tujuan Penelitian ................................................................
3
1.5. Manfaat Penelitian ..............................................................
3
BAB II. LANDASAN TEORI ..............................................
4
2.1. Citra Digital ......................................................................
4
2.2. Digitalisasi Citra ...............................................................
5
xi
2.3. Resolusi ...............................................................................
6
2.4. Tipe Citra .........................................................................
7
2.5. Watermarking ....................................................................
11
2.5.1. Sejarah Watermarking .............................................
11
2.5.2. Pengertian Watermarking ........................................
11
2.5.3. Manfaat Watermarking ...........................................
12
2.5.4. Kriteria Watermarking yang baik ............................
14
2.5.5. Teknik Watermarking ............................................
15
2.6. Singular Value Decomposition (SVD) ................................
16
2.7. Pembangkit Pseudorandom ................................................
19
2.8. Pseudorandom Aturan 2D ..................................................
20
BAB III. METODE PENELITIAN .. .........................................
22
3.1. Data ..................................................................................
22
3.2. Penyisipan Watermark .......................................................
22
3.3. Alur Penyisipan Watermark …………………………….… .
23
3.3.1. Pengolahan Citra Berwarna .......................................
23
3.3.2. Digitalisasi Citra .......................................................
23
3.3.3. Proses SVD Citra Sebagai Metode Watermark ..........
24
BAB IV. PEMBAHASAN DAN APLIKASI .......................
25
4.1. Aplikasi Pada Citra ............................................................
25
4.1.1. Merepresentasikan citra ke Bentuk Matriks .............
25
4.2. Pembuatan Kunci Watermark ..........................................
29
xi
4.3. Penempelan dan Watermark Pada Citra ...........................
30
4.3.1. Proses Penempelan Watermark .................................
30
BAB V. KESIMPULAN DAN SARAN ..............................
37
5.1. Kesimpulan .......................................................................
37
5.2. Saran ................................................................................
37
REFERENSI .........................................................................
38
LAMPIRAN
xi
DAFTAR GAMBAR
Gambar 2.1. Citra Digital
...................................................................
4
Gambar 2.2.Koordinat pixel dengan c merepresentasikan baris Dan r merepresentasikan kolom..........................................
6
Gambar 2.3. Komponen RGB dan komposisinya ....................................
7
Gambar 2.4. Contoh penyimpanan citra berwarna didalam memori Komputer ...........................................................................
8
Gambar 2.5. Koordinat warna RGB ........................................................
9
Gambar 2.6. Skala keabuan citra grayscale menggunakan 8-bit ..............
10
Gambar 2.7. Citra grayscale dengan sampel representasi numerik 8-bit ..
10
Gambar 2.8. Contoh citra biner dengan sample citra ukuran 10 6 pixel.. .
11
Gambar 3.1. Alur Penyisipan Watermark ................................................
23
Gambar 4.1. Citra berwarna yang akan di- watermark .............................
25
Gambar 4.2. Sampel citra yang akan di-watermark .................................
27
Gambar 4.3. Representasi Numerik Matriks Red (R) ...............................
27
Gambar 4.4. Representasi Numerik Green (G) .......................................
28
Gambar 4.5. Representasi Numerik Blue (B) ...........................................
28
Gambar 4.6. Kunci Watermark ...............................................................
29
Gambar 4.7. Nilai Singular S dari matriks Red (R) .................................
30
Gambar 4.8. Nilai U dari matriks Red (R) ...............................................
31
Gambar 4.9. Nilai V dari matriks Red (R)................................................
31
Gambar 4.10. Nilai singular S dari matriks Green (G).............................
32
xii
Gambar 4.11. Nilai U dari matriks Green (G) .........................................
32
Gambar 4.12. Nilai V dari matriks Green (G) ..........................................
33
Gambar 4.13. Nilai singular S dari matriks Blue (B) ...............................
33
Gambar 4.14. Nilai U dari matriks Blue (B) ............................................
34
Gambar 4.15. Nilai V dari matriks Blue (B).............................................
34
Gambar 4.16. Citra ber-watermark dari matriks Red (R) .........................
35
Gambar 4.17. Citra ber-watermark dari matriks Green (G) .....................
35
Gambar 4.18. Citra ber-watermark dari matriks Blue (B) ........................
36
xiii
DAFTAR TABEL
Tabel 4.1. Penggolongan data citra dalam scilab .............. .......................
xiv
26
BAB I PENDAHULUAN
1.1. Latar Belakang Perkembangan produk digital seperti citra, audio dan video saat ini sangat pesat dan dapat didistribusikan dengan mudah. Kemudahan distribusi media digital di sisi lain dapat menimbulkan permasalahan ketika media tersebut terlindungi hak cipta (copyright). Sesuai dengan sifatnya, media digital memungkinkan tak terbatasnya salinan yang sulit dibedakan dengan aslinya, dan dengan mudah didistribusikan maupun diperbanyak oleh pihak-pihak yang tidak bertanggung jawab. Penduplikasian atau penggandaan terhadap suatu citra digital sangatlah merugikan kepemilikan (ownership). Masalah ini memang tak pernah selesai dan menjadi rumit ketika kepemilikan citra digital dipertanyakan pemilik sebenarnya. Oleh karena itu, keaslian suatu citra digital merupakan sesuatu yang harus dijaga dan diperbaiki terus menerus, apabila distribusinya tidak dipantau dengan baik dan proses penanganannya tidak berlangsung secara cepat dan aman maka pengakuan dan pengubahan terhadap citra digital dapat dilakukan oleh orang lain. Pemberian label kepemilikan pada citra merupakan salah satu solusi yang tepat yakni dengan memberi watermark pada citra tersebut. Watermarking merupakan suatu teknik penyembunyian suatu data atau informasi “rahasia” ke dalam suatu data lainnya untuk ditumpangi (biasanya disebut dengan host data), tetapi orang lain tidak menyadari kehadiran adanya
1
data tambahan pada host-nya [1]. Jadi seolah-olah tidak ada perbedaan antara host sebelumnya dan sesudah proses watermarking. Ada beberapa teknik watermarking yang digunakan yaitu teknik watermarking yang bekerja pada domain spasial dan domain transform frekuensi. Pada domain spasial salah satunya adalah metode Singular Value Decomposition (SVD) dan LSB sedangkan pada domain frekuensi ada beberapa transformasi seperti Discrete Wavlete Transform (DWT), Discrete Fourier Transform (DFT), dan Discrete Cosine Transform (DCT). Teknik watermark dengan metode Singular Value Decomposition (SVD) umumnya
penyisipan
dilakukan
pada
nilai-nilai
singular
berdasarkan
pertimbangan bahwa nilai singular tidak akan mengalami perubahan signifikan jika terjadi sedikit gangguan pada citra (SVD). Metode Singular Value Decomposition (SVD) merupakan teknik yang digunakan untuk merubah matriks citra menjadi matriks SVD dengan cara mendekomposisikannya untuk mendapatkan nilai singular dari citra. Dari penjelasan diatas maka diambil topik untuk tugas akhir ini yaitu “Penyisipan Watermark Pada Citra Digital Menggunakan Metode Singular Value Decomposition (SVD)”.
1.2.
Permasalahan Seorang tidak ingin dirugikan karena karya citranya dicuri dan digandakan
oleh orang lain. Biasanya jika seseorang memiliki benda, ia akan memberi tanda kepemilikan agar tidak mudah dicuri oleh orang lain. Selain itu, manipulasi terhadap citra harus dicegah. Sesuai dengan uraian tersebut, maka permasalahan
2
dalam skripsi ini adalah bagaimana memberi watermark pada citra untuk melindungi keasliannya dengan metode SVD.
1.3.
Pembatasan Masalah Dalam tugas akhir ini, penulis membatasi permasalahan dengan ruang
lingkup sebagai berikut : 1. Pembuatan watermark hanya pada citra berwarna yang berformat jpg. 2. Proses
penyisipan
watermark
menggunakan
metode
Singular
Value
Decomposition (SVD). 3. Citra yang diuji berukuran 50 x 50 pixel.
1.4.
Tujuan Penelitian Berdasarkan permasalahan di atas, maka tujuan penelitian ini adalah
Membangun aplikasi watermark pada citra untuk melindungi hak cipta pada citra digital dengan menggunakan metode SVD.
1.5.
Manfaat Penelitian Manfaat dari penelitian ini antara lain:
1. Memberikan pengetahuan tentang proses pembuatan citra ber-watermark.. 2. Bagi pemilik citra, aplikasi ini memberikan penanda untuk membuktikan kepemilikan terhadap suatu citra miliknya.
3
BAB II LANDASAN TEORI
2.1. Citra digital Citra atau image merupakan istilah lain untuk gambar. Data atau informasi tidak hanya disajikan dalam bentuk teks akan tetapi bisa juga berupa citra. Citra digital adalah citra yang dapat diolah oleh komputer. Data berupa citra mempunyai karakteristik yang berbeda dengan bentuk data yang lainnya, yakni banyak informasi yang dapat diambil dari sebuah citra.
Gambar 2.1 Citra Digital Secara matematis citra merupakan suatu fungsi intensitas cahaya pada bidang 2-dimensi sehingga dapat disimbolkan dengan f(x,y), dengan (x,y) merupakan titik koordinat pada bidang 2-dimensi dan f(x,y) merupakan nilai intensitas cahaya pada titik tersebut. Simbol x, y dan f(x,y) bernilai diskrit.
4
2.2. Digitalisasi Citra Komputer hanya bisa mengolah data yang bersifat numerik. Oleh karena itu sebuah citra agar dapat diolah oleh komputer harus direpresentasikan secara numerik menggunakan nilai-nilai diskrit. Representasi citra secara numerik inilah yang disebut dengan digitalisasi yang pada dasarnya merupakan proses mengubah nilai kontinu menjadi nilai-nilai diskrit. Alat-alat yang dapat mentransformasi citra analog menjadi citra digital adalah kamera digital, kamera converter, scanner dan lain-lain. Citra yang berukuran m n dinyatakan dengan matriks dengan m baris dan n kolom sebagai berikut: f 0,0 f 1,0 f x, y f m 1,0
f 0,1 f 1,1 f m 1,1
f 0, n f 1, n f m 1, n 1
dengan f(x,y) merupakan sebuah citra dan f(i,j) yang merupakan elemen matriks adalah intensitas cahaya pada titik (i,j) dengan i = 0, 1,2, ... m-1 dan j = 0, 1,2, ... n-1. Fungsi intensitas f dari citra hitam putih pada titik (x,y) disebut derajat keabuan atau gray level yang mempunyai nilai antara Lmin sampai Lmax dengan Lmin merupakan skala keabuan terkecil dan Lmax merupakan skala keabuan terbesar. Skala keabuan seringkali menggunakan bilangan bulat yang besarnya 8-bit, artinya skala keabuan tersebut mempunyai 28 atau 256 nilai yang berbeda dengan lebar skala 0 sampai 255. Nilai 0 untuk warna hitam, dan 255 untuk warna putih. Nilai derajat keabuan berada di antara nilai tersebut.
5
Ada dua macam proses digitalisasi yang pertama digitalisasi koordinat (x,y) yaitu merepresentasikan citra menjadi sejumlah titik-titik yang terbatas, proses ini disebut sampling, dan yang kedua digitalisasi skala keabuan yaitu mengisi titik-titik tersebut dengan derajat keabuan yang sesuai dengan citra yang digitalisasi, proses ini disebut kuantisasi.
2.3. Resolusi Masing-masing elemen dari matriks yang tidak lain adalah elemen dari citra digital yang merupakan bagian terkecil dari suatu citra disebut dengan picture element atau pixel. Jadi jika sebuah citra mempunyai ukuran 125 x 96 pixel artinya citra tersebut mempunyai 125 baris dan 96 kolom dalam sebuah matriks. Sedangkan banyaknya pixel yang digunakan untuk membentuk suatu citra digital disebut resolusi. Semakin tinggi resolusi maka citra yang terbentuk akan semakin baik.
Gambar 2.2 Koordinat pixel dengan c merepresentasikan baris dan r merepresentasikan kolom
6
2.4. Tipe Citra Secara default, citra disimpan dalam bentuk data array bertipe double yang membutuhkan memori penyimpanan sebesar 64-bit, namun tidak semua data dalam tipe tersebut cocok untuk pemrosesan citra karena besarnya kebutuhan memori [1]. Oleh karena itu disediakan pula penyimpanan data dalam tipe unit 8 dan unit 16. Data pada array ini hanya memerlukan seperdelapan dan seperempat memori dari tipe double. Hal ini sangat baik untuk penyimpanan sebuah citra. Tipe-tipe citra antara lain: 1. Citra Berwarna Citra berwarna yang biasanya merupakan citra RGB disimpan dalam matriks berukuran
×
yang masing-masing mendefinisikan warna merah,
warna hijau dan biru untuk setiap pixel-nya. Gambar 2.3 berikut merupakan komponen RGB dan komposisi warnanya.
Gambar 2.3 Komponen RGB dan komposisinya Citra berwarna umumnya lebih banyak dan disukai daripada citra grayscale karena citra tersebut menampilkan warna objek seperti warna aslinya. Warna yang diterima oleh mata dari sebuah objek ditentukan oleh warna sinar
7
yang dipantulkan oleh objek tersebut. Warna sinar yang direspon oleh mata adalah sinar tampak (visible spectrum) dengan panjang gelombang berkisar dari 400 nanometer (biru) sampai 700 nanometer (merah). Sebagai contoh, suatu objek yang memantulkan sinar biru (panjang gelombang 450 – 490 nanometer) dan menyerap sinar lain akan berwarna biru. R=109 R=96
R=233 R=255 R=255 R=255 R=255 R=255 R=255 R=255
G=142 G=166 G=246 G=255 G=255 G=255 G=255 G=255 G=255 G=255 B=111 B=106 B=235 B=255 B=255 B=255 B=255 B=255 B=255 B=255 R=188 R=187 R=246 R=255 R=255 R=255 R=255 R=255 R=255 R=255 G=216 G=218 G=250 G=255 G=255 G=255 G=255 G=255 G=255 G=255 B=187 B=186 B=247 B=255 B=255 B=255 B=255 B=255 B=255 B=255 R=255 R=255 R=255 R=255 R=255 R=255 R=255 R=255 R=255 R=255 G=255 G=255 G=255 G=255 G=255 G=255 G=255 G=255 G=255 G=255 B=255 B=255 B=255 B=255 B =255 B=255 B=255 B=255 B=255 B=255 R=255 R=255 R=255 R=255 R=255 R=255 R=255 R=255 R=255 R=255 G=255 G=255 G=255 G=255 G=255 G=255 G=255 G=255 G=255 G=255 B=255 B=255 B=255 B=255 B=255 B=255 B=255 B=255 B=255 B=255 R=255 R=255 R=255 R=255 R=255 R=255 R=255 R=255 R=255 R=255 G=255 G=255 G=255 G=255 G=255 G=255 G=255 G=255 G=255 G=255 B=255 B=255 B=255 B=255 B=255 B=255 B=255 B=255 B=255 B=255
Gambar 2.4. Contoh penyimpanan citra berwarna di dalam memori komputer, yakni dalam satu pixel merepresentasikan tiga warna. Kombinasi warna yang memberikan rentang yang paling lebar adalah red (R), green (G), dan blue (B). Ketiga warna tersebut dinamakan warna pokok dan sering disingkat sebagai warna dasar RGB. Warna-warna lain dapat diperoleh dengan mencampurkan ketiga warna pokok tersebut dengan perbandingan tertentu. Sesuai dengan teori Young yang menyatakan bahwa sembarang warna
8
dapat dihasilkan dari pencampuran warna-warna pokok R, G, dan B dengan persentase tertentu. Menurut pencampuran warna menjadi sebuah warna yang lain dirumuskan sebagai: W = a R + b G + c B, Dengan W = warna campuran R
= warna pokok pertama
G
= wana pokok kedua
B
= warna pokok ketiga
a, b, c = presentase masing-masing warna pokok. Gambar 2.5 berikut merupakan koordinat warna RGB, jika komposisi R = 0, G = 0 dan B = 0, maka akan menghasilkan warna hitam dan jika komposisi warna R = 1, G = 1 dan B = 1, maka akan menghasilkan warna putih.
Gambar 2.5 Koordinat warna RGB
Gambar 2.5. Koordinat warna RGB
9
2. Citra Grayscale Citra grayscale merupakan citra yang skala keabuannya menggunakan 8-bit, setiap pixel-nya mempunyai derajat keabuan antara 0 untuk warna hitam dan 255 untuk warna putih. Nilai tersebut dihasilkan dari 28 yaitu 256 nilai keabuan. Angka 8 merupakan jumlah bit yang digunakan. Gambar 2.6 berikut merupakan skala keabuan menggunakan 8-bit.
Gambar 2.6. Skala keabuan citra grayscale menggunakan 8-bit 0 32 89 255 255 255 255 255 255 255 158 146 176 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
Gambar 2.7. Citra grayscale dengan sampel representasi numerik 8-bit 3. Citra Biner Citra biner merupakan citra yang hanya memiliki dua warna, yaitu hitam dan putih. Citra biner membutuhkan satu bit di memori untuk menyimpan kedua warna tersebut.
10
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Gambar 2.8 Contoh citra biner dengan sample berukuran 10 6 pixel
2.5. Watermarking 2.5.1. Sejarah Watermarking Watermarking sudah ada sejak 700 tahun yang lalu. Pada akhir abad 13, pabrik kertas di Fabriano, Italia, membuat kertas yang diberi watermark atau tanda air dengan cara menekankan bentuk cetakan citra atau tulisan pada kertas yang baru setengah jadi. Ketika kertas dikeringkan terbentuklah suatu kertas yang ber-watermark. Kertas ini biasanya digunakan oleh seniman atau sastrawan untuk menulis karya mereka. Kertas yang sudah dibubuhi tanda air tersebut sekaligus dijadikan identifikasi bahwa karya seni di atasnya adalah milik mereka [9]. Ide watermarking pada citra digital dikembangkan di Jepang pada tahun 1990 dan di Swiss tahun 1993. Digital watermarking semakin berkembang seiring semakin meluasnya penggunaan internet, objek digital seperti video, citra, dan suara yang dapat dengan mudah digandakan dan disebarluaskan [9]. 2.5.2. Pengertian Watermarking Watermarking merupakan suatu cara untuk penyembunyian data atau informasi rahasia ke dalam suatu data lainnya untuk ditumpangi (biasanya disebut dengan host data), tetapi orang lain tidak menyadari kehadiran adanya data
11
tambahan pada host-nya. Jadi seolah-olah tidak ada perbedaan antara data host sebelum dan sesudah proses watermarking [1]. Informasi yang disisipkan dapat berupa teks, citra bermakna seperti logo, data biner atau data acak. Watermarking memanfaatkan kekurangan-kekurangan sistem indra manusia seperti mata dan telinga. Jadi watermarking merupakan suatu cara untuk penyembunyian atau penanaman data atau informasi tertentu (baik berupa catatan umum maupun rahasia) ke dalam suatu data digital lainnya, tetapi tidak diketahui oleh indra manusia (indra penglihatan atau indra pendengaran), mampu menghadapi proses-proses pengolahan sinyal digital yang tidak merusak kualitas data yang ter-watermark sampai pada tahap tertentu. Di samping itu data yang terwatermark harus tahan terhadap serangan-serangan baik secara sengaja maupun tidak sengaja untuk menghilangkan data watermark yang terdapat di dalamnya. 2.5.3. Manfaat Watermarking Ada beberapa manfaat watermarking dalam kehidupan sehari-hari : 1.
Memberi label kepemilikan (ownership) atau copyright pada citra digital. Watermark bisa mengandung identitas diri (nama, alamat, dan lainnya), atau gambar yang menspesifikan pemilik citra atau pemegang hak penggandaan (copyright).
2.
Finger printing. 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. Karena watermark juga berlaku sebagai copyright maka distributor
12
terkait aturan bahwa ia tidak boleh menggandakan citra tersebut dan menjualnya ke pihak lain. 3.
Aplikasi medis. Citra medis diberi watermark berupa ID pasien untuk memudahkan identifikasi pasien, hasil diagnosis penyakit dan lain-lain. Informasi lain yang dapat disisipkan adalah hasil diagnosis penyakit.
4.
Covert communication. Dalam hal ini watermarking digunakan untuk menyisipkan informasi rahasia pada sistem komunikasi yang dikirim melalui saluran komunikasi.
5.
Priracy protection. Watermark digunakan untuk mencegah perangkat
keras melakukan
penggandaan yang tidak berizin. Untuk keperluan ini watermark harus tidak tampak dan fragile 6.
Otentifikasi. Pemilik citra menyisipkan watermark ke dalam citra untuk membuktikan apakah citra yang disimpan sudah berubah. Jika watermark yang diekstraksi tidak tepat sama dengan watermark asli, maka disimpulkan citra sudah tidak otentik lagi. Keotentikan pemilik juga dapat ditunjukan karena hanya pemilik yang mengetahui kunci. Kunci yang salah akan menghasilkan ekstraksi watermark yang salah pula.
13
2.5.4. Kriteria Watermarking yang Baik Mutu dari teknik watermarking meliputi beberapa parameter-parameter utama seperti: a.
Fragile: Perubahan yang disebabkan oleh tanda semestinya tidak mempengaruhi nilai isi, idealnya tanda harusnya tidak dapat dilihat, sehingga tidak dapat dibedakan antara data yang ter-watermark dan data yang asli. Salah satu trade-off antara karakteristik watermarking yang sangat kelihatan adalah antara robustness dengan fragile. Dalam beberapa literatur fragile kadang disebut dengan invisibility untuk jenis data citra dan video. Yang dimaksud dengan fragile disini adalah derajat degradasi host data sesudah diberi watermark dibandingkan dengan sebelum diberi watermark. Biasanya bila robustness dari watermark tinggi maka memiliki fragile yang rendah, sebaliknya robustness yang rendah dapat membuat fragile yang tinggi. Jadi sebaiknya dipilih trade-off yang sesuai, sehingga keduanya dapat tercapai sesuai dengan tujuan aplikasi. Untuk host data yang berkualitas tinggi maka fragile dituntut setinggi mungkin sehingga tidak merusak data aslinya, sedangkan host data yang memiliki noise (kualitas kurang) maka fragile bisa rendah.
b.
Robustness Watermark di dalam host data harus tahan terhadap beberapa operasi pemrosesan digital yang umum seperti pengkonversian dari digital ke analog dan dari analog ke digital, dan manipulasi data. Pada robust watermark, data
14
disisipkan dengan sangat
kuat, sehingga
jika ada yang
berusaha
menghapusnya maka gambar atau suara yang disisipi akan ikut rusak dan tidak punya nilai komersial lagi. c.
Security Watermarking harus tahan terhadap usaha-usaha yang sengaja memindahkan atau meng-copy watermark dari satu multimedia data ke multimedia data lainnya.
2.5.5. Teknik Watermarking Terdapat banyak metode watermarking untuk citra digital yang sudah diteliti. Teknik watermarking pada citra digital dapat di klasifikasikan dalam tiga kategori, yaitu: 1.
Teknik Domain Spasial Watermarking untuk citra yang dilakukan pada domain spasial,
penyisipannya dilakukan dengan sedikit mengubah nilai pixel tertentu. Kebanyakan teknik spasial ini didasarkan pada penambahan barisan pseudo noise (kunci watermark) pada sebuah citra. Barisan pseudo noise disebut sebagai kunci watermark. Metode SVD dan LSB merupakan salah satu contoh teknik domain spasial. 2.
Teknik Domain Frekuensi Teknik domain frekuensi dilakukan dengan cara terlebih dahulu mengubah
citra ke dalam domain transform, kemudian penyisipan data dilakukan dengan sedikit mengubah nilai koefisien tertentu yang dipilih. Metode dari teknik domain
15
transform yaitu DWT (Domain Wavelet Transform), DCT (Domain Cosine Transform), DFT (Domain Fractal Transform)[4]. 3.
Teknik Domain Feature Teknik domain feature disebut juga generasi kedua metode watermark.
Generasi pertama metode watermark fokus pada penggunaan watermark pada citra dan video, namun tidak kompetibel dengan video maupun citra yang dikompresi seperti JPEG 2000, MPEG4/7 dan lain-lain. Generasi kedua berkembang untuk meningkatkan kekuatan dan ketahanan watermark, mencari batas objek dan karakteristik untuk keuntungan deteksi, serta perbaikan terhadap serangan. Tulisan pertama teknik domain feature di publish tahun 1999 oleh ICPP menggunakan
feature
point
extraction
berdasarkan
dekomposisi
citra
menggunakan Mexican-Hat Wavalet [4]. Dari ketiga teknik diatas, penulis memakai teknik yang pertama yaitu teknik domain spasial. Yang dimana penulis akan menggunakan metode Singular Value Decomposition (SVD) sebagai metode watermark.
2.6. Singular Value Decomposition (SVD) Metode Singular Value Decomposition (SVD) adalah salah satu teknik dalam analisis numerik yang digunakan untuk “mendiagonalkan” matriks. Dalam sudut pandang pengolahan citra, singular value dari suatu citra memiliki stabilitas yang baik, dimana ketika ada sedikit gangguan diberikan pada citra tersebut, singular value tidak berubah secara signifikan. Keuntungan lain adalah ukuran matriks dari transformasi metode SVD tidak tetap dan dapat berupa persegi.
16
Kemudian singular value mengandung informasi properti persamaan linear citra. Dekomposisi nilai singular atau yang lebih dikenal sebagai Singular Value Decomposition (SVD) adalah salah satu teknik dekomposisi yang cukup terkenal. SVD berkaitan erat dengan nilai singular dari sebuah matriks yang merupakan salah satu karakteristik matriks [8]. Suatu matriks misalkan kita namai matriks A dengan nilai eigen dari matriks A T A yaitu i untuk setiap 1 i n dengan n yaitu banyak nilai eigen, maka nilai singular matriks A yaitu i 2 i dan vi merupakan vektor eigen matriks A T A yang bersesuaian dengan nilai i . Secara umum algoritma Singular Value Decomposition (SVD) adalah sebagai berikut: [8] input : matriks A output : matriks ortogonal U, V dan matriks singular S sehingga A = USV T 1.
Dibentuk matriks A T A dengan nilai eigen i untuk setiap 1 i n maka nilai singular matriks A T A yaitu i 2 i
2.
1 ... 0 Dibentuk matriks diagonal S = 0 ... n
17
3.
Dicari himpunan vektor eigen dari matriks A T A misalkan {v1 , v 2 ,...v n } merupakan vektor-vektor eigen matriks A T A dengan v1 merupakan vektor eigen yang bersesuaian dengan nilai i .
4.
Dibentuk matriks ortogonal V = [v1 , v 2 ,...v n ]
5.
Dibentuk himpunan vektor U = {u1 , u 2 ,...u n } dengan u1 =
untuk
setiap 1 i n 6.
Dibentuk matriks orthogonal U = [u1 , u 2 ,...u n ]
7.
Bentuk dekomposisi SVD A = USV T Dekomposisi tersebut disebut sebagai Singular Value Decomposition
(SVD). Nilai
…
dari S disebut nilai-nilai singular dari A, kolom-kolom dari
U merupakan vektor-vektor singular kiri dari A dan kolom-kolom dari V merupakan Vektor-vektor singular kanan dari A. Jika A adalah sebuah citra maka pengubahan sedikit pada nilai-nilai singular tidak mempengaruhi kualitas citra dan nilai-nilai singular tidak berubah banyak setelah citra diserang [8]. Setelah citra A diproses menjadi matriks SVD, untuk menjadikan citra A menjadi citra yang berwatermark dibutuhkan adanya kunci watermark. Kunci yang akan dibangkitkan oleh penulis menggunakan pembangkit pseudorandom yaitu pseudorandom dari aturan 2D.
18
2.7. Pembangkit Pseudorandom Pseudorandom adalah algoritma yang menghasilkan nilai random berdasarkan fungsi matematik. Nilai random adalah himpunan sederhana yang memenuhi uji statistik kerandoman dan tidak dapat di ulang. Pada suatu keadaan jika seseorang tahu apa bilangan sekarang dari random, hal itu memungkinkan seseorang untuk memprediksi bilangan selanjutnya [1]. Untuk melihat apakah suatu bilangan random atau tidak dapat dilakukan dengan melihat pola bilangan tersebut apakah berpola atau tidak. Jika berpola berarti bilangan tersebut tidak random. Hal yang membedakan suatu bilangan pseudorandom dengan random adalah apakah bilangan tersebut dapat diulang. Jika kita install pseudorandom pada komputer lain, kita akan mendapatkan hasil yang sama. Jika kita run lagi program pseudorandom tersebut dua minggu mendatang, kita akan mendapatkan hasil yang sama pula. Jika bilangan dapat diulang, apa yang bagus dari pseudorandom, jawabannya adalah kita dapat mengganti output dengan menggunakan seed (dalam skripsi ini dinamakan kunci) [5]. Jika mengubah input maka output berubah, maka untuk mengubah output pada suatu waktu kita dapat membangkitkan bilangan baru yang tidak dapat diprediksi oleh siapapun. Pembuatan barisan pseudorandom pertama dilakukan oleh Metropolis dan Von Neumann yang disebut metode midsquare yakni bilangan dibangkitkan dengan lingkaran predecessor dan mengambil digit tengah sebagai hasil pseudorandom.
19
Pada tahun 1951, Lehmer membuat barisan pseudorandom yang dapat di bangkitkan dengan hubungan rekursif, yaitu:
xi axi 1 (modulo m) dan Persamaan (2.1) setelah di generalisasi menjadi:
xi axi 1 + c (modulo m) Dengan m adalah bilangan bulat bernilai besar yang ditetapkan dan didisain oleh komputer (biasanya berupa perpangkatan 2 atau 10) sedangkan a,i,c, dan xi adalah bilangan bulat antara 0 dan m-i. Bilangan xi /m digunakan sebagai barisan pseudorandom. Misalkan barisan akan berulang setelah iterasi ke-m, dan akan menjadi berperiode. Jika m=16, a=3,c=1, dan x 0 =2 barisan x dibangkitkan oleh Persamaan (2.2) adalah 2,7,6,3,10,15,14,11,2,7,…hingga periode ke-8. Perlu diperhatikan bahwa periode harus lebih panjang dari pada bilangan random yang dibutuhkan sehingga pola tidak dapat diprediksi [5].
2.8. Pseudorandom Aturan 2D Pola noise bersifat pseudorandom dari aturan 2D (Dua Dimensi) merupakan hasil operasi Boolean dari suatu nilai awal (dalam hal ini disebut kunci) menghasilkan nilai Boolean yaitu berupa nilai 1 dan 0 saja. Persamaan dinamik dari aturan 2D diberikan sebagai berikut :
Wn1 (i, j ) (Wn (i 1, j ) Wn (i, j 1) Wn (i 1, j ) Wn (i, j 1) Wn (i, j ) …(2.9) Dengan dinotasikan sebagai exclusive -or (XOR) ,dan dinotasikan sebagai fungsi Boolean -OR dengan menggunakan empat templates pergeseran
20
yaitu satu baris keatas (Wn (i 1, j ) , satu kolom ke kanan Wn (i, j 1) , satu baris ke bawah Wn (i 1, j ) , satu kolom kekiri Wn (i, j 1) , serta barisan matriks awal
Wn (i, j ) . Semua pergeseran itu dioperasikan terhadap tiap cell nya (tiap baris dan kolom matriks pada citra) dan melewati proses pengulangan (looping) sebanyak yang
ditentukan
pembuat
watermark,
sehingga
menghasilkan
barisan
pseudorandom yang baru. Dalam hal ini penulis menggunakan looping sebanyak tiga kali. Barisan pseudorandom yang baru hasil operasi dinamik di atas disebut pola noise pseudorandom dari aturan 2D. Selain menghasilkan barisan yang sama dengan ukuran citra yang akan di-watermark, barisan ini juga menghasilkan security (keamanan) pada citra ber-watermark karena mempunyai pola yang tidak dapat diprediksi [1].
21
BAB III METODE PENELITIAN
3.1. Data Data yang akan digunakan pada penulisan skripsi ini adalah citra logo UIN Syarif Hidayatullah Jakarta. Data terdiri dari satu citra yang mempunyai ukuran 200 x 200 pixel. Dari ukuran 200 x 200 pixel
kemudian penulis perkecil ukurannya
menjadi 50 x 50 pixel. Dengan tujuan untuk mempermudah dalam pengolahan data.
3.2. Penyisipan Watermark. Citra yang sudah diperoleh penulis, kemudian akan disisipi watermark dengan tahapan sebagai berikut : 1. Memilih citra yang akan disisipi watermark. 2. Digitalisasi citra dengan tujuan citra terbaca oleh komputer. 3. Menganalisis citra menggunakan Singular Value Decomposition (SVD) sebagai metode watermark. 4. Membangkitkan Pseudorandom 2D sebagai kunci watermark.
22
3.3. Alur Penyisipan Watermark
Citra Asli
Digitalisasi Citra
Proses SVD Pada Citra Membangkitkan Kunci Proses Penyisipan Pseudorandom Citra Ber-watermark
Gambar 3.1 Alur Penyisipan Watermark 3.3.1. Pengolahan Citra Berwarna Pengolahan citra berwarna berbeda dengan pengolahan pada citra tipe lainnya. citra berwarna membentuk matriks tiga dimensi yaitu matriks R (red), matriks G (green), dan matriks B (blue). Sehingga dalam mengolah citra berwarna kita harus melibatkan dan memperhatikan ketiga matriks seluruhnya [1]. Penulis menggunakan ketiga matriks tersebut untuk perhitungan dan penyisipan watermark. 3.3.2. Digitalisasi Citra Karena komputer hanya dapat mengolah data yang bersifat numerik, maka sebuah citra agar dapat diolah oleh komputer harus direpresentasikan secara
23
numerik menggunakan nilai-nilai diskrit yaitu berupa angka-angka yang merepresentasikan jumlah intensitas warna pada suatu citra. Proses pengubahan citra menjadi matriks yaitu citra disimpan oleh komputer dengan cara titik-titik berupa koordinat yang dinamakan pixel. 3.3.3. Proses SVD Pada Citra Sebagai Metode Watermark Misalkan suatu citra disajikan sebagai matriks A dan watermark yang akan disisipkan disajikan sebagai matriks W, maka penyisipan watermark W ke dalam citra A dilakukan dengan terlebih dahulu mendekomposisi citra A menjadi matriks U, S, dan V untuk mendapatkan nilai singular dari citra A [8]. Kemudian untuk menyisipkan kunci watermark yang telah dibuat, nilai singular S kemudian ditambahkan dengan hasil kali watermark W dengan nilai alfa [1]. Dalam skripsi ini W adalah Pseudorandom 2D dan nilai alfa bernilai k= 10 4 . +
= Sebagai langkah terakhir,
∗
yang diperoleh kemudian digunakan untuk
membentuk citra ber-watermark bersama dengan matriks U dan V dari citra asal. =
24
BAB IV PEMBAHASAN DAN APLIKASI
4.1. Aplikasi Pada Citra Proses digitalisasi dari citra digital berwarna menghasilkan matriks tiga dimensi. Dalam pengolahan citra pada pembahasan ini, citra yang digunakan berukuran 50 50 pixel.
Gambar 4.1 Citra berwarna yang akan di-watermark 4.1.1. Merepresentasikan Citra Ke Bentuk Matriks Karena komputer hanya dapat mengolah data yang bersifat numerik, maka sebuah citra agar dapat diolah oleh komputer harus direpresentasikan secara numerik menggunakan nilai-nilai diskrit yaitu berupa angka-angka yang merepresentasikan jumlah intensitas warna pada suatu citra. Proses pengubahan citra menjadi matriks, yaitu citra disimpan oleh komputer dengan cara titik-titik berupa koordinat yang dinamakan pixel. Penulis menggunakan software Scilab
25
dalam pengolahan citra. Dalam mengolah citra, proses kuantisasi pada Scilab yaitu dengan cara Scilab membaca pixel-pixel saja sesuai perintah dengan menggunakan penggolongan data seperti Tabel 4.1 dan melakukan digitalisasi sesuai intensitas warna RGB pada citra.[10] Tabel 4.1 Penggolongan data citra dalam Scilab Klasifikasi Data Double
Deskripsi Presisi double, bilangan floating point dengan hampiran 10 308 hingga 10308
Int8
Bilangan bulat 8 bit denganjarak -128 hingga 127
Int16
Bilangan bulat 16 bit dengan jarak -32768 hingga 32767
Int32
Bilangan bulat 32 bit dengan jarak -2147483648 hingga 2147483647
Single
Presisi double, bilangan floating point dengan hampiran 10 38 hingga 1038
Char
Karakter 2 bytes per element
Logical
Nilai 0 dan 1 (satubytes per element)
Dalam
pengolahan
watermark
menggunakan
SVD
ini,
penulis
menggunakan tipe data atau klasifikasi data double. Karena citra yang digunakan berformat citra berwarna, maka seperti yang telah dijelaskan di landasan teori terdapat tiga fungsi generator yaitu warna RGB.
26
Gambar 4.2 Sampel citra yang akan di-watermark
Gambar 4.3 Representasi numerik matriks red (R).
27
Gambar 4.4 Representasi numerik matriks green (G).
Gambar 4.5 Representasi numerik matriks blue (B).
28
4.2.
Pembuatan Kunci Watermark
1. Tahap I Penulis menggunakan kunci W0 berupa matriks yang setiap elemennya berupa angka 0 dan 1. Matriks yang berupa angka 0 dan 1 ini ukuran dan ordonya disamakan dengan matriks citra yang akan diberi watermark. Agar nilainya sama maka panggil citra, ubah matriks citra tersebut menjadi 0 dan 1. Setelah berhasil, selanjutnya dapat melanjutkan ketahap ke dua untuk mencari nilai SVD citra yang akan diberi watermark. 2. Tahap II Setelah mendapatkan matriks berupa nilai acak yang bernilai 0 dan 1, selanjutnya lakukan iterasi untuk mendapatkan pola SVD hasil watermark tersebut. A= USV T . Penyisipan pola watermark tersebut menggunakan PNPG 2D (lampiran 4). Gambar 4.6 adalah hasil pembuatan kunci menggunakan PNPG 2D.
Gambar 4.6 Kunci watermark.
29
4.3. Penempelan Watermark Pada Citra 4.3.1. Proses Penempelan Watermark Untuk
proses
perhitungan
dan
penempelan
watermark,
penulis
menggunakan tiga elemen matriks hasil dari representasi citra sampel, yaitu matriks red (R), matriks green (G), dan matriks blue (B). Kemudian untuk membuat citra ber-watermark
, terlebih dahulu penulis mendekomposisi citra
menjadi matriks U, S, dan V dengan tujuan mendapatkan nilai singular dari citra. Selanjutnya menyisipkan kunci yaitu pola pseudorandom PNPG 2D (W) di kalikan bilangan kecil k selanjutnya ditambahkan ke host image . =
+
∗
Di bawah ini hasil SVD dengan menggunakan matriks R, G, dan B.
Gambar 4.7 Nilai singular S dari matriks red (R).
30
Gambar 4.8 Nilai U dari matriks red (R).
Gambar 4.9 Nilai V dari matriks Red (R)
31
Gambar 4.10 Nilai singular S dari matriks green (G).
Gambar 4.11 Nilai U dari matriks green (G).
32
Gambar 4.12 Nilai V dari matriks green (G).
Gambar 4.13 Nilai singular S dari matriks blue (B).
33
Gambar 4.14 Nilai U dari matriks blue (B).
Gambar 4.15 Nilai V dari matriks blue (B).
34
Sebagai langkah terakhir,
yang diperoleh kemudian digunakan untuk
membentuk citra ber-watermark bersama dengan matriks U dan V dari citra asal. =
Gambar 4.16 Citra ber-watermark dari matriks red (R).
Gambar 4.17 Citra ber-watermark dari matriks green (G).
35
Gambar 4.18 Citra ber-watermark dari matriks blue (B). Dari hasil citra ber-watermark di atas, citra yang di olah dari matriks R, G, dan B tampak semuannya sama seperti citra asli. Sesuai dengan tujuan watermark yaitu citra yang ber-watermark harus tampak sama seperti citra yang belum di watermark. Dari pernyataan di atas, Metode SVD bisa digunakan untuk metode watermark pada citra.
36
BAB V KESIMPULAN DAN SARAN
5.1. Kesimpulan Dalam skripsi ini citra yang ber-watermark dengan citra yang asli terlihat sama sesuai dengan tujuan watermark, yaitu gambar asli dan gambar yang berwatermark harus terlihat sama. Dari pembahasan dapat disimpulkan bahwa metode SVD dapat digunakan untuk me-watermark citra dan menjaga keaslian citra.
5.2. Saran Penulis
menyarankan agar
pada penelitian selanjutnya
membuat
watermark pada produk digital yang lain seperti video, klip suara, rekaman dan sebagainya. Karena jika hal tersebut dapat dilakukan maka akan lebih memberikan manfaat pada keaslian produk digital. Disarankan juga untuk mencoba metode watermark yang lain atau menambah ciri-ciri yang lain dalam membuat watermark khususnya pada pengembangan penelitian ini.
37
REFERENSI
[1]
Nurlailah, Siti.2010. Aplikasi Fragile Watermarking untuk Melindungi Keaslian Foto. Jakarta : UIN.
[2]
Utari, Suci. 2007. Implementasi Watermarking Citra Digital menggunakan DB4 dan SDV. Jakarta : STT-PLN.
[3]
Putra, Darma. 2010. Pengolahan Citra Digital. Yogyakarta: penerbit Andi.
[4]
Akbar, Fazlur. 2009. Aplikasi Pengamanan Hak Cipta Untuk Gambar Digital Dengan Teknik Watermarking Menggunakan Metode SVD. Yogyakarta: Unikom.
[5]
Cahyana, Basarudin, dkk. 2007. Teknik Watermarking Citra Berbasis SVD. Depok: UI.
[6]
E. Walpole, Ronald. 1992. Pengantar Statistika Edisi ke-3. Jakarta: PT. Gramedia Pustaka Utama
[7]
Khaeroni. 2011. Pemanfaatan Citra Menggunakan Dekomposisi Nilai Singular. Jakarta : Penerbit Pusat Studi Matematika Fakultas Sains dan Teknologi UIN Jakarta.
[8]
Tyas, Lia Ayuning, 2009. Watermarking Citra Digital Berbasis DWT-SVD Dengan Detektor Non-Blind. 39
[9]
Yuningsih, Sri. 2010. Pendeteksian Speudorandom Pada Citra Digital Menggunakan Algoritma Barni. Jakarta : STT-PLN.
.
39
LAMPIRAN 1
Program Kunci PNPG 2D
function [w]=pnpg2ddes14(baris,kolom,pengulangan) w=zeros(baris,kolom); %Compute normal uniform random Wo for i=1:baris for j=1:kolom temp=rand; if temp>0.5 w(i,j)=1; else w(i,j)=0; end end end % Iterasi Pseudorandom Noise Pattern for i=2:baris-1 for j=2:kolom-1 temp1=w(i+1,j)|w(i,j+1); temp2=xor(temp1,w(i-1,j)); temp3=xor(temp2,w(i,j-1)); w(i,j)=xor(temp3,w(i,j)); end end %check for zeros column %sum123=[sum(w(:,:,1));sum(w(:,:,2));sum(w(:,:,3))]; %for j=1:3 % if min(sum123(j,:))==0 % lokasi=find(sum123(j,:)==0); % temp=size(lokasi,2); %for i=1:temp % temp2=round(baris*rand); % w(temp2,lokasi(i),j)=1; % end %end %end
LAMPIRAN 2
Program Penyisipan SVD Watermark
yayan=imread('uin3.jpg'); figure(1); imshow(yayan); G=double(yayan); disp(['Ukuran foto awal=']); size(G) [U,S,V]=svd(G(:,:,1)) singuler=mat2gray(G); [baris,kolom,rgb]=size(G); w=pnpg2ddes14(baris,kolom,3); W=double(w); kW=10^-4*W; Iw=double(S)+double(kW) akhir=double(U)*double(Iw)*V' watermark=mat2gray(akhir); figure(2); imshow(watermark); watermark=yayan; figure(3); imshow(watermark);