7
BAB 2 LANDASAN TEORI
2.1 Sistem Visual Sistem visual buatan atau vision system (computer vision) adalah suatu sistem yang mempunyai kemampuan untuk menganalisa obyek secara visual, setelah data obyek yang bersangkutan dimasukkan dalam bentuk citra (image). Secara umum tujuan dari sistem visual adalah untuk membuat model nyata dari sebuah citra. Citra yang dimaksud adalah citra digital hasil konversi suatu obyek menjadi citra melalui suatu sensor yang prosesnya disebut digitasi. Dengan demikian citra lain seperti foto, gambar cetak, gambar sketsa, dan lain-lain yang berada pada media cetak seperti kertas atau media lainnya baru dapat diproses setelah dikonversi ke dalam citra digital melalui proses digitasi. Sebuah sistem visual mempunyai kemampuan untuk memperbaiki informasi yang berguna dari sebuah pemandangan (scene) hasil proyeksi dua dimensi. Citra merupakan hasil proyeksi dua dimensi dari obyek atau benda tiga dimensi, sehingga informasi tidak bisa didapatkan begitu saja, melainkan harus diperbaiki karena sesungguhnya ada bagian informasi yang hilang setelah benda diproyeksikan ke dalam citra.
8 2.2 Citra Digital 2.2.1
Definisi Citra Sebuah citra adalah kumpulan piksel-piksel yang disusun dalam larik dua
dimensi. Piksel adalah sampel dari pemandangan yang mengandung intensitas citra yang dinyatakan dalam bilangan bulat. Indeks baris dan kolom (x,y) dari sebuah piksel dinyatakan dalam bilangan bulat. Piksel (0,0) terletak pada sudut kiri atas pada citra, indeks x bergerak ke kanan dan indeks y bergerak ke bawah. Konvensi ini dipakai merujuk pada cara penulisan larik yang digunakan dalam pemrograman komputer.
(a)
(b)
Gambar 2.1 Perbedaan letak titik origin pada kordinat grafik dan pada citra (a) koordinat pada grafik matematika (b) koordinat pada citra
2.2.2
Tipe Citra Menurut Chastain et al (2000), ada dua tipe dasar citra berdasarkan cara
penyimpanannya, yaitu : a. Raster atau Bitmap Format Citra yang disimpan dengan format bitmap atau raster memiliki karakteristik menyimpan setiap piksel dari sebuah citra. Format ini biasa digambarkan dengan
9 bentuk matriks berukuran panjang piksel x lebar piksel, yang masing masing dari piksel tersebut berisi nilai rgb dari piksel tersebut. Contoh : BMP, JPG, GIF, dll. b. Vector Format Citra yang disimpan dengan format vektor memiliki karakteristik menyimpan konstruksi dari suatu titik, garis, ukuran, warna dan sebagainya yang dapat membentuk suatu citra. Contoh penyimpanan yang menggunakan format ini adalah PS, PDF, WMF, CDM, dll.
2.2.3
Piksel Gambar yang bertipe bitmap tersusun dari piksel-piksel. Piksel disebut juga
dengan dot. Piksel berbentuk bujursangkar dengan ukuran relatif kecil yang merupakan penyusun atau pembentuk gambar bitmap. Banyaknya piksel tiap satuan luas tergantung pada resolusi yang digunakan. Keanekaragaman warna piksel tergantung pada bit depth yang dipakai. Semakin banyak jumlah piksel tiap satu satuan luas, semakin baik kualitas gambar yang dihasilkan dan tentu akan semakin besar ukuran file-nya. Sebuah piksel pada titik P memiliki koordinat (x, y) memiliki empat hubungan titik vertikal dan horisontal dimana koordinat itu adalah :
(x, y – 1) (x – 1, y) K u
P(x, y) (x, y + 1)
(x + 1, y)
10 Kumpulan dari piksel-piksel ini disebut dengan 4 neighbours of P, yang dituliskan dengan N4(P). Setiap piksel merupakan suatu unit yang terletak tepat disamping titik P(x, y). Selain itu juga terdapat empat diagonal neighbours terhadap titik P, empat titik diagonal itu adalah: ( x – 1, y – 1 )
( x – 1, y + 1 ) P( x, y )
( x – 1, y + 1 )
( x + 1, y + 1 )
Empat diagonal neighbours ini dituliskan dengan ND(P). Titik-titik ini bersama dengan N4(P), disebut dengan 8 neighbours dari P, yang biasa dituliskan dengan N8(P).
2.2.4
(x – 1, y – 1)
(x, y – 1)
(x + 1, y – 1)
(x – 1, y)
P(x, y)
(x + 1, y)
(x – 1, y + 1)
(x, y + 1)
(x + 1, y + 1)
Relasi Antar Piksel Menurut Parker (1993), hubungan antar piksel berperan dalam menentukan
karakteristik suatu citra, hubungan yang paling mendasar ini disebut dengan connectivity.
11 Hubungan antar piksel tersebut dapat digambarkan sebagai berikut : 0
1
2
(i-1,j-1)
(i,j-1)
(i+1,j-1)
3
4
5
(i-1,j)
(i,j)
(i+1,j)
6
7
8
(i-1,j+1)
(i,j+1)
(i+1,j+1)
Gambar 2.2 Relasi Antar Piksel
Ada dua aturan utama dalam relasi antar pixel, yaitu : a. Dua pixel dikatakan 4-adjacent jika bersebelahan secara horisontal atau vertikal saja. Contoh untuk pixel 4 maka 4-adjacent-nya adalah 1,3,5,7. b. Dua pixel dikatakan 8-adjacent jika bersebelahan secara diagonal atau pixelpixel tersebut juga bersebelahan secara 4-adjacent. Contoh untuk pixel 4 maka 8-adjacent-nya adalah 0,1,2,3,5,6,7,8.
2.3 Pengolahan Citra 2.3.1
Geometri Citra Untuk dapat mengerti dan melakukan operasi pengolahan citra, pertama-tama
harus memahami dengan baik apa dan bagaimana sifat citra itu sendiri. Ada dua hal penting yang sangat mendasar pada proses pembentukan citra yang harus dipahami dan selanjutnya sangat perlu untuk terus diingat, yaitu :
12 a. Geometri formasi citra yang menentukan lokasi suatu titik dalam pemandangan yang diproyeksikan pada bidang citra. b. Fisik cahaya yang menentukan kecerahan suatu titik pada bidang citra sebagai fungsi pencahayaan pemandangan dan sifat-sifat permukaan.
2.3.2
Definisi Pengolahan Citra Image processing atau pengolahan citra adalah bidang tersendiri yang sudah
cukup berkembang sejak orang mengerti bahwa komputer tidak hanya dapat menangani data teks, melainkan juga data citra. Teknik-teknik
pengolahan
citra
biasanya
digunakan
untuk
melakukan
transformasi dari satu citra kepada citra yang lain, sementara tugas perbaikan informasi terletak pada manusia melalui penyusunan algoritmanya. Bidang ini meliputi penajaman citra, penonjolan tertentu dari suatu citra, kompresi citra dan koreksi citra yang tidak fokus atau kabur. Pengertian pengolahan citra sedikit berbeda dengan pengertian mesin visual (machine vision), meskipun keduanya seolah-olah dapat dipergunakan dengan maksud yang sama. Terminologi pengolahan citra digunakan bila hasil pengolahan data yang berupa citra adalah juga berbentuk citra yang lain, yang mengandung atau memperkuat informasi khusus pada citra hasil pengolahan sesuai dengan tujuan pengolahannya. Sedangkan terminologi mesin visual digunakan bila data hasil pengolahan citra langsung diterjemahkan dalam bentuk lain, misalnya grafik yang siap diinterpretasikan untuk tujuan tertentu, gerak peralatan atau bagian dari peralatan mekanis, atau aksi lainnya yang berarti bukan merupakan citra lagi. Dengan demikian jelaslah bahwa pengolahan citra merupakan bagian dari mesin visual, karena untuk menghasilkan keluaran selain
13 citra, informasi dari citra yang ditangkap oleh kamera juga perlu diolah dan dipertajam pada bagian-bagian tertentu.
2.4 Konversi Citra Abu-Abu Menjadi Citra Biner (Thresholding) Citra pada umumnya terdiri dari piksel-piksel dengan berbagai variasi nilai RGB (komponen warna merah/red, hijau/green, dan biru/blue). Citra jenis ini disebut sebagai citra berwarna. Citra abu-abu (grayscale) adalah citra dengan satu macam warna yakni abu-abu, dengan variasi gradasi keabuannya. Proses grayscale merupakan salah satu proses dari computer vision mengenai hal pewarnaan, dimana warna tiap piksel dari suatu citra berubah menjadi piksel dengan warna RGBrata-rata. Rumus Grayscale:
RGBrata − rata =
R+G+ B 3
……………………….
(2.1)
Thresholding adalah proses konversi citra abu-abu menjadi citra hitam putih. Proses ini disebut juga binerisasi citra (image binarization). Secara umum, proses konversi citra abu-abu menjadi citra hitam putih dilakukan dengan menggunakan nilai ambang (threshold value) tertentu. Kemudian berdasarkan nilai ambang ini, maka ditentukan apakah suatu piksel akan diubah menjadi berwarna putih (dengan intensitas pencahayaan tertinggi yakni 256) atau diubah ke warna hitam (dengan intensitas pencahayaan terendah yakni 0). Jika nilai keabuan suatu piksel lebih besar daripada nilai ambang, piksel akan diubah menjadi berwarna putih. Sebaliknya, jika nilainya lebih kecil daripada nilai ambang, piksel akan diubah menjadi berwarna hitam. Proses ini membantu menghilangkan noise pada citra.
14 2.5 Deteksi Tepi
Suatu obyek yang berada dalam bidang citra dan tidak bersinggungan dengan batas bidang citra, berarti obyek tersebut dikelilingi daerah yang bukan obyek, yaitu latar belakang. Pertemuan antara bagian obyek dan bagian latar belakang (background) disebut tepi obyek. Tepi obyek merupakan salah satu citra yang penting karena dapat mewakili informasi yang penting dari obyek dalam pemandangan. Informasi tepi menghantarkan informasi tentang citra, yang berarti juga mengandung informasi tentang pemandangan. Tepi ditandai dengan adanya perubahan intensitas yang bersifat lokal di dalam citra dapat dilacak berdasarkan perubahan intensitas lokal ini. Tepi biasanya muncul pada batas antara dua daerah yang berbeda nilai intensitasnya dalam citra dan pelacakan tepi seringkali digunakan sebagai langkah awal dalam memperbaiki informasi dari citra. Deteksi tepi mempunyai kontribusi yang penting dalam pengembangan algoritma untuk analisis fitur-fitur citra, segmentasi citra, dan analisis pergerakan.
2.5.1
Karakteristik Tepi
Sebuah titik yang merupakan milik tepi suatu obyek dalam sebuah citra adalah sebuah titik dimana terdapat perubahan lokal yang jelas dalam intensitas citra atau fungsi turunan pertama dari intensitas citra, dalam lingkungan dimana titik tersebut berada. Diskontinuitas intensitas citra dapat merupakan : a. Diskontinuitas langkah, dimana intensitas citra berubah secara tiba-tiba dari satu nilai pada satu sisi ke nilai yang berbeda pada sisi lainnya. b. Diskontinuitas garis, dimana intensitas citra berubah secara tiba-tiba tetapi kembali ke nilai semula dalam jarak yang relatif pendek.
15 c. Diskontinuitas landai, merupakan perubahan diskontinuitas langkah karena perubahan intensitas sebagian piksel-piksel penyusun citra. Ini terjadi pada citra yang dihasilkan oleh kamera atau alat pemindaian foto yang menerapkan filter frekuensi rendah atau metoda penghalusan dalam pengambilan citra, sehingga perbedaan yang tajam dalam intensitas jarang muncul dalam citra yang direkam karena intensitas yang direkam sudah mengalami pengolahan awal oleh perangkat keras. d. Diskontinuitas atap, merupakan perubahan diskontinuitas garis, dimana perubahan intensitas tidak lagi secara mendadak, tetapi muncul dalam jarak tertentu atau bergradasi. Profil-profil tepi tersebut diilustrasikan dalam gambar berikut ini.
Gambar 2.3 Diskontinuitas langkah
Gambar 2.5 Diskontinuitas Landai
Gambar 2.4 Diskontinuitas Garis
Gambar 2.6 Diskontinuitas Atap
16 Istilah-istilah yang perlu diketahui dari algoritma pelacakan tepi pada umumnya adalah : 1) Sebuah titik tepi adalah sebuah titik dengan koordinat (x,y) pada lokasi yang intensitasnya berubah secara lokal dan berbeda nyata. 2) Sebuah potongan garis tepi berkorespondensi dengan koordinat x dan y dari sebuah tepi dengan arah sudut Ө yang merupakan sudut gradien. 3) Detektor tepi adalah sebuah algoritma yang menghasilkan sebuah set dari tepi (titik tepi atau potongan garis tepi) dari sebuah obyek di dalam citra. 4) Kontur adalah sebuah deret dari tepi atau kurva matematika yang merupakan model deret dari tepi. 5) Penyambungan tepi adalah proses pembentukan deret yang beraturan dari deret yang tidak beraturan. Konvensi yang ditetapkan adalah tepi obyek tersusun secara melintang dengan arah sesuai dengan jarum jam. 6) Penelusuran tepi adalah proses pengolahan citra untuk menemukan kontur.
2.5.2
Gradien
Pelacakan tepi pada dasarnya merupakan operasi untuk menemukan perubahan intensitas lokal yang berbeda nyata dalam sebuah bidang citra. Dalam media satu dimensi, sebuah tepi dihubungkan dengan puncak lokal pada fungsi turunan pertama dari intensitas. Gradien adalah hasil pengukuran perubahan dalam sebuah fungsi intensitas, dan sebuah citra dapat dipandang sebagai kumpulan beberapa fungsi intensitas kontinyu dari citra. Perubahan mendadak pada nilai intensitas dalam suatu citra dapat dilacak menggunakan perkiraan diskret pada gradien. Gradien adalah kesamaan dua dimensi
17 dari turunan pertama dan didefinisikan sebagai vektor yang didefinisikan dalam persamaan berikut ini.
⎡ ∂f ⎤ G ⎡ x⎤ ⎢ ⎥ G[ f ( x, y )] = ⎢ ⎥ = ⎢ ∂∂fx ⎥ ⎣G y ⎦ ⎢ ⎥ ⎣⎢ ∂y ⎦⎥
…………………………
(2.2)
Dua sifat gradien yang berhubungan dengan pelacakan tepi suatu obyek adalah : a. Vektor G[f(x,y)] menunjukkan arah penambahan laju maksimum dari fungsi f(x,y). b. Besaran gradien sama dengan penambahan laju dari fungsi f(x,y) per satuan jarak dalam arah G. Dalam praktek pada pengolahan citra digital, besaran gradien didekati dengan niai absolut persamaan berikut.
G[ f ( x, y )] = G x + G y atau …………………………
(
G[ f ( x, y )] = max G x , G y
)
…………………………
(2.3) (2.4)
Adapun arah dari suatu gradien dapat dinyatakan dengan menggunakan analisis vektor, yaitu sebagai berikut. ⎛ Gx ⎞ ⎟ ⎟ G ⎝ y⎠
α ( x, y ) = tan −1 ⎜⎜
………………………..
(2.5)
18 Untuk keperluan analisis pada citra digital, turunan pada persamaan 6.1 akan lebih mudah bila didekati dengan persamaan diferensial. Pendekatan gradien yang paling sederhana menggunakan persamaan diferensial ini adalah :
2.5.3
G x ≅ f ( x + 1, y ) − f ( x, y )
………………………..
(2.6)
G x ≅ f ( x, y ) − f ( x, y + 1)
………………………..
(2.7)
Langkah-langkah Pelacakan Tepi
Algoritma yang dikembangkan untuk melakukan pelacakan tepi suatu obyek mengandung tiga langkah sebagai berikut : a. Pengaburan Operasi pengaburan (smoothing) diperlukan untuk meningkatkan kinerja dari sebuah pelacak tepi dalam kaitannya dengan noise. Karena perhitungan gradien hanya didasarkan pada nilai intensitas dua buah titik sangat berpengaruh pada noise. Namun semakin kuat pengaruh pengaburan, semakin lemah kekuatan pengaruh noise, dan semakin lemah keberadaan suatu tepi. Dengan kata lain upaya mengurangi pengaruh noise akan berakibat pula pada hilangnya informasi tepi pada beberapa lokasi, terutama yang kondisinya sudah lemah. b. Penguatan Operasi penguatan adalah sebagai upaya memfasilitasi pelacakan tepi dengan cara menciptakan kondisi yang menunjang pelacakan, yang sangat penting untuk menguatkan perubahan dalam intensitas pada lingkungan suatu titik. Penguatan ditekankan pada piksel dimana terdapat perubahan yang berbeda nyata dalam nilai intensitas lokal dan biasanya dilakukan dengan menghitung
19 besaran gradien. Jadi penguatan perubahan intensitas lokal ini adalah tidak lain adalah transformasi fungsi intensitas menjadi fungsi turunannya sehingga pikselpiksel yang terletak di sekitar tepi obyek menguat, sedangkan piksel-piksel pada lokasi lainnya melemah, terlepas dari berintensitas rendah atau tinggi sebelumnya. c. Pelacakan Dalam operasi pelacakan tepi, titik-titik yang diinginkan adalah titik-titik dengan informasi tepi yang kuat. Namun pada kenyataannya akan banyak sekali titik di dalam sebuah citra yang memiliki gradien yang bukan nol, dan tidak semua titik-titik ini adalah tepi obyek untuk aplikasi tertentu. Oleh sebab itu, harus ada suatu cara untuk menentukan titik-titik yang mana saja yang merupakan tepi dari suatu obyek. Seringkali operasi thresholding atau pengelompokan piksel-piksel dapat digunakan untuk pelacakan berdasarkan kriteria yang digunakan.
Langkah-langkah diatas adalah urutan yang tidak dapat ditukar posisinya. Perlu diketahui pelacakan hanyalah mengindikasikan bahwa suatu tepi berada dekat suatu piksel dalam sebuah citra, tetapi tidak berarti menghasilkan perkiraan yang akurat dari lokasi atau arah suatu tepi. Dengan demikian suatu pelacakan tepi obyek dapat menimbulkan kesalahan. Kesalahan dalam pelacakan tepi dibedakan menjadi tiga macam, yaitu kesalahan klasifikasi, tepi yang salah dan tepi yang hilang.
20 2.5.4
Teknik Pelacakan Tepi
Pemilihan teknik pelacakan tepi yang tepat dapat dilakukan dengan mengetahui sifat-sifat citra dan menentukan hasil pelacakan yang diinginkan. Beberapa teknik pelacakan tepi yang umumnya digunakan karena sederhana dan cukup ampuh dalam usaha menemukan tepi obyek adalah operator sederhana, operator Roberts, operator Sobel, operator Prewitt, dan operator Canny. Kemampuan tiap operator pelacak tepi dapat diketahui dengan cara melihat hasil operasi dari setiap operator tersebut terhadap citra yang sama dan membandingkannya satu sama lain secara visual. Ada juga operator pelacak tepi turunan kedua, yaitu operator Laplacian dan operator Laplacian Gaussian.
a. Operator Turunan Pertama 1) Operator Sederhana
Operator pelacak tepi ini dibuat berdasarkan dua persamaan sederhana (persamaan dituliskan dibawah ini). Hal ini disebabkan operator ini hanya melibatkan sedikit piksel-piksel disekitarnya, yaitu satu piksel saja pada operator 2x1 dan tiga piksel pada operator 2x2. Oleh karena titik pusat jendela semacam ini terletak diantara dua dan empat piksel, bukan pada satu piksel, hasil perhitungan besaran gradien harus diletakkan pada salah satu piksel diantaranya. Pemilihan piksel ini dapat dilakukan secara bebas di antara piksel-piksel yang terlibat, asalkan konsisten. Biasanya dipilih piksel kiri atau kanan pada operator 2x1, dan dipilih piksel kiri atas pada operator berukuran 2x2.
21
Gx =
-1 1
Gy =
1 -1
…... (2.8)
Operator 2x1
-1 1
Gx =
-1 1
1
Gy =
1
-1 -1
...… (2.9)
Operator 2x2
2) Operator Roberts
Operator Roberts adalah salah satu operator yang menggunakan jendela dengan ukuran 2x2 piksel seperti halnya operator sederhana. Perbedaannya terletak pada penentuan arah dalam nilai gradien, yaitu mengambil arah diagonal. Pendekatan yang digunakan terhadap besaran gradien dalam operator Roberts adalah :
G f ( x, y ) = G x + G y
………………………
(2.10)
Dengan Gx dan Gy dihitung menggunakan tutup sebagai berikut.
Gx =
1
0
0 -1
Gy =
0 -1 1
0
……….........
(2.11)
22
3) Operator Sobel
Operator Sobel menggunakan jendela 3x3 untuk perhitungan gradien, sehingga perkiraan gradien berada tepat ditengah jendela. Misalkan susunan dari piksel-piksel di sekitar piksel p 0 = ( x, y ) adalah sebagai berikut. p1
p2
p3
p8
(x, y )
p4
p7
p6
p5
Gambar 2.7 Susunan piksel-piksel tetangga dari piksel p 0 = ( x, y )
Maka berdasarkan susunan piksel-piksel tetangga tersebut, besaran gradien yang dihitung menggunakan operator Sobel adalah : 2
M = sx + s y
2
………………
(2.12)
Dimana M adalah besaran gradien yang dihitung pada titik tengah jendela dan turunan parsial dihitung dengan persamaan
s x = ( p3 + cp 4 + p5 ) − ( p1 + cp8 + p 7 )
………………
(2.13)
s y = ( p1 + cp 2 + p3 ) − ( p 7 + cp6 + p5 )
………………
(2.14)
Dengan c suatu konstanta bernilai 2. Seperti dalam perhitungan gradien pada operator pelacak tepi lainnya, s x dan s y dapat diimplementasikan menggunakan jendela dibawah ini.
23
-1 0 1 =
sx
-2 0 2
sy
=
-1 0 1
1
2
1
0
0
0
…
(2.15)
-1 -2 -1
4) Operator Prewitt
Operator Prewitt menggunakan persamaan yang sama dengan operator Sobel, kecuali konstanta c bernilai sama dengan 1. Dengan demikian dalam operator Prewitt, jendelanya menjadi seperti dibawah ini.
-1 0 1
sx =
-1 0 1 -1 0 1
sy
=
1
1
1
0
0
0
…
(2.16)
-1 -1 -1
5) Operator Canny
Langkah-langkah deteksi tepi dengan teknik Canny adalah sebagai berikut: 1. Smoothing terhadap citra menggunakan Gaussian filter untuk mengurangi noise dan tekstur yang tidak diinginkan.
g (m.n) = Gσ (m, n) * f (m, n) ………………………
(2.17)
24 Dimana :
Gσ =
⎡ m2 + n2 ⎤ exp ⎢− ⎥ 2σ 2 ⎦ 2πσ 2 ⎣ 1
………………….. (2.18)
2. Hitung gradien menggunakan operasi Roberts, Sobel, Prewitt, atau lainnya) untuk mendapatkan :
2
2
M (m, n) = g m (m, n) + g n (m, n)
…………. (2.19)
Dan
θ (m, n) = tan −1 [g n (m, n) / g m (m, n)]
……….… (2.20)
3. Hitung threshold M
⎧M (m, n) if M (m, n) > T M T (m, n) = ⎨ 0 selain itu ⎩
……… (2.21)
Dimana T adalah semua elemen tepi yang disimpan ketika noise dikurangi. 4. Kurangi piksel non-maxima pada tepi M T yang diperoleh dari perhitungan
sebelumnya
untuk
menipiskan
tepi.
Untuk
memperolehnya, cek apakah salah satu dari non-zero M T (m, n) lebih
25 besar dari dua tetangganya sepanjang arah gradien θ (m, n) . Apabila lebih besar, simpan M T , selain itu set ke 0. 5. Hitung threshold hasil sebelumnya dengan dua threshold yang berbeda yaitu T1 dan T2 (dimana T1 < T2 ) untuk mendapatkan dua citra biner T1 dan T2 . Catatan bahwa T1 , T2 mempunyai noise yang lebih sedikit dan beberapa kesalahan tepi tetapi mempunyai jarak antara segmen tepi yang lebih besar. 6. Hubungkan segmen tepi di T2 untuk mendapatkan tepi yang berhubungan. Untuk mendapatkannya, lacak segmen tepi T2 lalu cari tetangga di T1 untuk menemukan segmen tepi yang lain di T1 yang digunakan untuk menyatukan jarak yang ada sampai mendapatkan segmen tepi di T2 .
b. Operator Turunan Kedua 1) Operator Laplacian
Turunan kedua dari tepi berjenis landai adalah sebuah fungsi yang memotong sumbu x pada lokasi tepi. Laplacian adalah kesamaan dua dimensi dari turunan kedua untuk fungsi tersebut. Rumus Laplacian untuk fungsi f(x,y) adalah: ∇2 f =
∂2 f ∂2 f + ∂x 2 ∂y 2
…………………
(2.22)
26 Turunan kedua sepanjang arah x diperkirakan dengan persamaan diferensial adalah : ∂2 f = f ( x + 1, y ) − 2 f (x, y ) + f ( x − 1, y ) ∂x
…………………
(2.23)
Turunan kedua sepanjang arah y diperkirakan dengan persamaan diferensial adalah : ∂2 f = f ( x, y + 1) − 2 f (x, y ) + f ( x, y − 1) ∂y 2
…………………
(2.24)
Dengan menggabungkan kedua persamaan 2.23 dan 2.24 menjadi operator tunggal, jendela yang dapat digunakan untuk menduga Laplacian adalah : 1
∇ =
4
1
2
4 -20 4 1
4
……………………...
(2.25)
1
2) Operator Laplacian Gaussian
Titik-titik tepi yang dilacak sangat sensitif terhadap noise. Oleh sebab itu, diperlukan suatu filter yang dapat melemahkan noise sebelum penguatan tepi dilakukan. Hal ini dapat dilakukan sekaligus dengan Laplacian Gaussian, yang merupakan kombinasi dari Gaussian filter dan pelacak tepi Laplacian.
27 2.5.5
Contoh Deteksi Tepi
Dibawah ini adalah contoh deteksi tepi :
Gambar 2.8 Citra Asli Sebelum Deteksi Tepi
Contoh deteksi tepi menggunakan operator Roberts, Sobel dan Prewitt :
Gambar 2.9 Citra Hasil Deteksi Tepi Menggunakan Operator Roberts, Sobel dan Prewitt
28 Contoh deteksi tepi menggunakan operator Laplacian of Gaussian :
Gambar 2.10 Citra Hasil Deteksi Tepi Menggunakkan Operator Laplacian of Gaussian
Contoh deteksi tepi menggunakan operator Canny ( σ = 1,2,3 T1 = 0.3 T2 = 0.7) :
Gambar 2.11 Citra Hasil Deteksi Tepi Menggunakan Operator Canny
29 2.6 Feature
Menurut Parker (1993), feature adalah semua pengukuran yang dilakukan terhadap suatu citra. Feature dari suatu citra dapat berupa warna, ukuran, orientasi, panjang dan kemiringan garis, jari-jari, dll, yang diperoleh dari suatu proses ekstraksi. Feature harus bisa dihitung, mempunyai kemampuan pembeda yang besar, dan mencerminkan citra yang diwakili. Kombinasi dari N feature direpresentasikan dalam bentuk matriks 1 kolom kali N baris yang disebut dengan feature vector. Ruang berdimensi N yang dibentuk oleh N Feature vector disebut feature space. Objek direpresentasikan sebagai titik-titik di dalam feature space dan representasi ini dikenal sebagai scatter plot. ⎡ X 1⎤ ⎢ X 2⎥ X=⎢ ⎥ ⎢ ... ⎥ ⎢ ⎥ ⎣ Xn ⎦ Gambar 2.12 Feature Vector x3
x
x1
Gambar 2.13 Feature Space (3D)
x2
30
Class 1
Class 3
Class 2
Gambar 2.14 Scatter Plot (2D)
2.7 Pengenalan Pola (Pattern Recognition)
Menurut
Fairhurst
(1998),
pengenalan
pola
merupakan
bidang
yang
berhubungan dengan proses identifikasi obyek pada citra atau interpretasi citra. Proses ini bertujuan untuk mengekstrak informasi yang disampaikan oleh citra. Pengenalan pola mempunyai arti bidang studi yang melakukan proses analisis citra yang bentuk masukannya adalah citra itu sendiri atau dapat juga berupa citra digital dan bentuk keluarannya adalah suatu deskripsi. Tujuan pengenalan pola adalah untuk meniru kemampuan manusia dalam mengenali obyek tertentu (Pearson, 1991).
31 2.7.1
Template Matching a. Definisi Template Matching
Menurut Roland Miezianko, definisi Template Matching adalah : 1) Teknik yang digunakan untuk mengklasifikasikan obyek. 2) Teknik Template Matching membandingkan potongan-potongan citra yang satu dengan lainnya. 3) Citra sample dapat digunakan untuk mengenali objek yang serupa didalam source image. 4) Jika standard deviasi dari template image yang dibandingkan dengan source image cukup kecil, maka metode template matching dapat digunakan. 5) Template sering digunakan untuk mengenali printed characters, angka, dan objek sederhana lainnya.
Template matching merupakan teknik pengenalan pola yang paling sederhana. Pola diidentifikasi dengan cara membandingkan pola masukkan (input pattern) dengan daftar representasi pola yang telah disimpan. Representasi pola yang disimpan tersebut disebut template (Pearson,1991).
32 b. Metode Template Matching
I(x,y)
O(x,y) Correlation
x, y
x, y
Template Image
Input Image
Output Image
Gambar 2.15 Metode Template Matching
Proses matching memindahkan template image ke tempat yang memungkinkan di dalam source image, lalu menghitung index yang megindikasikan seberapa besar kecocokan template itu dalam posisi tersebut. Proses matching dilakukan berdasarkan pixel-by-pixel.
c. Citra Bi – Level
Template adalah citra yang berukuran kecil, khususnya citra bi-level.
Template
Source Image Gambar 2.16 Citra Bi-Level
33 d. Citra Gray Level
Pada metode template matching yang digunakan untuk citra gray level tidak mungkin ditemukan kecocokan yang sempurna.
Template
Source Image Gambar 2.17 Citra Gray Level
e. Euclidean Distance
Rumus euclidean distance adalah : d ( I , g , r , c) =
n
m
∑∑ (I (r + i, c +
j ) − g (i, j ) )
2
i =1 j =1
Dimana : I
: citra gray level
g
: gray value template dengan ukuran n x m
(r,c)
: ujung kiri atas dari template g
………..
(2.26)
34 f. Correlation
Correlation adalah sudut pandang dari suatu pengukuran dua buah variabel yang tidak berada dalam nilai yang aktual, tetapi merupakan suatu pandangan umum. Dua buah variabel tersebut merupakan piksel yang berkorespondensi dalam dua buah citra, template dan source. Rumus Correlation Gray Level
cor =
∑
N −1
i =0
( xi − x ) ⋅ ( yi − y )
N −1
N −1
i =0
i =0
2 2 ∑ (xi − x ) ⋅ ∑ ( yi − y )
…………………
(2.27)
dimana : x
: template citra gray level
x
: rata-rata gray level dalam template image
y
: source image section
y
: rata-rata gray level dalam source image
N
: jumlah piksel dalam citra
(N = ukuran template image = kolom * baris)
Besarnya cor adalah antara -1 sampai +1, dengan makin besarnya nilai cor menunjukkan makin kuatnya hubungan kedua citra tersebut.
35 g. Contoh dalam MATLAB
Template Data Set 1
Data Set 3
Data Set 4
Data Set 2
Data Set 5
Gambar 2.18 Contoh Template Matching dalam MATLAB
2.7.2
Histogram
Definisi histogram (http://www.thefreedictionary.com) adalah grafik batang yang mencerminkan frekuensi tertentu. Lebar masing-masing grafik batang tersebut mencerminkan interval variabel yang diamati, sedangkan tinggi masing-masing grafik batang tersebut mencerminkan nilai frekuensi variabel yang diamati. Untuk menghasilkan nilai yang akan diamati, digunakan intensitas keabuan dari citra dan jumlah piksel.
36 2.8 Uang 2.8.1
Sejarah Uang
Uang yang kita kenal sekarang ini mengalami proses perkembangan yang panjang. Adapun tahapan-tahapan perkembangan uang adalah sebagai berikut. a. Tahap Sebelum Barter Pada tahap ini masyarakat belum mengenal pertukaran karena setiap orang berusaha memenuhi kebutuhannnya dengan usaha sendiri. Apa yang diperolehnya itulah yang dimanfaatkan untuk memenuhi kebutuhannya. b. Tahap Barter Tahap perkembangan selanjutnya mengahadapkan manusia kepada kenyataan bahwa apa yang diproduksi sendiri tidak cukup untuk memenuhui kebutuhannya. Untuk memperoleh barang-barang yang tidak dapat dihasilkan sendiri mereka mencari orang yang mau menukarkan barang yang dimilikinya dengan barang lain yang dibutuhkannya. Akibatnya barter, yaitu barang yang ditukar dengan barang. Namun pada akhirnya, banyak kesulitan-kesulitan yang dirasakan dengan sistem ini, di antaranya : 1) Kesulitan untuk menemukan orang yang mempunyai barang yang diinginkan dan juga mau menukarkan barang yang dimilikinya. 2) Kesulitan untuk memperoleh barang yang dapat dipertukarkan satu sama lainnya dengan nilai pertukaran yang seimbang atau hampir sama nilainya. 3) Untuk
mengatasinya,
mulailah
timbul
pikiran-pikiran
untuk
menggunakan benda-benda tertentu untuk digunakan sebagai alat tukar.
37 c. Tahap uang barang Pada masa ini timbul benda-benda yang selalu dipakai dalam pertukaran. Kesulitan yang dialami oleh manusia dalam barter adalah kesulitan mempertemukan
orang-orang
yang
saling
membutuhkan
dalam
waktu
bersamaan. Kesulitan itu telah mendorong manusia untuk menciptakan kemudahan dalam hal pertukaran, dengan menetapkan benda-benda tertentu sebagai alat tukar. Benda-benda yang ditetapkan sebagai alat pertukaran adalah benda-benda yang diterima oleh umum (generaly accepted). Benda-benda yang dipilih bernilai tinggi (sukar diperoleh atau memiliki nilai magis dan mistik), atau benda-benda yang merupakan kebutuhan primer sehari-hari. Misalnya , garam oleh orang Romawi digunakan sebagai alat tukar, maupun sebagai alat pembayaran upah. Pengaruh orang Romawi tersebut masih terlihat sampai sekarang. Orang Inggris menyebut upah sebagai salary yang berasal dari bahasa Latin salarium yang berarti garam. Orang Romawi membayar upah dengan
salarium (garam). Meskipun alat tukar sudah ada, kesulitan dalam pertukaran tetap ada. Kesulitan-kesulitan itu antara lain sebagai berikut : 1) Nilai yang dipertukarkan belum mempunyai pecahan. 2) Banyak jenis uang barang yang beredar dan hanya berlaku di masingmasing daerah. 3) Sulit untuk penyimpanan (storage) dan pengangkutan (transportation). 4) Mudah hancur atau tidak tahan lama.
38 d. Tahap uang logam Tahap selanjutnya adalah tahap uang logam. Logam dipilih sebagai bahan uang karena : 1) Digemari umum. 2) Tahan lama dan tidak mudah rusak. 3) Memiliki nilai tinggi. 4) Mudah dipindah-pindahkan. 5) Mudah dipecah-pecah dengan tidak mengurangi nilainya.
Bahan yang memenuhi syarat-syarat tersebut adalah emas dan perak. Uang terbuat dari emas dan perak disebut dengan uang logam. Uang logam emas dan perak juga disebut sebagai Uang penuh (full bodied money), artinya nilai intrinsik (nilai bahan uang) sama dengan nilai nominalnya (nilai yang tercantum pada mata uang tersebut). Pada saat itu, setiap orang menempa uang, melebur, menjual, dan memakainya dan setiap orang mempunyai hak tidak terbatas dalam menyimpan uang logam. Sejalan dengan perkembangan perekonomian, maka perkembangan tukarmenukar yang harus dilayani dengan uang logam juga berkembang, sedangkan jumlah logam mulia (emas dan perak) terbatas. Penggunaan uang logam juga sulit dilakukan untuk transaksi dalam jumlah besar (sulit dalam pengangkutan dan penyimpanan). Sehingga lahirlah uang kertas.
39 e. Tahap uang kertas Mula-mula uang kertas yang beredar merupakan bukti-bukti pemilikan emas dan perak sebagai alat/perantara untuk melakukan transaksi. Dengan kata lain, uang kertas yang beredar pada saat itu merupakan uang yang dijamin 100% dengan emas atau perak yang disimpan di pandai emas atau perak dan sewaktuwaktu dapat ditukarkan penuh dengan jaminannya. Selanjutnya, masyarakat tidak lagi menggunakan emas (secara langsung) sebagai alat pertukaran. Sebagai gantinya, mereka menjadikan kertas bukti tersebut sebagai alat tukar.
2.8.2
Jenis-jenis uang
Jenis-jenis uang menurut bahan pembuatnya : 1) Uang logam Uang logam biasanya terbuat dari emas atau perak karena emas dan perak memenuhi syarat-syarat uang yang efisien. Karena harga emas dan perak yang cenderung tinggi dan stabil, emas dan perak mudah dikenali dan diterima orang. Di samping itu, emas dan perak tidak mudah musnah. Emas dan perak juga mudah dibagi-bagi menjadi unit yang lebih kecil. Di zaman sekarang, uang logam tidak dinilai dari berat emasnya, namun dari nilai nominalnya. Nilai nominal itu merupakan pernyataan bahwa sejumlah emas dengan berat tertentu terkandung di dalamnya. Uang logam memiliki tiga macam nilai : a) Nilai Intrinsik yaitu nilai bahan untuk membuat mata uang, misalnya berapa nilai emas dan perak yang digunakan untuk mata uang.
40 b) Nilai Nominal yaitu nilai yang tercantum pada mata uang atau cap harga yang tertera pada mata uang. Misalnya seratus rupiah (Rp. 100,00), atau lima ratus rupiah (Rp. 500,00). c) Nilai Tukar, nilai tukar adalah kemampuan uang untuk dapat ditukarkan dengan suatu barang (daya beli uang). Misalnya uang Rp. 500,00 hanya dapat ditukarkan dengan sebuah permen, sedangkan Rp. 10.000,00 dapat ditukarkan dengan semangkuk bakso). 2) Uang kertas Uang kertas adalah uang yang terbuat dari kertas dengan gambar dan cap tertentu dan merupakan alat pembayaran yang sah. Menurut penjelasan UU No. 23 tahun 1999 tentang Bank Indonesia, yang dimaksud dengan uang kertas adalah uang dalam bentuk lembaran yang terbuat dari bahan kertas atau bahan lainnya (yang menyerupai kertas).
2.8.3
Uang Dollar Amerika a. Sejarah Uang Dollar
Ada dua sumber dari asal mula dollar, yaitu satu berasal dari simbol $ dan kata “dollar”. Kata ‘dollar’ diperkenalkan oleh seorang Belanda di kawasan koloni Amerika Utara. Pada abad ke-17, kata 'Leeuwendaalders' atau Liondollars sangat populer di koloni Inggris. Pengucapan kata 'daalder' dalam bahasa Belanda sangat mirip dengan kata ‘dollar’ yang didasari dari kata ‘taler’ yang berasal dari bahasa Jerman.
41 b. Uang Dollar Amerika Masa Kini
Uang Dollar Amerika yang digunakan dunia internasional pada masa kini adalah : 1) U.S. $100, bergambar Benjamin Franklin.
Gambar 2.19 Dollar Amerika Pecahan 100
2) U.S. $50, bergambar Presiden Ulysses S. Grant.
Gambar 2.20 Dollar Amerika Pecahan 50
3) U.S. $20, bergambar Presiden Andrew Jackson.
Gambar 2.21 Dollar Amerika Pecahan 20
42 4) U.S. $10, bergambar Alexander Hamilton.
Gambar 2.22 Dollar Amerika Pecahan 10
5) U.S. $5, bergambar Presiden Abraham Lincoln. Pada tahun 2008 desain uang ini akan berubah seperti pecahan diatas.
Gambar 2.23 Dollar Amerika Pecahan 5
6) U.S. $2, bergambar Presiden Thomas Jefferson.
Gambar 2.24 Dollar Amerika Pecahan 2
43 7) U.S. $1, bergambar Presiden George Washington.
Gambar 2.25 Dollar Amerika Pecahan 1
2.9 Flowchart
Diagram alir merupakan alat bantu pemrograman yang biasanya digunakan sebagai alat bantu pemrograman. Bagan alir (flowchart) membantu programmer dalam mengorganisasikan pemikiran mereka dalam pemrograman, terutama bila dibutuhkan penalaran yang tajam dalam logika prosedur suatu program (Jones, 1980).