Sistem Pemindai Meteran Air Pada Platform Android

(1)

SISTEM PEMINDAI METERAN AIR PADA

PLATFORM ANDROID

SKRIPSI

FADLI RIZKI

091402082

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2015


(2)

SISTEM PEMINDAI METERAN AIR PADA

PLATFORM ANDROID

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah

Sarjana Teknologi Informasi

FADLI RIZKI

091402082

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2015


(3)

i

PERSETUJUAN

Judul : SISTEM PEMINDAI METERAN AIR PADA

PLATFORM ANDROID

Kategori : SKRIPSI

Nama : FADLI RIZKI

Nomor Induk Mahasiswa : 091402082

Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, 9 Juli 2015 Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Sarah Purnamawati ST.,M.Sc NIP 19830226 201012 2 003

Romi Fadillah Rahmat, B.Comp.Sc.,M.Sc NIP 19860303 201012 1 004

Diketahui/Disetujui oleh

Program Studi S1 Teknologi Informasi Ketua,

M. Anggia Muchtar, ST., MM.IT NIP 19800110 200801 1 010


(4)

PERNYATAAN

SISTEM PEMINDAI METERAN AIR PADA PLATFORM ANDROID

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, 9 Juli 2015

Fadli Rizki 091402082


(5)

iii

PENGHARGAAN

Alhamdulillah, segala puji dan syukur penulis panjatkan atas kehadirat Allah SWT beserta Nabi besar Muhammad SAW yang telah memberikan rahmat, hidayah-Nya, segala daya dan upaya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Program Studi S-1 Teknologi Informasi Universitas Sumatera Utara. Ucapan terima kasih yang sebesar-besarmya penulis sampaikan kepada :

1. Kedua orang tua penulis, orang yang paling berharga dalam hidup penulis, ayahanda Fadillah Helmi dan ibunda Rosliani yang telah membesarkan, mendidik, memberi dukungan, doa, dan motivasi tanpa henti. Serta kepada abang-abang dan adik-adik penulis yang selalu ikut menemani penulis.

2. Ketua dan Sekretaris Program Studi Teknologi Informasi, Bapak Muhammad Anggia Muchtar, ST., MM. IT dan Bapak Muhammad Fadly Syahputra, B.Sc, M.Sc.IT, Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen serta pegawai di Program Studi S1 Teknologi Informasi.

3. Bapak Romi Fadillah Rahmat, B.Comp.Sc.,M.Sc selaku pembimbing pertama dan Ibu Sarah Purnamawati, S.T.,M.Sc selaku pembimbing kedua, yang telah banyak meluangkan waktunya dan memberikan masukan-masukan yang bermanfaat bagi penulis dalam menyelesaikan skripsi ini.

4. Bapak Dani Gunawan, S.T.,M.T dan bapak Dr. Sawaluddin, M.IT yang telah bersedia menjadi dosen pembanding dan memberikan saran-saran yang baik bagi penulis dalam menyelesaikan skripsi ini.

5. Kepada teman-teman yang mendukung dan membantu penulis Fadhlullah, Ade, Icha, Yanna, Dijah, Ammar, Ridzuan, Reza, Hafiz Yahya, Yogi, Ibnu, Juju, Fanny, Hani, Binyo, Dezi, Abdi Hafiz, Dwiky, Dabok, Iqbal, Ismail, Muslim, Januar dan seluruh teman-teman lainnya yang tidak dapat disebutkan satu persatu.

6. Kepada Abang Manaf, Kak Umi dan Ibu Mega selaku bagian tata usaha Program Studi S1 Teknologi Informasi yang telah membimbing dan membantu penulis dari awal proposal sampai sidang.

Sekali lagi penulis mengucapkan terima kasih yang sebesar-besarnya kepada semua pihak yang membantu dalam penyelesaian tugas akhir ini yang tidak dapat disebutkan. Terima kasih atas masukan, saran, dan motivasi yang diberikan. Semoga Allah SWT membalas dengan nikmat yang berlimpah.


(6)

ABSTRAK

Sering terjadinya kesalahan dalam pencatatan meteran air oleh petugas pembaca meter berdampak pada jumlah tagihan pembayaran rekening air yang harus dibayar tidak sesuai dengan volume atau kuantitas penggunaan yang tercantum atau tertera di meteran. Untuk memberikan pelayanan yang maksimal dan menimalisir masalah tersebut, diperlukan sistem pembacaan meter air pelanggan menggunakan HP berbasis Android. Penelitian ini akan menerapkan teknik Optical Character Recognition (OCR) untuk melakukan pembacaan angka pada meteran air tersebut. Optical Character Recognition (OCR) akan mengkonversi dari scanned image menjadi

editable text.Scanned image terdiri dari satu kesatuan konten - konten yang nantinya akan dipilah menjadi konten - konten tersendiri. Penelitian ini menghasilkan tingkat akurasi sebesar 80%, dimana perbandingan kegagalan sistem adalah 2 banding 10 untuk gambar dengan empat digit angka.

Kata kunci : meteran air, Optical Character Recognition (OCR), android, scanned image, editable text


(7)

v

FLOW METER SCANNING SYSTEM ON ANDROID PLATFORM

ABSTRACT

Frequent occurrence of errors in recording the flow meter number by the readers officers have an impact on the bill that they were supposed to paid were not match with the volume that showed on the flow meter. In provide to giving a better service and decrease the possibility of the problem, an image recognition system for flow meter based on android is necessity. This research using the Optical Chara cter Recognition (OCR) to recognize the number on the flow meter. Optical Character Recognition (OCR) will converse the scanned image into the editable text. the scanned image are consist from view contents which will separated into distinctive content. This research show 80% of accuracy system, with the ratio of the failure system are 2 from 10 for an image with four digits number.

Keywords : Flow meter, Optical Character Recognition (OCR), android, scanned image, editable text.


(8)

DAFTAR ISI

Hal

PERSETUJUAN i

PERNYATAAN ii

PENGHARGAAN iii

ABSTRAK iv

ABSTRACT v

DAFTAR ISI vi

DAFTAR TABEL viii

DAFTAR GAMBAR ix

BAB 1 PENDAHULUAN 1

1.1Latar Belakang 1

1.2Rumusan Masalah 3

1.3Batasan Masalah 3

1.4Tujuan Penelitian 3

1.5Manfaat Penelitian 3

1.6Sistematika Penulisan 4

BAB 2 LANDASAN TEORI 5

2.1Sistematika Pembacaan Meteran Air 5

2.2Image Processing 6

2.3Optical Character Recognition (OCR) 6

2.4Tesseract OCR 8

2.4.1 Arsitektur 8

2.4.2 Pengenalan karakter oleh Tesseract 10

2.5Android 13

2.5.1 Arsitektur Android 13

2.5.2 Software Pendukung 16


(9)

vii

2.6Penilitian Terdahulu 18

BAB 3 ANALISIS DAN PERANCANGAN SISTEM 20

3.1Data Yang Digunakan 20

3.2Arsitektur Umum 21

3.3Praproses Data 22

3.3.1 Cropping 22

3.3.2 Grayscalling 22

3.3.3 Thresholding 23

3.4 Pemrosesan Data 25

3.4.1 Page Layout Analysis 25

3.4.2 Find Text Lines and Words 26

3.4.3 Recognize word pass 1 and 2 27

3.5 Perancangan Sistem 28

3.5.1 Usecase Diagram 28

3.5.2 Usecase Spesifikasi 30

3.5.3 Activity Diagram 31

3.5.4 Perancangan antar muka 32

3.5.5 Perancangan Database 36

BAB 4 IMPLEMENTASI DAN PENGUJIAN 37

4.1Implementasi Sistem 37

4.1.1Spesifikasi Sistem 37

4.1.2Instalasi Aplikasi 37

4.1.3Mekanisme Penggunaan Aplikasi 38

4.2Pengujian Sistem 43

4.2.1 Analisis Pengujian Sistem 47

BAB 5 KESIMPULAN DAN SARAN 49

5.1Kesimpulan 49

5.2Saran 49


(10)

DAFTAR TABEL

Hal

Tabel 2.1 Penelitian Terdahulu 18

Tabel 3.1 Usecase spesifikasi capture meter 29 Tabel 3.2 Usecase spesifikasi lihat history 30 Tabel 3.3 Usecase spesifikasi info 30 Tabel 3.4 Rancangan Table Result 36 Tabel 4.1 Hasil pengujian Sistem 44


(11)

ix

DAFTAR GAMBAR

Hal

Gambar 2.1 Indeks meter air 5

Gambar 2.2 Proses OCR 7

Gambar 2.3 Arsitektur Tesseract OCR 9 Gambar 2.4 Contoh dari curved fitted baseline 11 Gambar 2.5 Pemotongan kata pada pitch yang tetap 11

Gambar 2.6. Non-fixed pitch 12

Gambar 2.7. Titik pemotongan untuk karakter ASCII 12 Gambar 2.8 Kata yang mudah dikenali 13

Gambar 2.9 Arsitektur Android 14

Gambar 3.1 QRCode 20

Gambar 3.2 Index Meter 21

Gambar 3.3 Arsitekture umum 21

Gambar 3.4 Diagram praproses data 22

Gambar 3.5 Hasil cropping image 22

Gambar 3.6 Flowchart konversi citra RGB menjadi grayscale 23 Gambar 3.7 Hasil proses grayscaling 23 Gambar 3.8 Hasil proses thresholding 25 Gambar 3.9 Proses pengenalan karakter 25 Gambar 3.10 (a) Karakter yang akan dicari outlinenya (b) Pelabelan karakter (c) blob membentuk outline (d) Outline karakter terbentuk

26

Gambar 3.11 Fitted baseline yang berbentuk miring 27 Gambar 3.12 Pemotongan karakter sesuai dengan Fixed Pitch 27

Gambar 3.13 Usecase diagram 28

Gambar 3.14 Usecase diagram capture meter 31 Gambar 3.15 Usecase diagram lihat history 32 Gambar 3.16 Rancangan halaman utama 33 Gambar 3.17 Rancangan halaman capture meter 34


(12)

Gambar 3.18 Rancangan halaman lihat history 35 Gambar 3.19 Rancangan halaman info 36 Gambar 4.1 Icon aplikasi device 38

Gambar 4.2 Halaman Splsh Screen 39

Gambar 4.3 Halaman Utama 39

Gambar 4.4 Halaman Capture Meter 40

Gambar 4.5 Halaman History 41

Gambar 4.6 Tampilan halaman data meteran air yang telah masuk ke server 42


(13)

iv

ABSTRAK

Sering terjadinya kesalahan dalam pencatatan meteran air oleh petugas pembaca meter berdampak pada jumlah tagihan pembayaran rekening air yang harus dibayar tidak sesuai dengan volume atau kuantitas penggunaan yang tercantum atau tertera di meteran. Untuk memberikan pelayanan yang maksimal dan menimalisir masalah tersebut, diperlukan sistem pembacaan meter air pelanggan menggunakan HP berbasis Android. Penelitian ini akan menerapkan teknik Optical Character Recognition (OCR) untuk melakukan pembacaan angka pada meteran air tersebut. Optical Character Recognition (OCR) akan mengkonversi dari scanned image menjadi

editable text.Scanned image terdiri dari satu kesatuan konten - konten yang nantinya akan dipilah menjadi konten - konten tersendiri. Penelitian ini menghasilkan tingkat akurasi sebesar 80%, dimana perbandingan kegagalan sistem adalah 2 banding 10 untuk gambar dengan empat digit angka.

Kata kunci : meteran air, Optical Character Recognition (OCR), android, scanned image, editable text


(14)

FLOW METER SCANNING SYSTEM ON ANDROID PLATFORM

ABSTRACT

Frequent occurrence of errors in recording the flow meter number by the readers officers have an impact on the bill that they were supposed to paid were not match with the volume that showed on the flow meter. In provide to giving a better service and decrease the possibility of the problem, an image recognition system for flow meter based on android is necessity. This research using the Optical Chara cter Recognition (OCR) to recognize the number on the flow meter. Optical Character Recognition (OCR) will converse the scanned image into the editable text. the scanned image are consist from view contents which will separated into distinctive content. This research show 80% of accuracy system, with the ratio of the failure system are 2 from 10 for an image with four digits number.

Keywords : Flow meter, Optical Character Recognition (OCR), android, scanned image, editable text.


(15)

BAB 1

PENDAHULUAN

1.1.Latar Belakang

Flow Meter atau sering disebut dengan meteran air merupakan sebuah teknologi yang diciptakan untuk memudahkan Perusahaan Daerah Air Minum (PDAM) dalam menghitung dan mengontrol jumlah pemakaian air pelanggannya. Letak meteran air biasanya diletakkan di tempat yang mudah dijangkau, agar petugas PDAM dapat dengan mudah membaca meteran tersebut. Pelanggan sendiri telah dihimbau agar tidak melakukan hal-hal yang dapat menyulitkan petugas untuk mengakses meteran air ini, seperti meletakkan meteran air didalam rumah, menimbunnya dan lain sebagainya. Penghitungan itu sendiri masih dilakukan secara manual oleh petugas PDAM. Penghitungan dilakukan dengan cara mencatat angka yang tertera pada meteran air yang lalu kemudian akan dilaporkan sebagai beban biaya pelanggan. Cara ini masih kurang efisien melihat masih banyaknya keluhan yang di sampaikan pelanggan dikarenakan adanya kesalahan pencatatan oleh petugas yang kadang menyebabkan pembengkakan tagihan air minum tersebut.

Data yang diperoleh dari penelitian Putra pada tahun 2011 menunjukkan bahwa pada tahun 2009 terdapat hampir 80% keluhan pelanggan di salah satu PDAM terjadi karena jumlah tagihan pembayaran rekening air yang harus dibayar tidak sesuai dengan volume atau kuantitas penggunaan yang tercantum atau tertera di meteran. Hal ini bisa saja terjadi salah satunya dikarenakan oleh kesalahan petugas.

Untuk memberikan pelayanan yang maksimal dan meminimalisir masalah diatas PDAM Sumatera Utara mencari berbagai inovasi salah satunya dengan cara memakai sistem baca meter baru yaitu sistem pembacaan meter air pelanggan menggunakan HP berbasis Android. Pembacaan meter air pelanggan dengan menggunakan HP berbasis


(16)

Android diharapkan akan memberikan kepastian terhadap angka meter air bagi setiap pelanggan. Dengan sistem ini setiap meter air pelanggan akan dipasangi barcode

sebagai identitas pelanggan dimana petugas pembaca meter memotret angka meter air dan rumah pelanggan yang telah dipasang barcode tersebut, hasil pemotretan tersebut ditransfer ke server cabang yang selanjutnya akan diverifikasi oleh operator yang sudah ditunjuk. Tujuannya adalah untuk memastikan angka meter yang sudah dipotret dan angka meter air yang sudah dinput oleh pembaca meter sama.

Namun sistem ini hanya mengambil foto meteran tanpa dapat membaca angka meteran tersebut itu sendiri secara otomatis. Pencatatatan digit angka meteran masih juga diinput manual oleh petugas. Foto hanya berfungsi sebagai alat bukti apabila dikemudian hari pelanggan ingin menyesuaikan pemakaian airnya sudah sesuai atau tidak. Hal ini dapat menimblkan masalah baru, salah satunya adalah masalah waktu, dimana petugas melakukan terlalu banyak pekerjaan dengan memfoto serta menginput manual lagi angka yang tertera di meteran. Apabila petugas hanya membaca satu rumah tidak terlalu terlihat memakan waktu banyak, tapi apabila petugas ditugaskan untuk membaca 10 rumah atau lebih, cara ini merupakan hal yang tidak produktif karena hanya beberapa rumah saja yang akan terbaca dalam kurun waktu satu harinya.

Optical Character Recognition (OCR) sangat mungkin diimplementasikan pada permasalahan ini. Seperti penelitian sebelumnya oleh Arif Firman Cahyadi pada tahun 2013, Otomasi sistem pemindaian meteran Air PDAM untuk meningkatkan akurasi pembacaan tagihan air dengan jaringan syaraf tiruan bertipe backpropagation. Pada penelitian tersebut telah menghasilkan perangkat lunak untuk pembacaan data penggunaan meteran air dengan memakai software Matlab berbasis Metode JST-backpropagation dimana pada proses pengujiannya mampu digunakan untuk mempersingkat proses pencatatatan dan pembacaan meteran air hingga 21% lebih banyak dari biasanya.

OCR dapat mengenali sebuah gambar dan langsung dikenali sebagai input yang dapat selanjutnya dijadikan data komputer dan langsung dilakukan perhitungan. Mengingat teknologi yang berkembang pada saat ini adalah teknologi mobile, maka dari itu penulis ingin mengimplementasikan Optical Character Recognition dalam pembacaan meteran air pada perangkat Android.


(17)

3

1.2.Rumusan Masalah

Dengan ditemukannya banyaknya kesalahan yang dilakukan petugas dalam pencatatan meteran air di tiap rumah, serta bukti dari pencatatan meteran air yang masih minim, maka diperlukan sebuah sistem yang dapat membantu petugas dalam pencatatan meteran air yang akan dilakukan dan di proses langsung pada paltformandroid.

1.3.Batasan Masalah

Dalam penelitian ini diterapkan beberapa batasan masalah yaitu :

1. Penelitian ini dikhususkan pada pembacaan meteran air atau flow meter berdigit enam.

2. Objek roda indeks meter meteran air harus dalam posisi sempurna. 3. Pengambilan data pada sistem tidak memperhatikan faktor lingkungan.

4. Input citra hasil foto harus berupa ekstensi gambar yang didukung android dan Tesseract OCR yaitu .jpg.

1.4.Tujuan Penelitian

Tujuan dari penelitian ini adalah menghasilkan sebuah aplikasi yang dapat melakukan pembacaan dan pencatatan meteran air pada platform android menerapkan Optical Character Recognition.

1.5.Manfaat Penelitian

Adapun manfaat dari penelitian ini adalah :

1. Membantu petugas pencatat meteran air dalam mengerjakan tugasnya dilapangan. 2. Sistem yang dibuat dapat secara langsung membaca meteran air dari objek sebuah


(18)

1.6.Sistematika Penulisan

Adapun penulisan skripsi ini terdiri dari lima bagian utama (bab) dengan penjelasan singkat mengenai bab-bab tersebut, yaitu sebagai berikut :

Bab 1 Pendahuluan

Pada bab ini berisi uraian penjelasan latar belakang terkaut judul skripsi yang diajukan, perumusan masalah pada penelitian, batasan masalah yang ditetapkan, tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan dari penyusunan skripsi ini.

Bab 2 Landasan Teori

Pada bab ini dibahas mengenai teori-teori pendukung yang digunakan pada penelitian ini, seperti sistematika pembacaan meteran air, image processing, Optical Character Recognition (OCR), Tesseract OCR, dan Android.

Bab 3 Analisis dan Perancanga Sistem

Pada bab ini berisi penjelasan analisis mengenai permasalahan dan identifikasi kebutuhan perancangan sistem.

Bab 4 Implementasi dan Pengujian Sistem

Pada bab ini berisi penjelasan implementasi sistem dari hasil analisis yang dilakukan serta menguji sistem yang telah dibuat.

Bab 5 Kesimpulan dan Saran

Pada bab ini berisi kesimpulan yang didapat dari penelitian skripsi yang telah dilakukan dan saran yang dapat digunakan untuk penelitian lebih lanjut mengenai topik yang terkait pada skripsi ini.


(19)

BAB 2

LANDASAN TEORI

Pada bab ini akan dibahas mengenai teori-teori yang akan digunakan dalam perancangan sistem pemindai meteran air pada platform android. Hal-hal ini meliputi sistematika pembacaan meteran air, image processing, Optical Character Recognition

(OCR), TesseractOCR, dan Android.

2.1. Sistematika Pembacaan Meteran Air

Meteran air atau yang biasa disebut dengan flow meter adalah sebuah metode yang digunakan sebuah Perusahaan Daerah Air Minum (PDAM) untuk mengukur jumlah pemakaian pelanggannya. Pengukuran ini biasanya dilakukan dalam kurun waktu sebulan. Dewasa ini pembacaan meteran air dilakukan oleh petugas yang diutus langsung oleh perusahaan untuk membaca jumlah angka yang tertera pada meteran air. Pembacaan meter, merupakan kegiatan membaca indeks air yang terlihat pada register/totalister. Terdapat dua metode dalam pembacaan meteran air :

1. Meter air dibaca secara manual dengan melihat langsung dilokasi meter air. Metode ini disebut dengan pembacaan manual.

2. Automatic Meter Reading (pembacaan otomatis), pembacaan meter air menggunakan bantuan alat dan tidak langsung didatangi.

Indeks meter air itu sendiri terdiri dari dua warna (ISO) seperti pada Gambar 2.1.


(20)

Pada Gambar 2.1. indeks mata air terdiri dari dua warna (ISO).

1. Warna Hitam : Menunjukkan satuan m3, digunakan sebagai dasar perhitungan tagihan.

2. Warna Merah : Menunjukkan satuan liter, digunakan untuk pengujian meter air.

2.2. Image Processing

Pengolahan citra atau yang biasa disebut Image Processing adalah pengolahan terhadap sebuah citra untuk dapat melakukan peningkatan kualitas terhadap suatu citra dan mensegmentasinya sebagai tahap awal untuk dapat dikenal oleh mesin. Adapun tujuan dari Image Processing (Petrou & Petrou, 2010) adalah :

1. Image Enhancement, untuk meningkatkan kualitas gambar secara subjektif, biasanya dilakukan dengan meningkatkan contrast.

2. Image compression, untuk mengkompresi dan menurunkan kualitas gambar dengan cara menggunakan beberapa bit yang memungkinkan untuk mewakili gambar.

3. Image restoration, untuk meningkatkan kulaitas gambar secara objektif, seperti mengurangi blur.

4. Feature extraction, untuk memilah karakteristik yang ada pada gambar untuk selanjutkan digunakan mengidentifikasi konten-konten yang ada pada gambar.

2.3. Optical Character Recognition ( OCR )

Menurut Somers (2003), Optical Character Recognition atau yang biasa disebut dengan OCR adalah suatu proses pengkonversian dari scanned image menjadi editable text. Editable text didapatkan dari sebuah scanned image yang bisa saja diambil dari hasil pemotretan atau juga hasil scan gambar yang kemudian dimasukkan kedalam komputer. Scanned image ini terdiri dari satu kesatuan konten-konten yang nantinya akan di pilah menjadi konten-konten tersendiri. Teknologi ini membuat sebuah mesin dapat mengenali sebuah teks secara otomatis. Menurut Patel, C. Et.al (2012) hal ini dapat diumpamakan seperti kombinasi antara mata dan pikiran dari tubuh manusia. Sebuah mata yang dapat melihat teks yang terdapat pada suatu gambar dan secara langsung otak kita akan memproses mengekstrak teks tersebut dari gambar dan dibaca


(21)

7

oleh mata. Konten-konten yang telah terkarakteristik kemudian dilakukan proses pengenalan dengan mengubahnya menjadi kode-kode karakter seperti ASCII atau

Unicode lainnya. Setelah proses ini, konten-konten yang terdapat pada image tersebut yang sebelumnya tidak dapat di-edit akan menjadi karakter-karakter yang dapat di-edit

ataupun juga di proses untuk keperluan selanjutnya seperti melakukan perhitungan pada karakter-karakter numeric. Secara garis besar proses OCR dapat dijelaskan pada Gambar 2.2.

Gambar 2.2. Proses OCR (Aprilia 2012)

Didalam OCR, gambar atau image yang berisi karakter yang ingin dikenali dilakukan preprocessing. Preprocessing adalah proses menghilangkan konten-konten yang tidak diinginkan seperti noise dan juga untuk memperbaiki kualitas gambar agar lebih mudah dikenali. Dalam tahap pertama preprocessing dilakukan grayscalling.

Grayscalling adalah mengubah gambar yang berwarna menjadi gambar yang hanya memiliki derajat keabuan saja. Selanjutnya dalam tahap kedua dilakukan noise filtering, yaitu proses mengurangi atau mereduksi noise yang ada pada gambar. Noise

yang terlalu banyak dapat mengurangi keakuratan dalam pengenalan karakter. Dan tahap terakhir dari preprocessing yaitu thresholding. Thresholding memisahkan


(22)

konten yang akan dikenali dengan background dengan mengubah gambar menjadi hitam putih. Dengan berakhirnya tahap thresholdng maka tahap preprocessing selesai dilakukan.

Tahap selanjutnya adalah segmentasi. Segementasi melakukan pemisahan karakter yang berarea besar menjadi area yang lebih kecil seperti suatu kalimat menjadi kata-kata, dan kata menjadi karakter. Setelah dilakukan segmentasi maka dilakukan normalisasi. Normalisasi mengubah karakter karakter hasil segmentasi menjadi suatu karakter yang memiliki karakterisitik yang telah ditentukan, seperti dimensi region dan ketebalan karakter. Setelah proses normalisasi dilakukan maka selanjutnya dilanjutkan pada tahap ekstraksi fitur. Ekstraksi fitur dilakukan untuk mendapatkan karakteristik khas yang dimiliki oleh tiap-tiap karakter. Dan tahap akhir dalam proses OCR ini adalah recognition, dimana dilakukannya pengenalan dengan cara membandingkan ciri-ciri fitur yang ingin dikenali dengan data yang telah tersimpan sebelumnya sesuai dengan algoritma pengenalan yang dipakai. Hasil perbandingan yang miriplah yang kemudian keluar menjadi suatu hasil pengenalan berupa teks.

2.4. Tesseract OCR

Tesseract Merupakan sebuah mesin Optical Character Recognition ( OCR ) open source yang dapat digunakan oleh berbagai sistem operasi, dikembangkan oleh

Hewlett-Packard (HP) antara tahun 1984 dan 1994 (Smith,2007).

2.4.1. Arsitektur

Pada arsitekturnya, Tesseract OCR menyatakan input yang diterima merupakan sebuah binary image. Secara umum arsitektur Tesseract OCR dapat dilihat pada Gambar 2.3.


(23)

9

Gambar 2.3. Arsitektur Tesseract OCR

Setelah mengasumsikan bahwa input merupakan binary image proses dilanjutkan pada Page Layout Analysis dimana analisis dilakukan pada komponen terhubung (Connected Component) untuk menemukan dimana outline komponen disimpan (Aprilia, 2012). Outlines komponen yang telah disimpan dikumpulkan bersama untuk membentuk blob. Blob adalah kawasan gambar yang saling berlengketan. Blob ini lalu disusun menjadi suatu barisan teks, sedangkan garis dan

region di analisa untuk pitch tetap dan teks proporsional (Aprilia, 2012). Teks dengan

pitch tetap dipecah menjadi sel-sel karakter. Teks proporsional dibagi menjadi kata-kata dengan menggunakan ruang pasti dan ruang fuzzy. Selanjutnya pengenalan kata

image dilakukan pada dua tahap yang disebut dengan pass-two (Smith, 2007). Pass pertama dilakukan untuk mengenali masing-masing kata. Kata-kata yang melewati pass pertama adalah kata-kata yang cocok dengan kamus dan diteruskan pada adaptif


(24)

classifier untuk selanjutakan dipakai sebagai data pelatihan. Setelah sampel mencukupi, classifier adaptif ini juga dapat memberikan hasil klasifikasi bahkan pada pass pertama (Aprilia, 2012). Kata-kata yang mungkin kurang dikenali atau terlewat pada pass pertama akan dilanjutkan pada proses pass two. Pada kondisi ini classifier

adaptif yang telah mendapatkan informasi lebih pada pass pertma akan lebih dapat mengenali kata yang terlewatkan atau kurang dikenali sebelumnya.

2.4.2. Pengenalan karakter oleh Tesseract

Menurut Smith (2007) beberapa langkah yang dilakukan oleh Tesseract untuk pengenalan karakter adalah sebagai berikut :

1. Pencarian Teks line dan kata

a.Line Finding

Algoritma line finding dirancang untuk dapat mengenali halaman miring tanpa harus melalui proses de-skew, hingga tidak menurunkan kualitas gambar (Smith, 2007). Kunci dari proses ini adalah filterisasi blob dan line constructing.

Mengasumsikan analisa tata letak halaman telah mendapatkan daerah teks yang memiliki ukuran teks yang seragam, filter presentasi ketinggian sederhana menghilangkan drop-caps dan garis vertical yang menyentuh karakter. Rata tengah dari tinggi mendekati dari besar teks di dalam daerah tersebut, sehinggga aman untuk menyaring blobs yang lebih kecil dari beberapa pecahan dari rata-rata tengah, seperti tanda baca dan juga noise.

Filterisasi blob lebih cocok kepada pemodelan non-overlapping, paralel, tetapi sloping lines (Smith, 2007). Penyortingan dan pemrosessan pada blob

oleh kordinat-x memungkinkan untuk menentukan blob menjadi text line yang unik, sementara pelacakan kemiringan di sepanjang halaman, dengan sangat mengurangi kesalahan menempatkan text line yang salah didalam kemiringan. Setelah blob yang di filter disejajarkan pada garis, rata tengah terakhir dari

squares fit digunakan untuk memperkirakan baselines, dan blob yang telah difilter akan dipasang kembali ke line yang tepat.

Tahap terakhir dari proses line creation adalah menggabungkan blob yang tumpang tindih pada setidahknya setengah dari garis horizontal, meletakkan tanda baca bersama-sama dengan base yang benar dan memperbaiki bagian yang berhubungan dari beberapa karakter yang rusak.


(25)

11

b. Baseline Fitting

Setelah text lines ditemukan, garis pangkal (baselines) dicocokkan dengan lebih tepat menggunakan quadratic splines. Hal inilah merupakan hal baru dalam sistem OCR, dimana tesseract memungkinkan dapat menangani halaman dengan baseline yang miring. Baseline dicocokkan dengan partisi

blob kedalam sebuah kelompok perpindahan yang cukup berkelanjutan baseline lurus yang asli. Sebuah quadratic spline dicocokkan pada partisi yang paling padat (diasumsikan sebagai baseline). Kelebihan dari Quadratic Spline

terletak dari kemampuan berhitungnya yang stabil, namun memiliki kelemahan yaitu diskonitinuitas dapat muncul pada beberapa saat segmen

spline diperlukan.

Gambar 2.4. Contoh dari curved fitted baseline (Smith 2007)

Pada Gambar 2.4 menunjukkan contoh baris dari text dengan fitted baseline,

descender line, meanline dan ascender line. Semua garis-garis ini sejajar.

c. Fixed Pitch Detection and Chopping

Tesseract menguji text lines untuk menentukan apakah mereka (text lines) telah mendapatkan pitch yang tetap. Pitch tetap yang telah ditemukan,

tesseract akan memotong kata-kata kedalam karakter menggunakan pitch

tersebut, dan menghentikan pemotongan dan mengasosiasi kata-kata ini untuk dilanjutkan pada langkah pengenalan kata. Pemotongan kata pada pitch dapat dilihat pada Gambar 2.5.

Gambar 2.5.pemotongan kata pada pitch yang tetap (Smith 2007) d. Proportional Word Finding

Pada Gambar 2.6. menunjukkan beberapa masalah yang ditemukan pada saat pitch pada teks tidak tetap (non-fixed pitch) atau juga teks yang tidak proporsional.


(26)

Gambar 2.6. Non-fixed pitch (Smith 2007)

Tesseract dapat memecahkan masalah ini dengan mengukur jarak vertikal antara baseline dan mean line. Spasi yang dekat dengan ambang batas pada tahap ini membuat tidak jelas, sehingga keputusan akhir dapat dibuat setelah pengenalan kata.

2. Pengenalan Karakter dan Kata

Bagian dari proses pengenalan pada pengenalan segala karakter adalah dengan mengidentifikasi bagaimana sebuah kata atau karakter disegmentasi menjadi karakter atau simbol-simbol (Aprilia, 2012). Hasil akhir dari segmentasi awal akan diklasifikasikan. sisa terakhir dari proses ini hanya dilakukan pada teks yang

non fixed-pitch.

a. Pemisahan karakter terhubung

Apabila hasil dari pemisahan kata tidak memuaskan, Tesseract akan berusaha untuk memisahkan blob dengan kemugkinan terburuk dari classifier karakter (Smith, 2007). Kandidat dari titik potong di dapat dari simpul cekung dari pendekatan poligonal outline, dan dapat saja ditemukan simpul cekung lainnya dari titik yang berlawanan, atau garis segmen. Untuk karakter ASCII

setidaknya menghabiskan sampai 3 pasang titik pemotongan untuk memisahkan karakter yang terhubung. Titik pemotongan dapat dilihat pada Gambar 2.7.

Gambar 2.7. Titik pemotongan untuk karakter ASCII (Smith 2007)

Pada gambar menampilkan sebuah set dari kandidat titik dengan panah dan pemisahan yang terpilih sebagai garis yang menelusuri outline dimana


(27)

13

mengikuti urutan mana yang terpenting. Setiap pemotongan yang gagal akan memperbaiki kemungkinan dari hasil yang belum selesai, tetapi tidak sepenuhnya dibuang sehingga potongan dapat digunakan kembali nantinya oleh associator jika dibutuhkan.

b. Menyatukan karakter yang rusak

Ketika pemotongan yang dilakukan tidak mendapatkan hasil yang tepat, kata atau karakter masih belum cukup, maka akan diberikan kepada associator.

Associator ini membuat pencarian A* (terbaik pertama) dari graph segmentasi untuk kombinasi yang memungkinkan dari pemotongan blob

maksimal menjadi kandidat karakter. Hasil pencarian A* dengan menarik kandidat state baru dari antrian prioritas dan mengevaluasi kandidat dengan mengklasifikan kombinasi fragmen yang belum terklasifikasi dapat dilihat pada Gambar 2.8.

Gambar 2.8. kata yang mudah dikenali (Smith 2007)

Dengan segmentasi A* ini membuat tesseract dapat dengan mudah mengenali karakter yang rusak seperti pada gambar .

2.5. Android

Menurut (Safaat, 2012), Android adalah sebuah sistem operasi untuk perangkat lunak mobile berbasis linux yang mencakup sistem operasi, middleware, dan aplikasi. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka.

2.5.1 Arsitektur android


(28)

Gambar 2.9. Arsitektur android (Safaat 2012)

a. Application dan Widgets

Application dan Widgets adalah layer dimana kita berhubungan dengan aplikasi saja, dimana biasanya kita dapat mendownload aplikasi dan melakukan intstalasi pada aplikasi tersebut kemudian dijalankan. Di layer terdapat aplikasi inti termasuk klien email, program SMS, kalender, peta, browser, kontak, dan lain-lain. Semua aplikasi ini dibentuk menggunakan bahasa pemograman java.

b. Application Frameworks

Android adalah “Open Development Platform” yaitu Android menawarkan

kepada pengembang atau memberi kemampuan kepada pengembang untuk membangun aplikasi yang baik dan inovatif. Pengembang bebas untuk mengakses perangkat keras, akses informasi resources, menjalankan service background, mengatur alarm, dan menambahkan status notification, dan sebagainya. Pengembang memiliki akses penuh menuju API framework seperti yang dialakukan oleh aplikasi inti. Arsitektur aplikasi dirancang supaya kita dengan mudah dapat menggunakan kembali komponen yang sudah digunakan (reuse).

Adapun komponen-komponen yang termasuk didalam Applications Frameworks adalah sebagai berikut :

- Views


(29)

15

- Resources Manager

- Notification Manager

- Activity Manager c. Libraries

Libraries ini adalah layer dimana fitur-fitur android berada, biasanya para pembuat aplikasi mengakses library untuk menjalankan aplikasinya. Berjalan diatas kernel, layer ini meliputi berbagai libraryC/C+ + inti seperti Libe dan SSL, serta :

- Libraries media untuk pemutaran media audio dan video - Libraries untuk manajemen tampilan

- Libraries Graphics mencakup SGL dan OpenGL untuk grafis 2D dan 3D - Libraries SQLite untuk dukungan database

- Libraries SSL dan Webkit terintegrasi dengan web browser dan security

- Libraries Live Webcore mencakup modern web browser dengan engine embeeded web view

- Libraries 3D yang mencakup implementasi OpenGL ES 1.0 API’s

d. Android Run Time

Layer yang membuat aplikasi Android dapat dijalankan dimana dalam prosesnya menggunakan implementasi Linux. Dalvik Virtual Machine (DVM) merupakan mesin yang membentuk kerangka dasar aplikasi android. Didalam android run time dibagi menjadi dua bagian yaitu :

- Core Libraries : Aplikasi android dibangun dalam bahasa java, sementara

dalvik sebagai virtual mesinnya bukan virtual machine java, sehingga diperlukan sebuah libraries yang berfungsi menerjemahkan bahasa java/c yang ditangani oleh core libraries.

- Dalvik Virtual Machine : Virtual mesin berbasis register yang dioptamilkan untuk menjalankan fungsi-fungsi secara effisien, dimana merupakan pengembangan yang mampu membuat linux kernel untuk melakukan threading

dan manajemen tingkat rendah.

e. Linux Kernel

Linux kernel adalah layer dimana inti dari operating sistem dari Android itu berada. Berisi file-file system yang mengatur sistem processing, memory,


(30)

resource, drivers, dan sistem-sistem operasi android lainnya. Linux kernel yang digunakan android adalah linux kernel realese 2.6.

2.5.2. Software Pendukung

Dalam pembangunan aplikasi android dibutuhkan beberapa software pendukung (Suprianto & Agustina, 2012), antara lain :

a. Java Development Kit (JDK)

Karena bahasa pemograman android menggunakan bahasa java, maka dibutuhkan JDK. JDK adalah sebuah perangkat yang digunakan untuk membangun perangka lunak dengan pemograman java. JDK berjalan diatas sebuah virtual machine yang dinamakan JVM (Java Virtual Machine).

b. Eclipse

Eclipse adalah IDE software yang digunakan untuk banyak bahasa pemograman seperti Java, Ada, C, C+ + , COBOL, Phyton dan lain-lain. IDE Eclipse intinya adalah suatu software yang lingkungannya dikondisikan agar memudahkan pengembang membangun suatu aplikasi.

c. Android Software Development Kit (SDK)

SDK Android berisi debugger, library, emulator, dokumentasi, contoh kode program dan tutorial. SDK Android adalah mesin utama untuk mengembangkan aplikasi Android.

d. Android Development Tools (ADT) Plugins

Plugins ADT berguna sebagai pengenal Android didalam IDE Eclipse. Dengan ADT plugins kita bisa membuat project aplikasi android baru, mengakses tools emulator dan perangkat android, melakukan kompilasi dan men-debug aplikasi, mengekspor aplikasi Android Packages (APK) dan membuat sertifikasi digital terhadap kode program APK.

2.5.3. SQLite

Menurut Haldar (2007), SQLite merupakan sebuah Relational Database Management System (RDMS) berbasis SQL (Structured Query Language) yang memiliki karakteristik sebagai berikut.

1. Zero Configuration

Tidak ada instalasi terpisah atau pengaturan prosedur untuk inisialisasi SQLite

sebelum digunakan. Sourcecode SQLite dapat di-download kemudian


(31)

17

2. Embedable

Tidak perlu melakukan pemeliharaan terhadap proses server terpisah yang didedikasikan untuk SQLite karena library tertanam dalam aplikasi.

3. Aplication Interface

SQLite menyediakan lingkungan SQL untuk aplikasi-aplikasi bahasa C untuk memanipulasi database.

4. Transactional Support

SQlite mendukung transaksi inti yaitu atomicity, consistency, isolation dan

durability (ACID). 5. Thread Safe

SQLite merupakan thread-safe library, dan beberapa thread dalam proses aplikasi dapat mengakses secara bersamaan database yang sama atau berbeda.

6. Lightweight

SQLite memiliki ukuran yang kecil, yaitu hanya sekitar 250KB, dan ukuran ini masih dapat diperkecil dengan menonaktifkan beberapa fitur-fitur lanjut pada saat kompilasi dari sourcecode. SQLite beroperasi pada Linux, Windows, MAC OS X, OpenBSD dan beberapa sistem operasi lainnya.

7. Costumizable

SQLite menyediakan framework yang bagus sehingga pengguna dapat mendefinisikan dan menggunakan fungsi-fungsi SQL dan fungsi Aggregate. Selain itu, SQLite juga mendukung encoding standart UTF-8 dan UTF-16 untuk teks Unicode.

8. Cross-platform

SQlite memungkinkan pengguna memindahkan file database dari suatu platform ke platform lainnya tanpa adanya perubahan karena database berperilaku sama untuk semua platform yang didukung oleh SQLite.

SQLite berbeda dari kebanyakan database SQL modern lainnya dimana tujuan utama desainnya haruslah sederhana. SQLite mudah dalam hal pemeliharaan, pengoperasian, penyesuaian (costumizeable), pengelolaan dan penggunaan dalam bahasa C. Selain itu, SQLite juga menggunakan teknik sederhana untuk mengimplementaskan properti ACID.


(32)

2.6. Penelitian Terdahulu

Pada tabel 2.1 akan dijelaskan beberapa penelitian terdahulu. Saat ini masih belum banyak penelitian yang berjalan menggunakan metode OCR Adaptive Classifier.

Tabel 2.1 Penelitian terdahulu

No Judul Penulis dan Tahun Keterangan

1 Otomasi sistem pemindai meteran air PDAM untuk meningkatkan akurasi pembacaan tagihan air

Cahyadi, A. F. 2013

Penelitian ini menggunakan metode jaringan syaraf tiruan bertipe backpropagation. Pada penelitian ini pemindaian dilakukan di sebuah perangkat komputer dengan memasukkan input foto yang sebelumnya telah diambil oleh petugas lapangan. Input tersebut lalu diproses untuk selanjutnya dilakukan pemindaian terhadap angka meteran yang terdapat pada foto. Hasil dari penelitian ini dapat meminimasi waktu proses pembacaan pencatatan meteran air dengan rata-rata 15 rumah (21%) lebih banyak dibandingkan sistem manual selama satu jam.

2 Perancangan aplikasi pengenalan karakter korea pada platform android.

Aprilia P. 2012 Penelitian ini menggunakan metode OCR Adaptive Classifier

yang menghasilkan aplikasi yang dapat mengenali karakter korea yang difoto oleh aplikasi maupun yang dimasukkan dengan file chooser dengan tingkat keakurasian 78,73 % untuk gambar dengan latar yang tidak bersih (terdapat iluminasi,


(33)

19

Tabel 2.1 Penelitian terdahulu ( Lanjutan )

No Judul Penulis dan Tahun Keterangan

bayangan dan noise), 92,63% untuk gambar dengan latar yang bersih dan karakter yang jelas, serta 81,97% untuk kombinasi keduanya. Pada penelitian ini rata-rata waktu yang proses yang dibutuhkan untuk mengenali 1 karakter adalah 0,007246 detik.

3 Perancangan sistem pengenalan digit angka meteran air menggunakan jaringan syaraf tiruan kohonen

Triantoro Teguh, et.al 2014

Penelitian ini menggunakan jaringan syaraf tiruan kohonen

dengan citra hasil pemotretan digital telepon seluler. Aplikasi pengenal angka pada indikator digit angka meter air yang dibuat telah berhasil mengenali digit angka dengan tingkat akurasi 91,11% dan pengenalan keseluruhan digit angka pada indikator meter air memiliki tingkat keakurasian 66.67%.


(34)

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 m3 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.


(35)

21

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 discan, 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


(36)

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 binaryimage 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.


(37)

23

Start

Loading Image

h = image.getHeight() w = image.getWidth()

x = 0 y = 0

x < w ?

y < h ? x = x + 1

R = Color.red(x,y) G = Color.green(x,y)

B = Color.blue(x,y)

set pixel(x,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


(38)

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


(39)

25

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

Setelah didapatkannya binary image dari praproses, maka binary image ini akan dilanjutakan pada tahap pengenalan karakter. Di tesseract sendiri proses pengenalan menggunakan kor.trainedata yang telah tersedia. Kor.trainedata ini merupakan sebuah

box file yang berisi data-data dengan kode-kode unicode UTF-8 hasil pelatihan karakter-karakter. Proses pengenalan karakter itu ditunjukkan pada Gambar 3.8.

Analisis Komponen Terhubung ( Page layout analysis)

Pencarian Baris Teks dan Kata

(Find text lines and words)

Pengenalan Karakter Pass 1 (Recognize word pass 1)

Pengenalan karakter Pass 2 (Recognize word pass 2) INPUT Binary Image OUTPUT Unicode UTF-8 Outline Karakter Outline Karakter disusun menjadi kata

Gambar 3.9 Proses pengenalan karakter

Adapun penjelasan dari proses pengenalan karakter pada Gambar 3.9 adalah sebagai berikut.

3.4.1 Page layout analysis

Pada page layout analysis, akan dilakukan analisa pada komponen terhubung (Connected Component) untuk menemukan dimana komponen outline disimpan. Analisis komponen terhubung ini dilakukan berdasarkan stroke penulisan pada


(40)

umumnya. Lalu pixel terluar dari komponen-komponen ini akan ditandai sebagai

outline, sampai semua pixel terluar ditandai. Kumpulan dari semua outline yang telah ditandai ini akan membentuk sebuah blob. Proses pencarian outline karakter ini dapat dilihat pada Gambar 3.10.

Gambar 3.10 (a) Karakter yang akan dicari outlinenya (b) Pelabelan karakter (c)

blob membentuk outline (d) Outline karakter terbentuk 3.4.2 Find text lines and words

Pada proses ini terdapat tiga hal utama yang akan dilakukan, yaitu : a. Line Finding (Pencarian Baris)

Proses ini dibuat untuk dapat mengenali baris yang miring tanpa harus memiringkan ulang gambar sehingga tidak mengurangi kualitas dari gambar. Kunci dari proses ini adalah filterisasi blob dan line constructing (Smith, 2007).

Mengasumsikan bahwa analisis layout telah menyediakan region teks dan ukuran teks yang seragam, kemudian sebuah filter ketinggian persenti akan menghapus drop cap dari karakter-karakter yang bersentuhan secara vertical. Tinggi median akan mendekati ukuran teks pada region sehingga dapat digunakan sebagai filter blob yang lebih kecil dari beberapa bagian ketinngian titik tengah seperti tanda baca, diakritik dan noise. Filtered blobs akan berbentuk seperti sebuah model yang pas seperti tidak tumpang tindih, pararel, tetapi bergaris miring. Penyortiran dan pemrosesan blob dari kordinat x, memungkinkan untuk menetapkan blob pada text line yang unik, saat mengikuti kemiringan kata pada setiap halaman, dan mengurangi keslahan dalam menempatkan teks yang tidak tepat pada kemiringan yang ada. Setelah filtered blobs sudah ditetapkan pada garisnya, median dari model yang telah dibuat akan digunakan untuk memperkirakan baselines, dan blob yang telah disaring akan dipasangkan kembali pada garis yang tepat.

b. Baseline Fitting

Setelah baris teks ditemukan, baseline akan dicocokkan dengan lebih tepat menggunakan quadratic spline. Quadratic spline merupakan sebuah fungsi


(41)

27

kuadrat sepenggal yang dapat diturunkan (Chen, Madsen, Zhang 2002, p l). Fungsi ini digunakan untuk mengatasi gambar dengan baseline yang mirio atau berbentuk kurva. Baseline ini akan dicocokkan partisi blob kedalam kelompok-kelompok. Contoh fitted baseline yang berbentuk miring dapat dilihat pada Gambar 3.11.

Gambar 3.11 F itted baseline yang berbentuk miring c. Fixed Pitch Detection dan Chopping

Tesseract menguji text lines untuk menentukan apakah mereka (text lines) telah mendapatkan pitch yang tetap. Pitch tetap yang telah ditemukan, tesseract akan memotong kata-kata kedalam karakter menggunakan pitch tersebut, dan menghentikan pemotongan dan mengasosiasi kata-kata ini untuk dilanjutkan pada langkah pengenalan kata. Pemotongan kata pada pitch dapat dilihat pada Gambar 3.12.

Gambar 3.12 Pemotongan karakter sesuai dengan F ixed Pitch

3.4.3 Recognize word pass 1 dan 2

Setelah segmentasi berhasil dilakukan, blob akan digunakan word recognizer sebagai

feature dan mengklasifikasikan setiap blok dan menyajikan hasil klasifikasi tersebut pada kamus untuk mencari sebuah kata dengan kombinasi pilihan classifier untuk setiap blob. Jika hasil pengenalan masih buruk, maka karakter itu akan dipisah.

Apabila kapasitas pemisahan sudah tidak memungkinkan, pencarian best first search (BST) dari graf segmentasi akan menyusun kembali potongan-potongan karakter yang sudah dipasang. Dalam setiap langkah BST, setiap kombinasi blob baru yang salah akan diklasifikasikan dan hasil classifier dari proses tersebut akan kembali di masukkan ke kamus. Output yang dihasilkan nantinya merupakan string karakter (UTF-8) yang memiliki rating terbaik, sesuai dengan pembobotan berdasarkan ada


(42)

atau tidaknya kata dalam sebuah kamus. Selanjutnya dengan menggunakan fungsi

getUTF8() yang terdapat pada class TessBaseApi akan mengembalikan string yang berisi unicode dan karakter yang dikenali, kemudian akan dipresentasikan unicode

tersebut dalam bentuk karakter tertentu.

3.5 Perancangan Sistem

3.5.1 Usecase diagram

Usecase diagram digunakan untuk menggambarkan fungsionalitas dan fitur-fitur yang ada pada sistem berdasarkan perspektif dari user. Usecase menggambarkan cara user

berinteraksi dengan sistem dan menjabarkan langkah-langkah yang harus dilakukan

user untuk menyelesaikan suatu tugas didalam sistem (Pressman, 2010). Usecase

diagram dari sistem dapat dilihat pada Gambar 3.13.

CAPTURE METER

LIHAT HISTORY

INFO

SCAN QR CODE ATAU MASUKKAN ID

user ( petugas )

SCAN METERAN

SIMPAN HASIL SISTEM

Gambar 3.13. Usecase diagram

3.5.2 Usecase Spesifikasi

Usecase spesifikasi mendeskripsikan usecase diagram, menjelaskan bagaimana sebuah usecase itu bekerja (Muchtar, et al. 2011). Usecase spesifikasi yang digunakan dalam sistem akan dijelaskan pada Tabel 3.1 , Tabel 3.2, dan Tabel 3.3.


(43)

29

Tabel 3.1 Usecase spesifikasi capture meter

Nama usecase Capture Meter Aktor Petugas (user)

Deskripsi Use case ini digunakan oleh user untuk mencapture meteran air.

Pre condition Semua User dapat mengakses halama ini tanpa

syarat apapun.

Characteristic of activation Eksekusi hanya dapat dilakukan oleh siapapun

Basic flow - Petugas akan menekan tombol Scan QR code

untuk menscan QR code yang terdapat pada meteran, atau dapat langsung memasukkan id pelanggan pada text box yang telah disediakan. - Petugas lalu menekan tombol scan index meter

untuk mengscan index meter air pada meteran air lalu menakan tombol done apabila angka telah benar dikenali.

- Setelah kedua informasi tersebut telah di dapat petugas lalu menekan tombol save.

Alternative flow H-1 : Isi manual angka index meter air.

Apabila pengenalan sulit dilakukan maka petugas dapat mengisi angka index meter air secara manual dengan tetap memoto meteran air terlebih dahulu.

Post condition Petugas akan dikembalikan ke halaman utama.


(44)

Tabel 3.2 Usecase spesifikasi lihat history

Nama usecase Lihat history

Aktor Petugas

Deskripsi Usecase ini digunakan oleh petugas untuk melihat hasil dari pemindaian meteran air yang pernah dilakukan.

Pre condition

-Characteristic of activation Eksekusi dapat dilakukan oleh siapapun.

Basic flow - Petugas dapat melihat segala hasil dari

pemindaian yang pernah dilakukan, meliputi hasil pindaian index meter air, foto meter air, dan waktu dilakukannya pemindaian. Untuk menghapus data yang tidak diinginkan petugas dapat menekan lalu tahan record yang ingin dihapus.

Alternative flow H-1 : Data tidak ditemukan

Apabila tidak ada meteran air yang dipindai sebelumnya

Post condition Petugas dapat menghapus record history

Limitations -

Tabel 3.3 Use case spesifikasi Info

Nama usecase Info

Aktor Petugas

Deskripsi Usecase ini digunakan oleh petugas untuk melihat info dari sistem


(45)

31

3.5.3 Activity diagram

Activity diagram menggambarkan urutan aktivitas dalam sistem yang dirancang. Diagram aktifasi menjelaskan tentang kegiatan apa yang dilakukan pada sistem tetapi tidak menjelaskan apa yang dilakukan oleh aktor (Fowler, 2005). Activity diagram

pada sistem dapat dilihat pada Gambar 3.14 dan Gambar 3.15.

USER SISTEM

Scan QR code atau masukkan id pelanggan

Baca QR code dan jadikan sebagai id pelanggan

Foto angka index meter meterean air

Proses image meliputi preprocessing dan pengenalan karakter

Menampilkan hasil pengenalan index meter air

User menekan save untuk

menyimpan data Data tersimpan

Gambar 3.14 Usecase diagram capture meter

Pada Gambar 3.13, ditampilkan bagaimana user akan menjalankan proses pengenalan karakter dari meteran air. Pertama user akan mengescan QR code yang terdapat pada meteran air untuk dipakai sebagai id pelanggan dalam penyimpanan data. Setelah QR code selesai di scan maka lanjut ke pemotoan angka index meteran air untuk dilakukan pemindaian oleh sistem bera angka yang tertera pada index meter air meteran air, apabila angka yang diproses sistem telah benar seperti dalam angka

index meter meteran air, maka user dapat menekan tombol save untuk menyimpan data tersebut.


(46)

USER SISTEM

Pilih menu lihat history Cek Database

Menampilkan data meteran air yang pernah disimpan

Gambar 3.15 Usecase diagram lihat history

Pada Gambar 3.14, user dapat melihat data meteran air yang pernah disimpan sebelumnya dengan cara memilih menu lihat story lalu sistem akan menampilkan data meteran air yang pernah disimpan meliputi id pelanggan, angka index meter meteran air, dan waktu pengambilan data.

3.5.4 Perancangan antar muka

Antarmuka sistem dari aplikasi dirancang untuk memudahkan user dalam menggunakan aplikasi yang dibangun. Tingkat keberhasilan user dalam memakai aplikasi bergantung juga dari antarmuka yang dibangun oleh pembuat aplikasi sehingga mudah untuk digunakan. Berikut akan dijelaskan rancangan antar muka aplikasi yang ingin dibuat.

1. Rancangan halaman utama

Halaman awal merupakan halaman inti tempat semua menu yang dapat dijalankan oleh user. Menu-menu itu meliputi capture meter, lihat history dan info pengembang aplikasi. Rancangan halaman utama dapat dilihat pada Gambar 3.16.


(47)

33

NAMA APLIKASI

ICON ICON

ICON

Capture Meter History

Info

Gambar 3.16 Rancangan halaman utama

2. Rancangan halaman capture meter

Halaman ini merupakan tempat dimana kita akan menginput gambar meteran air dengan memoto langsung meteran air tersebut. Didalam halaman ini terdapat fungsi untuk scan QR code yang terdapat di meteran air yang selanjutnya digunakan sebagai no pelanggan, dan scan indeks meter untuk melakukan proses OCR pada indeks meter meteran air. Setelah kedua data tersebut didapat user dapat langsung menyimpannya dengan menekan save. Rancangan halaman utama dapat dilihat pada Gambar 3.17.


(48)

NAMA HALAMAN

No Pelanggan

Scan QR-Code Text box

Start Scan

Indeks Meter

SAVE

Image Indeks Meter Text box

Gambar 3.17 Rancangan halaman capture meter

Keterangan :

a. Text box“No Pelanggan” berguna untuk measukkan No Pelanggan

secara manual.

b. Button “Scan QR-Code” berguna untuk memindai QR-code yang terdpat pada meteran air untuk digunakan sebagai No Pelanggan. c. Text box“Indeks Meter” untuk menampilkan hasil dari proses OCR

yang dilakukan pada indeks meter meteran air.

d. Tombol “Start Scan” untuk memulai memfoto dan memproses OCR pada indeks meter meteran air yang telah difoto.

e. Area “Image Indeks Meter Meter” akan menampilkan hasil foto

yang telah dilakukan pada indeks meter meteran air.

f. Tombol “save” untuk menyimpan semua data yang telah diambil.

3. Halaman lihat history

Halaman ini bertujuan untuk menampilkan semua data yang telah pernah kita simpan sebelumnya. Pada halaman ini kita juga dapat menghapus data yang tidak diinginkan. Rancangan halaman utama dapat dilihat pada Gambar 3.18.


(49)

35

NAMA HALAMAN

image

No Pelanggan : Indeks Meter :

Waktu Pengambilan

image Indeks Meter :

Waktu Pengambilan

image Indeks Meter :

Waktu Pengambilan

image Indeks Meter :

Waktu Pengambilan

Gambar 3.18 Rancangan halaman lihat history

Keterangan :

a. Disetiap baris data, sistem menampilkan gambar indeks meter meteran air yang telah difoto, no pelanggan, indeks meter, dan waktu pengambilan.

b. Untuk menghapus data dapat dilakukan dengan menahan record data yang akan dihapus.

4. Rancangan halaman info

Halaman ini akan menampilkan info dari aplikasi yang telah dibuat seperti cara penggunaan aplikasi dan info pengembang aplikasi. Rancangan halaman utama dapat dilihat pada Gambar 3.19.


(50)

NAMA HALAMAN

Info Penggunaan Aplikasi

Info Pengembang Aplikasi

Gambar 3.19 Rancangan halaman info

3.5.5 Perancangan Database

Database pada aplikasi ini digunakan untuk menyimpan info hasil pemindaian meteran, untuk dapat dilihat dikemudian harinya. Database in hanya terdiri dari 1

table yaitu Table Result. Adapun rancangan tabel tersebut dapat dilihat pada Tabel 3.4

Tabel 3.4 Rancangan Table Result

Nama Field Tipe Data Keterangan

id Integer Primary Key, Auto Increment

meter_number Text Not null

meter_result Integer Not null

image Blob Not null


(51)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

Pada bab ini, akan dibahas pengimplementasian dan pengujian sistem sesuai dengan analisis dan perancangan yang telah dibahas pada bab sebelumnya. Tahapan ini bertujuan untuk menampilkan hasil tampilan akhir sistem yang dibangun dan proses pengujian sistem yang nantinya dapat mengenali angka indeks meter hasil pemindaian meteran air. Aplikasi yang dihasilkan diimplementasikan dan diuji pada Samsung Galaxy Wonder GT-I8150 yang menggunakan sistem operasi Android versi 2.3.6.

4.1. Implementasi Sistem

Berdasarkan hasil analisis dan perancangan sistem pada Bab 3, kebutuhan dalam pengimplementasian dijelaskan pada subbab 4.11.

4.1.1 Spesifikasi Sistem

Untuk dapat menjalankan aplikasi, versi minimal dari sistem operasi Android adalah Android 2.2, versi dibawah 2.2 tidak dapat menjalankan perangkat lunak. Ponsel yang dipakai juga harus memiliki media penyimpanan (storage) tempat dimana hasil capture indeks meter dan hasil preprocessing disimpan.

4.1.2 Instalasi Aplikasi

Sebelum melakukan penginstalan aplikasi, terlebih dahulu user harus mempunyai file

library tessdata pada parent media penyimpanan device. File tessdata ini dapat disimpan pada parent sdcard device dengan membuat folder tesseract dan subfolder tessdata. Setelah tessdata telah tersedia pada storage device, selanjutnya user dapat langsung menginstal dengan cara memindahkan file apk yang telah dibuild dengan


(52)

nama PDAMMeterOCR.apk ke dalam storage device. Pastikan pengaturan untuk

unknown sources telah dicentang pada menu setting device. Lalu ikuti tata cara penginstalan apliaksi seperti biasa pada masing-masing installer. Setelah aplikasi terpasang pada device kita dapat menjalankan aplikasi dengan cara mengklik icon

“PDAM Meter OCR” seperti pada gambar 4.1.

Gambar 4.1. Icon aplikasi pada device

Pada saat pertama kali dijalankan, aplikasi akan membutuhkan dua aplikasi tambahan untuk mendukung proses pemindaian dari sistem. Adapun aplikasi tambahan tersebut adalah Barcode Scanner dan OpenCV Manager. Lakukan Penginstalan terhadap dua aplikasi tersebut yang secara otomatis akan diarahkan oleh sistem secara lagsung.

4.1.3 Mekanisme Penggunaan Aplikasi

Pada saat aplikasi dibuka, aplikasi akan menampilkan halaman splash screen.


(53)

39

Gambar 4.2. Halaman Splash Screen

Setelah halaman aplikasi, maka user akan ditujukan pada halama utama. Pada halaman utama ini terdapat 3 menu yang dapat kita pilih, yaitu Capture Meter, History, dan Info. Halaman utama dapat dilihat pada Gambar 4.3.

Gambar 4.3 Halaman Utama

Untuk memulai melakukan pemindaian kita dapat memilih menu Capture Meter. Pada halaman capture meter terdapat 2 proses yang harus kita lakukan. Proses itu adalah mengisikan No. Pelanggan dan mengambil foto indeks meter meteran air. Pada


(54)

proses pengisian No. Pelanggan, terdapat 2 cara yang dapat dilakukan oleh user, yaitu mengisikan secara manual No. Pelanggan pada text box Meter Number yang telah disediakan, atau melakukan scan QRCode dengan menekan tombol “Scan QRCode”.

Setelah No. Pelanggan didapat, kita dapat melanjutkan ke proses selanjutnya yaitu mengambil foto indeks meter meteran air. Untuk memulai proses ini kita dapat

menekan tombol “Start Scan”. Adapun tampilan halaman Capture Meter dapat kita lihat pada Gambar 4.4.

Gambar 4.4 Halaman Capture Meter

Setelah melakukan kedua proses pada Halaman Capture Meter, kita akan mendapatkan 2 informasi yang akan diletakkan pada tempatnya masing-masing. Apabila informasi yang ada pada sistem belum sesuai dengan informasi yang ada pada meteran air, kita dapat mengulai kedua proses itu lagi dengan mengklik tombol tiap proses kembali. Apabila kedua informasi itu telah benar, kita dapat menekan tombol

“Save” untuk menyimpan informasi tersebut ke database. Setelah menekan tombol

“Save”, sistem akan mengembalikan kita pada halaman utama. Untuk melihat hasil pemindaian yang pernah dilakukan dan berhasil disimpan, kita dapat menekan menu History. Halaman history dapat kita lihat pada gambar 4.5.


(55)

41

Gambar 4.5 Halaman History

Pada halaman history sistem akan memberikan 5 Informasi data, yaitu : a. Image Indeks Meter

Menampilkan foto hasil pengambilan terhadap indeks meter meteran air. b. No. Pelanggan

Berisikan informasi No. Pelanggan dari meteran air yang di-foto dengan cara scan QRCode atau mengisi manual.

c. Indeks Meter

Berisikan hasil pemindaian yang dikaukan sistem terhadap indeks meter meteran air.

d. Tanggal dan Waktu

Berisikan informasi tanggal dan waktu pengambilan foto meteran air.

Untuk menghapus data dari halaman history dapat dilakukan dengan menahan

record yang diingikan sampai muncul kotak checkbox dan icon delete. Untuk memudahkan dalam pengumpulan data meteran yang telah didapat, dibuat satu fitur tambahan yaitu seluruh data yang telah terkumpul pada device dapat dikirimkan langsung ke server utama untuk diproses lebih lanjut. Untuk melakukan proses ini kita langsung dapat menekan tombol upload. Setelah proses pengiriman berhasil, maka kita akan dapat melihat langsung data yang telah kita kirim tadi pada server seperti pada gambar 4.6.


(56)

Gambar 4.6 Tampilan halaman data meteran air yang telah masuk ke server

Dan menu terakhir yaitu Info yang akan menampilkan halaman berisikan cara pemakaian aplikasi dan informasi tentang pengembang aplikasi. Halaman info dapat kita lihat pada Gambar 4.7.


(57)

43

Gambar 4.7 Halaman Info

4.2 Pengujian Sistem

Pengujian sistem dilakukan pada Smartphone dengan spesifikasi :

- Model : GT-I8150

- Manufacturer : Samsung

- Processor : Qualcomm Snapdragon S2 1.40 GHz

- GPU : Adreno ™ 205

- RAM : 350 MB - Screen Resolution (pixels) : 480 x 800

- Android Version : 2.3.6


(58)

Pengujian sistem dilakukan dengan cara melakukan pemindaian terhadap 10 object meteran air yang dilakukan pada pagi hingga sore hari dari pukul 10.00-15.00 WIB dengan kondisi cuaca cerah. Adapaun hasil pengujian dapat dilihat pada Tabel 4.1.

Tabel 4.1 Hasil Pengujian Sistem

Gambar Percobaan 1 Percobaan 2 Percobaan 3

Uji 1 Hasil Pengujian : Berhasil

Uji 2

Hasil Pengujian : Berhasil

Uji 3


(59)

45

Tabel 4.1 Hasil Pengujian Sistem ( Lanjutan )

Gambar Percobaan 1 Percobaan 2 Percobaan 3

Uji 4

Hasil Pengujian : Berhasil

Uji 5

Hasil Pengujian : Berhasil

Uji 6


(60)

Tabel 4.1 Hasil Pengujian Sistem ( Lanjutan )

Gambar Percobaan 1 Percobaan 2 Percobaan 3

Uji 7

Hasil Pengujian : Berhasil

Uji 8

Hasil Pengujian : Gagal

Uji 9


(61)

47

Tabel 4.1 Hasil Pengujian Sistem ( Lanjutan )

Gambar Percobaan 1 Percobaan 2 Percobaan 3

Uji 10 Hasil Pengujian : Berhasil

4.2.1 Analisis Pengujian Sistem

Dari hasil pengujian yang ditampilkan pada Tabel 4.1 didapat beberapa kesimpulan yaitu :

- Object Uji 1

Dari ketiga percobaan, hanya terdapat satu percobaan yang berhasil. Di dua percobaan lainnya terdapat kesalahan pengenalan. Dimana pada percobaan pertama angka 2 tidak dapat dibaca oleh sistem sedangkan pada percobaan ketiga angka 2 dibaca oleh sistem sebagai angka 1. Hal ini bisa saja disebabkan oleh banyaknya noise yang terdapat pada indeks meter khususnya pada karakter pertama indeks meter.

- Object Uji 2

Dari ketiga percobaan hanya pada percobaan ketiga sistem dapat membaca angka indeks meter dengan benar. Kesalahan pada kedua percobaan lainya terdapat pada pengenalan beberapa karakter indeks meter yang kurang jelas. Bentuk dari angka indeks meter yang sudah rusak menyebabkan kesalahan sistem pada pengenalan.

- Object Uji 3

Pada object uji 3, sistem sama sekali tidak dapat mengenali angka indeks meter dengan benar. Terdapat beberapa penambahan karakter pada result text

maupun kesalahan dalam pengenalan tiap karakternya. Kesalahan ini dapat disebabkan oleh roda angka meteran air pada indeks meter belum tampil dengan sempurna, sehingga terjadi perpotongan terhadap karakter yang menggaggu proses pengenalan


(62)

- Object Uji 8

Pada object uji 8 ini juga sistem tidak dapat sama sekali mengenali angka indeks meter dengan benar, banyak terdapat kesalahan pengenalan yang dilakukan oleh sistem. Kesalahan pegenalan ini dapat disebabkan karena object uji sendiri terlihat terlalu gelap. Dimana pembatas dari roda meteran air sangat jelas terlihat sehinga sistem juga akan ikut membaca pembatas roda tersebut sebagai suatu karakter baru.

Pada object uji lainnya kesalahan pada tiap percobaan dapat terlihat sama dimana

noise yang ditangkap oleh kamera dikenali oleh sistem sebagai suatu karakter baru. Noise yang tertangkap ini bisa berasal dari berbagai hal, seperti pembatas roda meter yang yang sangat jelas terlihat, tingkat pencahayaan pada saat pengambilan foto indeks meter yang minim, roda meter yang belum dalam posisi sempurna dan juga bentuk dari angka pada indeks meter yang sudah rusak. Dari pengujian Tabel 4.1 didapatkan akurasi rata-rata pengenalan angka indeks meter pada meteran air adalah : 8/10 x 100% = 80% dengan total pemakaian memori (RAM) sebesar 4.63 MB dan


(63)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan hasil dari pengujian data yang telah dilakukan didapat beberapa kesimpulan, yaitu :

1. Dari aplikasi yang telah dibuat, hasil pembacaan indeks meter yang dilakukan dengan kamera smartphone android terbilang cukup berhasil.

2. Tingkat akurasi dari hasil pembacaan indeks meter meteran air menerapkan

Optical Character Recognition adalah 80%.

3. Masih terdapat kesalahan pembacaan pada beberapa percobaan, dimana sistem membaca garis pembatas roda yang dianggap sebagai angka satu, dan noise dari roda indeks meter dikenli sebagai angka atau karakter baru.

5.2 Saran

Untuk pengembangan lebih lanjut, saran yang dapat diberikan adalah sebagai berikut. 1. Metode untuk binerisasi gambar dapat dikembangkan lebih lanjut secara

kompleks, sehingga dapat menghasilkan gambar biner yang lebih baik untuk mempertinggi tingkat keakurasian.

2. Pengembangan lebih lanjut diharapkan dapat memecahkan persoalan mengenai noise yang terdapat pada angka indeks meter seperti, angka indeks meter yang rusak dan juga pembatas roda yang mengganggu.

3. Perlu adanya sebuah metode baru dalam mensegmentasi indeks meter, sehingga sistem dapat lebih mudah mengenali angka perkarakternya.


(64)

4. Objek asing yang ikut tertangkap kamera diharapkan dapat difilter dengan baik sehingga tidak ikut masuk kedalam proses pengenalan, sehingga tidak merusak hasil dari pemindaian yang telah dilakukan.

5. Dalam pengembangan aplikasi hasil dari pemindaian indeks meter dapat dilanjutkan ke proses penghitungan tagihan yang juga diproses langsung di

platform android.


(65)

DAFTAR PUSTAKA

Aprilia P. 2012. Perancangan Aplikasi Pengenalan Karakter Korea pada Platform Android Menggunakan Metode OCR Adaptive Classifier. Skripsi. Binus University

Cahyadi, A. F. 2013. Otomasi Sistem Pemindai Meteran Air PDAM untuk Meningkatkan Akurasi Pembacaan Tagihan Air Dengan Jaringan Syaraf Tiruan Bertipe Backpropagation. Skripsi. Universitas Gadjah Mada

Chen, B., K. Madsen, S. Zhang (2002). On Characterization of Quadratic Splines, 1-2.

Fowler, Martin. 2005. UML Distilled 3th Ed., Panduan Singkat Bahasa Pemodelan Objek Standar.Yogyakarta : ANDI.

Haldar, S. (2007). Inside SQL Lite.- : O’Reilly Media, Inc.

Harianja, A.A . 2010. Pengenalan Citra Huruf dan/atau Angka Menggunakan Sistem Jaringan Saraf Tiruan Model Hopfiled. Skripsi. Universitas Sumatera Utara

Muchtar, Muhammad Anggia, Muhammad Fadhly Sani. 2011. Modul Praktikum Desain Perangkat Lunak. Modul Praktikum. Medan, Indonesia: Universitas Sumatera Utara.

Patel, Chirag, Patel, Atul. PhD, Patel, Dharmendra. 2012. Optical Character

Recognition by Open Source OCR Tool Tesseract: A Case Study. International Journal of Computer Applications (0957-8887). Volume 55-No.10.

Petrou, M & Petrou, C. 2010. Image Processing The Fundamentals. 2nd Edition. John Wiley & Sons, Ltd Singapore.


(66)

Pressman, R.S. 2010. Software Engineering: A Practicioner’s Approach. 7th Edition. McGraw-Hill : New York.

Putra, C.G.D., 2011, Analisis Kepuasan Pelanggan pada Perusahaan Daerah Air Minum (PDAM) di Kabupaten Jembrana, Tesis, Universitas Udayana, Denpasar.

Safaat, N.A. 2012. Pemograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Informatika. Bandung

Smith, Ray. (2007). An Overview of the Tesseract OCR Engine, 629-633.

Smith, R., D.Antonova, D.S. Lee. (2009). Adapting the Tesseract Open Source OCR Engine for Multilingual OCR in Proc. Int. Workshop Multilingual OCR, Barcelona.

Somers, H. (2003). Computers and Translation. Amsterdam : John Benjamins Publishing Co.

Sommerville, I. 2004. Software Engineering. 7th edition. Pearson/Addison-Wesley. New York.

Suprianto, D., Agustina, R. 2012. Pemograman Aplikasi Android. Yogyakarta : MediaKom.

Triantoro, F. Batubara, F.R & Fahmi. 2014. Perncangan Sistem Pengenalan Digit Angka Meter Air Menggunakan Jaringan Syaraf Tiruan Kohonen. Skripsi.


(1)

Tabel 4.1 Hasil Pengujian Sistem ( Lanjutan )

Gambar Percobaan 1 Percobaan 2 Percobaan 3

Uji 10 Hasil Pengujian : Berhasil

4.2.1 Analisis Pengujian Sistem

Dari hasil pengujian yang ditampilkan pada Tabel 4.1 didapat beberapa kesimpulan yaitu :

- Object Uji 1

Dari ketiga percobaan, hanya terdapat satu percobaan yang berhasil. Di dua percobaan lainnya terdapat kesalahan pengenalan. Dimana pada percobaan pertama angka 2 tidak dapat dibaca oleh sistem sedangkan pada percobaan ketiga angka 2 dibaca oleh sistem sebagai angka 1. Hal ini bisa saja disebabkan oleh banyaknya noise yang terdapat pada indeks meter khususnya pada karakter pertama indeks meter.

- Object Uji 2

Dari ketiga percobaan hanya pada percobaan ketiga sistem dapat membaca angka indeks meter dengan benar. Kesalahan pada kedua percobaan lainya terdapat pada pengenalan beberapa karakter indeks meter yang kurang jelas. Bentuk dari angka indeks meter yang sudah rusak menyebabkan kesalahan sistem pada pengenalan.

- Object Uji 3

Pada object uji 3, sistem sama sekali tidak dapat mengenali angka indeks meter dengan benar. Terdapat beberapa penambahan karakter pada result text maupun kesalahan dalam pengenalan tiap karakternya. Kesalahan ini dapat disebabkan oleh roda angka meteran air pada indeks meter belum tampil dengan sempurna, sehingga terjadi perpotongan terhadap karakter yang menggaggu proses pengenalan


(2)

48

- Object Uji 8

Pada object uji 8 ini juga sistem tidak dapat sama sekali mengenali angka indeks meter dengan benar, banyak terdapat kesalahan pengenalan yang dilakukan oleh sistem. Kesalahan pegenalan ini dapat disebabkan karena object uji sendiri terlihat terlalu gelap. Dimana pembatas dari roda meteran air sangat jelas terlihat sehinga sistem juga akan ikut membaca pembatas roda tersebut sebagai suatu karakter baru.

Pada object uji lainnya kesalahan pada tiap percobaan dapat terlihat sama dimana noise yang ditangkap oleh kamera dikenali oleh sistem sebagai suatu karakter baru. Noise yang tertangkap ini bisa berasal dari berbagai hal, seperti pembatas roda meter yang yang sangat jelas terlihat, tingkat pencahayaan pada saat pengambilan foto indeks meter yang minim, roda meter yang belum dalam posisi sempurna dan juga bentuk dari angka pada indeks meter yang sudah rusak. Dari pengujian Tabel 4.1 didapatkan akurasi rata-rata pengenalan angka indeks meter pada meteran air adalah : 8/10 x 100% = 80% dengan total pemakaian memori (RAM) sebesar 4.63 MB dan CPU sebesar 3.4% perjalannya aplikasi.


(3)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan hasil dari pengujian data yang telah dilakukan didapat beberapa kesimpulan, yaitu :

1. Dari aplikasi yang telah dibuat, hasil pembacaan indeks meter yang dilakukan dengan kamera smartphone android terbilang cukup berhasil.

2. Tingkat akurasi dari hasil pembacaan indeks meter meteran air menerapkan Optical Character Recognition adalah 80%.

3. Masih terdapat kesalahan pembacaan pada beberapa percobaan, dimana sistem membaca garis pembatas roda yang dianggap sebagai angka satu, dan noise dari roda indeks meter dikenli sebagai angka atau karakter baru.

5.2 Saran

Untuk pengembangan lebih lanjut, saran yang dapat diberikan adalah sebagai berikut. 1. Metode untuk binerisasi gambar dapat dikembangkan lebih lanjut secara

kompleks, sehingga dapat menghasilkan gambar biner yang lebih baik untuk mempertinggi tingkat keakurasian.

2. Pengembangan lebih lanjut diharapkan dapat memecahkan persoalan mengenai noise yang terdapat pada angka indeks meter seperti, angka indeks meter yang rusak dan juga pembatas roda yang mengganggu.

3. Perlu adanya sebuah metode baru dalam mensegmentasi indeks meter, sehingga sistem dapat lebih mudah mengenali angka perkarakternya.


(4)

50

4. Objek asing yang ikut tertangkap kamera diharapkan dapat difilter dengan baik sehingga tidak ikut masuk kedalam proses pengenalan, sehingga tidak merusak hasil dari pemindaian yang telah dilakukan.

5. Dalam pengembangan aplikasi hasil dari pemindaian indeks meter dapat dilanjutkan ke proses penghitungan tagihan yang juga diproses langsung di platform android.


(5)

DAFTAR PUSTAKA

Aprilia P. 2012. Perancangan Aplikasi Pengenalan Karakter Korea pada Platform Android Menggunakan Metode OCR Adaptive Classifier. Skripsi. Binus University

Cahyadi, A. F. 2013. Otomasi Sistem Pemindai Meteran Air PDAM untuk Meningkatkan Akurasi Pembacaan Tagihan Air Dengan Jaringan Syaraf Tiruan Bertipe Backpropagation. Skripsi. Universitas Gadjah Mada

Chen, B., K. Madsen, S. Zhang (2002). On Characterization of Quadratic Splines, 1-2.

Fowler, Martin. 2005. UML Distilled 3th Ed., Panduan Singkat Bahasa Pemodelan Objek Standar.Yogyakarta : ANDI.

Haldar, S. (2007). Inside SQL Lite.- : O’Reilly Media, Inc.

Harianja, A.A . 2010. Pengenalan Citra Huruf dan/atau Angka Menggunakan Sistem Jaringan Saraf Tiruan Model Hopfiled. Skripsi. Universitas Sumatera Utara

Muchtar, Muhammad Anggia, Muhammad Fadhly Sani. 2011. Modul Praktikum Desain Perangkat Lunak. Modul Praktikum. Medan, Indonesia: Universitas Sumatera Utara.

Patel, Chirag, Patel, Atul. PhD, Patel, Dharmendra. 2012. Optical Character

Recognition by Open Source OCR Tool Tesseract: A Case Study. International Journal of Computer Applications (0957-8887). Volume 55-No.10.

Petrou, M & Petrou, C. 2010. Image Processing The Fundamentals. 2nd Edition. John Wiley & Sons, Ltd Singapore.


(6)

52

Pressman, R.S. 2010. Software Engineering: A Practicioner’s Approach. 7th Edition.

McGraw-Hill : New York.

Putra, C.G.D., 2011, Analisis Kepuasan Pelanggan pada Perusahaan Daerah Air Minum (PDAM) di Kabupaten Jembrana, Tesis, Universitas Udayana, Denpasar.

Safaat, N.A. 2012. Pemograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Informatika. Bandung

Smith, Ray. (2007). An Overview of the Tesseract OCR Engine, 629-633.

Smith, R., D.Antonova, D.S. Lee. (2009). Adapting the Tesseract Open Source OCR Engine for Multilingual OCR in Proc. Int. Workshop Multilingual OCR, Barcelona.

Somers, H. (2003). Computers and Translation. Amsterdam : John Benjamins Publishing Co.

Sommerville, I. 2004. Software Engineering. 7th edition. Pearson/Addison-Wesley. New York.

Suprianto, D., Agustina, R. 2012. Pemograman Aplikasi Android. Yogyakarta : MediaKom.

Triantoro, F. Batubara, F.R & Fahmi. 2014. Perncangan Sistem Pengenalan Digit Angka Meter Air Menggunakan Jaringan Syaraf Tiruan Kohonen. Skripsi. Universitas Sumatera Utara.