jurusan teknik informatika fakultas teknik universitas

advertisement
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
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
iv
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
v
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.
vi
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
vii
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
2.1
8
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
viii
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
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
2.9
BAB III ANALISA DAN PERANCANGAN SISTEM
3.1
3.2
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
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
4.1
26
Implementasi Sistem
4.1.1 Instalasi Tesseract OCR
42
42
42
ix
4.2
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
Pengujian Sistem
4.2.1 Kasus dan Hasil Pengujian
51
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
BAB V KESIMPULAN DAN SARAN
56
57
5.1
Kesimpulan
57
5.2
Saran
58
DAFTAR PUSTAKA
59
x
DAFTAR GAMBAR
Gambar 1.1
Blok Diagram Pembuatan Sistem Penyelesaian
Matematika Dasar Dengan OCR
Berbasis Android
Gambar 1.2
4
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)
Gambar 3.10
38
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
xi
Gambar 4.5
Antarmuka Splash Screen
49
Gambar 4.6
Antarmuka Capture Soal
50
Gambar 4.7
Antarmuka Hasil
50
xii
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
xiii
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-gdlsteveyuliz-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=jbptunikomppgdl-riyanhiday-35686&q=android%20OCR
xiv
Download