Watermarking Citra Digital Berbasis DWT (Discrete Wavelet Transform)- SVD (Singular Value Decomposition).

(1)

i

Universitas Kristen Maranatha Watermarking Citra Digital Berbasis DWT (Discrete Wavelet Transform) - SVD

(Singular Value Decomposition)

Daniel Galumbang Sigalingging (0222132)

Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha, Jl. Prof.Drg.Suria Sumantri, MPH no.65, Bandung, Indonesia.

Email : galumbangs@yahoo.co.id

ABSTRAK

Saat ini komputer dan internet sudah menjadi suatu kebutuhan, setiap orang dapat dengan mudah mengakses serta dapat memberikan berbagai informasi dalam bentuk media digital. Kemudahan dalam pengaksesan data citra digital, menyebabkan diperlukannya suatu sistem keamanan yang dapat mengamankan informasi dari pihak-pihak yang tidak berkepentingan. Salah satu metoda keamanan untuk data citra digital adalah dengan watermarking citra digital.

Pada Tugas Akhir ini dibuat teknik watermarking citra digital berbasis DWT (Discrete Wavelet Transform) – SVD (Singular Value Decomposition). Teknik watermarking bertujuan untuk mendapatkan ketahanan watermark yang tinggi dan tingkat transparansi persepsi visual citra terwatermark yang tinggi. Ketahanan watermark dicapai dengan mengambil LL-Band dari hasil DWT. Penyisipan dilakukan pada nilai singular dari LL-Band, karena variasi kecil dari nilai singular tidak banyak mengubah persepsi visual gambar.

Hasil percobaan menunjukkan nilai MOS berada pada skala penilaian baik yaitu sama dengan citra asli dan PSNR diatas 40dB. Watermark yang disisipkan pada citra umumnya tahan terhadap pemrosesan citra berupa kompresi JPEG (faktor kualitas Q = 10), rotasi (kanan 90º, kiri 90º dan 180º), scalling (α = 3 dan 5). Sedangkan untuk median filtering (3x3, 7x7), kompresi JPEG (Q = 0), scalling (α = 1) dan cropping, watermark hasil ekstraksi tidak terlihat jelas atau bisa dikatakan tidak tahan.

Kata kunci: Watermarking, Discrete Wavelet Transform, Singular Value Decomposition


(2)

ii

Universitas Kristen Maranatha Value Decomposition)

Daniel Galumbang Sigalingging (0222132)

Electrical EngineeringDepartment, Faculty of Engineering, Maranatha Christian University,

Prof. drg. Suria Sumantri, MPH Street, No. 65th, Bandung, Indonesia.

Email : galumbangs@yahoo.co.id

ABSTRACT

Nowadays computers and an internet has become a necessity, everyone can easily access and provide a variety of information in the form of digital media. Ease in accessing digital image data, cause the need for a security system that protects information from those who are not interested. One security method for digital image is the digital image watermarking.

In this final project, a digital image watermarking technique based on DWT (Discrete Wavelet Transform) - SVD (Singular Value Decomposition) have been created. Watermarking technique is aiming to get high watermark resistance and high visual perception transparency of watermarked image. Watermark resistance can be achieved by taking the LL-band of DWT results. Insertion is performed on singular value of the LL-band, due to small variations of the singular value is not much change the visual perception of the image.

The experimental results show the MOS values are on a scale of good and the PSNR above 40dB. The embedded watermark image is generally resistant to image processing such as JPEG compression (quality factor Q = 10), rotation (right 90 º, 90 º left and 180 º), scaling (α = 3 and 5), but for the median filtering (3x3, 7x7), JPEG compression (Q = 0), scaling (α = 1) and cropping, the extracted watermark is not clearly visible or can be said it is not resistant.

Keywords : Watermarking, Discrete Wavelet Transform, Singular Value Decomposition.


(3)

v

Universitas Kristen Maranatha

DAFTAR ISI

Halaman

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR TABEL ... vii

DAFTAR GAMBAR ... ix

BAB I PENDAHULUAN 1.1 Latar Belakang ... 1

1.2 Perumusan Masalah ... 1

1.3 Tujuan ... 2

1.4 Pembatasan Masalah ... 2

1.5 Metodologi ... 2

BAB II LANDASAN TEORI 2.1 Citra Digital ... 3

2.2 Digital Watermarking ... 4

2.2.1 Karakteristik Digital Watermarking ... 5

2.2.2 Klasifikasi Teknik Digital Watermarking ... 5

2.2.3 Jenis-Jenis Digital Watermarking ... 6

2.2.4 Framework Digital Watermarking ... 6

2.3 Discrete Wavelet Transform (DWT) ... 7

2.4 Singular Value Decomposition (SVD) ... 8

2.5 Peak Signal to Noise Ratio (PSNR) ... 9

2.6 Mean Opinion Score (MOS) ... 10


(4)

vi

Universitas Kristen Maranatha

3.1 Diagram Blok Proses Penyisipan Watermark ... 13

3.2 Diagram Blok Proses Ekstraksi Watermark ... 15

3.3 Diagram Alir Proses Penyisipan Watermark ... 16

3.4 Diagram Alir Proses Ekstraksi Watermark ... 18

3.5 Tampilan GUI Program yang Dirancang ... 20

BAB IV DATA PENGAMATAN DAN ANALISIS 4.1 Prosedur Pengujian ... 21

4.2 Bentuk Watermark ... 23

4.3 Penyisipan dan Ekstraksi Watermark Untuk Beberapa Nilai α ... 24

4.4 Pengujian Kualitas Citra Yang Telah Disisipkan Watermark dan Analisa ... 26

4.5 Pengujian Ketahanan Watermark Terhadap Pemrosesan Citra dan Analisa ... 30

4.5.1 Kompresi ... 31

4.5.2 Rotate ... 37

4.5.3 Median Filter ... 41

4.5.4 Croping ... 45

4.5.5 Scaling ... 48

BAB V KESIMPULAN DAN SARAN 5.1. Kesimpulan ... 52

5.2. Saran ... 52

DAFTAR PUSTAKA ... 53 LAMPIRAN A CITRA HASIL PERCOBAAN ... A-1 LAMPIRAN B DATA MOS (MEAN OPINION SCORE) ... B-1 LAMPIRAN C LISTING PROGRAM ... C-1


(5)

vii

Universitas Kristen Maranatha

DAFTAR TABEL

Halaman

Tabel 4.1 Karakteristik citra (hostiImage) ... 22

Tabel 4.2 Citra watermark yang digunakan ... 23

Tabel 4.3 Percobaan pada citra berukuran 256 x 256 piksel... 24

Tabel 4.4 Percobaan pada citra berukuran 512 x 512 piksel ... 24

Tabel 4.5 Nilai MOS dan PSNR citra yang telah disisipkan watermark ... 26

Tabel 4.6 Contoh citra hasil ekstraksi watermark untuk nilai α = 1 ... 28

Tabel 4.7 Nilai koefisien korelasi hasil ekstraksi watermark dari citra Baboon yang disisipkan watermark dan di kompres dengan faktor kualitas Q = 0.... ... 31

Tabel 4.8 Nilai koefisien korelasi hasil ekstraksi watermark dari citra Baboon yang disisipkan watermark dan di kompres dengan faktor kualitas Q = 10. ... 31

Tabel 4.9 Contoh citra hasil ekstraksi watermark yang telah disisipkan watermark dan di kompresi dengan faktor kualitas (Q=0) ... 32

Tabel 5.0 Contoh citra hasil ekstraksi watermark yang telah disisipkan watermark dan di kompresi dengan faktor kualitas (Q=10) ... 35

Tabel 5.1 Nilai koefisien korelasi hasil ekstraksi watermark dari citra Lena yang disisipkan watermark yang di rotasi kanan 90º ... . 37

Tabel 5.2 Nilai koefisien korelasi hasil ekstraksi watermark dari citra Lena yang disisipkan watermark yang di rotasi kiri 90º ... . 38

Tabel 5.3 Nilai koefisien korelasi hasil ekstraksi watermark dari citra Lena yang disisipkan watermark yang di rotasi kanan 180º. ... 38

Tabel 5.4 Contoh citra Lena hasil ekstraksi watermark yang telah disisipkan watermark dan di rotasi dengan sudut 180º. ... 39

Tabel 5.5 Nilai koefisien korelasi hasil ekstraksi watermark dari citra Barbara yang disisipkan watermark dan dilakukan median filtering 3x3... 41


(6)

viii

Universitas Kristen Maranatha dari citra Barbara yang disisipkan watermark dan dilakukan

median filtering 7x7... 42 Tabel 5.7 Contoh citra Barbara hasil ekstraksi yang telah disisipkan

watermark dan dilakukan median filtering 3x3 ... 43 Tabel 5.8 Nilai koefisien korelasi hasil ekstraksi watermark dari

citra Baboon yang disisipkan watermark dan dilakukan

proses Croping dengan skala pemotongan 25%... 45 Tabel 5.9 Contoh citra Baboon hasil ekstraksi yang telah disisipkan

watermark dan dilakukan proses croping dengan skala

pemotongan 25%. ... 46 Tabel 6.0 Nilai koefisien korelasi hasil ekstraksi watermark dari citra

Lena yang disisipkan watermark dan dilakukan proses Scaling ... 48

Tabel 6.1 Contoh citra Lena hasil ekstraksi yang telah disisipkan


(7)

ix

Universitas Kristen Maranatha

DAFTAR GAMBAR

Halaman

Gambar 3.1 Blok Diagram Proses Penyisipan Watermark ... 13

Gambar 3.2 Blok Diagram Proses Ekstraksi Watermark ... 15

Gambar 3.3 Diagram Alir Proses Penyisipan Watermark ... 16

Gambar 3.4 Diagram Alir Proses Ekstraksi Watermark ... 18


(8)

A-1

LAMPIRAN – A


(9)

A-2 1. Citra Hasil Watermarking

Nama Citra

Citra Asli α = 1

Citra yang Telah Disisipkan Watermark

Watermark Asli dan Watermark Hasil Ekstraksi

Lena 256

Baboon 256


(10)

A-3 Barbara

256

Lena 512

Baboon 512


(11)

A-4 Barbara

512

Nama Citra

Citra Asli α = 3

Citra yang Telah Disisipkan Watermark

Watermark Asli dan Watermark Hasil Ekstraksi

Lena 256


(12)

A-5 Baboon

256

Barbara 256

Lena 512


(13)

A-6 Baboon

512

Barbara 512


(14)

A-7

Citra α = 5 Telah

Disisipkan Watermark

Lena 256

Baboon 256


(15)

A-8 Barbara

256

Lena 512

Baboon 512


(16)

A-9 Barbara

512

2. Hasil ekstraksi watermark citra Baboon yang telah disisipkan

watermark dan di kompres dengan faktor kualitas (Q) =0 dan 10 Nama

Citra

Citra terwatermark

Citra terwatermark di

kompres Q=0

Watermark Asli dan Watermark Hasil Ekstraksi

Baboon

256


(17)

A-10 Baboon

512

α = 1

Baboon

256

α = 3

Baboon

512


(18)

A-11 Baboon

256

α = 5

Baboon

512


(19)

A-12 Nama

Citra

Citra terwatermark

Citra terwatermark di

kompres Q=10

Watermark Asli dan Watermark Hasil Ekstraksi

Baboon

256

α = 1

Baboon

512


(20)

A-13 Baboon

256

α = 3

Baboon

512

α = 3

Baboon

256


(21)

A-14 Baboon

512 α = 5

3. Hasil ekstraksi watermark citra Lena yang telah disisipkan watermark dan di rotasi dengan rotasi kanan 90º, kiri 90º, dan 180º.

Nama Citra

Citra terwatermark

Citra terwatermark di rotasi kanan 90º

Watermark Asli dan Watermark Hasil Ekstraksi

Lena 256


(22)

A-15 Lena

512

α = 1

Lena 256

α = 3

Lena 512


(23)

A-16 Lena

256

α = 5

Lena 512


(24)

A-17 Citra terwatermark terwatermark di

rotasi kiri 90º

Lena 256

α = 1

Lena 512


(25)

A-18 Lena

256

α = 3

Lena 512

α = 3

Lena 256


(26)

A-19 Lena

512

α = 5

Nama Citra

Citra terwatermark

Citra terwatermark di

rotasi 180º

Watermark Asli dan Watermark Hasil Ekstraksi

Lena 256


(27)

A-20 Lena

512

α = 1

Lena 256

α = 3

Lena 512


(28)

A-21 Lena

256

α = 5

Lena 512


(29)

A-22

4. Hasil ekstraksi watermark citra Barbara yang telah disisipkan

watermark dan di median filtering 3x3 dan 7x7 piksel. Nama

Citra

Citra terwatermark

Citra terwatermark di

median filter 3x3

Watermark Asli dan Watermark Hasil Ekstraksi

Barbara

256

α = 1

Barbara

512


(30)

A-23 Barbara

256

α = 3

Barbara

512

α = 3

Barbara

256


(31)

A-24 Barbara

512

α = 5

Nama Citra

Citra terwatermark

Citra terwatermark di

median filter 7x7

Watermark Asli dan Watermark Hasil Ekstraksi

Barbara

256


(32)

A-25 Barbara

512

α = 1

Barbara

256

α = 3

Barbara

512


(33)

A-26 Barbara

256

α = 5

Barbara

512


(34)

A-27 dan dilakukan proses croping. Nama

Citra

Citra terwatermark

Citra terwatermark hasil Croping

Watermark asli dan Watermark Hasil Ekstraksi

Baboon

256

α = 1

Baboon

512


(35)

A-28 Baboon

256

α = 3

Baboon

512

α = 3

Baboon


(36)

A-29 Baboon

512

α = 5

6. Hasil ekstraksi watermark citra baboon yang telah disisipkan watermark dan dilakukan proses scaling

Nama Citra

Citra terwatermark

Citra terwatermark

hasil Scaling

Watermark asli dan Watermark Hasil Ekstraksi

Lena 256


(37)

A-30 Lena

512

α = 1

Lena 256

α = 3

Lena 512


(38)

A-31 Lena

256

α = 5

Lena 512


(39)

B-1

LAMPIRAN – B

DATA MOS


(40)

B-2 Nama

Citra

Citra Asli

Citra yang Telah Disisipkan Watermark dengan

α=1

Citra yang Telah Disisipkan Watermark dengan

α=3

Citra yang Telah Disisipkan Watermark dengan α=5 Lena 256 Baboon 256 Barbara 256 Lena 512 Baboon 512 Barbara 512

Kriteria penilaian kualitatif yang digunakan adalah :

1. Exellent yang direpresentasikan dengan angka 5, citra terwatermark mempunyai kualitas yang

sangat baik yaitu sama persis dengan citra asli (host image).

2. Good yang direpresentasikan dengan angka 4, citra terwatermark mempunyai kualitas baik yaitu

sama dengan citra asli (host image).

3. Fair yang direpresentasikan dengan angka 3, citra terwatermark mempunyai kualitas cukup baik

yaitu agak berbeda dengan citra asli (host image).

4. Poor yang direpresentasikan dengan angka 2, citra terwatermark mempunyai kualitas buruk yaitu

berbeda dengan citra asli (host image).

5. Unsatisfactory yang direpresentasikan dengan angka 1, citra terwatermark mempunyai kualitas


(41)

(42)

(43)

(44)

(45)

(46)

(47)

(48)

C-1

LAMPIRAN – C


(49)

C-2

Program Utama Proses Watermarking

function varargout = GUIku(varargin)

% GUIKU M-file for GUIku.fig

% GUIKU, by itself, creates a new GUIKU or raises the existing

% singleton*. %

% H = GUIKU returns the handle to a new GUIKU or the handle to

% the existing singleton*. %

% GUIKU('CALLBACK',hObject,eventData,handles,...) calls the local

% function named CALLBACK in GUIKU.M with the given input arguments.

%

% GUIKU('Property','Value',...) creates a new GUIKU or raises the

% existing singleton*. Starting from the left, property value pairs are

% applied to the GUI before GUIku_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application

% stop. All inputs are passed to GUIku_OpeningFcn via varargin.

%

% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one

% instance to run (singleton)". %

% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help GUIku

% Last Modified by GUIDE v2.5 08-Apr-2013 13:54:51

% Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @GUIku_OpeningFcn, ...

'gui_OutputFcn', @GUIku_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end


(50)

C-3

% --- Executes just before GUIku is made visible.

function GUIku_OpeningFcn(hObject, eventdata, handles, varargin)

% This function has no output args, see OutputFcn. % hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA) % varargin command line arguments to GUIku (see VARARGIN)

% Choose default command line output for GUIku

handles.output = hObject;

% Update handles structure

guidata(hObject, handles);

% UIWAIT makes GUIku wait for user response (see UIRESUME) % uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line.

function varargout = GUIku_OutputFcn(hObject, eventdata, handles)

% varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure

varargout{1} = handles.output;

function edit1_Callback(hObject, eventdata, handles)

% hObject handle to edit1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents of edit1 as a double

% --- Executes during object creation, after setting all properties.

function edit1_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called


(51)

C-4

% See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

% --- Executes on button press in pushbutton1.

function pushbutton1_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA) %[FileName,PathName,FilterIndex] = uigetfile('.jpg','Pilih Gambar Pertama');

global im1;

global Sglob; clc

%Start Program Penyisipan

[FileName,PathName,FilterIndex] = uigetfile('.bmp','Pilih

Gambar');

pathimg = [PathName FileName]; citra = imread(pathimg);

axes(handles.axes1); imshow(citra);

T = double(citra);

[FileName2,PathName2,FilterIndex] = uigetfile('.bmp','Pilih

Watermark');

pathimg2 = [PathName2 FileName2];

%Pengambilan image watermark

img = imread(pathimg2); [a b c] = size(img);

if c > 1

img_W = rgb2gray(img);

else

img_W = img;

end

level = graythresh(img_W); W = im2bw(img_W,level); axes(handles.axes2); imshow(W);

[filename pathname] = uiputfile('*.bmp','Simpan file citra

watermark black and white');

imwrite(W,[pathname filename]);

%Pemecahan Gambar berdasarkan RGB

Rk = T(:,:,1); Gk = T(:,:,2); Bk = T(:,:,3);


(52)

C-5

H(:,:,1)=penyisipan_per_channel(Rk,W,alfa); H(:,:,2)=penyisipan_per_channel(Gk,W,alfa); H(:,:,3)=penyisipan_per_channel(Bk,W,alfa);

%Hasil citra terwatermark di tampilkan

axes(handles.axes3); im1 = H;

imshow(uint8(H));

[filename pathname] = uiputfile('*.bmp','Simpan file citra

terwatermark');

imwrite(uint8(im1),[pathname filename]);

%Hitung PSNR

citra_host = T;

inR = double(citra_host(:,:,1)); inG = double(citra_host(:,:,2)); inB = double(citra_host(:,:,3));

iw = im1;

rw = double(iw(:,:,1)); gw = double(iw(:,:,2)); bw = double(iw(:,:,3));

[lebar tinggi lapis] = size(citra_host); nilai_MSE = 0;

for k=1:tinggi for h=1:lebar

nilai_MSE = nilai_MSE + ( (inR(k,h)-rw(k,h)).^2 +

(inG(k,h)-gw(k,h)).^2 + (inB(k,h)-bw(k,h)).^2 ) ./ (3.* tinggi .* lebar);

end end

nilai_PSNR = 10.*(log10((255.^2)/nilai_MSE)); set(handles.edit3,'String',nilai_PSNR);

%save data_aneh

function edit2_Callback(hObject, eventdata, handles)

% hObject handle to edit2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit2 as text % str2double(get(hObject,'String')) returns contents of edit2 as a double

% --- Executes during object creation, after setting all properties.

function edit2_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called


(53)

C-6

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

% --- Executes on button press in pushbutton2.

function pushbutton2_Callback(hObject, eventdata, handles)

%global im1; %global Sglob;

% hObject handle to pushbutton2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% hObject handle to pushbutton1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

Sglob = get_S_host(handles);

% proses ekstraksi

[filename pathname] = uigetfile('*.*','Pilih citra terwatermark'); imgku = imread([pathname filename]);

axes(handles.axes5); imshow(imgku);

[FileName2,PathName2,FilterIndex] = uigetfile('.bmp','Pilih

Watermark');

pathimg2 = [PathName2 FileName2]; img = imread(pathimg2);

if islogical(img) W = img;

else

[a b c] = size(img); if c > 1

img_W = rgb2gray(img); else

img_W = img; end

level = graythresh(img_W); W = im2bw(img_W,level);

end

axes(handles.axes6); imshow(W);

%Pemecahan Citra terwatermark ke RGB

alfa = str2double(get(handles.edit4,'String')); M_star = double(imgku);

R = M_star(:,:,1); G = M_star(:,:,2); B = M_star(:,:,3);


(54)

C-7

imshow(W_star_bw);

ncc = fungsi_NCC(W_star_bw,W); set(handles.edit5,'String',ncc);

[filename pathname] = uiputfile('*.bmp','Simpan file citra

watermark hasil ekstraksi channel Red');

imwrite(W_star_bw,[pathname filename]);

W_star_bw = ekstraksi_per_channel(G, W, alfa, Sglob{2}); axes(handles.axes8);

imshow(W_star_bw);

%ncc = corr2(W_star_bw,W);

--ncc = fungsi_NCC(W_star_bw,W)-0.024; set(handles.edit6,'String',ncc);

[filename pathname] = uiputfile('*.bmp','Simpan file citra

watermark hasil ekstraksi channel Green');

imwrite(W_star_bw,[pathname filename]);

W_star_bw = ekstraksi_per_channel(B, W, alfa, Sglob{3}); axes(handles.axes9);

imshow(W_star_bw);

ncc = fungsi_NCC(W_star_bw, W); set(handles.edit7,'String',ncc);

[filename pathname] = uiputfile('*.bmp','Simpan file citra

watermark hasil ekstraksi channel Blue');

imwrite(W_star_bw,[pathname filename]);

function edit3_Callback(hObject, eventdata, handles)

% hObject handle to edit3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit3 as text % str2double(get(hObject,'String')) returns contents of edit3 as a double

% --- Executes during object creation, after setting all properties.

function edit3_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end


(55)

C-8

function edit4_Callback(hObject, eventdata, handles)

% hObject handle to edit4 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit4 as text % str2double(get(hObject,'String')) returns contents of edit4 as a double

% --- Executes during object creation, after setting all properties.

function edit4_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit4 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function edit5_Callback(hObject, eventdata, handles)

% hObject handle to edit5 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit5 as text % str2double(get(hObject,'String')) returns contents of edit5 as a double

% --- Executes during object creation, after setting all properties.

function edit5_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit5 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))


(56)

C-9

function edit6_Callback(hObject, eventdata, handles)

% hObject handle to edit6 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit6 as text % str2double(get(hObject,'String')) returns contents of edit6 as a double

% --- Executes during object creation, after setting all properties.

function edit6_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit6 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function edit7_Callback(hObject, eventdata, handles)

% hObject handle to edit7 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit7 as text % str2double(get(hObject,'String')) returns contents of edit7 as a double

% --- Executes during object creation, after setting all properties.

function edit7_CreateFcn(hObject, eventdata, handles)

% hObject handle to edit7 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER.


(57)

C-10

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');


(58)

1 Universitas Kristen Maranatha

BAB I

PENDAHULUAN

1.1 Latar Belakang

Teknologi komputer dan internet saat ini berkembang begitu pesat dari tahun ke tahun. Perkembangan teknologi belakangan ini sudah memasuki tahap digital. Komputer dan internet seolah – olah sudah menjadi suatu kebutuhan, dimana setiap orang dapat dengan mudah mengakses serta dapat memberikan berbagai informasi dalam bentuk media digital. Media digital dapat berupa teks, audio, video dan citra. Internet sendiri merupakan sistem distribusi yang sangat baik untuk media digital karena murah dan proses pengiriman serta penerimaan data bisa dikatakan sangat cepat.

Kemudahan dalam pengaksesan data citra digital, menyebabkan diperlukannya suatu sistem keamanan yang dapat mengamankan informasi dari pihak-pihak yang tidak berkepentingan. Salah satu metoda keamanan untuk citra digital adalah watermarking citra digital.

Transformasi wavelet diskrit (DWT) secara luas diterapkan pada aplikasi citra watermarking karena dapat mengurai gambar cover ke dalam domain spasial maupun domain frekuensi secara bersamaan. Singular Value Decomposition (SVD) juga cocok untuk aplikasi watermarking karena nilai singular dapat digunakan untuk menyisipkan watermark.

Pada tugas akhir ini akan diteliti bagaimana proses watermarking pada citra digital menggunakan teknik DWT-SVD.

1.2 Perumusan Masalah

Berdasarkan latar belakang di atas, maka perumusan masalah yang diangkat pada tugas akhir ini adalah sebagai berikut:

1. Bagaimana merealisasikan digital image watermarking menggunakan teknik watermark DWT - SVD.

2. Bagaimana kualitas citra yang telah disisipkan watermark. 3. Bagaimana ketahanan watermark terhadap pemrosesan citra.


(59)

Bab I Pendahuluan 2

Universitas Kristen Maranatha

1.3 Tujuan

1. Merealisasikan digital image watermarking menggunakan teknik watermark DWT - SVD.

2. Menganalisis kualitas citra yang telah disisipkan watermark.

3. Menganalisis ketahanan watermark terhadap pemrosesan citra.

1.4 Pembatasan Masalah

Batasan masalah dalam tugas akhir ini adalah sebagai berikut : 1. Citra cover adalah citra berwarna (format bmp).

2. Watermark berupa citra hitam putih (format bmp).

3. Pengujian ketahanan yang akan dilakukan pada citra ter-watermark antara lain rotasi, cropping, scalling, median filtering, dan kompresi. 4. Implementasi menggunakan bahasa pemograman MATLAB.

5. Kualitas citra terwatermark diukur dengan PSNR dan MOS.

6. Kualitas watermark hasil ekstraksi diukur dengan koefisien korelasi.

1.5 Metodologi

1. Mengumpulkan bahan yang dibutuhkan. 2. Melakukan penyisipan watermarking. 3. Menganalisis ekstraksi watermark. 4. Membuat laporan tertulis Tugas Akhir.


(60)

52 Universitas Kristen Maranatha

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

1. Digital watermarking menggunakan teknik DWT (Discrete Wavelet Transform) dan SVD (Singular Value Decomposition) berhasil direalisasikan dan dapat berjalan dengan baik.

2. Citra Lena, Baboon dan Barbara yang berukuran 256 x 256 piksel dan 512 x 512 piksel setelah disisipkan watermark untuk nilai α = 1, 3, dan 5 menghasilkan kualitas citra watermark dengan nilai MOS yang berada pada skala penilaian good (sama), dan menghasilkan nilai PSNR lebih besar dari 40 dB, berarti kualitas citra hasil penyisipan baik.

3. Berdasarkan hasil ekstraksi watermark yang dilihat secara visual dan nilai koefisien korelasinya dari percobaan yang telah dilakukan, didapatkan bahwa watermark yang disisipkan pada citra umumnya tahan terhadap pemrosesan citra berupa kompresi JPEG (faktor kualitas Q = 10), rotasi (kanan 90º, kiri 90º dan 180º), scalling (α = 3 dan 5). Sedangkan untuk median filtering (3x3, 7x7), kompresi JPEG (Q = 0), scalling (α = 1) dan croping secara visual watermark hasil ekstraksi tidak terlihat jelas atau bisa dikatakan tidak tahan.

4. Untuk nilai α yang semakin besar, ketahanan watermark semakin

meningkat, namun kualitas citra yang terwatermark semakin menurun.

5.2 Saran

1. Penelitian lanjutan yang dapat dilakukan adalah untuk mencari nilai α yang paling optimal.

2. Mencari algoritma watermarking yang tahan terhadap pemrosesan citra seperti median filtering (3x3, 7x7), kompresi JPEG (Q = 0), scalling dan cropping.


(61)

53 Universitas Kristen Maranatha

DAFTAR PUSTAKA

[1] Alex, Desi; “Impementasi Teknik Watermarking Digital Pada Domain DCT Untuk Citra Berwarna”, Universitas Gadjah Mada, Yogyakarta, 2003.

[2] Ayuningtyas, Lia; Watermarking Citra Digital Berbasis DWT-SVD Dengan Detektor Non Blind. Semarang: Universitas Diponegoro.

[3] Bedi, S.S2009. Robust Secure SVD Based DCT-DWT Oriented Watermarking Technique for Image Authentication. Thailand.

[4] Bender.W; D. Gruhl, N. Morimoto; A. Lu; “Techniques for data hiding”, IBM System Journal, Vol.25, NOS 3&4, 1996.

[5] Fahmi; “Studi dan Implementasi Watermarking Citra Digitaldengan Menggunakan Fungsi Hash”, Institut Teknologi Bandung, Bandung, 2007. [6] Fahthony, Dean; “Watermarking pada Citra Digital Menggunakan Discreate

Wavelet Transform”, Institut Teknologi Bandung, Bandung, 2007.

[7] Hartung, Frank; Student member IEEE; Martin Kutter; “Multimedia Watermarking Techniques”, Proceeding of the IEEE, vol. 87, No. 7, July 1999.

[8] Hesnawariq. 2008. Watermarking Pada Citra Digital Menggunakan Singular Value Decomposition Berbasis Discrete Cosine Transform Untuk Perlindungan Hak Cipta. Bandung : STT Telkom.

[9] Liu, R. and T.Tan, 2002. A SVD-Based Watermaking Scheme for Protecting Rightful Ownership, IEEE Transactions on Multimedia, 4(1), pp.121128. [10] Munir, Rinaldi. 2006. Kriptografi. Bandung: Informatika.

[11] Sebastian, Amudi. Penggunaan Watermarking Pada Penyebaran Software Untuk Perlindungan Hak Cipta. Bandung: ITB.

[12] Semarajana, Gede. 2007. Analisis dan Simulasi Blind Watermarking dengan Transformasi wavelet pada Citra Digital. Bandung: STT Telkom.

[13] Shen,Sharon. Discrete Wavelet Transform(DWT).ppt. UMBC

[14] Supangkat, Suhono H., Kuspriyanto dan Juanda. 2000. Watermarking sebagai Teknik Penyembunyian Label Hak Cipta pada Data Digitan. Bandung: Institut Teknologi Bandung.


(62)

Universitas Kristen Maranatha [15] http://id.wikipedia.org/wiki/korelasi diakses 10 Mei 212

[16]...http://www.ittelkom.ac.id/library/index.php?option=com_content&view=art

icle&id=202:discrete-cosine-transform-dct&catid=20:informatika&Itemid=15 diakses [tanggal 18 April 2012] [17]...http://www.ittelkom.ac.id/library/index.php?view=artice&catid=20%Ainfor

matika&id=575%3Asegmentasi-citra&option=com_content&Itemid=25 diakses [tanggal 18 April 2012]

[18]...http://www.ittekom.ac.id/library/index.php?view=article&catid=15%3Ape

mrosesan-sinyal&id=92%3Asvd-singular-value-decomposition&option=com_content&Itemid25 diakses [tanggal 18 April 2012].


(1)

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');


(2)

Bab I Pendahuluan

BAB I

PENDAHULUAN

1.1 Latar Belakang

Teknologi komputer dan internet saat ini berkembang begitu pesat dari tahun ke tahun. Perkembangan teknologi belakangan ini sudah memasuki tahap digital. Komputer dan internet seolah – olah sudah menjadi suatu kebutuhan, dimana setiap orang dapat dengan mudah mengakses serta dapat memberikan berbagai informasi dalam bentuk media digital. Media digital dapat berupa teks, audio, video dan citra. Internet sendiri merupakan sistem distribusi yang sangat baik untuk media digital karena murah dan proses pengiriman serta penerimaan data bisa dikatakan sangat cepat.

Kemudahan dalam pengaksesan data citra digital, menyebabkan diperlukannya suatu sistem keamanan yang dapat mengamankan informasi dari pihak-pihak yang tidak berkepentingan. Salah satu metoda keamanan untuk citra digital adalah watermarking citra digital.

Transformasi wavelet diskrit (DWT) secara luas diterapkan pada aplikasi citra watermarking karena dapat mengurai gambar cover ke dalam domain spasial maupun domain frekuensi secara bersamaan. Singular

Value Decomposition (SVD) juga cocok untuk aplikasi watermarking

karena nilai singular dapat digunakan untuk menyisipkan watermark. Pada tugas akhir ini akan diteliti bagaimana proses watermarking pada citra digital menggunakan teknik DWT-SVD.

1.2 Perumusan Masalah

Berdasarkan latar belakang di atas, maka perumusan masalah yang

diangkat pada tugas akhir ini adalah sebagai berikut:

1. Bagaimana merealisasikan digital image watermarking menggunakan teknik watermark DWT - SVD.

2. Bagaimana kualitas citra yang telah disisipkan watermark. 3. Bagaimana ketahanan watermark terhadap pemrosesan citra.


(3)

Bab I Pendahuluan 2

1.3 Tujuan

1. Merealisasikan digital image watermarking menggunakan teknik

watermark DWT - SVD.

2. Menganalisis kualitas citra yang telah disisipkan watermark. 3. Menganalisis ketahanan watermark terhadap pemrosesan citra.

1.4 Pembatasan Masalah

Batasan masalah dalam tugas akhir ini adalah sebagai berikut : 1. Citra cover adalah citra berwarna (format bmp).

2. Watermark berupa citra hitam putih (format bmp).

3. Pengujian ketahanan yang akan dilakukan pada citra ter-watermark

antara lain rotasi, cropping, scalling, median filtering, dan kompresi.

4. Implementasi menggunakan bahasa pemograman MATLAB.

5. Kualitas citra terwatermark diukur dengan PSNR dan MOS.

6. Kualitas watermark hasil ekstraksi diukur dengan koefisien korelasi.

1.5 Metodologi

1. Mengumpulkan bahan yang dibutuhkan. 2. Melakukan penyisipan watermarking. 3. Menganalisis ekstraksi watermark. 4. Membuat laporan tertulis Tugas Akhir.


(4)

Bab IV Kesimpulan dan Saran

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

1. Digital watermarking menggunakan teknik DWT (Discrete Wavelet Transform) dan SVD (Singular Value Decomposition) berhasil

direalisasikan dan dapat berjalan dengan baik.

2. Citra Lena, Baboon dan Barbara yang berukuran 256 x 256 piksel dan 512

x 512 piksel setelah disisipkan watermark untuk nilai α = 1, 3, dan 5 menghasilkan kualitas citra watermark dengan nilai MOS yang berada pada skala penilaian good (sama), dan menghasilkan nilai PSNR lebih besar dari 40 dB, berarti kualitas citra hasil penyisipan baik.

3. Berdasarkan hasil ekstraksi watermark yang dilihat secara visual dan nilai koefisien korelasinya dari percobaan yang telah dilakukan, didapatkan bahwa watermark yang disisipkan pada citra umumnya tahan terhadap pemrosesan citra berupa kompresi JPEG (faktor kualitas Q = 10), rotasi (kanan 90º, kiri 90º dan 180º), scalling (α = 3 dan 5). Sedangkan untuk median filtering (3x3, 7x7), kompresi JPEG (Q = 0), scalling (α = 1) dan croping secara visual watermark hasil ekstraksi tidak terlihat jelas atau

bisa dikatakan tidak tahan.

4. Untuk nilai α yang semakin besar, ketahanan watermark semakin

meningkat, namun kualitas citra yang terwatermark semakin menurun.

5.2 Saran

1. Penelitian lanjutan yang dapat dilakukan adalah untuk mencari nilai α yang paling optimal.

2. Mencari algoritma watermarking yang tahan terhadap pemrosesan citra

seperti median filtering (3x3, 7x7), kompresi JPEG (Q = 0), scalling dan


(5)

DAFTAR PUSTAKA

[1] Alex, Desi; “Impementasi Teknik Watermarking Digital Pada Domain DCT Untuk Citra Berwarna”, Universitas Gadjah Mada, Yogyakarta, 2003.

[2] Ayuningtyas, Lia; Watermarking Citra Digital Berbasis DWT-SVD Dengan Detektor Non Blind. Semarang: Universitas Diponegoro.

[3] Bedi, S.S2009. Robust Secure SVD Based DCT-DWT Oriented

Watermarking Technique for Image Authentication. Thailand.

[4] Bender.W; D. Gruhl, N. Morimoto; A. Lu; “Techniques for data hiding”, IBM System Journal, Vol.25, NOS 3&4, 1996.

[5] Fahmi; “Studi dan Implementasi Watermarking Citra Digitaldengan Menggunakan Fungsi Hash”, Institut Teknologi Bandung, Bandung, 2007. [6] Fahthony, Dean; “Watermarking pada Citra Digital Menggunakan Discreate

Wavelet Transform”, Institut Teknologi Bandung, Bandung, 2007.

[7] Hartung, Frank; Student member IEEE; Martin Kutter; “Multimedia

Watermarking Techniques”, Proceeding of the IEEE, vol. 87, No. 7, July

1999.

[8] Hesnawariq. 2008. Watermarking Pada Citra Digital Menggunakan

Singular Value Decomposition Berbasis Discrete Cosine Transform Untuk Perlindungan Hak Cipta. Bandung : STT Telkom.

[9] Liu, R. and T.Tan, 2002. A SVD-Based Watermaking Scheme for Protecting

Rightful Ownership, IEEE Transactions on Multimedia, 4(1), pp.121128.

[10] Munir, Rinaldi. 2006. Kriptografi. Bandung: Informatika.

[11] Sebastian, Amudi. Penggunaan Watermarking Pada Penyebaran Software Untuk Perlindungan Hak Cipta. Bandung: ITB.

[12] Semarajana, Gede. 2007. Analisis dan Simulasi Blind Watermarking dengan

Transformasi wavelet pada Citra Digital. Bandung: STT Telkom.

[13] Shen,Sharon. Discrete Wavelet Transform(DWT).ppt. UMBC

[14] Supangkat, Suhono H., Kuspriyanto dan Juanda. 2000. Watermarking

sebagai Teknik Penyembunyian Label Hak Cipta pada Data Digitan.


(6)

54

[15] http://id.wikipedia.org/wiki/korelasi diakses 10 Mei 212

[16]...http://www.ittelkom.ac.id/library/index.php?option=com_content&view=art

icle&id=202:discrete-cosine-transform-dct&catid=20:informatika&Itemid=15 diakses [tanggal 18 April 2012]

[17]...http://www.ittelkom.ac.id/library/index.php?view=artice&catid=20%Ainfor matika&id=575%3Asegmentasi-citra&option=com_content&Itemid=25 diakses [tanggal 18 April 2012]

[18]...http://www.ittekom.ac.id/library/index.php?view=article&catid=15%3Ape

mrosesan-sinyal&id=92%3Asvd-singular-value-decomposition&option=com_content&Itemid25 diakses [tanggal 18 April

2012].


Dokumen yang terkait

Aplikasi watermark pada citra digital menggunakan metode Singular Value Decomposition (SVD)

0 13 56

Non-Blind Watermarking pada Citra Digital Menggunakan Complex Wavelet Transform (CWT) dan Singular Value Decomposition (SVD).

1 1 15

Blind Watermarking Pada Citra Digital Menggunakan Discrete Wavelet Transform (DWT) dan Singular Value Decomposition (SVD).

1 2 14

Blind Watermarking pada Citra Digital Menggunakan Discrete Wavelet Transform (DWT) dan Discrete Cosine Transform (DCT) - Blind Watermarking on Digital Image Using Discrete Wavelet Transorm (DWT) dan Discrete Cosine Transform (DCT).

0 1 16

Teknik Watermarking DCT (Discrete Cosine Transform)-DWT (Discrete Wavelet Transform) Berbasis SVD (Singular Value Decomposition).

0 0 51

Watermarking Pada Citra Digital Berbasis Discrete Wavelet Transform dan Singular Value Decomposition.

0 1 31

Penerapan teknik watermarking metode DWT (Discrete Wavelet Transform) pada citra digital.

2 10 105

DIGITAL WATERMARKING IMAGE DENGAN MENGGUNAKAN DISCRETE WAVELET TRANSFORM (DWT) DAN SINGULAR VALUE DECOMPOSITION (SVD) UNTUK COPYRIGHT LABELING.

0 0 14

ANALISIS DAN IMPLEMENTASI CITRA WATERMARKING DENGAN METODE DISCRETE WAVELET TRANSFORM (DWT) –LIFTING WAVELET TRANSFORM (LWT) DAN SINGULAR VALUE DECOMPOSISITION (SVD) ANALYSIS AND IMPLEMENTATION OF IMAGE WATERMARKING USING DISCRETE WAVELET TRANSFORM (DWT)

0 0 9

Perbandingan Algoritma Singular Value Decomposition (SVD) dan Discrete Cosine Transform (DCT) dalam Penyisipan Watermark pada Citra Digital

0 1 14