bab 2 landasan teori 2.1 definisi citra -...
TRANSCRIPT
8
BAB 2
LANDASAN TEO RI
2.1 Definisi Citra
Citra adalah suatu representasi (gambaran), kemiripan, atau inisiasi dari suatu
objek. Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optic berupa
foto, bersifat analog berupa sinyal – sinyal video seperti gambar pada monitor televise,
atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpan.
2.1.1 Definisi Citra Analog
Citra analog adalah citra yang bersifat kontinu, seperti gambar pada monitor
televise, foto sinar-X, foto yang tercetak di kertas foto, lukisan, pemandangan alam,
hasil CT scan, gambar – gambar yang terekam pada pita kaset, dan lain sebagainya.
Citra analog tidak dapat direpresentasikan dalam komputer sehingga tidak bias diproses
di komputer secara langsung. Oleh sebab itu, agar citra ini dapat diproses di komputer,
proses konversi analog ke digital harus dilakukan terlebih dahulu. Citra analog
dihasilkan dari alat - alat analog, seperti video kamera analog, kamera foto analog,
WebCam, CT scan, sensor roentgen untuk fto thorax, sensor gelombang pendek pada
system radar, sensor ultrasound pada system USG, dan lain – lain.
2.1.2 Definisi Citra Digital
Citra digital adalah citra yang dapat diolah oleh komputer. Sebuah citra grayscale
ukuran 150x150 piksel (elemen terkecil dari sebuah citra) diambil sebagian (kotak kecil)
berukuran 9x9 piksel. Maka, monitor akan menampilkan sebuah kotak kecil. Namun,
yang disimpan dalam memori komputer hanyalah angka - angka yang menunjukkan
besar intensitas pada masing – masing piksel tersebut.
9 150piksel 150piksel
Nilai intensitas suatu piksel
Gambar 2.1 Citra grayscale 150x150 piksel
2.2 Definisi Digital Image Processing
Digital Image Processing adalah proses pengolahan gambar dua dimensi oleh
perangkat komputer digital (Jain, 1989, pl). Ada pun menurut Gonzalez dan Woods
(2001,p2-3), digital image processing merupakan proses pengambilan atribut – atribut
pada gambar dengan input dan output yang berupa gambar.
Digital image processing mempunyai banyak macam aplikasi pada berbagai
bidang, seperti : penajaman gambar, pendeteksian objek pada gambar, pengurangan
noise, konversi gambar berwarna ke grayscale dan sebaliknya, kompresi data pada
gambar, dan sebagainya.
2.2.1 Langkah – langkah penting dalam pengolahan citra
Secara umum tahapan pengolahan citra digital meliputi akusisi citra, peningkatan
kualitas citra, segmentasi citra, representasi dan uraian, pengenalan dan interpretasi.
• Akusisi citra
Pengambilan data dapat dilakukan dengan menggunakan berbagai media seperti
kamera analog, kamera digital, handycamp, scanner, optical reader dan sebagainya.
Citra yang dihasilkan belum tentu data digital, sehingga perlu didigitalisasi.
52 53 68 42 52 47 48 52 40 35 50 59 50 47 50 57 57 43 39 47 61 52 50 70 57 51 40 51 52 47 52 52 71 70 68 43 48 52 42 45 52 54 65 57 52 51 52 55 57 44 44 51 56 62 49 48 58 50 49 52 58 43 51 40 42 59 51 50 50 55 53 43 60 60 59 59 60 58 59 56 56
10
• Peningkatan kualitas citra
Pada tahap ini dikenal dengan pre-processing dimana dalam meningkatkan
kualitas citra dapat meningkatkan kemungkinan dalam keberhasilan pada tahap
pengolahan citra digital berikutnya.
• Segmentasi citra
Segmentasi bertujuan untuk memilih dan mengisolasikan (memisahkan) suatu
objek dari keseluruhan citra. Segmentasi terdiri dari downsampling, penapisan dan
deteksi tepian. Tahap downsampling merupakan proses untuk menurunkan jumlah
piksel dan menghilangkan sebagian informasi dari citra. Dengan resolusi citra yang
tetap, downsampling menghasilkan ukuran citra yang lebih kecil. Tahap segmentasi
selanjutnya adalah penapisan dengan filter median, hal ini dilakukan untuk
menghilangkan derau yang biasanya muncul pada frekuensi tinggi pada spektrum
citra. Pada penapisan dengan filter median, gray level citra pada setiap piksel
digantikan dengan nilai median dari gray level pada piksel yang terdapat pada
window filter. Tahap yang terakhir pada proses segmentasi yaitu deteksi tepian.
Pendekatan algoritma Canny dilakukan berdasarkan konvolusi fungsi citra dengan
operator Gaussian dan turunan-turunannya. Pendeteksi tepi ini dirancang untuk
merepresentasikan sebuah tepian yang ideal, dengan ketebalan yang diinginkan.
Secara umum, proses segmentasi sangat penting dan secara langsung akan
menentukan keakurasian sistem dalam proses identifikasi iris mata.
• Representasi dan Uraian
Representasi mengacu pada data konversi dari hasil segmentasi ke bentuk yang
lebih sesuai untuk proses pengolahan pada komputer. Keputusan pertama yang harus
11
sudah dihasilkan pada tahap ini adalah data yang akan diproses dalam batasan-
batasan atau daerah yang lengkap. Batas representasi digunakan ketika penekanannya
pada karakteristik bentuk luar, dan area representasi digunakan ketika penekanannya
pada karakteristik dalam, sebagai contoh tekstur. Setelah data telah direpresentasikan
ke bentuk tipe yang lebih sesuai, tahap selanjutnya adalah menguraikan data.
• Pengenalan dan Interpretasi
Pengenalan pola tidak hanya bertujuan untuk mendapatkan citra dengan suatu
kualitas tertentu, tetapi juga untuk mengklasifikasikan bermacam-macam citra. Dari
sejumlah citra diolah sehingga citra dengan ciri yang sama akan dikelompokkan pada
suatu kelompok tertentu. Interpretasi meliputi penekanan dalam mengartikan objek
yang dikenali.
2.2.2 Macam – Macam Penerapan Digital Image Processing
Terlepas dari banyak dan luasnya penerapan dari image processing,
penerapannya dapat dibagi menjadi beberapa bagian.
a. Representasi dan Pemodelan Gambar
Dalam representasi dan pemodelan gambar (image representation and
modeling), gambar yang dihasilkan dari proses akan memberikan gambaran tentang
objek dari suatu lokasi (hasil foto dari kamera), karakteristik dari tubuh manusia
(gambar X-Ray), suhu dari suatu area (gambar infrared) atau gambaran posisi dari
target di sebuah radar.
Hasil yang dapat dimengerti dan akurat merupakan hal yang paling penting
dalam image representation. Dalam proses representasi dan pemodelan gambar,
kuantitas dan karakter dari picture-element (pixel) menggambarkan suatu objek.
12
b. Restorasi Gambar
Image restoration atau restorasi gambar adalah proses penghilangan atau
minimalisasi degradasi kualitas yang terdapat pada suatu gambar. Hal ini termasuk
perbaikan gambar atau foto yang buram, yang disebabkan oleh banyak hal, seperti
keterbatasan kualitas sensor, usia gambar yang sudah tua, atau pun banyaknya noise
pada gambar.
c. Analisis Gambar
Proses analisis gambar (image analysis) mempunyai tujuan melakukan
pengukuran dan perhitungan pada sebuah image untuk menghasilkan penjelasan dan
deskripsi dari gambar tersebut.
Pada analisis gambar dapat diaplikasikan dalam bermcam-macam hal, mulai
dari membaca barcode pada barang-barang di toko, menyortir suku cadang yang
berbeda pada alur pabrik, sampai analisis orientasi dan besarnya sel darah pada
gambar medis. Teknik analisis gambar melakukan pengambilan dari fitur-fitur
tertentu dari gambar untuk membantu mengidentifikasi objek yang diteliti.
d. Rekontruksi Gambar
Bidang rekonstruksi gambar atau image reconstruction bertujuan untuk
membuat sebuah objek dua dimensi atau lebih yang dibuat berdasarkan beberapa
proyeksi satu dimensi. Setiap proyeksi didapatkan dengan memproyeksikan X-Ray
(atau radiasi lainnya) melalui objek yang akan direkonstruksi.
Contoh aplikasi dari rekonstruksi gambar adalah penggunaan Computer
Topographic Scan (CT Scan) dan Magnetic Resonance Imaging (MRI) untuk
memproyeksikan gambar 2 dan 3 dimensi dari bagian tubuh manusia.
13
e. Kompresi Data Pada Gambar
Data yang menyangkut informasi yang bersifat visual sangatlah besar sehingga
memerlukan kapasitas penyimpanan yang sangat besar. Walaupun kemampuan
beberapa media penyimpanan digital dapat memenuhi kebutuhan penyimpanan yang
besar, umumnya kecepatan mengakses data pada media tersebtu semakin lambat
sebanding dengan makin besarnya kapasitas penyimpanan.
Kompresi data pada gambar (image data compression) bertujuan untuk
mengurangi jumlah dari bit (satuan terkecil dari data) yang diperlukan untuk
menyimpan gambar tanpa mengurangi informasi yang benar-benar diperlukan.
Aplikasi kompresi data untuk gambar banyak digunakan terutama pada industri
televise dan media, karena banyak gambar yang harus dikirim antara dua tempat
berjauhan. Karena itu dibutuhkan ukuran gambar yang relative kecil dengan kualitas
yang tetap terjaga.
f. Perbaikan Kualitas Gambar
Image Enhantment atau perbaikan kualitas gambar adalah aksentuasi atau
penajaman elemen-elemen dari sebuah gambar seperti garis pemisah atau pembatas
(edge and boundaries) atau tingkat kontras yang dapat membuat tampilan grafik dari
gambar tersebut lebih berguna untuk dianalisis dan ditampilkan (Jain, 1989,p233).
Proses image enhantment tidak memperbaiki atau meningkatkan kualitas dari
informasi dan data yang sudah ada pada gambar. Proses tersebut meningkatkan
rentang dinamis (dynamic range) dari elemen yang dikehendaki pada gambar
sehingga elemen tersebut dapat diperhatikan atau dilihat lebih jelas.
14
Image enhancement mencakup berbagai hal seperti : manipulasi kontras,
pengurangan noise, penajaman garis batas (edge crispening dan sharpening),
interpolasi dan pembesaran gambar.
Kesulitan terbesar yang sering dialami dalam proses image enhancement adalah
menentukan besaran nilai yang akan diterapkan dalam proses tersebut. Karena itu
banyak teknik-teknik image enhancement yang bersifat empirikal (berdasarkan trial
dan error) dan memerlukan prosedur yang interaktif untuk mendapatkan hasil yang
diinginkan
Gambar 2.2: Macam-macam aplikasi dari Image Enhancement (Sumber: Jain, 1989, p233)
Secara garis besar, image enhancement terbagi menjadi empat macam teknik
operasi yang umum digunakan seperti yang terlihat pada gambar 2.1 di atas.
1) Operasi Titik (point operation)
Pada point operation terdapat empat buah operasi yaitu contrast streching,
noise clipping, window slicing dan histogram modelling. Persamaan di antara point
operation adalah masing-masing teknik menggunakan filter dengan memori nol (zero
memory filter).
15
Pada bidang fotografi contrast streching dan histogram modelling banyak
digunakan. Contrast streching berguna untuk meningkatkan kekontrasan gambar
yang kurang baik diakibatkan oleh pencahayaan yang buruk atau sensor kamera yang
kurang luas daya tangkapnya. Sedangkan histogram modelling digunakan untuk
memperlihatkan frekuensi tingkatan warna abu-abu (gray level) pada suatu gambar
yang terdiri dari tiga tingkatan.
2) Operasi Transformasi (transform operation)
Operasi transformasi mempunyai sifat yang mirip dengan operasi titik. Operasi
tranformasi ini juga menggunakan zero memory filter namun dengan tambahan fungsi
transformasi invers setelahnya. Beberapa teknik image enhancement yang termasuk
dalam operasi transformasi menggunakan fungsi dari DFT (Discrete Fourier
Transform). Salah satu aplikasi dari operasi transformasi adalah homomorphic
filtering yang berguna untuk memperjelas detil yang terlihat gelap dan kurang jelas
pada gambar.
3) Operasi Pewarnaan (pseudocoloring)
Jenis operasi ini digunakan untuk melakukan proses pada elemen warna pada
sebuah gambar. Yang termasuk operasi pengolahan warna antara lain adalah
peningkatan kontras warna, pengoreksian warna yang salah akibat keterbatasan
sensor kamera atau proses scanning yang buruk, serta konversi gambar berwarna
menjadi gambar hitam putih serta kebalikannya, dan pewarnaan gambar hitam putih
menjadi berwarna.
4) Operasi Spasial (spatial operation)
Operasi spasial menggunakan teknik mengolah pixel yang letaknya
bersebelahan dengan pixel yang dijadikan input. Aplikasi image enhancement yang
16
menggunakan operasi spatial mencakup interpolasi (pembesaran) gambar,
pengurangan noise pada gambar, sampai peningkatan ketajaman gambar.
2.3 Convolution
2.3.1 Pengertian Metode Convolution
Convolution adalah operator matematika yang penting untuk banyak operator
dalam image processing. Convolution menyediakan cara untuk menggabungkan dua
array, biasanya untuk ukuran array yang berbeda, tetapi untuk dimensi array yang
sama, menghasilkan array ketiga yang mempunyai dimensi yang sama. Convolution
dapat digunakan dalam image processing untuk menerapkan operator yang mempunyai
nilai output dari piksel yang berasal dari kombinasi linier nilai input piksel tertentu.
Image convolution adalah teknik untuk menghaluskan suatu citra atau
memperjelas citra dengan menggatikan nilai piksel dengan sejumlah nilai piksel yang
sesuai atau berdekatan dengan piksel aslinya. Tetapi dengan adanya convolution, ukuran
dari citra tetap sama, tidak berubah.
Convolution 2 buah fungsi f(x) dan g(x) didefinisikan sebagai berikut :
Yang dalam hal ini, tanda (*) menyatakan operator convolution dan peubah
(variable) a adalah peubah bantu.
Untuk pengolahan citra, operasi yang dilakukan adalah diskrit karena nilai
koordinat piksel merupakan nilai yang diskrit. Selanjutnya filter atau mask yang
digunakan pada pengolahan citra biasanya berukuran terbatas, dalam artian bobot atau
pengaruh dari titik – titik yang cukup jauh sudah tidak signifikan, sehingga dapat
diabaikan (dianggap nol).
h x f x g x f a g x a da
17
Bentuk diskrit dari operasi convolution satu dimensi pada pengolahan citra
adalah
2.3.2 Convolution Dua Dimensi
Untuk fungsi dengan dua dimensi, operasi convolution didefinisikan sebagai
berikut :
a) Untuk fungsi integral
b) Untuk fungsi diskrit
Fungsi penapis g(x,y) disebut juga convolution filter, convolution mask, convolution kernel, atau template. Dalam bentuk diskrit convolution kernel dinyatakan dalam bentuk matriks (umumnya matriks 3x3). Ukuran matriks ini biasanya lebih kecil dari ukuran citra. Setiap elemen matriks disebut koefisien convolution.
Ilustrasi convolution ditunjukkan pada Gambar 2.3.
f(i,j) – Ap1 + Bp2 + Cp3 + Dp4 + Ep5 + Fp6 + Gp7 + Hp8 + Ip9
Gambar 2.3 Ilustrasi Convolution (Sumber: Rinaldi Munir, 2004, p79)
h x f x , y g x , y f a ,b g x a , y b da db
h x , y f x , y g x , y f a ,b g x a , y b
18
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
=
4425335576266652556645344
),( yxf
Operasi convolution dilakukan dengan menggeser convolution kernel piksel per
piksel. Hasil convolution disimpan di dalam matriks baru.
Contoh misalkan citra f(x,y) yang berukuran 5x5 dan sebuah kernel atau mask
berukuran 3x3 masing – masing adalah sebagai berikut :
(keterangan : tanda • menyatakan posisi (0,0) dari kernel)
(Note : Pada fungsi f(x,y) diambil kernelnya yaitu 3x3 dengan • sebagai posisi nilai
piksel pada posisi (0,0) dari kernel. Kemudian dikalikan terhadap g(x,y).)
Operasi convolution antara citra f(x,y) dengan kernel g(x,y).
f(x,y) * g(x,y) dapat diilustrasikan sebagai berikut :
(1) Tempatkan kernel pada sudut kiri atas, kemudian hitung nilai piksel pada posisi
(0,0) dari kernel.
Hasil convolution = 3. Nilai ini dihitung dengan cara berikut :
(0x4) + (-1x4) + (0x3) + (-1x6) + (4x6) + (-1x5) + (0x5) + (-1x6) + (0x6) = 3
(2) Geser kernel satu piksel ke kanan, kemudian hitung nilai piksel pada posisi (0,0)
dari kernel :
4 4 3 5 4
6 3 6 5 2
5 6 6 6 2
6 7 5 5 3
3 5 2 4 4
3
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−−•−
−=
010141
010),( yxg
19
Hasil convolution = 0. Nilai ini dihitung dengan cara berikut :
(0x4) + (-1x3) + (0x5) + (-1x3) + (4x6) + (-1x5) + (0x6) + (-1x6) + (0x6) = 0
(3) Geser kernel satu piksel ke kanan, kemudian hitung nilai piksel pada posisi (0,0)
dari kernel :
Hasil convolution = 2. Nilai ini dihitung dengan cara berikut :
(0x3) + (-1x5) + (0x4) + (-1x6) + (4x5) + (-1x2) + (0x6) + (-1x6) + (0x2) = 2
(4) Selanjutnya, geser kernel satu piksel ke bawah, lalu mulai lagi melakukan
convolution dari sisi kiri citra. Setiap kali convolution, geser kernel atau piksel ke
kanan :
3 0
4 4 3 5 4
6 3 6 5 2
5 6 6 6 2
6 7 5 5 3
3 5 2 4 4
3 0 2
4 4 3 5 4
6 3 6 5 2
5 6 6 6 2
6 7 5 5 3
3 5 2 4 4
20
Hasil convolution = 0. Nilai ini dihitung dengan cara berikut :
(0x6) + (-1x3) + (0x6) + (-1x5) + (4x6) + (-1x6) + (0x6) + (-1x7) + (0x5) = 0
Hasil convolution = 2. Nilai ini dihitung dengan cara berikut :
(0x3) + (-1x6) + (0x5) + (-1x6) + (4x6) + (-1x6) + (0x7) + (-1x5) + (0x5) = 2
Hasil convolution = 6. Nilai ini dihitung dengan cara berikut :
(0x6) + (-1x5) + (0x2) + (-1x6) + (4x6) + (-1x2) + (0x5) + (-1x5) + (0x3) = 6
Dengan cara yang sama seperti tadi, maka piksel – piksel pada baris ketiga convolution
sehingga menghasilkan :
4 4 3 5 4
6 3 6 5 2
5 6 6 6 2
6 7 5 5 3
3 5 2 4 4
3 0 2
0
4 4 3 5 4
6 3 6 5 2
5 6 6 6 2
6 7 5 5 3
3 5 2 4 4
3 0 2
0 2
4 4 3 5 4
6 3 6 5 2
5 6 6 6 2
6 7 5 5 3
3 5 2 4 4
3 0 2
0 2 6
21
Jika hasil convolution menghasilkan nilai piksel negative, maka nilai tersebut
dijadikan 0, sebaliknya jika hasil convolution meghasilkan nilai piksel lebih besar dari
nilai keabuan maksimum (255), maka nilai tersebut dijadikan ke nilai keabuan
maksimum.
Masalah timbul bila piksel yang dikonvolusi adalah piksel pinggir, karena
beberapa koefisien convolution tidak dapat diposisikan pada piksel – piksel citra, seperti
contoh di bawah ini :
Solusi untuk masalah ini adalah (Rinaldi Munir, 2004, p83):
a. piksel – piksel pinggir diabaikan, tidak dikonvolusi, jadi nilai piksel pinggir sama
dengan nilai pada citra semula.
b. Duplikasi elemen citra, misalnya elemen kolom pertama disalin ke kolom M+1 dst.
c. Elemen bertanda “?” diasumsikan bernilai 0 atau konstanta lain, sehingga
convolution pinggir – pingir dapat dilakukan.
3 0 2
0 2 6
6 0 2
4 4 3 5 4 ?
6 6 5 5 2 ?
5 6 6 6 2 ?
6 7 5 5 3
3 5 2 4 4
22
Solusi dengan ketiga pendekatan di atas mengasumsikan bagian pinggir citra
lebarnya sangat kecil (hanya satu piksel) relative dibandingkan dengan ukuran citra,
sehingga piksel – piksel pinggir tidak memperlihatkan efek yang kasat mata.
Gambar 2.4 piksel – piksel pinggir (yang tidak diarsir) tidak dikonvolusi.
(Sumber : Rinaldi Munir, 2004, p84)
Dalam algoritma convolution citra N x M dengan mask atau kernel yang
berukuran 3 x 3 piksel yang dikonvolusi adalah elemen (i,j). Delapan buah piksel yang
bertetangga dengan piksel (i,j) diperlihatkan pada gambar 2.5
i-1, j-1 i-1,j i-1,j+1
i,j-1 i,j i,j+1
i+1,j-1 i+1,j i+1,j+1
Gambar 2.5 Delapan piksel yang bertetangga dengan piksel (i, j)
Dapat dilihat bahwa operasi convolution merupakan komputasi pada area local,
karena komputasi untuk suatu piksel pada citra keluaran melibatkan piksel – piksel
tetangga pada citra masukannya.
23
2.3.3 Gaussian Blur
Teknik memberi efek blur atau smoothened image dapat dilakukan dengan cara
menggunakan filter Gaussian. Filter ini sering digunakan untuk mengaburkan serta
mengurangi detail dan noise yang ada pada gambar. Filter Gaussian mempunyai bentuk
sebagai berikut.
G(x,y) merepresentasikan gambar yang sudah di blur pada koordinat pixel x dan
y pada gambar. Besarnya standar deviasi σ pada filter gaussian menentukan besarnya
frekuensi yang dibuang oleh filter tersebut. Makin besar nilai σ,makin besar pula
frekuensi yang terbuang sehingga gambar akan terlihat lebih kabur.
Operator Gaussian Blur merupakan operator 2-D convolution yang digunakan
untuk memberi efek blur (pemudaran) pada citra. Cara pengopreasian Gaussian Blur
menggunakan kernel yang mempresentasikan bentuk Gaussian.
Convolution mask yang digunakan berukuran 3x3, kernel yang digunakan oleh
Gaussian blur seperti yang digambarkan dibawah ini (B.K. Joshi., 1973):
(a) (b)
Gambar 2.6 (a) Citra Asli. (b) Citra yang telah mengalami Gaussian Blur.
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
121242121
161
2
22
222
1),( σ
πσ
yx
yxG+−
= l
24
2.4 Metode Unsharp Masking
Unsharp masking adalah sebuah metode yang meningkatkan kualitas ketajaman
garis (edge) dan elemen gambar dengan frekuensi tinggi lainnya melalui suatu prosedur
yang mengurangi (substract) gambar as li dengan versi gambar yang kurang tajam atau
telah dihaluskan untuk mendapatkan hasil gambar yang tajam (Fisher, Perkins, Walker,
Wolfart, 1994)
Gambar 2.7: Contoh penajaman gambar dengan unsharp masking (Sumber: http://www.cambridgeincolour.com/tutorials/unsharp-mask.htm)
Kata unsharp berasal dari fakta bahwa metode unsharp masking ini
menggunakan image positif yang sudah smoothened (dihaluskan) atau di-unsharp dari
image original untuk kemudian digabungkan dengan image negatif untuk menghasilkan
ilusi bahwa hasil gambar lebih tajam daripada aslinya.
Proses unsharp masking merupakan cara yang sangat efektif untuk meningkatkan
ketajaman terutama untuk gambar hasil scanning yang terkadang ketajamannya kurang.
Namun proses ini dapat menghasilkan efek-efek yang menganggu dan tidak diinginkan,
efek yang dihasilkan akibat oversharpen disebut efek halo.
25
Gambar Asli Gambar setelah dipertajam
Gambar 2.8 Contoh Unsharp Masking
2.4.1 Cara Kerja Metode Unsharp Masking
Metode unsharp masking menghasilkan gambar dengan tingkat ketajaman yang
lebih baik dibandingkan dengan gambar aslinya. Proses unsharp masking secara umum
terbagi menjadi dua langkah, yaitu: pertama, membuat gambar yang blur yang
didapatkan dari hasil pengurangan gambar yang asli dengan gambar yang sudah
dihaluskan, kemudian kedua, gambar blur tersebut digabungkan dengan gambar asli.
Hasil proses tersebut adalah gambar yang sudah terlihat lebih tajam daripada gambar
aslinya.
26
Gambar 2.9: Langkah-langkah proses unsharp masking (Sumber: http://www.cambridgeincolour.com/tutorials/unsharp-mask.htm)
Mengenai cara kerja proses unsharp masking, maka proses ini dapat dirumuskan
sebagai berikut:
fsharp(x,y) merupakan hasil gambar yang sudah ditajamkan yang didapat dari
penambahan gambar asli yaitu f(x,y) dengan gambar representasi edge g(x,y) yang
terlebih dahulu dikali dengan skala konstan k yang bernilai antara 0.2 sampai 0.7.
Semakin besar nilainya semakin besar tingkat penajaman gambarnya. Pada setiap fungsi,
x dan y merepresentasikan koordinat pixel horizontal dan vertikal secara berurutan.
Sedangkan untuk mendapatkan gambar representasi edge g(x,y), dapat di rumuskan
sebagai berikut:
g(x,y) merupakan gambar asli yang dikurangi oleh fsmooth(x,y), yang merupakan
versi gambar asli yang sudah dihaluskan. Hasil pengurangan tersebut mendapatkan
),(),(),( yxfyxfyxg smooth−=
),(*),(),( yxgkyxfyxf sharp +=
27
gambar reprentasi edge g(x,y). Operasi proses unsharp masking secara lengkap dapat
ditunjukkan seperti pada gambar 2.10.
Gambar 2.10: Operator pada proses lengkap unsharp masking (Sumber: http://www.cee.hw.ac.uk)
2.4.2 Mengubah Menjadi Gambar Unsharp Mask (Edge)
Pada gambar 2.10 telah diilustrasikan tahapan-tahapan bagaimana proses
penajaman gambar unsharp masking dilakukan. Tahap pertama proses unsharp masking
adalah menbuat gambar unsharp mask yaitu gambar yang merupakan representasi edge
atau garis-garis tegas pembatas pada gambar asli.
Untuk mendapatkan gambar unsharp mask, maka gambar asli di blur atau di
kaburkan dengan metode convolution Gaussian Blur. Gambar tersebut akan digunakan
untuk mengurangi gambar yang asli untuk menghasilkan gambar unsharp mask.
Gambar unsharp mask kemudian didapatkan dengan cara gambar asli dikurangi
dengan gambar yang sudah diblurkan, menggunakan persamaan berikut ini.
Pada persamaan diatas f(x,y) merepresentasikan gambar unsharp mask (edge)
pada koordinat pixel x dan y. Sedangkan i(x,y) dan g(x,y) masing-masing
merepresentasikan koordinat pixel pada gambar asli dan gambar yang sudah di blur.
),(12)1(),(
12),( yxg
ccyxi
ccyxf
−−−
−=
28
Konstanta c pada persamaan merupakan weighting value yang menentukan ketegasan
gambar edge yang dihasilkan.
2.5 O perasi Pertambahan Pixel
Pixel addition atau operasi pertambahan pixel digunakan pada tahap kedua proses
unsharp masking. Setelah gambar edge didapat pada tahap pertama, maka gambar
tersebut ditambahkan dengan gambar asli untuk mendapatkan hasil gambar yang lebih
tajam. Untuk melakukan pertambahan antara dua gambar digunakan operasi
pertambahan pixel yang dirumuskan secara sederhana sebagai berikut.
Pada operasi tersebut pixel pada koordinat i,j gambar P1 ditambahkan dengan
pixel dengan koordinat sama pada gambar P2 sehingga menghasilkan nilai pixel baru
pada gambar Q(I,j) yang merupakan output dari operasi tersebut. Pada penjumlahan
pixel, apabila hasil dari penjumlahan melebihi dari nilai maksimal pixel maka nilai akan
mengalami operasi modulus.
Operasi penjumlahan pixel dari gambar unsharp mask (edge) dengan gambar asli
akan menghasilkan gambar output yang lebih tajam daripada gambar aslinya.
2.6 Pixel (Picture Element)
Picture Element atau Pixel merupakan satuan titik (dot) kecil yang menyusun
sebuah gambar. Setiap pixel pada gambar menyimpan informasi warna yang
direpresentasikan oleh pixel tersebut. Warna tersebut merupakan campuran dari tiga atau
empat jenis dimensi warna tergantung dengan sistem warna yang digunakan (red, green,
blue atau cyan, magenta, yellow and black).
),(),(),( 21 jiPjiPjiQ +=
29
Gambar 2.11 Pixel (Sumber : http://en.wikipedia.org/wiki/Pixel)
Banyaknya pixel yang menyusun suatu gambar tergantung pada resolusi gambar.
Sedangkan banyaknya variasi warna yang dapat direpresentasikan oleh sebuah pixel
tergantung pada bit depth (kedalaman warna) yang digunakan. Bit depth yang umumnya
digunakan pada format foto digital adalah 24 bpp (bits per pixel) yang dapat
merepresentasikan 224 = 16,777,216 warna.
2.7 Metode Rekayasa Piranti Lunak
Menurut Pressman (1992, p24), rekayasa piranti lunak mencakup tiga elemen
yang mampu mengontrol proses pengembangan piranti lunak, yaitu sebagai berikut :
a. Methods
Menyediakan cara – cara teknik untuk membangun piranti lunak.
b. Tools
Menyatakan dukungan otomatis atau semi otomatis yang mengkombinasikan
software, hardware, dan software engineering database.
30
c. Procedures
Merupakan pengembangan metode dan alat bantu.
Gambar 2.12 Classic Life Cycle (Waterfall Model)
Dalam skripsi ini digunakan perancangan software dengan model Classic Life
Cycle (Waterfall Model). Serangkaian kegiatan yang dilakukan selama perancangan
software, antara lain sebagai berikut :
a. Rekayasa dan analisis system. Pada tahap ini dilakukan analisis kebutuhan secara
umum yang berkaitan dengan hardware, user, dan database.
b. Analisis kebutuhan software dan perancangan sistem. Analisis kebutuhan dengan
memfokuskan pada spesialisasi software. Semua kebutuhan, baik system mau pun
software harus didokumentasikan dan harus dikaji oleh user. Pada perancangan
terdapat tiga hal yang harus difokuskan dalam program, yaitu struktur data,
arsitektur software, dan prosedur detil. Pada tahap proses ini, kebutuhan dituangkan
31
menjadi software yang layak dari segi kualitas, sebelum masuk pada proses
pengkodean.
c. Coding. Difokuskan pada penerjemahan hasil rancangan ke bahasa mekanik yang
dimengerti oleh mesin dalam bentuk program.
d. Test. Pada fase ini akan dilakukan testing pada program yang telah jadi yaitu untuk
mengecek kesalahan rancangan dan kesesuaiannya dengan spesifikasi system dalam
hal pengoperasiannya dan performance-nya.
e. Installation dan Maintenance
Instalasi terhadap system yang telah selesai dikembangkan, kemudian dilakukan
perawatan terhadap sistem, meliputi penanganan error, penambahan feature baru,
dan upgrade terhadap system. Kegiatan maintenance ini lebih mengarah ke
perancangan ulang sistem yang disebut sebagai daur ulang aktifitas.
2.8 DFD (Data Flow Diagram)
Diagram Flow Diagram merupakan alat yang digunakan untuk menggambarkan
suatu system yang telah ada atau system baru yang akan dikembangkan secara lgoika
tanpa mempertimbangkan lingkungan fisik dimana data tersebut mengalir ataupun
lingkungan fisik dimana data tersebut akan disimpan (Jogiyanto, HM, 2005, p700
Komponen utama dalam digram DFD adalah :
a. Proses
Proses menunjukkan apa yang dikerjakan sistem. Setiap proses
memiliki satu atau lebih data masukan dan memiliki satu atau lebih
data keluaran.
b. Data store
32
Data store adalah tempat menyimpan data; berisi data yang akan
dipakai oleh sistem. Proses dapat memasukkan data ke dalam data
share atau mendapatkan kembali datanya. Setiap data store memiliki
nama yang unik.
c. Eksternal entitas
Eksternal entitas berada di luar system, tetapi dapat memasok data ke
sistem atau menerima keluaran dari system. Eksternal entitas yang
memasok data ke system disebut source.
d. Aliran data (Data Flow)
Menggambarkan arah ke aliran data.
Diagram aliran data dapat dibagi menjadi tiga tingkatan, sebagai
berikut.
1) Diagram konteks, merupakan level tertinggi yang menggambarkan
batas – batas dari sistem informasi secara global.
2) Diagram nol, merupakan diagram yang memaparkan proses –
proses penting dalam sistem.
3) Diagram rinci, merupakan penjelasan dari setiap proses secara
rinci, yang terdapat dalam diagaram nol, yang tidak dapat dipecah
lagi ke dalam proses – proses yang lebih rinci.
2.9 Interaksi Manusia dan Komputer
Menurut Shneiderman (1998, p74-75) dalam perancangan sebuah interface
terdapat aturan-aturan yang telah dikenal dengan Eight Golden Rules of Interface
Design (delapan aturan emas).
33
1. Berusaha keras untuk konsisten (strive for consistency).
Konsisten ini adalah konsisten dalam penggunaan bentuk dan ukuran font,
pemberian warna pada latar belakang dan tulisan, pembuatan layout.
2. Memungkinkan pengguna menggunakan shortcut sesering mungkin (enable
frequent users to use shortcuts).
Pengurangan jumlah interaksi melalui fasilitas shortcuts memberikan manfaat
bagi pengguna dalam memberikan waktu respon dan waktu tampilan yang cepat.
3. Memberikan umpan balik yang informatif (offer informative feedback).
Untuk setiap tindakan yang dilakukan oleh user, harus diberikan umpan balik
(feed back). Umpan balik dapat berupa tampilan ataupun suara sehingga
pengguna mengetahui bahwa pernagkat lunak tersebut memberikan respon.
4. Merancang dialog untuk menghasilkan keadaan akhir (design dialogs to yield
closure).
Urutan dari tindakan harus diatur ke dalam suatu kelompok yang memiliki
bagian awal, bagian tengah, dan bagian akhir. Umpan balik yang informatif
dalam penyelesaian tindakan-tindakan akan memberikan kepuasan bagi pemakai.
5. Memberikan penanganan kesalahan yang sederhana (offer error prevention and
simple error handling).
Dalam mendesain, sedapat mungkin diberikan error prevention, contohnya, pada
menu untuk memasukkan nama, user tidak diperbolehkan untuk memasukkan
angka. Jika user melakukan kesalahan, sistem harus dapat mendeteksi kesalahan
tersebut dan menampilkan kesalahan si pengguna dan memberikan contoh
penggunaan yang benar secara sederhana.
6. Mengizinkan pembalikan aksi dengan mudah (permit easy reversal of actions).
34
Dalam melakukan desain, sebisa mungkin diberikan undo. Hal ini akan
memudahkan user jika melakukan kesalahan yang tidak disengaja ketika sedang
mengerjakan sesuatu.
7. Menyediakan kendali internal bagi user (support internal locus of control).
Sistem harus dirancang supaya user merasa menguasai sistem dan sistem akan
memberi respon atas tindakan yang diberikan.
8. Mengurangi muatan memory jangka pendek (reduce short-term memory load).
Manusia mempunyai keterbatasan dalam mengingat sehingga memerlukan
tampilan sederhana, tampilan halaman-halaman dapat digabungkan, dan
pergerakan Windows dapat dikurangi.