Aplikasi Android Penerjemah Bahasa non-Latin dengan Pengenalan Citra Karakter

APLIKASI ANDROID PENERJEMAH BAHASA NON-LATIN
DENGAN PENGENALAN CITRA KARAKTER

ADI KIRANA WIJAYAJATI

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2015

PERNYATAAN MENGENAI SKRIPSI DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA
Dengan ini saya menyatakan bahwa skripsi berjudul Aplikasi Android
Penerjemah Bahasa non-Latin dengan Pengenalan Citra Karakter adalah benar
karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam
bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang
berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari
penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di
bagian akhir skripsi ini.
Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada

Institut Pertanian Bogor.
Bogor, April 2015

Adi Kirana Wijayajati
NIM G64124041

ABSTRAK
ADI KIRANA WIJAYAJATI. Aplikasi Android Penerjemah Bahasa non-Latin
dengan Pengenalan Citra Karakter. Dibimbing oleh KARLINA KHIYARIN
NISA.
Bahasa dengan karakter nonlatin merupakan bahasa yang sulit untuk
dipelajari karena penulisannya yang relatif rumit. Beberapa bahasa yang
menggunakan karakter nonlatin antara lain Arab, Cina (sederhana), Rusia, Jepang,
Korea, dan Thailand. Pada penelitian ini, suatu sistem pengenalan karakter
nonlatin berbasis Android dirancang untuk mengenali citra karakter nonlatin
menggunakan Tesseract library OCR (Optical Character Recognition) dan
menerjemahkannya menjadi bahasa Indonesia dan Inggris menggunakan
Microsoft Translator. OCR adalah teknik untuk mengubah teks nondigital
menjadi teks digital atau dapat diartikan sebagai pengenalan karakter optik. Pada
penelitian ini terdapat 8 kebutuhan fungsional, yaitu memilih bahasa asal,

mengambil citra menggunakan kamera dan memotongnya, mengambil citra
melalui galeri, melakukan konversi dari citra ke teks, mengedit teks nonlatin hasil
OCR, memilih bahasa tujuan, menampilkan hasil terjemahannya, dan me-reset
aplikasi. Berdasarkan 650 contoh karakter nonlatin yang terdiri dari 5 bahasa telah
diuji, nilai akurasi terbaik yang didapat adalah 95.03% pada kondisi pencahayaan
normal. Adapun faktor-faktor yang dapat mempengaruhi akurasi tersebut antara
lain: intensitas cahaya, kemiringan, fokus, dan penulisan secara vertikal. Evaluasi
usability menghasilkan nilai 82.4%.
Kata Kunci: Android, citra, nonlatin, OCR, teks, Tesseract.

ABSTRACT
ADI KIRANA WIJAYAJATI. Android Application Language Interpreter with
Recognition of
non-Latin Character Image. Supervised by KARLINA
KHIYARIN NISA.
Languages with nonlatin characters are more difficult to learn because the
writing is relatively complicated. Some languages that use nonlatin characters are
Chinese (simplified), Russian, Japanese, Korean, and Thai. In this study, a
nonlatin character recognition system based on Android is designed to recognize
the image of nonlatin characters using the Tesseract library OCR (Optical

Character Recognition) and translated into Bahasa Indonesia and English. OCR is
a technique to convert nondigital text into digital text. In this study, there were 8
functional requirements which are choosing origin language, taking image with a
camera and cropping, taking an image from the gallery, converting an image to
text, editing nonlatin text of OCR result, choosing target language, displaying the
translation, and resetting. Based on 650 examples of nonlatin characters that
consisted of 5 languages that have been tested, the best accuracy for the result is
95.03% on normal light. Factors that effect the accuracy are the intensity of light,
tilted text, motion bluring, and vertical writing. The value of usability evaluation
is 82.4%.
Keywords: Android, image, nonlatin, OCR, Tesseract, text.

APLIKASI ANDROID PENERJEMAH BAHASA NON-LATIN
DENGAN PENGENALAN CITRA KARAKTER

ADI KIRANA WIJAYAJATI

Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer

pada
Departemen Ilmu Komputer

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2015

Penguji: 1 Dr Ir Agus Buono, MSi MKom
2 Muhammad Asyhar Agmalaro, SSi MKom

Judul Skripsi : Aplikasi Android Penerjemah Bahasa non-Latin dengan
Pengenalan Citra Karakter
Nama
: Adi Kirana Wijayajati
NIM
: G64124041

Disetujui oleh


Karlina Khiyarin Nisa, SKom MT
Pembimbing

Diketahui oleh

Dr Ir Agus Buono, MSi MKom
Ketua Departemen

Tanggal Lulus:

PRAKATA
Alhamdulillahi rabbil ‘alamin, puji syukur penulis panjatkan ke hadirat
Allah subhanahu wa Ta'ala atas berkat, rahmat, taufik, dan hidayah-Nya sehingga
penyusunan skripsi yang berjudul Aplikasi Android Penerjemah Bahasa non-Latin
dengan Pengenalan Citra Karakter dapat diselesaikan dengan baik. Sholawat serta
salam semoga selalu tercurahkan kepada Nabi Muhammad shalallahu 'alaihi
wassallam beserta keluarga, sahabat, dan para pengikutnya yang telah
memberikan contoh dalam meraih kebahagiaan di dunia dan akhirat.
Terima kasih penulis ucapkan kepada orang tua penulis, ayahanda tercinta

Purwoto yang selalu menjadi inspirasi kebijaksanaan dalam tutur dan laku
penulis. Ibunda Morita, yang tak pernah lelah memberikan motivasi wejangan,
doa, cinta, dan kasih sayang dalam mendidik. Dosen pembimbing Ibu Karlina
Khiyarin Nisa, SKom MT atas waktu, ilmu, kesabaran, nasihat, dan masukan yang
selalu diberikan selama pengerjaan tugas akhir ini, Bapak Dr Ir Agus Buono, MSi
MKom dan Bapak Muhammad Asyhar Agmalaro, SSi MKom selaku penguji atas
waktu, masukan, dan koreksinya. Serta teman-teman Ilmu Komputer alih jenis
angkatan 7 atas pengalaman berbagi ilmu serta atas kebersamaan dan
dukungannya selama penulis menjalani waktu di Departemen Ilmu Komputer
IPB.
Semoga karya ilmiah ini bermanfaat.
Bogor, April 2015

Adi Kirana Wijayajati

DAFTAR ISI
DAFTAR TABEL

vi


DAFTAR GAMBAR

vi

DAFTAR LAMPIRAN

vi

PENDAHULUAN
Latar Belakang

1
1

Perumusan Masalah

2

Tujuan


2

Manfaat Penelitian

2

Ruang Lingkup Penelitian

2

METODE
Pengumpulan Data

2
3

Analisa Pengenalan Karakter

3


Penerjemahan Karakter non-Latin

4

Perancangan Aplikasi

4

Implementasi

4

Pengujian

5

Evaluasi

5


HASIL DAN PEMBAHASAN
Pengumpulan Data

5
5

Analisa Pengenalan Karakter

6

Penerjemahan Karakter non-Latin

11

Perancangan Aplikasi

12

Implementasi


15

Pengujian

16

Evaluasi

19

SIMPULAN DAN SARAN
Simpulan
Saran
DAFTAR PUSTAKA
LAMPIRAN
RIWAYAT HIDUP

20
20
20
21
22
47

DAFTAR TABEL
1 Data uji citra karakter nonlatin
2 Rancangan antarmuka pengguna
3 Implementasi sistem
4 Pengujian sistem menggunakan metode black box
5 Skenario pengujian
6 Contoh pengujian karakter Cina (sederhana)
7 Akurasi pada masing-masing skenario
8 Contoh pengujian penerjemahan
9 Klasifikasi penarikan kesimpulan hasil evaluasi usability
10 Evaluasi usability

6
15
16
17
17
18
18
19
19
20

DAFTAR GAMBAR
1 Metode penelitian
2 Alur kerja Tesseract OCR Engine
3 Diagram alur Grayscaling
4 Ilustrasi Gaussian Smoothing 2 dimensi
5 Algoritme Otsu
6 Identifikasi outline
7 Contoh fitted baseline
8 Contoh pemisahan karakter
9 Use case diagram
10 Activity diagram

3
3
7
8
9
10
10
11
12
14

DAFTAR LAMPIRAN
1 Pengujian pengenalan karakter dan terjemahannya
2 Lembar kuesioner dengan tanggapan responden

22
44

PENDAHULUAN
Latar Belakang
Bahasa merupakan protokol dalam berkomunikasi, penggunaan bahasa
yang sesuai sangat penting dalam terciptanya komunikasi untuk mengirim
maupun menerima pesan yang akan diolah menjadi informasi. Namun, dalam
pengaplikasiannya sangat sulit untuk mengetahui pesan yang yang disampaikan
secara tertulis dan menggunakan bahasa dengan karakter nonlatin seperti Cina,
Jepang, Korea, Rusia, dan Thailand.
Dalam proses pembelajarannya, untuk mengenali dan menerjemahkan
karakter nonlatin yang kita jumpai cukup sulit. Hal ini dikarenakan proses
menterjemahkan memerlukan masukan berupa teks dengan karakter nonlatin.
Untuk mengatasi masalah tersebut, teknik optical character recognition (OCR)
dapat dimanfaatkan. OCR merupakan teknik pengenalan karakter optik yang
berfungsi untuk mengubah karakter teks nondigital menjadi teks dalam bentuk
digital. Namun, dalam implementasinya diperlukan suatu perangkat mobile untuk
menjalankan teknik pengenalan karakter optik agar proses pengenalan karakter
nonlatin dapat dilakukan di mana saja dan kapan saja, misalnya ketika sedang
melakukan perjalanan pariwisata ke negara yang menggunakan karakter nonlatin
sebagai huruf resmi negara tersebut.
Android merupakan sistem operasi mobile phone open source yang
berbasis Linux menggunakan bahasa pemograman Java. Selain mendukung
pengembangan standar terbuka pada perangkat mobile. Adapun fitur pendukung
yang disediakan oleh Android agar memudahkan pengembang untuk
mengembangkan aplikasi antara lain: storage, network, multimedia, GPS, dan
phone service (Fajaruddin 2011).
Pada penelitian ini akan menghasilkan suatu aplikasi pengenalan karakter
nonlatin dan menerjemahkannya ke dalam karakter latin pada bahasa Indonesia
dan Inggris. Tidak seperti aplikasi Android lainnya, misal Word Lens yang hanya
mendukung bahasa Rusia sebagai bahasa dengan karakter nonlatin untuk
diterjemahkan ke dalam bahasa Inggris, pada aplikasi yang akan dibangun juga
mendukung bahasa dengan karakter nonlatin lainnya, yaitu Cina (sederhana),
Jepang, Korea, dan Thailand untuk nantinya diterjemahkan ke dalam bahasa
Inggris dan Indonesia. Pada proses pengenalan karakter nonlatin diperlukan suatu
library OCR open source, yaitu Tesseract. Mesin OCR yang berbasis bahasa
pemrograman C/C++ ini akan diterapkan pada perangkat Android dengan
menggunakan bahasa pemrograman Java. Pada penelitan sebelumnya, tesseract
OCR engine menghasilkan akurasi yang cukup besar, yaitu 96.33% (Smith 2007).
Dengan mengaplikasikan Tesseract OCR Engine, penelitian ini diharapkan
menghasilkan akurasi yang besar pula. Sedangkan dalam proses penerjemahan
dilakukan secara online menggunakan Microsoft Translator. Penggunaan
Microsoft Translator didasarkan pada tingkat akurasi dalam penerjemahan yang
lebih tinggi dibandingkan kompetitor utamanya yaitu Google translate (Goodman
2014). Penelitian ini juga melakukan evaluasi usability menggunakan kuesioner
yang meliputi learnability, efficiency, memorability, errors, dan satisfaction.

2
Perumusan Masalah
Perumusan masalah pada penelitian ini antara lain:
1 Bagaimana Tesseract OCR engine dapat diterapkan dalam pengenalan
citra karakter nonlatin pada perangkat Android?
2 Seberapa besar keakuratan Tesseract OCR engine dalam mengenali
karakter nonlatin?
3 Bagaimana pengaruh intensitas cahaya, kemiringan, fokus, dan penulisan
karakter secara vertikal terhadap keakuratan pengenalan karakter?
4 Bagaimana hasil evaluasi usability melalui kuesioner kepada pengguna?
Tujuan
Tujuan pada penelitian ini antara lain:
Menerapkan tesseract OCR engine pada perangkat Android untuk
mengenali citra karakter nonlatin.
2 Mengetahui keakuratan Tesseract OCR engine dalam mengenali citra
karakter nonlatin.
3 Mengetahui pengaruh intensitas cahaya, kemiringan, fokus, dan penulisan
secara vertikal terhadap keakuratan pengenalan karakter.
4 Mengetahui hasil evaluasi usability melalui kuesioner kepada pengguna.

1

Manfaat Penelitian
Pada penelitian ini, manfaat yang diperoleh adalah membantu masyarakat
dalam mengenali karakter nonlatin dengan bahasa Cina (sederhana), Jepang,
Korea, Rusia, dan Thailand dalam bentuk nondigital ke dalam bentuk digital serta
menerjemahkannya ke dalam bahasa Indonesia dan Inggris pada suatu aplikasi
mobile.
Ruang Lingkup Penelitian
Ruang lingkup pada penelitian ini antara lain:
1

Pengenalan karakter nonlatin dilakukan pada citra yang bukan hasil tulisan
tangan.
2 Karakter nonlatin hanya bahasa dengan karakter yang didukung oleh
Tesseract OCR dan Microsoft Translator yaitu Cina (sederhana), Jepang,
Korea, Rusia, dan Thailand.
3 Pengguna sudah mengetahui bahasa untuk karakter yang akan dikenali.
4 Masukan citra memiliki ekstensi yang didukung oleh Android dan
tesseract OCR, yaitu format JPEG, GIF, PNG,dan BMP.
5 Pengujian pengenalan karakter dilakukan pada citra yang divariasikan
pada intensitas cahaya, kemiringan, fokus, dan penulisan secara vertikal.

METODE
Metode pada penelitian ini terdiri dari beberapa tahapan dengan alur kerja
yang dapat dilihat pada Gambar 1.

3

Gambar 1 Metode penelitian
Pengumpulan Data
Pada tahap awal penelitian, dilakukan pengumpulan data uji citra karakter
nonlatin berupa citra digital dan citra nondigital. Pada penelitian ini, pemilihan
bahasa dengan karakter nonlatin antara lain: Cina (sederhana), Jepang, Korea,
Rusia, dan Thailand. Pemilihan karakter Cina sederhana dengan pertimbangan
bahwa dalam pengaplikasiannya lebih banyak digunakan dan lebih mudah dalam
pengenalannya dibandingkan karakter Cina (tradisional) (Shi-zong 2009).
Analisa Pengenalan Karakter
Pada penelitian ini, proses pengenalan citra karakter dilakukan dengan
menggunakan Tesseract OCR Engine. Mesin OCR dikembangkan di HewlettPackard (HP) pada tahun 1984 dan 1994 (Smith 2007). Adapun alur kerja dalam
pengenalan citra karakter dapat dilihat pada Gambar 2.

Image Preprocessing
Grayscaling
Removing noise
Thresholding

Citra Biner

Feature Extraction
Connected Component Labelling
Segmentation
Line Finding
Baseline Fitting
Fixed Pitch Detection
Non Fixed Pitch Detection
Blob

Citra
Teks

Word Recognition
Adaptive Classifier

Gambar 2 Alur kerja Tesseract OCR Engine

4
Penerjemahan Karakter non-Latin
Setelah karakter nonlatin berhasil dikenali dengan baik. Proses selajutnya
adalah penerjemahan karakter nonlatin ke dalam bahasa Indonesia atau Inggris.
Pemilihan bahasa Indonesia dan Inggris sebagai bahasa tujuan dalam
penerjemahan dikarenakan penelitian ini dibuat di negara Indonesia menggunakan
bahasa Indonesia, sedangkan bahasa Inggris merupakan bahasa internasional yang
secara resmi dipelajari oleh hampir semua negara di dunia.
Perancangan Aplikasi
Pada tahap perancangan aplikasi terdiri dari beberapa proses yaitu use case
diagram, activity diagram dan perancangan antarmuka.
Use Case Diagram
Use case diagram merupakan salah satu dari UML (Unified Modelling
Language)
diagram yang bertujuan untuk memodelkan proses bisnis dari
perspektif pengguna. Pada use case diagram terdiri dari aktor sebagai pengguna
aplikasi dan aksi-aksi yang dapat dilakukan oleh aktor tersebut.
Activity Diagram
Activity diagram menggambarkan alur aktivitas dalam sistem yang akan
dibangun sehingga dapat mencerminkan perancangan alur sistem dari awal, proses
yang mungkin terjadi di dalamnya, dan akhir dari alur sistem yang telah
diaplikasikan.
Perancangan Tampilan Antarmuka
Tampilan antarmuka merupakan media komunikasi yang digunakan antara
pengguna dan sistem. Sistem yang akan dibangun diharapkan mudah dipahami
dan dimengerti oleh pengguna agar fungsi dari sistem dapat dioperasikan dengan
baik oleh pengguna.
Implementasi
Pada penelitian ini, sistem dibangun dan diimplementasikan menggunakan
perangkat keras dan perangkat lunak dengan rincian sebagai berikut.
1

Perangkat keras
a Sony Ericsson ST18i (Xperia Ray) dengan sistem operasi Android
Ice Cream Sandwich v4.0.4
i CPU 1 GHz Scorpion
ii Memory internal 512 MB dan microSD 8 GB
iii Kamera 8 MP, 3264 x 2448 pixels, autofocus, LED flash
b Dell inspiron dengan sistem operasi Windows 7 Home Basic
i Intel Core i3-2370M Processor
ii Nvidia GeForce GT 630M DDR3 1 GB
iii Memory 4 GB DDR3

5
iv Harddisk 500 GB 5400 RPM
2. Perangkat lunak
a Eclipse Juno ADT
b Android SDK
c Tesseract OCR
d Tesseract Traineddata
e API Microsoft Translaor 0.6.1
Pengujian
Tahap pengujian menggunakan metode black box terhadap fungsi-fungsi
utama pada sistem yang telah diimplementasikan pada perangkat mobile Android.
Pengujian pengenalan karakter oleh Tesseract OCR menggunakan data uji
karakter nonlatin dari masing-masing bahasa dengan skenario pengujian yang
berbeda-beda. Adapun skenario pengujian yang dimaksud mencakup pengujian
secara normal, pengujian dengan intensitas cahaya sangat terang dan redup,
pengujian dengan kemiringan 30 dan 60 derajat, pengujian dengan citra blur atau
kabur, dan pengujian dengan karakter vertikal. Hal ini diperlukan untuk
mengetahui tingkat akurasi pada masing-masing skenario pengujian dalam
mengenali citra karakter nonlatin.
Evaluasi
Pada tahap terakhir yaitu evaluasi dilakukan dengan cara memberikan
kuesioner kepada pengguna aplikasi yang telah dibangun ini. Kuesioner dirancang
dengan memperhatikan lima aspek usability yang terdiri dari learnability,
efficiency, memorability, errors,dan satisfaction (Nielsen 2012). Tujuan utama
kuesioner adalah untuk mengumpulkan informasi dari responden berupa tingkat
kepuasan mengenai kekurangan dan kelebihan suatu aplikasi (Rubin dan Chissnell
2008). Kepuasan pengguna diukur menggunakan skala Likert 1 sampai 5 untuk
membantu pengguna mengekspresikan kepuasan mereka terhadap aplikasi.
Adapun penilaian kuesioner untuk mengukur tingkat usability adalah sebagai
berikut.
1
2
3
4
5

SS (Sangat Setuju) nilai 5
S (Setuju) nilai 4
RR (Ragu-ragu) nilai 3
TS (Tidak Setuju) nilai 2
STS (Sangat Tidak Setuju) nilai 1

HASIL DAN PEMBAHASAN
Pengumpulan Data
Pengumpulan data dilakukan dengan cara mencari 10 citra karakter
nonlatin pada masing-masing bahasa sebagai data uji digital. Data uji digital diuji
mengunakan fitur galeri pada perangkat mobile Android. Sedangkan data uji
nondigital merupakan hasil cetak dari data uji digital yang nantinya akan diuji

6
menggunakan fungsi kamera pada perangkat mobile Android. Adapun data uji
tersebut untuk lebih lengkapnya dapat dilihat pada Tabel 1.

Bahasa

Tabel 1 Data uji citra karakter nonlatin
Data Uji Citra Karakter non-Latin ke1,5,9
2,6,10
3,7

4,8

Cina
(sederhana)

Jepang

Korea

Rusia

Thailand

Analisa Pengenalan Karakter
Image Preprocessing
Pada bagian image preprocessing dilakukan proses grayscaling, removing
noise dan thresholding. Pada bagian ini diharapkan menghasilkan citra biner yang
nantinya menjadi masukan pada tahap berikutnya tahap feature extraction.
1 Grayscaling
Konversi citra berwarna menjadi grayscale merupakan tahapan awal
dalam image preprocessing. Pada proses grayscaling, citra yang pada awalnya
terdiri dari 3 layer matriks, yaitu R-layer, G-layer, dan B-layer akan diubah
menjadi 1 layer matriks dan hasilnya adalah citra grayscale yang hanya memiliki
derajat keabuan. Untuk mengubah citra berwarna, fungsi yang digunakan adalah

7
ARGB_8888 yaitu mendefinisikan nilai alpha channel, merah, hijau, dan biru
yang kemudian dapat dirumuskan dengan persamaan di bawah agar menjadi citra
dengan derajat keabuan.
gs= ((r + g +b)/3) & 0xFF
Dengan format warna ini dihasilkan citra grayscale dengan intensitas
keabuan yang dipengaruhi oleh variabel warna merah hijau, dan biru. Sedangkan
nilai alpha channel berupa 0xFF merupakan ketransparanan dengan nilai 0.
Adapun diagram alur dari proses grayscaling dapat dilihat pada Gambar 3.

Start
Loading
Image
h = image.getHeight()
w = image.getWeight()
x=0
y=0

x