2.1 Pengolahan Citra
Peningkatan kualitas citra (image enhancement) bertujuan menghasilkan citra dengan kualitas yang lebih baik dibandingkan dengan citra semula. Langkah selanjutnya dalam pengolahan citra adalah analisis citra (image analysis). Analisis citra bertujuan mengidentifikasi parameter-parameter yang diasosiasikan dengan ciri (feature) dari objek di dalam citra, untuk selanjutnya parameter tersebut digunakan sebagai hasil proses analisis citra. Analisis citra pada dasarnya terdiri dari tiga tahapan: ekstrakasi ciri (feature extraction), segmentasi, dan klasifikasi.
Faktor kunci dalam mengekstraksi ciri objek citra adalah kemampuan mendeteksi keberadaan tepi (edge) dari objek di dalam citra. Setelah tepi objek diketahui, langkah selanjutnya dalam analisis citra adalah segmentasi, yaitu mereduksi citra menjadi objek atau region, misalnya memisahkan objek-objek yang berbeda dengan mengekstraksi batas-batas objek (boundary). Langkah terakhir dari analisis citra adalah klasifikasi, yaitu memetakan segmen-segmen yang berbeda ke dalam kelas objek yang berbeda pula.
Proses segmentasi area teks pada citra dokumen adalah salah satu tahap pra proses yang sangat penting dalam pengolahan citra dokumen. Namun seringkali fitur warna saja tidak cukup untuk dapat memisahkan antara foreground area teks dengan
backgroundcitra dokumen yang pada umumnya tidak memiliki warna yang seragam serta terganggu penuh oleh noise. Dokumen dan naskah kuno yang telah mengalami kerusakan fisik telah banyak menjadi objek penelitian dalam bidang restorasi citra digital. Metode-metode pengolahan citra digital diharapkan mampu memberikan citra digital hasil restorasi yang mudah dibaca dari tulisan-tulisan yang telah mengalami
kerusakan (Kesima, 2013).
antara binarisasi/thresholding dengan metode lainya, serta (c) perbaikan citra tanpa metodethresholding. Hasilreviewyang dilakukan menjelaskan bahwa metode ke dua
memberikan peningkatan yang potensial dalam proses perbaikan citra. Khusus untuk metode perbaikan citra dengan metode binarisasi citra (Kesima, 2013).
Metode binarisasi adaptif yang dapat memisahkan dengan baik komponen teks, background, serta gambar dari sebuah citra dokumen. Dengan penentuan nilai
threshold secara local dapat berhasil mengatasi permasalahan pokok kerusakan citra dokumen yang disebabkan oleh adanya noise serta perbedaan tingkat iluminasi
(Kesima, 2013).
Pada citra dokumen, area teks secara natural memiliki fitur tekstur yang cukup berbeda. Informasi tekstur dapat digunakan untuk membedakan sifat-sifat permukaan suatu benda dalam citra yang berhubungan dengan kasar dan halus, juga sifat-sifat
spesifik dari kekasaran dan kehalusan permukaan tadi, yang sama sekali terlepas dari warna permukaan tersebut. Salah satu ukuran fitur tekstur yang dikenal dalam citra
adalah nilai lacunarity. Artikel ini diawali dengan paparan tentang metode perhitungan nilai lacunarity pada citra, kemudian metode pembentukan peta lacunarity, serta hasil uji coba deteksi dan segmentasi area teks aksara bali pada citra
lontar, dan diakhiri dengan simpulan dan saran untuk pengembangan penelitian selanjutnya (Kesima, 2013).
2.2 Citra Warna
Dalam pengolahan citra warna dipresentasikan dengan nilai hexadesimal dari 0x00000000 sampai 0x00ffffff. Warna hitam adalah 0x00000000 dan warna putih adalah 0x00ffffff. Definisi nilai warna di atas seperti Gambar 2.2, variabel 0x00 menyatakan angka dibelakangnya adalahhexadecimal(Sutoyo et al, 2009).
0x00 XX XX XX
Nilai R Nilai G Nilai B
Gambar 2.2 Nilai warna RGB dalam hexadesimal
Terlihat bahwa setiap warna mempunyai range nilai 00 (angka desimalnya adalah 0) dan ff (angka desimalnya adalah 255), atau mempunyai nilai derajat keabuan 256 = 28. Dengan demikian range warna yang digunakan adalah (28)(28)(28) = 224 (atau yang dikenal dengan istilahtrue colour pada Windows). Nilai warna yang digunakan di atas merupakan gabungan warna cahaya merah, hijau dan biru seperti yang terlihat pada Gambar 2.3. Sehingga untuk menentukan nilai dari suatu warna yang bukan warna dasar digunakan gabungan skala kecerahan dari setiap warnanya.
Gambar 2.3 Komposisi Warna RGB (Sutoyo et al, 2009).
Tabel 2.1 Contoh-contoh warna dalam hexadesimal (Sutoyo et al, 2009).
Citra merupakan fungsi kontinyu dari intensitas cahaya pada bidang dua dimensi. Intensitas cahaya merupakan hasil kali antara jumlah pancaran (illuminasi) cahaya yang diterima objek dengan derajat kemampuan obyek memantulkan cahaya. Citra digital umumnya direpresentasikan dalam bentuk matriks 2 dimensi dengan ukuran NxM. Elemen terkecil dalam citra digital (elemen matriks) disebut pixel. Setiap nilai
pixel pada citra merepresentasikan nilai intensitas cahaya (Budi, 2009). Nilai fungsi intensitas f(x,y) memiliki rentang nilai yang disebut skala keabuan, yaitu:
l min < f(x,y) < l max atau 0≤ f(x,y) ≤ L-1 ... (2.1) Dimana:
f(x,y) : nilai intensitas pada posisix,y.
l max= L : nilaimaxintensitas (skala keabuan) l min : nilaiminintensitas
Gambar 2.4 Kordinat Citra Digital (Putra, 2010)
Sebuah citra digital dapat diwakili oleh sebuah matriks dua dimensif(x,y) yang terdiri dariMkolom dan Nbaris, dimana perpotongan antara kolom dan baris disebut piksel (pixel = picture element) atau elemen terkecil dari sebuah citra. Citra digital dapat ditulis dalam bentuk matrik sebagai berikut (Kusumanto,2011).
( , ) =
Suatu citra ƒ(x,y) dalam fungsi matematis dapat dituliskan sebagai berikut:
0≤ x ≤ M-1 0≤ y ≤ N-1 0≤ƒ(x,y)≤ G-1 dimana :
M = jumlah piksel baris (row) padaarraycitra
N = jumlah piksel kolom (column) padaarraycitra G = nilai skala keabuan (graylevel)
Besarnya nilaiM, NdanGpada umumnya merupakan perpangkatan dari dua.
M = 2m; N = 2n; G = 2k ... (2.3) Dimana:
Nilai m, n dan k adalah bilangan bulat positif. Interval (0,G) disebut skala keabuan (grayscale). Besar G tergantung pada proses digitalisasinya. Biasanya keabuan 0 (nol) menyatakan intensitas hitam dan 1 (satu) menyatakan intensitas putih. Untuk citra 8 bit, nilai G sama dengan 28 = 256 warna (derajat keabuan).
Gambar 2.5 Representasi Citra Digital Dalam 2 Dimensi (Kusumanto, 2011)
Jenis citra berdasarkan nilai pikselnya adalah sebagai berikut (Putra, 2010) :
1. Citra Biner
Citra biner adalah citra digital yang hanya memiliki dua kemungkinan nilai piksel yaitu hitam dan putih. Citra biner juga disebut sebagai citra black and white (B&W) atau citra monokrom. Hanya dibutuhkan 1 bit untuk mewakili nilai setiap piksel dari citra biner. Citra biner sering kali muncul sebagai hasil dari proses pengolahan seperti segmentasi, pengambangan, morfologi ataupundithering.
2. Citra Grayscale
Citra grayscale merupakan citra digital yang hanya memiliki satu nilai kanal pada
setiap pikselnya, dengan kata lain nilai bagian Red=Green=Blue. Nilai tersebut digunakan untuk menunjukkan tingkat intensitas. Warna yang dimiliki adalah warna dari hitam, keabuan dan putih. Tingkatan keabuan disini merupakan warna abu dengan berbagai tingkatan dari hitam hingga mendekati putih. Citragrayscale berikut memiliki kedalaman warna 8 bit (256 kombinasi warna keabuan).
Gambar 2.7 Citra Keabuan (Putra, 2010)
3. Citra Warna (8 bit)
Setiap piksel dari citra warna (8 bit) hanya diwakili oleh 8 bit dengan jumlah warna maksimum yang dapat digunakan adalah 256 warna. Ada dua jenis citra warna 8 bit, pertama adalah citra warna 8 bit dengan menggunakan palet warna 256 dengan setiap paletnya memiliki pemetaan nilai (color map) RGB tertentu. Model ini lebih sering digunakan. Kedua, setiappixelmemiliki format 8 bit seperti pada Tabel 2.2.
Tabel 2.2 Format Piksel 8 bit
Bit-7 Bit-6 Bit-5 Bit-4 Bit-3 Bit-2 Bit-1 Bit-0
R R R G G G B B
Bentuk kedua ini dinamakan 8 bittruecolor. Berikut ini adalah warna-warnanya.
Gambar 2.9 Citra Warna 8 bit (Putra, 2010)
4. Citra Warna (16 bit)
Citra warna 16 bit (biasanya disebut sebagai citra highcolor) dengan setiap pikselnya diwakili dengan 2byte memory(16 bit). Warna 16 bit memiliki 65.536 warna.
Gambar 2.10 Citra Warna 16 bit (Putra, 2010)
5. Citra Warna (24 bit)
2.4 Menghitung Nilai RGB Citra
Menghitung nilai RGB citra asli adalah sama dengan citra penyisip, dimana setiap pikselnya mengandung 24-bit kandungan warna atau 8-bit untuk masing-masing warna dasar (R, G, dan B), dengan kisaran nilai kandungan antara 0 (00000000) sampai 255 (11111111) untuk tiap warna yang dapat ditulis sebagai berikut (Gonzales, 2003).
Red : RGB (255, 0, 0) ……….………….…………..………....… (2.4) Green : RGB (0, 255, 0) .………..………...……… (2.5) Blue : RGB (0, 0, 255) …..……….………....………. (2.6) Dari nilai triplet RGB persamaan (2.4) sampai (2.6) di atas dapat dikonversikan ke dalam nilai desimal seperti dibawah ini:
Red : 255*2560+ 0*2561+ 0*2562= 255 + 0 + 0 = 255 ………...… (2.7) Green : 0*2560+ 255*2561+ 0*2562= 0 + 65,280 + 0 = 65,280 ……….….... (2.8) Blue : 0*2560+ 0*2561+ 255*2562= 0 + 0 + 16,711,680 = 16,711,680... (2.9) Rumus dasar mencari nilai RGB citra adalah:
R = COLOR And RGB(255, 0, 0) ….……….….. (2.10) G = (COLOR And RGB(0, 255, 0)) / 256 ...……..………...… (2.11)
B = ((COLOR And RGB(0, 0, 255)) / 256) / 256 ….………..…. (2.12) Dari persamaan (2.7) sampai (2.9) diatas, rumus RGB pada persamaan (2.10) sampai (2.12) menjadi:
Nilai R = c and 255 ………... (2.13) Nilai G = (c and65,280)/256 ..………...………..…... (2.14) Nilai B = ((c and16,711,680)/256)/256 ………...………... (2.15)
2.5 Deteksi Tepi Citra
yang berbeda (Pitas 1993). Deteksi tepi pada suatu citra adalah suatu proses yang menghasilkan tepi-tepi dari obyek-obyek citra, tujuannya adalah:
1. Untuk menandai bagian yang menjadi detail citra.
2. Untuk memperbaiki detail dari citra yang kabur, yang terjadi karena error atau adanya efek dari proses akuisisi citra.
3. Serta untuk mengubah citra 2D menjadi bentuk kurva.
Suatu titik (x,y) dikatakan sebagai tepi (edge) dari suatu citra bila titik tersebut mempunyai perbedaan yang tinggi dengan tetangganya. Gambar 2.12 berikut ini menggambarkan bagaimana tepi suatu gambar di peroleh.
Gambar 2.12 Proses Deteksi Tepi Citra (Sutoyo et al, 2009).
Pada Gambar 2.14 ada tiga macam tepi yang terdapat di dalam citra digital, ketiganya adalah:
1. Tepi curam, tepi dengan perubahan intensitas yang tajam. Arah tepi berkisar 90°. 2. Tepi landai, disebut juga tepi lebar, yaitu tepi dengan sudut arah yang kecil. Tepi
landai dapat dianggap terdiri dari sejumlah tepi-tepi lokal yang lokasinya berdekatan.
3. Tepi yang mengandung derau (noise)
Umumnya tepi yang terdapat pada aplikasi computer vision mengandung derau. Operasi peningkatan kualitas citra (image enhancement) dapat dilakukan terlebih dahulu sebelum pendeteksian tepi.
Gambar 2.14 Jenis-jenis Tepi Citra (Putra, 2010).
2.5.1 Operator Sobel
Proses yang digunakan oleh operator Sobel merupakan proses dari sebuah konvolusi yang telah di tetapkan terhadap citra yang terdeteksi. Dalam operator Sobel digunakan matrik konvolusi 3 X 3 dan susunan piksel-pikselnya di sekitarpixel(x, y) (Sutoyo et al, 2009). Matriks konvolusi 3x3 piksel dapat dilihat seperti pada Gambar 2.15.
p1 p2 p3
p8 (x,y) p4
p7 p6 p5
Gambar 2.15 Matriks Konvolusi 3 X 3 Sobel (Sutoyo et al, 2009).
Operator Sobel merupakan pengembangan operator Robert dengan menggunakanHigh Pass Filter(HPF) yang diberi satu angka nol penyangga. Operator
ini mengambil prinsip dari fungsi Laplacian dan Gaussian yang dikenal sebagai fungsi untuk membangkitkan HPF. Kelebihan dari operator Sobel ini adalah kemampuan untuk mengurangi noise sebelum melakukan perhitungan deteksi tepi. Sehingga besar gradient (G) dapat dihitung dengan menggunakan persamaan:
Sx = ( p3 + cp4 + p5 )− ( p1 + cp8 + p7 ) ... (2.16) Sy = ( p1 + cp2 + p3 ) - ( p7 + cp6 + p5 ) ... (2.17) | G | =√GX2+ GY2 ... (2.18)
Dengan nilai c konstanta bernilai dua, sehingga terbentuk matriks operator Sobel dapat digambarkan seperti pada Gambar 2.16.
-1 0 1 -1 -2 -1
Sx -2 0 2 Sy 0 0 2
-1 0 1 1 2 1
Gambar 2.16 Matrik Operator Sobel
Biasanya operator Sobel menempatkan penekanan atau pembobotan pada
piksel yang lebih dekat dengan titik pusat jendela, sehingga pengaruh piksel-piksel tetangga akan berbeda sesuai dengan letaknya terhadap titik di mana gradien
dihitung. Dari susunan nilai-nilai pembobotan pada jendela juga terlihat bahwa perhitungan terhadap gradien juga merupakan gabungan dari posisi mendatar dan posisi vertikal.
Gambar 2.17 Hasil Deteksi Tepi
Proses deteksi tepi (edge detection) sendiri masing-masing dapat dikelompokkan berdasarkan operator atau metode yang digunakan dalam proses pendeteksian tepi suatu citra untuk memperoleh citra hasil.
2.6 Microsoft Visual Basic NET 2010
Visual Basic 2010 merupakan salah satu aplikasi pemrograman visual yang dibuat oleh Microsoft. Visual Basic 2010 merupakan bagian dari sebuah suite aplikasi pemrograman bernama Visual Studio 2010. Suite aplikasi ini adalah suite aplikasi paling mutakhir yang dibuat oleh Microsoft (Wahana Komputer, 2012). Visual Basic 2010 sudah mendukung konsep pemrograman berorientasi objek (Object Oriented Programming). Dalam Visual Basic 2010 akan dikenal konsep objek, kelas (class),
pewarisan (inheritance),namespace, dan lain-lain.
Program Visual Basic adalah bahasa pemprograman yang paling mudah dikuasai oleh para pemula. Dalam program Visual Basic 2010 (disingkat VB 2010), menawarkan banyak kemudahan lagi dibandingkan versi-versi sebelumnya, antara lain teknik pemrograman dapat dibuat lebih terstruktur dan lebih banyak bantuan dalam pemrograman. Jauh lebih mudah untuk menguasainya dibandingkan dengan versinya yang terdahulu, yaitu Visual Basic 6 (disingkat VB6).
Ada banyak perubahan dalam VB 2010 ini dibandingkan VB6, antara lain : 1. Bahasa pemprograman sekarang benar-benar bahasa berbasis objek (Object
2. Aplikasi dan komponen yang ditulis di VB 2010 mempunyai akses penuh ke Net Framework. Sedangkan di VB6 tidak dikenal atau tidak menggunakan Net
Framework.
3. Semua Semua aplikasi yang dibuat beroperasi dalam manajemen Common
Language Runtime(CLR).
Net Framework sendiri, yang sekarang sudah versi 4.0 adalah suatu himpunan file-file pustaka yang telah terorganisir dan berguna sebagai fasilitas untuk sistem dan aplikasi. Sehingga seorang programmer tidak perlu lagi menghapal fungsi-fungsi Windows API untuk akses sistem, seperti di dalam bahasa VB6 karena sudah diorganisir oleh Net FrameWork. Hampir semua fungsi Windows API tersebut telah dijadikan object-object yang dapat dengan mudah digunakan dan ditemukan oleh
programmer VB 2010. Pemrograman berbasis objek (OOP) sendiri adalah suatu pendekatan ke arah struktur pengembangan aplikasi berdasarkan objek. Objek tersebut dapat berupa prosedur, event, ataupunvariable. Object satu dapat menjadi bawahan
object lainnya berdasarkan susunan fungsinya. Artinya suatu object terdepan terdiri atas beberapa object yang memiliki tugas lebih sempit, dan antar object dapat saling berinteraksi dalam melaksanakan tugas tertentu.
Common Language Runtime (CLR) adalah suatu runtime lingkungan yang memproses, melaksanakan, dan mengatur kode dasar Visual Basic. Mirip dengan runtime Visual Basic tradisional, yaitu VBRUN300.dll atau MSVBVM60.dll, tetapi kemampuannya saja lebih ditingkatkan sehingga jalannya program yang dibuat lebih
stabil dan penanganan kesalahan lebih baik dengan tujuan supaya program dapat berjalan secara optimum.
Untuk Membuat suatu project pada Microsoft Visual Basic 2010 dapat dilakukan dengan langkah sebagai berikut :
1. Klik tombolStartpadaWindows taskbar
2. Pilih menu program Microsoft Visual Studio 2010 Microsoft Visual Studio 2010.
3. Setelah itu akan muncul halamanStart Page.
5. Ketika muncul jendela New Project, pilih Visual Basic dan Windows Form Application, ketikkan namaprojectpada kotak isianNamedan pilih tombol OK,
maka muncul IDE (Integrated Development Environment) berupa form desain untuk memulai membangun aplikasi baru.
2.7 Data Flow Diagram (DFD)
Data flow diagram adalah suatu network yang menggambarkan suatu sistem automat/komputerisasi, manualisasi atau gabungan dari keduanya yang penggambarannya disusun dalam bentuk kumpulan komponen sistem yang saling berhubungan sesuai dengan aturan mainnya. Adapun simbol-simbol padaData Flow
Diagramdapat dilihat pada Tabel 2.3.
Tabel 2.3 SimbolData Flow Diagram
SIMBOL FUNGSI
Eksternal entity (kesatuan luar atau batas sistem) berupa orang, organisasi atau sistem lainnya yang berada di lingkungan luarnya yang akan memberikaninputatau menerimaoutputdari sistem.
Dataflow (arus data) arus data ini mengalir diantara proses, simpanan data dan kesatuan luar.
Process (proses) kegiatan arus kerja yang dilakukan oleh orang, mesin atau komputer dari hasil suatu arus data yang masuk ke dalam proses untuk dihasilkan.
Data store merupakan simpanan data yang berupa file database atau tabel manual, agenda atau buku.
(Sumber: Jogiyanto, 2005)
Tahapan Diagram Arus Data terbagi atas beberapa bagian yaitu:
1. Diagram Konteks
2. Diagram Nol
Diagram ini dibuat untuk menggambarkan tahapan proses yang ada didalam
diagram konteks, yang penjabarannya lebih terperinci. 3. Diagram Detail
Diagram ini dibuat untuk menggambarkan arus data secara lebih mendetail lagi dari tahapan proses yang didalam diagram nol.
2.8 Flow Chart
Flowchart adalah bagan alir yang menggambarkan arus data dari program. Fungsi dari bagan alir ini adalah untuk memudahkan programmer di dalam perancangan program aplikasi (Jogiyanto. 2005). Simbol-simbol yang digunakan pada bagan flowchart ini antara lain seperti pada Tabel 2.4.
Tabel 2.4 Simbol-simbolFlowchartProgram
Simbol Fungsi
Terminator
Menunjukkan awal dan akhir suatu proses.
Data
Digunakan untuk mewakili datainput/output.
Process
Digunakan untuk mewakili proses.
Decision
Digunakan untuk suatu seleksi kondisi didalam program.
Predefined Process
Menunjukkan suatu operasi yang rinciannya ditunjukkan di tempat lain.
Preparation
Digunakan untuk memberi nilai awal variabel.
Flow Lines Symbol
Menunjukkan arah dari proses.
Connector
Menunjukkan penghubung ke halaman yang sama. Menunjukkan penghubung ke halaman yang baru.