jurusan teknik informatika fakultas … penyelesaian matematika dasar dengan ocr berbasis android...

16
SISTEM PENYELESAIAN MATEMATIKA DASAR DENGAN OCR BERBASIS ANDROID Oleh : Achmad Amiruzain 09560335 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2016

Upload: vonguyet

Post on 01-Apr-2019

236 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: JURUSAN TEKNIK INFORMATIKA FAKULTAS … PENYELESAIAN MATEMATIKA DASAR DENGAN OCR BERBASIS ANDROID Oleh : A chmad Amiruzain 09560335 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS

SISTEM PENYELESAIAN MATEMATIKA DASAR DENGAN

OCR BERBASIS ANDROID

Oleh :

Achmad Amiruzain

09560335

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS MUHAMMADIYAH MALANG

2016

Page 2: JURUSAN TEKNIK INFORMATIKA FAKULTAS … PENYELESAIAN MATEMATIKA DASAR DENGAN OCR BERBASIS ANDROID Oleh : A chmad Amiruzain 09560335 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS

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

Page 3: JURUSAN TEKNIK INFORMATIKA FAKULTAS … PENYELESAIAN MATEMATIKA DASAR DENGAN OCR BERBASIS ANDROID Oleh : A chmad Amiruzain 09560335 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS

i

Page 4: JURUSAN TEKNIK INFORMATIKA FAKULTAS … PENYELESAIAN MATEMATIKA DASAR DENGAN OCR BERBASIS ANDROID Oleh : A chmad Amiruzain 09560335 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS

ii

Page 5: JURUSAN TEKNIK INFORMATIKA FAKULTAS … PENYELESAIAN MATEMATIKA DASAR DENGAN OCR BERBASIS ANDROID Oleh : A chmad Amiruzain 09560335 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS

iii

Page 6: JURUSAN TEKNIK INFORMATIKA FAKULTAS … PENYELESAIAN MATEMATIKA DASAR DENGAN OCR BERBASIS ANDROID Oleh : A chmad Amiruzain 09560335 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS

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

Page 7: JURUSAN TEKNIK INFORMATIKA FAKULTAS … PENYELESAIAN MATEMATIKA DASAR DENGAN OCR BERBASIS ANDROID Oleh : A chmad Amiruzain 09560335 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS

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

Page 8: JURUSAN TEKNIK INFORMATIKA FAKULTAS … PENYELESAIAN MATEMATIKA DASAR DENGAN OCR BERBASIS ANDROID Oleh : A chmad Amiruzain 09560335 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS

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.

Page 9: JURUSAN TEKNIK INFORMATIKA FAKULTAS … PENYELESAIAN MATEMATIKA DASAR DENGAN OCR BERBASIS ANDROID Oleh : A chmad Amiruzain 09560335 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS

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

Page 10: JURUSAN TEKNIK INFORMATIKA FAKULTAS … PENYELESAIAN MATEMATIKA DASAR DENGAN OCR BERBASIS ANDROID Oleh : A chmad Amiruzain 09560335 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS

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

Page 11: JURUSAN TEKNIK INFORMATIKA FAKULTAS … PENYELESAIAN MATEMATIKA DASAR DENGAN OCR BERBASIS ANDROID Oleh : A chmad Amiruzain 09560335 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS

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

Page 12: JURUSAN TEKNIK INFORMATIKA FAKULTAS … PENYELESAIAN MATEMATIKA DASAR DENGAN OCR BERBASIS ANDROID Oleh : A chmad Amiruzain 09560335 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS

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

Page 13: JURUSAN TEKNIK INFORMATIKA FAKULTAS … PENYELESAIAN MATEMATIKA DASAR DENGAN OCR BERBASIS ANDROID Oleh : A chmad Amiruzain 09560335 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS

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

Page 14: JURUSAN TEKNIK INFORMATIKA FAKULTAS … PENYELESAIAN MATEMATIKA DASAR DENGAN OCR BERBASIS ANDROID Oleh : A chmad Amiruzain 09560335 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS

xii

Gambar 4.5 Antarmuka Splash Screen 49

Gambar 4.6 Antarmuka Capture Soal 50

Gambar 4.7 Antarmuka Hasil 50

Page 15: JURUSAN TEKNIK INFORMATIKA FAKULTAS … PENYELESAIAN MATEMATIKA DASAR DENGAN OCR BERBASIS ANDROID Oleh : A chmad Amiruzain 09560335 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS

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

Page 16: JURUSAN TEKNIK INFORMATIKA FAKULTAS … PENYELESAIAN MATEMATIKA DASAR DENGAN OCR BERBASIS ANDROID Oleh : A chmad Amiruzain 09560335 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS

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