Anda di halaman 1dari 12

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. Proses ekstraksi watermark dari dokumen yang akan diuji.

2.2.3 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 langsung

oleh orang lain atau dengan menggunakan 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

seperti komunikasi antara komputer sekalipun.

c. Perpustakaan Kelas Yang Lengkap, Java terkenal dengan

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

Anda mungkin juga menyukai