Data yang Digunakan Arsitektur Umum Praproses Data

BAB 3 ANALISIS DAN PERANCANGAN SISTEM Pada Bab ini akan dibahas data yang digunakan, flowchart dan activity diagram dari sistem, serta tahapan-tahapan yang akan digunakan dalam perancangan sistem yang akan dibangun.

3.1 Data yang Digunakan

Dalam pembangunan sistem ini, data yang digunakan adalah citra atau gambar dari hasil pemotretan pada meteran air menggunakan camera smartphone android. Terdapat dua data dalam pembacaan meteran air, yaitu QR code dan index meter air. QR code berguna untuk menyatakan id pelanggan, index meter air berguna sebagai dasar perhitungan tagihan. Indeks meter air terdiri dari dua warna, yaitu hitam yang menunjukkan satuan m 3 sebagai dasar perhitungan tagihan, dan merah menunjukkan satuan liter untuk pengujian meter air. Index meter air yang digunakan adalah yang berwarna hitam, yaitu angka empat digit awal. QR code dan Index meter air dapat dilihat pada Gambar 3.1 dan Gambar 3.2. Gambar 3.1 QR code yang terdapat pada meteran air Gambar 3.2 Index meter

3.2 Arsitektur Umum

Gambar 3.3 Arsitektur Umum Pada Gambar 3.3, untuk pertama kalinya user atau petugas akan memindai QR-Code untuk menginisialisasi nomor pelanggan. Apabila pada meteran air tidak terdapat QR-Code untuk di scan , user atau petugas dapat mengisi no pelanggan secara manual pada textbox yang telah disediakan. Setelah informasi no pelanggan telah didapat, dilanjutkan pada proses capture meter . Pada proses ini petugas atau user akan memfoto indeks meter air. Setelah selesai difoto, sistem akan melakukan preprocessing terhadap foto yang telah diambil. Setelah semua praproses selesai dilakukan, giliran proses pengenalanlah yang akan dilakukan oleh sistem. Apabila pengenalan telah berhasil dilakukan maka petugas akan langsung mendapatkan result text . Result text ini akan berbentuk sebuah editable text .

3.3 Praproses Data

CROPPING GRAYSCALING THRESHOLDING Gambar 3.4 Diagram praproses data Sebelum masuk ke proses pengenalan, gambar yang diperoleh dari camera haruslah melalu tahap praproses terlebih dahulu, dimana pada proses ini gambar yang bersifat digital image akan diubah ke binary image . Hal ini dilakukan karena input yang digunakan dalam proses pengenalan data akan diasumsikan sebagai binary image dan juga untuk mempermudah dan menigkatkan tingkat keakurasian pengenalan karakter. 3.3.1 Cropping Pada proses ini citra yang diambil melalui camera akan dilakukan cropping untuk dapat memfokuskan pembacaan hanya pada indeks meteran air. Cropping sendiri dilakukan dengan menggunakan fitur bounding box pada camera seperti pada Gambar 3.5. Gambar 3.5 Hasil cropping image 3.3.2 Grayscalling Pada tahapan ini akan dilakukan pengubahan gambar yang berwarna menjadi citra keabuan. Proses pengkonversian ini pun dapat dilihat pada Gambar 3.6. Start Loading Image h = image.getHeight w = image.getWidth x = 0 y = 0 x w ? y h ? x = x + 1 R = Color.redx,y G = Color.greenx,y B = Color.bluex,y set pixelx,y with R 0.299 + G 0.587 + B 0.114 y = y + 1 Grayscaled Image Selesai No Yes No Yes Gambar 3.6 F lowchart konversi citra RGB menjadi grayscale Pada proses grayscale program akan melakukan pengulangan dalam pengecekan gambar per pixel sesuai dengan koordinat x,y sebesar ukuran dan panjang lebar gambar. Setiap pixel yang terdiri dari 3 informasi warna RGB red, green, blue akan dijumlahkan, kemudian dibagi tiga untuk dijadikan warna dasar sebagai nilai rata-rata dalam penkonversian menjadi grayscale . Hasil citra yang telah di grayscale dapat dilihat pada Gambar 3.7. Gambar 3.7 Hasil proses grayscaling 3.3.3 Thresholding Thresholding adalah salah bentuk binerisasi gambar dimana gambar grayscale akan diubah menjadi gambar yang hanya mempunyai dua kemungkinan nilai yaitu 0 untuk hitam dan 255 untuk putih. Keberhasilan sistem dalam pengenalan kata sangatlah bergantung pada hasil binerisasi gambar, semakin baik hasil binerisasi gambar maka akan meningkatkan keberhasilan pengenalan gambar pula. Dalam penelitian ini digunakan global thresholding metode Otsu yang dipakai pada praproses terakhir. Berikut algoritma untuk metode Otsu . tMean = 0; variance = maxVariance = 0; firstCM = zerothCM = 0; for I = 0; I h; i++{ for j = 0; j w; j++{ n= Image[j][i]; histogram[n]++; } } for k = 0; k level; k++{ tMean += k histogram[k] w h; for k = 0; k level; k++ { zerothCM += histogram[k] w h; firstCM += k histogram[k] w h; variance = tMean zerothCM – firstCM; variance = variance; variance ?= zerothCM 1 – zerothCM; if maxVariance variance { maxVariance = variance; T = k; } } } Dari algoritma diatas gambar akan di scan per pixel sebesar panjang dikali lebar gambar tersebut. Setiap nilai abu-abu yang didapat dari setiap pixel akan dimasukkan kedalam histogram yang dipresentasikan dengan array . Pada masing-masing level akan dilakukan perulangan untuk mendapatkan perbaruan pada nilai mean, zeroth cumalative moment, first cumulative moment , dan variansi . Lalu nilai threshold akan ditentukan. Jika pada pixel gambar x,y kurang dari nilai threshold maka akan dibuat menjadi hitam atau latar belakang, sebaliknya apabila pixel gambar x,y lebih dari nilai threshold maka pixel akan dibuat menjadi putih. Hasil citra yang telah di threshold dapat dilihat pada gambar 3.8. Gambar 3.8. Hasil proses thresholding

3.4 Pemrosesan Data