Ossy D.E.W., T.M.Zaini, Frizka
Jurnal Informatika, Vol. 13, No.1, Juni 2013
PENERAPAN OPTICAL CHARACTER RECOGNATION PADA PENTERJEMAH INGGRIS ↔ INDONESIA MOBILE BERBASIS AUGMENTED REALITY Ossy D.E.W1, T.M. Zaini2, Frizka3 1
Jurusan Sistem Informasi, Universitas Lampung Jurusan Sistem Informasi - Fakultas Ilmu Komputer Informatics & Business Institute Darmajaya Jl. Z.A Pagar Alam No 93, Bandar Lampung - Indonesia 35142 Telp. (0721) 787214 Fax. (0721)700261 e-mail :
[email protected],
[email protected],
[email protected] 2,3
ABSRACT In general a translator use keypad or keyboard as input device. Sometimes user getting trouble when he or she must type long word or sentence. A new way to solve that problem is using Optical Character Recognation (OCR). In this research we developed English Indonesian, Indonesian - English translator using OCR and Augmented Reality. This application running well in Android flatform, when support of good lighting and particular camera distance and point of view. This application have two output, namely text and sound which realized by Augmented Reality technology . Keyword : Translator, Optical Character Recognation, Augmented reality.
ABSTRAK Pada umumnya sebuah translator menggunakan keypad or keyboard sebagai alat input. Terkadang pengguna mengalami kesulitan saat harus mengetikkan kata atau kalimat yang panjang. Sebuah cara baru untuk mengatasi masalah tersebut yaitu penggunaan Optical Character Recognation (OCR). Pada penelitian ini, kami mengembangkan penterjemah bahasa Inggris ke bahasa Indonesia, bahasa Indonesia ke bahasa Inggris menggunakan OCR dan teknologi Augmented Reality. Aplikasi ini dapat dieksekusi dengan baik pada flatform Android, jika didukung dengan pencahayaan yang baik dan jarak serta sudut pandang yang tepat.Aplikasi ini memiliki dua keluaran, yaitu teks dan suara yang direalisasikan oleh teknologi augmented reality. Kata kunci : Translator, Optical Character Recognation, Augmented reality.
I.
akan
PENDAHULUAN Kemajuan
teknologi
telah
perangkat
penterjemah
untuk
mengatasi perbedaan bahasa antar negara
menembus berbagai bidang kehidupan,
memicu
termasuk bidang komunikasi. Kebutuhan
translator elektronik yang praktis, mudah
Informatics & Business Institute Darmajaya
berkembangnya
aplikasi
99
Ossy D.E.W., T.M.Zaini, Frizka
Jurnal Informatika, Vol. 13, No.1, Juni 2013
digunakan, serta interaktif. Umumnya
II. METODE PENELITIAN
kamus atau penterjemah elektronik akan
Penelitian ini dilakukan melalui
menterjemahkan kata atau kalimat yang
tahap-tahap
diketik oleh user melalui keyboard atau
berikut ini :
proses
seperti
diuraikan
keypad. Jika kata atau kalimat terlalu panjang,
proses
input
terkadang
mengalami masalah, misal salah ketik atau waktu input yang relatif panjang. Untuk memudahkan dan mempersingkat proses input tersebut, terdapat beberapa upaya yang dapat dilakukan. pada penelitian ini akan diterapkan salah satu metoda pada cabang ilmu computer vision yaitu Optical Character Recognation (OCR). Dengan kemampuan mengenal character pada huruf latin yang dicapture secara real time
C.1 Analisis kebutuhan Tahap
analisis
kebutuhan
merupakan tahap awal yang dilakukan dalam pembuatan aplikasi berdasarkan hirarki metode yang digunakan, metode waterfall.
Analisis
kebutuhan
menganalisis kebutuhan-kebutuhan baik kebutuhan perangkat keras (hardware), kebutuhan perangkat lunak (software), dan kebutuhan pengguna (user) yang diperlukan untuk membangun aplikasi ini.
dari keyboard, user tidak perlu lagi membaca selanjutnya mengetikan kata atau kalimat yang ingin diterjemahkan. Proses tersebut cukup dilakukan dengan mengarahkan kamera smartphone ke kata yang
ingin
diterjemahkan,
kemudian
aplikasi akan melakukan tracking hasil capture kamera, selanjutnya jika kata tersebut
sudah
dimunculkan
dikenal
hasil
maka
akan
terjemahan
kata
tersebut berupa teks disertai dengan suara secara
real
direalisasikan
time
,
dengan
hal
tersebut
menerapkan
teknologi Augmented Reality (AR).
C.2 Dekripsi Sistem Aplikasi
mobile
translator
ini
merupakan aplikasi penerjemah yang menerapkan teknologi Augmented Reality untuk menampilkan output yang realtime pada smartphone, khususnya smartphone berbasis platform Android. Output yang dihasilkan dari aplikasi ini adalah suara. Augmented teknik/teknologi
Reality
merupakan
untuk
menambahkan
objek virtual ke dalam lingkungan nyata dengan menggunakan penanda (marker) ataupun tidak (markerless), baik berupa objek 2D/3D maupun suara. Pada aplikasi mobile translator ini, objek virtual yang ditambahkan ke dalam lingkungan nyata
Informatics & Business Institute Darmajaya
100
Ossy D.E.W., T.M.Zaini, Frizka
adalah
suara.
Di
awal
Jurnal Informatika, Vol. 13, No.1, Juni 2013
perancangan
Konektivitas : Wi-Fi (802.11b/g/n),
aplikasi ini, diinginkan aplikasi mobile
Bluetooth 2.1, USB, A-GPS, Quad
translator yang melakukan proses translasi
band, HSDPA/HSUPA.
secara langsung tanpa perlu mengetikkan kata dan hanya mengarahkan kamera pada kata yang ingin diterjemahkan. Output suara
yang
menggunakan
dihasilkan librari
oleh
aplikasi
suara
(speech
engine) eksternal yang harus diinstal
C.4 Kebutuhan Perangkat Lunak Perangkat lunak (software) yang diperlukan dalam penelitian ini adalah: Eclipse
Helios
SR
1
for
Java
Developers
langsung pada smartphone. Aplikasi ini
Android SDK Tools Revision 10
bekerja
SDK Platform Android 2.2 Froyo
dengan
meng-capture
(mengambil) gambar dari teks yang akan diterjemahkan, kemudian gambar diubah
Android Development Tools (ADT) plugin 9.0.0 for Eclipse
menjadi teks dengan menggunakan OCR.
Virtual Box Linux for Windows
Terjemahan kata yang dimasukan dicari
Speech Engine
pada database SQLite dan kemudian menjalankan libari suara untuk pelafalan
Sistem Operasi Windows XP Sistem Operasi Linux Ubuntu 10.0
arti dari kata yang diinputkan sebagai markernya.
C.5 Kebutuhan Pengguna Kebutuhan
C.3 Kebutuhan Perangkat Keras Spesfikasi minimal perangkat keras (hardware) untuk membangun aplikasi ini adalah sebagai berikut : Smartphone dengan platform Android versi min. 2.2 CPU : 600 Mhz Ruang Penyimpanan : 164MB + microSD (2 GB)
pengguna
requirement) didasarkan pada keinginan pengguna/calon
pengguna
terhadap
aplikasi, yaitu user friendly. Karakter dari User friendly adalah easy to use, up to date, efisien dan attractive. Easy to use Prosedur menjalankan atau eksekusi aplikasi harus mudah dipahami dan dimengerti oleh user. Sehingga tidak
Memory : 256 MB
menyulitkan
Dimensi Layar : 240 x 320
menggunakan aplikasi.
Masukkan : Touch screen kapasitif,
(user
pengguna
saat
Up to date
volume controls, accelerometer. Informatics & Business Institute Darmajaya
101
Ossy D.E.W., T.M.Zaini, Frizka
Aplikasi
Jurnal Informatika, Vol. 13, No.1, Juni 2013
dikembangkan/dibangun
C.6.2. Sequence Diagram
mengikuti perkembangan teknologi terkini. Efisien Penggunaan
aplikasi
tidak
membutuhkan waktu lama. Attractive Aplikasi memiliki daya tarik untuk menarik minat user, seperti dari kegunaan aplikasi. Gambar 1. Sequence diagram C.6.
Mobile Translator
Perancangan
Konsep
rancangan
dituangkan
dalam bentuk diagram pada Unified Modelling
Language
(UML),
yang
meliputi : use case, activity diagram, sequence diagram dan user interface. C.6.1. Use Case Diagram Use case diagram digunakan untuk mendeskripsikan gambaran
atau
mengenai
memberikan
layanan
system
terhadap user, dalam hal ini pengguna dapat melakukan tracking teks, melihat
Gambar 2. Sequence Diagram Proses
hasil terjemahan dalam bentuk teks dan
tracking dan pencarian kata
mendengarkan
Proses Mobile Translator dimulai
pelafalan
atau
cara
pengucapan kata.
ketika pengguna mengaktifkan kamera
Augmented
Reality pada aplikasi ini
smartphone dan menginputkan gambar
digunakan untuk menghasilkan output
dari tulisan yang dikehendaki. Gambar
yang berupa suara yang melafalkan arti
tersebut akan tersimpan langsung pada
dari kata yang diinputkan. Aplikasi ini
smartphone
juga menerapkan teknik OCR dan SQLite.
penanda (marker) oleh AR yang nantinya
dan
digunakan
sebagai
akan digunakan untuk me-load suara
Informatics & Business Institute Darmajaya
102
Ossy D.E.W., T.M.Zaini, Frizka
Jurnal Informatika, Vol. 13, No.1, Juni 2013
sesuai dengan teks yang diinputkan. OCR akan memproses gambar tersebut secara langsung
dengan
mengubah
1
gambar
2
menjadi teks. Setelah gambar diubah menjadi teks, sistem akan membuka database SQLite untuk mencari arti dari teks tersebut. Apabila arti dari teks ditemukan
dalam
database,
Gambar 3. Desain Tampilan Capture
hasilnya
ditampilkan pada layar smartphone berupa
C.7 Coding
teks dan terjemahan kata tersebut akan
Realisasi rancangan aplikasi
dilafalkan. Sedangkan bila artinya tidak
dilakukan dengan menulis kode program
ditemukan, akan ada pemberitahuan
atau tahap coding program, terdapat beberapa bagian program yaitu :
C.6.3 Desain Antarmuka Sistem Desain
antarmuka
sistem
C.7.1 Capture
menunjukkan gambaran dari desain awal
Coding merupakan penulisan sistem
aplikasi yang dibuat, terdiri dari desain
kedalam bahasa pemrograman. Setelah
tampilan
merancang tampilan interface dari aplikasi
penangkapan
objek,
desain
tampilan output, dan desain tampilan yang
yang
menunjukkan terdapat kata yang tidak
mengimplementasikannya kedalam bahasa
dapat diterjemahkan.
pemrograman. Pada aplikasi ini digunakan
a. Desain Tampilan Capture
dibuat,
selanjutnya
bahasa pemrograman Java. Tampilan awal
Desain ini memberikan gambaran
ketika
proses peng-capture-an objek teks
dieksekusi (pada emulator) :
yang akan diterjemahkan. Pada kata
Memulai menjalankan aplikasi dengan
tersorot yang akan diterjemahkan,
meng-klik tombol START. Saat icon
terdapat kotak atau field dengan
kamera diklik, coding program berikut
warna yang lebih terang dibanding
dieksekusi. Image dicapture oleh kamera
sekitarnya.
Desain
aplikasi
mobile
translator
tampilan
penangkapan objek dapat dilihat pada gambar 3.
Informatics & Business Institute Darmajaya
103
Ossy D.E.W., T.M.Zaini, Frizka
Jurnal Informatika, Vol. 13, No.1, Juni 2013
Code program tersebut digunakan untuk menghasilkan output suara yang melafalkan
arti
dari
diterjemahkan. merupakan
kata
yang
HasilPencarian
variabel
global
dimana
variable tersebut berisi arti kata dari kata yang diinputkan untuk diterjemahkan. Gambar 4. Screenshot emulator
kata_kata adalah variable yang digunakan untuk proses pengucapan kata. kata_kata
Proses mengambil gambar (capture) ini
= HasilPencarian, artinya nilai dari
sangat dipengaruhi oleh pencahayaan.
variable kata_kata sama dengan nilai pada
Intensitas cahaya yang sangat
variable HasilPencarian yaitu arti kata
besar
mempermudah proses pembacaan gambar
dari
sebagai marker untuk kemudian dilakukan
diterjemahkan. Dengan kata lain, bila nilai
proses
hasil.
kata_kata sama dengan HasilPencarian,
Sebaliknya, intensitas cahaya yang sedikit
maka library suara TextToSpeech Engine
menyebabkan
akan dipanggil dan menyuarakan atau
load
pembacaan
suara
string
dan
teks
kesalahan dari
teks
dalam inputan
kata
mengucapkan
yang
kata
diinputkan
sesuai
untuk
dengan
sehingga hasilnya pun akan salah. Selain
HasilPencarian. Output suara dihasilkan
itu, hal ini juga mengakibatkan teks awal
dari library suara yang bersifat eksternal
tidak terdeteksi.
dan telah terinstal pada smartphone. Library suaranya adalah TextToSpeech
C.7.2 Speak Proses pelafalan kata terjemahan
Engine. Oleh karena bersifat eksternal, library tersebut harus dipanggil kedalam
pada aplikasi ini ditunjukkan oleh
project translator menggunakan fungsi
potongan program dibawah ini:
Intent. Berikut potongan coding program
String kata_kata = HasilPencarian.toString();
untuk memanggil library suara : Intent dengar_tts_di_hp = new Intent();
if (kata_kata!=null &&kata_kata.length()>0) { hpMembaca.speak(kata_kata, TextToSpeech.QUEUE_ADD, null);
dengar_tts_di_hp.setAction(TextToSpee ch.Engine.ACTION_CHECK_TTS_DA TA);
} }}); Informatics & Business Institute Darmajaya
104
Ossy D.E.W., T.M.Zaini, Frizka
Jurnal Informatika, Vol. 13, No.1, Juni 2013
startActivityForResult(dengar_tts_di _hp, KODE_UNTUK_PRIKSA_KATA);
Sintaks program di atas dieksekusi saat proses OCR selesai dan output akan ditampilkan dan diucapkan. Library AR untuk suara dipanggil dengan fungsi
Gambar 5. Interface hasil terjemahan yang
Intent. Library AR suara akan memeriksa
berhasil
kata apa yang dihasilkan dari proses
Teks
terjemahan
berupa
bahasa
Indonesia atau bahasa Inggris dimuat C.8. Coding Install Speech Engine Sebelum digunakan, library suara,
pada
kotak
dialog
ditunjukkan
pesan
dengan
yang sintak
TextToSpeech Engine harus diintall
myAlertDialog.setMessage(HasilPencari
terlebih dahulu. Berikut perintah untuk
an); .
proses install speech Engine: Intent di_pasang_lagi = new Intent();
D.2 Hasil Tidak Ditemukan Bila
di_pasang_lagi.setAction(TextToSpeec
terjemahan
kata
tidak
h.Engine.ACTION_INSTALL_TTS_D
ditemukan, pesan pada kotak dialog
ATA);
memberitahukan bahwa kata yang dicari
startActivity(di_pasang_lagi); }
tidak ditemukan.
III. HASIL DAN PEMBAHASAN
Proses penerjemahan dengan aplikasi mobile translator
bila
berhasil akan
menampilkan kata terjemahan sesuai kata yang di capture oleh kamera ponsel. Tampilan output terjemahannya dapat dilihat pada Gambar 5.
Gambar 6. Screenshot aplikasi untuk kata
yang
tidak
ditemukan
hasil
terjemahanya Informatics & Business Institute Darmajaya
105
Ossy D.E.W., T.M.Zaini, Frizka
Jurnal Informatika, Vol. 13, No.1, Juni 2013
E. Testing Testing
(pengujian
sistem)
E.2. Analisis Hasil Pengujian
dilakukan untuk menguji sistem secara
Berdasarkan
beberapa
tahap
keseluruhan, mulai dari desain hingga
pengujian pada aplikasi mobile translator
coding program. Hal ini bertujuan untuk
diatas, didapatkan hasil analisis sebagai
memastikan bahwa aplikasi ini dapat
berikut:
berjalan dengan baik dan tidak/memiliki
1.
Pengujian
dengan
memasukkan
sedikit bug. Pengujian aplikasi Mobile
(capture) kata yang terjemahannya
Translator
tidak ada pada database, maka
Blackbox
ini
menggunakan
Testing
yang
metode
focus
pada
ditampilkan
kotak
dialog
berisi
persyaratan fungsional perangkat lunak.
pesan pemberitahuan bahwa kata
Blackbox
yang dicari tidak ada, serta suara
Testing
digunakan
untuk
mencari kesalahan interface, kesalahan
yang
pada fungsi yang salah atau hilang,
pemeritahuan tersebut. Pada proses
kesalahan pada struktur data atau akses
menerjemahkan kata dari bahasa
database,
Indonesia ke dalam bahasa Inggris,
kesalahan
performance,
kesalahan inisialisai dan tujuan akhir.
mengucapkan
pesan
suara dan pelafalan kata yang dihasilkan cukup jelas. Sedangkan
E.1 Tahap Pengujian
untuk proses menerjemahkan kata
Pengujian aplikasi dilakukan pada
dari bahasa Inggris ke dalam bahasa
beberapa kondisi, seperti terlihat pada
Indonesia,
Tabel 1.
dihasilkan kurang jelas. Hal ini
Tabel 1. Hasil Pengujian aplikasi Hasil
Hasil
Harapan
Keluaran
Kata yang
Muncul pesan
sesuai
diinput
peringatan dan
tidak ada
diucapkan
Capture
Tidak muncul
kata dengan
kotak dialog
Test Case
dikarenakan
pelafalan
library
kata
suara
yang
yang
digunakan berdialek asli Inggris. Selain itu juga belum ada library suara
dengan
dialek
bahasa
Indonesia. sesuai
2.
Pengujian memasukkan (capture) kata dengan intensitas cahaya yang
sedikit
kecil menyebabkan kata tersebut
cahaya Teks
Muncul kata
dengan
terjemahan
warna
dan pelafalan
sesuai
Informatics & Business Institute Darmajaya
tidak terdeteksi, sehingga proses OCR tidak dapat berjalan dan AR
106
Ossy D.E.W., T.M.Zaini, Frizka
3.
Jurnal Informatika, Vol. 13, No.1, Juni 2013
juga tidak dapat memanggil library
karena keterbatasan belum tersedianya
suara untuk pengucapannya.
library pelafalan berbahasa Indonesia.
Pengujian dengan teks berwarna dan ukuran
font
di atas 12 tidak
DAFTAR PUSTAKA
mengalami kendala apapun (terlepas dari
faktor
cahaya).
Mobile
[1] Rashid S.F, Shafait F, Breuel T,
translator tetap memberikan output
“Scanning Neural Network for Text
yang sesuai dengan masukan.
Line Recognition”, in The DFKI website, 2010. [2] Charles P.K, Harish P, M. Swathi
E.4. Maintenance Maintenance
atau
pemeliharaan
CH, “A Review ot he Various
merupakan tahap terakhir dalam metode
Techniques
Waterfall. Tahap maintenance bertujuan
Character Recognition” in Journal of
untuk meningkatkan performa aplikasi.
Engineering
Pemeliharaan termasuk memeriksa dan
Applications (IJERA), Vol. 2, Issue
memperbaiki kesalahan yang terdapat
1,Jan-Feb 2012,pp.659-662
pada fungsi program . Selain itu juga terdapat perbaikan pada database kata.
[3] Lopresti
D,
used
for
Research
“Optical
Optical
and
Character
Recognition Errors and Their Effects on NaturalLanguage Processing”, in International Journal on Document
IV. SIMPULAN Telah
berhasil
dikembangkan
sebuah aplikasi mobile yang berfungsi
Analysis and Recognition manuscript, December 2008.
sebagai penterjemah Inggris – Indonesia,
[4] Mollah A.F, Majumder M, Basu S,
Indonesia - Inggris yang menggunakan
Nasipuri M, “Design of an Optical
OCR
Character
yang
mengenali
input
kata
Recognition
System
menggunakan kamera smartphone dan
forCamera-based Handheld Devices”,
menampilakan hasil terjemahan berupa
in JCSI International Journal of
teks sekaligus suara yang akan bermanfaat
Computer Science Issues, Vol. 8,
sebagai petunjuk pelafalan kata yang
Issue 4, No 1, July 2011.
benar untuk pelafalan kata-kata pada
[5] Patel
C,
“Optical
Character
bahasa Inggris, namun sebaliknya untuk
Recognition by Open Source OCR
pelafalan
Indonesia,
Tool Tesseract: A Case Study” in
sebagian kata pelafalanya belum tepat
International Journal of Computer
kata
berbahasa
Informatics & Business Institute Darmajaya
107
Ossy D.E.W., T.M.Zaini, Frizka
Jurnal Informatika, Vol. 13, No.1, Juni 2013
Applications (0975 –8887)Volume
http://www.theverge.com/2012/7/9/31
55–No.10, October 2012.
46525/, posting July 2012.
[6] Hahn
Jim,
Recognition
“Optical Software
in
Character
[8] Anonym, “TranslatAR : A mobile
Library
Augmented Reality Translator” in
Mobile Apps” in Int Conference
http://ilab.cs.ucsb.edu/index.php/com
IFLA, May 2012.
ponent/content/article/10/14, posting
[7] Anonym, “Word Lens application for Android”,
2011.
in
Informatics & Business Institute Darmajaya
108