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. M aka, 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
52 35 39 51 48 51 49 40 60
53 50 47 52 52 52 48 42 60
68 59 61 47 42 55 58 59 59
42 50 52 52 45 57 50 51 59
52 47 50 52 52 44 49 50 60
47 50 70 71 54 44 52 50 58
48 57 57 70 65 51 58 55 59
52 57 51 68 57 56 43 53 56
40 43 40 43 52 62 51 43 56
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.
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 batasanbatasan 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 M agnetic Resonance Imaging (M RI) 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: M acam-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 : h x
f x
g x
f a g x a da
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).
17 Bentuk diskrit dari operasi convolution satu dimensi pada pengolahan citra adalah
2.3.2 C onvolution Dua Dimensi Untuk fungsi dengan dua dimensi, operasi convolution didefinisikan sebagai berikut : a) Untuk fungsi integral
h x
f x, y
g x, y
f a ,b g x a , y b da db
b) Untuk fungsi diskrit
h x,y
f x,y
g x, y
f a ,b g x a , y b
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 M unir, 2004, p79)
18 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 : ⎡4 ⎢6 ⎢ f ( x , y ) = ⎢5 ⎢ ⎢6 ⎢⎣ 3
4 6 6 7 5
3 5 6 5 2
5 5 6 5 4
4⎤ 2⎥ ⎥ 2⎥ ⎥ 3⎥ 4⎥⎦
⎡ 0 −1 0 ⎤ g ( x , y ) = ⎢⎢ − 1 • 4 − 1⎥ ⎥ ⎢⎣ 0 − 1 0 ⎥⎦
(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.
4 4 3 5 4 6 3 6 5 2
3
5 6 6 6 2 6 7 5 5 3 3 5 2 4 4
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 :
19
4 4 3 5 4 6 3 6 5 2
3 0
5 6 6 6 2 6 7 5 5 3 3 5 2 4 4
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 :
4 4 3 5 4 6 3 6 5 2
3 0 2
5 6 6 6 2 6 7 5 5 3 3 5 2 4 4
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 :
20
4 4 3 5 4 6 3 6 5 2
3 0 2
5 6 6 6 2
0
6 7 5 5 3 3 5 2 4 4
Hasil convolution = 0. Nilai ini dihitung dengan cara berikut : (0x6) + (-1x3) + (0x6) + (-1x5) + (4x6) + (-1x6) + (0x6) + (-1x7) + (0x5) = 0
4 4 3 5 4 6 3 6 5 2
3 0 2
5 6 6 6 2
0 2
6 7 5 5 3 3 5 2 4 4
Hasil convolution = 2. Nilai ini dihitung dengan cara berikut : (0x3) + (-1x6) + (0x5) + (-1x6) + (4x6) + (-1x6) + (0x7) + (-1x5) + (0x5) = 2
4 4 3 5 4 6 3 6 5 2
3 0 2
5 6 6 6 2
0 2 6
6 7 5 5 3 3 5 2 4 4
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 :
21
3 0 2 0 2 6 6 0 2
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. M asalah timbul bila piksel yang dikonvolusi adalah piksel pinggir, karena beberapa koefisien convolution tidak dapat diposisikan pada piksel – piksel citra, seperti contoh di bawah ini : 5
4
?
6 6 5 5
2
?
6
2
?
4 4 3
5 6 6
6 7 5 5 3 3 5 2
4
4
Solusi untuk masalah ini adalah (Rinaldi M unir, 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.
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+1
i,j
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) =
1
−
x 2+ y 2 2σ 2
l 2πσ 2 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. M akin 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): ⎡ 1 2 1⎤ 1 ⎢ 2 4 2⎥ ⎢ ⎥ 16 ⎢⎣ 1 2 1⎥⎦
(a) (b) Gambar 2.6 (a) Citra Asli. (b) Citra yang telah mengalami Gaussian Blur.
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 M asking 2.4.1 C ara Kerja Metode Unsharp Masking M etode 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)
M engenai cara kerja proses unsharp masking, maka proses ini dapat dirumuskan sebagai berikut: f sharp ( x , y ) = f ( x , y) + k * g ( x, y ) 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 ) = f ( x, y ) − f smooth ( x, y ) g(x,y) merupakan gambar asli yang dikurangi oleh fsmooth(x,y), yang merupakan versi gambar asli yang sudah dihaluskan. Hasil pengurangan tersebut mendapatkan
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. f ( x, y) =
c (1 − c ) i( x , y ) − g ( x, y) 2c − 1 2c − 1
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.
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. Q(i , j ) = P1 (i , j ) + P2 (i , j ) 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).
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 M enurut Pressman (1992, p24), rekayasa piranti lunak mencakup tiga elemen yang mampu mengontrol proses pengembangan piranti lunak, yaitu sebagai berikut : a. M ethods M enyediakan cara – cara teknik untuk membangun piranti lunak. b. Tools M enyatakan dukungan otomatis atau semi otomatis yang mengkombinasikan software, hardware, dan software engineering database.
30 c. Procedures M erupakan pengembangan metode dan alat bantu.
Gambar 2.12 Classic Life Cycle (Waterfall M odel) Dalam skripsi ini digunakan perancangan software dengan model Classic Life Cycle (Waterfall M odel). 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 M aintenance 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) M enggambarkan 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 M enurut 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. M emungkinkan 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. M emberikan 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. M erancang 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. M emberikan 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. M engizinkan 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. M enyediakan 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. M engurangi muatan memory jangka pendek (reduce short-term memory load). M anusia mempunyai keterbatasan dalam mengingat sehingga memerlukan tampilan sederhana, tampilan halaman-halaman dapat digabungkan, dan pergerakan Windows dapat dikurangi.