BAB 2
TINJAUAN TEORITIS
2.1
Citra
Citra merupakan istilah lain untuk gambar sebagai salah satu komponen multimedia memegang peranan sangat penting sebagai bentuk informasi visual. Citra mempunyai karakteristik yang tidak dimiliki oleh data teks, yaitu citra kaya dengan informasi. Ada sebuah peribahasa yang berbunyi “sebuah gambar bermakna lebih dari seribu kata” (a picture is more than a thousand words). Maksudnya tentu sebuah gambar dapat memberikan informasi yang lebih banyak daripada informasi tersebut disajikan dalam bentuk kata-kata (tekstual). Secara umum, citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dari objek. Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optik berupa foto, bersifat analog berupa sinyal – sinyal video seperti gambar pada monitor televisi atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpanan.
2.1.1 Citra Analog
Citra analog adalah citra yang bersifat kontinu, seperti gambar pada monitor televisi, foto
sinar
X,
foto
yang
tercetak
dikertas
foto,
lukisan,
pemandangan
Universitas Sumatera Utara
alam. Citra analog tidak dapat direpresentasikan dalam komputer sehingga tidak bisa 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, sensor rontgen untuk foto thorax dan sensor gelombang pendek pada sistem radar.
2.1.2 Citra Digital
Citra digital adalah citra yang bersifat diskrit yang dapat diolah oleh komputer. Citra ini dapat dihasilkan melalui kamera digital dan scanner ataupun citra yang telah mengalami proses digitalisasi. Sebuah citra
berukuran 150 x 100 pixel dapat
dinyatakan dengan matriks yang berukuran sesuai dengan pikselnya atau biasa dinyatakan dalam ukuran N x M dimana N untuk baris dan M untuk kolom. Misalnya diambil suatu kotak kecil dari bagian citra direpresentasikan dengan matriks berukuran 9 x 9, seperti terlihat pada Gambar 2.1.
150 pixel
128 121 110 100 85 58 41 43 60
125
107
105
110
118
116
114
122 114
115 112
108 107
106 105
116 108
116 106
116 106
96 82 58
100 81 56
99 80 54
94 76 53
94 75 52
101 80 51
101 82 49
41
41
39
39
36
36
35
43 60
42 59
43 59
41 60
41 59
41 59
43 58
110 107 100 69 72 45 33 40 56
Gambar 2.1 Representasi Citra Digital Sumber : Gonzales, Rafael C, Richard E. Woods (2003 : 25)
Universitas Sumatera Utara
2.2 Pengolahan Citra Digital
Pengolahan citra merupakan proses untuk menghasilkan citra sesuai dengan keinginan atau kualitasnya menjadi lebih baik. Inputannya adalah citra dan keluarannya juga citra tapi dengan kualitas lebih baik daripada citra masukan. Misal citra warnanya kurang tajam, kabur (blurring) dan mengandung noise (misal bintik-bintik putih) sehingga perlu ada pemrosesan untuk memperbaiki citra karena citra tersebut menjadi sulit diinterpretasikan karena informasi yang disampaikan menjadi berkurang. Adapun contoh dari implementasi pengolahan citra digital seperti ditunjukkan pada Gambar 2.2.
(a)
(b)
Gambar 2.2 Citra Lena yang agak kabur (a), Citra Lena yang diperbaiki (b) Sumber : Gonzales, Rafael C, Richard E. Woods (2003 : 36)
Umumnya, operasi-operasi pengolahan citra diterapkan pada citra bila :
1. Perbaikan atau modifikasi citra untuk meningkatkan kualitas visual atau menonjolkan beberapa aspek informasi yang terkandung dalam citra. 2. Elemen di dalam citra perlu di kelompokkan, dicocokkan atau diukur. 3. Sebagian citra perlu digabung dengan bagian citra yang lain.
Di dalam bidang komputer, ada tiga bidang studi yang berkaitan dengan citra, namun tujuan ketiganya berbeda, yaitu :
Universitas Sumatera Utara
1. Grafika Komputer Grafika komputer adalah proses untuk menciptakan suatu citra berdasarkan deskripsi maupun latar belakang yang terkandung dalam citra tersebut, seperti terlihat pada Gambar 2.3, di mana grafika komputer sangat berperan dalam visualisasi dan virtual reality.
Grafika komputer
Data deskriptif
Citra
Gambar 2.3 Grafika Komputer
2. Pengolahan Citra Pengolahan Citra merupakan proses perbaikan atau modifikasi citra dilakukan untuk meningkatkan kualitas penampakan citra tersebut, seperti terlihat pada Gambar 2.4. Contoh aplikasi dari pengolahan citra antara lain perbaikan kontras gelap, perbaikan tepian objek, penajaman dan pemberian warna semu. Steganography dan watermarking juga termasuk dalam bagian studi citra ini.
Citra
Citra
Pengolahan Citra
Gambar 2.4 Pengolahan Citra Sumber : Baxes, Gregory (1994 : 63)
3. Pengenalan Pola Pengenalan Pola adalah proses mengelompokkan data numerik dan simbolik (termasuk citra) secara otomatis oleh komputer, seperti terlihat pada Gambar 2.5. Tujuan dari pengelompokkan adalah untuk mengenali suatu objek di dalam citra. Komputer akan menerima masukan berupa citra objek yang akan diidentifikasi kemudian memproses citra tersebut dan memberikan keluaran berupa informasi atau deskripsi objek di dalam citra.
Universitas Sumatera Utara
Citra Objek
Informasi/Deskripsi objek
Pengenalan Pola
Gambar 2.5 Pengenalan Pola Sumber : Baxes, Gregory (1994 : 67)
Operasi-operasi yang dilakukan di dalam pengolahan citra banyak ragamnya. Namun, secara umum, operasi pengolahan citra dapat diklasifikasikan dalam beberapa jenis sebagai berikut:
a. Perbaikan kualitas citra (image enhancement). Jenis operasi ini bertujuan untuk memperbaiki kualitas citra dengan cara memanipulasi parameter-parameter citra. Dengan operasi ini, ciri-ciri khusus yang terdapat di dalam citra lebih ditonjolkan. Contoh-contoh operasi perbaikan citra :
1. Perbaikan kontras gelap / terang 2. Perbaikan tepian objek (edge enhancement) 3. Penajaman (sharpening) 4. Pemberian warna semu (pseudocoloring) 5. Penapisan derau (noise filtering)
Gambar 2.6 di bawah ini adalah contoh operasi penajaman. Operasi ini menerima masukan sebuah citra yang gambarnya hendak dibuat tampak lebih tajam. Bagian citra yang ditajamkan adalah tepi-tepi objek.
Universitas Sumatera Utara
(a)
(b)
Gambar 2.6 (a) Citra Lena asli, (b) Citra Lena setelah ditajamkan Sumber : Gonzales, Rafael C, Richard E. Woods (2003 : 53)
b. Pemugaran citra (image restoration). Operasi ini bertujuan menghilangkan/meminimumkan cacat pada citra. Tujuan pemugaran citra hampir sama dengan operasi perbaikan citra. Bedanya, pada pemugaran citra penyebab degradasi gambar diketahui. Contoh-contoh operasi pemugaran citra:
1. Penghilangan kesamaran (deblurring). 2. Penghilangan derau (noise)
Gambar 2.7 di bawah ini adalah contoh operasi penghilangan kesamaran. Citra masukan adalah citra yang tampak kabur (blur). Kekaburan gambar mungkin disebabkan pengaturan fokus lensa yang tidak tepat atau kamera bergoyang pada pengambilan gambar. Melalui operasi deblurring, kualitas citra masukan dapat diperbaiki sehingga tampak lebih baik.
Universitas Sumatera Utara
(a)
(b)
Gambar 2.7 Citra Lena yang kabur (blur) (a), citra Lena setelah deblurring (b) Sumber : Gonzales, Rafael C, Richard E. Woods (2003 : 74)
c. Pemampatan citra (image compression). Jenis operasi ini dilakukan agar citra dapat direpresentasikan dalam bentuk yang lebih kompak sehingga memerlukan memori yang lebih sedikit. Hal penting yang harus diperhatikan dalam pemampatan adalah citra yang telah dimampatkan harus tetap mempunyai kualitas gambar yang bagus. Contoh metode pemampatan citra adalah metode JPG, seperti ditunjukkan pada Gambar 2.8. Gambar sebelah kiri adalah citra kapal yang berukuran 258 KB. Hasil pemampatan citra dengan metode JPG dapat mereduksi ukuran citra semula sehingga menjadi 49 KB saja.
(a)
(b)
Gambar 2.8 (a) Citra boat.bmp (258 KB) sebelum dimampatkan, (b) citra boat.JPG (49 KB) sesudah dimampatkan Sumber : Gonzales, Rafael C, Richard E. Woods (2003 : 84)
Universitas Sumatera Utara
d. Segmentasi citra (image segmentation). Jenis operasi ini bertujuan untuk memecah suatu citra ke dalam beberapa segmen dengan suatu kriteria tertentu. Jenis operasi ini berkaitan erat dengan pengenalan pola.
e. Pengorakan citra (image analysis) Jenis operasi ini bertujuan menghitung besaran kuantitif dari citra untuk menghasilkan deskripsinya. Teknik pengorakan citra mengekstraksi ciri-ciri tertentu yang membantu dalam identifikasi objek. Proses segmentasi kadangkala diperlukan untuk melokalisasi objek yang diinginkan dari sekelilingnya. Contoh-contoh operasi pengorakan citra:
1. Pendeteksian tepi objek (edge detection) 2. Ekstraksi batas (boundary) 3. Representasi daerah (region)
Gambar 2.9 di bawah ini adalah contoh operasi pendeteksian tepi pada citra camera. Operasi ini menghasilkan semua tepi (edge) di dalam citra.
(a)
(b)
Gambar 2.9 (a) Citra camera, (b) Citra hasil pendeteksian seluruh tepi Sumber : Gonzales, Rafael C, Richard E. Woods (2003 : 91)
f. Rekonstruksi citra (image reconstruction) Jenis operasi ini bertujuan untuk membentuk ulang objek dari beberapa citra hasil proyeksi. Operasi rekonstruksi citra banyak digunakan dalam bidang medis.
Universitas Sumatera Utara
Misalnya beberapa foto rontgen dengan sinar X digunakan untuk membentuk ulang gambar organ tubuh.
2.3 Image Processing
Pengertian sederhana dari image processing adalah manipulasi dan analisis suatu informasi gambar oleh komputer. Sedangkan yang dimaksud dengan informasi gambar di sini adalah gambar visual dalam dua dimensi. Segala operasi untuk memperbaiki, menganalisis, atau mengubah suatu gambar disebut image processing (Awcock, G.J. and Thomas, R., 1996: 5).
Konsep dasar dari sistem dari image processing diambil dari kemampuan indera penglihatan manusia yang selanjutnya dihubungkan dengan kemampuan otak manusia. Dalam sejarahnya, image processing telah diaplikasikan dalam berbagai bentuk, dengan tingkat kesuksesan yang cukup besar. Seperti berbagai cabang ilmu lainnya, image processing menyangkut pula berbagai gabungan cabang-cabang ilmu, seperti optik, elektronik, matematika, fotografi, dan teknologi komputer.
Pada umumnya tujuan dari image processing adalah melakukan transformasi atau menganalisis suatu gambar sehingga informasi baru tentang gambar dibuat lebih jelas. Ada banyak cara yang dapat diaplikasikan dalam suatu operasi image processing, yang sebagian besar dalam bentuk optical.
Berbagai bidang telah banyak menggunakan aplikasi dari image processing baik dibidang komersial, industri, dan medis. Bahkan bidang militer telah menggunakan perkembangan dunia digital image processing ini. Pada umumnya tujuan dari image processing adalah melakukan transformasi atau menganalisis suatu gambar sehingga informasi baru tentang gambar dibuat lebih jelas. Ada banyak cara yang dapat diaplikasikan dalam suatu operasi image processing.
Hampir sebagian besar dalam bentuk optical. Gambar optical dikonversikan menjadi sinyal elektrik dengan menggunakan kamera video atau peralatan lain
Universitas Sumatera Utara
sejenisnya. Konversi ini merubah representasi gambar dari suatu cahaya optik menjadi sinyal elektrik kontinyu. Sinyal elektrik ini disebut sinyal analog. Lebih lanjut, gambar analog dapat didigitalkan dan berubah menjadi data digital. Operasi pada sistem image processing dapat diaplikasikan pada suatu gambar dengan bentuk optical, analog, atau digital.
2.4 Pencocokan Citra Digital
Teknologi fotogrametri terus mengalami perkembangan dari sistem fotogrametri analog hingga sistem fotogrametri digital yang lebih praktis, murah dan otomatis. Proses otomatisasi pada fotogrametri digital ditujukan untuk mengurangi proses pengambilan informasi dalam rangkaian kerja fotogrametri. Identifikasi titik sekawan pada fotogrametri digital dapat dilakukan dengan otomatis menggunakan metode pencocokan citra (image matching). Problem dalam otomatisasi sistem fotogrametri digital adalah sulit untuk mengidentifikasi titik sekawan secara otomatis pada citra homogen yang bertampalan. Pekerjaan mencocokan titik sekawan dalam fotogrametri analog membutuhkan seorang operator yang memiliki keahlian khusus untuk mengenali karakteristik kesamaan citra kiri dan kanan pada pasangan foto stereo. Otomatisasi pencocokan citra fotogrametri digital diharapkan menjadi solusi terhadap masalah campur tangan dan kelelahan operator sehingga faktor ketelitian dan kecepatan dapat ditingkatkan.
Pencocokan citra adalah dasar proses otomatisasi pada rangkaian proses fotogrametri. Pencocokan citra dapat diaplikasikan untuk orientasi dalam dengan menentukan tanda tepi secara otomatis antara foto yang memiliki tanda tepi (fiducial marks) dan bagian citra lain yang bertampalan sehingga menghasilkan posisi yang ideal dari tanda tepi tersebut. Pencocokan citra juga dapat digunakan dalam proses orientasi relatif untuk menentukan titik sekawan sebanyak minimal 5 titik pada citra yang bertampalan dengan mencocokan matriks pada citra kiri dengan titik sekawan pada citra kanan. Titik sekawan tersebut didefinisikan pada dua foto udara yang bertampalan sebagai titik indikator untuk mengetahui kelayakan model 3D hasil orientasi relatif.
Universitas Sumatera Utara
Pencocokan citra dalam orientasi absolut berperan dalam pengukuran titik kontrol utama dengan menghasilkan bagian citra lainnya (citra kanan) dari titik utama dibandingkan dengan bagian kecil dari foto udara. Pencocokan citra juga digunakan untuk menghasilkan Digital Elevation Model (DEM). Dengan mengotomatisasi serangkaian titik objek pada citra dipilih dalam satu bentuk DEM grid teratur untuk dipasangkan dengan serangkaian titik pada citra sebelahnya.
Metode pencocokan citra yang banyak dipakai untuk keperluan proses fotogrametri adalah berbasis area (area-based) dan berbasis unsur (feature-based). Metode berbasis real time menggunakan komposisi nilai derajat keabuan (gray level) citra sebagai sampel yang akan diuji dalam penelitian. Metode area based matching digunakan dalam penelitian ini karena merupakan metode yang paling mudah dilakukan dan memberikan hasil pencocokan yang relatif cepat (Ilham, 2007). Metode ini juga memiliki akurasi yang cukup tinggi untuk area yang memiliki tekstur baik dan unik, dan pada beberapa kasus tingkat akurasi dari kecocokan dapat dinyatakan kuantitasnya dalam unit matrik. Area based matching pada dasarnya membandingkan nilai derajat keabu-abuan (gray level) suatu bentuk kecil matriks citra dimana pusat matriksnya merupakan lokasi gray value dari titik yang akan dicocokan.
Proses pengidentifikasian titik sekawan dilakukan dengan cara memilih titik di citra kiri pada objek yang mudah dikenal. Titik yang dipilih tersebut dibandingkan dengan titik citra di kanan pada objek yang sama di citra kiri. Pusat sub-citra tersebut merupakan lokasi nilai keabu-abuan dari titik yang akan dicocokkan. Sampel titik diambil dari citra pada sistem koordinat lokal dalam bentuk posisi kolom-baris. Pada pencocokan citra berbasis area, setiap titik yang akan dicocokan adalah pusat dari sebuah jendela pixel yang kecil pada citra acuan, dan jendela ini dibandingkan dengan jendela yang lain pada citra pencarian dengan ukuran tertentu. Ukuran kecocokan dilihat dengan kecilnya perbedaan nilai yang dihasilkan. Keunikan objek merupakan penentu keberhasilan pencocokan citra. Salah satu penentu keunikan objek adalah ukuran Sub Citra Acuan (SCA). Semakin besar ukuran sub citra acuan, detail yang merupakan bagian dari objek semakin banyak. Ketika ukuran citra acuan diperbesar dapat dilihat adanya keunikan lain dari area yang dikategorikan mewakili jenis objek. Keunikan tersebut dapat berupa objek yang berbeda dan memiliki nilai kecerahan
Universitas Sumatera Utara
yang berbeda pula. Berdasarkan hal tersebut, rentang nilai kecerahan citra acuan akan melebar sehingga nampak semakin heterogen (Putra, 2008). Proses pencocokan citra diasumsikan berhasil jika diperoleh nilai korelasi ≥ 0.7 (Wolf, 2000). Dengan memperbesar ukuran sub citra acuan, akan diperoleh karakteristik objek yang makin unik sehingga nilai korelasi akan meningkat dan mendukung tercapainya keberhasilan pencocokan citra. Dengan adanya keunikan tersebut, pencarian area paling berkorelasi dapat lebih mudah dan terhindar dari kesalahan posisi pusat area yang paling berkorelasi. Keunikan yang dimaksud dapat objek tersebut memiliki sebagian area heterogen. Secara umum, makin besar ukuran citra acuan, makin banyak keunikan objek yang terlihat sehingga makin besar pula rentang nilai kecerahan citra acuannya.
Teknik mengevaluasi pencocokan citra berbasis area adalah dengan menggunakan teknik korelasi maksimal. Nilai korelasi yang dihasilkan bertujuan untuk mengukur derajat kesamaan antara dua atau lebih citra foto yang bertampalan. Citra pertama adalah Sub Citra Acuan (SCA) pada citra kiri sedangkan sub citra kedua merupakan Sub Citra Pencarian (SCP) yang dibatasi oleh Citra Pencarian (CP) di dalam citra foto kedua. Proses pencocokan citra berlangsung semi otomatis, posisi titik awal diambil secara manual untuk citra kiri dan citra kanan. Titik tengah SCA dan CP menjadi pusat dari area citra yang akan dicari. Nilai pergeseran maksimum SCA pada CP digunakan persamaan (1), nilai berguna dalam algoritma pencocokan citra tahap selanjutnya.
Dm,n = CPm,n-SCAm,n+1
dengan D = nilai pergeseran maksimum, CP = Citra Pencarian, SCA = Sub Citra Acuan m = baris dan n = kolom.
Universitas Sumatera Utara
Gambar 2.10 Sub Citra Acuan dan Sub Citra Pencarian Sumber : Baxes. Gregory ( 1994 : 71)
Sub Citra Pencarian akan bergerak dalam citra pencarian, kemudian dihitung nilai korelasi SCA dan semua SCP pada CAP dan nilai korelasi antar kedua citra mempunyai rentang nilai 0 sampai +1 (0 ≤
ρ ≤ 1). Secara umum nilai pembatas dari
nilai koefisien korelasi adalah lebih besar sama dengan 0.7 atau 70% yang dinyatakan cocok atau derajat kesamaannya tinggi.
Sampel citra berupa komposisi nilai keabuan array citra yang akan diuji derajat kecocokannya dihitung melalui suatu persamaan matematis untuk kemudian disimpan sebagai nilai korelasi. Metode korelasi dari pencocokan citra berkerja dengan memilih CA dari citra kiri berdasarkan karakteristik tertentu dan jarak objek / area dari titik utama citra untuk dicocokan, dan pencarian posisi yang sekawan akan dilakukan oleh jendela yang bergerak (SCP) pada CP dari citra kanan.
Universitas Sumatera Utara
Gambar 2.11 Hubungan Citra Foto, SCA dan CP Sumber : Baxes. Gregory ( 1994 : 73)
2.5 Edge Detection
Edge Detection (deteksi garis tepi) adalah pendekatan yang paling umum digunakan untuk mendeteksi diskontinuitas gray level. Hal ini disebabkan karena titik ataupun garis yang terisolasi tidak terlalu sering dijumpai dalam aplikasi praktis.
Suatu edge adalah batas antara dua region yang memiliki gray level yang relatif berbeda. Pada dasarnya ide yang ada di balik sebagian besar teknik edgedetection adalah menggunakan perhitungan local derivative operator.
Gradien dari suatu citra f(x,y) pada lokasi (x,y) adalah vektor, yang dirumuskan sebagai berikut :
Universitas Sumatera Utara
dimana ∇f = vektor, Gx = gradien x dan Gy = gradien y. Dalam edge detection nilai yang penting di sini adalah magnitude dari vektor, yang biasanya hanya disebut dengan gradien dan dituliskan dengan ∇f, yang dirumuskan sebagai berikut :
dimana ∇f = vektor, mag = magnitude, Gx = gradien x dan Gy = gradien y. Pada umumnya digunakan pendekatan nilai gradien tersebut dengan nilai absolut :
dimana ∇f = vektor, Gx = gradien x dan Gy = gradien y. Rumus tersebut lebih mudah diimplementasikan, khususnya jika menggunakan hardware untuk pemrosesan. Arah dari vektor gradien juga merupakan kuantitas yang penting. Jika α(x,y) menunjukkan arah sudut vektor ∇f pada (x,y), maka dari analisa
vektor :
dimana α(x,y) = arah sudut, Gx = gradien x dan Gy = gradien y. Arah sudut diukur terhadap sumbu x. Derivatif juga bisa diimplementasikan secara digital dengan menggunakan operator Sobel, yaitu dengan menggunakan mask seperti terlihat pada Gambar 2.12 dan Gambar 2.13.
Universitas Sumatera Utara
Gambar 2.12 Mask Untuk Menghitung Nilai Gx
Gambar 2.13 Mask Untuk Menghitung Nilai Gy
2.6. Metode Edge Linking
Secara ideal, teknik yang digunakan untuk mendeteksi diskontinuitas seharusnya hanya menghasilkan pixel-pixel yang berada pada batas region. Namun dalam prakteknya hal ini jarang terjadi karena adanya noise, batas yang terpisah karena pencahayaan yang tidak merata, dan efek lain yang mengakibatkan variasi intensitas. Untuk itu algoritma edge detection biasanya dilanjutkan dengan prosedur Edge Linking untuk merangkai pixel-pixel tersebut menjadi satu kesatuan sehingga memberikan suatu informasi yang berarti.
Salah satu teknik yang dapat digunakan untuk Edge Linking adalah local processing, yaitu dengan menganalisa karakteristik pixel-pixel di dalam suatu neighborhood (3 x 3 atau 5 x 5) pada semua titik (x,y) di dalam citra yang telah mengalami edge-detection. Selanjutnya semua titik yang sejenis dihubungkan sehingga membentuk kumpulan pixel yang memiliki sifat-sifat yang sama.
Dua sifat utama yang digunakan untuk menentukan kesamaan edge pixel dalam analisa ini adalah :
Universitas Sumatera Utara
1. Besarnya respon gradien operator yang digunakan 2. Arah gradien Sifat yang pertama dinyatakan dengan nilai ∇f yang telah dibahas sebelumnya.
Jadi suatu edge pixel dengan koordinat (x’,y’) dan bertetangga dengan (x,y), dikatakan memiliki magnitude sama dengan pixel di (x,y) jika :
dimana ∇f = vektor dan T = threshold positif. Suatu edge pixel dengan koordinat (x’,y’) dan bertetangga dengan (x,y), dikatakan memiliki sudut yang sama dengan pixel di (x,y) jika :
di mana A = threshold sudut.
Suatu titik yang menjadi tetangga dari (x,y) dihubungkan dengan titik (x,y) jika memenuhi kedua kriteria di atas, baik magnitude maupun sudutnya. Proses linking ini diulang untuk seluruh lokasi titik yang ada di dalam citra.
2.7
Operator Sobel
Operator Sobel adalah satu cara untuk menghindari gradien yang dihitung pada titik interpolasi dari pixel-pixel yang terlibat dengan cara menghaluskan citra digital. Proses penghalusan yang digunakan merupakan proses konvolusi dari jendela yang ditetapkan terhadap citra yang dideteksi dengan menggunakan jendela 3x3 untuk perhitungan gradien, sehingga perkiraan gradien berada tepat di tengah jendela.
Universitas Sumatera Utara
Agar perkiraan gradien tepat ditengah jendela, dalam konvolusi Sobel menggunakan susunan pixel- pixel disekitar pixel (x,y) seperti terlihat pada Gambar 2.14.
Gambar 2.14 Susunan Pixel Pada Konvolusi Sobel
Sehingga besar gradien dihitung dengan menggunakan persamaan: Sx = (p3 + cp4 + p5) - (p1 + cp8 + p7) Sy = (p3 + cp2 + p3)- (p7 + cp6 + p5) dengan Sx = gradien pixel x, Sy = gradien pixel y dan c = konstanta yang bernilai 2.
Dari persamaan di atas, diperoleh dua buah matriks operator Sobel seperti terlihat pada yang ditunjukkan pada Gambar 2.15 dan Gambar 2.16.
Gambar 2.15 Matriks Operator Sobel Untuk Persamaan Sx
Gambar 2.16 Matriks Operator Sobel Untuk Persamaan Sy
Universitas Sumatera Utara
Dari matriks di atas terlihat bahwa Sobel memberikan pembobotan pada pixelpixel yang lebih dekat dengan titik pusat. Matriks-matriks ini didesain untuk dapat merespon dengan maksimal terhadap edge yang berjalan secara vertikal dan horizontal relatif terhadap batas pixel, satu matriks untuk dua orientasi sudut 90o. Matriks ini dapat digunakan secara terpisah pada gambar masukan, untuk menghasilkan pengukuran yang terpisah dari komponen gradien pada setiap orientasi (Gx dan Gy) untuk mencari skala absolut dari gradien pada setiap titik dan orientasi dari gradien tersebut.
2.8 Flowchart
Flowchart merupakan bagan alir program yang sifatnya terperinci tentang langkahlangkah proses didalam program dari awal sampai akhir. Flowchart digunakan sebagai alat bantu pengembangan sistem yang menjelaskan aliran proses yang terjadi pada perancangan sebuah sistem. Adapun simbol-simbol flowchart seperti pada Tabel 2.1. Tabel 2.1 Simbol-simbol Flowchart
No 1
Simbol
Keterangan Simbol ini digunakan untuk memulai dan mengakhiri program
2
Simbol ini digunakan untuk melakukan input dan output suatu program
3
Simbol
ini
digunakan
untk
melakukan
perulangan dalam keputusan 4
Simbol ini digunakan untuk menguji pilihan untuk mengambil keputusan
5
Simbol ini digunakan melanjutkan flowchart pada
halaman
berikutnya
sebagai
penghubung
Universitas Sumatera Utara
6
Simbol ini digunakan untuk penghubung melanjutkan program dalam satu halaman atau halaman berikutnya
7
Simbol ini digunakan untuk menunjuk arah program
2.9 Activity Diagram
Activity
Diagram
(diagram aktivitas)
merupakan
diagram
flowchart
yang
disempurnakan. Diagram aktivitas menggambarkan operasi pada suatu Obyek atau proses pada sebuah organisasi. Kelebihan diagram aktivitas dibandingkan dengan diagram flowchart adalah adanya dukungan konkurensi (pelaksanaan aktivitas secara bersamaan), pengiriman pesan dan swimlane (pelaku/penanggung jawab aktivitas). Diagram aktivitas sangat berguna ketika ingin menggambarkan perilaku paralel atau menjelaskan bagaimana perilaku dalam berbagai use case berinteraksi.
Diagram aktivitas diawali dengan lingkaran hitam, dan diakhiri dengan lingkaran hitam bertepi putih. Aktivitas digambarkan dengan kotak persegi panjang bersudut lengkung. Setiap aktivitas dihubungkan dengan panah dari awal hingga akhir diagram aktivitas.
Sama halnya dengan diagram flowchart, diagram aktivitas pun memiliki simbol yang sama untuk menggambarkan keputusan. Keputusan digambarkan dengan intan, namun di penelitian ini kondisi yang menyertai keputusan diletakkan diluar simbol intan. Diagram aktivitas dapat menggambarkan konkurensi, yaitu satu atau lebih aktivitas yang berjalan secara bersamaan. Konkurensi diawali dengan sebuah garis tebal horizontal yang menjadi tempat keluarnya garis aktivitas. Konkurensi juga diakhiri dengan garis tebal horizontal. Adapun simbol-simbol yang digunakan dalam diagram aktivitas seperti terlihat pada Tabel 2.2.
Universitas Sumatera Utara
Tabel 2.2 Simbol-Simbol Diagram Aktivitas
Simbol
Keterangan
Titik Awal atau permulaan.
Titik Akhir atau akhir dari aktivitas.
Decision,
atau
pilihan
untuk
mengambil
keputusan.
Arah tanda panah alur proses.
Aktivitas yang dilakukan oleh aktor.
2.10 Algoritma
Dalam matematika dan komputasi, algoritma merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria, dalam hal ini berbeda dengan heuristik. Algoritma sering mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan) sampai tugasnya selesai.
Universitas Sumatera Utara
Desain dan analisis algoritma adalah suatu cabang khusus dalam ilmu komputer yang mempelajari karakteristik dan performa dari suatu algoritma dalam menyelesaikan masalah, terlepas dari implementasi algoritma tersebut. Dalam cabang disiplin ini algoritma dipelajari secara abstrak, terlepas dari sistem komputer atau bahasa pemrograman yang digunakan. Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan kriteria yang sama.
Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara informal, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki kompleksitas yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi.
Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritma tersebut. Beberapa paradigma yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda.
1. Divide and Conquer Paradigma untuk membagi suatu permasalahan besar menjadi permasalahanpermasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk.
2. Dynamic programming Paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal dan mengandung beberapa bagian permasalahan yang tumpang tindih. Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan
Universitas Sumatera Utara
menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.
3. Greedy Method Algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap dan menggunakan pilihan "greedy" apa yang dilihat terbaik pada saat itu.
Universitas Sumatera Utara