Analisis Masalah Analisis Persyaratan

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