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
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.
v
Universitas Kristen Maranatha
DAFTAR ISI
2.2.1 Karakteristik Digital Watermarking ... 5
2.2.2 Klasifikasi Teknik Digital Watermarking ... 5
2.2.3 Jenis-Jenis Digital Watermarking ... 6
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
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
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
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
A-1
LAMPIRAN – A
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
A-3 Barbara
256
Lena
512
Baboon
A-4 Barbara
512
Nama
Citra
Citra Asli α = 3
Citra yang
Telah
Disisipkan
Watermark
Watermark Asli dan Watermark Hasil Ekstraksi
Lena
A-5 Baboon
256
Barbara
256
Lena
A-6 Baboon
512
Barbara
A-7
Citra α = 5 Telah
Disisipkan
Watermark
Lena
256
Baboon
A-8 Barbara
256
Lena
512
Baboon
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
A-10 Baboon
512
α = 1
Baboon
256
α = 3
Baboon
512
A-11 Baboon
256
α = 5
Baboon
512
A-12 Nama
Citra
Citra
terwatermark
Citra
terwatermark di
kompres Q=10
Watermark Asli dan Watermark Hasil Ekstraksi
Baboon
256
α = 1
Baboon
512
A-13 Baboon
256
α = 3
Baboon
512
α = 3
Baboon
256
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
A-15 Lena
512
α = 1
Lena
256
α = 3
Lena
512
A-16 Lena
256
α = 5
Lena
512
A-17 Citra terwatermark terwatermark di
rotasi kiri 90º
Lena
256
α = 1
Lena
512
A-18 Lena
256
α = 3
Lena
512
α = 3
Lena
256
A-19 Lena
512
α = 5
Nama
Citra
Citra
terwatermark
Citra
terwatermark di
rotasi 180º
Watermark Asli dan Watermark Hasil Ekstraksi
Lena
256
A-20 Lena
512
α = 1
Lena
256
α = 3
Lena
512
A-21 Lena
256
α = 5
Lena
512
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
A-23 Barbara
256
α = 3
Barbara
512
α = 3
Barbara
256
A-24 Barbara
512
α = 5
Nama
Citra
Citra
terwatermark
Citra
terwatermark di
median filter 7x7
Watermark Asli dan Watermark Hasil Ekstraksi
Barbara
256
A-25 Barbara
512
α = 1
Barbara
256
α = 3
Barbara
512
A-26 Barbara
256
α = 5
Barbara
512
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
A-28 Baboon
256
α = 3
Baboon
512
α = 3
Baboon
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
A-30 Lena
512
α = 1
Lena
256
α = 3
Lena
A-31 Lena
256
α = 5
Lena
512
B-1
LAMPIRAN – B
B-2 Nama
Citra
Citra Asli
Citra yang Telah
Disisipkan
Watermark dengan α=1
Citra yang Telah
Disisipkan
Watermark dengan α=3
Citra yang Telah
Disisipkan
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
C-1
LAMPIRAN – C
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
% 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
% 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;
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
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
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
[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);
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');
[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);
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
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);
%Pemecahan Citra terwatermark ke RGB
alfa = str2double(get(handles.edit4,'String')); M_star = double(imgku);
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);
[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');
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'))
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
C-10
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
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.
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.
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
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
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].