LISTING PROGRAM
// Source Code form utama.m
function varargout = utama(varargin) % Begin initialization code - DO NOT EDIT gui_Singleton = 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
% End initialization code - DO NOT EDIT
% --- Executes just before utama is made visible.
function utama_OpeningFcn(hObject, eventdata, handles, varargin) citra=imread('fasilkom-TI.jpg');
axes(handles.logo_fklts); imshow(citra);
% Choose default command line output for utama handles.output = hObject;
% Update handles structure guidata(hObject, handles);
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles) desc
close utama;
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles) pengujian
// Source Code form pengujian.m
function varargout = pengujian(varargin) % Begin initialization code - DO NOT EDIT gui_Singleton = 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
% End initialization code - DO NOT EDIT
% --- Executes on button press in tombolbuka1.
%function tombolbuka1_Callback(hObject, eventdata, handles)
function varargout = tombolbuka1_Callback(hObject, eventdata, handles) %variabel_keluaran
[nama_file, namaPath]=uigetfile({'*.bmp'},'Buka File');
if ~isequal (nama_file,0)
% --- Executes on button press in tombol_gsc.
% --- Executes on button press in tombol_noise1. Gamma Noise
% --- Executes on button press in tombol_noise2.Rayleigh Noise
function tombol_noise2_Callback(hObject, eventdata, handles)
% --- Executes on button press in button_save1.
function button_save1_Callback(hObject, eventdata, handles) S = getimage(handles.axes_gamma);
[nama_save_file, path_save]=uiputfile('*.jpg','Simpan Citra'); nama_file_simpan=fullfile(path_save,nama_save_file);
% --- Executes on button press in button_save2.
function button_save2_Callback(hObject, eventdata, handles) S = getimage(handles.axes_ray);
[nama_save_file, path_save]=uiputfile('*.jpg','Simpan Citra'); nama_file_simpan=fullfile(path_save,nama_save_file);
imwrite(S,nama_file_simpan,'jpg');
% --- Executes on button press in btnWeight.
function btnWeight_Callback(hObject, eventdata, handles)
global runtime; runtime=cputime; disp('ongoing');
if strcmp(handles.noise, 'radio_gamma');
noise_image = getimage(handles.axes_gamma);
else
noise_image = getimage(handles.axes_ray);
end % --- Executes on button press in btnHarmonic.
function btnHarmonic_Callback(hObject, eventdata, handles)
global runtime; runtime=cputime; disp('ongoing');
if strcmp(handles.noise, 'radio_gamma');
noise_image = getimage(handles.axes_gamma);
else
noise_image = getimage(handles.axes_ray);
end
% --- Executes on button press in pushbutton11.
function pushbutton11_Callback(hObject, eventdata, handles) utama
close pengujian;
% --- Executes when selected object is changed in uipanel10.
function uipanel10_SelectionChangeFcn(hObject, eventdata, handles) handles.noise = get(eventdata.NewValue, 'Tag');
guidata(hObject, handles);
% --- Executes during object creation, after setting all properties.
function uipanel10_CreateFcn(hObject, eventdata, handles) handles.noise = 'radio_gamma';
guidata(hObject, handles); % See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in button_mse2.
function button_mse2_Callback(hObject, eventdata, handles) citra = getimage(handles.axes_gsc);
citra_hasil=getimage(handles.axes_ray);
mse = (double(citra)- double(citra_hasil)) .^ 2; [m n] = size(citra_hasil);
nilai = sum(mse(:)) / (m * n); set(handles.txt_mse2,'String',nilai);
% --- Executes on button press in button_psnr2.
function button_psnr2_Callback(hObject, eventdata, handles) citra = getimage(handles.axes_gsc);
citra_hasil=getimage(handles.axes_ray);
mse = (double(citra)- double(citra_hasil)) .^ 2; [m n] = size(citra_hasil);
nilai_mse = sum(mse(:)) / (m * n);
nilai_psnr = 10 * log10( 255^2 / nilai_mse); set(handles.txt_psnr2,'String',nilai_psnr); % --- Executes on button press in button_mse.
function button_mse_Callback(hObject, eventdata, handles) citra = getimage(handles.axes_gsc);
citra_hasil=getimage(handles.axes_gamma);
mse = (double(citra)- double(citra_hasil)) .^ 2; [m n] = size(citra_hasil);
nilai = sum(mse(:)) / (m * n); set(handles.txt_mse,'String',nilai);
% --- Executes on button press in button_psnr.
function button_psnr_Callback(hObject, eventdata, handles) citra = getimage(handles.axes_gsc);
citra_hasil=getimage(handles.axes_gamma);
mse = (double(citra)- double(citra_hasil)) .^ 2; [m n] = size(citra_hasil);
nilai_mse = sum(mse(:)) / (m * n);
nilai_psnr = 10 * log10( 255^2 / nilai_mse); set(handles.txt_psnr,'String',nilai_psnr); % --- Executes on slider movement.
function prob_gamma_Callback(h, eventdata, handles) nilai_prob = get(handles.prob_gamma,'value');
handles.nilai_prob = round(nilai_prob); guidata(h,handles);
set(handles.txt_gam, 'string',handles.nilai_prob);
% --- Executes during object creation, after setting all properties.
function prob_gamma_CreateFcn(hObject, eventdata, handles) % hObject handle to prob_gamma (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called
% Hint: slider controls usually have a light gray background.
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]);
% --- Executes on slider movement.
function prob_ray_Callback(h, eventdata, handles) nilai_prob = get(handles.prob_ray,'value');
handles.nilai_prob = round(nilai_prob); guidata(h,handles);
set(handles.txt_ray, 'string',handles.nilai_prob);
% --- Executes during object creation, after setting all properties.
function prob_ray_CreateFcn(hObject, eventdata, handles)
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]);
end
% --- Executes during object creation, after setting all properties.
function txt_ray_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes during object creation, after setting all properties.
function txt_mse2_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function txt_psnr2_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in button_msehasil.
function button_msehasil_Callback(hObject, eventdata, handles)
if strcmp(handles.noise, 'radio_gamma'); citra = getimage(handles.axes_gamma);
else
end
citra_hasil=getimage(handles.axes_weighted); mse = (double(citra)- double(citra_hasil)) .^ 2; [m n] = size(citra_hasil);
nilai = sum(mse(:)) / (m * n);
set(handles.txt_msehasil,'String',nilai);
function txt_msehasil_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in button_psnrhasil.
function button_psnrhasil_Callback(hObject, eventdata, handles)
if strcmp(handles.noise, 'radio_gamma'); citra = getimage(handles.axes_gamma);
else
citra = getimage(handles.axes_ray);
end
citra_hasil=getimage(handles.axes_weighted); mse = (double(citra)- double(citra_hasil)) .^ 2; [m n] = size(citra_hasil);
nilai_mse = sum(mse(:)) / (m * n);
nilai_psnr = 10 * log10( 255^2 / nilai_mse); set(handles.txt_psnrhasil,'String',nilai_psnr);
% --- Executes during object creation, after setting all properties.
function txt_psnrhasil_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in button_msehasil2.
function button_msehasil2_Callback(hObject, eventdata, handles)
if strcmp(handles.noise, 'radio_gamma'); citra = getimage(handles.axes_gamma);
else
citra = getimage(handles.axes_ray);
end
citra_hasil=getimage(handles.axes_harmonic); mse = (double(citra)- double(citra_hasil)) .^ 2; [m n] = size(citra_hasil);
nilai = sum(mse(:)) / (m * n);
set(handles.txt_msehasil2,'String',nilai);
% --- Executes on button press in button_psnrhasil2.
function button_psnrhasil2_Callback(hObject, eventdata, handles)
if strcmp(handles.noise, 'radio_gamma'); citra = getimage(handles.axes_gamma);
citra = getimage(handles.axes_ray);
end
citra_hasil=getimage(handles.axes_harmonic); mse = (double(citra)- double(citra_hasil)) .^ 2; [m n] = size(citra_hasil);
nilai_mse = sum(mse(:)) / (m * n);
nilai_psnr = 10 * log10( 255^2 / nilai_mse); set(handles.txt_psnrhasil2,'String',nilai_psnr);
function txt_msehasil2_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function txt_psnrhasil2_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in pushbutton20.
function pushbutton20_Callback(hObject, eventdata, handles) S = getimage(handles.axes_weighted);
[nama_save_file, path_save]=uiputfile('*.jpg','Simpan Citra'); nama_file_simpan=fullfile(path_save,nama_save_file);
imwrite(S,nama_file_simpan,'jpg');
% --- Executes on button press in pushbutton21.
function pushbutton21_Callback(hObject, eventdata, handles) S = getimage(handles.axes_harmonic);
[nama_save_file, path_save]=uiputfile('*.jpg','Simpan Citra'); nama_file_simpan=fullfile(path_save,nama_save_file);
imwrite(S,nama_file_simpan,'jpg');
% --- Executes during object creation, after setting all properties.
function txt_runtime_weighted_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes during object creation, after setting all properties.
function txt_runtime_harmonic_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
// Source Code form desc.m
function varargout = desc(varargin)
% Begin initialization code - DO NOT EDIT gui_Singleton = 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
% End initialization code - DO NOT EDIT
% --- Executes just before desc is made visible.
function desc_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
% Update handles structure guidata(hObject, handles);
% --- Outputs from this function are returned to the command line.
function varargout = desc_OutputFcn(hObject, eventdata, handles)
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles) utama
CURRICULUM VITAE
Wahyu Eko Putra wahyudefa19
--- Data Pribadi
Nama : Wahyu Eko Putra Tempat/Tanggal Lahir : Padang / 19 April 1992 Tinggi/Berat Badan : 168 cm / 88 kg
Agama : Islam
Kewarganegaraan : Indonesia
Alamat Sekarang : Jl. Pembanguna USU gang Pribadi no 1. Medan Selayang
Alamat Orang Tua : Komplek Perumahan Taruko Permai IV blok G no 7. Bungo Pasang. Koto Baru. Kota Padang
Telp/ Hp : 085373875815
Email : wahyuekoputra19@gmail.com
--- Riwayat Pendidikan
[2010 – 2015] : S1 Ilmu Komputer Universitas Sumatera Utara, Medan [2007 – 2010] : SMA Negeri Agam Cendekia Maninjau, Sumatera Barat [2004 – 2007] : SMP PMT Prof. Dr. Hamka, Padang Pariaman, Sumatera Barat [1998 – 2004] : SD Negeri no. 28 Gurun Laweh. Padang, Sumatera Barat
--- Keahlian/Kursus
Keahlian Komputer
Pemrograman : Java, C++, MATLAB
Database : MysQL
--- Pengalaman Organisasi
[2008 – 2009] OSIS SMA Negeri Agam Cendekia
[2011 – 2012] Anggota bidang Syi’ar (humas) BKM Al- Khuwarizmi Ilmu Komputer 2011/2012 [2012 – 2013] Ketua bidang Syi’ar (humas) UKMI Al- Khuwarizmi Ilmu Komputer 2012/2013 [2011 – 2012] Anggota IMILKOM 2011/2012
[2012 – 2013] Anggota IMILKOM 2012 – 2013
[2011 – 2012] Anggota bidang Kerohanian Islam IMIB USU [2012 – 2013] Ketua bidang Kerohanian Islam IMIB USU
--- Pengalaman Kepanitiaan
[2010] Anggota Seksi Perlengkapan Seminar I-Pear ILKOM [2011] Koordinator Dana PMB IMIB USU
[2012] Ketua Panitia TRICK 6 UKMI Al-Khuwarizmi
--- Seminar
DAFTAR PUSTAKA
Burger, W. & Burge, M.J. 2008. Digital Image Processing An Algorithmic Introduction Using
Java. Springer : New York.
Hendry, J. 2009. Pengolahan Citra Digital : Menghaluskan Citra dengan Filter Spasial
Non-Linear: Median, Mean, Max, Min, pada Pengolahan Citra Digital. Skripsi. Jurusan
Teknik Elektro Universitas Gadjah Mada.
Kadir, A. & Susanto, A. 2013. Teori dan Aplikasi Pengolahan Citra. Pernerbit Andi : Yogyakarta.
Myler, H.R. & Weeks A.R. 1993. The Pocket Handbook Of Image Processing Algorithms in C. Prentice Florida : Hall P T R.
Putra, D. 2010. Pengolahan Citra Digital. Penerbit Andi : Yogyakarta.
Putra, G.A.M. 2011. Pengurangan Noise pada Citra Digital menggunakan Adaptive Minimum
Mean Square Error Filtering. Skripsi. Jurusan Teknik Informatika Institut Teknologi
Telkom.
Prihatini, Tuti Adi. 2010. Analisis dan Implementasi Low Pass Filter untuk Mereduksi Noise pada Citra Digital . Skripsi. Universitas Sumatera Utara.
Ramayanti, D. 2012. Pengolahan Citra, Pusat Pengembangan Bahan Ajar. Diktat. Universitas Mercu Buana.
Santoso, I. 2013. Implementasi dan Perbandingan Optimum Notch Filter dan Band Reject Filter untuk Mereduksi Periodic Noise pada Citra Digital. Skripsi. Universitas Sumatera Utara.
Sutoyo, T. & Mulyanto, E. 2009. Teori Pengolahan Citra Digital. Penerbit ANDI: Yogyakarta. Wiliyana. 2012. Perbandingan Algoritma Arithmetic dengan Geometric Mean Filter untuk
Reduksi Noise pada Citra. Skripsi. Universitas Sumatera Utara.
Sulityo, W., dkk. 2009. Analisis Penerapan Metode Median Filter Untuk Mengurangi Noise Pada Citra Digital. KSN&109-035.Bali: Universitas Kristen Satya Wacana.
Wardhani, R.K., dkk._____. Analisis Penerapan Metode Konvolusi Untuk Reduksi Derau Pada Citra Digital. Tugas Akhir. Depok : Politeknik Negeri Jakarta.
Lestari, Dewi. 2006. Analisis dan Implementasi Penghalusan Citra (Image Smoothing) pada Citra Digital Menggunakan Metode Uniform Smoothing, Gaussian Smoothing, dan Threshold
BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Sistem
Analisis sistem merupakan suatu tahapan yang dilakukan untuk membantu mengerti dan memahami hal-hal apa saja yang diperlukan oleh sistem. Hal ini bertujuan untuk membuat sistem mengetahui permasalahan-permasalahan yang nantinya akan diselesesaikan sehingga nanti dapat membantu dalam proses perancangan model suatu sistem yang akan diimplementasikan.
3.1.1. Analisis Masalah
Media gambar atau citra (image) lebih cenderung digunakan orang untuk mempresentasikan sesuatu dalam penyampaian informasi, misalnya penggunaan rambu-rambu lalu lintas, penggunaan gambar dalam pembelajaran, penggunaan gambar dalam penyuluhan dan lain sebagainya.
Oleh karena itu, gangguan yang terjadi pada citra digital seperti kecerahan atau intensitas cahaya yang tidak rata, ataupun gangguan tekstur seringkali menjadi permasalahan karena menyebabkan gambar/citra tersebut tidak seperti yang kita harapkan. Gangguan ini bisa mengakibatkan penurunan kualitas pada citra digital, misalnya citra tersebut mengandung noise (derau). Noise tersebut diantaranya adalah Rayleigh noise dan Gamma(Erlang) noise.
Gangguan oleh noise ini dapat diatasi dengan reduksi noise pada citra
digital. Salah satu teknik resuksi noise ini adalah dengan cara melakukan filtering,
Reduksi noise pada citra digital Material
User
Metode
Sistem
Weighted Mean Filtering
Harmonic Mean Filtering Gamma Noise
Rayleigh Noise
Memberikan noise pada citra
Melakukan Reduksi noise Citra berformat *.bmp
Memberikan persentase variance noise Menginput citra
dalam penelitian ini adalah Weighted Mean Filtering dan Harmonic Mean
Filtering.
Penyebab dan dampak permasalahan yang dihadapi dapat dilihat di diagram Ishikawa pada Gambar 3.1. berikut :
Gambar. 3.1. Diagram Ishikawa.
Pada Gambar 3.1 diatas, bagian persegi besar disebelah kanan adalah kepala atau permasalahan yang dihadapi sistem, yaitu bagaimana mereduksi Gamma noise dan Rayleigh noise dengan metode Weighted Mean Filtering dan
Harmonic Mean Filtering. Sementara di bagian tulang-tulang cabangnya
merupakan penyebab sekaligus cara yang akan meyelesaikannya.
3.1.2. Analisis Kebutuhan Sistem
3.1.2.1. Analisis Kebutuhan Fungsional Sistem
Sistem yang akan dirancang memiliki beberapa kebutuhan fungsional sebagai berikut :
1. Sistem dapat mereduksi citra yang terkena Gamma noise dan Rayleigh
noise.
2. Sistem dapat mengeluarkan hasil perbandingan Weighted Mean Filtering dengan Harmonic Mean Filtering yang digunakan dalam mereduksi
noise.
3.1.2.2. Analisis Kebutuhan non-Fungsional Sistem
Kebutuhan non-fungsional berfungsi untuk menunjang kinerja sistem supaya lebih baik. Adapun kebutuhan non-fungsional sistem yang akan dirancang adalah sebagai berikut:
1. Kinerja
Sistem harus dapat menampilkan hasil dari proses. 2. Mudah Digunakan
Sistem harus mudah digunakan sehingga pengguna dapat mengoperasikannya dengan baik.
3. Hemat biaya
Sistem yang akan dibangun tidak memerlukan perangkat tambahan dalam proses eksekusinya, sehingga tidak memerlukan biaya banyak dalam pembuatan maupun pengoperasiannya.
3.1.3. Analisis Proses
3.1.3.1 Proses Noising
Proses Noising adalah pemberian noise pada citra masukan. Tahapan dalam proses Noising ini adalah sebagai berikut:
1. Membaca citra inputan
2. Mengubah citra asli ke citra grayscale 3. Membaca persentase noise
4. Memberikan noise pada citra inputan.
5. Menampilkan hasil citra yang sudah terkena noise 6. Menampilkan parameter MSE dan PNSR citra ber-noise.
3.1.3.2 Proses Filtering
Proses Filtering pada penelitian ini menggunakan dua metode, yaitu Weighted
Mean Filtering dan Harmonic Mean Filtering. Tahapan dalam proses ini yaitu :
1. Membaca citra yang sudah terkena noise 2. Mereduksi noise pada citra
3. Menampilkan citra hasil yang sudah direduksi
4. Meanmpilkan perbndingan parameter MSE dan PSNR citra hasil reduksi.
3.2 Pemodelan
Pada penelitian ini digunakan bahasa UML (Unified Modeling Language) sebagai bahasa pemodelan yang berfungsi untuk membantu dalam mempermudah perancangan sistem. Model UML yang digunakan dalam penelitian ini yaitu Use
case diagram, Sequence diagram, dan Activity digaram.
3.2.1 Use case Diagram
Use case diagram adalah gambaran graphical dari beberapa atau semua actor,
kelas dan bagaimana sistem tersebut berinteraksi dengan dunia luar. Use case diagram terdiri dari sebuah aktor dan interaksi yang dilakukanya, aktor tersebut dapat berupa manusia, perangkat keras, sistem lain, ataupun yang berinteraksi dengan sistem.
Pada gambar 3.2 berikut adalah Use case diagram dari penelitian ini :
Gambar 3.2. Use case Diagram Sistem Perbandingan Weighted Mean
Filtering dan Harmonic Mean Filtering dalam Mereduksi Rayleigh Noise dan
Gamma Noise pada Citra Digital
Pada sistem ini terdapat actor, yang dalam hal ini adalah user. User memilih pengujian untuk nantinya akan dilanjutkan dengan proses filtering dengan masing-masing metode terhadap masing-masing noise. Kemuadian stelah itu user akan mendapatkan hasil nilai dari MSE dan PSNR dari citra hasil untuk nantinya dapat dilakukan perbandingan.
Penjelasan naratif dari proses pengujian yang terdapat dalam Use case diagram dapat dilihat pada Tabel 3.1 berikut :
PERBANDINGAN WEIGHTED M EAN FILTERING DAN HARM ONIC M EAN FILTERING DALAM MEREDUKSI RAYLEIGH NOISE DAN GAMMA NOISE PADA CITRA DIGITAL
Tabel 3.1 Dokumentasi Naratif Use case Metode
Nama Use case Pengujian
Aktor User
Deskripsi Use case mendeskripsikan Metode yang digunakan
yaitu Weighted Mean Filtering dan Harmonic Mean
Filtering.
Pre-Condition Memberikan Noise
Typical course of
event
Aksi Aktor Respon Sistem Langkah 1: Memilih
salah satu Metode
Langkah 3: Menginput citra dengan menekan button “buka”
Langkah 6: Melakukan konversi file citra asli menjadi citra grayscale dengan menekan
button “konversi”
Langkah 2: Sistem menerima masukan pemilihan metode .
Langkah 4: Sistem membaca file citra yang telah dimasukkan aktor.
Langkah 5: Menampilkan
file citra yang telah
Langkah 7: Sistem
Alternate course Aksi Aktor Respon Sistem
Langkah 1: Memilih
form Tentang.
Langkah 2: Menampilkan deskripsi tentang program aplikasi.
Post Conditions Sistem melanjutkan ke tahap Filtering
Dokumentasi naratif pada proses filtering yang terdapat dalam Use case diagram dilihat pada Tabel 3.2
Tabel 3.2 Dokumentasi Naratif Use case Noise yang digunakan
Nama Use case Noise
Aktor User
Deskripsi Use case mendeskripsikan Noise yang akan
digunakan
Pre-Condition Telah mengubah citra ke grayscale
Langkah 3: Melakukan
menampilkan hasilnya.
Langkah 6: Sistem malakukan proses penambahan noise
Rayleigh pada citra yang
PSNR” untuk Rayleigh
filtering yang diuji.
Langkah 12:
Melakukan perhitung
MSE dan PSNR
masing- masing citra hasil metode filtering.
Langkah 8: Sistem sesuai noise yang dipilih dan metode filtering yang dipilih.
Langkah 11: Sistem Menampilkan citra hasil
Alternate course Aksi Aktor Respon Sistem
- -
Post Conditions Sistem siap melaksanakan tahapan Filtering.
3.2.2 Sequence Diagram
Sequence diagram adalah suatu diagram yang menggambarkan interaksi antar
obyek dan mengindikasikan komunikasi diantara obyek-obyek tersebut. Diagram ini juga menunjukkan serangkaian pesan yang dipertukarkan oleh obyek-obyek yang melakukan suatu tugas atau aksi tertentu. Obyek-obyek tersebut kemudian diurutkan dari kiri ke kanan, aktor yang menginisiasi interaksi biasanya ditaruh di paling kiri dari diagram.
Pada diagram ini, dimensi vertikal merepresentasikan waktu. Bagian paling atas dari diagram menjadi titik awal dan waktu berjalan ke bawah sampai dengan bagian dasar dari diagram. Garis Vertical, disebut lifeline, dilekatkan pada setiap obyek atau aktor. Kemudian lifeline tersebut digambarkan menjadi kotak ketika obyek melakukan suatu operasi , kotak tersebut disebut activation. Obyek dikatakan mempunyai live activation pada saat tersebut.
Actor
Input Gambar
Input Gambar Konversi Pilih Noise Filtering MSE dan
PSNR
Pada gambar 3.3 berikut adalah Sequence diagram dari penelitian ini :
Gambar 3.3. Sequence Diagram Sistem Perbandingan Weighted Mean
Filtering dan Harmonic Mean Filtering dalam Mereduksi Rayleigh Noise dan
Gamma Noise pada Citra Digital.
3.2.3 Activity Diagram
Activity diagram merupakan diagram yang menggambarkan berbagai alir aktivitas
dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir.
Activity diagram berfungsi untuk menggambarkan workflow / aliran kerja
dari suatu proses bisnis. Suatu aliran kerja bisa saja dituangkan dalam bentuk narasi / teks, akan tetapi jika aliran kerjanya sudah kompleks maka kita akan kesulitan untuk membayangkan bagaimana proses itu terjadi. Oleh karena itu, dibuatlah Activity diagram sebagai salah satu cara untuk menggambarkan aliran kerja tersebut.
USER SISTEM
Input Citra Menampilkan direktori
gambar
Pilih Konversi Mengubah Citra menjadi
Grayscale
Menambahkan Noise
Menampilkan Citra Ber-noise
Menampilkan nilai MSE dan PSNR citra ber-noise
noise Gamma
Noise Rayleigh
Weighted Mean Filter
Harmonic Mean Filter
Menampilkan Citra Hasil Filtering dan nilai MSE serta
PSNR Citra Hasil Pengujian
Tentang
Menampilkan deskripsi aplikasi dan petunjuk Pada gambar 3.4 berikut adalah Activity diagram dari penelitian ini :
Gambar 3.4. Activity Diagram Sistem Perbandingan Weighted Mean
Filtering dan Harmonic Mean Filtering dalam Mereduksi Rayleigh Noise dan
3.3 Perancangan Sistem
Perancangan sistem merupakan tahap selanjutnya setelah analisa sistem, mendapatkan gambaran dengan jelas tentang apa yang dikerjakan pada analisa sistem, maka dilanjutkan dengan memikirkan bagaimana membentuk sistem tersebut.
Perancangan sistem adalah suatu fase dimana diperlukan suatu keahlian perancangan untuk elemen-elemen komputer yang akan mengunakan sistem yaitu pemilihan peralatan dan program komputer untuk sistem yang baru.
3.3.1 Perancangan Flowchart Sistem
Flowchart adalah adalah suatu bagan dengan simbol-simbol tertentu yang
menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program.
Flowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa
yang sedang dikerjakan di dalam sistem secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang ada di dalam sistem. Dengan kata lain,
flowchart ini merupakan dekripsi secara grafik dari urutan prosedur-prosedur
Flowchart gambaran umum sistem ditunnjuk pada gambar 3.5 berikut :
Gambar 3.5. Flowchart Gambaran Umum Sistem
Mulai Input citra asli (.bmp)
Citra Grayscale? Ubah ke citra grayscale
Pada Gambar 3.5. ditunjukkan gambaran sistem yang akan dirancang secara keseluruhan.
3.3.2 Perancangan Antarmuka Sistem
Perancangan antarmuka sistem merupakan tahap kelanjutan dari analisa sistem. Perancangan ini dimaksudkan untuk membuat antarmuka yang memungkinkan pengguna dapat berinteraksi dengan sistem. Tahap perancangan antarmuka sistem merupakan tahap pengerjaan design tampilan dari sistem. Dalam membuat perancangan antarmuka sistem haruslah dipertimbangkan tampilan yang menarik,
user friendly agar user nyaman disaat menggunakan sistem tersebut.
Sistem pada penelitian ini dirancang dengan menggunakan bahasa pemrograman MATLAB R2012a.
3.3.2.1 Perancangan Tampilan Awal Aplikasi
Tampilan awal aplikasi merupakan halaman utama dari aplikasi penelitian ini yang berfungsi sebagai menu awal yang nantinya dapat mengakses menu lain seperti Pengujian dan menu Tentang.
Pada gambar 3.6 berikut menunjukkan rancangan dari tampilan awal aplikasi :
Keterangan Gambar 3.6. : 1. Text judul Penelitian
2. Axes dari logo Fakultas Ilmu Komputer dan Teknologi Informasi.
3. Button untuk menuju halaman Pengujian
4. Button untuk menuju halaman Tentang
5. Text nama dan NIM peneliti.
3.3.2.2 Perancangan Halaman Pengujian
Pada halaman ini nantinya akan dilakukan pengujian metode Weighted Mean
Filtering dan metode Harmonic Mean Filtering dalam mereduksi Gamma Noise
dan Rayleigh Noise.
Rancangan halaman pengujian ini dapat ditunjukkan Gambar 3.7. berikut :
Keterangan Gambar 3.7. :
1. Button Buka, untuk browse citra/image yang akan dipakai untuk
pengujian.
2. Axes_asli, tempat menampilkan citra/image asli
3. Button Konversi, untuk mengubah citra ke grayscale
4. Axes_gsc, untuk menampilkan citra yang telah diubah ke grayscale
5. Slider persentasi noise Gamma, untuk mengatur tingkat persentasi noise Gamma
6. Buttton Tambah Noise Gamma, untuk menambahkan noise Gamma pada
citra yang akan diuji
7. Button Simpan, untuk menyimpan citra yang telah diberi noise Gamma
8. Axes_Gamma, untuk menampilkan citra yang diberi noise Gamma
9. Button MSE dan PSNR noise Gamma, untuk menampilkan nilai MSE
dan PSNR citra yang telah diberi noise Gamma
10. Slider persentasi noise Rayleigh, untuk mengatur tingkat persentasi noise Rayleigh
11. Button Tambah Noise Rayleigh, untuk menambahkan noise Rayleigh
pada citra yang akan diuji
12. Button Simpan, untuk menyimpan citra yang telah diberi noise Rayleigh
13. Axes_ray, untuk menampilkan citra yang telah diberi noise Rayleigh
14. Button MSE dan PSNR noise Rayleigh, untuk menampilkan nilai MSE
dan PSNR citra yang telah diberi noise Rayleigh
15. Panel radio button, untuk memilih noise yang akan difilter
16. Axes_weighted, untuk menampilkan citra yang telah difilter dengan Weighted Mean Filter
17. Axes_harmonic, untuk menampilkan citra yang telah difilter dengan Harmonic Mean Filter.
18. Button Weighted Mean Filter, untuk melakukan proses Weighted Mean
Filter
19. Button Harmonic Mean Filter, untuk melakukan proses Harmonic Mean
20. Button MSE dan PSNR, untuk menghitung dan menampilkan nilai MSE
dan PSNR dari citra yang telah direduksi dengan metode Weighted Mean
Filter
21. Button MSE dan PSNR, untuk menghitung dan menampilkan nilai MSE
dan PSNR dari citra yang telah direduksi dengan metode Harmonic Mean
Filter
22. Button Kembali, untuk kembali ke halaman utama.
3.3.2.3. Perancangan Halaman Tentang
Pada halaman ini nantinya akan terdapat deskripsi dari aplikasi dan cara atau petunjuk penggunaan dari aplikasi yang akan dibuat.
Rancangan halaman Tentang dapat ditunjukkan pada Gambar 3.8 berikut :
Gambar 3.8. Rancangan Tampilan Halaman Tentang
Keterangan Gambar 3.8 : 1. Text deskripsi aplikasi
2. Text petunjuk penggunaan aplikasi.
BAB IV
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1. Implementasi
Sistem ini dibangun dengan menggunakan bahasa pemrograman MATLAB R2012a. Pada sistem aplikasi ini terdapat beberapa form atau halaman yaitu form utama (halaman tampilan awal aplikasi), form pengujian (halaman pengujian metode filtering), dan form desc (halaman Tentang, berisi petunjuk penggunaan dan deskripsi sistem aplikasi).
4.1.1. Halaman Utama
Halaman utama merupakan halaman tampilan awal aplikasi. Pada form ini terdapat menu yang berupa button atau tombol yaitu menu Pengujian dan Tentang. Masing-masing dari button tersebut mengarahkan user nantinya ke form Tentang dan form pengujian. Pada halaman awal ini juga terdapat tampilan label judul dari penelitian juga label dari nama dan NIM peneliti serta juga terdapat
logo Fakultas peneliti yaitu Fakultas Ilmu Komputer dan Teknologi Informasi
Universitas Sumatera Utara
Gambar 4.1. Tampilan Halaman Utama
4.1.2 Halaman Pengujian
Pada halaman pengujian ini dilakukan pemilihan image, pemberian noise dan juga pengujian dua metode filtering yang diteliti yaitu Weighted Mean Filter dan
Harmonic Mean Filter. Citra/image yang akan digunakan dipilih melalui button
Halaman pengujian dapat ditunjukkan oleh Gambar 4.2. berikut :
Gambar 4.2. Tampilan Halaman Pengujian
4.1.3 Halaman Tentang
Tampilan halaman Tentang dapat dilihat pada Gambar 4.3. berikut :
Gambar 4.3. Tampilan Halaman Tentang
4.2 Pengujian Sistem
Pengujian sistem dilakukan untuk mengetahui bagaimana perbandingan kedua metode filtering yang digunakan pada masing-masing noise berdasarkan pada nilai MSE dan PNSR citra yang telah direduksi. Citra yang digunakan pada pengujian ini adalah citra BMP yang berformat *.bmp dan nanti akan diberi
Gamma noise dan Rayleigh niose. Citra awal nantinya akan diubah ke grayscale
terlebih dahulu oleh sistem. Dalam pemrosesannya, pada metode Weighted Mean
Filtering menggunakan bobot binomial [1,2,1,2,3,2,1,2,1] dan pada metode
Harmonic Mean Filtering menggunakan kernel 3x3. Selanjutnya citra yang telah
direduksi dari masing-masing noise dengan masing-masing metode dihitung nilai
4.2.1 Pengujian Weighted Mean Filtering
Pengujian ini dilakukan dalam halaman Pengujian. Saat pertama membuka aplikasi, maka dipilih tombol Pengujian sehingga terbuka halaman pengujian. Selanjutnya dipilih tombol Buka untuk memilih image yang akan diuji. Proses diatas dapat dilihat pada gambar 4.4. dan 4.5. berikut :
Gambar 4.4. Pilih tombol Pengujian.
Selanjutnya dilakukan proses filtering yang diawali dengan pemberian
noise Gamma dan noiseRayleigh pada citra yang telah diubah ke grayscale.
Kemudian noise direduksi dengan menekan tombol Weighted Mean Filter.
4.2.1.1. Pengujian Metode Weighted Mean Filter dengan Gamma noise
Pengujian ini menguji hasil reduksi Gamma noise dengan menggunakan metode
Weighted Mean Filtering. Dalam pengujian ini nanti akan diambil data berupa
nilai dari MSE dan PSNR sebelum dan setelah dilakukan proses filtering, serta
Running time saat direduksi. Pada penelitian ini dipakai persentasi noise antara
1 sampai 50%, untuk itu akan digunakan persentasi 10%, 20%, 30%, 40% dan 50% sebagai sampel pengujian.
Pengujian Weighted Mean Filtering pada Gamma noise dapat ditunjukkan pada tabel 4.1 berikut :
Tabel 4.1.Pengujian Metode Weighted Mean Filter dengan Gamma noise
Persentasi
noise
Citra Terkena Gamma noise Citra setelah direduksi dengan Metode Weighted Mean Filtering 10%
nilai MSE = 992.129 nilai PSNR = 18.1651 dB
nilai MSE = 892.689 nilai PSNR = 18.6238 dB
20%
nilai MSE = 3633.74 nilai PSNR = 12.5273 dB
nilai MSE = 940.939 nilai PSNR =18.3952 dB
Running time =0.078125s
30%
nilai MSE = 7773.87 nilai PSNR = 9.22443 dB
nilai MSE = 1003.86 nilai PSNR = 18.1141 dB
Running time = 0.109375s
40%
nilai MSE = 13291.8 nilai PSNR = 6.89495 dB
nilai MSE = 1077.39 nilai PSNR = 17.8071 dB
50%
nilai MSE =19973.3 nilai PSNR =5.12631 dB
nilai MSE = 1177.41 nilai PSNR = 17.4215 dB
Running time = 0.078125s
Citra pada tabel diatas merupakan citra asli yang sudah dikonversi ke
grayscale kemudian diberi noise dengan persentasi 1 sampai 50%. Terlihat pada
tabel diatas citra dengan noise 10% memiliki nilai MSE sebesar 992.129 dan nilai
PSNR sebesar 18.1651 dB. Citra yang terkena noise 10% kemudian di filtering
sehingga didapat nilai MSE sebesar 892.689 dan nilai PSNR sebesar 18.6238 dB. Citra dengan noise 20% memiliki nilai MSE sebesar 3633.74 dan nilai PSNR sebesar 12.5273 dB. Citra yang terkena noise 20% kemudian di filtering sehingga didapat nilai MSE sebesar 940.939 dan nilai PSNR sebesar 18.3952 dB. Citra dengan noise 30% memiliki nilai MSE sebesar 7773.87 dan nilai PSNR sebesar 9.22443 dB. Citra yang terkena noise 30% kemudian di filtering sehingga didapat nilai MSE sebesar 1003.86 dan nilai PSNR sebesar 18.1141 dB. Citra dengan
noise 40% memiliki nilai MSE sebesar 13291.8 dan nilai PSNR sebesar 6.89495
dB. Citra yang terkena noise 40% kemudian di filtering sehingga didapat nilai
MSE sebesar 1077.39 dan nilai PSNR sebesar 17.8071 dB. Citra dengan noise
50% memiliki nilai MSE sebesar 19973.3 dan nilai PSNR sebesar 5.12631 dB. Citra yang terkena noise 50% kemudian di filtering sehingga didapat nilai MSE sebesar 1177.41 dan nilai PSNR sebesar 17.4215 dB.
0
Gambar 4.6. Grafik Perbandingan nilai MSE Gamma noise sebelum dan setelah dilakukan proses filtering dengan metode Weighted Mean Filtering
Pada grafik diatas dapat dilihat bahwa nilai MSE semakin meningkat apabila nilai persentasi noise nya jug bernilai besar. Kemudian setelah di filter nilai MSE nya menjadi semakin kecil dibandingkan dengan nilai MSE sebelum dilakukan filtering.
Gambar 4.7. Grafik Perbandingan nilai PSNR Gamma noise sebelum dan setelah dilakukan proses filtering dengan metode Weighted Mean Filtering
Pada grafik diatas dapat dilihat bahwa nilai PSNR semakin menurun apabila nilai persentasi noise nya bernilai besar. Kemudian setelah difilter nilai
PSNR nya menjadi semakin besar dibandingkan dengan nilai PSNR sebelum
dilakukan filtering.
Dapat dilihat pada Gambar 4.6. dan Gambar 4.7. bahwa pengujian
Gamma noise dengan metode Weighted Mean Filtering sesuai dengan teori
berdasarkan pada perbandingan nilai parameter MSE dan PSNR sebelum dan setelah dilakukan proses reduksi noise.
4.2.1.2. Pengujian Metode Weighted Mean Filter dengan Rayleigh noise
Pengujian ini menguji hasil reduksi Rayleigh noise dengan menggunakan metode
Weighted Mean Filtering. Dalam pengujian ini nanti akan diambil data berupa
nilai dari MSE dan PSNR sebelum dan setelah dilakukan proses filtering, serta
Running time saat direduksi. Pada penelitian ini dipakai persentasi noise antara
1 sampai 50%, untuk itu akan digunakan persentasi 10%, 20%, 30%, 40% dan 50% sebagai sampel pengujian.
Pengujian Weighted Mean Filtering pada Rayleigh noise dapat ditunjukkan pada tabel 4.2 berikut :
Tabel 4.2.Pengujian Metode Weighted Mean Filter dengan Rayleigh noise
Persentasi
noise
Citra Terkena Rayleigh noise Citra setelah direduksi dengan Metode Weighted Mean Filtering 10%
nilai MSE = 80.4656 nilai PSNR = 29.0747dB
nilai MSE = 840.095 nilai PSNR = 18.8875dB
20%
nilai MSE = 143.891 nilai PSNR = 26.5505dB
nilai MSE = 860.436 nilai PSNR = 18.7836dB
Running time = 0.078125s
30%
nilai MSE = 207.01 nilai PSNR = 24.9709 dB
nilai MSE = 874.251 nilai PSNR = 18.7144 dB
Running time = 0.09375s
40%
nilai MSE = 267.933 nilai PSNR = 23.8505dB
nilai MSE = 888.8 nilai PSNR = 18.6428dB
50%
nilai MSE = 324.321 nilai PSNR = 23.0211 dB
nilai MSE = 900.352 nilai PSNR = 18.5867 dB
Running time = 0.078125s
Citra pada tabel diatas merupakan citra asli yang sudah dikonversi ke
grayscale kemudian diberi noise dengan persentasi 1 sampai 50%. Terlihat pada
tabel diatas citra dengan noise 10% memiliki nilai MSE sebesar 80.4656 dan nilai
PSNR sebesar 29.0747 dB. Citra yang terkena noise 10% kemudian di filtering
sehingga didapat nilai MSE sebesar 840.095 dan nilai PSNR sebesar 18.8875 dB. Citra dengan noise 20% memiliki nilai MSE sebesar 143.891 dan nilai PSNR sebesar 26.5505 dB. Citra yang terkena noise 20% kemudian di filtering sehingga didapat nilai MSE sebesar 860.436 dan nilai PSNR sebesar 18.7836 dB. Citra dengan noise 30% memiliki nilai MSE sebesar 207.01 dan nilai PSNR sebesar 24.9709 dB. Citra yang terkena noise 30% kemudian di filtering sehingga didapat nilai MSE sebesar 874.251 dan nilai PSNR sebesar 18.7144 dB. Citra dengan
noise 40% memiliki nilai MSE sebesar 267.933 dan nilai PSNR sebesar 23.8505
dB. Citra yang terkena noise 40% kemudian di filtering sehingga didapat nilai
MSE sebesar 888.8 dan nilai PSNR sebesar 18.6428 dB. Citra dengan noise 50%
0 100 200 300 400 500 600 700 800 900 1000
10% 20% 30% 40% 50%
MSE sebelum difilter
MSE setelah difilter
Perbandingan nilai MSE dan PSNR citra yang terkena Rayleigh noise dengan citra ber-noise yang sudah dilakukan proses filtering dapat dilihat pada grafik di gambar 4.8 dan gambar 4.9 berikut ini:
Gambar 4.8. Grafik Perbandingan nilai MSE Rayleigh noise sebelum dan setelah dilakukan proses filtering dengan metode Weighted Mean Filtering
0 5 10 15 20 25 30 35
10% 20% 30% 40% 50%
PSNR sebelum difilter
PSNR setelah difilter
Gambar 4.9. Grafik Perbandingan nilai PSNR Rayleigh noise sebelum dan setelah dilakukan proses filtering dengan metode Weighted Mean Filtering
Pada grafik diatas dapat dilihat bahwa nilai PSNR semakin menurun apabila nilai persentasi noise nya bernilai besar. Kemudian setelah di filter nilai
PSNR nya menjadi semakin kecil dibandingkan dengan nilai PSNR sebelum
dilakukan filtering.
Dapat dilihat pada Gambar 4.8. dan Gambar 4.9. bahwa pengujian
Rayleigh noise dengan metode Weighted Mean Filtering tidak sesuai dengan teori
4.2.2 Pengujian Harmonic Mean Filtering
Pada aplikasi, metode ini juga terdapat pada halaman Pengujian sama hal nya dengan metode Weighted Mean Filtering, tetapi pada saat setelah selesai proses pemberian noise maka yang dipilih pada halaman tersebut adalah tombol
Harmonic Mean Filtering.
4.2.2.1. Pengujian Metode Harmonic Mean Filter dengan Gamma noise
Pengujian ini menguji hasil reduksi Gamma noise dengan menggunakan metode
Harmonic Mean Filtering. Dalam pengujian ini nanti akan diambil data berupa
nilai dari MSE dan PSNR sebelum dan setelah dilakukan proses filtering, serta
Running time saat direduksi. Pada penelitian ini dipakai persentasi noise antara
1 sampai 50%, untuk itu akan diagunakan persentasi 10%, 20%, 30%, 40% dan 50% sebagai sampel pengujian.
Pengujian Harmonic Mean Filtering pada Gamma noise dapat ditunjukkan pada tabel 4.3 berikut :
Tabel 4.3.Pengujian Metode Harmonic Mean Filter dengan Gamma noise
Persentasi
noise
Citra Terkena Gamma noise Citra setelah direduksi dengan Metode Harmonic Mean Filtering 10%
nilai MSE = 995.456 nilai PSNR = 18.1596 dB
nilai MSE = 1168.06 nilai PSNR = 17.4561 dB
20%
nilai MSE = 3631.24 nilai PSNR = 12.5302 dB
nilai MSE = 1093.78 nilai PSNR = 17.7415 dB
Running time = 0.265625 s
30%
nilai MSE = 7773.78 nilai PSNR = 9.22448 dB
nilai MSE = 1093.93 nilai PSNR = 17.7409 dB
Running time = 0.234375 s
40%
nilai MSE = 13289 nilai PSNR = 6.89587 dB
nilai MSE = 1134.02 nilai PSNR = 17.5846 dB
50%
nilai MSE = 19961.7 nilai PSNR = 5.12884 dB
nilai MSE = 1207.88 nilai PSNR = 17.3106 dB
Running time = 0.21875 s
Citra pada tabel diatas merupakan citra asli yang sudah dikonversi ke
grayscale kemudian diberi noise dengan persentasi 1 sampai 50%. Terlihat pada
tabel diatas citra dengan noise 10% memiliki nilai MSE sebesar 995.456 dan nilai
PSNR sebesar 18.1596 dB. Citra yang terkena noise 10% kemudian di filtering
sehingga didapat nilai MSE sebesar 1168.06 dan nilai PSNR sebesar 17.4561 dB. Citra dengan noise 20% memiliki nilai MSE sebesar 3631.24 dan nilai PSNR sebesar 12.5302 dB. Citra yang terkena noise 20% kemudian di filtering sehingga didapat nilai MSE sebesar 1093.78 dan nilai PSNR sebesar 17.7415 dB. Citra dengan noise 30% memiliki nilai MSE sebesar 7773.78 dan nilai PSNR sebesar 9.22448 dB. Citra yang terkena noise 30% kemudian di filtering sehingga didapat nilai MSE sebesar 1093.93 dan nilai PSNR sebesar 17.7409 dB. Citra dengan
noise 40% memiliki nilai MSE sebesar 13289 dan nilai PSNR sebesar 6.89587 dB.
Citra yang terkena noise 40% kemudian di filtering sehingga didapat nilai MSE sebesar 1134.02 dan nilai PSNR sebesar 17.5846 dB. Citra dengan noise 50% memiliki nilai MSE sebesar 19961.7 dan nilai PSNR sebesar 5.12884 dB. Citra yang terkena noise 50% kemudian di filtering sehingga didapat nilai MSE sebesar 1207.88 dan nilai PSNR sebesar 17.3106 dB.
0
Gambar 4.10. Grafik Perbandingan nilai MSE Gamma noise sebelum dan setelah dilakukan proses filtering dengan metode Harmonic Mean Filtering
Pada grafik diatas dapat dilihat bahwa nilai MSE semakin meningkat apabila nilai persentasi noise nya juga bernilai besar. Kemudian setelah di filter nilai MSE nya menjadi semakin kecil dibandingkan dengan nilai MSE sebelum dilakukan filtering, kecuali pada persentasi noise 10% yang nilai MSE sebelum dilakukan filtering lebih besar daripada setelah dilakukan filtering.
Pada grafik diatas dapat dilihat bahwa nilai PSNR semakin menurun apabila nilai persentasi noise nya bernilai besar. Kemudian setelah difilter nilai
PSNR nya menjadi semakin besar dibandingkan dengan nilai PSNR sebelum
dilakukan filtering.
Dapat dilihat pada Gambar 4.10. dan Gambar 4.11. bahwa pengujian
Gamma noise dengan metode Harmonic Mean Filtering sesuai dengan teori
berdasarkan pada perbandingan nilai parameter MSE dan PSNR sebelum dan setelah dilakukan proses reduksi noise. Kecuali pada nilai MSE pada nilai persentasi Gamma noise 10% yang nilai MSE sebelum difilter lebih kecil daripada setelah difilter.
4.2.2.2. Pengujian Metode Harmonic Mean Filter dengan Rayleigh noise
Pengujian ini menguji hasil reduksi Rayleigh noise dengan menggunakan metode
Harmonic Mean Filtering. Dalam pengujian ini nanti akan diambil data berupa
nilai dari MSE dan PSNR sebelum dan setelah dilakukan proses filtering, serta
Running time saat direduksi. Pada penelitian ini dipakai persentasi noise antara
1 sampai 50%, untuk itu akan digunakan persentasi 10%, 20%, 30%, 40% dan 50% sebagai sampel pengujian.
Tabel 4.4. Pengujian Metode Harmonic Mean Filter dengan Rayleigh noise
Persentasi
noise
Citra Terkena Rayleigh noise Citra setelah direduksi dengan Metode Harmonic Mean Filtering 10%
nilai MSE = 80.6452 nilai PSNR = 29.065dB
nilai MSE = 1342.12 nilai PSNR = 16.8529dB
Running time = 0.25s
20%
nilai MSE = 145.823 nilai PSNR = 26.4925dB
nilai MSE = 1330.03 nilai PSNR = 16.8922dB
Running time = 0.265625s
30%
nilai MSE = 205.237 nilai PSNR = 25.0082dB
nilai MSE = 1330.91 nilai PSNR = 16.8893 dB
40%
nilai MSE = 265.364 nilai PSNR = 23.8924dB
nilai MSE = 1333.05 nilai PSNR = 16.8823 dB
Running time = 0.28125s
50%
nilai MSE = 324.12 nilai PSNR = 23.0237dB
nilai MSE = 1331.39 nilai PSNR = 16.8877 dB
Running time = 0.234375s
Citra pada tabel diatas merupakan citra asli yang sudah dikonversi ke
grayscale kemudian diberi noise dengan persentasi 1 sampai 50%. Terlihat pada
tabel diatas citra dengan noise 10% memiliki nilai MSE sebesar 80.6452 dan nilai
PSNR sebesar 29.065 dB. Citra yang terkena noise 10% kemudian di filtering
sehingga didapat nilai MSE sebesar 1342.12 dan nilai PSNR sebesar 16.8529 dB. Citra dengan noise 20% memiliki nilai MSE sebesar 145.823 dan nilai PSNR sebesar 26.4925 dB. Citra yang terkena noise 20% kemudian di filtering sehingga didapat nilai MSE sebesar 1330.03 dan nilai PSNR sebesar 16.8922 dB. Citra dengan noise 30% memiliki nilai MSE sebesar 205.237 dan nilai PSNR sebesar 25.0082 dB. Citra yang terkena noise 30% kemudian di filtering sehingga didapat nilai MSE sebesar 1330.91 dan nilai PSNR sebesar 16.8893 dB. Citra dengan
0 200 400 600 800 1000 1200 1400 1600
10% 20% 30% 40% 50%
MSE sebelum difilter
MSE setelah difilter
dB. Citra yang terkena noise 40% kemudian di filtering sehingga didapat nilai
MSE sebesar 1333.05 dan nilai PSNR sebesar 16.8823 dB. Citra dengan noise
50% memiliki nilai MSE sebesar 324.12 dan nilai PSNR sebesar 23.0237 dB. Citra yang terkena noise 50% kemudian di filtering sehingga didapat nilai MSE sebesar 1331.39 dan nilai PSNR sebesar 16.8877 dB.
Perbandingan nilai MSE dan PSNR citra yang terkena Rayleigh noise dengan citra ber-noise yang sudah dilakukan proses filtering dapat dilihat pada grafik di gambar 4.12 dan gambar 4.13 berikut ini:
Gambar 4.12. Grafik Perbandingan nilai MSE Rayleigh noise sebelum dan setelah dilakukan proses filtering dengan metode Harmonic Mean Filtering
0 5 10 15 20 25 30 35
10% 20% 30% 40% 50%
PSNR sebelum difilter
PSNR setelah difilter
Gambar 4.13. Grafik Perbandingan nilai PSNR Rayleigh noise sebelum dan setelah dilakukan proses filtering dengan metode Harmonic Mean Filtering
Pada grafik diatas dapat dilihat bahwa nilai PSNR semakin menurun apabila nilai persentasi noise nya bernilai besar. Kemudian setelah di filter nilai
PSNR nya menjadi semakin kecil dibandingkan dengan nilai PSNR sebelum
dilakukan filtering.
Dapat dilihat pada Gambar 4.12. dan Gambar 4.13. bahwa pengujian
Rayleigh noise dengan metode Harmonic Mean Filtering tidak sesuai dengan
0 0.05 0.1 0.15 0.2 0.25 0.3
10% 20% 30% 40% 50%
Running Time Weighted Mean Filtering
Running Time Harmo nic Mean Filtering
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35
10% 20% 30% 40% 50%
Running Time Weighted Mean Filtering
Running Time Harmo nic Mean Filtering
Dari hasil pengujian diatas dapat kita lihat perbandingan dari running time masing- masing metode pada garfik di gambar 4.14 dan 4.15 berikut :
Gambar 4.14. Grafik perbandingan Running Time masing-masing metode dengan Gamma noise
Gambar 4.15. Grafik perbandingan Running Time masing-masing metode dengan Rayleigh noise
Dari Gambar 4.14. dan gambar 4.15. dapat dilihat bahwa running time dari metode Weighted Mean Filtering lebih kecil daripada running time dari metode
metode Weighted Mean Filtering lebih cepat dalam filtering kedua noise daripada metode Harmonic Mean Filtering.
4.2.3 Pengujian Black Box
Tahapan ini merupakan kelanjutan dari tahap implementasi yaitu melakukan pengujian terhadap aplikasi yang dibangun. Pengujian yang akan dilakukan yaitu dengan pengujian Black Box yang berfokus pada persyaratan fungsional perangkat lunak.
4.2.3.1 Rencana Pengujian
Rencana pengujian yang akan dilakukan dengan menguji sistem secara Alpha dapat dilihat pada tabel 4.5 berikut :
Tabel 4.5. Rencana Pengujian
Item Pengujian Detail Pengujian Jenis Pengujian
Filtering menggunakan
Weighted Mean Filter
dan Harmonic Mean
Filter
Lakukan Input Citra Black Box
Tampilkan Hasil Filter Black Box
Pada Tabel 4.5 diatas dapat dilihat hal yang akan diuji dalam proses
filtering menggunakan Weighted Mean Filter dan Harmonic Mean Filter adalah
4.2.3.2 Kasus dan Hasil Pengujjian Alpha
Berdasarkan rencana pengujian, maka dapat dilakukan pengujian Alpha pada perangkat lunak pada tabel 4.6 dan 4.7 berikut :
Tabel 4.6. Pengujian hasil input citra digital oleh user Kasus dan Hasil Uji
Masukan Yang Diharapkan Pengamatan Kesimpulan Citra digital
Pada Tabel 4.6 diatas dapat dilihat bahwa kesimpulan pengujian pada hasil
input citra digital dengan masukan citra digital berformat *.bmp dapat diterima.
Tabel 4.7. Pengujian hasil filter oleh sistem. Kasus dan Hasil Uji
Masukan Yang Diharapkan Pengamatan Kesimpulan Nilai-nilai
filter oleh sistem dengan masukan nilai- nilai parameter filter dapat diterima.
4.2.3.3 Kesimpulan Hasil Pengujian Alpha
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Setelah melakukan beberapa tahap, yang dimulai dari tahap penelitian, perancangan hingga tahap implementasi dan perbandingan metode Weighted
Mean Filter dan Harmonic Mean Filter dalam mereduksi Gamma noise dan
Rayleigh Noise pada citra digital dapat disimpulkan bahwa :
1. Semakin rendah nilai MSE suatu citra dari nilai MSE citra sebelumnya, berarti semakin baik pula kualitas suatu citra daripada citra sebelumnya. Sebaliknya pada PSNR, semakin tinggi nilai PSNR dari nilai PSNR citra sebelumnya, berarti semakin baik pula kualitas suatu citra daripada citra sebelumnya.
2. Weighted Mean Filter dapat mereduksi Gamma noise dengan baik, tetapi
kurang baik dalam mereduksi Rayleigh noise berdasarkan pada parameter nilai MSE dan PSNR.
3. Harmonic Mean Filter juga dapat mereduksi Gamma noise dengan baik,
tetapi kurang baik dalam mereduksi Rayleigh noise berdasarkan pada parameter nilai MSE dan PSNR.
4. Gamma noise dapat direduksi dengan baik oleh kedua metode, tetapi
rayleigh noise tidak dapat direduksi dengan baik.
5. Berdasarkan parameter running time, Weighted Mean Filtering lebih cepat dalam filtering kedua noise daripada metode Harmonic Mean Filtering. 6. Meskipun menurut parameter MSE dan PSNR citra dapat direduksi dan
semua bagian piksel citra sehingga menyebabkan piksel yang tidak terkena
noise pun akan direduksi sehingga citra hasil akan menjadi blur secara
visual tetapi tereduksi secara teori.
5.2 Saran
Berikut ini adalah saran yang dapat digunakan untuk tahap pengembangan sistem ini antara lain:
1. Menambah jenis citra lain yang diuji seperti *.jpeg atau *.gif. 2. Noise yang direduksi pada sistem ini ada dua noise, diharapkan
untuk pengembangan selanjutnya dapat menggunakan noise lain
3. Pada Harmonic Mean Filter dapat ditambahkan jenis kernel yang lain, bukan hanya 3x3 tetapi bisa ditambahkan dengan kernel 4x4 ataupun 5x5 dst.
4. Sebaiknya citra yang akan diuji adalah citra yang tidak terlalu gelap, sehingga akan meminimalisir terjadinya citra hasil yang
BAB II
LANDASAN TEORI
2.1. Citra
Citra (image) atau yang secara umum disebut gambar merupakan representasi spasial dari suatu objek yang sebenarnya dalam bidang dua dimensi yang biasanya ditulis dalam koordinat kartesian x-y, dan setiap koordinat merepresentasikan satu sinyal terkecil dari objek yang biasanya koordinat terkecil ini disebut sebagai pixel
(picture element). Pixel (Picture Elements) adalah nilai tiap-tiap entri matriks
pada bitmap. Rentang nilai-nilai pixel ini dipengaruhi oleh banyaknya warna yang dapat ditampilkan. Jika suatu bitmap dapat menampilkan 256 warna maka nilai-nilai pixel-nya dibatasi dari 0 hingga 255. Suatu citra bitmap akan mampu menampilkan warna lebih banyak, karena bitmap mempunyai kerapatan pixel yang tinggi (Prihatini, 2010). Karena merupakan sistem koordinat yang memiliki nilai maka biasanya image dianggap sebagai sebuah matrik x-y yang berisi nilai
pixel.
2.2 Citra Digital
Citra digital merupakan salah satu bentuk citra yang sangat mudah dipergunakan jika dilihat dari segi pengiriman citra sebagai data, pengolahan dan pemrosesan citra. Disamping itu juga, citra digital menjadi hal yang sangat penting dan berguna dalam berbagai hal bidang kehidupan sehingga akses terhadap citra digital ini semakin banyak (Putra, 2011).
Citra digital (diskrit) dihasilkan dari citra analog (kontinu) melalui digitalisasi Digitalisasi citra analog terdiri atas penerokan (sampling) dan kuantisasi (quantization) Penerokan adalah pembagian citra ke dalam elemen elemen diskrit (pixel), sedangkan kuantisasi adalah pemberian nilai intensitas warna pada setiap pixel dengan nilai yang berupa bilangan bulat.
Citra digital dapat ditulis dalam bentuk matriks sebagai berikut :
Contoh ilustrasi citra digital dapat dilihat pada Gambar 2.1.
2.2.1 Jenis Citra
Banyaknya nilai yang dapat digunakan dalam kuantisasi citra bergantung kepada kedalaman pixel, yaitu banyaknya bit yang digunakan untuk merepresentasikan intensitas warna pixel. Kedalaman pixel sering disebut juga kedalaman warna.
Berdasarkan warna-warna penyusunnya, citra digital dapat dibagi menjadi tiga macam (Kadir, 2013) yaitu:
1. Citra Biner
Citra biner adalah citra yang hanya direpresentasikan nilai tiap pixel-nya dalam satu bit (satu nilai binary). Jadi, kemungkinan nilai yang dimiliki oleh citra biner ini hanya ada dua yaitu hitam dan putih. Dibutuhkan satu bit pada memori untuk menyimpan kedua warna ini dan setiap pixel pada citra biner bernilai 0 untuk warna hitam dan 1 untuk warna putih.
Contoh citra biner dapat dilihat pada Gambar 2.2.
Gambar 2.2. Citra Biner
2. Citra Grayscale (Skala Keabuan)
Citra yang nilai pixel-nya merepresentasikan derajat keabuan atau intensitas warna putih. Nilai intensitas paling rendah merepresentasikan warna hitam dan nilai intensitas paling tinggi merepresentasikan warna putih. Pada umumnya citra
grayscale memiliki kedalaman pixel 8 bit (255 derajat keabuan), tetapi ada juga
citra grayscale, intensitas berkisar dari nilai 0 sampai 225. Nilai 0 menyatakan warna hitam dan nilai 255 menyatakan putih (Kadir, 2013).
Contoh citra grayscale dengan skala keabuan 4 bit dapat dilihat pada Gambar 2.3.
Gambar 2.3. Citra Grayscale
3. Citra Berwarna atau RGB (Red, Green, and Blue)
Citra berwarna atau RGB memiliki pixel yang mempresentasikan warna dengan warna dasar R (merah), G (hijau), dan B (biru). Setiap komponen warna dasar tersebut menggunakan 8 bit dengan nilai yang berkisar antara 0 sampai 255. Nilai tersebut akan menghasilkan warna tertentu sesuai nilainya. Jadi kemungkinan warna yang dapat dihasilkan mencapai 255 x 255 x 255 atau 16.581.375 warna.
Contoh citra berwarna dapat dilihat pada Gambar 2.4.
2.2.2 Format File Citra
Ada beberapa jenis format standar file citra digital yang digunakan saat ini. Format ini digunakan untuk menyimpan sebuah citra digital dalam bentuk file dan masing-masing dari format tersebut memiliki karakteristiknya sendiri. Berikut beberapa format standar file citra digital yang sering digunakan :
1. Bitmap (.bmp)
Format .bmp adalah format penyimpanan standar file citra digital tanpa kompresi yang umum. Format ini dapat menyimpan citra biner hingga citra berwarna (RGB). Masing-masing jenis dari format .bmp ini ditentukan oleh jumlah bit yang digunakan untuk menyyimpan sebuah nilai pixel.
2. Portable Network Graphics (.png)
Format .png adalah format penyimpanan citra digital yang sudah terkompresi. Format ini dapat digunakan pada hampir semua citra seprti citra grayscale, citra dengan palet warna, dan jug citra yang
fullcolor. Format .png mampu menyimpan informasi citra dengan
penyimpanan sebesar 1 hingga 16 bit.
3. Joint Photograpic Experts atau JPEG (.jpg)
Format .jpg adalah format yang sangat umum digunakan saat ini khususnya untuk transmisi citra. Format ini digunakan untuk menyimpan citra hasil kompresi dengan metode JPEG.
2.3 Noise (Derau)
kualitas citra. Derau ini juga dapat disebabkan oleh proses pengolahan citra yang tidak sesuai (Wiliyana, 2010). Namun, ada juga derau yang dibahas pada ranah pengolahan citra dengan tujuan untuk menurunkan kualitas citra digital untuk kepentingan khusus, yakni untuk pengujian penghilangan derau.
2.3.1 Gamma (Erlang) Noise
Derau Gamma (atau kadang disebut Erlang) merupakan efek penapisan lolos-rendah terhadap citra yang mengandung derau eksponensial sebagai hasil pengambilan citra yang teriluminasi oleh laser yang koheren (Myler dan Weeks, 1993).
Contoh perbandingan citra sebelum dan setelah terkena Gamma noise dapat dilihat pada Gambar 2.5.
(a) (b)
Gambar 2.5. (a) Citra sebelum terkena noise, (b) Citra setelah terkena
Gamma Noise
2.3.2 Rayleigh Noise