• Tidak ada hasil yang ditemukan

Implementasi Metode Kombinasi Mean Filter Dan Median Filter Untuk Mereduksi Gaussian Noise, Salt And Pepper Noise, Speckle Noise, Dan Exponential Noise Pada Citra Digital

N/A
N/A
Protected

Academic year: 2019

Membagikan "Implementasi Metode Kombinasi Mean Filter Dan Median Filter Untuk Mereduksi Gaussian Noise, Salt And Pepper Noise, Speckle Noise, Dan Exponential Noise Pada Citra Digital"

Copied!
43
0
0

Teks penuh

(1)

LISTING PROGRAM

1.

Form Home

function varargout = HOME(varargin) gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @HOME_OpeningFcn, ... 'gui_OutputFcn', @HOME_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 HOME_OpeningFcn(hObject, eventdata, handles, varargin) citra=imread('logoilkom.jpg');

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

handles.output = hObject; guidata(hObject, handles);

function varargout = HOME_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;

function btn_perbandingan_Callback(hObject, eventdata, handles) selection = questdlg('Apakah Anda ingin menggunakan inputan citra

bernoise?',...

'Input Citra Bernoise?',... 'Ya','Tidak','Ya');

switch selection, case 'Ya', PROSES2; close(gcbf); case 'Tidak' PROSES1; close(gcbf); end

function btn_help_Callback(hObject, eventdata, handles) HELP;

close(gcbf);

function varargout = btn_exit_Callback(hObject, eventdata, handles) selection = questdlg('Apakah Anda yakin untuk menutup aplikasi

ini?',...

(2)

'Ya','Tidak','Ya'); switch selection, case 'Ya', close case 'Tidak' return

end

function btn_implementasi_Callback(hObject, eventdata, handles) PROSES;

close(gcbf);

function btn_about_Callback(hObject, eventdata, handles) ABOUT;

close(gcbf);

2.

Form Implementasi

function varargout = PROSES(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @PROSES_OpeningFcn, ... 'gui_OutputFcn', @PROSES_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 PROSES_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;

guidata(hObject, handles);

function varargout = PROSES_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;

function varargout = btn_open_Callback(hObject, eventdata, handles) [nama_file, namaPath]=uigetfile({'*.bmp'},'Buka File');

if ~isequal (nama_file,0)

handles.citra=imread(fullfile(namaPath,nama_file)); guidata(hObject,handles);

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

set(handles.file_name,'String',nama_file);

set(handles.panjang,'String',size(handles.citra,1)); set(handles.lebar,'String',size(handles.citra,2)); else

return; end

(3)

set(handles.btn_clear,'Enable','On') set(handles.gaus,'Enable','On')

set(handles.btn_salt_and_pepper,'Enable','On') set(handles.btn_speckle,'Enable','On')

set(handles.btn_expo,'Enable','On') set(handles.btn_open,'Enable','Off')

function gaus_Callback(hObject, eventdata, handles) global runtime;

runtime=cputime;

P=str2double(get(handles.txt_probabilitas_gauss,'string')); P=P/100;

I = handles.citra;

noise = fungsigaussian(I, P); handles.citra= noise;

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

runtime=cputime-runtime;

set(handles.txt_runtime_gaussian,'String',runtime); set(handles.reset,'Enable','On')

set(handles.save_gauss,'Enable','On')

set(handles.btn_mse_gaussian,'Enable','On') set(handles.btn_psnr_gaussian,'Enable','On') set(handles.btn_gauss_reduction,'Enable','On') set(handles.btn_clear,'Enable','Off')

set(handles.gaus,'Enable','Off')

function btn_mse_gaussian_Callback(hObject, eventdata, handles) citra = getimage(handles.axes_asli);

citra_hasil=getimage(handles.axes_gaussian); [psnrval mseval] = MSE_PSNR(citra,citra_hasil); set(handles.txt_mse_gaussian,'String',mseval);

function btn_psnr_gaussian_Callback(hObject, eventdata, handles) citra = getimage(handles.axes_asli);

citra_hasil=getimage(handles.axes_gaussian); [psnrval mseval] = MSE_PSNR(citra,citra_hasil); set(handles.txt_psnr_gaussian,'String',psnrval);

function btn_runtime_gaussian_Callback(hObject, eventdata, handles) global runtime;

set(handles.txt_runtime_gaussian,'String',runtime);

function btn_mse_saltandpepper_Callback(hObject, eventdata, handles) citra = getimage(handles.axes_asli);

citra_hasil=getimage(handles.axes_saltandpepper); [psnrval mseval] = MSE_PSNR(citra,citra_hasil); set(handles.txt_mse_saltandpepper,'String',mseval);

function btn_psnr_saltandpepper_Callback(hObject, eventdata, handles) citra = getimage(handles.axes_asli);

citra_hasil=getimage(handles.axes_saltandpepper); [psnrval mseval] = MSE_PSNR(citra,citra_hasil);

set(handles.txt_psnr_saltandpepper,'String',psnrval);

(4)

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

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

function txt_psnr_gaussian_CreateFcn(hObject, eventdata, handles)

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

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

function txt_runtime_gaussian_CreateFcn(hObject, eventdata, handles)

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

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

function txt_mse_saltandpepper_CreateFcn(hObject, eventdata, handles)

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

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

function txt_psnr_saltandpepper_CreateFcn(hObject, eventdata, handles)

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

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

function txt_runtime_saltandpepper_CreateFcn(hObject, eventdata, handles)

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

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

function btn_salt_and_pepper_Callback(hObject, eventdata, handles) global runtime;

runtime=cputime;

P=str2double(get(handles.txt_probabilitas_saltandpepper,'string')); P=P/100;

I = handles.citra;

noise = fungsisaltandpepper(I, P); handles.citra= noise;

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

runtime=cputime-runtime;

set(handles.txt_runtime_saltandpepper,'String',runtime); set(handles.reset,'Enable','On')

(5)

set(handles.save_sap,'Enable','On')

set(handles.btn_sap_reduction,'Enable','On') set(handles.btn_clear,'Enable','Off')

function btn_mse_gauss_reduction_Callback(hObject, eventdata, handles)

citra = getimage(handles.axes_gaussian);

citra_hasil=getimage(handles.axes_gauss_reduction); [psnrval mseval] = MSE_PSNR(citra,citra_hasil);

set(handles.txt_mse_gauss_reduction,'String',mseval);

function btn_psnr_gauss_reduction_Callback(hObject, eventdata, handles)

citra = getimage(handles.axes_gaussian);

citra_hasil=getimage(handles.axes_gauss_reduction); [psnrval mseval] = MSE_PSNR(citra,citra_hasil);

set(handles.txt_psnr_gauss_reduction,'String',psnrval);

function txt_mse_gauss_reduction_CreateFcn(hObject, eventdata, handles)

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

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

function txt_psnr_gauss_reduction_CreateFcn(hObject, eventdata, handles)

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

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

function txt_runtime_gauss_reduction_CreateFcn(hObject, eventdata, handles)

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

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

function btn_gauss_reduction_Callback(hObject, eventdata, handles) global runtime;

runtime=cputime;

citra_asli = getimage(handles.axes_gaussian); pixel=citra_asli;

[r, g, b]=size(pixel); for x=1:1:r

for y=1:1:g for z=1:1:b try

nilaipixel(1,1)=pixel(x-1,y-1,z); catch

nilaipixel(1,1)=0; end

try

(6)

catch

nilaipixel(1,2)=0; end

try

nilaipixel(1,3)=pixel(x-1,y+1,z); catch

nilaipixel(1,3)=0; end

try

nilaipixel(2,1)=pixel(x,y-1,z); catch

nilaipixel(2,1)=0; end

try

nilaipixel(2,2)=pixel(x,y,z); catch

nilaipixel(2,2)=0; end

try

nilaipixel(2,3)=pixel(x,y+1,z); catch

nilaipixel(2,3)=0; end

try

nilaipixel(3,1)=pixel(x+1,y-1,z); catch

nilaipixel(3,1)=0; end

try

nilaipixel(3,2)=pixel(x+1,y,z); catch

nilaipixel(3,2)=0; end

try

nilaipixel(3,3)=pixel(x+1,y+1,z); catch

nilaipixel(3,3)=0; end

combinationfilter(x,y,z)=(mean(mean(nilaipixel))+ median(median(nilaipixel)))/2;

end end end

combinationfilter=uint8(combinationfilter); handles.citra=combinationfilter;

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

runtime=cputime-runtime;

set(handles.txt_runtime_gauss_reduction,'String',runtime); set(handles.btn_gauss_reduction,'Enable','Off')

set(handles.btn_mse_gauss_reduction,'Enable','On') set(handles.btn_psnr_gauss_reduction,'Enable','On') set(handles.save_gauss_reduction,'Enable','On')

(7)

function kernel_gauss_res_CreateFcn(hObject, eventdata, handles)

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

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

function btn_mse_sap_reduction_Callback(hObject, eventdata, handles) citra = getimage(handles.axes_saltandpepper);

citra_hasil=getimage(handles.axes_sap_reduction); [psnrval mseval] = MSE_PSNR(citra,citra_hasil); set(handles.txt_mse_sap_reduction,'String',mseval);

function btn_psnr_sap_reduction_Callback(hObject, eventdata, handles) citra = getimage(handles.axes_saltandpepper);

citra_hasil=getimage(handles.axes_sap_reduction); [psnrval mseval] = MSE_PSNR(citra,citra_hasil);

set(handles.txt_psnr_sap_reduction,'String',psnrval);

function btn_runtime_sap_reduction_Callback(hObject, eventdata, handles)

global runtime;

set(handles.txt_runtime_sap_reduction,'String',runtime);

function txt_mse_sap_reduction_Callback(hObject, eventdata, handles)

function txt_mse_sap_reduction_CreateFcn(hObject, eventdata, handles)

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

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

function txt_psnr_sap_reduction_Callback(hObject, eventdata, handles)

function txt_psnr_sap_reduction_CreateFcn(hObject, eventdata, handles)

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

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

function txt_runtime_sap_reduction_Callback(hObject, eventdata, handles)

function txt_runtime_sap_reduction_CreateFcn(hObject, eventdata, handles)

(8)

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

function btn_sap_reduction_Callback(hObject, eventdata, handles) global runtime;

runtime=cputime;

citra_asli = getimage(handles.axes_saltandpepper); temp=citra_asli;

[b k c]=size(temp); for x=1:1:b

for y=1:1:k for z=1:1:c try

matriks(1,1)=temp(x-1,y-1,z); catch

matriks(1,1)=0; end

try

matriks(1,2)=temp(x-1,y,z); catch

matriks(1,2)=0; end

try

matriks(1,3)=temp(x-1,y+1,z); catch

matriks(1,3)=0; end

try

matriks(2,1)=temp(x,y-1,z); catch

matriks(2,1)=0; end

try

matriks(2,2)=temp(x,y,z); catch

matriks(2,2)=0; end

try

matriks(2,3)=temp(x,y+1,z); catch

matriks(2,3)=0; end

try

matriks(3,1)=temp(x+1,y-1,z); catch

matriks(3,1)=0; end

try

matriks(3,2)=temp(x+1,y,z); catch

matriks(3,2)=0; end

try

matriks(3,3)=temp(x+1,y+1,z); catch

matriks(3,3)=0; end

(9)

end end

filtered=uint8(filtered); handles.citra=filtered;

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

runtime=cputime-runtime;

set(handles.txt_runtime_sap_reduction,'String',runtime); set(handles.btn_sap_reduction,'Enable','Off')

set(handles.btn_mse_sap_reduction,'Enable','On') set(handles.btn_psnr_sap_reduction,'Enable','On') set(handles.save_sap_reduction,'Enable','On')

function btn_mse_expo_Callback(hObject, eventdata, handles) citra = getimage(handles.axes_asli);

citra_hasil=getimage(handles.axes_exponential); [psnrval mseval] = MSE_PSNR(citra,citra_hasil); set(handles.txt_mse_expo,'String',mseval);

function btn_psnr_expo_Callback(hObject, eventdata, handles) citra = getimage(handles.axes_asli);

citra_hasil=getimage(handles.axes_exponential); [psnrval mseval] = MSE_PSNR(citra,citra_hasil); set(handles.txt_psnr_expo,'String',psnrval);

function btn_runtime_expo_Callback(hObject, eventdata, handles) global runtime;

set(handles.txt_runtime_expo,'String',runtime);

function txt_mse_expo_Callback(hObject, eventdata, handles)

function txt_mse_expo_CreateFcn(hObject, eventdata, handles)

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

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

function txt_psnr_expo_Callback(hObject, eventdata, handles)

function txt_psnr_expo_CreateFcn(hObject, eventdata, handles)

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

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

function txt_runtime_expo_Callback(hObject, eventdata, handles)

(10)

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

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

function btn_expo_Callback(hObject, eventdata, handles) global runtime;

runtime=cputime;

P=str2double(get(handles.txt_probabilitas_exponential,'string')); P=P/100;

I = handles.citra;

I_noise = fungsiexponential(I,P); handles.citra=I_noise;

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

runtime=cputime-runtime;

set(handles.txt_runtime_expo,'String',runtime); set(handles.reset,'Enable','On')

set(handles.btn_expo,'Enable','Off')

set(handles.btn_expo_reduction,'Enable','On') set(handles.btn_mse_expo,'Enable','On')

set(handles.btn_psnr_expo,'Enable','On') set(handles.save_expo,'Enable','On') set(handles.btn_clear,'Enable','Off')

function btn_mse_speckle_Callback(hObject, eventdata, handles) citra = getimage(handles.axes_asli);

citra_hasil=getimage(handles.axes_speckle); [psnrval mseval] = MSE_PSNR(citra,citra_hasil); set(handles.txt_mse_speckle,'String',mseval);

function btn_psnr_speckle_Callback(hObject, eventdata, handles) citra = getimage(handles.axes_asli);

citra_hasil=getimage(handles.axes_speckle); [psnrval mseval] = MSE_PSNR(citra,citra_hasil); set(handles.txt_psnr_speckle,'String',psnrval);

function btn_runtime_speckle_Callback(hObject, eventdata, handles) global runtime;

set(handles.txt_runtime_speckle,'String',runtime);

function txt_mse_speckle_CreateFcn(hObject, eventdata, handles)

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

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

function txt_psnr_speckle_CreateFcn(hObject, eventdata, handles)

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

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

(11)

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

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

function btn_speckle_Callback(hObject, eventdata, handles) global runtime;

runtime=cputime;

P=str2double(get(handles.txt_probabilitas_speckle,'string')); P=P/100;

I = handles.citra;

I_noise = fungsispeckle(I, P); handles.citra=I_noise;

axes(handles.axes_speckle); imshow(handles.citra); runtime=cputime-runtime;

set(handles.txt_runtime_speckle,'String',runtime); set(handles.reset,'Enable','On')

set(handles.btn_speckle,'Enable','Off')

set(handles.btn_speckle_reduction,'Enable','On') set(handles.btn_mse_speckle,'Enable','On')

set(handles.btn_psnr_speckle,'Enable','On') set(handles.save_speckle,'Enable','On') set(handles.btn_clear,'Enable','Off')

function btn_mse_expo_reduction_Callback(hObject, eventdata, handles) citra = getimage(handles.axes_exponential);

citra_hasil=getimage(handles.axes_exponential_reduction); [psnrval mseval] = MSE_PSNR(citra,citra_hasil);

set(handles.txt_mse_expo_reduction,'String',mseval);

function btn_psnr_expo_reduction_Callback(hObject, eventdata, handles)

citra = getimage(handles.axes_exponential);

citra_hasil=getimage(handles.axes_exponential_reduction); [psnrval mseval] = MSE_PSNR(citra,citra_hasil);

set(handles.txt_psnr_expo_reduction,'String',psnrval);

function btn_runtime_expo_reduction_Callback(hObject, eventdata, handles)

global runtime;

set(handles.txt_runtime_expo_reduction,'String',runtime);

function txt_mse_expo_reduction_CreateFcn(hObject, eventdata, handles)

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

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

function txt_psnr_expo_reduction_CreateFcn(hObject, eventdata, handles)

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

(12)

function txt_runtime_expo_reduction_CreateFcn(hObject, eventdata, handles)

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

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

function btn_expo_reduction_Callback(hObject, eventdata, handles) global runtime;

runtime=cputime;

citra_asli = getimage(handles.axes_exponential); temp=citra_asli;

[b k c]=size(temp); for x=1:1:b

for y=1:1:k for z=1:1:c try

matriks(1,1)=temp(x-1,y-1,z); catch

matriks(1,1)=0; end

try

matriks(1,2)=temp(x-1,y,z); catch

matriks(1,2)=0; end

try

matriks(1,3)=temp(x-1,y+1,z); catch

matriks(1,3)=0; end

try

matriks(2,1)=temp(x,y-1,z); catch

matriks(2,1)=0; end

try

matriks(2,2)=temp(x,y,z); catch

matriks(2,2)=0; end

try

matriks(2,3)=temp(x,y+1,z); catch

matriks(2,3)=0; end

try

matriks(3,1)=temp(x+1,y-1,z); catch

matriks(3,1)=0; end

try

matriks(3,2)=temp(x+1,y,z); catch

matriks(3,2)=0; end

try

matriks(3,3)=temp(x+1,y+1,z); catch

(13)

end

filtered(x,y,z)=(mean(mean(matriks))+median(median(matriks)))/2; end

end end

filtered=uint8(filtered); handles.citra=filtered;

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

runtime=cputime-runtime;

set(handles.txt_runtime_expo_reduction,'String',runtime); set(handles.btn_expo_reduction,'Enable','Off')

set(handles.btn_mse_expo_reduction,'Enable','On') set(handles.btn_psnr_expo_reduction,'Enable','On') set(handles.save_expo_reduction,'Enable','On')

function btn_mse_speckle_reduction_Callback(hObject, eventdata, handles)

citra = getimage(handles.axes_speckle);

citra_hasil=getimage(handles.axes_speckle_reduction); [psnrval mseval] = MSE_PSNR(citra,citra_hasil);

set(handles.txt_mse_speckle_reduction,'String',mseval);

function btn_psnr_speckle_reduction_Callback(hObject, eventdata, handles)

citra = getimage(handles.axes_speckle);

citra_hasil=getimage(handles.axes_speckle_reduction); [psnrval mseval] = MSE_PSNR(citra,citra_hasil);

set(handles.txt_psnr_speckle_reduction,'String',psnrval);

function btn_runtime_speckle_reduction_Callback(hObject, eventdata, handles)

global runtime;

set(handles.txt_runtime_speckle_reduction,'String',runtime);

function txt_mse_speckle_reduction_Callback(hObject, eventdata, handles)

function txt_mse_speckle_reduction_CreateFcn(hObject, eventdata, handles)

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

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

function txt_psnr_speckle_reduction_Callback(hObject, eventdata, handles)

function txt_psnr_speckle_reduction_CreateFcn(hObject, eventdata, handles)

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

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

(14)

function txt_runtime_speckle_reduction_CreateFcn(hObject, eventdata, handles)

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

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

function btn_speckle_reduction_Callback(hObject, eventdata, handles) global runtime;

runtime=cputime;

citra_asli = getimage(handles.axes_speckle); pixel=citra_asli;

[r, g, b]=size(pixel); for x=1:1:r

for y=1:1:g for z=1:1:b try

nilaipixel(1,1)=pixel(x-1,y-1,z); catch

nilaipixel(1,1)=0; end

try

nilaipixel(1,2)=pixel(x-1,y,z); catch

nilaipixel(1,2)=0; end

try

nilaipixel(1,3)=pixel(x-1,y+1,z); catch

nilaipixel(1,3)=0; end

try

nilaipixel(2,1)=pixel(x,y-1,z); catch

nilaipixel(2,1)=0; end

try

nilaipixel(2,2)=pixel(x,y,z); catch

nilaipixel(2,2)=0; end

try

nilaipixel(2,3)=pixel(x,y+1,z); catch

nilaipixel(2,3)=0; end

try

nilaipixel(3,1)=pixel(x+1,y-1,z); catch

nilaipixel(3,1)=0; end

try

nilaipixel(3,2)=pixel(x+1,y,z); catch

nilaipixel(3,2)=0; end

try

nilaipixel(3,3)=pixel(x+1,y+1,z); catch

(15)

end

combinationfilter(x,y,z)=(mean(mean(nilaipixel))+median(median(nilaip ixel)))/2;

end end end

combinationfilter=uint8(combinationfilter); handles.citra=combinationfilter;

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

runtime=cputime-runtime;

set(handles.txt_runtime_speckle_reduction,'String',runtime); set(handles.btn_speckle_reduction,'Enable','Off')

set(handles.btn_mse_speckle_reduction,'Enable','On') set(handles.btn_psnr_speckle_reduction,'Enable','On') set(handles.save_speckle_reduction,'Enable','On')

function btn_clear_Callback(hObject, eventdata, handles) handles.citra=handles.citra([]);

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

set(handles.btn_clear,'Enable','Off') set(handles.btn_open,'Enable','On') set(handles.file_name,'string',' '); set(handles.panjang,'string',' '); set(handles.lebar,'string',' ');

function panjang_CreateFcn(hObject, eventdata, handles)

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

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

function lebar_CreateFcn(hObject, eventdata, handles)

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

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

function file_name_CreateFcn(hObject, eventdata, handles)

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

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

function btn_mainmenu_Callback(hObject, eventdata, handles) HOME;

close(gcbf);

function txt_probabilitas_gauss_CreateFcn(hObject, eventdata, handles)

(16)

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

function varargout = probabilitas_gauss_Callback(h, eventdata, handles)

nilai_probabilitas = get(handles.probabilitas_gauss,'value'); handles.nilai_probabilitas = round(nilai_probabilitas);

guidata(h,handles);

set(handles.txt_probabilitas_gauss,'string',handles.nilai_probabilita s);

function probabilitas_gauss_CreateFcn(hObject, eventdata, handles)

if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]); end

function txt_probabilitas_saltandpepper_CreateFcn(hObject, eventdata, handles)

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

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

function varargout = probabilitas_saltandpepper_Callback(h, eventdata, handles)

nilai_probabilitas = get(handles.probabilitas_saltandpepper,'value'); handles.nilai_probabilitas = round(nilai_probabilitas);

guidata(h,handles);

set(handles.txt_probabilitas_saltandpepper,'string',handles.nilai_pro babilitas);

function probabilitas_saltandpepper_CreateFcn(hObject, eventdata, handles)

if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]); end

function txt_probabilitas_exponential_CreateFcn(hObject, eventdata, handles)

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

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

function varargout = probabilitas_exponential_Callback(h, eventdata, handles)

nilai_probabilitas = get(handles.probabilitas_exponential,'value'); handles.nilai_probabilitas = round(nilai_probabilitas);

guidata(h,handles);

set(handles.txt_probabilitas_exponential,'string',handles.nilai_proba bilitas);

(17)

if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]); end

function txt_probabilitas_speckle_CreateFcn(hObject, eventdata, handles)

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

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

function varargout = probabilitas_speckle_Callback(h, eventdata, handles)

nilai_probabilitas = get(handles.probabilitas_speckle,'value'); handles.nilai_probabilitas = round(nilai_probabilitas);

guidata(h,handles);

set(handles.txt_probabilitas_speckle,'string',handles.nilai_probabili tas);

function probabilitas_speckle_CreateFcn(hObject, eventdata, handles)

if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]); end

function save_sap_Callback(hObject, eventdata, handles) [nama_file,nama_path] = uiputfile('*.bmp','save file'); nama_file_simpan=fullfile(nama_path,nama_file);

citra=getframe(handles.axes_saltandpepper); [x,map]=frame2im(citra);

if isempty(map) rgb = x;

else rgb = ind2rgb(x,map); end

imwrite(x,nama_file_simpan,'bmp');

function save_expo_reduction_Callback(hObject, eventdata, handles) [nama_file,nama_path] = uiputfile('*.bmp','save file');

nama_file_simpan=fullfile(nama_path,nama_file); citra=getframe(handles.axes_exponential_reduction); [x,map]=frame2im(citra);

if isempty(map) rgb = x;

else rgb = ind2rgb(x,map); end

imwrite(x,nama_file_simpan,'bmp');

function save_speckle_reduction_Callback(hObject, eventdata, handles) [nama_file,nama_path] = uiputfile('*.bmp','save file');

nama_file_simpan=fullfile(nama_path,nama_file); citra=getframe(handles.axes_speckle_reduction); [x,map]=frame2im(citra);

if isempty(map) rgb = x;

(18)

rgb = ind2rgb(x,map); end

imwrite(x,nama_file_simpan,'bmp');

function save_expo_Callback(hObject, eventdata, handles) [nama_file,nama_path] = uiputfile('*.bmp','save file'); nama_file_simpan=fullfile(nama_path,nama_file);

citra=getframe(handles.axes_exponential); [x,map]=frame2im(citra);

if isempty(map) rgb = x;

else rgb = ind2rgb(x,map); end

imwrite(x,nama_file_simpan,'bmp');

function save_speckle_Callback(hObject, eventdata, handles) [nama_file,nama_path] = uiputfile('*.bmp','save file'); nama_file_simpan=fullfile(nama_path,nama_file);

citra=getframe(handles.axes_speckle); [x,map]=frame2im(citra);

if isempty(map) rgb = x;

else rgb = ind2rgb(x,map); end

imwrite(x,nama_file_simpan,'bmp');

function save_sap_reduction_Callback(hObject, eventdata, handles) [nama_file,nama_path] = uiputfile('*.bmp','save file');

nama_file_simpan=fullfile(nama_path,nama_file); citra=getframe(handles.axes_sap_reduction); [x,map]=frame2im(citra);

if isempty(map) rgb = x;

else rgb = ind2rgb(x,map); end

imwrite(x,nama_file_simpan,'bmp');

function save_gauss_reduction_Callback(hObject, eventdata, handles) [nama_file,nama_path] = uiputfile('*.bmp','save file');

nama_file_simpan=fullfile(nama_path,nama_file); citra=getframe(handles.axes_gauss_reduction); [x,map]=frame2im(citra);

if isempty(map) rgb = x;

else rgb = ind2rgb(x,map); end

imwrite(x,nama_file_simpan,'bmp');

function varargout = save_gauss_Callback(h, eventdata, handles) [nama_file,nama_path] = uiputfile('*.bmp','save file');

nama_file_simpan=fullfile(nama_path,nama_file); citra=getframe(handles.axes_gaussian);

[x,map]=frame2im(citra); if isempty(map)

rgb = x;

(19)

rgb = ind2rgb(x,map); end

imwrite(x,nama_file_simpan,'bmp');

function reset_Callback(hObject, eventdata, handles) expo_reduction=handles.citra([]);

axes(handles.axes_exponential_reduction); imshow(expo_reduction);

set(handles.save_expo_reduction,'Enable','Off') set(handles.btn_expo_reduction,'Enable','Off') set(handles.btn_mse_expo_reduction,'Enable','Off') set(handles.btn_psnr_expo_reduction,'Enable','Off') set(handles.txt_mse_expo_reduction,'String',0); set(handles.txt_psnr_expo_reduction,'String',0); set(handles.txt_runtime_expo_reduction,'String',0);

speckle_reduction=handles.citra([]); axes(handles.axes_speckle_reduction); imshow(speckle_reduction);

set(handles.save_speckle_reduction,'Enable','Off') set(handles.btn_speckle_reduction,'Enable','Off') set(handles.btn_mse_speckle_reduction,'Enable','Off') set(handles.btn_psnr_speckle_reduction,'Enable','Off') set(handles.txt_mse_speckle_reduction,'String',0); set(handles.txt_psnr_speckle_reduction,'String',0); set(handles.txt_runtime_speckle_reduction,'String',0);

sap_reduction=handles.citra([]); axes(handles.axes_sap_reduction); imshow(sap_reduction);

set(handles.save_sap_reduction,'Enable','Off') set(handles.btn_sap_reduction,'Enable','Off') set(handles.btn_mse_sap_reduction,'Enable','Off') set(handles.btn_psnr_sap_reduction,'Enable','Off') set(handles.txt_mse_sap_reduction,'String',0); set(handles.txt_psnr_sap_reduction,'String',0); set(handles.txt_runtime_sap_reduction,'String',0);

gaussian_reduction=handles.citra([]); axes(handles.axes_gauss_reduction); imshow(gaussian_reduction);

set(handles.save_gauss_reduction,'Enable','Off') set(handles.btn_gauss_reduction,'Enable','Off') set(handles.btn_mse_gauss_reduction,'Enable','Off') set(handles.btn_psnr_gauss_reduction,'Enable','Off') set(handles.txt_mse_gauss_reduction,'String',0); set(handles.txt_psnr_gauss_reduction,'String',0); set(handles.txt_runtime_gauss_reduction,'String',0);

expo_noise=handles.citra([]); axes(handles.axes_exponential); imshow(expo_noise);

set(handles.save_expo,'Enable','Off') set(handles.btn_mse_expo,'Enable','Off') set(handles.btn_psnr_expo,'Enable','Off') set(handles.btn_expo,'Enable','On')

(20)

speckle_noise=handles.citra([]); axes(handles.axes_speckle); imshow(speckle_noise);

set(handles.save_speckle,'Enable','Off') set(handles.btn_mse_speckle,'Enable','Off') set(handles.btn_psnr_speckle,'Enable','Off') set(handles.btn_speckle,'Enable','On')

set(handles.txt_mse_speckle,'String',0); set(handles.txt_psnr_speckle,'String',0); set(handles.txt_runtime_speckle,'String',0);

sap_noise=handles.citra([]); axes(handles.axes_saltandpepper); imshow(sap_noise);

set(handles.save_sap,'Enable','Off')

set(handles.btn_mse_saltandpepper,'Enable','Off') set(handles.btn_psnr_saltandpepper,'Enable','Off') set(handles.btn_salt_and_pepper,'Enable','On') set(handles.txt_mse_saltandpepper,'String',0); set(handles.txt_psnr_saltandpepper,'String',0); set(handles.txt_runtime_saltandpepper,'String',0);

gaussian_noise=handles.citra([]); axes(handles.axes_gaussian); imshow(gaussian_noise);

set(handles.save_gauss,'Enable','Off')

set(handles.btn_mse_gaussian,'Enable','Off') set(handles.btn_psnr_gaussian,'Enable','Off') set(handles.gaus,'Enable','On')

set(handles.txt_mse_gaussian,'String',0); set(handles.txt_psnr_gaussian,'String',0); set(handles.txt_runtime_gaussian,'String',0);

set(handles.reset,'Enable','Off') set(handles.btn_clear,'Enable','On')

1.

Form

Perbandingan (Inputan Citra Tanpa

Noise)

function varargout = PROSES1(varargin) gui_Singleton = 1;

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

'gui_OpeningFcn', @PROSES1_OpeningFcn, ... 'gui_OutputFcn', @PROSES1_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

(21)

guidata(hObject, handles);

function varargout = PROSES1_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

function btn_open_Callback(hObject, eventdata, handles) [nama_file, namaPath]=uigetfile({'*.bmp'},'Buka File'); if ~isequal (nama_file,0)

handles.citra=imread(fullfile(namaPath,nama_file)); guidata(hObject,handles);

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

set(handles.filename,'String',nama_file);

set(handles.panjang,'String',size(handles.citra,1)); set(handles.lebar,'String',size(handles.citra,2)); else

return; end

set(handles.btn_open,'Enable','Off') set(handles.btn_clear,'Enable','On') set(handles.pilih_noise,'Enable','On')

function filename_CreateFcn(hObject, eventdata, handles)

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

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

function panjang_CreateFcn(hObject, eventdata, handles)

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

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

function lebar_CreateFcn(hObject, eventdata, handles)

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

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

function btn_mainmenu_Callback(hObject, eventdata, handles) HOME;

close(gcbf);

function btn_noise_Callback(hObject, eventdata, handles) global runtime;

runtime=cputime;

P=str2double(get(handles.txt_probabilitas,'string')); P=P/100;

popup_sel_index = get(handles.pilih_noise, 'Value'); switch popup_sel_index

case 1

(22)

case 2

I = handles.citra;

noise = fungsigaussian(I, P); handles.citra= noise;

axes(handles.axes_noise); imshow(handles.citra); runtime=cputime-runtime;

set(handles.txt_runtime_noise,'String',runtime); case 3

I = handles.citra;

noise = fungsisaltandpepper(I, P); handles.citra= noise;

axes(handles.axes_noise); imshow(handles.citra); runtime=cputime-runtime;

set(handles.txt_runtime_noise,'String',runtime); case 4

I = handles.citra;

noise = fungsispeckle(I, P); handles.citra=noise;

axes(handles.axes_noise); imshow(handles.citra); runtime=cputime-runtime;

set(handles.txt_runtime_noise,'String',runtime); case 5

I = handles.citra;

noise =fungsiexponential(I, P); handles.citra=noise;

axes(handles.axes_noise); imshow(handles.citra); runtime=cputime-runtime;

set(handles.txt_runtime_noise,'String',runtime); end

set(handles.btn_noise,'Enable','Off') set(handles.reset,'Enable','On') set(handles.save_noise,'Enable','On') set(handles.btn_mse_noise,'Enable','On') set(handles.btn_psnr_noise,'Enable','On') set(handles.btn_clear,'Enable','Off') set(handles.btn_mean,'Enable','On') set(handles.btn_median,'Enable','On') set(handles.btn_combined,'Enable','On')

function btn_mse_noise_Callback(hObject, eventdata, handles) citra = getimage(handles.citra_asli);

citra_hasil=getimage(handles.axes_noise);

[psnrval mseval] = MSE_PSNR(citra,citra_hasil); set(handles.txt_mse_noise,'String',mseval);

function btn_psnr_noise_Callback(hObject, eventdata, handles) citra = getimage(handles.citra_asli);

citra_hasil=getimage(handles.axes_noise);

[psnrval mseval] = MSE_PSNR(citra,citra_hasil); set(handles.txt_psnr_noise,'String',psnrval);

function btn_runtime_noise_Callback(hObject, eventdata, handles) global runtime;

set(handles.txt_runtime_noise,'String',runtime);

(23)

function txt_mse_noise_CreateFcn(hObject, eventdata, handles)

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

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

function txt_psnr_noise_CreateFcn(hObject, eventdata, handles)

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

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

function txt_runtime_noise_CreateFcn(hObject, eventdata, handles)

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

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

function varargout = probabilitas_Callback(h, eventdata, handles) nilai_probabilitas = get(handles.probabilitas,'value');

handles.nilai_probabilitas = round(nilai_probabilitas); guidata(h,handles);

set(handles.txt_probabilitas,'string',handles.nilai_probabilitas);

function probabilitas_CreateFcn(hObject, eventdata, handles)

if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]); end

function txt_probabilitas_CreateFcn(hObject, eventdata, handles)

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

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

function btn_combined_Callback(hObject, eventdata, handles) global runtime;

runtime=cputime;

citra_asli = getimage(handles.axes_noise); temp=citra_asli;

[b k c]=size(temp); for x=1:1:b

for y=1:1:k for z=1:1:c try

matriks(1,1)=temp(x-1,y-1,z); catch

matriks(1,1)=0; end

try

(24)

matriks(1,2)=0; end

try

matriks(1,3)=temp(x-1,y+1,z); catch

matriks(1,3)=0; end

try

matriks(2,1)=temp(x,y-1,z); catch

matriks(2,1)=0; end

try

matriks(2,2)=temp(x,y,z); catch

matriks(2,2)=0; end

try

matriks(2,3)=temp(x,y+1,z); catch

matriks(2,3)=0; end

try

matriks(3,1)=temp(x+1,y-1,z); catch

matriks(3,1)=0; end

try

matriks(3,2)=temp(x+1,y,z); catch

matriks(3,2)=0; end

try

matriks(3,3)=temp(x+1,y+1,z); catch

matriks(3,3)=0; end

filtered(x,y,z)=(mean(mean(matriks))+median(median(matriks)))/2; end

end end

filtered=uint8(filtered); handles.citra=filtered;

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

runtime=cputime-runtime;

set(handles.txt_runtime_combined,'String',runtime); set(handles.btn_combined,'Enable','Off')

set(handles.save_combine,'Enable','On') set(handles.btn_mse_combined,'Enable','On') set(handles.btn_psnr_combined,'Enable','On')

function btn_mean_Callback(hObject, eventdata, handles) global runtime;

runtime=cputime;

citra_asli = getimage(handles.axes_noise); temp=citra_asli;

(25)

for x=1:1:b for y=1:1:k for z=1:1:c try

matriks(1,1)=temp(x-1,y-1,z); catch

matriks(1,1)=0; end

try

matriks(1,2)=temp(x-1,y,z); catch

matriks(1,2)=0; end

try

matriks(1,3)=temp(x-1,y+1,z); catch

matriks(1,3)=0; end

try

matriks(2,1)=temp(x,y-1,z); catch

matriks(2,1)=0; end

try

matriks(2,2)=temp(x,y,z); catch

matriks(2,2)=0; end

try

matriks(2,3)=temp(x,y+1,z); catch

matriks(2,3)=0; end

try

matriks(3,1)=temp(x+1,y-1,z); catch

matriks(3,1)=0; end

try

matriks(3,2)=temp(x+1,y,z); catch

matriks(3,2)=0; end

try

matriks(3,3)=temp(x+1,y+1,z); catch

matriks(3,3)=0; end

filtered(x,y,z)=mean(mean(matriks)); end

end end

filtered=uint8(filtered); handles.citra=filtered;

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

runtime=cputime-runtime;

set(handles.txt_runtime_mean,'String',runtime); set(handles.btn_mean,'Enable','Off')

(26)

set(handles.btn_mse_mean,'Enable','On') set(handles.btn_psnr_mean,'Enable','On')

function btn_median_Callback(hObject, eventdata, handles) global runtime;

runtime=cputime;

citra_asli = getimage(handles.axes_noise); temp=citra_asli;

[b k c]=size(temp); for x=1:1:b

for y=1:1:k for z=1:1:c try

matriks(1,1)=temp(x-1,y-1,z); catch

matriks(1,1)=0; end

try

matriks(1,2)=temp(x-1,y,z); catch

matriks(1,2)=0; end

try

matriks(1,3)=temp(x-1,y+1,z); catch

matriks(1,3)=0; end

try

matriks(2,1)=temp(x,y-1,z); catch

matriks(2,1)=0; end

try

matriks(2,2)=temp(x,y,z); catch

matriks(2,2)=0; end

try

matriks(2,3)=temp(x,y+1,z); catch

matriks(2,3)=0; end

try

matriks(3,1)=temp(x+1,y-1,z); catch

matriks(3,1)=0; end

try

matriks(3,2)=temp(x+1,y,z); catch

matriks(3,2)=0; end

try

matriks(3,3)=temp(x+1,y+1,z); catch

matriks(3,3)=0; end

filtered(x,y,z)= median(median(matriks)); end

(27)

end

filtered=uint8(filtered); handles.citra=filtered;

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

runtime=cputime-runtime;

set(handles.txt_runtime_median,'String',runtime); set(handles.btn_median,'Enable','Off')

set(handles.save_median,'Enable','On') set(handles.btn_mse_median,'Enable','On') set(handles.btn_psnr_median,'Enable','On')

function btn_mse_median_Callback(hObject, eventdata, handles) citra = getimage(handles.axes_noise);

citra_hasil=getimage(handles.axes_medianfilter); [psnrval mseval] = MSE_PSNR(citra,citra_hasil); set(handles.txt_mse_median,'String',mseval);

function btn_psnr_median_Callback(hObject, eventdata, handles) citra = getimage(handles.axes_noise);

citra_hasil=getimage(handles.axes_medianfilter); [psnrval mseval] = MSE_PSNR(citra,citra_hasil); set(handles.txt_psnr_median,'String',psnrval);

function btn_runtime_median_Callback(hObject, eventdata, handles) global runtime;

set(handles.txt_runtime_median,'String',runtime);

function txt_mse_median_CreateFcn(hObject, eventdata, handles)

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

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

function txt_psnr_median_CreateFcn(hObject, eventdata, handles)

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

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

function txt_runtime_median_CreateFcn(hObject, eventdata, handles)

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

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

function btn_mse_mean_Callback(hObject, eventdata, handles) citra = getimage(handles.axes_noise);

citra_hasil=getimage(handles.axes_meanfilter); [psnrval mseval] = MSE_PSNR(citra,citra_hasil); set(handles.txt_mse_mean,'String',mseval);

function btn_psnr_mean_Callback(hObject, eventdata, handles) citra = getimage(handles.axes_noise);

(28)

[psnrval mseval] = MSE_PSNR(citra,citra_hasil); set(handles.txt_psnr_mean,'String',psnrval);

function btn_runtime_mean_Callback(hObject, eventdata, handles) global runtime;

set(handles.txt_runtime_mean,'String',runtime);

function txt_mse_mean_CreateFcn(hObject, eventdata, handles)

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

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

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

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function txt_runtime_mean_CreateFcn(hObject, eventdata, handles)

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

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

function btn_mse_combined_Callback(hObject, eventdata, handles) citra = getimage(handles.axes_noise);

citra_hasil=getimage(handles.axes_meanmedian); [psnrval mseval] = MSE_PSNR(citra,citra_hasil); set(handles.txt_mse_combined,'String',mseval);

function btn_psnr_combined_Callback(hObject, eventdata, handles) citra = getimage(handles.axes_noise);

citra_hasil=getimage(handles.axes_meanmedian); [psnrval mseval] = MSE_PSNR(citra,citra_hasil); set(handles.txt_psnr_combined,'String',psnrval);

function txt_mse_combined_CreateFcn(hObject, eventdata, handles)

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

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

function txt_psnr_combined_CreateFcn(hObject, eventdata, handles)

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

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

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

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

(29)

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

get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end

function btn_clear_Callback(hObject, eventdata, handles) handles.citra=handles.citra([]);

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

set(handles.pilih_noise,'Enable','Off') set(handles.btn_noise,'Enable','On') set(handles.btn_clear,'Enable','Off') set(handles.btn_open,'Enable','On') set(handles.filename,'string',' '); set(handles.panjang,'string',' '); set(handles.lebar,'string',' ');

function save_combine_Callback(hObject, eventdata, handles) [nama_file,nama_path] = uiputfile('*.bmp','save file'); nama_file_simpan=fullfile(nama_path,nama_file);

citra=getframe(handles.axes_meanmedian); [x,map]=frame2im(citra);

if isempty(map) rgb = x;

else rgb = ind2rgb(x,map); end

imwrite(x,nama_file_simpan,'bmp');

function save_mean_Callback(hObject, eventdata, handles) [nama_file,nama_path] = uiputfile('*.bmp','save file'); nama_file_simpan=fullfile(nama_path,nama_file);

citra=getframe(handles.axes_meanfilter); [x,map]=frame2im(citra);

if isempty(map) rgb = x;

else rgb = ind2rgb(x,map); end

imwrite(x,nama_file_simpan,'bmp');

function save_median_Callback(hObject, eventdata, handles) [nama_file,nama_path] = uiputfile('*.bmp','save file'); nama_file_simpan=fullfile(nama_path,nama_file);

citra=getframe(handles.axes_medianfilter); [x,map]=frame2im(citra);

if isempty(map) rgb = x;

else rgb = ind2rgb(x,map); end

imwrite(x,nama_file_simpan,'bmp');

function save_noise_Callback(hObject, eventdata, handles) [nama_file,nama_path] = uiputfile('*.bmp','save file'); nama_file_simpan=fullfile(nama_path,nama_file);

citra=getframe(handles.axes_noise); [x,map]=frame2im(citra);

(30)

rgb = x;

else rgb = ind2rgb(x,map); end

imwrite(x,nama_file_simpan,'bmp');

function reset_Callback(hObject, eventdata, handles) citra_combine=handles.citra([]);

axes(handles.axes_meanmedian); imshow(citra_combine);

citra_median=handles.citra([]); axes(handles.axes_medianfilter); imshow(citra_median);

citra_mean=handles.citra([]); axes(handles.axes_meanfilter); imshow(citra_mean);

citra_noise=handles.citra([]); axes(handles.axes_noise); imshow(citra_noise);

set(handles.reset,'Enable','Off') set(handles.save_noise,'Enable','Off') set(handles.btn_mse_noise,'Enable','Off') set(handles.btn_psnr_noise,'Enable','Off') set(handles.btn_mse_mean,'Enable','Off') set(handles.btn_psnr_mean,'Enable','Off') set(handles.btn_mse_median,'Enable','Off') set(handles.btn_psnr_median,'Enable','Off') set(handles.btn_mse_combined,'Enable','Off') set(handles.btn_psnr_combined,'Enable','Off') set(handles.btn_noise,'Enable','On')

set(handles.btn_clear,'Enable','On') set(handles.btn_mean,'Enable','Off') set(handles.btn_median,'Enable','Off') set(handles.btn_combined,'Enable','Off') set(handles.save_mean,'Enable','Off') set(handles.save_median,'Enable','Off') set(handles.save_combine,'Enable','Off')

set(handles.txt_mse_noise,'String',0); set(handles.txt_psnr_noise,'String',0); set(handles.txt_runtime_noise,'String',0); set(handles.txt_mse_mean,'String',0); set(handles.txt_psnr_mean,'String',0); set(handles.txt_runtime_mean,'String',0); set(handles.txt_mse_median,'String',0); set(handles.txt_psnr_median,'String',0); set(handles.txt_runtime_median,'String',0); set(handles.txt_mse_combined,'String',0); set(handles.txt_psnr_combined,'String',0); set(handles.txt_runtime_combined,'String',0);

(31)

4.

Form

Perbandingan (

Input

-an Citra Ber-

noise

)

function varargout = PROSES2(varargin) gui_Singleton = 1;

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

'gui_OpeningFcn', @PROSES2_OpeningFcn, ... 'gui_OutputFcn', @PROSES2_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 PROSES2_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;

guidata(hObject, handles);

function varargout = PROSES2_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

function btn_open_Callback(hObject, eventdata, handles) [nama_file, namaPath]=uigetfile({'*.bmp'},'Buka File'); if ~isequal (nama_file,0)

handles.citra=imread(fullfile(namaPath,nama_file)); guidata(hObject,handles);

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

set(handles.filename,'String',nama_file);

set(handles.panjang,'String',size(handles.citra,1)); set(handles.lebar,'String',size(handles.citra,2)); else

return; end

set(handles.btn_open,'Enable','Off') set(handles.btn_clear,'Enable','On') set(handles.btn_mean,'Enable','On') set(handles.btn_median,'Enable','On') set(handles.btn_combined,'Enable','On')

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

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

(32)

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

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

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

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

function btn_mainmenu_Callback(hObject, eventdata, handles) HOME;

close(gcbf);

function btn_combined_Callback(hObject, eventdata, handles) global runtime;

runtime=cputime;

citra_asli = getimage(handles.citra_noise); temp=citra_asli;

[b k c]=size(temp); for x=1:1:b

for y=1:1:k for z=1:1:c try

matriks(1,1)=temp(x-1,y-1,z); catch

matriks(1,1)=0; end

try

matriks(1,2)=temp(x-1,y,z); catch

matriks(1,2)=0; end

try

matriks(1,3)=temp(x-1,y+1,z); catch

matriks(1,3)=0; end

try

matriks(2,1)=temp(x,y-1,z); catch

matriks(2,1)=0; end

try

matriks(2,2)=temp(x,y,z); catch

matriks(2,2)=0; end

try

matriks(2,3)=temp(x,y+1,z); catch

matriks(2,3)=0; end

try

matriks(3,1)=temp(x+1,y-1,z); catch

matriks(3,1)=0; end

(33)

matriks(3,2)=temp(x+1,y,z); catch

matriks(3,2)=0; end

try

matriks(3,3)=temp(x+1,y+1,z); catch

matriks(3,3)=0; end

filtered(x,y,z)=(mean(mean(matriks))+median(median(matriks)))/2; end

end end

filtered=uint8(filtered); handles.citra=filtered;

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

runtime=cputime-runtime;

set(handles.txt_runtime_combined,'String',runtime); set(handles.btn_combined,'Enable','Off')

set(handles.save_combine,'Enable','On') set(handles.btn_mse_combined,'Enable','On') set(handles.btn_psnr_combined,'Enable','On')

function btn_mean_Callback(hObject, eventdata, handles) global runtime;

runtime=cputime;

citra_asli = getimage(handles.citra_noise); temp=citra_asli;

[b k c]=size(temp); for x=1:1:b

for y=1:1:k for z=1:1:c try

matriks(1,1)=temp(x-1,y-1,z); catch

matriks(1,1)=0; end

try

matriks(1,2)=temp(x-1,y,z); catch

matriks(1,2)=0; end

try

matriks(1,3)=temp(x-1,y+1,z); catch

matriks(1,3)=0; end

try

matriks(2,1)=temp(x,y-1,z); catch

matriks(2,1)=0; end

try

matriks(2,2)=temp(x,y,z); catch

(34)

try

matriks(2,3)=temp(x,y+1,z); catch

matriks(2,3)=0; end

try

matriks(3,1)=temp(x+1,y-1,z); catch

matriks(3,1)=0; end

try

matriks(3,2)=temp(x+1,y,z); catch

matriks(3,2)=0; end

try

matriks(3,3)=temp(x+1,y+1,z); catch

matriks(3,3)=0; end

filtered(x,y,z)=mean(mean(matriks)); end

end end

filtered=uint8(filtered); handles.citra=filtered;

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

runtime=cputime-runtime;

set(handles.txt_runtime_mean,'String',runtime); set(handles.btn_mean,'Enable','Off')

set(handles.save_mean,'Enable','On') set(handles.btn_mse_mean,'Enable','On') set(handles.btn_psnr_mean,'Enable','On')

function btn_median_Callback(hObject, eventdata, handles) global runtime;

runtime=cputime;

citra_asli = getimage(handles.citra_noise); temp=citra_asli;

[b k c]=size(temp); for x=1:1:b

for y=1:1:k for z=1:1:c try

matriks(1,1)=temp(x-1,y-1,z); catch

matriks(1,1)=0; end

try

matriks(1,2)=temp(x-1,y,z); catch

matriks(1,2)=0; end

try

matriks(1,3)=temp(x-1,y+1,z); catch

matriks(1,3)=0; end

(35)

matriks(2,1)=temp(x,y-1,z); catch

matriks(2,1)=0; end

try

matriks(2,2)=temp(x,y,z); catch

matriks(2,2)=0; end

try

matriks(2,3)=temp(x,y+1,z); catch

matriks(2,3)=0; end

try

matriks(3,1)=temp(x+1,y-1,z); catch

matriks(3,1)=0; end

try

matriks(3,2)=temp(x+1,y,z); catch

matriks(3,2)=0; end

try

matriks(3,3)=temp(x+1,y+1,z); catch

matriks(3,3)=0; end

filtered(x,y,z)= median(median(matriks)); end

end end

filtered=uint8(filtered); handles.citra=filtered;

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

runtime=cputime-runtime;

set(handles.txt_runtime_median,'String',runtime); set(handles.btn_median,'Enable','Off')

set(handles.save_median,'Enable','On') set(handles.btn_mse_median,'Enable','On') set(handles.btn_psnr_median,'Enable','On')

function btn_mse_median_Callback(hObject, eventdata, handles) citra = getimage(handles.citra_noise);

citra_hasil=getimage(handles.axes_medianfilter); [psnrval mseval] = MSE_PSNR(citra,citra_hasil); set(handles.txt_mse_median,'String',mseval);

function btn_psnr_median_Callback(hObject, eventdata, handles) citra = getimage(handles.citra_noise);

citra_hasil=getimage(handles.axes_medianfilter); [psnrval mseval] = MSE_PSNR(citra,citra_hasil); set(handles.txt_psnr_median,'String',psnrval);

(36)

global runtime;

set(handles.txt_runtime_median,'String',runtime);

function txt_mse_median_CreateFcn(hObject, eventdata, handles)

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

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

function txt_psnr_median_CreateFcn(hObject, eventdata, handles)

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

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

function txt_runtime_median_CreateFcn(hObject, eventdata, handles)

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

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

function btn_mse_mean_Callback(hObject, eventdata, handles) citra = getimage(handles.citra_noise);

citra_hasil=getimage(handles.axes_meanfilter); [psnrval mseval] = MSE_PSNR(citra,citra_hasil); set(handles.txt_mse_mean,'String',mseval);

function btn_psnr_mean_Callback(hObject, eventdata, handles) citra = getimage(handles.citra_noise);

citra_hasil=getimage(handles.axes_meanfilter); [psnrval mseval] = MSE_PSNR(citra,citra_hasil); set(handles.txt_psnr_mean,'String',psnrval);

function btn_runtime_mean_Callback(hObject, eventdata, handles) global runtime;

set(handles.txt_runtime_mean,'String',runtime);

function txt_mse_mean_CreateFcn(hObject, eventdata, handles)

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

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

function txt_psnr_mean_CreateFcn(hObject, eventdata, handles)

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

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

(37)

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

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

function btn_mse_combined_Callback(hObject, eventdata, handles) citra = getimage(handles.citra_noise);

citra_hasil=getimage(handles.axes_meanmedian); [psnrval mseval] = MSE_PSNR(citra,citra_hasil); set(handles.txt_mse_combined,'String',mseval);

function btn_psnr_combined_Callback(hObject, eventdata, handles) citra = getimage(handles.citra_noise);

citra_hasil=getimage(handles.axes_meanmedian); [psnrval mseval] = MSE_PSNR(citra,citra_hasil); set(handles.txt_psnr_combined,'String',psnrval);

function btn_runtime_combined_Callback(hObject, eventdata, handles) global runtime;

set(handles.txt_runtime_combined,'String',runtime);

function txt_mse_combined_Callback(hObject, eventdata, handles)

function txt_mse_combined_CreateFcn(hObject, eventdata, handles)

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

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

function txt_psnr_combined_CreateFcn(hObject, eventdata, handles)

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

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

function txt_runtime_combined_CreateFcn(hObject, eventdata, handles)

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

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

function btn_clear_Callback(hObject, eventdata, handles) citra_combine=handles.citra([]);

axes(handles.axes_meanmedian); imshow(citra_combine);

citra_median=handles.citra([]); axes(handles.axes_medianfilter); imshow(citra_median);

(38)

handles.citra=handles.citra([]); axes(handles.citra_noise);

imshow(handles.citra);

set(handles.btn_clear,'Enable','Off') set(handles.btn_mean,'Enable','Off') set(handles.btn_median,'Enable','Off') set(handles.btn_combined,'Enable','Off') set(handles.btn_mse_mean,'Enable','Off') set(handles.btn_psnr_mean,'Enable','Off') set(handles.btn_mse_median,'Enable','Off') set(handles.btn_psnr_median,'Enable','Off') set(handles.btn_mse_combined,'Enable','Off') set(handles.btn_psnr_combined,'Enable','Off') set(handles.save_mean,'Enable','Off')

set(handles.save_median,'Enable','Off') set(handles.save_combine,'Enable','Off') set(handles.txt_mse_mean,'String',0); set(handles.txt_psnr_mean,'String',0); set(handles.txt_runtime_mean,'String',0); set(handles.txt_mse_median,'String',0); set(handles.txt_psnr_median,'String',0); set(handles.txt_runtime_median,'String',0); set(handles.txt_mse_combined,'String',0); set(handles.txt_psnr_combined,'String',0); set(handles.txt_runtime_combined,'String',0);

function txt_probabilitas_CreateFcn(hObject, eventdata, handles)

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

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

function switch_noise_CreateFcn(hObject, eventdata, handles)

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

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

function slider_noise_Callback(hObject, eventdata, handles)

function slider_noise_CreateFcn(hObject, eventdata, handles)

if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]); end

function txt_mse_noise_CreateFcn(hObject, eventdata, handles)

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

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

(39)

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

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

function txt_rt_noise_CreateFcn(hObject, eventdata, handles)

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

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

function save_combine_Callback(hObject, eventdata, handles) [nama_file,nama_path] = uiputfile('*.bmp','save file'); nama_file_simpan=fullfile(nama_path,nama_file);

citra=getframe(handles.axes_meanmedian); [x,map]=frame2im(citra);

if isempty(map) rgb = x;

else rgb = ind2rgb(x,map); end

imwrite(x,nama_file_simpan,'bmp');

function save_mean_Callback(hObject, eventdata, handles) [nama_file,nama_path] = uiputfile('*.bmp','save file'); nama_file_simpan=fullfile(nama_path,nama_file);

citra=getframe(handles.axes_meanfilter); [x,map]=frame2im(citra);

if isempty(map) rgb = x;

else rgb = ind2rgb(x,map); end

imwrite(x,nama_file_simpan,'bmp');

function save_median_Callback(hObject, eventdata, handles) [nama_file,nama_path] = uiputfile('*.bmp','save file'); nama_file_simpan=fullfile(nama_path,nama_file);

citra=getframe(handles.axes_medianfilter); [x,map]=frame2im(citra);

if isempty(map) rgb = x;

else rgb = ind2rgb(x,map); end

imwrite(x,nama_file_simpan,'bmp');

5.

Form

About

function varargout = ABOUT(varargin) gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @ABOUT_OpeningFcn, ... 'gui_OutputFcn', @ABOUT_OutputFcn, ... 'gui_LayoutFcn', [], ...

(40)

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 ABOUT_OpeningFcn(hObject, eventdata, handles, varargin) citra=imread('fadil.bmp');

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

handles.output = hObject; guidata(hObject, handles);

function varargout = ABOUT_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;

function btn_mainmenu_Callback(hObject, eventdata, handles) HOME;

close(gcbf);

6.

Form

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;

function btn_mainmenu_Callback(hObject, eventdata, handles) HOME;

Referensi

Dokumen terkait

Melalui analisis SWOT diperoleh hasil pada tahap input, skor kekuatan dikurangi skor kelemahan adalah 2,71 sedangkan skor peluang dikurangi skor ancaman adalah 1,06..

Penegakan hukum terhadap Nenek Minah harus dilepaskan dari unsur-unsur sosial serta moralitas, karena menurut kacamata Paradigma Positivisme, tujuan hukum adalah kepastian

Livelihoods Framework” (Ellis , 2000) to help define and organize indicators. Five to six indicators were developed in each category of livelihood assets. Indicators must

Hasil Penelitian: Analisis Mann Whitney menunjukkan bahwa pada taraf signifikansi diperoleh nilai sehingga Hal ini mengindikasikan adanya

Karakter budi pekerti luhur seperti inilah yang seharusnya menjadi modal dasar bagi anak bangsa dalam pembangunan Nation & Character Building yang akan

Masa sanggah untuk hasil seleksi ini mulai hari Kamis – Rabu tanggal 14– 20 Juni 2012. Demikian kami sampaikan pengumuman dan pemberitahuan ini dan

Bagi penyedia barang/jasa lainnya yang merasa tidak puas terhadap penetapan pemenang pelelangan ini diberi kesempatan untuk megajukan sanggahan secara tertulis

Harga pasar adalah harga jual dari investor yang satu kepada investor yang lain. Harga ini terjadi setelah saham tersebut dicatat di bursa. Transaksi di sini tidak