Pemanfaatan Teknologi Optical Character Recognition(OCR) untuk

advertisement
Pemanfaatan Teknologi Optical Character Recognition
(OCR) Untuk Mengenali Alfabet Yunani Berbasis
Android
Artikel Ilmiah
Peneliti :
Fajar Aprilianto Susanto (672009105)
Yos Richard Beeh, S.T., M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen SatyaWacana
Salatiga
Oktober 2015
Pemanfaatan Teknologi Optical Character Recognition
(OCR) Untuk Mengenali Alfabet Yunani Berbasis
Android
1)
Fajar Aprilianto Susanto, 2) Yos Richard Beeh, S.T., M.Cs.
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60, Salatiga 50771, Indonesia
1)
Email: [email protected], 2) [email protected]
Abstract
Greek is the mother language in writing of Bible New Tastement. There are
many obstacles in learning Greek language, this causes frequent
misinterpretation. To understand the meaning of other language, we need a
translator. Now there’s a lot of translator application but they still need an
manual input, this thesis will make a translator application Greek – Indonesia
image based at mobile Android OS. The text that have been captured will be
process with image processing with OCR method. The text result will delivered
with translator tools to translate the desired text. This application can translate
the text just with the captured smartphone camera image without manual input.
This application can be used as a supporting media in learning Greek languages
character from Greek-language books.
Keywords : Translator, Greek, Indonesia, Optical Character Recognition, Android.
Abstrak
Bahasa Yunani merupakan bahasa ibu dalam penulisan Alkitab Perjanjian
Baru. Terdapat banyak kendala dalam mempelajari bahasa Yunani, hal ini
menyebabkan sering terjadinya salah tafsir. Untuk dapat mengerti arti tulisan dari
bahasa lain, kita memerlukan suatu alat bantu / penerjemah. Sekarang ini sudah
banyak aplikasi penerjemah tetapi masih memerlukan masukan manual, untuk itu
penelitian kali ini menghasilkan aplikasi penerjemah Yunani – Indonesia berbasis
citra atau gambar pada mobile Android OS. Teks yang akan diterjemahkan tidak
lagi dimasukkan secara manual melainkan ditangkap menggunakan kamera.
Gambar teks yang telah ditangkap diproses menggunakan pengolahan citra
dengan OCR. Hasil pengenalan teks kemudian dikirim ke tools penerjemah untuk
menerjemahkan teks yang diinginkan. Aplikasi ini dapat menerjemahkan teks
dengan hanya menangkap gambar menggunakan kamera smartphone tanpa harus
memberikan masukan kata. Aplikasi ini dapat digunakan sebagai media
penunjang dalam mengenali karakter Yunani dari buku atau literatur fisik.
Kata Kunci : Translator, Yunani, Indonesia, Optical Character Recognition, Android.
1)
Mahasiswa Fakultas Teknologi Informasi Jurusan Teknik Informatika, Universitas Kristen Satya
Wacana Salatiga.
2)
Staff Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana Salatiga.
1
1. Pendahuluan
Bahasa Yunani adalah bahasa asli dalam penulisan Alkitab Perjanjian
Baru [1]. Salah satu aspek penting dalam pembelajaran Alkitab adalah
penggalian menggunakan bahasa asli, karena apabila proses pembelajaran
tersebut digunakan menggunakan bahasa terjemahan maka proses tersebut
akan menghadapi kendala yaitu bahwa tidak ada satupun terjemahan yang
memiliki hasil terjemahan yang persis dengan sumbernya [2]. Terdapat
banyak perbedaan antara bahasa Yunani dan bahasa Indonesia, mulai dari
bentuk penulisan karakter / abjad, jumlah karakter, tanda baca hingga
peraturan penting dalam bahasa Yunani [3]. Selain karakter tulisannya yang
asing dan tata cara penulisan yang begitu rumit, bahasa Yunani juga tidak
digunakan dalam kehidupan sehari-hari sehingga orang akan kesulitan dalam
membaca apalagi memahami aksara Yunani. Kesulitan dalam membaca
aksara Yunani membuat pembaca sering kali salah dalam mengartikannya.
Hal ini menjadi masalah karena meski bahasa merupakan faktor penting dalam
berkomunikasi, namun dengan bahasa pula seseorang bisa salah paham atau
salah tafsir [4]. Hal ini turut dialami oleh pendeta maupun akademisi (dosen
dan mahasiswa teologi) yang mempelajari bahasa Yunani. Khususnya bagi
mahasiswa dimana mereka masih sangat awam dengan bahasa Yunani, hal ini
mengakibatkan sering terjadinya salah tafsir. Oleh sebab itu, diperlukan
aplikasi penerjemah sebagai alat bantu dalam membaca aksara Yunani.
Sudah terdapat berbagai usaha yang dilakukan untuk memudahkan proses
pembelajaran aksara Yunani. Misalnya dengan menggunakan Alkitab YunaniIndonesia. Akan tetapi dalam proses tersebut masih terdapat perbedaan makna
dari Alkitab bahasa Indonesia bila dibandingkan dengan bahasa aslinya
sehingga membuat maknanya menjadi ambigu [5]. Padahal bila hanya
menggunakan Alkitab bahasa Indonesia, pembaca tidak dapat mengetahui
maksud sebenarnya. Sedangkan bila menggunakan Alkitab bahasa Yunani,
pembaca justru tidak mengetahui arti dari kata aksara Yunani.
Usaha berikutnya adalah penerjemahan menggunakan kamus. Kamus
merupakan media alternatif yang dapat digunakan untuk menerjemahkan kata
dari bahasa Yunani ke bahasa Indonesia. Namun dalam penerjemahannya,
pengguna masih kesulitan mencari satu demi satu kata dalam bahasa Yunani
karena memiliki sistem penulisan yang berbeda dengan bahasa Indonesia.
Usaha lainnya adalah penggunaan translator. Translator dapat digunakan
sebagai pengganti kamus yang lebih optimal. Dengan menggunakan translator,
pengguna dapat dengan mudah mengetahui arti dari kata yang ingin diketahui
tanpa harus mencari kata satu demi satu. Saat ini sudah terdapat berbagai
translator, namun translator yang ada merupakan aplikasi stand alone dan
aplikasi berbasis web yang masih membutuhkan masukan kata secara manual.
Pemberian masukan kata dalam bentuk teks sulit dilakukan jika perangkat atau
aplikasi yang digunakan tidak dilengkapi dengan keyboard berkarakter Yunani
atau virtual keyboard.
Cara lain masukan kata dapat berupa gambar kata yang ditangkap oleh
kamera. Dengan demikian pengguna akan terbantu dalam mempelajari aksara
2
dan litelatur berbahasa Yunani dibandingkan menggunakan kamus atau alat
bantu translasi lain yang membutuhkan masukan dalam bentuk teks sehingga
dapat mengurangi kesalahan penerjemahan akibat kelalaian manusia.
Berdasarkan latar belakang di atas dapat dirumuskan masalah bagaimana
membangun sebuah media penerjemah bahasa Yunani ke bahasa Indonesia
tanpa masukan kata dalam bentuk teks. Tujuan penelitian ini adalah untuk
membangun sebuah media penerjemah bahasa Yunani ke bahasa Indonesia
dengan masukan kata dalam bentuk citra.
Dalam penerapan media penerjemah ini perlu dibuat batasan-batasan agar
tidak menyimpang dari tujuan awal. Batasan tersebut antara lain aplikasi
diterapkan pada smartphone dengan Android OS. Proses konversi OCR
memanfaatkan engine Tesseract. Proses penerjemahan memanfaatkan Bing
Translator API. Proses pelafalan memanfaatkan Google Translate API. Hasil
terjemahan dan pelafalan sebatas yang bisa dilakukan oleh Bing Translator
dan Google Translate.
2. Kajian Pustaka
Dalam sistem operasi Android terdapat berbagai macam teknologi yang
dapat digunakan untuk pembuatan translator dengan masukan gambar, salah
satunya adalah teknologi yang bernama OCR. Dengan menggunakan OCR,
pengguna tidak perlu lagi member input secara manual, cukup menangkap
gambar teks yang diinginkan dan OCR akan mengkonversi dan mendapatkan
computer based text dari gambar tersebut. Akan tetapi penggunaan OCR akan
menjadi kurang efektif bila teks yang ingin dikonversi tidak memenuhi
persyaratan dari engine OCR yang digunakan, misal teks pada file gambar
yang akan diinterpretasikan harus dalam posisi mendatar dan terpisah antar
karakternya, serta bukan dalam format italic, underline, ataupun
strikethrough. Dalam Implementasinya, sistem OCR tidak menggunakan blok
postprocessing (autospell dan pengembalian format). Sistem OCR hanya
dapat membaca jenis tulisan tangan yang sesuai dengan ketentuan, seperti
jenis font, ukuran, jarak antar karakter. Selain itu kemiringan juga
mempengaruhi keberhasilan OCR dalam proses pengkonversian.
Pada penelitian yang berjudul “Sistem Penerjemah Mobile Berbasis Citra
Digital dengan Teknologi Web Service” menyatakan bahwa proses translasi
menggunakan aplikasi stand alone dan aplikasi berbasis web harus memberi
masukan manual kata yang akan diterjemahkan. Hal ini menimbulkan
permasalahan bagi pengguna bila perangkat atau aplikasi yang digunakan
tidak di lengkapi dengan keyboard berkarakter bahasa yang ingin
diterjemahkan atau keyboard virtual [6]. Dalam penelitian ini dapat diketahui
bahwa sistem tersebut dapat melakukan penerjemahan teks dengan akurasi
mencapai 100%. Penelitian ini menggunakan Microsoft Translator API dan
Google Translate API. Dengan menggunakan Google Translate API, aplikasi
jadi lebih cepat dalam mengakses layanan Google daripada menggunakan
browser bawaan yang ada pada telepon genggam. Dalam penerjemahannya,
kumpulan arti kata diperoleh dari server kosakata yang telah tersedia pada
Google Translate API.
3
Pada penelitian lain yang berjudul “Pengembangan Aplikasi Android
Realtime Translation Untuk Menerjemahkan Bahasa Jepang ke Bahasa
Indonesia” menyatakan bahwa penerjemahan menggunakan kamus tidak
efisien dan mobilitasnya kurang. Memang sudah ada aplikasi kamus baik
offline ataupun online namun pengetikannya cenderung sulit dilakukan bila
harus memberi masukan secara manual. Penelitian ini menggunakan Tesseract
sebagai engine dari OCR untuk pengenalan karakter.
Penelitian lain dengan judul “Pengembangan Aplikasi Translator SundaIndonesia-Inggris Menggunakan Capture Camera Pada Smartphone Android”
mendapatkan tingkat keberhasilan 70% dalam pengenalan karakter dengan
menerapkan library Tesseract sebagai engine
OCR. Penelitian ini
menggunakan Microsoft translator API untuk penerjemahan teks dari hasil
pengenalan OCR.
Penelitian kali ini menghasilkan aplikasi penerjemah Yunani – Indonesia
yang memiliki keluaran teks dan atau suara. Aplikasi ini menggabungkan
OCR dengan Microsoft (Bing) translator API dan Google Translate (text to
speech) API untuk menjadi media penerjemah tanpa masukan kata. Google
Translate API yang ada sekarang tidak dapat digunakan untuk menerjemahkan
secara free, oleh sebab itu dalam proses penerjemahan digunakanlah Bing
Translator API yang dapat digunakan secara cuma-cuma.
OCR digunakan untuk membaca karakter dari suatu gambar teks dan
mendapatkan computer based text dari gambar tersebut. Gambar tersebut juga
dapat dipotong untuk memfokuskan dan mempercepat proses recognition
yang nantinya akan dilanjutkan dengan proses translasi. Teks yang sudah
diperoleh tersebut akan diterjemahkan menggunakan Bing translator untuk
mendapat teks hasil terjemahan serta Google translate untuk mendapatkan
pelafalannya. Dengan demikian pengguna tidak perlu lagi memberikan
masukan secara manual dengan mengetikkan kata yang ingin diterjemahkan.
Engine OCR yang digunakan pada aplikasi ini adalah Tesseract. Tesseract
merupakan free engine OCR yang dirilis dibawah lisensi Apache dan
pengembangannya disponsori oleh Google. Tesseract saat ini merupakan salah
satu engine OCR open souece yang paling akurat dibanding dengan engine
yang lain. Tesseract dapat membaca berbagai format gambar dan
mengkonversinya ke teks. Selain gambar, Tesseract juga dapat membaca file
PDF.
3. Metode dan Perancangan Sistem
Metode Penelitian
Hazibuan, Zainal A. menyatakan tahapan peneilian pada umumnya terdiri
dari 7 tahap yaitu : Identifikasi masalah, Perumusan masalah, Penelusuran
pustaka, Rancangan penelitian, Pengumpulan data, Pengolahan data, dan
Penyimpulan hasil [7]. Tahapan penelitian tersebut dapat dilihat pada Gambar
1.
4
Gambar 1 Tahapan Penelitian
Tahapan penelitian pada Gambar 1, dapat dijelaskan sebagai berikut.
Tahap pertama, analisis permasalahan. Pada tahap ini dilakukan penetapan
permasalahan yaitu pernyataan yang bersifat umum terhadap permasalahan
yang diamati seperti masalah apa saja dan bagaimana cara teolog mengatasi
kesulitan dalam mempelajari Alkitab ataupun literatur berbahasa Yunani.
Tahap kedua, melakukan pencarian dan pengumpulan literatur yang terkait
seperti penelitian sebelumnya, latar belakang bahasa Yunani, tekonologi dan
juga teori teori terkait seperti OCR, Bing Translator, dan Google Translate
API.
Tahap ketiga, perumusan masalah. Menguraikan permasalahan beserta
solusi yang dapat membantu mengatasi permasalahan yaitu bagaimana
membangun media penerjemah tanpa masukan kata dalam bentuk teks.
Tahap keempat, rancangan penelitian. Setelah mengetahui permasalahan
dan solusi yang ditawarkan, dilakukan perancangan dalam membangun
sistem. Perancangan sistem yang dilakukan dalam membangun media
penerjemah Yunani – Indonesia meliputi metode pengembangan sistem
menggunakan metode prototype, model perancangan sistem menggunakan
diagram Unified Modelling Language (UML), perancangan arsitektur / alur
kerja sistem, dan perancangan tampilan antarmuka aplikasi penerjemah ini.
Tahap kelima, pengumpulan data. Setelah sistem selesai dibangun dan
aplikasi sudah selesai dibuat, dilakukan diuji fungsionalitas dari aplikasi
media penerjemah Yunani – Indonesia sebelum diujicobakan ke user
(pengujian alfa). Setelah itu dilakukan pengujian kepada user (pengujian beta)
untuk mendapatkan hasil apakah aplikasi sudah sesuai dengan harapan
pengguna. Data-data yang sudah didapat dikumpulkan dalam bentuk table
hasil pengujian.
Tahap keenam, pengolahan data. Pada hasil pengujian alfa dilakukan
analisis apakah aplikasi media penerjemah sudah sesuai dengan yang
5
diharapkan atau tidak dan didapatkan hasil yaitu aplikasi sudah sesuai dengan
yang diharapkan oleh developer. Sedangkan data hasil pengujian beta
dianalisa dan didapatkan hasil yaitu aplikasi penerjemah dapat menjawab
kebutuhan user.
Tahap ketujuh, penyimpulan hasil. Setelah semua laporan hasil penelitian
didapat, maka disimpulkan bahwa aplikasi media penerjemah bahasa Yunani –
Indonesia dapat digunakan untuk mengenali dan menerjemahkan alfabet
Yunani dari literatur fisik dengan memanfaatkan teknologi OCR, Bing
Translator API dan Google Translate API.
Metode Perancangan Sistem
Metode perancangan sistem yang digunakan adalah system prototyping.
Prototype model merupakan sebuah proses untuk membangun sebuah model
dari sebuah sistem berdasarkan dari kebutuhan user, dengan kondisi user tidak
memberikan detail input, proses dan detail output [8].
Metode ini dipilih karena prototype yang dibuat dapat digunakan untuk
mengelola kembali kebutuhan dari perangkat lunak yang akan dikembangkan,
sehingga pengembang perangkat lunak tidak harus merancang lagi semua dari
awal. Model metode ini diilustrasikan pada Gambar 2.
Gambar 2 Bagan Prototype Model [8]
Kelebihan dari metode prototype adalah kemampuan metode dalam
membangun suatu sistem berdasarkan kebutuhan user yang kurang jelas dalam
mengidentifikasikan input, proses, maupun output. Metode prototype
membangun komunikasi yang baik antara pengguna dan pengembang,
sehingga pengguna berperan aktif dalam proses pengembangan perangkat
lunak. Hasil akhir dari pengembangan sistem atau perangkat lunakpun dapat
memenuhi kebutuhan user, karena user melakukan evaluasi pada model
prototype. Selain itu, waktu yang dibutuhkan dalam proses pembuatan juga
cenderung lebih singkat karena pada proses ini pengguna berperan aktif.
Tahap-tahap yang dilakukan pada Pembuatan Aplikasi Penerjemah Yunani
– Indonesia Menggunakan Teknologi OCR pada Mobile Android OS ini
adalah :
1. Pengumpulan kebutuhan
Tahap pengumpulan kebutuhan merupakan tahap awal yang dilakukan
dalam pemodelan prototype. Pada tahap ini peneliti melakukan pengumpulan
6
data yang bisa dijadikan reverensi untuk bahan penerjemah Yunani –
Indonesia. Bahan data yang diperlukan awalnya bersumber dari wawancara
dengan pendeta, dosen, dan mahasiswa teologi mengenai perbedaan bahasa
Yunani dan bahasa Indonesia, kesulitan – kesulitan yang dihadapi dalam
mempelajarinya, dan menentukan tujuan umum serta kebutuhan yang
diketahui dan gambaran bagian-bagian yang akan dibutuhkan berikutnya.
Selain itu buku literatur, jurnal, dan situs internet juga menjadi sumber data
untuk membuat aplikasi penerjemah Yunani – Indonesia. Pembahasan
difokuskan pada penerjemahan bahasa Yunani ke bahasa Indonesia.
2. Perancangan
Perancangan perangkat lunak merupakan tahap dimana akan melakukan
perancangan dan implementasi terhadap pembuatan aplikasi penerjemah
Yunani – Indoneisa pada mobile android OS menggunakan teknologi OCR.
Pembuatan prototype ini didasarkan pada kebutuhan dari target pengguna
sistem, yaitu pendeta maupun akademisi (dosen dan mahasiswa teologi).
Berdasarkan hasil wawancara didapati bahwa kebutuhan user adalah alat
bantu penerjemah tanpa masukan teks. Dengan memanfaatkan OCR, literatur
yang ditangkap dan dikonversi menjadi computer based text yang akan
diterjemahkan menggunakan Bing Translator dan dilafalkan menggunakan
Google Translate API.
3. Evaluasi prototype
Tahap evaluasi protoype merupakan tahap pengevaluasian atau pengujian
terhadap sistem software yang telah dibangun. Pengujian ini berfungsi untuk
memperjelas kebutuhan software dimana software ini bertujuan untuk
meningkatkan kemampuan menerjemahkan dan pengetahuan pengguna
tentang arti tulisan bahasa Yunani dari literatur fisik. Apabila software yang
dihasilkan belum memenuhi kebutuhan user maka penambahan maupun
perombakan akan dilakukan kembali terhadap prototyping.
a. Prototype Pertama
Pada prototype pertama yang dibuat untuk aplikasi penerjemah Yunani –
Indoneisa menggunakan OCR, yaitu terdapat halaman utama yang berisi
menu Menangkap Gambar, Memotong Gambar, Memilih Gambar,
Mengganti Bahasa, Menerjemahkan, dan melafalkan Teks. Hasil prototype
pertama untuk halaman utama adalah : tampilan masih sangat sederhana
sehingga terlihat kurang menarik. Pada menu Menangkap Gambar, setelah
selesai melakukan penangkapan gambar, pengguna langsung masuk ke
cropping gambar tanpa ada pilihan apakah pengguna ingin memotong
gambar atau tidak. Dalam pemindahan bahasa pengguna menggunakan
tombol Mengganti Bahasa dan hanya diberi pemberitauan / output berupa
Toast sehingga masih membingungkan bahasa apa yang sedang terpilih
saat itu.
b. Prototype Kedua
Pada prototype kedua, halaman utama pada aplikasi ada perubahan pada
tombol Mengganti Bahasa menjadi Memilih Bahasa, serta pemberitahuan
7
bahasa yang dipilih pada spinner. Pada menu menangkap Gambar setelah
penangkapan gambar, pengguna diberi pilihan apakah ingin melakukan
cropping atau langsung translating. Terdapat berbagai penyesuaian posisi
text view maupun tombol tombol menu untuk mempercantik tampilan
sehingga terlihat menarik.
Perancangan Sistem
Sistem aplikasi dirancang dengan menggunakan UML (Unified Modelling
Language). Use Case Diagram digunakan untuk mendeskripsikan cara kerja
sistem dari sudut pandang user, sebagai deskripsi fungsional dari sebuah
sistem dan proses yang dilakukannya, serta menjelaskan secara visual siapa
saja yang berperan sebagai aktor dalam penggunaan sistem dan bagaimana
interaksinya. Use Case Diagram pada perancangan Aplikasi Penerjemah
Yunani – Indonesia Menggunakan Teknologi OCR pada Mobile Android OS
dapat dilihat pada Gambar 3.
Gambar 3 Use Case Diagram
Pada aplikasi Penerjemah Yunani – Indoneisa ini yang berperan sebagai
aktor adalah pengguna. Pengguna dapat memilih fungsi Menangkap Gambar,
Memotong Gambar, Memilih Gambar, Memilih Bahasa, Menerjemahkan,
Melihat Hasil, atau Melafalkan Teks. Pada fungsi Menangkap Gambar
pengguna dapat menangkap gambar baru yang nantinya akan dikonversi
menggunakan OCR kemudian diterjemahkan. Fungsi Memotong Gambar
untuk memilih kemudian memotong gambar yang sudah dimiliki untuk
dikonversi dan diterjemahkan. Fungsi Memilih Gambar untuk memilih
gambar yang sudah dimiliki untuk dikonversi dan diterjemahkan. Fungsi
Menerjemahkan untuk menerjemahkan hasil OCR. Fungsi Melafalkan Teks
untuk mendengarkan pelafalan kata hasil OCR. Fungsi Memilih Bahasa untuk
memilih hasil output terjemahan. Fungsi Melihat Hasil untuk melihat hasil
OCR dan terjemahan.
Activity Diagram atau yang dikenal dengan diagram aktifitas berguna
untuk mendeskripsikan alur cara kerja dari sebuah sistem, percabangan alur
yang dapat terjadi pada sistem, bagaimana setiap kondisi alur berakhir dan
8
seperti apa keputusan akhir yang dapat terjadi. Activity diagram pada
perancangan Aplikasi Penerjemah Yunani – Indoneisa Menggunakan
Teknologi OCR pada mobile android OS dapat dilihat dapat dilihat pada
Gambar 4.
Gambar 4 Activity Diagram
Sequence Diagram berfungsi untuk mendeskripsikan interaksi antara
setiap komponen baik di dalam maupun disekitar sistem dalam bentuk pesan
yang digambarkan terhadap waktu. Sequence Diagram juga mendeskripsikan
alur yang dilakukan sebagai respon dari sebuah input untuk menghasilkan
suatu output tertentu. Sequence Diagram pada perancangan Aplikasi
Penerjemah Yunani – Indoneisa Menggunakan Teknologi OCR pada Mobile
Android OS dapat dilihat pada Gambar 5.
Gambar 5 Sequence Diagram
9
Class diagram menggambarkan struktur obyek, deskripsi obyek, class,
package, dan relasi satu sama lain. Class diagram media Aplikasi Penerjemah
Yunani – Indoneisa dapat dilihat pada Gambar 6.
Gambar 6 Class Diagram
Rancang arsitektur sistem terdiri dari dua bagian, yaitu user yang berada
pada platform Android dan translator. Pada bagian user, pengguna memberi
masukan berupa gambar kemudian akan diproses oleh engine OCR untuk
menghasilkan keluaran berupa teks. Teks yang sudah didapat ini nantinya
akan diterjemahkan dengan menggunakan translator. User dan translator
dihubungkan dengan internet sehingga teks yang dikirim dapat diterjemahkan
oleh Bing translator dan dikembalikan dengan teks hasil terjemahan sesuai
dengan bahasa yang dipilih sedangkan teks yang dikirim ke Google translate
akan dikembalikan berupa pelafalan teks tersebut.
Gambar 6 Rancang Arsitektur Sistem
4. Hasil dan Pembahasan
Halaman Menu Utama
Halaman Utama merupakan halaman yang berfungsi sebagai user
interface utama aplikasi. Berdasarkan dari hasil rancangan antarmuka
prototype kedua, terdapat lima tombol dan satu spinner pada halaman utama.
Terdiri dari tombol Ambil Gambar, Potong Gambar, Pilih Gambar, Translasi,
dan Lafalkan Kata serta spinner Pilih Bahasa. Tampilan antarmuka Halaman
10
Utama aplikasi Penerjemah Yunani - Indoneisa Menggunakan Teknologi OCR
pada Mobile Android OS dapat dilihat pada Gambar 7.
Gambar 7 Halaman Utama Aplikasi
Halaman menu utama ini dibentuk dari satu kelas activity dan satu XML
(Extensible Markup Language) file yang digunakan untuk mengatur template
halaman utama. Kelas activity sendiri yang akan berperan memanggil dan
menjalankan item – item antarmuka yang ada pada file XML.
Implementasi Menu
Tahapan-tahapan dalam aplikasi media penerjemah ini diawali dengan
penangkapan atau pemilihan gambar yang ingin dikonversi, pemilihan output
bahasa yang diinginkan, penerjemahan, dan mendengarkan pelafalan dari hasil
OCR. Ketika pengguna menekan tombol Menangkap Gambar pada halaman
utama maka sistem akan mengaktifkan kamera dan gambar hasil sorot dari
kamera akan ditampilkan pada halaman layar kamera secara real time.
Gambar 8 merupakan Antarmuka dari halaman layar kamera.
`
Gambar 8 Antarmuka Halaman Layar Kamera
11
Kode Program 1 Capture Image
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File newdir = new File(dir);
newdir.mkdirs();
photoFile = "Picture_" + date + ".jpg";
fileDir = dir + photoFile;
newFile = new File(fileDir)
newFile.createNewFile();
outputFileUri = Uri.fromFile(newFile);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(cameraIntent, TAKE_PHOTO_CODE);
Kode Program 1 adalah kode program untuk menangkap gambar baru.
Kode program pada baris pertama adalah membuka layar untuk menangkap
gambar pada kamera. Kode program pada baris ke – 2 dan 3 adalah membuat
objek dan file direktori. Baris ke – 4 sampai 6 adalah kode program untuk
menentukan nama file yang akan disimpan. Baris ke – 7 adalah kode program
untuk membuat file baru. Baris ke – 8 sampai 10 adalah kode program untuk
mendapatkan Uri dari file baru dan menambahkan data tersebut pada
cameraIntent kemudian menjalankan activity yang memiliki request code
TAKE_PHOTO_CODE.
Ketika kamera berhasil menangkap gambar maka sistem akan
menampilkan pilihan apakah pengguna ingin memotong gambar atau tidak.
Jika pengguna memilih untuk tidak memotong gambar, maka sistem akan
langsung mengkonversi gambar dengan OCR tetapi jika mengguna memilih
untuk memotong gambar, maka sistem akan menampilkan halaman layar
cropping. Di sini pengguna dapat menentukan bagian dari gambar yang ingin
konversi. Apabila pengguna memilih menu Memotong Gambar di halaman
utama, maka pengguna akan diminta untuk memilih gambar mana yang akan
dipotong. Bila pengguna memilih menu Memilih Gambar, pengguna akan
diminta memilih gambar yang akan di konversi seperti yang dapat kita lihat
pada Gambar 9.
Gambar 9 Antarmuka Halaman Browse File
12
Kode Program 2 Select Image
1.
2.
3.
Intent pickImageIntent = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
pickImageIntent.setType("image/*");
startActivityForResult(pickImageIntent, IMAGE_PICKER_REQUEST);
Kode Program 2 adalah kode program untuk memilih gambar yang
nantinya akan dikonversi. Kode program pada baris pertama adalah
menampilkan file gambar yang terdapat pada media penyimpanan dan
mengambil Uri dari file yang dipilih. Baris ke – 2 adalah kode program untuk
mengatur tipe data file yaitu gambar. Baris ke – 3 adalah kode program untuk
mengirim data yang terdapat pada pickImageIntent dan menjalankan activity
yang memiliki request code IMAGE_PICKER_REQUEST.
Gambar yang dipilih akan dikonversi oleh OCR lalu hasilnya dikirim ke
Bing translator untuk diterjemahkan dan dikembalikan dengan output teks
sesuai dengan bahasa yang kita pilih dan juga ke Google translate untuk
diproses dan dikembalikan dengan output pelafalan. Aplikasi penerjemah ini
memiliki dua jenis keluaran yaitu teks dan suara. Kita dapat melihatnya pada
Gambar 10.
A
B
C
Gambar 10 (A) Pilih Bahasa. (B) Hasil OCR. (C) Hasil Terjemahan
Kode Program 3 Perform OCR
1.
public void performOCR() {
2.
TessBaseAPI baseApi = new TessBaseAPI();
3.
String DATA_PATH =
Environment.getExternalStorageDirectory().getPath()
4.
+ "/tesseract";
5.
baseApi.init(DATA_PATH, OCRlang);
6.
baseApi.setImage(selectedImage);
7.
recognizedText = baseApi.getUTF8Text();
8.
baseApi.end();
9.
greek.setText(recognizedText);
10.
}
Kode Program 3 adalah proses pengenalan karakter pada aplikasi untuk
mengenali karakter yang ada dalam gambar yang dipilih. Kode program pada
baris ke – 3 dan 4 adalah penentuan letak folder penyimpanan data Tesseract.
Baris ke – 5 adalah kode program untuk menginisialisasi dan menentuan
13
library bahasa sumber yang akan digunakan oleh Tesseract. Baris ke – 6
adalah kode program untuk menentukan gambar yang akan dikonversi.
Gambar tersebut disimpan dalam objek selectedImage. Baris ke – 7 sampai 9
adalah kode program untuk mendapatkan text hasil terjemahan dan
mendapatkan format text UTF8, mengakhiri engine Tesseract, dan
menggunakan text yang sudah didapat untuk ditampilkan.
Kode Program 4 Translating
1.
2.
3.
4.
5.
6.
7.
String InputString = greek.getText().toString();
com.memetix.mst.translate.Translate.setClientId("myGreekIndonesianTrans
lator");
com.memetix.mst.translate.Translate.setClientSecret("wisa/zwOCgDCQmVewB
90E1tdfmqMRl3Y/2/+ivTyK2M=");
Request r = new Request(langSelected, InputString);
r.setLanguage(langSelected);
r.setText(InputString);
translatedText = Translate.execute(req.getText(),req.getLanguage());
Kode Program 4 adalah proses penerjamahan pada aplikasi untuk
menerjemahkan karakter Yunani yang sudah didapat dari hasil OCR ke
karakter Latin dengan menggunakan Bing Translator API. Kode program
pada baris ke – 1 adalah mengambil teks yang ada dalam text view greek.
Baris ke – 2 adalah kode program untuk menentukan Client ID pengguna atau
pemilik akun Bing Translator. Baris ke – 3 adalah kode program untuk
menentukan API key Bing Translator. Baris ke – 4 sampai 6 adalah kode
program untuk menentukan bahasa sasaran dan masukan teks yang akan
diterjemahkan. Baris ke – 7 adalah kode program untuk memanggil
menjalankan proses translasi.
Kode Program 5 Text to Speech
2.
3.
4.
5.
6.
7.
8.
9.
toSpeak = greek.getText().toString();
String url1 = "http://www.translate.google.com/translate_tts?ie=UTF8&q="+ toSpeak.replace(' ', '+').replace('\n', '.') + "%0A&tl=" +
language + "&prev=input";
mediaPlayer = new MediaPlayer();
mediaPlayer.reset();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(url1);
mediaPlayer.prepare(); // might take long! (for buffering, etc)
mediaPlayer.start();
Kode Program 5 adalah proses pengiriman teks Yunani ke Google
Translate pada aplikasi untuk mendengarkan pelafalan teks hasil OCR dengan
memanfaatkan Google Translate API. Kode program pada baris pertama
berfungsi untuk mengambil teks yang ada pada text view greek. Kemudian
baris kedua adalah kode program untuk menentukan URL yang akan diakses,
kata yang akan didengar, dan bahasa yang digunakan. Sedangkan dari baris ke
– 3 hingga ke – 8 merupakan kode program untuk menjalankan media player.
Diawali dengan pembuatan objek mediaPlayer, kemudian mediaPlayer diatur
ulang dan ditentukan tipe audio stream dan sumber datanya. Berikutnya
mediaPlayer dipersiapkan untuk dijalankan.
14
Pengujian Sistem
Pengujian sistem bertujuan untuk melihat sejauh mana sistem dalam
aplikasi dapat berjalan dan menemukan kesalahan yang dapat terjadi pada
aplikasi. Pengujian ini dilakukan dengan pengujian alfa dan pengujian beta.
Pengujian alfa sistem dilakukan dengan cara menguji tiap – tiap fungsi
yang ada pada aplikasi apakah sudah berjalan dengan baik. Proses dinyatakan
berhasil jika perintah yang dikerjakan oleh user sesuai dengan output yang
diharapkan. Pengujian aplikasi menggunakan metode Black Box Testing.
Black box testing adalah sebuah metode pengujian perangkat lunak yang
berfocus pada persyaratan fungsionalitas [8]. Melalui pengujian ini, dapat
diketahui apakah aplikasi sudah berjalan dan memberikan output sesuai yang
diinginkan atau tidak. Pengujian alfa meliputi pengujian Integrasi Antarmuka
dan pengujian fungsi menu - menu.
Pengujian integrasi antarmuka bertujuan untuk mengecek apakah halaman
antarmuka satu dengan halaman antarmuka lainnya pada aplikasi telah saling
berhubungan dengan benar.
Pengujian kinerja OCR bertujuan untuk mengetahui perbandingan waktu
yang diperlukan dalam proses konversi OCR terhadap jumlah karakter yang
ada pada gambar teks. Pengujian ini dilakukan dengan menggunakan
smartphone Xiaomi Redmi Note. Hasil dari pengujian konversi OCR dapat
dilihat pada Tabel 1.
Pengujian fungsi-fungsi menu bertujuan untuk mengecek apakah fungsifungsi menu pada halaman utama dan layar kamera sudah berjalan dengan
baik atau tidak. Hasil dari pengujian Alfa dapat dilihat pada Tabel 2.
Pengujian Beta pada sistem aplikasi dilakukan pada salah satu sasaran
dari pembuatan aplikasi yaitu mahasiswa teologi. Pada pengujian beta ini
dipilih mahasiswa secara random sebagai sampel pengujian aplikasi dimana
hasil dari kuesioner yang dibagikan sebelum pengujian beta mahasiswa
tersebut belum memiliki aplikasi penerjemah. Pengujian hanya dilakukan
kepada mahasiswa karena memiliki tingkat kesalahan yang tinggi dalam
menerjemahkan bahasa Yunani. Jumlah responden adalah 30 orang yang
mengikuti proses pengujian. Setelah mencoba aplikasi, responden pengujian
diberikan kuisioner untuk melihat tingkat tanggapan persetujuan responden
terhadap aplikasi. Data dari setiap butir kemudian dihitung dengan skala likert.
Hasil dari butir nomer 1 sampai 3 dapat dilihat pada Tabel 3.
Tabel 1. Hasil Pengujian Konversi OCR
No
1
2
3
4
5
Jumlah Karakter
1
2
3
4
5
Waktu yang Dibutuhkan (millisecond)
981
956
1363
992
1496
15
Tabel 2. Hasil Pengujian Alfa
Pengujian
Aksi
Integrasi
antarmuka
Menangkap
Gambar
Memotong
Gambar
Memilih
Gambar
Menangkap
Gambar
Memotong
Gambar
Fungsi
menu
Memilih
Gambar
Mengganti
Bahasa
Menerjema
hkan
Melafalkan
Teks
Hasil Yang
Hasil Yang
Status
Diharapkan
Muncul
Pengujian
Layar sorot kamera Tapil layar sorot
Valid
tampil
kamera
Muncul halaman
Tampil halaman
Valid
browse file
gallery
Muncul halaman
Tampil halaman
Valid
browse file
gallery
Gambar ditangkap
dan disimpan,
Gambar
dilanjutkan dengan
tersimpan,
cropping kemudian
terpotong, dan
Valid
konversi dan
didapatkan hasil
penampilan hasil
konversinya
OCR
Muncul gambar yang
Gambar yang
akan dipilih untuk
dipilih muncul,
dipotong kemudian
terpotong, dan
Valid
mengkonversi dan
mendapatkan
menampilkan hasil
hasil OCR
konversinya
Muncul gambar
Gambar terpilih
untuk dikonversi dan
dan
Valid
menampilkan hasil
mendapatkan
OCR
hasil OCR
Muncul pilihan
Tampil bahasa
output bahasa
Indonesia dan
Valid
terjemahan
bahasa Inggris
Hasil OCR
Tampil teks hasil
Valid
diterjemahkan
terjemahan
Terdengar pelafalan Pelafal teks hasil
Valid
teks hasil OCR
OCR terdengar
Tabel 3. Hasil Kuisioner
No
Pernyataan
1
Teks hasil OCR
sesuai gambar
Hasil terjemahan teks
benar
2
3
Pelafalan teks benar
Sangat
Tidak
Setuju
Sangat
Setuju
Setuju
Tidak
Setuju
9
19
2
0
80.8%
7
20
3
0
78.3%
8
18
4
0
78.3%
16
Skor
Berdasarkan data persentase hasil jawaban kuesioner pada Tabel 3 maka
didapatkan persentase dari setiap butir. Butir pertama sebanyak 80.8%, butir
kedua sebanyak 78.3%, dan butir ketiga sebanyak 78.3%. Berdasarkan
persentase untuk tiap butir tersebut diperoleh informasi bahwa sebagian besar
hasil OCR sudah sesuai dengan teks yang ada pada gambar, demikian pula
pada hasil terjemahan dan pelafalan teks yang sudah tepat. Dengan demikian,
dapat disimpulkan bahwa aplikasi penerjemah dapat digunakan sebagai media
penunjang dalam mengenali dan mempelajari materi / literatur berbahasa
Yunani.
Kesimpulan
Dari penelitian yang sudah dilakukan, dapat ditarik beberapa kesimpulan
antara lain pengenalan karakter Yunani dapat dilakukan dengan
memanfaatkan teknologi OCR dalam membangun media penerjemah dengan
masukan gambar pada perangkat android mobile. Media penerjemah Yunani –
Indonesia dapat diwujudkan dengan memanfaatkan Bing Translator API
dalam proses penerjemahan dan Google Translate API dalam proses pelafalan
teks. Berdasarkan hasil uji coba melalui kuisioner dapat diketahui pendapat
responden bahwa aplikasi media penerjemah dapat digunakan untuk
mengenali karakter Yunani dari literatur fisik.
5.
Daftar Pustaka
Pappas, John Peter, 2008, Bible Greek : Basic Grammar of the Greek
New Testament, California : Scofield Seminary Press.
[2] Michael Keene, 2006, Alkitab : Sejarah, Proses Terbentuk, dan
Pengaruhnya; Diterjemahkan oleh Y. Dwi Koratno, Yogyarkarta :
Kanisius.
[3] Wallace, Daniel B., 2000, The Basics of New Testament Syntax : an
intermediate Greek grammar, Michigan : Zondervan.
[4] Yasin, Rizqi Fauzi, 2013, Ranah Hermeneutika Dan Korelasinya
Dengan Linguistik, Ponorogo: Universitas Darussalam Gontor.
[5] Lewis, C. S., 2010, The Four Loves (Empat Macam Kasih), Bandung :
Pionir Jaya (cetakan 1).
[6] Habibi, Baso, 2013, Sistem Penerjemah Mobile Berbasis Citra Digital
dengan Teknologi Web Service, Makassar : Universitas Hasanuddin.
[7] Hasibuan, Zainal A., 2007, Metodologi Penelitian Pada Bidang Ilmu
Komputer Dan Teknologi Informasi : Konsep, Teknik, dan Aplikasi,
Jakarta : Ilmu Komputer Universitas Indonesia.
[8] Pressman, Roger S., 2002, Rekayasa Perangkat Lunak : Pendekatan
Praktisi (Buku I) / Roger S, Pressman; Diterjemahkan oleh : L. N.
Harmaningrum – Edisi II -, Yogyakarta : Andi.
6.
[1]
17
Download