BAB 3 ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Sistem
Analisis sistem bertujuan untuk memecah sistem ke dalam komponen-komponen subsistem yang lebih kecil untuk mengetahui hubungan setiap komponen tersebut
dalam mencapai tujuan Whitten, 2004.
3.1.1 Analisis masalah Masalah yang akan diselesaikan dengan menggunakan sistem ini adalah bagaimana
melakukan perbaikan citra digital yang memiliki noise asli dan impulse noise menjadi citra yang lebih baik, dimana noise dihilangkan melalui suatu proses filtering yang
dilakukan pada citra berformat .bmp. Metode yang digunakan untuk perbaikan citra pada penelitian ini adalah Wiener Filter, Adaptive Median Filter dan gabungan
Wiener Filter dengan Adaptive Median Filter. Analisis masalah ini secara spesifik diilustrasikan pada gambar 3.1 yang
dirancang dalam bentuk Diagram Ishikawa.
Universitas Sumatera Utara
Gambar 3.1. Diagram Ishikawa
Bagian penyebab suatu masalah tulang ikan terdiri atas 4 aspek yaitu Materials, Methode, Machine, dan Man. Materials merupakan aspek permasalahan
yang bersumber dari bahan-bahan penyebab suatu masalah atau dampak. Method merupakan aspek permasalahan yang bersumber dari cara yang digunakan dalam
mengatasi dampak. Man merupakan aspek permasalahan yang berasal dari sumber daya manusia. Dan machine merupakan aspek permasalahan yang berasal dari
perangkat yang digunakan dalam proses penyebab suatu masalah. Pada sistem ini, permasalahan pada aspek materials adalah citra yang memiliki noise asli dan impulse
noise, permasalahan pada aspek method adalah kesalahan dalam penerapan metode filtering, permasalahan pada aspek machine adalah kesalahan dalam penggunaan alat
pada saat akuisisi citra, dan permasalahan pada aspek man adalah kesalahan pada saat
pengambilan dan capturing gambar.
3.1.2 Analisis persyaratan Analisis persyaratan merupakan proses melibatkan semua kegiatan yang dibutuhkan
untuk membuat dan memelihara sistem. Analisis persyaratan terbagi menjadi dua bagian penting, yaitu persyaratan fungsional dan persyaratan non-fungsional.
Universitas Sumatera Utara
3.1.2.1 Persyaratan fungsional
Persyaratan fungsional merupakan jenis persyaratan yang berisi proses – proses apa saja yang nantinya akan dilakukan oleh sistem, persyaratan fungsional juga berisi
informasi apa saja yang dihasilkan oleh sistem. Adapun persyaratan fungsional yang digunakan dalam sistem perbaikan citra yang berisi noise asli dan impulse noise pada
citra digital dengan metode Wiener Filter, Adaptive Median Filter dan gabungan Wiener Filter dengan Adaptive Median Filter adalah sebagai berikut:
1. Citra yang digunakan adalah citra true color dengan format bitmap .bmp
dengan ukuran dimensi sama dengan 256x256 atau 512x512 piksel. 2.
Sistem mengambil citra inputan berupa citra yang memiliki noise asli dan citra dengan impulse noise.
3. Sistem menggunakan konstanta bernilai 100 pada Wiener Filter dan window
maksimum yang bernilai 5 pada Adaptive Median Filter. 4.
Sistem melakukan perhitungan Mean Squared Error MSE, Peak Signal to Noise Ratio PSNR dan running time sebagai parameter pembanding kualitas citra.
5. Citra hasil proses filtering disimpan dengan format file asalnya yaitu .bmp.
3.1.2.2 Persyaratan non-fungsional
Persyaratan non-fungsional merupakan persyaratan yang berisi property prilaku yang dimiliki suatu sistem. Adapun persyaratn non-fungsional pada sistem yang harus
terpenuhi adalah sebagai berikut: 1.
Performa Performance Sistem yang dibangun harus dapat memperbaiki citra yang berisi noise asli dan
impulse noise, dan menunjukkan proses perubahan noise pada citra hasil. 2.
Informasi Information Sistem yang akan dibangun harus mudah dimengerti oleh pengguna agar informasi
yang dibutuhkan oleh user tersampaikan dengan baik. 3.
Hemat biaya Economy Sistem
yang dibangun
tidak membutuhkan
perangkat tambahan
untuk implementasinya sehingga tidak menambah biaya.
4. Dokumentasi
Sistem yang dibangun harus dapat menyimpan citra degan format .bmp, serta sistem juga harus mampu menyimpan citra hasil filtering.
Universitas Sumatera Utara
5. Manajemen kualitas
Sistem yang dibangun harus memiliki kualitas yang baik, dimana sistem dapat memperbaiki citra yang berisi noise asli dan impulse noise untuk menghasilkan citra
yang lebih baik dari citra aslinya dan dapat menghitung nilai MSE dan PSNR secara tepat serta dapat menghitung nilai running time.
6. Kontrol
Sistem yang akan dibangun harus dapat menampilkan kotak dialog error ketika user salah dalam melakukan penginputan.
3.1.3 Analisis proses
Sistem ini dibuat menggunakan teknik filtering yaitu Wiener Filter, Adaptive Median Filter dan gabungan Wiener Filter dengan Adaptive Median Filter. Dimana noise
yang digunakan merupakan noise asli yang bukan melalui proses bangkitan dari sistem, melainkan noise yang memang sudah terdapat dalam citra itu sendiri dan
ditambah citra dengan impulse noise. Sistem ini hanya memiliki 1 proses saja, yaitu hanya proses filtering. Dimana pada proses Wiener Filter dilakukan pada kawasan
frekuensi yang memerlukan transformasi Fourier untuk dapat mentransfer fungsi filter dari kawasan spasial ke kawasan frekuensi. Sedangkan pada proses Adaptive Median
Filter dilakukan pada kawasan spasial. Untuk proses kombinasi Wiener Filter dengan Adaptive Median Filter diambil dari hasil pemrosesan filter Wiener Filter yang
kemudian dilakukan lagi pemfilteran Adaptive Median Filter.
3.1.3.1 Use Case diagram
Sebuah use-case diagram adalah sebuah urutan aksi yang dilakukan oleh sistem dan menghasilkan hasil nilai kepada seorang pengguna. Use-case menggambarkan
sekumpulan interaksi antara pengguna dengan sistem. Use Case Diagram dari sistem yang akan dibangun dapat ditunjukkan pada gambar 3.2
Universitas Sumatera Utara
extends Filter Citra
Pilih citra Wiener Filter
Adaptive Median Filter
Kombinasi Wiener Filter dan Adaptive
Median Filter Simpan citra hasil
System
User
Hitung MSE, PSNR, dan running time
includes includes
in clud
es
in cl
ud es
includes
Gambar 3.2. Use Case Diagram
Diagram pada gambar 3.2 menjelaskan aksi yang dapat dilakukan oleh user. User membuka aplikasi Filtering, kemudian melakukan input citra awal yang berisikan
noise asli atau impulse noise, setelah citra berhasil diinput user dapat melakukan langsung proses filtering menggunakan metode Wiener Filter, Adaptive Median Filter
dan kombinasi Wiener Filter dengan Adaptive Median Filter. Setelah dilakukan filtering maka akan muncul citra hasil beserta parameternya MSE, PSNR, dan
running time. Kemudian, user dapat menyimpan citra hasil filtering. Berikut ini merupakan spesifikasi Use Case untuk Pilih Citra dapat dilihat pada Tabel 3.1.
Tabel 3.1. Spesifikasi Use Case Pilih Citra
Use Case Pilih Citra
Actors User
Preconditions User memulai mengakses menu Filtering
Postconditions Sistem akan menampilkan citra awal yang telah dipilih dari
direktori yang berformat .bmp Main Flow Of Event
User System Response
1. Mengeksekusi tombol
ambil citra 2.
Menampilkan pop-up window open untuk menampilkan lokasi
Universitas Sumatera Utara
penyimpanan gambar 3.
Pengguna memilih file citra yang berformat
.bmp 4.
Menampilkan file citra yang telah dipilih
Alternative Flow -
Berikut ini merupakan spesifikasi Use Case Filtering Citra dapat dilihat pada Tabel 3.2.
Tabel 3.2. Spesifikasi Use Case Filtering Citra
Use Case Pilih Metode Filtering
Actors User
Preconditions User mengakses menu Filtering kemudian menekan
tombol Filtering Citra Postconditions
Sistem menampilkan citra hasil filtering Main Flow Of Event
User System Response
1. Mengakses menu
filtering 2.
Menampilkan halaman
beberapa metode filtering
3. Memilih satu per satu
button filtering 4.
Menampilkankan citra hasil filtering dari metode Wiener Filter, Adaptive
Median Filter dan kombinasi Wiener Filter dengan Adaptive Median Filter
beserta parameternya yakni MSE, PSNR, dan running time.
Alternative Flow -
Tabel 3.3. Spesifikasi Use Case Wiener Filter
Use Case Wiener Filter
Actors User
Preconditions User mengakses menu filtering
Postconditions Sistem akan menampilkan citra hasil perbaikan dari Wiener
Filter Main Flow Of Event
User System Response
1. Memilih
menu filtering
2. Menampilkan halaman pilihan metode
filtering 3.
Pilih metode Wiener Filter
4. Menampilkan halaman kerja citra hasil
dengan Wiener Filter
Universitas Sumatera Utara
5. Lakukan filtering
6. Menampilkan citra hasil perbaikan
Wiener Filter 7.
- 8.
Menghitung dan menampilkan nilai MSE, PSNR, dan running time
Alternative Flow -
Berikut ini merupakan spesifikasi Use Case Adaptive Median Filter dapat dilihat pada Tabel 3.4.
Tabel 3.4. Spesifikasi Use Case Adaptive Median Filter
Use Case Adaptive Median Filter
Actors User
Preconditions User mengakses menu filtering
Postconditions Sistem akan menampilkan citra hasil perbaikan dari
Adaptive Median Filter Main Flow Of Event
User System Response
1. Mengakses menu
filtering 2.
Menampilkan halaman pilihan metode filtering
3. Memilih
metode Adaptive
Median Filter
4. Menampilkankan halaman kerja proses
Adaptive Median Filter
5. Lakukan filtering
6. Menampilkan citra hasil perbaikan
Adaptive Median Filter 7.
- 8.
Menghitung dan menampilkan nilai MSE, PSNR, dan running time
Alternative Flow -
Berikut ini merupakan spesifikasi Use Case kombinasi Wiener Filter dan Adaptive Median Filter dapat dilihat pada Tabel 3.5.
Universitas Sumatera Utara
Tabel 3.5. Spesifikasi Use Case kombinasi Wiener Filter dan Adaptive Median Filter
Use Case Kombinasi Wiener Filter dan Adaptive Median Filter
Actors User
Preconditions User mengakses menu filtering
Postconditions Sistem akan menampilkan citra hasil perbaikan dari
kombinasi Wiener Filter dan Adaptive Median Filter Main Flow Of Event
User System Response
1. Mengakses menu
filtering 2.
Menampilkan halaman pilihan metode filtering
3. Memilih
metode kombinasi
Wiener Filter dan Adaptive
Median Filter 4.
Menampilkankan halaman kerja proses kombinasi Wiener Filter dan Adaptive
Median Filter
5. Lakukan filtering
6. Menampilkan citra hasil perbaikan
Adaptive Median Filter 7.
- 8.
Menghitung dan menampilkan nilai MSE, PSNR, dan running time
Alternative Flow -
Berikut ini merupakan spesifikasi Use Case hitung MSE, PSNR dan running time dapat dilihat pada Tabel 3.6.
Tabel 3.6. Spesifikasi Use Case hitung MSE, PSNR dan running time
Use Case Hitung MSE, PSNR dan running time
Actors User
Preconditions User memilih salah satu button filtering
Postconditions Sistem menampilkan nilai MSE, PSNR dan running time
Main Flow Of Event User
System Response 1.
Menekan tombol
filtering 2.
Memunculkan citra hasil perbaikan yang telah difiltering
3. -
4. Memunculkan nilai MSE, PSNR dan
running time Alternative Flow
-
Universitas Sumatera Utara
Berikut ini merupakan spesifikasi Use Case Simpan Citra dapat dilihat pada Tabel 3.7.
Tabel 3.7. Spesifikasi Use Case Simpan Citra Hasil
Use Case
Simpan Citra Hasil
Actors User
Preconditions User mengeksekusi button simpan citra
Postconditions Sistem akan menyimpan citra hasil yang telah difiltering ke
direktori penyimpanan citra Main Flow Of Event
User System Response
1. Mengeksekusi button
simpan citra 2.
Menampilkan pop-up window save untuk menampilkan lokasi
penyimpanan gambar Alternative Flow
-
3.1.3.2. Activity diagram Activity diagram menggambarkan proses kerja dalam sebuah sistem yang sedang
berjalan. Berikut ini akan dijelaskan Activity Diagram dari sistem yang dibuat yaitu Activity Diagram Wiener Filter, Adaptive Median Filter dan kombinasi Wiener Filter
dengan Adaptive Median Filter.
Universitas Sumatera Utara
Gambar 3.3 berikut ini merupakan activity diagram filtering dari sistem yang akan dibangun.
Gambar 3.3. Activity Diagram Filtering
Universitas Sumatera Utara
3.1.3.2 Sequence diagram
Sequence diagram diagram urutan adalah suatu diagram yang memperlihatkan interaksi-interaksi antar objek di dalam sistem yang disusun pada sebuah urutan atau
rangkaian waktu. Sequence diagram diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan keluaran yang
dihasilkan Whitten, 2004. Untuk sistem ini, sequence diagram filtering terbagi menjadi tiga bagian yaitu Wiener Filter, Adaptive Median Filter, dan kombinasi
Wiener Filter dengan Adaptive Median Filter. Berikut ini akan di jelaskan Sequence Diagram dari sisem yang dibuat yaitu Sequence Diagram Wiener Filter.
Untuk sequence diagram Wiener Filter dapat dilihat pada gambar 3.4.
Gambar 3.4. Sequence Diagram Wiener Filter
Pada tahap ini proses yang berlangsung adalah proses Wiener Filter. Dimana metode tersebut akan melakukan filtering langsung terhadap citra noise asli dan impulse noise.
Pada tahap pertama, proses yang akan dilakukan pertama dengan menggunakan metode Wiener Filter adalah melakukan open file image, disini citra yang diambil
merupakan citra yang berisi noise asli dan impulse noise. Kemudian setelah muncul
Universitas Sumatera Utara
citra dengan noise lakukan filtering langsung untuk memperbaiki citra dan memunculkan nilai MSE, PSNR, running time citra setelah difiltering.
Berikut ini merupakan Sequence Diagram Adaptive Median Filter dapat dilihat pada gambar 3.5.
Gambar 3.5. Sequence Diagram Adaptive Median Filter
Tahap kedua, proses yang akan dilakukan untuk mereduksi noise asli dengan menggunakan metode Adaptive Median Filter adalah melakukan open file image,
disini citra yang diambil merupakan citra yang berisi noise asli dan impulse noise. Kemudian setelah muncul citra dengan noise, lakukan filtering langsung untuk
memperbaiki citra dan memunculkan nilai MSE, PSNR, running time citra setelah difiltering.
Universitas Sumatera Utara
Berikut ini merupakan Sequence Diagram kombinasi Wiener Filter dan Adaptive Median Filter pada gambar 3.6.
Gambar 3.6. Sequence Diagram Kombinasi Wiener Filter dan Adaptive Median Filter
Pada tahap ini, proses yang berlangsung adalah kombinasi Wiener Filter dengan Adaptive Median Filter untuk memperbaiki citra yang memilki noise asli dan impulse
noise.
3.1.3.4. Flowchart sistem Flowchart merupakan suatu bagan atau gambar yang menunjukan urutan serta
hubungan proses dengan intruksinya. Gambar pada Flowchart dinyatakan dengan
menggunakan simbol–simbol yang menandakan atau menggambarkan suatu proses. Sedangkan
hubungan yang
terjadi tiap–tiap
proses bisa
divisualkan dengan menggunakan garis penghubung.
Gambar 3.7 berikut ini merupakan Flowchart dari sistem yang akan dibangun.
Universitas Sumatera Utara
Gambar 3.7. Flowchart keseluruhan sistem
Sub-flowchart yang menggambarkan proses pada Wiener Filter, Adaptive Median Filter, dan Kombinasi Wiener Filter dan Adaptive Median Filter dapat dilihat pada
Gambar 3.8, Gambar 3.9, dan Gambar 3.10.
Universitas Sumatera Utara
Gambar 3.8. Flowchart Wiener Filter
Universitas Sumatera Utara
Gambar 3.9. Flowchart Adaptive Median Filter
Universitas Sumatera Utara
Gambar 3.10. Flowchart Kombinasi Wiener Filter dan Adaptive Median Filter
3.1.3.5. Pseudocode Pseudocode merupakan sebuah kode yang digunakan untuk menulis sebuah algoritma
dengan cara yang bebas yang tidak terikat dengan bahasa pemrograman tertentu. Pseudocode berisikan langkah–langkah untuk menyelesaikan suatu permasalahan,
hanya saja bentuknya sedikit berbeda dari algoritma. Tujuan dari penggunaan pseudocode adalah untuk mempermudah manusia dalam pemahaman dibandingkan
Universitas Sumatera Utara
menggunakan bahasa pemrograman yang umum digunakan, terlebih aspeknya yang ringkas serta tidak bergantung pada suatu sistem tertentu merupakan prinsip utama
dalam suatu algoritma. Berikut adalah pseudocode dari Wiener Filter dan Adaptive
Median Filter.
3.1.3.5.1. Pseudocode Wiener Filter Wiener Filter dibuat dalam sebuah kelas FFT Fast Fourier Transform. Karena
kinerja dari filtering ini berada dalam kawasan frekuensi sehingga tak lepas dari transformasi Fourier.
3.1.3.4.1. Pseudocode Rayleigh Noise
public
class FFTN {
public struct Complex{ public double real
public double imag }
Bitmap gbrhasil Complex [][] R,G,Bgambar
int nx,ny int [,] R,G,B
public
FFTNImage sourceImage
{ gbrhasil
new BitmapsourceImage.Width,sourceImage.Height
nx sourceImage.Width
ny sourceImage.Height
R,G,Bgambar
new Complex[sourceImage.Width][]
shiftR,G,B
new Complex[sourceImage.Width][] for I
0 to isourceImage.Width { R,G,Bgambar[i]
new Complex[sourceImage.Height]
shiftR,G,B[i]
new Complex[sourceImage.Height] for j
0 to jsourceImage.Height;j++{ R,G,Bgambar[i][j].real
BitmapsourceImage.
GetPixel
i,j.R,G,B R,G,Bgambar[i][j].imag
0 }
} }
void ForwardFFTComplex [][] gambar{ double [] real
new double[gambar.Length] double [] imag
new double[gambar.Length] for i
0 to igambar[0].Length {
for j
0 to jgambar.Length { real[j]
gambar[j][i].real imag[j]
gambar[j][i].imag }
FFT1D
real,imag transform the rows
for j
0 to jnx { gambar[j][i].real
real[j] gambar[j][i].imag
imag[j]
}
Universitas Sumatera Utara
Gambar 3.7. Pseudocode Uniform Noise
3.1.3.4.3. Pseudocode Contraharmonic Mean Filter
Metode Contraharmonic Mean Filter adalah menjumlahkan semua nilai piksel berpangkat Q+1 dibagi dengan jumlah semua nilai piksel berpangkat Q. Nilai yang
menjadi nilai piksel baru pada citra hasil filtering. Pseudocode Contraharmonic Mean Filter dapat dilihat pada Gambar 3.8.
Gambar 3.8. Pseudocode Contraharmonic Mean Filter
real
new double[gambar[0].Length]
imag
new double[gambar[0].Length] for i
0 to igambar.Length {
for j
0 to jgambar[0].Length { real[j]
gambar[i][j].real imag[j]
gambar[i][j].imag }
FFT1Dreal,imag transform the columns for j
0 to jny { gambar[i][j].real
real[j] gambar[i][j].imag
imag[j] }
} }
void FFT1Ddouble[] real, double[] imag { pemrosesan FFT int length
real.Length, n
double Theta
3.14length Nilai phi
double real2 Math.CosTheta Nilai cos phi
double imag2 Math.SinTheta Nilai sin phi
int k
length
double temp while k 1{
n k
k = 1 temp
real2 real2
real2real2 - imag2imag2 imag2
imag2temp + tempimag2
double real1
1
double imag1
0
for l
0 to lk {
for a
l to alength {
int b
a + k
double real3
real[a] - real[b]
double imag3
imag[a] - imag[b] real[a] += real[b]
imag[a] += imag[b] real[b]
real3 real1-imag3 imag1 imag[b]
imag3 real1+real3 imag1 }
temp real1
real1 real1 real2 - imag1 imag2
imag1 imag1 real2 + temp imag2
} } void Hitung{ proses Wiener Filter
for i
0 to inx {
for j
0 to jny { R,G,Bgambar[i][j].real
R,B,Ggambar[i][j].real R,G,B[i,j] R,G,B[i,j] + 100
R,G,Bgambar[i][j].imag R,G,Bgambar[i][j].imag
R,G,B[i,j] R,G,B[i,j] + 100 }
} }
Universitas Sumatera Utara
Pada pseudocode terlihat bahwa dalam kelas FFT terdapat fungsi-fungsi yang digunakan untuk proses pemfilteran. Pemrosesan Wiener Filter pada citra terdapat
pada fungsi Hitung, sedangkan fungsi selainnya merupakan fungsi untuk membantu pemrosesan FFT itu sendiri.
3.1.3.5.2. Pseudocode Adaptive Median Filter
Gambar 3.10. Pseudocode Mean Square Error MSE
3.1.3.4.6. Pseudocode Peak Signal to Noise Ratio PSNR
PSNR merupakan parameter kinerja metode filter yang berbanding terbalik dengan MSE. PSNR membandingkan maksimum warna citra dengan akar MSE. Pseudocode
PSNR dapat dilihat pada Gambar 3.11.
Gambar 3.11. Pseudocode Peak Signal to Noise Ratio PSNR
3.1. Perancangan Sistem