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
Secara garis besar arsitektur Android dapat dilihat pada Gambar 2.9 :
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 men
download
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
-
Content Provider
-
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
library CC+ +
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
javac
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
,
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 di-
compile
dengan
compiler
C kemudian selanjutnya dapat digunakan.
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.
2.6. Penelitian Terdahulu