APLIKASI
WATERMARKING
SEBAGAI TEKNIK
PENYEMBUNYIAN LABEL HAK CIPTA PADA
CITRA DIGITAL DENGAN METODE
RANDOMLY SEQUENCED PULSE
POSITION MODULATED
CODE
SKRIPSI
OLEH
ESTI UTAMI
061401002
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER & TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
APLIKASI WATERMARKING SEBAGAI TEKNIK PENYEMBUNYIAN LABEL HAK CIPTA PADA CITRA DIGITAL DENGAN METODE RANDOMLY
SEQUENCEDPULSE POSITION MODULATED CODE
SKRIPSI
Diajukan untuk melengkapi tugas guna memenuhi syarat mencapai gelar Sarjana Komputer
ESTI UTAMI 061401002
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER & TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : APLIKASI WATERMARKING SEBAGAI TEKNIK
PENYEMBUNYIAN LABEL HAK CIPTA PADA CITRA DIGITAL DENGAN METODE RANDOMLY SEQUENCED PULSE POSITION MODULATED CODE
Kategori : SKRIPSI
Nama : ESTI UTAMI
Nomor Induk Mahasiswa : 061401002
Program Studi : SARJANA (S1) ILMU KOMPUTER
Fakultas : ILMU KOMPUTER & TEKNOLOGI INFORMASI UNIVERSITAS (FASILKOM-TI) SUMATERA UTARA
Diluluskan di
Medan, 2013
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Maya Silvi Lydia, BSc, MSc Prof. Dr. Muhammad zarlis NIP. 197401272002122001 NIP. 195707011986011003
Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
PERNYATAAN
APLIKASI WATERMARKING SEBAGAI TEKNIK PENYEMBUNYIAN LABEL HAK CIPTA PADA CITRA DIGITAL DENGAN METODE RANDOMLY
SEQUENCED PULSE POSITION MODULATED CODE
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Agustus 2013
PENGHARGAAN
Alhamdulillahirobbil’alamin penulis ucapkan kepada Sang Khaliq Allah SWT yang
telah melimpahkan rahmat dan karunia-Nya sehingga skripsi ini berhasil diselesaikan.
Skripsi ini berjudul “Aplikasi Watermarking Sebagai Teknik Penyembunyian Label Hak Cipta Pada Citra Digital Dengan Metode Randomly Sequenced Pulse Position Modulated Code” disusun sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer Program Studi S1 Ilmu Komputer Fasilkom-TI
Universitas Sumatera Utara. Tidak dapat dipungkiri bahwa dalam penyelesaian skripsi
ini tidak luput dari campur tangan banyak pihak yang telah memberikan bantuan dan
motivasi bagi penulis. Maka, dalam kesempatan ini, penulis mengucapkan terima
kasih kepada:
1. Rektor Universitas Sumatera Utara, Bapak Prof. Dr. dr. Syahril Pasaribu,
D.T.M.&H, M.Sc. (C.T.M), Sp.A.(K.)
2. Bapak Prof. Dr. Muhammad Zarlis, M.Kom selaku Dekan Fakultas Ilmu
Komputer dan Teknologi Informasi USU dan juga sebagai dosen pembimbing
I yang telah membimbing dan mengarahkan penulis selama proses
penyelesaian skripsi ini.
3. Bapak Dr. Poltak Sihombing, M.Kom sebagai Ketua Program Studi S1 Ilmu
Komputer dan juga selaku Dosen Penguji I yang telah memberikan kritik,
saran, dan masukan kepada penulis.
4. Ibu Maya Silvi Lydia, B.Sc, M.Sc sebagai Sekretaris Program Studi S1 Ilmu
Komputer dan selaku dosen pembimbing II yang telah membimbing dan
mengarahkan penulis selama proses penyelesaian skripsi ini.
5. Bapak Drs. Sawaluddin, MIT. selaku dosen penguji II yang telah memberikan
6. Seluruh staff pengajar Departemen Ilmu Komputer Fakultas Ilmu Komputer
dan Teknologi Informasi Universitas Sumatera Utara yang telah membimbing
dan mencurahkan ilmunya selama masa perkuliahan.
7. Ayahanda Kopka. Sutiman dan Ibunda Rapilah S.Pd tercinta yang selalu
memberikan doa, dukungan, perhatian, kasih sayang yang tulus, pengorbanan
yang tidak ternilai harganya. Serta dukungan dan motivasi dari Rianzi Fadly
(adik), serta seluruh keluarga besar yang telah memberikan motivasi kepada
penulis.
8. Penulis juga mengucapkan terima kasih kepada sahabat terkhusus Lutfi
Hamdani S.Pd yang selalu memberikan doa, perhatian, motivasi dan semangat
yang luar biasa kepada penulis.
9. Virues Galau, Laylul, Desfa, Yelli dan Indah serta teman-teman
seperjuangan, mahasiswa S1 Ilmu Komputer stambuk 2006 dan 2007 yang
telah banyak berbagi ilmu, memberikan bantuan, saran, kritikan, semangat,
inspirasi, dukungan serta mewarnai kenangan selama masa kuliah yang tak
akan terlupakan kepada penulis.
10.Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat
penulis ucapkan satu per satu yang telah membantu penyelesaian skripsi ini.
Akhir kata Penulis menyadari bahwa masih banyak kekurangan dalam
penulisan skripsi ini. Oleh karena itu, Penulis mengharapkan saran dan kritik yang
membangun agar kelak dapat lebih menjadi lebih baik. Penulis juga mengharapkan
semoga laporan ini dapat bermanfaat dan menambah wawasan kepada pembaca.
Medan, Agustus 2013
ABSTRAK
Watermarking citra digital merupakan bentuk ilmu steganography yang mempelajari bagaimana menyembunyikan informasi ke dalam suatu data digital lainnya, tetapi tidak diketahui kehadirannya oleh indera manusia. Tujuan dari penelitian ini adalah untuk meyisipkan rangkaian informasi hak cipta ke dalam citra digital dengan tidak tampak (invisible). Proses watermarking terdiri dari 5 tahapan yaitu tahap transformasi dengan metode Discrete Cosinus Transform, tahap kuantisasi, tahap pemberian kode watermarking dengan metode Randomly Sequenced Pulse Position Modulated Code, tahap dekuantisasi, dan yang terakhir tahap transformasi dengan metode Inverse Discrete Cosinus Transform. Dari hasil uji coba terhadap besaran parameter label citra, ketahanan dan kualitas, yang dihasilkan oleh perangkat lunak yang dibangun, dilakukan analisis terhadap pembacaan data informasi hak cipta untuk selanjutnya dapat ditarik kesimpulan tentang keberhasilan pembacaan data informasi hak cipta. Hasil yang diperoleh dari penelitian ini adalah sistem mampu menyisipkan citra label ke dalam citra host, mampu melakukan ekstraksi kembali citra label dari citra watermark dan Citra watermark memiliki ukuran file yang lebih besar dibandingkan dengan citra aslinya.
WATERMARKING APPLICATION AS HIDING TECHNIC OF COPYRIGTH LABEL ON DIGITAL IMAGE WITH METHOD OF RANDOMLY
SEQUENCED PULSE POSITION MODULATED CODE
ABSTRACT
Watermarking on digital image is a kind of steganographics studying how to hide informations into others digital data, but the existence has been never known by human's sensory perception. The purpose of this research is embedding a copyright information series into digital images invisibly. The process of watermarking consist of 5 steps, step of transformation using Transform Cosinus Discrete, step of quantifying, step of watermarking coding by use Randomly Sequenced Pulse Position Modulated Code, step of dequantifying and step of transformation using Inverse Discrete Cosinus Transform methode. From the experiment toward the paramater measure of label-image, robust, and quality resulting from the created software, conducted analyzing the copyright information data scanning then make a conclusion of the success of the copyright information data scanning. The result from this research is as below system capable of inserting label image into the host image, system capable of extracting the label image back from the watermark image, watermark images have bigger size file than its original image.
DAFTAR ISI
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 3
1.6 Metode Penelitian 4
1.7 Sistematika Penulisan 4
Bab 2 Landasan Teori 6
2.1 Pengertian Citra 6
2.1.1 Citra Analog 6
2.1.2 Citra Digital 6
2.2 Mode Warna 7
2.2.1 Citra Warna (True Color) 7
2.2.2 Citra Keabu-abuan (Grayscale) 9
2.3 Defenisi Steganografi 10
2.4 Pengertian Watermarking 11
2.4.1 Metode Watermarking 12
2.4.2 Aplikasi Watermarking 14
2.4.3 Trade-off dalam Watermarking 14
2.4.4 Berbagai Domain untuk penerapan Watermarking 15
2.4.5 DCT (Discrete Cosine Transform) 15
2.4.6 Watermarking untuk Pelabelan hak Cipta 18
2.4.7 Proses Watermarking 21
2.5 Teknik Watermarking dengan Metode RSPPMC pada Citra Digital 24
2.6 Penelitian Terkait 25
2.7 Flowchart 27
2.8 Unified Modeling Language (UML) 28
2.8.1 Use Case Diagram 28
2.8.1.1 Actor 28
Bab 3 Analisis dan Perancangan 30
3.1 Analisis Masalah 30
3.1.1 Menghitung Nilai RGB Citra Host 31
3.1.2 Menghitung Nilai Biner Citra Label 33 3.1.3 Menghitung nilai Biner Key Watermarking 35
3.1.4 Transformasi DCT 37
3.1.5 Proses Ekstraksi 45
3.1.6 Flow chart 47
3.1.6.1 Flow Chart Watermarking 47
3.1.6.2 Flow Chart Ekstraksi 48
3.1.7 Use Case Diagram 49
3.1.7.1 Use Case Proses Watermarking 50 3.1.7.2 Use Case Proses Ekstraksi 51
3.2 Perancangan Antarmuka (Interface) 53
3.2.1 Perancangan Menu Utama 53
3.2.2 Perancangan Menu Watermarking 54
3.2.3 Perancangan Menu Ekstraksi 54
3.2.4 Perancangan Laporan Watermarking 55
3.2.5 Perancangan Laporan Ekstraksi 55
3.2.6 Perancangan Menu View Help 56
3.2.7 Perancangan Menu About Me 56
Bab 4 Implementasi & Pengujian 57
4.1 Implementasi 57
4.1.1 Tampilan Menu Utama 57
4.1.2 Tampilan Watermarking 58
4.1.3 Tampilan Ekstraksi 59
4.1.4 Tampilan Help 60
4.1.5 Tampilan About 61
4.2 Hasil Pengujian Sistem 62
4.2.1 Pengujian Watermarking 62
4.2.2 Pengujian Ekstraksi 63
Bab 5 Kesimpulan dan Saran 64
5.1 Kesimpulan 64
5.2 Saran 64
DAFTAR TABEL
Tabel Keterangan Halaman
2.1 3.1 3.2
Simbol Flowchart Program
Spesifikasi Use Case Proses Watermarking Spesifikasi Use Case Proses Ekstraksi
DAFTAR GAMBAR
Gambar Keterangan Halaman
2.1
Fungsi Basis DCT Satu Dimensi untuk N=8 Pembagian koefisien DCT untuk blok 8x8
Gambar asli dan Gambar yang telah dihapus tulisannya Proses Watermarking
Proses Ekstrak dengan data asli Proses Ekstrak tanpa data asli Jenis label pada saat Pelabelan Actor
Use Case Cover image
Citra Warna 1024x768 piksel Matriks Nilai RGB Citra Asli Citra Label 192x190 piksel
Citra Grayscale Label 128x96 piksel Citra Biner Label Matrik ke 6080 Citra Host Nilai Koefisien DCT Citra Asli
4.6 4.7
Laporan Watermarking Laporan Ekstraksi
ABSTRAK
Watermarking citra digital merupakan bentuk ilmu steganography yang mempelajari bagaimana menyembunyikan informasi ke dalam suatu data digital lainnya, tetapi tidak diketahui kehadirannya oleh indera manusia. Tujuan dari penelitian ini adalah untuk meyisipkan rangkaian informasi hak cipta ke dalam citra digital dengan tidak tampak (invisible). Proses watermarking terdiri dari 5 tahapan yaitu tahap transformasi dengan metode Discrete Cosinus Transform, tahap kuantisasi, tahap pemberian kode watermarking dengan metode Randomly Sequenced Pulse Position Modulated Code, tahap dekuantisasi, dan yang terakhir tahap transformasi dengan metode Inverse Discrete Cosinus Transform. Dari hasil uji coba terhadap besaran parameter label citra, ketahanan dan kualitas, yang dihasilkan oleh perangkat lunak yang dibangun, dilakukan analisis terhadap pembacaan data informasi hak cipta untuk selanjutnya dapat ditarik kesimpulan tentang keberhasilan pembacaan data informasi hak cipta. Hasil yang diperoleh dari penelitian ini adalah sistem mampu menyisipkan citra label ke dalam citra host, mampu melakukan ekstraksi kembali citra label dari citra watermark dan Citra watermark memiliki ukuran file yang lebih besar dibandingkan dengan citra aslinya.
WATERMARKING APPLICATION AS HIDING TECHNIC OF COPYRIGTH LABEL ON DIGITAL IMAGE WITH METHOD OF RANDOMLY
SEQUENCED PULSE POSITION MODULATED CODE
ABSTRACT
Watermarking on digital image is a kind of steganographics studying how to hide informations into others digital data, but the existence has been never known by human's sensory perception. The purpose of this research is embedding a copyright information series into digital images invisibly. The process of watermarking consist of 5 steps, step of transformation using Transform Cosinus Discrete, step of quantifying, step of watermarking coding by use Randomly Sequenced Pulse Position Modulated Code, step of dequantifying and step of transformation using Inverse Discrete Cosinus Transform methode. From the experiment toward the paramater measure of label-image, robust, and quality resulting from the created software, conducted analyzing the copyright information data scanning then make a conclusion of the success of the copyright information data scanning. The result from this research is as below system capable of inserting label image into the host image, system capable of extracting the label image back from the watermark image, watermark images have bigger size file than its original image.
BAB 1
PENDAHULUAN
1.1Latar Belakang
Penggunaan teknologi komputer telah banyak digunakan untuk membantu
mempermudah dan mempercepat suatu proses atau pekerjaaan yang sifatnya rutin.
Dalam hal ini komputer yang digunakan sudah dilengkapi dengan perangkat lunak
yang sesuai untuk pekerjaan tersebut.
Dalam bidang perlindungan karya cipta dalam bentuk digital antara lain
software (piranti lunak) dan produk multimedia seperti teks, musik, (dalam format
MP3 atau WAV), gambar/citra fotografi, video digital. Selama ini penggandaan atas
produk digital tersebut dilakukan secara bebas dan leluasa. Pemegang hak cipta atas
produk citra tersebut tentu dirugikan karena tidak mendapat royalty dari usaha penggandaan tersebut.
Untuk mengurangi kerugian terhadap pencipta karya citra, maka perlu
dibuatkan sebuah sistem yang bisa memberi identitas yang tidak bisa dimanipulasi dan
setiap saat bisa dilihat atau diperiksa identitasnya dengan cepat dan akurat.
Perlindungan karya cipta ini perlu untuk menghargai para seniman yang menciptakan
karya tersebut.
Untuk memberikan identitas pada sebuah karya digital diperlukan sebuah
perangkat lunak yang mampu memasukkan atau menyisipkan sebuah informasi
tertentu ke dalam data multimedia digital. Informasi tertentu yang dimasukkan disebut
sidik digital atau digital signature dari pemilik yang sah atas produk multimedia
tersebut. Pemberian signature dengan teknik watermarking dilakukan tanpa merusak data multimedia yang hendak dilindungi. Dan jika ingin melihat kembali informasi
dalam sidik signature, pemilik bisa mengekstraksi watermark dari dalam citra tersebut
Metode yang digunakan dalam merancang perangkat lunak ini adalah metode
Randomly Sequenced Pulse Position Modulated Code (RSPPMC). Prinsip dasar metode ini adalah membagi citra ke dalam blok, dan kemudian di transformasi dengan
menggunakan prinsip spread spectrum dan RSPPMC sehingga mengandung informasi
1 bit dari label untuk disesuaikan dengan bit label yang ingin disembunyikan.
Pada penelitian Rodiah tahun 2004 yang berjudul Watermarking Sebagai Teknik
Penyembunyian Label Hak Cipta Pada Data Digital Menggunakan Algoritma DCT (Discrete Cosinus Transform). Dalam penelitian ini dilakukan perhitungan semua
koefisien DCT citra untuk proses kuantisasi terhadap nilai konstan. Setelah
mendapatkan suatu matriks dalam domain frekuensi melalui proses kuantisasi,
selanjutnya dilakukan penyisipan bit yang akan disembunyikan ke dalam frekuensi
tengah.
Penelitian lainnya oleh Sri Winarso pada Jurnal Teknologi Informasi, Volume 4
Nomor 1, Februari 2007 yang berjudul Digital Watermarking Menggunakan Metode
Discrete Cosine Transform. Pada penelitian ini selama melalui proses DCT, sebuah gambar dibagi menjadi blok-blok kecil yang berukuran 8x8 piksel yang bertindak
sebagai masukan bagi suatu DCT. Setelah proses DCT selesai, proses kuantisasi
dilakukan dengan menggunakan fungsi pembobotan yang dioptimalkan sehingga
mendekati sistem visual manusia. Setelah gambar kedua mengalami proses yang sama
maka gambar kedua akan disisipkan ke gambar pertama berdasarkan nilai piksel yang
dimiliki tiap blok.
Penelitian lainnya oleh Zaki Rakhmatulloh, Aris Sugiharto, Eko Adi Sarwoko
pada tahun 2006 yang berjudul Watermarking Pada Domain Frekuensi untuk
Memberikan Identitas (Watermark) Pada Citra Digital. Pada penelitian ini citra digital ditransformasikan menggunakan Discrete Cosine Transform (DCT). Pada
proses penanaman watermark, citra ditransformasikan menggunakan DCT menjadi
Berdasarkan hal yang telah diuraikan diatas maka tugas akhir ini diberi judul
Aplikasi Watermarking Sebagai Teknik Penyembunyian Label Hak Cipta Pada Citra
Digital Dengan Metode Randomly Sequenced Pulse Position Modulated Code
(RSPPMC).
1.2Rumusan Masalah
Pada tulisan ini yang menjadi rumusan masalah adalah bagaimana memberikan suatu
identitas pada citra digital agar citra digital tersebut tidak dapat dipergunakan secara
ilegal dengan teknik watermarking yang menggunakan metode RSPPMC.
1.3Batasan Masalah
Dalam penulisan tugas akhir ini dilakukan beberapa pembatasan masalah yaitu :
1. File citra digital yang akan disisipi dengan format JPG atau BMP.
2. Label yang disembunyikan adalah citra dengan format JPG atau BMP.
3. Key yang dimasukkan berjumlah 8 karakter.
4. Melihat kembali tanda kepemilikan dengan cara mengektraksi label hak cipta
dari citra yang telah disisipi.
5. Menampilkan file citra sebelum dan sesudah penyisipan.
6. Perangkat lunak yang digunakan adalah microsoft Visual Basic .Net
1.4Tujuan Penelitian
Tujuan dari penelitian ini adalah untuk merancang suatu perangkat lunak yang dapat
menyembunyikan label hak cipta ke dalam citra digital dengan mengimplementasikan
metode Randomly Sequenced Pulse Position Modulated Code.
1.5Manfaat Penelitian
Sedangkan manfaat penelitian ini adalah menghindari pengguna ilegal atas citra
1.6Metode Penelitian
Dalam penelitian ini, tahapan-tahapan yang akan dilalui adalah sebagai berikut:
a. Studi Literatur
Metode ini dilaksanakan dengan melakukan studi kepustakaan tentang citra
digital, watermarking serta algoritma RSPPMC.
b. Analisis
Pada tahap ini dilakukan analisis tentang perhitungan nilai piksel citra digital,
transformasi DCT dan penyisipan label hak cipta.
c. Perancangan Perangkat Lunak
Pada tahap ini, digunakan seluruh hasil analisis untuk merancang perangkat lunak
yang akan dihasilkan. Dalam tahapan ini juga dilakukan perancangan flow chart,
data flow diagram (DFD) dan antarmuka serta proses kerja sistem untuk memudahkan dalam proses implementasi.
d. Implementasi dan Pengujian Sistem
Pada tahap ini dilakukan implementasi dari proses perancangan sehingga menjadi
suatu sistem dan dilakukan pengujian sistem.
e. Dokumentasi
Tahap ini dilakukan pengumpulan data, baik data dari hasil pengujian maupun
data hasil pemrosesan dengan aplikasi dan pembuatan laporan hasil analisis dan
perancangan serta hasil pengujian sistem.
1.7Sistematika Penulisan
Sistematika penulisan tugas akhir ini adalah sebagai berikut:
BAB1 PENDAHULUAN
Bab ini membahas latar belakang masalah, identifikasi masalah, batasan
BAB 2 LANDASAN TEORI
Bab ini berisi landasan teori tentang citra, watermarking serta metode-metode
penyisipan terhadap citra, tranformasi Discrete Cosine Transform (DCT),
flow chart serta data flow diagram (DFD).
BAB 3 ANALISIS DAN PERANCANGAN
Bab ini berisi pembahasan mengenai teknik penyisipan label hak cipta ke
dalam file citra.
BAB 4 IMPLEMENTASI DAN PENGUJIAN
Bab ini berisi tentang implementasi dan pengujian dari perancangan sistem
yang dirancang pada BAB 3.
BAB 5 KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dari semua pembahasan yang ada dengan
BAB 2
LANDASAN TEORI
2.1Pengertian Citra
Citra adalah representasi dari sebuah objek. Citra sebagai keluaran suatu sistem
perekaman data yang dapat bersifat sebagai optik (foto), analog (sinyal-sinyal video
seperti gambar pada monitor televisi), ataupun digital yang dapat langsung disimpan
pada suatu media penyimpan.
2.1.1 Citra Analog
Citra analog adalah citra yang bersifat kontinu, seperti gambar pada monitor televisi,
lukisan, pemandangan alam dan sebagainya. Citra analog tidak dapat
direpresentasikan dalam komputer sehingga tidak bisa diproses secara langsung. Citra
analog dihasilkan oleh alat-alat analog seperti kamera foto analog, sensor rontgen
untuk foto thorax, sensor gelombang pendek pada sistem radar, dan lain-lain. Oleh
sebab itu, agar citra ini dapat diproses di komputer, proses konversi analog ke digital
harus dilakukan terlebih dahulu [12].
2.1.2 Citra Digital
Citra digital adalah citra yang terdiri dari sinyal-sinyal frekuensi elektromagnetis yang
sudah di-sampling sehingga dapat ditentukan ukuran titik gambar tersebut yang pada
umumnya disebut piksel. Untuk menyatakan citra (image) secara matematis, dapat
didefinisikan fungsi f(x,y) di mana x dan y menyatakan suatu posisi dalam koordinat
dua dimensi dan harga f pada titik (x,y) adalah harga yang menunjukkan warna citra
pada titik tersebut [4].
Citra digital adalah citra yang dinyatakan secara diskrit (tidak kontinu), baik
digambarkan sebagai suatu matriks, di mana indeks baris dan indeks kolom dari
matriks menyatakan posisi suatu titik di dalam citra dan harga dari elemen matriks
menyatakan warna citra pada titik tersebut. Dalam citra digital yang dinyatakan
sebagai susunan matriks seperti ini, elemen-elemen matriks tadi disebut juga dengan
istilah piksel yang berasal dari kata picture element [7].
Untuk mendapatkan suatu citra digital, dapat digunakan alat yang memiliki
kemampuan untuk mengubah sinyal yang diterima oleh sensor citra menjadi bentuk
digital, misalnya dengan menggunakan kamera digital atau scanner. Cara yang lain
adalah dengan menggunakan ADC (Analog-to-Digital Converter) untuk mengubah
sinyal analog yang dihasilkan oleh keluaran sensor citra menjadi sinyal digital,
misalnya dengan menggunakan perangkat keras video capture yang dapat mengubah
sinyal video analog menjadi citra digital [12].
2.2Mode Warna
Menampilkan sebuah citra pada layar monitor diperlukan lebih dari sekedar informasi
tentang letak dari piksel-piksel pembentuk citra. Untuk memperoleh gambar yang
tepat dibutuhkan juga informasi tentang warna yang dipakai untuk menggambarkan
sebuah citra digital. Beberapa mode warna yang sering digunakan adalah:
1. Bitmap mode memerlukan 1 bit data untuk menampilkan warna dan warna yang dapat ditampilkan hanya warna hitam dan putih (monokrom)
2. Indexed Color Mode, mengurutkan warna dalam jangkauan 0-255 (8 bit) 3. Grayscale Mode, menampilkan citra dalam 256 tingkat keabuan.
4. RGB Mode, menampilkan citra dalam kombinasi 3 warna dasar (Red, Green, Blue) tiap warna dasar memiliki intensitas warna 0-255 (8 bit)
5. CMYK Mode, menampilkan citra dalam kombinasi 4 warna dasar (cyan, magenta, yellow, black) tiap warna dasar memiliki intensitas warna 0-255 (8 bit).
2.2.1 Citra Warna (True Color)
Citra warna memiliki mode warna RGB yang menghasilkan warna menggunakan
penambahan, yang berarti bahwa warna primer dikombinasikan pada jumlah tertentu
untuk menghasilkan warna yang diinginkan. RGB dimulai dengan warna hitam
(ketiadaan semua warna) dan menambahkan merah, hijau, biru terang untuk membuat
putih. Kuning diproduksi dengan mencampurkan merah, hijau; warna cyan dengan
mencampurkan hijau dan biru; warna magenta dari kombinasi merah dan biru. Sensor
utama dalam mata adalah sel kerucut. Manusia mempunyai 5-7 juta sel yang yang
dibagi menjadi tiga kategori sensor (merah, hijau, biru). 65% sel kerucut sensitif pada
warna merah, 33% hijau, dan 2% biru. Kombinasi warna RGB dapat dilihat pada
Gambar 2.1.
Gambar 2.1 Kombinasi Warna RGB [12]
Warna campuran (selain dari putih) dihasilkan dengan menambahkan warna
komponen RGB individual dengan berbagai tingkat saturasi, dengan tingkatan mulai
dari 0.0 hingga 1.0 (0 berarti tidak menggunakan warna tersebut; 1 berarti
menggunakan warna tersebut pada saturasi penuh).
Untuk mendapatkan masing-masing nilai R, G dan B setiap piksel dengan
rumus sebagai berikut:
Nilai R = c and 255 ………...…….. (2.1)
Nilai G = (c and 65280) / 256………..….……. (2.2)
Nilai B = ((c and 16,711,680)/256)/256 ……....……...…………..…... (2.3)
2.2.2 Citra Keabu-abuan (Grayscale)
Citra keabu-abuan hanya memiliki satu komponen warna yang besarnya berkisar
antara 0 sampai 255. Citra keabu-abuan dapat dihasilkan dari citra warna dengan cara
menghitung rata-rata nilai komponen warnanya.
Secara matematis penghitungannya adalah sebagai berikut.
f0 (x,y) = .…...………..…… (2.4)
f0 (x,y) = nilai keabu-abuan pada kordinat x,y.
fR
= nilai komponen merah
fG
= nilai komponen hijau
fB
= nilai komponen biru
Dalam proses watermarking , untuk menghitung nilai biner Citra label penyisip maka
akan dikonversi menjadi citra grayscale. Setelah citra grayscale didapat, maka akan
dicari nilai tengah (threshold). Persamaan untuk perhitungan nilai threshold seperti berikut:
T = ( Gmin + Gmaks ) / 2 ...(2.5)
Sebagai contoh diberikan perbandingan antara citra warna dengan citra grayscale
Gambar 2.2 Citra Warna dan Grayscale [12]
2.3Definisi Steganografi
Steganografi (steganography) adalah ilmu dan seni menyembunyikan pesan rahasia
(hiding message) sedemikian sehingga keberadaan (eksistensi) pesan tidak terdeteksi
oleh indera manusia. Kata steganorafi berasal dari bahasa Yunani yang berarti “tulisan
tersembunyi” (covered writing). Steganografi membutuhkan dua properti yaitu wadah
penampung dan data rahasia yang akan disembunyikan. Steganografi digital
menggunakan media digital sebagai wadah penampung, misalnya citra, suara, teks,
dan video. Data rahasia yang disembunyikan juga dapat berupa citra, suara, teks, atau
video. Steganografi dapat dipandang sebagai kelanjutan kriptografi. Jika pada
kriptografi, data yang telah disandikan (ciphertext) tetap tersedia, maka dengan
steganografi cipherteks dapat disembunyikan sehingga pihak ketiga tidak mengetahui
keberadaannya. Di negara-negara yang melakukan penyensoran informasi,
steganografi sering digunakan untuk menyembunyikan pesan-pesan melalui gambar
(images), video, atau suara (audio) [7].
Secara umum penyembunyian pesan rahasia ke dalam media penampung pasti
mengubah kualitas media tersebut. Kriteria yang harus diperhatikan dalam
penyembunyian pesan [6] adalah :
1. Imperceptibility.
Keberadaan pesan rahasia tidak dapat dipersepsi oleh indra manusia. Misal
jika media penampung berupa citra, maka penyisipan pesan membuat stegotext
sukar dibedakan oleh mata dengan citra covertext-nya.
2. Fidelity.
Mutu media penampung tidak berubah banyak akibat penyisipan. Perubahan
tersebut tidak dapat dipersepsi oleh inderawi. Misal jika covertext berupa citra,
maka penyisipan pesan membuat citra stegotext sukar dibedakan oleh mata
dengan citra covertext-nya.
3. Recovery.
Pesan yang disembunyikan harus dapat diungkapkan kembali. Karena tujuan
steganografi adalah data hiding, maka sewaktu–waktu pesan rahasia di dalam
Metode Steganografi ada 2 jenis yaitu:
a. ranah waktu, yaitu memodifikasi nilai byte dari media yang akan disisipinya
b. ranah frekuensi yaitu frekuensi memodifikasi langsung hasil transformasi
frekuensi sinyal.
2.4Pengertian Watermarking
Watermarking adalah bentuk dari Steganography yaitu ilmu yang mempelajarii teknik-teknik bagaimana penyimpanan suatu data (digital) ke dalam data host digital
yang lain. Istilah host digunakan untuk data/sinyal digital yang ditumpangi [11].
Watermarking pada media digital disini dimaksudkan tidak akan dirasakan kehadirannya oleh manusia tanpa alat bantu mesin pengolah digital seperti komputer,
dan sejenisnya sebab watermarking berbeda dengan tanda air pada uang kertas yang
masih dapat kelihatan oleh mata telanjang manusia dalam posisi kertas yang tertentu..
Dengan memanfaatkan kekurangan-kekurangan sistem indera manusia seperti mata
dan telinga metoda watermarking ini dapat diterapkan pada berbagai media digital.
Berdasarkan hasil keluarannya., Steganography berbeda dengan cryptography. Hasil
dari cryptography biasanya berupa data yang berbeda dari bentuk aslinya dan biasanya datanya seolah-olah tek beraturan (tetapi dapat dikembalikan ke bentuk
semula) sedangkan hasil keluaran dan steganography ini memiliki bentuk persepsi
yang sama dengan bentuk aslinya yang tentunya persepsi disini oleh indera manusia
[6].
Jadi Watermarking merupakan suatu cara penyembunyian atau penanaman data/informasi tertentu (baik hanya berupa catatan umum maupun rahasia) ke dalam
suatu data digital lainnya, tetapi tidak diketahui kehadirannya oleh indera manusia
(indera penglihatan atau indera pendengaran), dan mampu menghadapi proses-proses
2.4.1 Metode Watermarking
Terdapat banyak metoda watermarking untuk citra digital yang sudah diteliti. Ada
yang bekerja pada domain spasial atau waktu, dan ada yang mengalami transformasi
terlebih dahulu (seperti DCT, FFT, dsb) misalnya ke domain frekuensi. Bahkan ada
yang menerapkan teknologi-teknologi lain seperti fraktal, spread spectrum untuk
telekomunikasi dan sebagianya. Beberapa metoda yang pernah diteliti [7], diantaranya
adalah:
a. LSB (Least Significant Bit) Coding;
Metoda ini merupakan metoda yang paling sederhana tetapi yang paling tidak
tahan terhadap segala proses yang dapat mengubah nilai-nilai intensitas pada
citra. Metoda ini akan mengubah nilai LSB (Least Significant Bit) komponen
luminansi atau warna menjadi bit yang sesuai dengan bit label yang akan
disembunyikan. Memang metoda ini akan menghasilkan citra rekontruksi yang
sangat mirip dengan aslinya, karena hanya mengubah nilai bit terakhir dari
data. Tetapi sayang tidak tahan terhadap proses-proses yang dapat mengubah
data citra terutama kompresi JPEG. Metoda ini paling mudah diserang, karena
bila orang lain tahu maka tinggal membalikkan nilai dari LSB-nya maka data
label akan hilang seluruhnya. Proses dapat dilihat pada Gambar 2.3.
Gambar 2.3 Proses Watermarking Pada Citra
Watermarking Key
b. Patchwork; merupakan metode yang diusulkan oleh Bender. Pada metode ini dilakukan penanaman label 1 bit pada citra digital dengan menggunakan
pendekatan statistik. Dalam metoda ini, sebanyak n pasang titik (ai,bi) pada
citra dipilih secara acak. Brightness dari ai dinaikkan 1 (satu) dan brightness
dari pasangannya bi diturunkan satu. Nilai Harapan dari jumlah perbedaan n
pasang titik tersebut adalah 2n. Ketahanan metoda ini terhadap kompresi JPEG
dengan parameter kualitas 75%, maka label tetap dapat dibaca dengan
probabilitas kebenaran sebesar 85%.
c. Pitas & Kaskalis mengusulkan metode ini dengan membagi sebuah citra atas dua bagian (subsets) sama besar (misalnya dengan menggunakan random
generator) atau dengan sebuah digital signature S yang merupakan pola biner dengan ukuran N x M dimana jumlah biner "1" (satu) sama dengan jumlah
biner "0" (nol). Kemudian salah satu subset ditambahkan dengan faktor k
(bulat positif). Faktor k diperoleh dari perhitungan variansi dari kedua subset.
Verifikasi dilakukan dengan menghitung perbedaan rata-rata antara kedua
subset. Nilai yang diharapkan adalah k bila ada label yang ditanamkan. Metode
ini tahan terhadap kompresi JPEG dengan faktor kualitas sekitar 90%.
d. Caroni mengusulkan metode penyembunyian sejumlah bit label pada komponen luminansi dari citra dengan membagi atas blok-blok, kemudian
setiap pixel dari satu blok akan dinaikan dengan faktor tertentu bila ingin menanamkan bit '1', dan nilai-nilai pixel dari blok akan dibiarkan bila akan
menanamkan bit '0', metoda ini dapat tahan terhadap faktor kualitas sebesar
30%.
e. Metoda Cox ini menanamkan sejumlah urutan bilangan real sepanjang n pada
citra N x N dengan mentransformasikan terlebih dahulu menjadi koefisien
DCT Nx N. Bilangan real tersebut ditanamkan pada n koefisien DCT yang
paling besar, tidak termasuk komponen DC-nya. Verifikasi menggunakan citra
asli dikurangi dengan citra terwatermark.
Berbeda dengan metode Cox, metode ini berdasarkan prinsip format citra
JPEG, membagi citra menjadi blok-blok 8 x 8 dan kemudian dilakukan
transforamsi DCT, kemudian menggunakan prinsip spread spectrum (metoda
frequency hopped) dan RSPPMC (Randomly Sequenced Pulse Position Modulated Code), koefisien-koefisien DCT tersebut diubah sedemikian rupa sehingga akan mengandung informasi 1 bit dari label, seperti dipilih tiga
koefisien untuk disesuaikan dengan bit label yang ingin ditanamkan.
Contohnya untuk menanamkan bit '1' ke dalam suatu blok koefisien DCT 8 x
8, koefisien ketiga dari ketiga koefisien yang terpilih harus diubah sedemikian
rupa sehingga lebih kecil dari kedua koefisien lainnya.
2.4.2 Aplikasi Watermarking
Berikut ini merupakan berbagai macam aplikasi watermarking yang dapat
dimanfaatkan untuk berbagai tujuan [1] seperti:
a. Tamper-proofing, merupakan watermarking yang digunakan
sebagai alat untuk mengidentifikasikan atau alat indikator yang
menunjukkan tinta digital (host) telah mengalami perubahan dari aslinya.
b. Feature location, merupakan penggunaan metoda watermarking
sebagai alat untuk identifikasikan isi dan data digital pada lokasi-lokasi
tertentu, seperti contohnya penamaan objek tertentu dari beberapa objek
yang lain pada suatu citra digital.
c. Annotation/caption, merupakan watermarking yang hanya
digunakan sebagai keterangan tentang data digital itu sendiri.
d. Copyright-Labeling, merupakan watermarking yang dapat
digunakan sebagai metoda untuk penyembunyikan label hak cipta pada
data digital sebagai bukti kepemilikan karya digital yang otentik..
2.4.3 Trade-Off dalam Watermarking
Setiap aplikasi Watermarking memiliki parameter yang berbeda dalam
1. Jumlah data (bitrate) yang akan disembunyikan.
2. Ketahanan (robustness) terhadap proses pengolahan sinyal.
3. Nilai penyembunyian data (invisibly).
Bila diinginkan ketahanan yang tinggi maka jumlah data akan menjadi rendah,
sedangkan akan semakin tampak, dan sebaliknya semakin tidak tampak maka
ketahanan akan menurun. Jadi harus dipilih nilai-nilai dan parameter tersebut agar
memberikan hasil yang sesuai dengan kita inginkan.
2.4.4 Berbagai Domain untuk Penerapan Watermarking
Penerapan watermarking terhadap data digital dapat diterapkan pada berbagai domain. Maksudnya penerapan watermarking pada data digital seperti text, citra,
video dan audio, dilakukan langsung pada jenis data digital tersebut (Misalnya untuk
citra dan video pada domain spasial, dan audio pada domain waktu) atau terlebih
dahulu dilakukan transformasi ke dalam domain yang lain.
Berbagai transformasi yang dikenal dalam pemrosesan sinyal digital seperti
Fast Fourier Transform (FFT), DCT (Discrete Cosine Transform), Discrete Wavelet Transform (DWT) dan sebagainya. Penerapan watermarking pada berbagai domain dengan berbagai transformasi turut berbagai mempengaruhi parameter penting
dalam watermarking bitrate invisible, dan robustness [9].
2.4.5 DCT (Discrete Cosine Transform)
Discrete Cosine Transform (DCT) adalah sebuah fungsi dua arah yang memetakan himpunan buah bilangan real menjadi himpunan buah real pula. Secara umum, DCT satu dimensi menyatakan sebuah sinyal diskrit satu dimensi sebagai kombinasi
linier dari beberapa fungsi basis berupa gelombang kosinus diskrit dengan amplitudo
tertentu. Masing-masing fungsi basis memiliki frekuensi yang berbeda-beda, karena
Amplitudo fungsi basis dinyatakan sebagai koefisien dalam himpunan hasil
transformasi DCT. DCT satu dimensi didefenisikan pada persamaan berikut:
... (2.6)
untuk 0
C(u) menyatakan koefisien ke-u dari himpunan hasil transformasi DCT.
menyatakan anggota ke- dari himpunan asal. menyatakan banyaknya suku
himpunan asal dan himpunan hasil transformasi. dinyatakan oleh persamaan
berikut:
Untuk
... (2.7)
... (2.8)
Transformasi balikan yang memetakan himpunan hasil transformasi DCT ke
himpunan bilangan semula disebut juga inverse DCT (IDCT).
IDCT didefinisikan oleh persamaan dibawah ini:
... (2.9)
untuk
DCT dua dimensi dapat dipandang sebagai komposisi dari DCT pada
masing-masing dimensi. Sebagai contoh, jika himpunan bilangan real disajikan dalam array
dua dimensi terhadap masing-masing baris dan kemudian melakukan DCT satu
dimensi terhadap masing-masing kolom dari hasil DCT tersebut. DCT dua dimensi
dapat dinyatakan sebagai berikut dengan persamaan:
Sedangkan transformasi balikannya (invers) dinyatakan dengan persamaan:
... (2.11)
Fungsi basis DCT satu dimensi untuk N=8 dapat dilihat pada Gambar 2.4.
Koefisien DCT ke-n menyatakan amplitudo dari fungsi basis untuk u=n-1. Pada DCT
dua dimensi, fungsi basisnya adalah hasil perkalian antara fungsi basis yang
berorientasi horizontal dengan fungsi basis yang berorientasi vertikal, sehingga
koefisien-koefisien DCT dua dimensi biasa disajikan dalam bentuk matriks.
Gambar 2.4 Fungsi Basis DCT Satu Dimensi untuk N=8 [2]
Koefisien pertama, yaitu C(0) pada DCT satu dimensi atau C(0,0) pada DCT
dua dimensi disebut koefisien DC. Koefisien lainnya disebut koefisen AC. Dapat
dilihat bahwa fungsi basis yang berkorespondensi dengan koefisien DC memiliki nilai
tetap, sedangkan koefisien AC berkorespondensi dengan fungsi basis yang berbentuk
gelombang.
Pada transformasi DCT, dikenal juga istilah koefisien frekuensi rendah,
frekuensi menengah, dan frekuensi tinggi. Hal ini berkaitan dengan frekuensi
gelombang pada fungsi basis DCT. Jika frekuensi fungsi basisnya kecil, maka
pembagian koefisien menurut frekuensinya pada DCT dua dimensi dengan ukuran
blok 8 x 8 ditunjukkan pada Gambar 2.5.
Gambar 2.5 Pembagian koefisien DCT untuk blok 8 x 8 [2]
Transformasi DCT dua dimensi sering digunakan dalam pemrosesan citra
digital. Ukuran blok yang banyak digunakan pada pemrosesan citra adalah ukuran
blok kecil, misalnya 8 x 8 seperti pada kompresi JPEG. Untuk citra digital, fungsi
basis dari DCT adalah sekumpulan citra yang disebut citra basis.
Dalam watermarking juga digunakan persamaan untuk memodifikasi koefisien
DCT. Persamaan untuk modifikasi koefisien DC pada domain DCT :
KoeDC = KoeDC + (1 + (2 * Nbiner)) ……….(2.12)
Persamaan untuk modifikasi koefisien DCT dengan frekuensi tertinggi setiap baris :
KoeDCT = KoeDCT + (3.14 * (2 * Nbiner)) ……….(2.13)
Dimana, Nbiner = nilai biner citra label yang telah di convert. Nilai 1 dan 0 di rubah
menjadi 1 dan -1.
2.4.6 Watermarking untuk Pelabelan Hak Cipta
Masalah Hak Cipta dari dahulu sudah menjadi hal yang utama dalam segala ciptaan
manusia, ini digunakan untuk menjaga originalitas atau kreatifitas pembuat akan hasil
karyanya. Hak cipta terhadap data-data digital sampai saat ini belum terdapat suatu
mekanisme atau cara yang handal dan efisien, dikarenakan adanya berbagai
cara yang pernah dilakukan oleh orang-orang untuk mengatasi masalah pelabelan hak
cipta pada data digital, antara lain:
1. Hearder Marking; dengan memberikan keterangan atau informasi hak cipta pada header dari suatu data digital.
2. Visible Marking; merupakan cara dengan memberikan tanda hak cipta pada data digital secara eksplisit.
3. Encryption; mengkodekan data digital ke dalam representasi lain yang berbeda dengan representasi aslinya (tetapi dapat dikembalikan ke bentuk semula) dan
memerlukan sebuah kunci dari pemegang hak cipta untuk mengembalikan ke
representasi aslinya.
4. Copy Protection; memberikan proteksi pada data digital dengan membatasi atau dengan memberikan proteksi sedemikian rupa sehingga data digital
tersebut tidak dapat diduplikasi.
Cara-cara tersebut diatas memiliki kelemahan tersendiri, sehingga tidak dapat
banyak diharapkan sebagai metoda untuk mengatasi masalah pelabelan hak citpa ini.
Contohnya:
1. Header Marking; Dengan menggunakan software sejenis Hex Editor, orang
lain dengan mudah membuka file yang berisi data digital tersebut, dan
menghapus informasi yang berkaitan dengan hak cipta dan sejenisnya yang
terdapat di dalam header file tersebut.
2. Visible Marking; Penandaan secara eksplisit pada data digital, memang memberikan sejenis tanda semi-permanen, tetapi dengan tersedianya software
atau metoda untuk pengolahan, maka dengan sedikit ketrampilan dan
kesabaran, tanda yang semipermanen tersebut dapat dihilangkan dari data
digitalnya.
3. Encryption; Penyebaran data digital dengan kunci untuk decryption tidak dapat
menjamin penyebarannya yang legal. Maksudnya setelah data digital
terenkripsi dengan kuncinya telah diberikan kepada pihak yang telah
membayar otoritas (secara legal), maka tidak dapat dijamin penyebaran data
4. Copy Protection; Proteksi jenis ini biasanya dilakukan secara hardware, seperti
halnya saat ini proteksi hardware DVD, tetapi kita ketahui banyak data digital
saat ini tidak dapat diproteksi secara hardware (seperti dengan adanya
Internet) atau dengan kata lain tidak memungkinkan dengan adanya proteksi secara hardware.
Gambar 2.6 Gambar asli (atas) dan Gambar (bawah) yang telah dihapus tulisannya
Dengan demikian, kita memerlukan suatu cara untuk mengatasi hal yang berkaitan
dengan pelanggaran hak cipta ini, yang memiliki sifat-sifat seperti:
1. Invisible atau inaudible; Tidak tampak (untuk data digital seperti citra, video, text) atau tidak kedengaran (untuk jenis audio) oleh pihak lain dengan
menggunakan panca indera kita (dalam hal ini terutama mata dan telinga
manusia).
2. Robustness; Tidak mudah dihapus/diubah secara langsung oleh pihak yang tidak bertanggung jawab, dan tidak mudah terhapus/terubah dengan adanya
proses pengolahan sinyal digital, seperti kompresi, filter, pemotongan dan
sebagainya.
3. Trackable; Tidak menghambat proses penduplikasian tetapi penyebaran data digital tersebut tetap dapat dikendalikan dan diketahui.
diduplikasi seperti layaknya data digital. Watermarking sebagai metoda untuk
pelabelan hak cipta dituntut memiliki berbagai kriteria (ideal) sebagai berikut agar
memberikan unjuk kerja yang bagus:
1. Label Hak Cipta yang unik mengandung informasi.
2. pembuatan, seperti nama, tanggal, dst, atau sebuah kode hak cipta.
3. Data ter-label tidak dapat diubah atau dihapus (robustness) secara langsung
oleh orang lain atau dengan menggunakan software pengolahan sinyal sampai
tingkatan tertentu.
4. Pelabelan yang lebih dari satu kali dapat merusak data digital aslinya, supaya
orang lain tidak dapat melakukan pelabelan berulang terhadap data yang telah
dilabel.
Berbagai pengolahan sinyal digital yang mungkin dilakukan terhadap berbagai
tipe data digital, antara lain untuk citra adalah : Filter (seperti blur), konversi DA/AD, crop (Pemotongan), Scaling, Rotasi, Translasi, kompresi loosy (contohnya JPEG), konversi format, perubahan tabel warna. Untuk video, kompresi
loosy (contohnya MPEG), konversi format, konversi DA/AD. Dan untuk audio adalah : crop, filter, equalisasi, kompresi loosy (contohnya MP3), konversi sample rate, format, konversi DA/AD, pengaruh echo, noise, dan sinyal lain [9].
2.4.7 Proses Watermarking
Proses-proses yang secara umum dilakukan pada penyisipan label pada file data asli
(data original) dengan pemasukan sebuah kunci (key) adalah seperti Gambar 2.7.
Pada Gambar 2.7, proses watermarking, terdapat komponen key atau lebih populer dengan password, key ini digunakan untuk mencegah penghapusan secara langsung oleh pihak tak bertanggung jawab dengan menggunakan metoda enkripsi
yang sudah ada. Sedangkan ketahanan terhadap proses-proses pengolahan lainnya, itu
tergantung pada metoda watermarking yang digunakan. Tetapi dari berbagai
penelitian yang sudah dilakukan belum ada suatu metoda watermarking yang ideal bisa tahan terhadap semua proses pengolahan digital. Biasanya masing-masing
penelitian menfokuskan pada hal–hal tertentu yang dianggap penting. Penelitian
dibidang watermarking ini masih terbuka luas dan semakin menarik, salah satunya karena belum ada suatu standar yang digunakan sebagai alat penanganan masalah hak
cipta ini.
Sistem watermarking terdapat 3 sub-bagian yang membentuknya yaitu:
a. Penghasil Label Watermark
b. Proses penyembunyian Label
c. Menghasilkan kembali Label Watermark dari data yang ter-watermark.
Terdapat kontraversi antara beberapa penelitian mengenai masalah:
1. Label Watermark harus panjang atau hanya memberitahu ada tidaknya watermark pada data digital yang ter-watermark. Maksudnya bila label yang panjang, maka kita dapat mendapatkan informasi tambahan dari data yang
ter-watermark tersebut, sedangkan sebaliknya hanya diperoleh ada tidaknya (ada atau tidak ada) watermark dalam data ter-watermark.
2. Cara menghasilkan kembali (ekstrasi atau verifikasi) label watermark tersebut apakah diperlukan data digital aslinya, atau tidak. Dari hasil penelitian
memberikan hasil bahwa verifikasi dengan menggunakan data aslinya akan
memberikan performansi yang lebih baik dibandingkan dengan cara yang
tanpa menggunakan data asli. Dan cara ini dapat digunakan untuk menangani
Gambar 2.8 Proses Ekstrak dengan data asli
Gambar 2.9 Proses Ekstrak tanpa data asli
Gambar 2.8 proses ekstraksi data ter-label (hasil proses watermarking) dibandingkan
dengan data asli berupa teks maupun citra yang menghasilkan data label berupa data
yang disisipkan (label). Sedang Gambar 2.9 proses ekstraksi data ter-label (hasil
proses watermarking) dibandingkan tanpa data asli berupa teks maupun citra yang menghasilkan data label berupa data yang disisipkan (label).
Label watermark adalah sesuatu data/informasi yang akan kita masukkan ke
dalam data digital yang ingin di-watermark. Ada 2 jenis label yang dapat digunakan:
1. Label text yaitu label watermark dari teks biasanya menggunakan nilai-nilai ASCII
dari masing-masing karakter dalam text yang kemudian dipecahkan atas
bit-per-bit, kelemahan dari label ini adalah, kesalah pada satu bit saja akan menghasilkan hasil yang berbeda dengan text sebenarnya.
2. Label non text berupa Logo atau Citra atau Suara. Berbeda dengan label text,
kesalahan pada beberapa bit masih dapat memberikan persepsi yang sama dengan
aslinya oleh pendengaran maupun penglihatan kita, tetapi kelemahannya adalah
Teks dan non teks
Gambar 2.10 Jenis label pada saat Pelabelan [9]
2.5 Teknik Watermarking dengan Metode RSPPMC pada Citra Digital
Pada metode ini dilakukan watermarking pada citra digital. Metoda watermarking
yang dicoba pada dasarnya menerapkan metoda RSPPMC, yakni watermarking
dilakukan pada domain frekuensi (DCT) dengan dilakukan sedikit perubahan.
Perubahan yang dilakukan sebagai perbandingan dengan RSPPMC yang asli, yakni
verifikasi label watermarking melibatkan citra asli, dimana pada RSPPMC proses
verifikasi tidak menggunakan citra asli.
Metoda RSPPMC seperti berikut:
1. Pembagian citra atas blok-blok 8 x 8, dan pemilihan blok secara pseudo
random.
2. Blok terpilih ditransformasikan dengan DCT.
Pemilihan 2 nilai koefisien DCT untuk dikodekan sebagai bit 1(high) atau bit 0
( low).
Contohnya:
Koefisien pertama = koefisien kedua + nilai konstan untuk bit 1 (high).
Sebaliknya untuk bit 0, dilakukan pengurangan Inverse DCT terhadap blok
yang telah di-encode.
3. Ulangi proses yang sama untuk seluruh bit label.
adalah pengkodean bit 1 dan bit 0 tidak dilakukan dengan membandingkan kedua nilai
koefisien DCT tersebut, tetapi dengan menambahkan kedua nilai tersebut dengan satu
koefisien tertentu yang sama, dan pada waktu verifikasi, dibandingkan dengan citra
aslinya [11].
Proses verifikasi dengan melibatkan citra asli memberikan hasil yang lebih
baik dibandingkan dengan proses verifikasi tanpa melibatkan citra asli. Selain itu,
keuntungan lain dengan terlibatnya citra asli adalah dapat digunakan untuk mengatasi
masalah proses pengolahan citra seperti rotasi, croping, translasi dan sebagainya.
Dengan adanya citra asli tersebut, maka citra asli tersebut dapat digunakan sebagai
referensi untuk dilakukan preprocessing (proses awal) sebelum proses verifikasi,
misalnya bagian yang hilang dari citra yang terpotong dapat disisipi dengan bagian
dari citra asli.
Pengolahan digital dan masih terbuka suatu kesempatan besar untuk
perkembangan-perkembangan lebih lanjut. Diatas telah dibicarakan aplikasi
watermarking pada data digital seperti citra, video dan audio, sebenarnya masih ada penelitian pada data seperti text digital, maupun pada fax [11].
Agar watermarking sebagai proses pelabelan hak cipta pada data digital dapat berfungsi dengan baik, juga diperlukan adanya suatu badan internasional yang
mencatat semua hasil karya yang terdaftar. Badan internasional tersebut sebagai suatu
badan hukum yang berkuasa untuk menentukan siapa yang memang merupakan
pemilik aslinya berdasarkan terdaftar tidaknya sebuah hasil karya atas nama
seseorang. Tanpa adanya suatu badan internasional tersebut, sebaik apapun metoda
watermarking yang ada, masalah hak cipta ini tidak dapat diatasi sepenuhnya. Karena kepada siapa kita harus menuntut, dan menjadi penengah dalam persoalan ini, serta
apa bukti bahwa data tersebut memang milik orang ini dan bukan milik orang lain [8].
2.6 Penelitian Terkait
Dalam penelitian Rodiah (2004) yang berjudul Watermarking Sebagai Teknik
(Discrete Cosinus Transform) dilakukan penghitungan semua koefisien DCT citra
untuk proses kuantisasi terhadap nilai konstan. Kuantisasi ini dimaksud untuk
mengantisipasi proses kompresi JPEG. Dengan adanya kuantisasi ini memberikan
hasil yang lebih baik dibandingkan tanpa kuantisasi, tetapi menimbulkan efek
kotak-kotak pada citra.
Cara melakukan penyisipan bit adalah setelah dilakukan DCT 2 dimensi
terhadap matriks citra, nilai koefisien DCT yang diperoleh dikuantisasi sehingga akan
memiliki suatu matriks dalam domain frekuensi. Kelebihan dari domain frekuensi
adalah dapat mengganti data dengan lebih sedikit resiko, karena secara garis besar
citra aslinya tidak akan mengalami perbedaan yang besar. Pengubahan komponen
frekuensi rendah memiliki pengaruh yang sangat besar terhadap citra. Tetapi tidak
harus mengubah ke frekuensi tinggi, karena ada pertimbangan teknis yang
menyebabkan hal ini sulit dilakukan. Semakin ke arah frekuensi tinggi, nilai koefisien
matriks akan semakin menuju nol. Karena itu pengubahan pada frekuensi tinggi sulit
dilakukan. Solusinya adalah menggunakan frekuensi tengah sebagai tempat
meletakkan informasi. Pada matriks hasil kuantisasi, frekuensi tengah biasanya berada
daerah dengan nomor baris antara 2 sampai 5 atau nomor kolom antara 2 sampai 5 [9].
Pada jurnal Winarso, 2007, Selama proses DCT, sebuah gambar dipecah-pecah
menjadi blok-blok yang kecil-kecil yang tiap bloknya memuat 8x8 piksel (titik-titik
elemen gambar), yang bertindak sebagai masukan bagi suatu DCT. Operasi matematik
yang rumit dikenakan pada setiap blok tersebut untuk memperoleh nilai-nilai yang
menyatakan karakter penting dari setiap bloknya seperti bagian sisi-sisi atau
konturnya yang nantinya harus dapat direpresentasikan.
Setelah tiap gambar mengalami proses DCT, kemudian DCT mengkuantisasi
dengan menggunakan fungsi-fungsi weighting (pembobotan) yang dioptimalkan sehingga mendekati sistem visual manusia. Kuantisasi dimaksudkan untuk
menyederhanakan bobot angka-angka, yakni senilai 256 yang menunjukkan
keseluruhan palet warna dari putih murni sampai hitam murni. Setelah gambar kedua
mengalami proses yang sama maka gambar kedua akan disisipkan ke gambar pertama
Penelitian Rakhmatulloh, (2006) etal, dilakukan watermarking untuk
memecahkan kasus penggandaan ilegal produk digital. Pada penelitian ini
watermarking citra digital ditransformasikan menggunakan Discrete Cosine Transform (DCT). Pada proses penanaman watermark, citra ditransformasikan menggunakan DCT menjadi domain frekuensi yang menghasilkan tiga area yaitu Low
Frequency (FL), Medium Frequency (FM), dan High Frequency (FH). Bit-bit watermark ditanam pada area FM dengan menggunakan nilai Koefisien Selisih (K). Kualitas citra ter-watermark diukur dengan Peak Signal of Noise Ratio (PSNR).
Semakin besar nilai K diperoleh nilai PSNR yang semakin kecil [8].
2.7 Flowchart
Flowchart adalah bagan alir yang menggambarkan arus data dari program. Fungsi dari bagan alir ini adalah untuk memudahkan programmer di dalam perancangan program
aplikasi. Simbol-simbol yang digunakan pada bagan flowchart ini antara lain seperti
pada Tabel 2.1.
Tabel 2.1 Simbol Flowchart Program [5]
Simbol Fungsi
Terminator
Menunjukkan awal dan akhir suatu proses.
Data
Digunakan untuk mewakili data input/output.
Process
Digunakan untuk mewakili proses.
Decision
Digunakan untuk suatu seleksi kondisi didalam program.
Predefined Process
Menunjukkan suatu operasi yang rinciannya ditunjukkan di
tempat lain.
Preparation
Flow Lines Symbol
Menunjukkan arah dari proses.
Connector
Menunjukkan penghubung ke halaman yang sama.
Menunjukkan penghubung ke halaman yang baru.
.
2.8 Unified Modeling Language (UML)
Unified Modeling Language adalah keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak,
khususnya sistem yang dibangun menggunakan pemrograman berorientasi objek [3].
Saat ini UML telah menyediakan diagram-diagram yang merepresentasikan
secara grafis bagaimana setiap objek saling berinteraksi. Salah satu diagram yang
dimaksud adalah Use Case Diagram.
2.8.1 Use Case Diagram
Use case diagram memberikan gambaran menurut perspektif pengguna perangkat lunak. Sebuah use-case diagram mengandung actor, use-case dan interaksi antara
actor dengan use-case [10].
2.8.1.1Actor
Actor adalah suatu elemen yang berinteraksi dengan sistem untuk melakukan komunikasi. Actor memberikan suatu gambaran jelas tentang apa yang harus dilakukan perangkat lunak.
2.8.1.2Use Case
Use case menggambarkan fungsi – fungsi sistem yang dilakukan oleh sebuah sistem perangkat lunak. Sebuah use case merepresentasikan satu tujuan tunggal dari sistem
dan menggambarkan satu rangkaian kegiatan dan interaksi pengguna untuk mencapai
tujuan.
Gambar 2.12 Use Case
BAB 3
ANALISIS DAN PERANCANGAN
3.1Analisis Masalah
Pelabelan hak cipta dengan metode Randomly Sequenced Pulse Position Modulated
Code (RSPPMC) pada domain DCT konsepnya adalah melakukan penyisipan citra label secara acak ke dalam citra host (citra asli). Penyisipan secara acak berdasarkan
key watermarking yang diinput oleh user. Untuk mengambil nilai baliknya kembali sistem membutuhkan key watermarking yang sama untuk menciptakan nilai acak awal
pada saat penyisipan.
1. Proses Watermarking
a. Mengkonversi citra yang diinput menjadi citra Bitmap.
b. Membagi citra menjadi matrik 8x8 piksel
c. Menghitung nilai RGB setiap piksel cover image, untuk setiap matrik 8x8
piksel.
d. Mengkonversikan label penyisip menjadi biner.
e. Mengkonversi nilai key dari char ke ASCII ke biner
f. Membuat posisi acak berdasarkan key watermarking.
g. Menghitung koefisien DCT cover image.
h. Mengganti koefisien DCT citra yang terbesar setiap baris matrik 8x8 dengan
bit label, kecuali koefisien DC.
i. Merekonstruksi citra watermark dengan melakukan invers DCT.
j. Menyisipkan nilai biner key pada citra hasil rekontruksi dengan nilai 0 dan
255.
k. Menampilkan citra watermarking.
2. Proses Ekstraksi
a. Mengkonversi nilai key ke ASCII ke biner. Dan melakukan verifikasi key dari
user dengan key yang tertanam dalam citra watermarking.
c. Menghitung nilai koefisien DCT citra watermarking.
d. Menghitung nilai piksel citra asli.
e. Menghitung nilai koefisien DCT citra asli.
f. Membandingkan nilai koefisien DCT citra watermarking dengan citra asli.
g. Menentukan nilai biner (0 atau 1) label.
h. Merekonstruksi dan Menampilkan citra label yang tertanam.
Sebagai contoh cover image yang digunakan adalah seperti pada Gambar 3.1 yaitu
image dengan mode warna 24 bit.
Gambar 3.1 Cover Image
Kemudian label identitas yang akan disisipkan adalah berupa teks “USU” dengan nilai
biner seperti berikut.
U = 01010101
S = 01010011
U = 01010101
Selanjutnya dibentuk vektor penyisip menjadi: 010101010101001101010101
3.1.1 Menghitung Nilai RGB Citra Host
Pada citra warna 24-bit (true color) tidak terdapat palet RGB, karena nilai RGB
langsung diuraikan dalam data bitmap berbentuk biner. Untuk membaca nilai
RGB-nya, dilakukan dengan mencari header-header serta data bitmap yang berisi informasi
dimensi, format dan nilai piksel citra. Setiap elemen data bitmap panjangnya 3 byte,
masing-masing byte menyatakan komponen R, G, dan B. Setiap byte data merepresentasikan 8 bit, jadi pada citra warna ada 3 byte x 8 bit = 24 bit kandungan
8-bit untuk masing-masing warna dasar (R, G, dan B), dengan kisaran nilai kandungan
antara 0 (00000000) sampai 255 (11111111) untuk setiap warna.
Pada penelitian ini sebagai sample penulis akan mengambil citra host dengan
dimensi 1024 x 768 piksel. Dalam penelitian ini, citra asli wajib berdimensi kelipatan
8. Jika citra tidak memenuhi kriteria/syarat ini, maka sistem akan me-resize citra asli
menjadi kelipatan 8. Citra asli yang akan disisipi bisa dilihat pada gambar di bawah
ini:
Gambar 3.2 Citra Warna 1024 x 768 piksel
Dari citra asli di atas kita ambil nilai RGB untuk matrik pertama. Dapat kita
lihat matrik untuk nilai red, green, dan blue seperti di bawah ini. Mulai dari titik (x,y)
= (0,0) hingga (7,7).
Matrik Red :
48 52 53 58 64 71 67 60
47 51 53 58 64 71 65 60
49 53 54 59 65 71 67 63
52 54 55 59 62 69 66 64
53 54 55 59 63 68 66 66
53 56 57 61 62 66 66 70
59 60 61 63 61 63 65 71
Matrik Green :
125 124 126 125 127 126 126 127
124 123 126 125 127 126 126 127
126 125 127 126 128 128 128 129
127 127 126 126 128 128 129 130
126 125 126 126 129 129 129 129
124 125 126 127 129 129 129 129
128 129 130 129 130 129 128 128
126 127 128 129 130 129 129 129
Matrik Blue :
207 206 205 204 206 208 206 205
206 205 205 204 206 208 206 205
206 207 206 205 207 209 208 207
208 206 204 205 206 208 208 208
205 205 204 205 207 209 208 208
204 203 204 205 207 208 208 209
206 207 208 207 207 207 205 207
204 206 207 207 207 205 206 208
Gambar 3.3 Matriks Nilai RGB Citra Asli
Dalam penelitian yang penulis lakukan ini, watermarking dilakukan pada
kanal warna biru (blue). Matrik yang akan kita gunakan untuk perhitungan mencari
nilai koefisien DCT adalah nilai pada matrik blue. Karna warna biru warna yang tidak
begitu jelas direpresentasikan oleh indra manusia.
3.1.2 Menghitung Nilai Biner Citra Label
Citra label yang akan disisipkan akan dikonversi menjadi citra grayscale. Setelah citra
ditambahkan dengan nilai minimum dan hasil dari penjumlahan tersebut dibagi 2
(pada persamaan 2.5).
Pada penelitian ini penulis akan mencoba menggunakan citra label logo USU.
Sebelum citra dikonversi menjadi citra biner maka citra label akan di-resize sesuai
citra asli. Citra label yang akan disisipkan adalah :
Gambar 3.4 Citra Label 192x190 piksel
Citra label akan di-resize dengan persamaan :
Llabel = Lhost / 8 ………...(3.1)
Tlabel = Thost / 8 ………...(3.2)
Maka lebar citra label yang akan disisipkan adalah :
Llabel = 1024 / 8 = 128
Tlabel = 768 / 8 = 96
Setelah melakukan resize pada citra label, maka akan dihitung nilai grayscale citra
untuk mendapatkan nilai threshold agar dapat menghitung nilai biner citra label.
Gambar di atas merupakan citra grayscale dari citra label. Setelah label penyisip
di-convert menjadi citra grayscale, maka akan dicari nilai minimum dan maksimum. Setelah itu dijumlahkan dan dibagi 2. Dari perhitungan itu akan didapat nilai
threshold. Nilai threshold merupakan batas tengah dalam penentuan citra biner. Seperti:
If (gray <= threshold) then
Biner = 0
Else
Biner = 255
Endif
Setelah menyaring seluruh nilai pada citra label maka akan didapat citra label
biner seperti gambar di bawah ini:
Gambar 3.6. Citra Biner Label
3.1.3 Menghitung Nilai Biner Key Watermarking
Key watermarking merupakan kunci dalam sistem yang akan penulis bangun pada penelitian ini. Key yang dimasukan memiliki syarat wajib, yaitu key harus berjumlah 8
karakter. Satu karakrter akan mewakili 1 bit yang akan menjadi nilai biner. Prosesnya
adalah sebagai berikut:
a. Konversi key watermarking menjadi nilai ASCII
Misalkan kita akan menggunakan key watermarking berupa ILKOMUSU
Dengan memakai fungsi pada tabel ASCII maka akan menjadi
73 – 76 – 75 – 79 – 77 – 85 – 83 – 85
b. Konversi nilai ASCII menjadi nilai biner
Nilai ASCII : 73 – 76 – 75 – 79 – 77 – 85 – 83 – 85
73 : 01001001
76 : 01001100
75 : 01001011
79 : 01001111
77 : 01001101
85 : 01010101
83 : 01010011
85 : 01010101
c. Buat matrik biner key watermarking
Nilai biner key watermarking akan dimasukan ke dalam matrik 8x8 dengan konversi selanjutnya yaitu setiap nilai 0 akan menjadi 0, dan setiap nilai 1 akan
menjadi 255. Nilai biner yang mewakili satu karakter akan dimasukan dalam
satu baris. Maka akan didapat matrik seperti berikut :
0 255 0 0 255 0 0 255
0 255 0 0 255 255 0 0
0 255 0 0 255 0 255 255
0 255 0 0 255 255 255 255
0 255 0 0 255 255 0 255
0 255 0 255 0 255 0 255
0 255 0 255 0 0 255 255
0 255 0 255 0 255 0 255
Gambar 3.7. Matriks key
Setelah matrik didapat maka matrik key watermarking telah siap untuk ditanamkan pada citra host. Penanaman key ini pada citra host dengan cara
mengambil matrik 8x8 piksel ke-N yang berada di titik tengah citra host. Setelah
titik tengah ditentukan maka matrik tersebut diganti dengan matrik key dengan
3.1.4 Transformasi DCT
Sebelum melakukan penyisipan label ke dalam citra, maka dilakukan transformasi
pada citra pada Gambar 3.2 menjadi matriks transform (A) dengan menggunakan bagian persamaan (2.9) untuk matriks citra per kolom.
a. Menghitung Matriks Transform
Untuk baris pertama pada citra i=0 maka digunakan rumus , untuk A(0,0) hingga
A(0,7) adalah 0.3535
Untuk baris ke dua, i > 0 maka digunakan rumus, untuk phi = 3.14
A(1,0) = cos = 0.49039
A(1,1) = cos = 0.4157
A(1,2) = cos = 0.2777
A(1,3) = cos = 0.0.975
A(1,4) = cos = -0.0975
A(1,5) = cos = -0.2777
A(1,6) = cos = -0.4157
A(1,7) = cos = -0.49039
Perhitungan di atas dilakukan hingga A(7,7) dengan persamaan yang sama. Maka dari
perhitungan di atas diperoleh nilai untuk matriks transform seperti ditunjukkan pada
0.3535 0.3535 0.3535 0.3535 0.3535 0.3535 0.3535 0.3535
0.49039 0.4157 0.2777 0.0.975 -0.097 -0.277 -0.415 -0.490
0.4619 0.1913 -0.191 -0.461 -0.461 -0.191 0.1913 0.4619
0.4157 -0.097 -0.490 -0.277 0.2777 0.490 0.0975 -0.415
0.3535 -0.353 -0.353 0.3535 0.3535 -0.353 -0.353 0.3535
0.2777 -0.490 0.097 0.4157 -0.415 -0.097 0.4903 -0.277
0.1913 -0.461 0.4619 -0.191 -0.191 0.4619 -0.461 0.1913
0.0975 -0.277 0.4157 -0.490 0.4903 -0.415 0.2777 -0.097
Gambar 3.8 Matriks Transform (A)
b. Menghitung Matriks Transpose
Matriks transpose (A’) adalah perubahan kolom menjadi baris dari matriks A seperti
ditunjukkan pada Gambar 3.9.
0.3535 0.49039 0.4619 0.4157 0.3535 0.2777 0.1913 0.0975
0.3535 0.4157 0.1913 -0.097 -0.353 -0.490 -0.461 -0.277
0.3535 0.2777 -0.191 -0.490 -0.353 0.097 0.4619 0.4157
0.3535 0.0.975 -0.461 -0.277 0.3535 0.4157 -0.191 -0.490
0.3535 -0.097 -0.461 0.2777 0.3535 -0.415 -0.191 0.4903
0.3535 -0.277 -0.191 0.490 -0.353 -0.097 0.4619 -0.415
0.3535 -0.415 0.1913 0.0975 -0.353 0.4903 -0.461 0.2777
0.3535 -0.490 0.4619 -0.415 0.3535 -0.277 0.1913 -0.097
Gambar 3.9 Matriks Transpose (A’)
Selanjutnya cari matriks D dengan cara D = A * M * A’
Dimana A = Matriks Transform
Dimana M = Matriks Citra asli