• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2017

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

Copied!
24
0
0

Teks penuh

(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');

(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

(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

(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);

(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]);

(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

(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)

(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

(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

% ---

(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;

(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;

(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;

(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

(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

(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

(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)

% ---

(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', '');

(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)

(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)

% ---

(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;

(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);

(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

(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');

(24)

CURRICULUM VITAE

Nama

: Arfiyah

Tempat / Tanggal Lahir

: Medan / 15 Februari 1991

Alamat

: Gang.Pringgan Lor.Camar Marelan

Agama

: Islam

Jenis Kelamin

: Perempuan

Alamat Email

No. Hp

: 081376502332

PENDIDIKAN FORMAL

2009-2013

S1 Ilmu Komputer Fasilkom-TI USU, Medan.

2006-2009

SMA Negeri 3 Medan

2003-2006

SMP Hang-Tuah I Belawan

1997-2003

SD Hang-Tuah III Belawan

SEMINAR, KURSUS

2013

Peserta Seminar Nasional dengan Tema “Pencaplokan

Budaya” Universitas Sumatera Utara

2012

Peserta Kursus Bahasa Inggris

2011

Peserta Seminar Teknologi Informasi “The

Development of Modern Operating System Technology:

Android – The new Trend in Modern Operating Sytem”

Universitas Sumatera Utara

2010

Peserta Seminar Internasional Matematika dan Terapan

Universitas Sumatera Utara

2008

Peserta Kursus Komputer

KEAHLIAN

Bahasa

Indonesia, Inggris

Bahasa Pemrograman

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

PENGALAMAN ORGANISASI

2011

Anggota

IMILKOM (Ikatan Mahasiswa Ilmu

Komputer) USU Medan

2009

Anggota BKM AL-KHAWARIZMI S1 Ilmu Komputer

USU Medan

Referensi

Dokumen terkait

function waktu_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'),

function edit3_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'),

function UTAMA_OpeningFcn(hObject, eventdata, handles, varargin). handles.output

% Hint: popupmenu controls usually have a white background on Windows. if ispc && isequal(get(hObject,'BackgroundColor'),

function filter_Callback(hObject, eventdata, handles) function menuAbout_Callback(hObject, eventdata, handles)

function total_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'),

function edit_MSE1_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'),. get(0,'defaultUicontrolBackgroundColor'))

function deviden_Callback(hObject, eventdata, handles) function deviden_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'),