• Tidak ada hasil yang ditemukan

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

Dokumen terkait