ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Sistem
3.1.2. Analisis Persyaratan
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 2n 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
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.
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
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.
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 2n. 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.
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
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.
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.
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
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
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
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.
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
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