Upload
vonguyet
View
239
Download
0
Embed Size (px)
Citation preview
SISTEM PENYELESAIAN MATEMATIKA DASAR DENGAN
OCR BERBASIS ANDROID
Oleh :
Achmad Amiruzain
09560335
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH MALANG
2016
SISTEM PENYELESAIAN MATEMATIKA DASAR DENGAN
OCR BERBASIS ANDROID
TUGAS AKHIR
Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1
Teknik Informatika Universitas Muhammadiyah Malang
Oleh :
Achmad Amiruzain
09560335
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS MUHAMMADIYAH MALANG
2016
i
ii
iii
iv
ABSTRAK
Berkembangnya teknologi smart phone yang sangat pesat membuat
penggunanya bertambah seiring waktu. Salah satunya adalah smart phone yang
dibekali dengan sistem operasi Android. Perkembangan aplikasi-aplikasi yang
dikembangkan untuk sistem Android pun semakin beragam yang mana salah
satunya adalah aplikasi untuk penyelesaian soal-soal matematika dasar tanpa
melakukan input soal (karakter) secara manual kedalam aplikasi, tapi cukup
dengan melakukan capture pada soal yang akan diselesaikan dengan
memanfaatkan teknologi OCR (Optical Character Recognition). Dalam tugas
akhir ini, teknologi OCR yang digunakan adalah menggunakan Tesseract sebagai
engine pengenal karakternya dan metode yang dipakai untuk mengolah hasil dari
proses OCR yang berupa teks adalah metode Tokenizer yaitu memecah teks
kedalam token-token sehingga nanti akan dapat dibedakan mana yang berupa
number dan mana yang operator.
Kata kunci : Android, Matematika Dasar, OCR, Tesseract, Tokenizer
v
ABSTRACT
The Improvment of smart phone technology with android system given
many influence for society quickly. Today, in order to support the Android system
many smart phone serve a lot of benefit for the user to given many value. One for
example is applycation to solve mathematic basic. Nowdays, the problem solving
for mathematic basic can using math basic applycation without doing input the
data. But, user only do capturing with the data outomatically within OCR (Optical
Character Recognition) technology. OCR technology in this research use
Tesseract for citra digital engine process. And for text data process use Tokenizer
method to extract the text into "token" and user can distinguish between number
and operator.
Keywords : Andoid, Mathematic Basic, OCR, Teseract, Tokenizer
vi
LEMBAR PERSEMBAHAN
Puji syukur kepada Allah SWT atas rahmat dan karunia-Nya sehingga
penulis dapat menyelesaikan Tugas Akhir ini. Penulis menyampaikan ucapan
terima kasih yang sebesar-besarnya kepada :
1. Allah SWT yang selalu memberikan kesehatan dan petunjuk dalam
pengerjaan tugas akhir.
2. Bapak Eko Budi Cahyono, S.Kom, M.T dan bapak Hariyady,
S.Kom, M.T selaku pembimbing tugas akhir.
3. Bapak Dekan Fakultas Teknik Universitas Muhammadiyah
Malang.
4. Kedua orang tua saya bapak Sumarwan dan ibu Djasmiatun serta
kakak saya Mufit Triyawati dan Suwarno dan adik saya Abdullah
Mumtaz Al Muqtadabih.
5. Teman-teman dari jurusan teknik informatika.
6. Teman-teman dari kos.
7. Teman-teman dari kontrakan tirto utomo Gg 12.
vii
KATA PENGANTAR
Puji syukur kehadirat Allah Subhanahu wata‟ala yang selalu memberikan
kekuatan dan petunjuk serta melimpahkan segala rahmat dan hidayah-Nya,
sehingga penulis dapat menyelesaikan Tugas Akhir yang berjudul “SISTEM
PENYELESAIAN MATEMATIKA DASAR DENGAN OCR BERBASIS
ANDROID” dengan baik, sebagai suatu persyaratan dalam menyelesaikan studi
dan memperoleh gelar Sarjana Strata Satu (S1) di Jurusan Teknik Informatika
Fakultas Teknik Universitas Muhammadiyah Malang.
Penulis menyadari bahwa menyusun Tugas Akhir ini tidak akan berjalan
dengan baik tanpa adanya bimbingan, bantuan, dukungan dan kerja sama dari
berbagai pihak. Penulis juga menyadari bahwa karya tulis ini masih jauh dari
kesempurnaan. Oleh karena itu, saran dan kritik yang membangun sangat penulis
harapkan untuk kesempurnaan karya tulis ini. Penulis berharap semoga karya tulis
ini bermanfaat. Amin Yaa Robbal „Alaamiin.
Malang, 4 Januari 2016
Penulis
viii
DAFTAR ISI
LEMBAR PERSETUJUAN i
LEMBAR PENGESAHAN ii
LEMBAR PERNYATAAN iii
ABSTRAK iv
ABSTRACT v
LEMBAR PERSEMBAHAN vi
KATA PENGANTAR vii
DAFTAR ISI viii
DAFTAR GAMBAR xi
DAFTAR TABEL xiii
BAB I PENDAHULUAN 1
1. 1 Latar Belakang 1
1. 2 Rumusan Masalah 2
1. 3 Tujuan Penelitian 3
1. 4 Batasan Masalah 3
1. 5 Metode Penyelesaian 4
1. 6 Sistematika Penulisan 6
BAB II LANDASAN TEORI 8
2.1 Matematika Dasar 8
2.1.1 Penjumlahan 8
2.1.2 Pengurangan 8
2.1.3 Perkalian 8
2.1.4 Pembagian 9
2.2 Android 9
2.3 Fitur dan Arsitektur Android 10
2.4 Dasar Pembangunan Aplikasi 12
2.4.1 Komponen Dasar 12
2.4.2 Daur Hidup Activity 13
2.4.3 Daur Hidup Service 14
ix
2.5 Android SDK (Software Development Kit) 15
2.6 ADT Plugin for Eclipse 15
2.7 Android NDK 16
2.8 Optical Character Recognition (OCR) 16
2.8.1 Handwriting Recognition 17
2.8.2 Digit Recognition 17
2.9 Image Preprocessing and Enhancement 17
2.9.1 Binerisasi 18
2.9.2 Penipisan 18
2.10 Pattern Recognition 20
2.11 Tesseract OCR 21
2.11.1 Definisi Tesseract 21
2.11.2 Arsitektur Tesseract 21
2.11.3 Klasifikasi Bentuk 24
BAB III ANALISA DAN PERANCANGAN SISTEM 26
3.1 Analisa Sistem 26
3.1.1 Deskripsi Umum Sistem 26
3.1.2 Arsitektur Sistem 27
3.1.3 Analisa Kebutuhan Sistem 27
3.1.4 Use Case Diagram 30
3.1.5 Use Case Skenario 30
3.2 Perancangan Sistem 34
3.2.1 Activity Diagram 34
3.2.2 Sequence Diagram 36
3.2.3 Class Diagram 39
3.2.4 Desain Interface 39
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM 42
4.1 Implementasi Sistem 42
4.1.1 Instalasi Tesseract OCR 42
x
4.1.2 Implementasi Data 45
4.1.3 Implementasi Tokenizer 46
4.1.4 Implementasi Antarmuka 49
4.1.4.1 Antarmuka Splash Screen 49
4.1.4.2 Antarmuka Capture Soal 49
4.1.4.3 Antarmuka Hasil 50
4.2 Pengujian Sistem 51
4.2.1 Kasus dan Hasil Pengujian 52
4.2.1.1 Pengujian Jenis Font Soal 52
4.2.1.2 Pengujian Size Font Soal 52
4.2.1.3 Pengujian Background Soal 53
4.2.1.4 Pengujian Operator Soal 54
4.2.1.5 Pengujian Struktur Soal 56
4.2.3 Kesimpulan Hasil Pengujian 56
BAB V KESIMPULAN DAN SARAN 57
5.1 Kesimpulan 57
5.2 Saran 58
DAFTAR PUSTAKA 59
xi
DAFTAR GAMBAR
Gambar 1.1 Blok Diagram Pembuatan Sistem Penyelesaian
Matematika Dasar Dengan OCR
Berbasis Android 4
Gambar 1.2 Flowchart Sistem Penyelesaian Matematika Dasar
Dengan OCR Berbasis Android 4
Gambar 2.1 Arsitektur Android 11
Gambar 2.2 Penipisan 19
Gambar 2.3 Matriks Penipisan Zhang-Suen 19
Gambar 3.1 Flowchart Sistem Penyelesaian Matematika Dasar
Dengan OCR berbasis Android 26
Gambar 3.2 Blok Diagram Arsitektur Sistem 27
Gambar 3.3 Use Case Diagram Sistem Penyelesaian
Matematika Dasar Dengan OCR
Berbasis Android 30
Gambar 3.4 Activity Diagram Scanning 34
Gambar 3.5 Activity Diagram Perhitungan 35
Gambar 3.6 Sequence Diagram Scanning 36
Gambar 3.7 Sequence Diagram Scanning (Image Tidak Dapat
Diproses) 37
Gambar 3.8 Sequence Diagram Perhitungan 38
Gambar 3.9 Sequence Diagram Perhitungan (Soal Tidak
Dapat Diproses) 38
Gambar 3.10 Class Diagram Sistem Penyelesaian Matematika
Dasar Dengan OCR Berbasis Android 39
Gambar 3.11 Rancangan Antarmuka Splash Screen 40
Gambar 3.12 Rancangan Antarmuka Capture Soal 40
Gambar 3.13 Rancangan Antarmuka Hasil 41
Gambar 4.1 Edit System Variables Path 43
Gambar 4.2 Build NDK r9 44
Gambar 4.3 Menjadikan tess-two sebagai library 44
Gambar 4.4 Menggunakan tess-two sebagai library 45
xii
Gambar 4.5 Antarmuka Splash Screen 49
Gambar 4.6 Antarmuka Capture Soal 50
Gambar 4.7 Antarmuka Hasil 50
xiii
DAFTAR TABEL
Tabel 2.1 Versi Android 9
Tabel 3.1 Perangkat Lunak 29
Tabel 3.2 Identifikasi UC 1 (Scanning) 30
Tabel 3.3 Skenario Utama UC 1 (Scanning) 31
Tabel 3.4 Identifikasi UC 2 (Perhitungan) 32
Tabel 3.5 Skenario Utama UC 2 (Perhitungan) 33
Tabel 4.1 Rencana Pengujian 51
Tabel 4.2 Pengujian Jenis Font Soal 52
Tabel 4.3 Pengujian Size Font Soal 53
Tabel 4.4 Pengujian Background Soal 53
Tabel 4.5 Pengujian Operator Soal 54
Tabel 4.6 Pengujian Struktur Soal 56
xiv
DAFTAR PUSTAKA
[1] Bird, John, “Basic Engineering Mathematics,” Newnes, 2005
[2] Smith, Ray, “Tesseract OCR Engine,” Google Inc., 2007
[3] Smith, Ray, “An Overview of Tesseract OCR Engine,” Google Inc., 2009
[4] Enastha, Risky, Ardha, “Aplikasi Optical Character Recognition Dengan
Automatic Translation Berbasis Android,” UMM, Malang, 2012
[5] Hermawan, Stephanus, “Mudah Membuat Aplikasi Android,” Andi,
Jogjakarta, 2011
[6] Yulizar, Steve, “Optimasi Jaringan Saraf Tiruan Pada Optical Character
Recognition dengan Menggunakan Image Preprocessing dan Algoritma
Genetik,” Diakses pada Mei 2015 dari
http://digilib.itb.ac.id/gdl.php?mod=browse&op=read&id=jbptitbpp-gdl-
steveyuliz-34126&q=OCR
[7] “Simple OCR – Optical Character Recognition,” Diakses pada Mei 2015 dari
http://www.simpleocr.com
[8] “Tesseract OCR Engine,” Diakses pada Mei 2015 dari
https://code.google.com/p/tesseract-ocr
[9] “Android Native Development Kit (NDK),” Diakses Pada Juni 2015 dari
https://www3.ntu.edu.sg/home/ehchua/programming/android/Android_NDK.
html
[10] Hidayat, Riyan, “Pemanfaatan Kamera Pada Ponsel Android Untuk
Menerjemahkan Teks Bahasa Jerman ke Dalam Bahasa Indonesia,” Diakses
pada Juni 2015 dari
http://elib.unikom.ac.id/gdl.php?mod=browse&op=read&id=jbptunikompp-
gdl-riyanhiday-35686&q=android%20OCR