BAB 2 LANDASAN TEORI 2.1 Image Digital Pengertian Image

advertisement
BAB 2
LANDASAN TEORI
2.1
Image Digital
Pengertian Image Digital
Image digital sebenarnya bukanlah sebuah data digital yang normal, melainkan sebuah
representasi dari image asal yang bersifat analog . Mengacu pada pendapat Ira Herawati (2010)
pengertian citra dapat dikemukakan sebagai gambar pada bidang dua dimensi. Image digital
ditampilkan pada layar komputer dengan berbagai macam susunan warna dan tingkat kecerahan.
Susunan warna inilah yang menyebabkan sebuah image bersifat analog. Hal ini disebabkan
karena susunan warna yang dimiliki dalam sebuah image mengandung jumlah warna dan tingkat
kecerahan yang tidak terbatas. Image yang ditampilkan pada layar komputer ini, yang
sebenarnya merupakan sebuah representasi analog, juga tersusun dari sebuah rentang tak terbatas
dari nilai cahaya yang dipantulkan atau cahaya yang ditransmisikan. Jadi secara umum image
memiliki sifat kontinu dalam tampilan warna dan tingkat kecerahannya.
2.2
Digital Watermarking
`2.2.1
Latar Belakang Digital Watermarking
Sebenarnya, konsep atau ide awal dari watermarking telah ada sejak tahun 1990-
an, namun istilah
watermark baru digunakan pada tahun 1993, diperkenalkan oleh
A.Z.Tirkel dan teman-temannya. Digital watermarking didasarkan pada ilmu stenografi,
yaitu ilmu yang mengkaji tentang penyembunyian data. Mengacu pada pendapat
Skol(2001) istilah “stenografi “ berasal dari Bahasa Yunani, yang berarti
covered-
writing, atau tulisan tersembunyi. Teknik ini mengambil keuntungan dari keterbatasan
indera manusia, khususnya penglihatan dan pendengaran, sehingga watermark yang
dibubuhkan pada dokumen tidak akan disadari kehadirannya oleh manusia.
2.2.2
Jenis-jenis watermarking
Secara garis besar, ada dua jenis watermarking :
a. Robust watermarking
Jenis watermark ini tahan terhadap serangan (attack), namun biasanya
watermark yang dibubuhi ke dokumen masih dapat ditangkap oleh indera
penglihatan atau pendengaran manusia.
b. Fragile watermarking
Jenis watermark ini akan mudah rusak jika terjadi serangan, namun
kehadirannya tidak terdeteksi oleh indera manusia.
Jika diinginkan untuk membuat suatu algoritma yang dapat mengimplementasikan
watermarking yang memiliki fidelity yang tinggi (adanya watermark tidak disadari oleh
pengamatan manusia) maka hasilnya akan semakin rentan terhadap serangan. Ada tiga
tahap utama dalam proses watermarking :
a. Mengintegrasikan watermark pada image (embedding)
b. Serangan terhadap image yang telah dibubuhi
watermark, baik yang
disengaja (misalnya dikompresi, dipotong sebagian, di-filter, dan
sebagainya) ataupun yang tidak disengaja (misalnya disebabkan oleh
noise atau gangguan dalam saluran transmisi data).
c.
2.2.3
Proses ekstraksi watermark dari dokumen yang akan diuji.
Syarat-syarat Digital Watermarking yang ideal
Untuk mendapatkan suatu teknik digital watermarking yang baik, maka teknik
tersebut harus dapat memenuhi kondisi di bawah ini:
a. Elemen dari suatu data digital dapat secara langsung dimanipulasi dan
informasi dapat ditumpangkan ke dalam data digital tersebut
b. Penurunan kualitas dari data digital setelah dibubuhkan watermark, dapat
seminimal mungkin.
c.
Watermark dapat dideteksi dan diperoleh kembali meskipun setelah data
digital diubah sebagian, dikompresi, ataupun di-filter.
d.
Struktur dari watermark membuat penyerang sulit untuk mengubah
informasi yang terkandung di dalamnya.
e.
Proses untuk membubuhkan watermark dan mendeteksinya cukup
sederhana
f. Jika watermark dihapus, maka kualitas dari data digital yang ditumpanginya
akan berkurang jauh atau bahkan rusak sama sekali.
g.
Informasi watermark yang diselipkan dalam isi data digital dapat dideteksi
ketika dibutuhkan.
h.
Label hak cipta yang unik mengandung informasi pembuatan, seperti nama,
tanggal, dan sebagainya, atau sebuah kode hak cipta seperti halnya ISBN
(International Standard for Book Notation) pada buku-buku.
i. Watermark tidak dapat diubah atau dihapus (robustness) secara
oleh orang lain atau dengan menggunakan
langsung
software pengolahan sinyal
sampai tingkatan tertentu. Watermarking yang diberikan lebih dari satu kali
dapat merusak data digital aslinya. Cara ini dilakukan supaya orang lain
tidak dapat melakukan pelabelan berulang terhadap data yang telah dilabel.
Sampai saat ini, belum ada teknik watermarking yang dapat memenuhi seluruh
kriteria di atas.
2.2.4 Metode Watermarking
Domain dalam teknik Digital Image Watermarking yaitu domain spasial
dan domain transform. Penyisipan watermark dalam domain spasial dilakukan
secara langsung pada pixel-pixel penyusun sebuah image digital. Contoh metode
yang termasuk dalam teknik dengan domain spasial adalah LSB (Least Significant
Bit) yang mewatermark sebuah image digital dengan mengganti bit LSB-nya
dengan bit data, metode lain dalam domain spasial yaitu metode patchwork yang
menanamkan watermark sebesar 1 bit pada image digital dengan menggunakan
pendekatan statistik. Untuk metode yang digunakan pada teknik dalam domain
transform, biasanya berhubungan dengan transformasi sinyal yang digunakan
dalam bidang matematika. Watermark disisipkan ke dalam koefisien transformasi
tergantung dari jenis transformasi yang digunakan. Beberapa jenis transformasi
yang sering digunakan yaitu Discrete Fourier Transform (DFT), Discrete Cosine
Transform (DCT), Discrete Wavelet Transform (DWT), dan Discrete Laguerre
Transform (DLT). Inti watermarking dalam domain transform adalah sebuah
transformasi balikan (inverse transform) harus dijalankan untuk mendapatkan
image berwatermark.
Spread spectrum merupakan salah satu contoh metode dalam domain
transform. Metode ini memanfaatkan transformasi sinyal dengan cara
mentransformasikan image digital ke dalam domain frekuensi, kemudian bit
watermark disisipkan pada koefisien transformasi. Penyisipan watermark ini
dilakukan dengan cara menyebarkan watermark diantara banyak komponen
frekuensi.
2.3
Discrete Wavelet Transform
Dasar dari DWT dimulai pada tahun 1976 dimana teknik untuk mendekomposisi sinyal
waktu diskrit ditemukan . Di dalam CWT, sinyal dianalisis menggunakan seperangkat fungsi
dasar yang saling berhubungan dengan penskalaan dan transisi sederhana. Sedangkan di dalam
DWT, penggambaran sebuah skala waktu sinyal digital didapatkan dengan menggunakan teknik
filterisasi digital. Secara garis besar proses dalam teknik ini adalah dengan melewatkan sinyal
yang akan dianalisis pada filter dengan frekuensi dan skala yang berbeda. Filterisasi sendiri
merupakan sebuah fungsi yang digunakan dalam pemrosesan sinyal. Wavelet dapat
direalisasikan menggunakan iterasi filter dengan penskalaan. Resolusi dari sinyal, yang
merupakan rata-rata dari jumlah detail informasi dalam sinyal, ditentukan melalui filterisasi ini
dan skalanya didapatkan dengan upsampling dan downsampling (subsampling).
Sebuah sinyal harus dilewatkan dalam dua filterisasi DWT yaitu highpass filter
dan
lowpass filter agar frekuensi dari sinyal tersebut dapat dianalisis. Analisis sinyal dilakukan
terhadap hasil filterisasi highpass filter dan lowpass filter di mana highpass filter digunakan
untuk menganalisis frekuensi tinggi dan lowpass filter digunakan untuk menganalisis frekuensi
rendah. Analisis terhadap frekuensi dilakukan dengan cara menggunakan resolusi yang
dihasilkan setelah sinyal melewati filterisasi. Analisis frekuensi yang berbeda dengan
menggunakan resolusi yang berbeda inilah yang disebut dengan multi-resolution analysis, seperti
yang telah disinggung pada bagian Transformasi Wavelet.
Pembagian sinyal menjadi frekuensi tinggi dan frekuensi rendah dalam proses filterisasi
highpass filter dan lowpass filter disebut sebagai dekomposisi. Proses dekomposisi dimulai
dengan melewatkan sinyal asal melewati highpass filter dan lowpass filter. Misalkan sinyal asal
ini memiliki rentang frekuensi dari 0 sampai dengan π rad/s. Dalam melewati highpass filter dan
lowpass filter ini, rentang frekuensi di-subsample menjadi dua, sehingga rentang frekuensi
tertinggi pada masing-masing subsample menjadi ߨ/2 rad/s. Setelah filterisasi, setengah dari
sampel atau salah satu subsample dapat dieliminasi berdasarkan aturan Nyquist. Sehingga sinyal
dapat selalu di-subsample oleh 2 (↓2) dengan cara mengabaikan setiap sampel yang kedua.
Proses dekomposisi ini dapat melalui satu atau lebih tingkatan. Dekomposisi satu tingkat ditulis
dengan ekspresi matematika pada persamaan 2 dan 3
ytinggi [k] = ∑ x[n] h [2k - n] (2)
yrendah [k] = ∑ x[n] g [2k - n] (3)
y [k] tinggi dan y [k]rendah adalah hasil dari highpass filter dan lowpass filter, x[n] merupakan
sinyal asal, h[n] adalah highpass filter, dan g[n] adalah lowpass filter. Untuk dekomposisi lebih
dari satu tingkat, prosedur pada rumus 2 dan 3 dapat digunakan pada masing-masing tingkatan.
Contoh penggambaran dekomposisi dipaparkan pada Gambar 2.1 dengan menggunakan
dekomposisi tiga tingkat.
Gambar 2.1 Dekomposisi Wavelet 3 Tingkat
DWT menganalisis sinyal pada frekuensi berbeda dengan resolusi yang berbeda melalui
dekomposisi sinyal sehingga menjadi detail informasi dan taksiran kasar. DWT bekerja pada dua
kumpulan fungsi yang disebut fungsi penskalaan dan fungsi wavelet yang masing-masing
berhubungan dengan lowpass filter dan highpass filter. Seperti yang telah dijelaskan sebelumnya
dekomposisi ini didasarkan pada aturan Nyquist yang salah satunya mengatakan bahwa frekuensi
komponen sample harus kurang atau sama dengan setengah dari frekuensi sampling. Jadi diambil
frekuensi sampel π /2 dari frekuensi sampling π dalam subsample oleh 2 pada dekomposisi
wavelet. Sebagai penggambaran dekomposisi wavelet dengan sinyal asal x[n] yang memiliki
frekuensi maksimum f = π dipaparkan pada Gambar 2.2.
Gambar 2.2 Dekomposisi Wavelet dengan frekuensi sinyal asal f=0
Proses rekonstruksi diawali dengan menggabungkan koefisien DWT dari yang berada pada akhir
dekomposisi dengan sebelumnya meng-upsample oleh 2 (↑2) melalui highpass filter dan lowpass
filter. Proses rekonstruksi ini sepenuhnya merupakan kebalikan dari proses dekomposisi sesuai
dengan tingkatan pada proses dekomposisi. Sehingga persamaan rekonstruksi pada masing masing tingkatan dapat ditulis sebagai berikut:
X[n] = ∑ ( ytinggi [k] h [-n+2k] + yrendah[k] g [-n+2k])
Proses rekonstruksi wavelet untuk mendapatkan sinyal asal dengan tiga tingkatan digambarkan
pada Gambar 2.3.
Gambar 2.3 Rekonstruksi Wavelet 3 Tingkat
2.4
Koefisien Korelasi
Pearson product-moment correlation coefficient (dinotasikan dengan r) adalah ukuran
korelasi (ketergantungan linear) antara 2 variabel x dan y , dengan memberikan nilai +1 dan -1
secara inklusif. Biasa dipakai dalam science untuk menentukan ukuran ketergantungan linear
antara 2 variabel. Dikembangkan oleh Karl Pearson . Koefisien korelasi disebut juga Pearson r.
Koefisien korelasi bernilai antara -1 dan 1. Nilai 1 berarti sebuah persamaan garis
mendeskripsikan hubungan x dan y secara sempurna, di mana semua data terdapat pada garis
yang mana y meningkat ketika x meningkat. Nilai -1 berarti semua data berada pada garis yang
mana nilai y menurun ketika nilai x meningkat. Nilai 0 berarti tidak ada korelasi linear antara 2
varibel. Secara umum persamaan (Xi − X)(Yi − Y) jika dan hanya jika xj dan yj berada pada sisi yang
sama dari mean masing-masing.
Koefisien korelasi positif jika xj dan yj cendderung berada pada sisi yang sama dari mean
mereka. Koefisien korelasi negative jika xj dan yj cenderung berada pada sisi yang berlawanan
dari mean mereka.
2.4
Java Programming
Java adalah bahasa programmeran yang sudah umum penggunaannya dan dapat
dijalankan di berbagai komputer termasuk telepon genggam. Bahasa ini awalnya dibuat
oleh James Gosling saat masih bergabung di Sun Microsystemssaat ini merupakan bagian
dari Oracle dan dirilis tahun1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat
pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta dukungan
rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis java umumnya dikompilasi ke
dalam p-code(bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). Java
merupakan bahasa programmeran yang bersifat umum/non-spesifik (general purpose), dan
secara khusus didesain untuk memanfaatkan dependensi implementasi seminimal mungkin.
Karena fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa
platform sistem operasi yang berbeda, java dikenal pula dengan slogannya, "Tulis sekali,
jalankan di mana pun". Saat ini java merupakan bahasa programmeran yang paling populer
digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak
aplikasi ataupun aplikasi berbasis web.
2.4.1
Java system
Platform Java terdiri dari kumpulan library, JVM, kelas- kelas loader yang
dipaket dalam sebuah lingkungan rutin Java, dan sebuah compiler, debuger, dan
perangkat lain yang dipaket dalam Java Development Kit (JDK). Java2 adalah generasi
yang sekarang sedang berkembang dari platform Java. Agar sebuah program Java dapat
dijalankan, maka file dengan ekstensi ''.java'' harus dikompilasi menjadi file bytecode.
Untuk menjalankan bytecode tersebut dibutuhkan JRE ( Java Runtime Environment)
yang memungkinkan pemakai untuk menjalankan program Java, hanya menjalankan,
tidak untuk membuat kode baru lagi. JRE berisi JVM dan library Java yang digunakan.
Platform Java memiliki tiga buah edisi yang berbeda, yaitu J2EE ( Java2 Enterprose
Edition), J2ME ( Java2 Micro Edition) dan J2SE ( Java2 Second Edition).
2.4.2
Kelebihan Bahasa Java
a. Multiplatform. Kelebihan utama dari Java adalah dapat dijalankan di
beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali,
jalankan di mana saja. Dengan kelebihan ini programmer cukup menulis sebuah
program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia
menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas
beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah
program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan
dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini
adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebabnya adalah
setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat
diunduh dari situs Java) untuk menginterpretasikan bytecode tersebut.
b. OOP (Object Oriented Programming - Programmer Berorientasi Objek) yang
artinya semua aspek yang terdapat di Java adalah Objek. Java merupakan salah
satu bahasa pemprograman berbasis objek secara murni. Semua tipe data
diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan
programmer untuk mendesain, membuat, mengembangkan dan mengalokasi
kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan
terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa
pemprograman
termudah,
bahkan
untuk
fungsi-fungsi
yang
advance
terkenal
dengan
seperti komunikasi antara komputer sekalipun.
c. Perpustakaan
Kelas
Yang
Lengkap,
Java
kelengkapan library/perpustakaan(kumpulan program-program yang disertakan
dalam programmeran java) yang sangat memudahkan dalam penggunaan oleh
para programmer untuk membangun aplikasinya. Kelengkapan perpustakaan ini
ditambah dengan keberadaan komunitas Java yang besar yang terus menerus
membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan
pembangunan aplikasi.
d. Bergaya C++, memiliki sintaks seperti bahasa programmeran C++ sehingga
menarik banyak programmer C++ untuk pindah ke Java. Saat ini pengguna Java
sangat banyak, sebagian besar adalah programmer C++ yang pindah ke Java.
Universitas-universitas
di Amerika
Serikat juga
mulai
berpindah
dengan
mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami
oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan
komputer.
e. Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan
memori sehingga para programmer tidak perlu melakukan pengaturan memori
secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).
Alasan memakai Java untuk design dan pengembangan projek adalah karena Java
adalah bahasa programmeran populer yang dapat dijalankan di banyak platform dan juga
merupakan bahasa programmeran OOP yang mempunyai ribuan kelas dengan fungsinya
masing-masing. Java juga merupakan bahasa programmeran yang compatible dengan
berbagai macam sistem operasi, sehingga user dengan sistem operasi apapun dapat
menggunakan program aplikasi ini
Download