BAB 3 METODOLOGI PENELITIAN
3.1
Alat dan Bahan Penelitian
3.1.1
Alat Penelitian a. Spesifikasi komputer yang digunakan dalam penelitian ini adalah sebagai berikut: 1) Prosesor Intel (R) Atom (TM) CPU N550 @ 1.5 GHz 1.5 GHz 2) Ram 1 GB 3) Hardisk 250 GB b. Sistem operasi menggunakan Windows 7 Professional. c. Perangkat lunak untuk perancangan sistem menggunakan Delphi 2007.
3.1.2
Bahan Penelitian Bahan dari penelitian ini merupakan dokumen gambar dalam bentuk .bmp
yang akan dikenali menjadi sebuah karakter teks dan diubah menjadi dokumen dalam bentuk .doc sehingga dapat dilakukan penyuntingan seperti penambahan, penghapusan, atau perubahan karakter untuk kebutuhan selanjutnya.
42
3.2
Desain Sistem Secara garis besar perencanaan program dibagi menjadi 3 tahap, yaitu :
image preprocessing, image document analysis dan character recognition. Ketiga tahapan tersebut dapat dilihat dari gambar 3.1 dibawah ini.
Image Preprocessing Grayscale
Image
Thresholding
Input : Document Image (.bmp)
Image After Preprocessing Image Document Analysis Segmentasi Baris Segmentasi Karakter
Character Image
Character Recognition Template Image
Character Template
Normalisasi
Teks
Template Matching
Gambar 3.1 Garis Besar Perencanaan Program
43
Output : Document Teks (.doc)
3.3
Metode Penelitian Dalam skripsi ini metode yang digunakan dalam penelitian meliputi
metode pengumpulan data dan pengembangan perangkat lunak.
3.3.1
Metode Pengumpulan Data Metode pengumpulan data dalam skripsi ini adalah studi literatur. Studi
literatur dilakukan dengan mengumpulkan dan mempelajari literatur atau kepustakaan yang berkaitan dengan skripsi ini, seperti teori dan konsep template matching dan pembahasan mengenai masalah pengenalan dokumen gambar melalui literatur-literatur seperti buku (textbook), paper, dan sumber ilmiah lain seperti situs internet ataupun artikel dokumen teks yang berhubungan dengan penelitian.
3.3.2
Metode Pengembangan Perangkat Lunak Dalam pengembangan perangkat lunak, penulis menggunakan model
Prototype. Untuk lebih jelasnya dapat dilihat pada gambar 3.2 dibawah ini. Siklus Prototype
Kebutuhan
Pembuatan Prototype
Evaluasi Prototype
Pengembangan perangkat lunak akhir
Pengujian
Gambar 3.2 Model Pengembangan Perangkat Lunak
44
Adapun aktivitas-aktivitas yang dilalui sebagai berikut: a. Analisis Kebutuhan Pada tahap awal dilakukan analisis kebutuhan, proses ini dilakukan untuk mengetahui informasi, model, dan spesifikasi dari sistem yang dibutuhkan. b. Pembuatan Prototype Pada tahap ini, akan dilakukan pembuatan prototype sesuai dengan kebutuhan. c. Evaluasi Prototype Tahap dimana prototype dievaluasi apakah sudah cocok atau belum dengan kebutuhan. d. Pengembangan perangkat lunak akhir Melakukan pembuatan perangkat lunak yang telah cocok sesuai dengan kebutuhan sekaligus melakukan penyelesaian pengembangan perangkat lunak. e. Pengujian (Testing) Tahapan selanjutnya adalah proses pengujian perangkat lunak, proses pengujian ini dilakukan untuk memastikan perangkat lunak yang telah dibuat telah sesuai dengan kebutuhan. Pengujian menggunakan metode blackbox.
3.4
Model yang Dikembangkan Model yang dikembangkan dalam penelitian ini terdiri dari tiga proses
besar yaitu; image preprocessing, image document analysis, dan optical character recognition sedangkan metode yang digunakan untuk pengenalan karaker dalam penelitian ini adalah feature extraction dan template matching.
45
3.4.1
Zoning
Gambar 3.3 Metode Zoning
Perhatikan gambar 3.3, teknik pengambilan feature yang digunakan dalam tugas akhir ini adalah zoning. Metode zoning membagi karakter N x M wilayah. Dari setiap wilayah, feature diekstraksi untuk membentuk feature vector. Tujuan zoning adalah memperoleh karakteristik lokal disamping karakteristik global. Pola karakter disimpan sebagai sebuah matriks. Setiap sel menyimpan informasi yang berkaitan dengan setiap pixel dari karakter tertentu. Nilai pixel dapat berupa 1 (mengindikasikan piksel hitam) untuk pixel yang dilalui oleh huruf yang akan dikenali ataupunn 0 (mengindikasikan piksel putih) untuk pixel yang tidak dilalui oleh huruf. Hasil akhir dari proses ini adalah dokumen gambar menjadi kotak-kotak kotak yang sudah ditentukan guna mengelompokan pixel.
46
3.4.2
Image Preprocessing Salah satu proses yang penting dalam pengenalan objek yang tersaji secara
visual (berbentuk gambar) adalah image preprocessing. Image preprocessing di dalam citra bertujuan memisahkan wilayah (region) objek dengan wilayah latar belakang. Selanjutnya, wilayah objek yang telah tersegmentasi digunakan untuk proses berikutnya (image document analysis dan character recognition). Metode image
preprocessing
yang
umum
adalah
pengambangan
citra
(image
thresholding). Operasi pengambangan mensegmentasikan citra menjadi dua wilayah, yaitu wilayah objek dan wilayah latar belakang [1]. Wilayah objek diset berwarna putih sedangkan sisanya diset berwarna hitam (atau sebaliknya). Hasil dari operasi pengambangan adalah citra biner yang hanya mempunyai dua derajat keabuan: hitam dan putih.
3.4.2.1 Grayscaling Proses grayscaling bertujuan mengubah dokumen gambar yang berwarna menjadi gambar yang terdiri dari warna putih dan gradasi warna hitam dengan menggunakan representasi warna RGB (perhatikan gambar 3.4). Pengubahan gambar ke dalam bentuk grayscale ini dilakukan dengan mengambil nilai pixel dari dokumen gambar yang kemudian dihitung dengan persamaan yang ada yaitu :
Tingkat kecerahan X = (max R,G,B) + (min R,G,B) / 2 …………………………………….. (1)
47
Rata-rata nilai warna X = (R + G + B) / 3 ……………………………………………………... (2)
Gradasi keabuan (tingkat keabuan) X = 0.21R + 0.71G + 0.07B …………………………………….. ……...(3)
Hasil dari ketiga persamaan diatas akan menghasilkan suatu warna baru yang terdiri dari tingkat kecerahan, rata-rata nilai warna setiap pixel, dan tingkat keabuan, dapat dilihat dari persamaan (4) dibawah ini,
Warna baru = RGB (X,X,X) …………………………………….. ……...(4)
Persamaan (3) dipilih berdasarkan http://docs.gimp.org/2.4/en/gimp-layer-desaturate.html
referensi
dari dan
http://blogs.embarcado.com/pawelglowacki/2010/03/29/39019, disebutkan dapat menghasilkan keluaran warna keabuan yang lebih baik.
3.4.2.2 Thresholding Tresholding bertujuan memisahkan wilayah (region) objek dengan wilayah latar belakang agar objek di dalam citra mudah dianalisis dalam rangka mengenalisa objek. Proses thesholding dilakukan dengan cara memeriksa apakah nilai intensitas dari sebuah pixel berada dibawah atau di atas sebuah nilai intensity
48
threshold yang telah ditentukan. Jika nilai pixel tersebut berada di atas batas nilai yang telah ditentukan, maka pixel tersebut akan diubah menjadi putih yang berarti bahwa pixel tersebut merupakan background, dan sebaliknya bila pixel tersebut berada di bawah batas nilai yang ditentukan maka pixel tersebut akan diubah menjadi hitam yang berarti dianggap sebuah karakter. Dokumen gambar yang berformat bitmap akan diubah ke dalam sebuah matrik yang berukuran sesuai dengan ukuran pixel dari masukan dokumen gambar tersebut. Selanjutnya akan dilakukan perubahan ke dalam vektor matrik biner yang hanya bernilai 0 atau 1 pada setiap pixel nya. Setelah didapatkan nilai grayscale kemudian nilai pada setiap pixel hasil grayscale akan dilakukan proses thresholding yang akan menyebabkan setiap pixel hanya bernilai 0 atau 1 (perhatikan gambar 3.4).
49
To Grayscale = (0.21R + 0.71G + 0.07B)
Gambar 3.4 Ilustrasi Proses Grayscaling dan Thresholding Sumber : Andriansyah Zakaria, 2009
50
3.4.3
Image Document Analysis Proses image document analysis terdiri dari proses segmentasi baris dan
segmentasi karakter. Proses segmentasi berfungsi memetakan jumlah titik hitam setiap baris pada dokumen gambar. Setiap koordinat karakter hasil segmentasi disimpan dalam variabel array TRect (persegi) yang sudah disiapkan. Dalam hal ini terjadi dua proses segmentasi, yaitu; segmentasi baris dan segmentasi karakter.
3.4.3.1 Segmentasi Baris Segmentasi baris merupakan proses awal dari modul proses segmentasi karakter. Proses yang dilakukan pada tahap segmentasi baris ini adalah dengan memetakan keseluruhan gambar yang berisi rangkaian karakter pada sumbu-y untuk mendapatkan posisi dan tinggi dari tiap-tiap baris (gambar tersebut diasumsikan gambar yang hanya berisi rangkaian karakter). Hal ini dilakukan dengan menghitung jumlah pixel yang bernilai 1 (pixel hitam) pada sumbu-y. Selanjutnya dari hasil perhitungan pixel terhadap sumbu-y tersebut akan diperoleh posisi baris (posisi awal dan posisi akhirnya) dan tinggi setiap baris rangkaian karakter yang ditentukan berdasarkan jumlah pixel yang muncul pada setiap baris pixelnya.
51
Gambar 3.5 Ilustrasi Proses Segmentasi Baris Sumber : Andriansyah Zakaria, 2009
Dari gambar 3.5 dapat kita lihat bahwa jumlah baris yang akan dikenali adalah 2. a. Baris ke-1 1) Posisi awal i = 2 2) Posisi akhir i = 15 3) Tinggi karakter = (Posisi akhir – posisi awal + 1) = (15 – 2 + 1) = 14
52
b. Baris ke-2 1) Posisi awal i = 20 2) Posisi akhir i = 33 3) Tinggi karakter = (Posisi akhir – posisi awal + 1) = (33 – 20 + 1) = 12
3.4.3.2 Segmentasi Karakter Segmentasi karakter merupakan proses pengisolasian karakter-karakter individual agar dapat melewati fase pengenalan. Segmentasi karakter merupakan langkah yang paling penting dan juga sulit. Proses segmentasi yang buruk menghasilkan penolakan atau kesalahan pengenalan. Segmentasi karakter dilakukan dengan membuat sebuah pola berbentuk persegi dengan tinggi dan lebarnya adalah tinggi dan lebar maksimal karakter yang diperoleh dari segmentasi baris (perhatikan gambar 3.6 a). Pola ini dibuat untuk memperkecil area segmentasi sehingga proses pengisolasian karakter lebih akurat. Pengisolasian setiap karakter akan berbeda-beda sesuai dengan tinggi dan lebar karakter tersebut. Hasil dari proses segmentasi ini adalah posisi, lebar dan tinggi untuk masing-masing karakter seperti terlihat pada gambar 3.6 b.
53
a b c
a (a)
(b)
Gambar 3.6 Pola yang dibuat oleh sistem untuk memperkecil area segmentasi (a) dan hasil pengisolasian setiap karakter (b).
3.4.4
Character Recognition Character recognition atau pengenalan karakter dilakukan dengan
mencocokan karakter yang diinvestigasi dengan character image pada template image. Character recognition terdiri dua tahapan proses yaitu, normalisasi dan template matching.
3.4.4.1 Normalisasi Data yang dihasilkan dari proses image document analysis dapat berbedabeda dimensinya. Oleh karena itu untuk mendapatkan data yang seragam, akurat dan konsisten dari setiap sampel, character image hasil image document analysis akan dinormalisasikan menjadi dokumen gambar ukuran 14 x 16 pixel. Dengan demikian tinggi dan character image akan sama ukurannya. Normalisasi dilakukan dengan cara menentukan skala untuk memperbesar atau memperkecil suatu character image dengan catatan tinggi dan lebarnya sudah diketahui.
54
Mencari tinggi dan lebar character image : gh = (posisi paling bawah – posisi paling atas) + 1 …………………………. (1) gw = (posisi paling kanan – posisi paling kiri) + 1 Keterangan : gh : tinggi character image gw : lebar character image
Mencari skala normalisasi : HScale = (gw – 1) / (FGlyphWidth – 1) ……………………………………… (2) VScale = (gh – 1) / (FGlyphHeight – 1) Keterangan : HScale
: skala horizontal
VScale
: skala vertikal
gh
: tinggi character image
gw
: lebar character image
FGlyphWidth : lebar karakter normalisasi (14 pixel) FGlyphHeight : tinggi karakter normalisasi (16 pixel)
Proses normalisasi akan dihadapkan dalam empat kondisi karakter yang berbeda, diantaranya : a. Lebar (horizontal) dan tinggi (vertikal) character image lebih kecil dari lebar dan tinggi karakter yang berada di template image. Jika kondisi ini yang didapatkan, normalisasi dilakukan dengan cara :
55
1) Mencari tinggi y
= FGlyphHeight – 1 = 16 – 1 = 15
ny
= yVScale
2) Mencari lebar x
= FGlyphWidth – 1 = 14 – 1= 13
nx
= xHScale
b. Lebar (horizontal) character image lebih besar dari lebar karakter di template image dan tinggi (vertikal) character image lebih kecil dari tinggi karakter yang berada di template image. Jika kondisi ini yang didapatkan, normalisasi dilakukan dengan cara : 1) Mencari tinggi y
= FGlyphHeight – 1 = 16 – 1 = 15
ny
= yVScale
2) Mencari lebar x
= gw – 1
nx
= xHScale
56
c. Lebar (horizontal) character image lebih kecil dari lebar karakter di template image dan tinggi (vertikal) character image lebih besar dari tinggi karakter yang berada di template image. Jika kondisi ini yang didapatkan, normalisasi dilakukan dengan cara : 1) Mencari tinggi y
= gh – 1
ny
= yVScale
2) Mencari lebar x
= FGlyphWidth – 1 = 14 – 1= 13
nx
= xHScale
d. Lebar (horizontal) dan tinggi (vertikal) character image lebih besar dari lebar dan tinggi karakter yang berada di template image. Jika kondisi ini yang didapatkan, normalisasi dilakukan dengan cara : 1) Mencari tinggi y
= gh – 1
ny
= yVScale
2) Mencari lebar x
= gw – 1
nx
= xHScale
57
3.4.4.2 Template Matching Proses template matching dilakukan dengan cara membandingkan charater image dengan character template. Perbandingan dilakukan untuk melihat derajat kesamaan antara kedua karakter tersebut. Derajat kesaamaan suatu charater image dilakukan dengan memberikan nilai untuk setiap pixel yang dibandingkan. Cara untuk menghitung derajat kesamaan pada tahap ini adalah sebagai berikut : a. Apabila pixel character template pada posisi (x,y) sama dengan pixel character image pada posisi (x,y) diberi nilai 1. b.
Apabila pixel character template pada posisi (x,y) tidak sama dengan pixel character image pada posisi (x,y) diberi nilai 0. Selanjutnya banyaknya nilai salah (0) dibagi dengan jumlah pixel hasil
pengotakan normalisasi (16 x 14 pixel = 224 pixel). Melalui derajat kesamaan ini dapat diketahui kemiripan suatu character image dengan character template. Jika hasil penjumlahan nilai salah lebih besar sama dengan 1 maka sistem tidak akan mengenali character image tersebut. Sistem dapat mentolerir kesalahan dengan rentang nilai antara 0 sampai 1, semakin nilai salah mendekati 1 akan semakin kecil keakuratan sistem dalam mengenali suatu character image. Semakin sedikit nilai salah (0) yang diperoleh, akan semakin besar peluang sistem dalam mengenali suatu character image.
58
3.4.5
Deteksi Kemiringan Dokumen yang akan dikenali dalam proses yang telah disebutkan diatas
tidak boleh memiliki suatu sudut kemiringan karena akan mempengaruhi keakuratan pengenalan karakter. Oleh karena itu, sistem akan memberi peringatan ketika dokumen gambar yang dimasukan memiliki sudut kemiringan lebih dari 1o. Deteksi sudut kemiringan dilakukan dengan melakukan scan terhadap dokumen gambar mulai dari koordinat (0,0) dengan kelipatan sudut 0.9o ( < 90o ) sampai menemukan titik hitam sejumlah 63. Nilai 63 ini ditentukan untuk mengetahui apakah titik hitam itu berupa noise (gangguan) atau suatu karakter yang akan dikenali. Sudut θ suatu dokumen gambar ditentukan melalui persamaan berikut,
………………………………(1)
Sumber : Danny Setiawan, 2004 Keterangan : xi
: koordinat x ke-i dari pixel hitam
yj
: koordinat y ke-j dari pixel hitam
n
: jumlah pixel hitam
B
: slope
59
θ = tan-1 (B) ……………………………………………………………………..(2) Keterangan : B
: slope, nilai B diperoleh dari persamaan (1)
θ
: derajat kemiringan
3.5
Fokus Penelitian Fokus penelitian ini adalah :
a. Pembacaan dokumen gambar dalam bentuk bitmap untuk diubah menjadi dokumen teks word. b. Pengaruh noise (gangguan) berupa guratan/coretan garis terhadap keakuratan proses pengenalan karakter.
60