BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Sistem
Analisis sistem pada dasarnya merupakan tahapan yang dilakukan untuk menghasilkan pemahaman yang menyeluruh terhadap kebutuhan sistem sehingga
diperoleh tugas-tugas yang akan dikerjakan sistem. Hal ini akan sangat membantu di dalam merancang pemodelan sistem yang akan diimplementasikan.
3.1.1. Analisis Masalah
Masalah utama yang di dalam penelitian ini adalah perbaikan kualitas citra digital yang terkorupsi oleh periodic noise. Dalam sistem ini, citra digital yang akan
diperbaiki adalah citra grayscale. Proses filter dilakukan dalam domain frekuensi
dengan menghasilkan bilangan kompleks hasil dari transformasi fourier gu,v.
Citra digital tersebut akan diberikan filter menggunakan Optimum Notch Filter dan Band Reject Filter. Citra digital yang sudah diubah ke dalam domain frekuensi
menjadi lebih mudah untuk melakukan proses filter karena proses filter dalam domain frekuensi dilakukan dengan mengalikan tiap nilai intensitas pixel citra digital hasil
transformasi fourier gu,v dengan nilai intensitas mask filterhu,v. Hasil perkalian antara gu,v dengan hu,v kemudian dilakukan invers untuk mendapatkan citra
digital yang sudah difilter sehingga diperoleh citra digital yang lebih baik daripada citra sebelum difilter.
Universitas Sumatera Utara
3.1.2. Analisis Persyaratan
Analisis persyaratan sebuah sistem dibagi ke dalam dua kategori besar yaitu: analisis persyaratan fungsional dan analisis persyaratan nonfungsional.
3.1.2.1. Persyaratan Fungsional
Persyaratan fungsional adalah segala sesuatu yang harus dimiliki oleh sistem. Dalam sistem perbaikan citra digital dengan Optimum Notch Filter dan Band Reject Filter ini
memiliki persyaratan fungsional yang harus dipenuhi, antara lain:
1. Citra digital yang akan diperbaiki atau yang akan diberikan filter adalah citra
digital berformat JPEG dan ukuran citra harus simetris 2
n
. 2.
Citra digital yang di-input-kan akan diubah kedalam citra grayscale untuk mempermudah proses transformasi,
3. Citra digital yang di-input-kan diubah ke dalam domain frekuensi sebelum di-
filter dengan menggunakan Transformasi Fourier. 4.
Metode Filter menggunakan Optimum Notch Filter dan Band Reject Filter 5.
Citra digital hasil perbaikan disimpan dalam format JPEG.
3.1.2.2. Persyaratan Non-Fungsional
Persyaratan non-fungsional adalah persyaratan apa yang harus dilakukan sistem. Beberapa persyaratan non-fungsional yang harus dipenuhi oleh sistem yang dirancang
adalah sebagai berikut. 1.
Performa Sistem yang akan dibangun harus dapat menunjukkan hasil dari proses filter
citra digital. 2.
Mudah dipelajari dan digunakan Sistem yang akan dibangun harus sederhana dan mudah dipelajari oleh
pengguna user. 3.
Dokumentasi
Universitas Sumatera Utara
Sistem yang akan dibangun dapat menyimpan citra digital hasil dari proses filter.
4. Kontrol
Sistem yang akan dibangun harus memiliki pesan error jika pengguna tidak lengkap memasukkan nilai inputan atau inputan yang dimasukkan salah.
5. Hemat biaya
Sistem yang akan dibangun tidak memerlukan perangkat tambahan dalam proses eksekusinya.
3.1.2.3. Pemodelan Persyaratan Sistem dengan Use Case
Pada penelitian ini, penulis menggunakan UML untuk memodelkan sistem. Model UML yang digunakan antara lainUse Case Diagram, Activity Diagram, Sequence
Diagram dan Class Diagram [8]. Pemodelan sistem dilakukan untuk mendapatkan gambaran yang lebih jelas mengenai apa saja objek yang nantinya akan berinteraksi
dengan sistem dan hal-hal apa saja yang dilakukan oleh sebuah sistem sehingga sistem yang akan dibangun dapat memenuhi persyaratan fungsionalitasnya.
Perancangan fungsionalitas sistem dimodelkan dengan diagram use case. Aktor yang akan berinteraksi dengan sistem adalah pengguna user. Sesuai dengan
analisis kebutuhan sistem, beberapa hal yang harus dilakukan oleh sistem adalah: 1.
Mengontrol dimensi masukan citra digital agar sesuai dengan 2
n
sebelum diproses dengan n=7.8. dan 9
2. Menghasilkan periodic noise pada halaman pengujian filter dengan tujuan
sistem memiliki data citra awal sebelum terkorupsi noise sehingga dapat dibandingkan dengan parameter pembanding MSE, PSNR dan runtime.
3. Menghasilkan bilangan kompleks dari citra digital masukan dengan
menggunakan Transformasi Fourier. 4.
Menghasilkan mask filter untuk masing-masing Optimum Notch Filter dan Band Reject Filter.
5. Melakukan proses konvolusi pada citra digital dengan mengalikan bilangan
kompleks masukan citra digital dengan mask filter. Hasil perkalian kedua
Universitas Sumatera Utara
matriks citra digital tersebut dilakukan invers Fourier untuk mendapatkan citra digital yang sudah diperbaiki.
Berdasarkan informasi kebutuhan sistem dan aktor yang berperan, berikutini diagram use case yang dirancang sebagai pemodelan persyaratan sistem.
Perangkat lunak perbaikan citra digital dengan menggunakan Optimum Notch Filter dan Band Reject Filter
pengguna Kontrol Proses
Filter Citra Digital Transformasi
Fourier Periodic Noise
Generate
Input Citra Digital «extends»
«uses» «uses»
Generate Mask Filter
«uses»
Konvolusi «uses»
Invers Fourier «uses»
Simpan citra digital
«uses»
MSE,PSNR,Runtime «extends»
Gambar 3.1 Use Case Diagram Sistem yang akan dikembangkan
Pada gambar 3.1 tampak bahwa seorang pengguna hanya bekerja dengan mengakses use case kontrol proses Filter citra digital. Pengguna tidak mengetahui proses apa saja
yang dilakukan oleh sistem pada setiap tahapannya. Oleh karena itu proses apa yang akan dieksekusi pada setiap tahapan merupakan tanggung jawab dari sistem.
Proses Transformasi Fourier Invers Fourier, dan konvolusi dilakukan secara otomatis oleh sistem hanya ketika proses ini diperlukan atau ada event yang
Universitas Sumatera Utara
membangkitkan proses ini. Proses periodic noise generatemerupakan proses tambahan sistem untuk kebutuhan penelitian dalam membandingkan kualitas citra
hasil filter dengan citra asli sebelum diberikan noise oleh sistem. Sedangkan proses MSE, PSNR, dan runtime merupakan proses untuk menghitung nilai objektif kualitas
citra digital. Proses input citra digital dan proses simpan citra digital dilakukan oleh pengguna.
Berikut ini merupakan dokumentasi naratif untuk use case kontrol proses filter citra digital.
Tabel 3.1 Dokumentasi Naratif Use Case Kontrol Proses Filter Citra Digital
Nama use case Kontrol Proses filter citra digital
Aktor Pengguna
Deskripsi Use case yang mendeskripsikan proses Filter citra digital
menggunakan Optimum Notch Filter dan Band Reject Filter
Pre-condition Aplikasi dalam keadaan stand-by siap untuk menerima masukan
citra digital
Typcical course of event
Aksi actor Respon sistem
Langkah 1: Pengguna memilih Sub menu Buka
Berkas dari menu Berkas Langkah 2: Sistem menerima
masukan citra digital dan memeriksa parameter yang
dibutuhkan.
Langkah 3: Sistem melakukan rangkaian proses yang dilakukan
sesuai dengan parameter yang diperoleh
Langkah 5: Pengguna melanjutkan proses
selanjutnya Langkah 4: Sistem memberitahu
kepada pengguna bahwa proses telah berhasil dilakukan.
Alternate course Aksi actor
Respon sistem -
- Post condition
Citra digital telah diproses sesuai dengan tahapan dalam proses Filter citra digital
Universitas Sumatera Utara
Activity diagram untuk use case kontrol prosesfilter citra digital terlihat sebagai berikut.
sistem pengguna
mengambil informasi Citra Digital
memanggil modul yang diperlukan mengecek proses yang harus dilakukan
menampilkan citra digital hasil filter mengkonfirmasi keberhasilan proses
menginput citra digital dari sub menu buka berkas menginputkan citra digital ukuran simetris
Validasi kesesuaian proses
ya Tidak
Gambar 3.2 Activity Diagram Kontrol Proses Filter Citra Digital
Pada dokumen naratif use case serta activity diagram terlihat bahwa kontrol proses dilakukan dengan menjaga setiap langkah tahapan dalam Filter citra digital supaya
berlangsung sebagaimana mestinya. Tabel berikut ini merupakan dokumentasi naratif untuk use case input citra
digital.
Universitas Sumatera Utara
Tabel 3.2 Dokumentasi Naratif Use CaseInput Citra Digital
Nama use case
Input Citra Digital Aktor
Pengguna Deskripsi
Use Case mendeskripsikan fungsi dari input citra digital yang mengawasi citra masukan sebelum diproses oleh sistem
Pre-Condition Citra digital telah di ubah ukurannya dan siap untuk di
masukkan ke dalam sistem
Typical course of
event Aksi aktor
Respon Sistem Langkah 1: Pengguna meng-
input citra digital melalui sub menu Buka Berkas dari menu
Berkas Langkah 2: Sistem menerima
citra digital dan memeriksa ukuran citra digital, apabila
memenuhi prasyarat, sistem akan melanjutkan proses
berikutnya
Alternate course
Aksi aktor Respon Sistem
- -
Post condition Citra digital siap untuk di-filter. Pada use caseinput citra digital, citra yang akan dimasukkan adalah citra yang
memiliki ukuran dimensi citra digital m x m dimana nilai m merupakan 2
n
. Apabila terdapat ukuran dimensi citra digital yang tidak sesuai dengan syarat maka sistem
memberitahu pengguna agar mengubah ukuran citra digitalnya sebelum dimasukkan ke dalam sistem.
Setelah melewati proses pemeriksaan ukuran dimensi citra digital, sistem kemudian mengkonversi warna citra digital dari RGB menjadi grayscale. Ukuran
dimensi citra digital yang simestris sangat penting untuk proses transformasi karena di dalam proses transformasi dilakukan proses shifting yang menuntut kesimestrisan
dimensi citra digital.
Activitiy diagram untuk use caseinput citra digital sebagai berikut.
Universitas Sumatera Utara
sistem pengguna
menerima masukan citra digital
memeriksa kesimestrisan ukuran citra digital
memasukkan kembali citra ukuran simestris
tidak
mengkonversi RGB ke Grayscale
ya
Gambar 3.3 Activity Diagram Input Citra Digital
Tabel berikut ini merupakan dokumentasi naratif untuk use case periodic noise generate.
Tabel 3.3 Dokumen Naratif untuk use case periodic noise generate
Nama use case
Periodic noise generate Aktor
- Deskripsi
Use Case mendeskripsikan fungsi penambahan periodic noise pada citra grayscale
Pre- Condition
Citra yang telah dimasukkan dan diubah ke dalam grayscale siap untuk ditambahkan periodic noise
Typical course of
event Aksi aktor
Respon Sistem Langkah 1: Sistem menentukan periode dari
noise Langkah 2: Sistem menentukan fade dari
noise yang akan ditambahkan ke dalam citra
Alternate cource
Aksi aktor Respon Sistem
- -
Post condition
Citra grayscale dengan periodic noise siap untuk dianalisis
Universitas Sumatera Utara
Pada use caseperiodic noise generate merupakan proses perluasan yang ditujukan untuk analisis fungsionalitas kedua filter Optimum Notch Filter dan Band Reject
Filter. Setelah citra digital konversi ke dalam grayscale, citra tersebut ditambahkan periodic noise dengan menggunakan kelas Sinu_noise yang merupakan sebuah kelas
untuk membangkitkan periodic noise. Parameter yang dibutuhkan kelas ini adalah periode dan fade untuk mengenerate noise. Berikut ini activity diagram untuk use case
periodic noise generate.
sistem pengguna
menerima hasil konversi citra grayscale
memanggil modul pembuatan noise
mengirimkan nilai period dan fade
menerima citra digital dengan noise tertambah
Gambar 3.4 Activity Diagram periodic noise generate
Tabel berikut ini merupakan dokumentasi naratif untuk use case Transformasi Fourier.
Universitas Sumatera Utara
Tabel 3.4 Dokumentasi Naratif untuk use case Transformasi Fourier
Nama use case Transformasi Fourier
Aktor -
Deskripsi Use Case yang mendeskripsikan fungsi dari
Tranformasi Fourier sebagai bagian penting didalam proses filter domain frekuensi.
Pre-Condition Citra grayscale dengan periodic noise siap untuk
ditransformasi.
Typical course of event Aksi aktor
Respon Sistem Langkah 1: Sistem menerima citra
grayscale yang sudah memiliki periodic noise
Langkah 2: Sistem memanggil modul untuk melakukan proses
Transformasi Fourier dengan metode FFT
Langkah 3: Modul mengembalikan hasil transformasi Fourier kepada
sistem.
Alternate cource Aksi aktor
Respon Sistem -
- Post condition
Citra transformasi fourier dengan bilangan kompleks yang siap dikonvolusi
Use case Transformasi Fourier merupakan proses untuk mengubah nilai-nilai intensitas dari tiap pixel citra digital ke dalam transformasi Fourier yang
menghasilkan matriks dengan ukuran lebar dan tinggi sama dengan citra digital masukan. Masing-masing nilai intensitas pixel dalam transformasi Fourier merupakan
bilangan kompleks yang terdiri atas bilangan real dan bilangan imajiner. Proses transformasi menggunakan modul FFT2D dengan langkah-langkah
transformasi yang telah dijelaskan di dalam Bab dua. Proses FFT2D menghasilkan transformasi dengan cara melakukan transformasi FFT1D terhadap tiap baris pixel
citra terlebih dahulu kemudian dilanjutkan dengan tiap kolom pixel dalam citra digital. Berikut ini merupakan activity diagram dari use case Transformasi Fourier.
Universitas Sumatera Utara
sistem pengguna
menerima citra grayscale dengan noise memanggil modul FFT2D
Modul FFT2D melakukan FFT1D untuk tiap baris pixel Modul FFT2D melakukan FFT1D untuk tiap kolom pixel
Modul FFT2D mengembalikan matriks berisi bilangan kompleks
Melakukan Shifting untuk menampilkan spektrum fourier
Gambar 3.5 Activity Diagram use case Transformasi Fourier
Tabel berikut adalah Dokumentasi Naratif dari use case Generate Mask Filter.
Tabel 3.5 Dokumentasi Naratif untuk use caseGenerateMaskFilter
Nama use case
Generate Mask Filter Aktor
- Deskripsi
Use case yang mendeskripsikan proses pembuatan maskfilterOptimum Notch Filter dan Band Reject Filter
Pre-condition MaskFilter dan citra digital hasil transformasi Fourier
Typcical course of
event Aksi aktor
Respon sistem Langkah 1: Sistem membuat
matriks untuk menyimpan maskfilter
Langkah 2: Sistem menghitung nilai mask filter sesuai dengan
formula Optimum Notch Filter dan Band Reject Filter
Alternate course
Aksi aktor Respon sistem
- -
Post condition
MaskFilter siap untuk diimplementasikan.
Universitas Sumatera Utara
Proses pembuatan maskfilter menggunakan formula dari Optimum Notch dan Band Reject Filter yang telah dibahas sebelumnya pada bab dua. Berikut ini activity
diagram dari use case Generate Mask Filter.
sistem pengguna
ya ya
Ketajaman Filter :Ideal ?
Ketajaman Filter: Butterworth ?
Ketajaman Filter: Gaussian ? Generate Ideal Mask Filter
Generate Butterworth Mask Filter
Generate Gaussian Mask Filter ya
tidak
tidak
tidak memanggil modul ONF
Gambar 3.6 Activity Diagram use case Mask Filter Generate Optimum Notch Filter
sistem pengguna
ya ya
Ketajaman Filter :Ideal ?
Ketajaman Filter: Butterworth ?
Ketajaman Filter: Gaussian ? Generate Ideal Mask Filter
Generate Butterworth Mask Filter
Generate Gaussian Mask Filter
ya tidak
tidak
tidak
memanggil modul BRF
Gambar 3.7 Activity Diagram use case Mask Filter Generate Band Reject Filter
Universitas Sumatera Utara
Tabel berikut merupakan dokumentasi naratif dari use case konvolusi.
Tabel 3.6 Dokumentasi Naratif untuk use case Konvolusi
Nama use case
Konvolusi Aktor
- Deskripsi
Use case yang mendeskripsikan proses konvolusi citra digital di dalam domain frekuensi.
Pre-condition MaskFilter dan citra digital hasil transformasi Fourier
Typcical course of
event Aksi aktor
Respon sistem Langkah 1: Sistem menerima
maskfilter dari modul yang menghasilkan maskfilter
Langkah 2: Sistem menerima citra digital hasil transformasi Fourier
yang diperoleh dari modul Transformasi Fourier
Langkah 3: Sistem mengalikan nilai tiap-tiap elemen maskfilter
dengan bilangan kompleks hasil transformasi fourier
Alternate course
Aksi aktor Respon sistem
- -
Post condition
Citra digital hasil konvolusi maskfilter dengan bilangan kompleks transformasi fourier.
Activity diagram untuk use case konvolusi terlihat sebagai berikut.
sistem pengguna
melakukan shifting pada spektrum fourier
mengalikan nilai elemen mask filter dengan bilangan kompleks
memeriksa semua elemen sudah dikalikan?
ya tidak
Gambar 3.8Activity Diagram use case Konvolusi
Universitas Sumatera Utara
Tabel berikut ini merupakan dokumentasi naratif dari use case Invers Fourier
Tabel 3.7 Dokumen Naratif untuk use case InversFourier
Nama use case Invers Fourier
Aktor -
Deskripsi Use Case yang mendeskripsikan fungsi invers Fourier
untuk mengembalikan citra spektrum fourier ke bentuk citra aslinya.
Pre-Condition Matriks bilangan kompleks hasil konvolusi
Typical course of event Aksi aktor
Respon Sistem Langkah 1: Sistem memanggil
modul untuk melakukan invers Fourier
Langkah 2: Modul melakukan invers dengan Invers FFT2D
Alternate cource Aksi aktor
Respon Sistem -
- Post condition
Citra digital hasil konvolusi yang telah dilakukan invers Fourier.
Activity diagram untuk use case invers Fourier terlihat sebagai berikut.
sistem pengguna
memanggil modul Invers FFT 2D
Modul mengembalikan citra transformasi ke bentuk asalnya
menampilkan citra hasil invers FFT
Gambar 3.9Activity Diagram untuk use case Invers Fourier
Tabel berikut ini merupakan dokumentasi naratif dari use case MSE, PSNR, Runtime.
Universitas Sumatera Utara
Tabel 3.8 Dokumen naratif use case MSE, PSNR, Runtime.
Nama use case
MSE,PSNR,Runtime Aktor
- Deskripsi
Use case yang mendeskripsikan prose perhitungan parameter pembanding kualitas citra secara objektif
Pre-condition citra digital grayscale dan citra digital grayscale bernoise
Typcical course of
event Aksi aktor
Respon sistem Langkah 1: Sistem mengambil
data matriks dari citra grayscale yang tidak terkena noise.
Langkah 2: Sistem memanggil modul untuk menghitung MSE
dengan parameter data matriks citra grayscale
Langkah 3: Sistem memanggil modul PSNR dan runtime
Alternate course
Aksi aktor Respon sistem
- -
Post condition
Nilai Objektif setiap filter telah dihitung dan siap dibandingkan.
Activity diagram untuk use case MSE, PSNR, dan runtime terlihat pada gambar berikut.
sistem pengguna
memeriksa data citra awal dan data citra noise memanggil modul MSE
memanggil modul PSNR memanggil rekaman waktu terakhir
menampilkan hasil perhitungan tahap di atas
Gambar 3.10 Activity Diagram use case MSE, PSNR, dan Runtime
Universitas Sumatera Utara
Tabel berikut merupakan dokumentasi naratif dari use case Simpan Citra digital.
Tabel 3.9 Dokumentasi naratif use case Simpan Citra
Nama use case
Simpan Citra Digital Aktor
Pengguna Deskripsi
Use Case mendeskripsikan fungsi dari simpan citra digital yang telah di-filter.
Pre-Condition Citra digital yang sudah di-filter.
Typical course of
event Aksi aktor
Respon Sistem Langkah 1: Pengguna menekan
tombol Simpan pada gambar tertentu.
Langkah 2: Sistem melakukan aksi untuk mengambil data
citra digital sesuai dengan posisi tombol dan meminta
lokasi direktori untuk menyimpan citra digital.
Alternate course
Aksi aktor Respon Sistem
- -
Post condition Proses filter selesai, citra hasil filter sudah disimpan. Activity diagram untuk use case simpan citra digital terlihat pada gambar
berikut ini.
sistem pengguna
mengambil data citra digital untuk disimpan
meminta lokasi penyimpan kepada user pengguna menekan tombol Save?
menyimpan citra pada lokasi terpilih
true false
Gambar 3.11 Activity Diagram untuk use case Simpan citra digital
Universitas Sumatera Utara
3.1.3. Analisis Proses Sistem