You are on page 1of 10

BAB 3

ANALISIS DAN PERANCANGAN PROGRAM



Pada bab 3 ini akan dijelaskan proses perancangan program aplikasi
pengurangan noise pada citra digital. Dimulai dari analisa kebutuhan sistem yang akan
dirancang dilanjutkan dengan skema perancangan program yang akan dibuat.

3.1 Analisa Kebutuhan Sistem
Kebutuhan manusia akan citra digital semakin besar baik dalam bidang fotografi,
keamanan, geografi, dan lainnya. Namun tampaknya tidak semua citra digital dapat
dipakai langsung oleh pengguna karena adanya citra digital yang kurang baik
kualitasnya dan perlu diolah terlebih dahulu sehingga siap untuk digunakan. Masalah
yang umum terjadi adalah karena adanya noise yang bisa mengakibatkan gambar buram,
muncul bintik-bintik, dan hilangnya informasi. Banyak faktor yang bisa mengakibatkan
noise terjadi pada citra digital diantaranya pada saat perekaman citra, transmisi citra,
usia cetakan gambar yang sudah cukup tua, dan lain-lain.
Melihat situasi yang ada, maka sangat dibutuhkan proses restorasi untuk
mengembalikan informasi yang tertutup noise, dan proses enhancement untuk
memperbaiki citra digital seperti mereduksi noise, menghaluskan citra, mempertajam
kualitas citra, dan lainnya. Umumnya orang-orang masih melakukan hal ini dengan cara
manual yaitu menggunakan software aplikasi komputer dalam pengerjaannya.
Simulasi Markov Chain Monte Carlo dengan algoritma Metropolis-Hastings
dapat digunakan dalam restorasi citra untuk mengurangi noise dan mengembalikan
informasi yang hilang.
27

Input Gambar
Terdegradasi
Mulai
Input J umlah
Iterasi
P ilih Distribusi
Ising
Geman-McClure
Masukkan
HyperP arameter
Randomize
Koordinat
P iksel
Hitung E nergi
Awal
Randomize
nilai piksel
pengganti
Hitung E nergi
piksel random
Hitung S elisih
E nergi
Hitung
P robabilitas
P iksel Awal
diganti
dengan piksel
pengganti
P iksel awal
tidak diganti
i=input_ iterasi?
i=i+1
i=0
P <1 P >1
Tidak
Tampilan
Hasil R estorasi
Y a
Randomize
Koordinat
P iksel
Hitung E nergi
Awal
Randomize
nilai piksel
pengganti
Hitung E nergi
piksel random
Hitung S elisih
Energi
Hitung
P robabilitas
P iksel Awal
diganti
dengan piksel
pengganti
i=input_ iterasi?
i=i+1
i=0
P <1
Tidak
Y a
P iksel awal
tidak diganti
P >1
selesai
Berikut ini adalah gambaran sistem restorasi citra dengan simulasi Markov
Cahin Monte Carlo dengan algoritma Metropolis-Hastings secara garis besar yang di
dalamnya terkandung proses-proses yang akan dilakukan oleh sistem.


















Gambar 3.1 Flowchart Sistem Restorasi Citra dengan Simulasi Markov Chain
Monte Carlo
28

3.1.1 Markov Chain Monte Carlo algoritma Metropolis-Hastings


Untuk dapat melakukan reduksi noise dengan algoritma Metropolis-Hastings,
Langkah-langkahnya adalah sebagai berikut:
1) Membuka file citra digital
Citra digital yang dibuka merupakan citra digital yang mengandung noise. Citra
yang dibuka haruslah bersifat grayscale.

Gambar 3.2 Contoh Citra Digital dengan Tambahan Noise
2) Memasukkan parameter jumlah iterasi dan temperature
Iterasi merupakan pengulangan perhitungan yang akan di lakukan dalam tahap
mereduksi noise untuk mendapatkan citra digital yang sebenarnya. Semakin
besar jumlah iterasi noise akan semakin hilang dan informasi yang diperoleh
kembali semakin banyak sebaliknya jika iterasinya terlalu kecil maka citra
hampir tidak akan mengalami perubahan.
Temperature adalah parameter untuk memperhalus gambar. Biasanya berkisar
antara minimum 0,5 sampai maksimum 4,5 untuk mendapatkan hasil yang
optimal.


29

3) Memilih rumus energi yang ingin digunakan


Model yang dipakai akan menentukan bagaimana citra diolah untuk
memperbaiki piksel yang ada sehingga noise dikurangi. Ada dua model yang
bisa dipilih yaitu Model Ising dan Geman-McClure. Bila model Geman-McClure
yang dipilih maka hyper-parameter dari model ini juga harus dimasukkan.
4) Restorasi gambar
Pada bagian ini terjadi proses restorasi atau penghilangan noise. Pengolahan dan
perhitungannya akan dilakukan berdasarkan masukan parameter jumlah iterasi,
temperature dan model yang dipilih pada langkah 2 dan 3 tersebut di atas.

Gambar 3.3 Hasil Restorasi Citra
Dalam penerapan metode simulasi Markov Chain Monte Carlo ke dalam program,
setelah data citra dibaca maka yang akan dilakukan terlebih dahulu memilih posisi
piksel secara random untuk menghitung energi yang ada. Perhitungan energi secara
umum dapat digambarkan sebagai berikut:
E() = Ei, j()
(,])
(3.1)
Energi tersebut dipakai untuk menentukan nilai derajat keabuan piksel yang
bersangkutan. Misalkan piksel yang terpilih secara random adalah piksel m, maka piksel
m ini kemudian dihitung terhadap empat piksel tetangga terdekatnya, seperti yang
30

diperlihatkan pada Gambar 3.4. Kemudian nilai derajat keabuan piksel m digantikan
oleh nilai derajat keabuan piksel lain yang juga dipilih secara acak, dan kemudian
dihitung energinya lagi. Setelah energi dari kedua state didapat, maka dihitunglah rasio
probabilitasnya. Bila rasio probabilitasnya lebih kecil dari satu maka nilai index warna
yang baru menggantikan nilai sebelumnya dari piksel m. Sebaliknya, bila rasio
probabilitasnya lebih besar dari 1, maka piksel m tidak mengalami perubahan index
warna.
Adapun tujuan dari proses ini pada dasarnya adalah menghilangkan noise dengan
menghaluskan (smoothing). Misalkan terdapat sebuah piksel dengan nilai 1, dan 4 piksel
tetangga terdekatnya memiliki tingkat keabuan 3, dapat diilustrasikan dengan gambar
seperti berikut:




Gambar 3.4 Proses Pengubahan Tingkat Keabuan
Anggap wilayah piksel semula merupakan
c
seperti yang digambarkan disebelah kiri,
dan wilayah piksel yang telah mengalami perbaikan digambarkan disebelah kanan.
Tingkat index warna dari piksel ditengah berubah dari 1 menjadi 3. dan pengubahan
nilai derajat keabuan ini menyebabkan penghalusan sebagian piksel dari gambar.



1
3
3 3
3
3
3
3 3
3
31

3.1.2 Distribusi Prior dan Pergantian Piksel


3.1.2.1 Model Ising
Seperti yang telah dibahas sebelumnya, model Ising mengatakan bahwa energi
interaksi antara dua piksel yang bertetanggaan adalah selisih tingkat keabuan dari piksel
yang bersangkutan. Oleh karena itu, perhitungan energi dapat dituliskan sebagai berikut:
E() =
i

j
(3.1)

Oleh karena digunakan sistem empat tetangga terdekat, maka rumus perhitungan dari
energi di atas menjadi sebagai berikut:
Energi = (
i,j-1
i,
j
) + (
i,j+1
i,
j
) + (
i-1,j
i,
j
) + (
i+1,j
i,
j
) (3.2)

3.1.2.2 Model Geman-McClure
Model Geman-McClure dipakai untuk perhitungan energi interaksi antara dua
piksel yang saling bersebelahan, yang dirumuskan sebagai berikut:
(3.3)
Untuk sistem empat tetangga terdekat seperti yang ditampilkan pada gambar 3.4, jika
posisi piksel m disimbolkan sebagai
i,j
maka piksel lainnya yang bersebelahan adalah

i,j-1
,
i,j+1,

i-1,j,

i+1,j.

Energi pada piksel m adalah:
Energi =
-1
1+C (
i,]-1
- ,])
2

+
-1
1+C (
i,]+1
- ,])
2

+
-1
1+C (
i-1,]
- ,])
2

+
-1
1+ C(
i+1,]
- ,])
2



(3.4)


32

3.1.2.3 Rasio Probabilitas Energi


Rumus Energi Ising atau Geman Mc-Clure kemudian dimasukkan ke dalam
distribusi prior lalu dibandingkan antara distribusi prior awal dengan distribusi prior
akhir, sehingga didapat rasio probabilitasnya adalah:
Exp(E*) (3.5)
Dimana:
=1/Temperature
E:
-Geman McClure : Energi Awal Energi Akhir
-Ising : (Energi Awal Energi Akhir) * (Energi Awal + Energi Akhir)

3.2 Perancangan Program
Pada bagian ini akan dijelaskan rincian dari perancangan program aplikasi yang
akan dibuat. Pertama akan ditampilkan diagram aktivitas untuk menggambarkan alur
dari langkah-langkah yang akan dipakai dalam menjalankan program. Kemudian,
rancangan untuk tampilan layar program aplikasi dan rancangan untuk modul-modul
dalam program.

3.2.1 Diagram Aktivitas Aplikasi
Program aplikasi yang akan dibuat secara garis besar akan memiliki alur sebagai
berikut. Pengguna program akan langsung memasuki layar utama saat membuka
program. Dilayar utama, pengguna akan memasukkan file citra digital yang mengalami
noise dengan menekan tombol Browse. Citra yang dipilih kemudian akan ditampilkan

d
t
d
t
m













di layar utam
temperatur.
distribusi ya
tombol Res
mengalami n
ma. Setelah
Dan untuk
ang akan dip
store Image
noise. Hasil
Gamb
itu penggun
melakukan
pakai dalam
, citra hasi
pemrosesan
bar 3.5 Diag
na dapat me
restorasi, p
proses redu
l proses ak
n dapat disim




gram Aktivi
emasukkan p
pengguna ha
uksi noise. L
kan ditampi
mpan dengan
itas Program
parameter ju
arus terlebih
Lalu jika pen
ilkan di seb
menekan to
m Aplikasi
umlah iteras
dahulu me
ngguna men
belah citra
ombol save
33
i dan
milih
nekan
yang
34

3.2.2 Rancangan Layar


Sebelum pembuatan program aplikasi ini, terlebih dahulu dibuat rancangan layar
untuk pembuatan Graphical User Interface. Berikut ini merupakan rancangan untuk
setiap layar yang ada pada program aplikasi.












Gambar 3.6 Rancangan Layar Utama
3.2.3 Rancangan Modul
Adapun modul modul fungsi yang ada di dalam aplikasi ini adalah sebagai
berikut:
1. Fungsi Load Citra ke Layar
Fungsi ini terdapat pada saat tombol Choose Image To Restore ditekan.
berfungsi untuk memasukkan dan menampilkan gambar pada program.
ImageRestorationProgram
ChooseImagetoRestore
InitialImageBox RestoredImage
Box
Configuration
Iteration:
Temperature
Inputke1
Inputke2
O Ising Prior
O GemenMcClurePrior
RestoreImage
ResetImage
SaveRestoredImage
PriorDistribution:
GenerateSNRandMSE
MeanSquareErrorAfter:
MeanSquareErrorBefore:
SNRAfter:
SNRBefore:
HyperParameter
35

2. Fungsi Restorasi Citra


Fungsi ini dijalankan pada saat tombol restore image ditekan. Fungsi akan
memvalidasi semua inputan, misalnya seperti jumlah iterasi, temperatur, dan
hyper parameter dari model Geman-McClure yang harus berupa angka, lalu
menjalankan algoritma Metropolist-Hastings sebanyak iterasi yang diminta.
3. Fungsi Kalkulasi SNR dan MSE
Fungsi ini dijalankan tepat setelah sebuah iterasi dikerjakan. Fungsi ini berfungsi
untuk menghitung nilai Signal to Noise Ratio dan Mean Square Error dari suatu
hasil restorasi.
4. Fungsi Reset Citra
Fungsi ini bertugas untuk mereset citra pada program bila gambar yang
direstorasi hendak digantikan dengan yang lain.
5. Fungsi Simpan Citra
Fungsi ini bertugas untuk menyimpan citra yang telah direstorasi.

You might also like