Perbandingan Teknik Steganografi Dengan Metode First-Of-File, End-Of-File Dan Kombinasi First-Of-File Dan End-Of-File Pada File Bitmap

A-1

LISTING PROGRAM
Kode Program Figure Menu :
function varargout = Menu(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Menu_OpeningFcn, ...
'gui_OutputFcn', @Menu_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
function Menu_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = Menu_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
% ------------------------------------------------------------------function home_Callback(hObject, eventdata, handles)
% ------------------------------------------------------------------function Embedd_Callback(hObject, eventdata, handles)
EOFOF
% ------------------------------------------------------------------function extract_Callback(hObject, eventdata, handles)
Extract1
% ------------------------------------------------------------------function file_Callback(hObject, eventdata, handles)
% ------------------------------------------------------------------function help_Callback(hObject, eventdata, handles)
Help
% ------------------------------------------------------------------function exit_Callback(hObject, eventdata, handles)
choice= questdlg ('Do you want to exit?','confirm',...
'Yes','No','No');
switch choice
case 'Yes'
close all;


Universitas Sumatera Utara

A-2

end

Kode Program Figure EOFOF (Embedding):
function varargout = EOFOF(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @EOFOF_OpeningFcn, ...
'gui_OutputFcn', @EOFOF_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
function EOFOF_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = EOFOF_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function btnOpen_Callback(hObject, eventdata, handles)
[fileName, pathName] = uigetfile({'*.bmp', 'File bmp (*.bmp)'}, 'Open
Bitmap File');
if isequal(fileName, 0)
return;
else
info = imfinfo([pathName, fileName]);
location = info.Filename;
filesize = info.FileSize / 1024;

handles.image = imread(fullfile(pathName, fileName));
guidata(hObject, handles);
axes(handles.cover);
imshow(handles.image);
set(handles.fileName, 'string', fileName);
set(handles.location, 'string', location);
set(handles.size, 'string', filesize);
set(handles.heigth, 'string', size(handles.image, 1));
set(handles.width, 'string', size(handles.image, 2));
set(handles.btnOpentxt, 'visible', 'on');
set(handles.btnEmbedd, 'visible', 'on');
set(handles.btnReset, 'visible', 'on');
end;
function btnOpentxt_Callback(hObject, eventdata, handles)
[fileName, pathName] = uigetfile({'*.txt', 'File Text (*.txt)'},
'Open Text File');
if isequal(fileName, 0)
return;
else
urlname = ['file:///' fullfile(pathName, fileName)];

try
str = urlread(urlname);

Universitas Sumatera Utara

A-3

catch err
disp(err.message)
end
set(handles.msg, 'string', str);
end;
function btnEmbedd_Callback(hObject, eventdata, handles)
%EOF
tStart=tic;
m = get(handles.msg,'String');
m
m = double(m);
penanda1 = double('zx');
m = [penanda1 m 'zx'];

[d e] = size(m);
awal = handles.image;
cover = handles.image;
cover = double(cover);
awal = double(awal);
[b k c] = size(cover);
x = k;
status = 1;
status2 = false;
while (~status2)
x = x + 1;
for i = 1:1:k
cover(i,x,1) = m(status);
status = status + 1;
if (status > e)
status2 = true;
break;
end
cover(i,x,2) = m(status);
status = status + 1;

if (status > e)
status2 = true;
break;
end
cover(i,x,3) = m(status);
status = status + 1;
if (status > e)
status2 = true;
break;
end
end
if status2 == true
break;
end
end
stego1 = uint8(cover);
EOFtime = toc(tStart);
guidata(hObject, handles);
axes(handles.stego1);
imshow(stego1);

% FOF
tStart=tic;
fof(:,:,:) = 0;
efof(:,:,:) = 0;

Universitas Sumatera Utara

A-4

efof1(:,:,:) = 0;
efof2(:,:,:) = 0;
for i = 1:1:b
fof(i,1,1) = 0;
efof(i,1,1) = 0;
efof1(i,1,1) = 0;
efof2(i,1,1) = 0;
efof(i,1,2) = 0;
efof1(i,1,2) = 0;
efof2(i,1,2) = 0;
efof(i,1,3) = 0;

efof1(i,1,3) = 0;
efof2(i,1,3) = 0;
end
x = 0;
status = 1;
status2 = false;
while (true)
x = x + 1;
for i = 1:1:k
fof(i,x,1) = m(status);
status = status + 1;
if (status > e)
status2 = true;
break;
end
fof(i,x,2) = m(status);
status = status + 1;
if (status > e)
status2 = true;
break;

end
fof(i,x,3) = m(status);
status = status + 1;
if (status > e)
status2 = true;
break;
end
end
if status2 == true
break;
end
end
fof = [fof awal];
stego2 = uint8(fof);
FOFtime = toc(tStart);
axes(handles.stego2);
imshow(stego2);
% EOFOF
tStart=tic;
m = get(handles.msg, 'String');

m = double(m);
penanda1 = double('zzxx');
m = [penanda1 m 'zx'];
[d e] = size(m);
x = 0;
status = 1;
status2 = false;

Universitas Sumatera Utara

A-5

while (~status2)
x = x + 1;
for i = 1:1:k
efof1(i,x,1) = m(status);
status = status + 1;
if (status > e)
status2 = true;
break;
end
efof2(i,x,1) = m(status);
status = status + 1;
if (status > e)
status2 = true;
break;
end
efof1(i,x,2) = m(status);
status = status + 1;
if (status > e)
status2 = true;
break;
end
efof2(i,x,2) = m(status);
status = status + 1;
if (status > e)
status2 = true;
break;
end
efof1(i,x,3) = m(status);
status = status + 1;
if (status > e)
status2 = true;
break;
end
efof2(i,x,3) = m(status);
status = status + 1;
if (status > e)
status2 = true;
break;
end
end
end
efof = [efof1 awal efof2];
stego3 = uint8(efof);
EOFOFtime = toc(tStart);
axes(handles.stego3);
imshow(stego3);
pathName = 'D:\TA\';
file1 = 'EOF.bmp';
result1 = getimage(handles.stego1);
imwrite(result1, strcat(pathName, file1));
info = imfinfo([pathName, file1]);
handles.image = imread(fullfile(pathName, file1));

Universitas Sumatera Utara

A-6

location = info.Filename;
filesize = info.FileSize / 1024;
set(handles.TimeEOF, 'string', EOFtime);
set(handles.lEOF, 'string', size(handles.image, 1));
set(handles.wEOF, 'string', size(handles.image, 2));
set(handles.locationEOF, 'string', location);
set(handles.sizeEOF, 'string', filesize);
file2 = 'FOF.bmp';
result2 = getimage(handles.stego2);
imwrite(result2, strcat(pathName, file2));
info = imfinfo([pathName, file2]);
handles.image = imread(fullfile(pathName, file2));
location = info.Filename;
filesize = info.FileSize / 1024;
set(handles.TimeFOF, 'string', FOFtime);
set(handles.lFOF, 'string', size(handles.image, 1));
set(handles.wFOF, 'string', size(handles.image, 2));
set(handles.locationFOF, 'string', location);
set(handles.sizeFOF, 'string', filesize);
file3 = 'EOFOF.bmp';
result3 = getimage(handles.stego3);
imwrite(result3, strcat(pathName, file3));
info = imfinfo([pathName, file3]);
handles.image = imread(fullfile(pathName, file3));
location = info.Filename;
filesize = info.FileSize / 1024;
set(handles.TimeEOFOF, 'string', EOFOFtime);
set(handles.lEOFOF, 'string', size(handles.image, 1));
set(handles.wEOFOF, 'string', size(handles.image, 2));
set(handles.locationEOFOF, 'string', location);
set(handles.sizeEOFOF, 'string', filesize);

function btnReset_Callback(hObject, eventdata, handles)
set(handles.msg, 'string', '');
set(handles.btnStatistik, 'Visible', 'off');
null(:,:,:) = 1;
stego1 = null;
axes(handles.stego1);
imshow(stego1);
stego2 = null;
axes(handles.stego2);
imshow(stego2);
stego3 = null;
axes(handles.stego3);
imshow(stego3);
function msg_Callback(hObject, eventdata, handles)

function msg_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function fileName_Callback(hObject, eventdata, handles)

Universitas Sumatera Utara

A-7

function fileName_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function size_Callback(hObject, eventdata, handles)
function size_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function heigth_Callback(hObject, eventdata, handles)
function heigth_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function width_Callback(hObject, eventdata, handles)
function width_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function location_Callback(hObject, eventdata, handles)
function location_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function TimeEOFOF_Callback(hObject, eventdata, handles)
function TimeEOFOF_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function sizeEOFOF_Callback(hObject, eventdata, handles)
function sizeEOFOF_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function wEOFOF_Callback(hObject, eventdata, handles)
function wEOFOF_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))

Universitas Sumatera Utara

A-8

set(hObject,'BackgroundColor','white');
end
function lEOFOF_Callback(hObject, eventdata, handles)
function lEOFOF_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function locationEOFOF_Callback(hObject, eventdata, handles)
function locationEOFOF_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function TimeFOF_Callback(hObject, eventdata, handles)
function TimeFOF_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function sizeFOF_Callback(hObject, eventdata, handles)
function sizeFOF_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function wFOF_Callback(hObject, eventdata, handles)
function wFOF_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function lFOF_Callback(hObject, eventdata, handles)
function lFOF_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function locationFOF_Callback(hObject, eventdata, handles)
function locationFOF_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function TimeEOF_Callback(hObject, eventdata, handles)

Universitas Sumatera Utara

A-9

function TimeEOF_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function sizeEOF_Callback(hObject, eventdata, handles)
function sizeEOF_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function wEOF_Callback(hObject, eventdata, handles)
function wEOF_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function lEOF_Callback(hObject, eventdata, handles)
function lEOF_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function locationEOF_Callback(hObject, eventdata, handles)
function locationEOF_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function btnStatistik_Callback(hObject, eventdata, handles)
Statistic
% ------------------------------------------------------------------function Home_Callback(hObject, eventdata, handles)
Menu
% ------------------------------------------------------------------function File_Callback(hObject, eventdata, handles)
% -----------------------------------------------------------------function Embedd_Callback(hObject, eventdata, handles)
EOFOF
% ------------------------------------------------------------------function Extract_Callback(hObject, eventdata, handles)
Extract1

Universitas Sumatera Utara

A-10

% ------------------------------------------------------------------function Help_Callback(hObject, eventdata, handles)
Help
% ------------------------------------------------------------------function Exit_Callback(hObject, eventdata, handles)
choice= questdlg ('Do you want to exit?','confirm',...
'Yes','No','No');
switch choice
case 'Yes'
close all;
end
% ------------------------------------------------------------------function Close_Callback(hObject, eventdata, handles)
close

Kode Program Figure Extract1:
function varargout = Extract1(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Extract1_OpeningFcn, ...
'gui_OutputFcn', @Extract1_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
function Extract1_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = Extract1_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function btnOpen1_Callback(hObject, eventdata, handles)
[fileName, pathName] = uigetfile({'*.bmp','File bmp (*.bmp)'},'Open
Stego Image');
if ~isequal(fileName,0)
handles.image=imread(fullfile(pathName, fileName));
guidata(hObject,handles);
axes(handles.Stego1);
imshow(handles.image);
set(handles.btnExtract1,'Visible','on');
else
return;
end;
function btnOpen2_Callback(hObject, eventdata, handles)

Universitas Sumatera Utara

A-11

[fileName, pathName] = uigetfile({'*.bmp','File bmp (*.bmp)'},'Open
Stego Image');
if ~isequal(fileName,0)
handles.image=imread(fullfile(pathName, fileName));
guidata(hObject,handles);
axes(handles.Stego2);
imshow(handles.image);
set(handles.btnExtract2,'Visible','on');
else
return;
end;
function btnOpen3_Callback(hObject, eventdata, handles)
[fileName, pathName] = uigetfile({'*.bmp','File bmp (*.bmp)'},'Open
Stego Image');
if ~isequal(fileName,0)
handles.image=imread(fullfile(pathName, fileName));
guidata(hObject,handles);
axes(handles.Stego3);
imshow(handles.image);
set(handles.btnExtract3,'Visible','on');
else
return;
end;
function btnExtract1_Callback(hObject, eventdata, handles)
tStart=tic;
cover = handles.image;
cover = double(cover)
[b k c] = size(cover);
penanda1=('zx');
penanda1=double(penanda1);
penanda1;
x = k;
kondisi=0;
for i = 1:1:k
tanda=[cover(1,i,1) cover(1,i,2)];
tanda=double(tanda);
if tanda == penanda1
kondisi=1;
indeks=i
break;
end
end
if kondisi==1
for l=1:1:indeks-1
for t= 1:1:b
for rgb= 1:1:3
gambarku(t, l, rgb)= cover(t, l, rgb);
end
end
end;
gambarku= uint8(gambarku)
pathName = 'D:\HASIL\';
file1 = 'EOF.bmp';
imwrite(gambarku, strcat(pathName, file1));
sss=1;
teks=[];

Universitas Sumatera Utara

A-12

for i=indeks:1:k
for j=1:1:b
teks=[teks char(cover(j,i,1))];
sss=sss+1;
teks=[teks char(cover(j,i,2))];
sss=sss+1;
teks=[teks char(cover(j,i,3))];
sss=sss+1;
end
end
posisi=3;
a=length(teks);
for i=3:a-1
posisi1=teks(i);
posisi2=teks(i+1);
if (posisi1=='z')
if (posisi2=='x')
b=3;
b=i;
end
end
end;
baru=[];
for i=3:b
tekss=teks(i);
baru=[baru tekss];
end
baru;
tampung = [];
for i = 1 : (length(baru)-1)
if baru(i) == 'z' && baru(i+1) == 'x'
break
end
tampung =[tampung baru(i)];
end
tampung;
msgbox({'There is hidden message.'}','Message','modal');
EOFtime = toc(tStart);
set(handles.TimeEOF, 'String', EOFtime);
set(handles.edEOF,'String',tampung);
else
set(handles.TimeEOF, 'String', '');
set(handles.edEOF,'String','');
msgbox({'There is no hidden message. Please select another
image.'},'Message','modal');
end;
function btnExtract2_Callback(hObject, eventdata, handles)
tStart=tic;
cover = handles.image;
cover = double(cover)
[b k c] = size(cover);
penanda1=('zx');
penanda1=double(penanda1);
penanda1;
x = k;
kondisi=0;

Universitas Sumatera Utara

A-13

for i = 1:1:k
tanda=[cover(1,i,1) cover(1,i,2)];
tanda=double(tanda);
if tanda == penanda1
kondisi=1;
indeks=i
break;
end
end
pos=1;
[b k c] = size(cover);
if kondisi==1
for l=indeks+2:1:k
for t= 1:1:b
for rgb= 1:1:3
gambarku(t, pos, rgb)= cover(t, l, rgb);
end
end
pos=pos+1;
end;
gambarku= uint8(gambarku);
pathName = 'D:\HASIL\';
file1 = 'FOF.bmp';
imwrite(gambarku, strcat(pathName, file1));
sss=1;
teks=[];
for i=indeks:1:k
for j=1:1:b
teks=[teks char(cover(j,i,1))];
sss=sss+1;
teks=[teks char(cover(j,i,2))];
sss=sss+1;
teks=[teks char(cover(j,i,3))];
sss=sss+1;
end
end
posisi=3;
a=length(teks);
for i=3:a-1
posisi1=teks(i);
posisi2=teks(i+1);
if (posisi1=='z')
if (posisi2=='x')
b=3;
b=i;
end
end
end;
baru=[];
for i=3:b
tekss=teks(i);
baru=[baru tekss];
end
baru;

Universitas Sumatera Utara

A-14

tampung = [];
for i = 1 : (length(baru)-1)
if baru(i) == 'z' && baru(i+1) == 'x'
break
end
tampung =[tampung baru(i)];
end
tampung;
msgbox({'There is hidden message.'}','Message','modal');
FOFtime = toc(tStart);
set(handles.TimeFOF, 'String', FOFtime);
set(handles.edFOF,'String',tampung);
else
set(handles.TimeFOF, 'String', '');
set(handles.edFOF,'String','');
msgbox({'There is no hidden message. Please select another
image.'},'Message','modal');
end;
function btnExtract3_Callback(hObject, eventdata, handles)
tStart=tic;
cover = handles.image;
cover = double(cover)
[b k c] = size(cover);
penanda1=('zx');
penanda1=double(penanda1);
penanda1;
x = k;
kondisi=0;
tanda=[cover(1,1,1) cover(1,1,2)]
tanda=double(tanda);
indeks=0;
handles.teks1=[];
guidata(hObject,handles);
sss=1;
if tanda == penanda1
for i = 2:1:k
tanda=[cover(1,i,1) cover(1,i,2)];
tanda=double(tanda);
if tanda == penanda1
kondisi=1;
teks=[];
indekss=i
p1=i-1;
p2=k-p1+1;
break;
end
end
indeks=indekss;
if(indekss>0)
for i=1:1:(indekss-2)
for j=1:1:b
teks=[teks char(cover(j,i,1))];
teks=[teks char(cover(j,indeks,1))];
teks=[teks char(cover(j,i,2))];

Universitas Sumatera Utara

A-15

teks=[teks char(cover(j,indeks,2))];
teks=[teks char(cover(j,i,3))];
teks=[teks char(cover(j,indeks,3))];
end
break
end
end
posisi=3;
a=length(teks);
for i=3:a-1
posisi1=teks(i);
posisi2=teks(i+1);
if (posisi1=='z')
if (posisi2=='x')
b=3;
b=i;
end
end
end;
baru=[];
for i=5:b
tekss=teks(i);
baru=[baru tekss]
end
baru;
tampung = [];
for i = 1 : (length(baru)-1)
if baru(i) == 'z' && baru(i+1) == 'x'
break
end
tampung =[tampung baru(i)];
end
tampung;
pos=1;
[b k c] = size(cover);
for l=p2:p1
for t= 1:1:b
for rgb= 1:1:3
gambarku(t, pos, rgb)= cover(t, l, rgb);
end
end
pos=pos+1;
end;
gambarku= uint8(gambarku)
pathName = 'D:\HASIL\';
file1 = 'EOFOF.bmp';
imwrite(gambarku, strcat(pathName, file1));
msgbox({'There is hidden message.'},'Message','modal');
EOFOFtime = toc(tStart);
set(handles.TimeEOFOF, 'String', EOFOFtime);
set(handles.edEOFOF,'String',tampung);
else
set(handles.TimeEOFOF, 'String', '');

Universitas Sumatera Utara

A-16

set(handles.edEOFOF,'String','');
msgbox({'There is no hidden message. Please select another
image.'},'Message','modal');
end;
function edEOFOF_Callback(hObject, eventdata, handles)
function edEOFOF_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit2_Callback(hObject, eventdata, handles)
function edit2_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit1_Callback(hObject, eventdata, handles)
function edit1_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edFOF_Callback(hObject, eventdata, handles)
function edFOF_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edEOF_Callback(hObject, eventdata, handles)
function edEOF_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% ------------------------------------------------------------------function Menu_Callback(hObject, eventdata, handles)
Menu
% ------------------------------------------------------------------function File_Callback(hObject, eventdata, handles)
% ------------------------------------------------------------------function Embedd_Callback(hObject, eventdata, handles)
EOFOF

Universitas Sumatera Utara

A-17

% ------------------------------------------------------------------function Extract_Callback(hObject, eventdata, handles)
Extract1
% ------------------------------------------------------------------function MSE_Callback(hObject, eventdata, handles)
Statistic
% ------------------------------------------------------------------function Help_Callback(hObject, eventdata, handles)
Help
% ------------------------------------------------------------------function Exit_Callback(hObject, eventdata, handles)
choice= questdlg ('Do you want to exit?','confirm',...
'Yes','No','No');
switch choice
case 'Yes'
close all;
end
function TimeEOF_Callback(hObject, eventdata, handles)
function TimeEOF_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function TimeFOF_Callback(hObject, eventdata, handles)
function TimeFOF_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function TimeEOFOF_Callback(hObject, eventdata, handles)
function TimeEOFOF_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% ------------------------------------------------------------------function Close_Callback(hObject, eventdata, handles)
close

% --- Executes on button press in reset.
function reset_Callback(hObject, eventdata, handles)
set(handles.edEOF, 'string', '');
set(handles.edFOF, 'string', '');
set(handles.edEOFOF, 'string', '');

Universitas Sumatera Utara

A-18

set(handles.TimeEOF, 'string', '');
set(handles.TimeFOF, 'string', '');
set(handles.TimeEOFOF, 'string', '');

Kode Program Figure Statistic:
function varargout = Statistic(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Statistic_OpeningFcn, ...
'gui_OutputFcn', @Statistic_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
function Statistic_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = Statistic_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function btnOpen1_Callback(hObject, eventdata, handles)
[fileName, pathName] = uigetfile({'*.bmp','File bmp (*.bmp)'},'Open
Image');
if ~isequal(fileName,0)
handles.image=imread(fullfile(pathName, fileName));
guidata(hObject,handles);
axes(handles.Stego1);
imshow(handles.image);
else
return;
end;
function btnOpen2_Callback(hObject, eventdata, handles)
[fileName, pathName] = uigetfile({'*.bmp','File bmp (*.bmp)'},'Open
Image');
if ~isequal(fileName,0)
handles.image=imread(fullfile(pathName, fileName));
guidata(hObject,handles);
axes(handles.Stego2);
imshow(handles.image);
else
return;
end;
function btnOpen3_Callback(hObject, eventdata, handles)
[fileName, pathName] = uigetfile({'*.bmp','File bmp (*.bmp)'},'Open
Image');

Universitas Sumatera Utara

A-19

if ~isequal(fileName,0)
handles.image=imread(fullfile(pathName, fileName));
guidata(hObject,handles);
axes(handles.Stego3);
imshow(handles.image);
else
return;
end;
function btnOpen4_Callback(hObject, eventdata, handles)
[fileName, pathName] = uigetfile({'*.bmp','File bmp (*.bmp)'},'Open
Image');
if ~isequal(fileName,0)
handles.image=imread(fullfile(pathName, fileName));
guidata(hObject,handles);
axes(handles.Stego4);
imshow(handles.image);
else
return;
end;
function Mse3_Callback(hObject, eventdata, handles)
function Mse3_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function Mse2_Callback(hObject, eventdata, handles)
function Mse2_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function Mse1_Callback(hObject, eventdata, handles)
function Mse1_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% ------------------------------------------------------------------function Menu_Callback(hObject, eventdata, handles)
Menu
% ------------------------------------------------------------------function File_Callback(hObject, eventdata, handles)
% ------------------------------------------------------------------function Embedd_Callback(hObject, eventdata, handles)
EOFOF

Universitas Sumatera Utara

A-20

% ------------------------------------------------------------------function Extract_Callback(hObject, eventdata, handles)
Extract1
% ------------------------------------------------------------------function MSE_Callback(hObject, eventdata, handles)
Statistic
% ------------------------------------------------------------------function Help_Callback(hObject, eventdata, handles)
Help
% ------------------------------------------------------------------function Exit_Callback(hObject, eventdata, handles)
choice= questdlg ('Do you want to exit?','confirm',...
'Yes','No','No');
switch choice
case 'Yes'
close all;
end
function btnMse_Callback(hObject, eventdata, handles)
Stego1 = getimage(handles.Stego1);
StegoA = double(Stego1);
[b1 k1 c]= size (StegoA);
Stego2 = getimage(handles.Stego2);
StegoB = double(Stego2);
[b2 k2 c]= size (StegoB);
Stego3 = getimage(handles.Stego3);
StegoC = double(Stego3);
[b3 k3 c]= size (StegoC);
Stego4 = getimage(handles.Stego4);
StegoD = double(Stego4);
[b4 k4 c]= size (StegoD);
C1= StegoA;
C1(1,1,1)
if(b1==b2 && k1==k2)
C2= StegoB;
dC= double(C1) - double(C2);
mse= (dC(:).^2);
p= length(mse);
mse1= (sum(mse(1:p))/p);
set(handles.Mse1,'String',mse1);
else
msgbox({'Image 1 ~= Image 2'}','Message','modal');
end
if(b1==b3 && k1==k3)
C3= StegoC;
dC= double(C1) - double(C3);
mse= (dC(:).^2);

Universitas Sumatera Utara

A-21

p= length(mse);
mse2= (sum(mse(1:p))/p);
set(handles.Mse2,'String',mse2);
else
msgbox({'Image 1 ~= Image 3'}','Message','modal');
end
if(b1==b4 && k1==k4)
C4= StegoD;
dC= double(C1) - double(C4);
mse= (dC(:).^2);
p= length(mse);
mse3= (sum(mse(1:p))/p);
set(handles.Mse3,'String',mse3);
else
msgbox({'Image 1 ~= Image 4'}','Message','modal');
end

% ------------------------------------------------------------------function Close_Callback(hObject, eventdata, handles)
close

% --- Executes on button press in reset.
function reset_Callback(hObject, eventdata, handles)
set(handles.Mse1, 'string', '');
set(handles.Mse2, 'string', '');
set(handles.Mse3, 'string', '');

Kode Program Figure Help:
function varargout = Help(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Help_OpeningFcn, ...
'gui_OutputFcn', @Help_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
function Help_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = Help_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;

Universitas Sumatera Utara

A-22

function edit1_Callback(hObject, eventdata, handles)
function edit1_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit2_Callback(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit3_Callback(hObject, eventdata, handles)
function edit3_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit4_Callback(hObject, eventdata, handles)
function edit4_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% ------------------------------------------------------------------function home_Callback(hObject, eventdata, handles)
Menu
% ------------------------------------------------------------------function file_Callback(hObject, eventdata, handles)
% ------------------------------------------------------------------function Embedd_Callback(hObject, eventdata, handles)
EOFOF
% ------------------------------------------------------------------function extract_Callback(hObject, eventdata, handles)
Extract1

% ------------------------------------------------------------------function close_Callback(hObject, eventdata, handles)
close
% -------------------------------------------------------------------

Universitas Sumatera Utara

A-23

function help_Callback(hObject, eventdata, handles)
Help
% ------------------------------------------------------------------function exit_Callback(hObject, eventdata, handles)
choice= questdlg ('Do you want to exit?','confirm',...
'Yes','No','No');
switch choice
case 'Yes'
close all;
end

Universitas Sumatera Utara

B-1

CURRICULUM VITAE
Nama
Tempat / Tanggal Lahir
Alamat
Agama
Jenis Kelamin
Alamat Email
No. Hp

: Arfiyah
: Medan / 15 Februari 1991
: Gang.Pringgan Lor.Camar Marelan
: Islam
: Perempuan
: arfiyah13@gmail.com
: 081376502332

PENDIDIKAN FORMAL
2009-2013
2006-2009
2003-2006
1997-2003

S1 Ilmu Komputer Fasilkom-TI USU, Medan.
SMA Negeri 3 Medan
SMP Hang-Tuah I Belawan
SD Hang-Tuah III Belawan

SEMINAR, KURSUS
2013
2012
2011

2010
2008

Peserta Seminar Nasional dengan Tema “Pencaplokan
Budaya” Universitas Sumatera Utara
Peserta Kursus Bahasa Inggris
Peserta
Seminar
Teknologi
Informasi
“The
Development of Modern Operating System Technology:
Android – The new Trend in Modern Operating Sytem”
Universitas Sumatera Utara
Peserta Seminar Internasional Matematika dan Terapan
Universitas Sumatera Utara
Peserta Kursus Komputer

KEAHLIAN
Bahasa
Bahasa Pemrograman

Indonesia, Inggris
Matlab, C++, C#.Net, Delphi, PHP, MySQL.

PENGALAMAN ORGANISASI
2011
2009
2006
2005

Anggota IMILKOM (Ikatan Mahasiswa Ilmu
Komputer) USU Medan
Anggota BKM AL-KHAWARIZMI S1 Ilmu Komputer
USU Medan
Anggota ROHIS SMA Negeri III Medan
Sekretaris OSIS SMP Hang-Tuah I Belawan

Universitas Sumatera Utara