MERPATI VOL. 2, NO. 3, DESEMBER 2014
ISSN: 2252-3006
Aplikasi Translator Bahasa Jawa Ke Bahasa Indonesia Berbasis Android Ahmad Budi Setiawan, Putu Wira Buana, I Made Sukarsa Jurusan Teknologi Informasi, Fakultas Teknik, Universitas Udayana Bukit Jimbaran, Bali, Indonesia, telp. +62361703315 Email :
[email protected],
[email protected],
[email protected] Abstrak Penggunaan smartphone sebagai salah satu media komunikasi sudah umum dijumpai dalam masyarakat saat ini. Bermacam-macam aplikasi dihadirkan dalam perangkat smartphone untuk menunjang aktivitas maupun kinerja di masyarakat, demikian halnya dengan translator yang sangat diperlukan dalam menerjemahkan suatu bahasa asing maupun bahasa daerah. Kajian ini bertujuan untuk merancang aplikasi translator digital Jawa-Indonesia dan IndonesiaJawa untuk perangkat mobile khususnya smartphone yang berbasis Android, pengguna sistem dapat menterjemahkan bahasa Jawa kedalam bahasa Indonesia dan sebaliknya kapan saja dan dimana saja. Aplikasi ini dibangun menggunakan Java 2 MicroEdition. Tahapan yang penulis lakukan dalam proses pembangunan aplikasi tersebut meliputi tahapan analisis permasalahan dan kebutuhan. Perancangan aplikasi dan desain antar muka aplikasi juga dilakukan, sehingga aplikasi yang terbentuk menjadi mudah untuk digunakan. Metode yang digunakan dalam pembuatan aplikasi ini adalah brute force dan binary search. Aplikasi ini bias menjadi alat pembelajaran bahasa daerah. Diharapkan dapat berguna di masyarakat sehingga dapat menjadikan media pelestarian budaya khususnya bahasa daerah. Kata Kunci: Translator, Bahasa,Jawa, Indonesia, Smartphone.
Abstract The use of smartphones as a medium of communication has been common in today's society. Presented a variety of applications in the smartphone device to support the activities and performance in society, so with the dictionary indispensable in translating a foreign language and regional languages. This study aims to design a digital dictionaryapplication Java Languages to Indonesian Languages and Indonesian Languages to Java Languages for mobile devices, especially smartphones based on Android. Users of the system can translate the Java language into Indonesian and vice versa anytime and anywhere. This application is built using Java 2 Micro Edition. Stages that writers do is to make the application development process includes the phases of problem analysis and requirements.Application design and application interface design, so that the application form is easy to use. The method used in the making of this application is the brute force and binary search. This application can be a means of learning the local language. Expected to be useful in society so as to make the preservation of culture media, especially the local language. Keywords : Translator, Indonesian, Javanese, Indonesian, Smartphone.
1. Pendahuluan Budaya negara Indonesia sangat luas dan bervariasi, salah satunya adalah bahasa daerah. Bahasa merupakan jembatan untuk berkomunikasi dengan orang lain. Di Indonesia banyak bahasa daerah yang ada salah satunya adalah bahasa Jawa yang merupakan salah satu bahasa daerah tertua di negeri ini, tetapi dewasa ini banyak bahasa dari berbagai negara lain yang digunakan untuk berkomunikasi diantara lain adalah bahasa Indonesia. Melestarikan budaya bahasa daerah dapat dilakukan dengan banyak cara dengan kemajuan teknologi yang sangat pesat pada saat ini dapat diciptakan sebuah aplikasi yang dapat mengakomodir Aplikasi Translator Bahasa Jawa - Bahasa Indonesia Berbasis Android (Ahmad Budi Setiawan)
344
MERPATI VOL. 2, NO. 3, DESEMBER 2014
ISSN: 2252-3006
kebutuhan setiap pengguna akan sebuah aplikasi penerjemah yang mudah dibawa serta dapat digunakan kapanpun dan dimanapun dengan efektif. Aplikasi yang cukup memenuhi kriteria dalam hal tersebut adalah aplikasi Penerjemah Bahasa Jawa-Indonesia yang berbasis Android. Aplikasi ini menyediakan informasi ilmu pengetahuan tentang kosakata dari bahasa Jawa diterjemakan kedalam bahasa Indonesia. Berdasarkan uraian latar belakang diatas, Penulis bermaksud merancang sebuah aplikasi Penerjemah Bahasa Jawa-Indonesia berbasis Android. Tujuan yang hendak dicapai adalah untuk merancang dan membuat sistem aplikasi penerjemah digital berbasis Android yang memiliki penerjemah bahasa Jawa ke bahasa Indonesia yangsesuai guna membantu user dalam menterjemahkan bahasa Jawa ke dalam bahasa Indonesia, serta melestarikan budaya bahasa daerah kedunia internasional [1]. 2. Metodelogi Penelitian Metodologi pelaksanaan yangakan dilakukan selama membuat aplikasiini,meliputi studi literaturmengumpulkan referensi baik dari buku, internet, maupun sumber-sumberyang lainnya mengenai J2ME Android sebagai bahasapemrograman untuk aplikasi Android mobile, SQLite untuk database yang digunakan untuk menyimpan data, serta acuan untuk perancangan sistem dan analisa. Analisis sistem terhadap permasalahan yang ada mengenai bagaimana sistem aplikasi penerjemah dwibahasa Jawa-Indonesia bisa dijalankan dengan mudah dan bisa dimanfaatkan oleh user padaAndroid mobile dengan fasilitas bahasa pemrograman Java TwoMobile Edition(J2ME). Desain Sistem dilakukan perancangan program, membuat desain sistem dengan UML (Use Case Diagram, Activity Diagram, ClassDiagram, Sequence Diagram). Implementasi pembuatan program untuk menjalankan sistem aplikasi Translator Bahasa JawaBahasa Indonesia berbasis Android mobile menggunakan bahasa pemrograman J2ME dan SQLite. Melakukan pengujian program, menangani dan memperbaikikesalahan yang ada pada program aplikasi Penerjemah Jawa-Indonesia tersebut agar dapat berjalan dengan baik. Dokumentasi pembuatan laporan mulai dari studi literatur sampai dengan implementasi, serta penarikan kesimpulan dan saran. Pada tahap ini juga akan dicatat apa saja yang menjadi kelemahan dan kelebihan dalam aplikasi Translator BahasaJawa-BahasaIndonesia. 3. KajianPustaka Pengumpulan teori-teori yang didapatkan dari buku atau internet serta modul-modul program yang menunjang penelitian ini. 3.1 Pengertian J2ME Java2 Micro Edition atau yang biasa disebut J2ME adalah lingkungan pengembangan yang didesain untuk meletakkan perangkat lunak Java pada barangelektronik beserta perangkat pendukungnya. Pada J2ME, jika perangkat lunak berfungsi baik pada sebuah perangkat maka belum tentu juga berfungsi baik padaperangkat yang lainnya. J2ME membawa Java ke dunia informasi, komunikasi, dan perangkat komputasi selain perangkat komputer desktop yang biasanya lebih kecil dibandingkan perangkat komputer desktop. J2ME biasa digunakan pada telepon selular, pager, Personal Digital Assistants (PDA) dan sejenisnya. J2ME adalah bagian dari J2SE, karena itu tidak semua library yang ada pada J2SE dapat digunakan pada J2ME. Tetapi J2ME mempunya beberapa library khusus yang tidak dimiliki J2SE [2]. Teknologi J2ME juga memiliki beberapa keterbatasan, terutama jika diaplikasikan pada ponsel. J2ME sangat tergantung pada perangkat (device) yang digunakan, bisa dari segi merk ponsel, maupun kemampuan ponsel dan dukungannya terhadap teknologi J2ME. Misalnya, jika sebuah ponsel tidak memiliki kamera, maka jelas J2ME pada ponsel tersebut tidak dapat mengakses kamera. Keterbatasan lainnya adalah pada ukuran aplikasi, karena memori pada ponsel sangat terbatas. Sebagian besar ponsel tidak mengijinkan aplikasi J2ME menulis pada file karena alasan keamanan. Configuration merupakan Java library minimum dan kapabilitas yang dipunya oleh para pengembang J2ME, yang maksudnya sebuah mobile device dengan kemampuan Java akan dioptimalkan untuk menjadi sesuai. Configuration hanyalah mengatur Aplikasi Translator Bahasa Jawa - Bahasa Indonesia Berbasis Android (Ahmad Budi Setiawan)
345
MERPATI VOL. 2, NO. 3, DESEMBER 2014
ISSN: 2252-3006
hal-hal tentang kesamaan sehingga dapat dijadikan ukuran kesesuaian antar device. Misalnya sebuah lampu sepeda dirancang sedemikian sehingga dapat digunakan oleh berjenis-jenis sepeda. Dalam J2ME telah didefinisikan dua buah konfigurasi yaitu CLDC (Connected Limites Device Configuration) untuk perangkat kecil dan CDC (Connected Device Configuration) untuk perangkat yang lebih besar [3].
3.2 Android Sistem operasi Android adalah sebuah system operasi untuk perangkat mobile berbasis linux yang mencakup system operasi, middleware, dan aplikasi. Platform android bermula dari nama sebuah perusahaan yang berkecimpung di dunia IT & Communication khususnya bergerak dalam bidang perangkat lunak dengan nama Android Inc. yang kemudian seluruh sahamnya dibeli oleh perusahaan raksasa yaitu Google Inc., setelah itu dibentuklah Open Handset Alliance, yaitu konsorsium dari 34 perusahaan piranti keras, piranti lunak dan telekomunikasi termasuk di dalamnya yaitu: Google, HTC, Intel, Motorola, Qualcomm, T-Mobile dan Nvidia. Perkembangan sistem operasi Android ini yang sekarang menjadi sangat populer karena bersifat open source menjadikannya sebagai sistem operasiyang banyak diminati oleh banyak pengguna [3].
3.3 SQLite Database SQLite adalah salah satu software yang embedded yang sangat populer, kombinasi SQL interface dan penggunaan memory yang sangat sedikit dengan kecepatan yang sangat cepat. Dengan adanya SQLite database ini, banyak membantu dalam pembuatan database dari setiap versi android karena SQLite database ini termasuk dalam Android runtime. Untuk pengembangannya, dalam membuat dan membuka database dipergunakan sebuah libraries yang harus diimport, yaitu android.database.sqlite.SQLiteOpenHelper yang menyediakan tiga metode, adapun tiga metode tersebut adalah sebagai berikut [3]: 1. Constructor Menyediakan representasi versi dari database dan skema yang kita gunakan. 2. onCreate() Menyediakan SQLiteDatabase object yang kita gunakan dalam definisi table dan inisialisasi data. 3. onUpgrade() Menyediakan fasilitas konversi database dari database versi yang lama kedatabase versi yang baru atau sebaliknya 3.4 Metode Brute Force Algoritma Brute Force merupakan algoritma yang mencocokan string yang ditulis tanpa memperhatikan peningkatan performa. Algoritma pencarian string dengan metode Brute Force melakukan pencocokan karakter per karakter. Algoritma in isangat jarang dipakai dalam praktek, tetapi cukup berguna untuk studi pembanding dan studi-studi lainnya [4]. Metode paling mudah dan jelas untuk menemukan kemunculan pattern di teks yaitu dengan mencoba setiap posisi pattern di teks, kemudian mencocokkan karakter pattern dan teks pada posisi tersebut. AlgoritmaBrute Force menggunakan metode ini. Langkah-langkah yang dilakukan algoritma Brute Force pada saa tmencocokkan string secara sistematis. Langkahlangkah yang dilakukan algoritma Brute Force pada saat mencocokkan string secara sistematis dapat dijelaskan sebagai berikut: [4] 1. AlgoritmaBrute Force mulai mencocokkan pattern pada awal teks. 2. Dari kiri ke kanan, algoritma ini akan mencocokkan karakter per karakter pattern dengan karakter di teks yang bersesuaian, sampai salah satu kondisi berikut dipenuhi: a. Karakter di pattern dan di teks yang dibandingkan tidak cocok (mismatch). Aplikasi Translator Bahasa Jawa - Bahasa Indonesia Berbasis Android (Ahmad Budi Setiawan)
346
MERPATI VOL. 2, NO. 3, DESEMBER 2014
ISSN: 2252-3006
b. Semua karakter di pattern cocok. Kemudian algoritma akan memberitahukan penemuan di posisi ini. 3. Algoritma kemudian terus menggeser pattern sebesar satu kekanan, dan mengulangi langkah ke-2 sampai pattern berada di ujung teks gambar di bawah adalah Algoritma Brute Force yang sedang bekerja mencari string: Usaha ke-1 Teks
T
G
K
W
S
L
A
K
Pattern
T
G
K
W
M
L
U
1
2
3
4
5
T
G
K
W
S
L
A
K
T
G
K
W
M
L
U
K
W
S
L
A
T
G
K
W
M
O
U
B
P
L
Z
N
M
K
A
Q
X
Usaha ke-2 Teks Pattern
O
U
B
P
L
Z
N
M
K
A
Q
X
K
O
U
B
P
L
Z
N
M
K
A
Q
X
L
U
1 Usaha ke-3 Teks
T
G
Pattern
1 Proses terus berlanjut seperti terlihat di atas sampai pattern berada di akhir atau di ujung dari teks. Gambar 1. Algoritma Brute Force dalam Pencarian String Algoritma Brute Force memecahkan masalah dengan sangat sederhana, langsung dan jelas (obvious way) namun, dibalik kelebihannya tersebut terdapat beberapa kekurangan dimana penggunaan algoritma yang lempang sering kali tidak cerdas dan tidak mangkus, karena membutuhkan jumlah langkah yang besar dalam penyelesainnya. Kata force mengindikasikan tenaga ketimbang otak. Kadang-kadang algoritma ini disebut juga algoritma naïf (naïve algorithm) [4]. 3.5 Binary Search Binary search adalah algoritma pencarian untuk data yang terurut. Pencarian dilakukan dengan cara menebak apakah data yang dicari berada ditengah-tengah data, kemudian membandingkan data yang dicari dengan data yang ada ditengah, bila data yang ditengah sama dengan data yang dicari, berarti data ditemukan, apabila data yang ditengah lebih besar dari data yang dicari, maka dapat dipastikan bahwa datayang dicari kemungkinan berada disebelah kiri dari data tengah dan data disebelahkanan data tengah dapat diabaikan. Upper bound dari bagian data kiri yang baru adalah indeks dari data tengah itu sendiri, sebaliknya, bila data yang ditengah lebih kecil daridata yang dicari, maka dapat dipastikan bahwa data yang dicari kemungkinan besar berada disebelah kanan dari data tengah. Lower bound dari data disebelah kanan dari data tengah adalah indeks dari data tengah itu sendiri ditambah 1 demikian seterusnya.Gambar 2 dan 3 di bawah mennujukkan ilustrasi dari binary search. Gambar 2 mengilustrasikan tentang proses searching metode binary search pada nilai 4. Nilai tengah berada pada angka 8 kemudian data dibagi menjadi dua kemudian dibagi lagi pada nilai tengah 5 sehingga ditemukan pada level 4 nilai angka 4 ditemukan. Proses pencarian elemen 4 dan elemen ke-8 :
Aplikasi Translator Bahasa Jawa - Bahasa Indonesia Berbasis Android (Ahmad Budi Setiawan)
347
MERPATI VOL. 2, NO. 3, DESEMBER 2014
ISSN: 2252-3006
Gambar 2. Ilustrasi proses binary search searching element 4 & element 8 Pencarian data padaelemen 8 nilai tengah membagi data menjadi dua bagian yang berada pada angka yang berwarna merah, hingga pencarian ditemukan pada level 4. Proses pencarian elemen ke-21 :
Gambar 3. Ilustrasi proses binary search searching element 21 Gambar 3 mengilustrasikan tentang proses searching metode binary search pada elemen ke 21. Pada proses tersebut data yang dicari tidak ditemukan karna data hanya menyimpan hingga dua puluh data [5].
3.6. Gambaran Umum Sistem Gambaran umum aplikasi yang dikembangkan adalah sebagai berikut: 1. Aplikasi ini dapat menampilkan hasil terjemahan dari kosa kata maupun kalimat yang dimaksud. 2. Aplikasi ini dapat melakukan penerjemahan kata maupun kalimat. 3. Aplikasi ini dapat menyediakan pilihan penerjemahan kosa kata, dari bahasa Jawa ke Indonesia ataupun sebaliknya. 4. Aplikasi ini dapat menampilkan Bahasa Jawa dalam tingkatannya masing-masing, yaitu ngoko, kromo, dan kromo inggil. 5. Penggunaan aplikasi ini dapat digunakan pada semua merk HPberbasis Android minimal 2.2 (froyo). Secara umum gambaran umum sistem dapat digambarkan oleh diagram sebagai gambar berikut:
Aplikasi Translator Bahasa Jawa - Bahasa Indonesia Berbasis Android (Ahmad Budi Setiawan)
348
MERPATI VOL. 2, NO. 3, DESEMBER 2014
ISSN: 2252-3006
Gambar 4. Gambaran Umum sistem Aplikasi translator memungkinkan user untuk dapat menginputkan kata lebih dari satu atau user juga dapat menginputkan frasa juga kalimat dalam Bahasa Jawa, selain itu user juga dapat memilih kata hasil terjemahan dalam berbagai macam unggah-ungguh bahasa jawa yang meliputi ngoko, ngoko alus, krama, krama alus (krama inggil) [1]. Setelah itu kalimat akan dicocokkan dengan basis data yang ada ada aplikasi dan hasilnya akan ditampilkan kembali pada perangkat user. 4. Hasil dan Pembahasan Hasil dan pembahasan yang diuraikan adalah mengenai implementasi dari system aplikasi serta uji coba hasil. 4.1 Implementasi Sistem Aplikasi Implementasi sistem rancang bangun aplikasi kamus Jawa-Indonesia berbasis android hingga analisa hasil dari aplikasi tersebut. Proses yang terjadi pada penggunaan aplikasi kamus Jawa-Indonesia ini adalah sebagai berikut : 1. Pada proses tampilan awal terdapat dua tombol pilihan yang berguna untukmasuk dan keluar. 2. Pada saat user memilih tombol masuk, maka user akan disuguhkan dengan halaman tampilan penerjemahan, sedangkan tombol quit digunakan untuklangsung keluar dan mengakhiri aplikasi. 3. Saat telah masuk ke dalam halaman penerjemahan, terdapat dua pilihankategori untuk menterjemahkan dari bahasa Jawa ke dalam bahasa Indonesia atau dari bahasa Indonesia ke dalam bahasa Jawa. 4. Dilanjutkan dengan penginputkan kata ke dalam form pencarian kata yangtelah tersedia untuk diterjemahkan 5. Untuk proses penerjemahan, selanjutnya user dapat mengklik tombol translateyang berguna untuk pencarian kata. 6. Hasil dari pencarian dari kata yang telah diinputkan akan ditampilkan padaform hasil. 4.2 Implementasi Aplikasi Pengujian pada beberapa kalimat untuk membandingkan antara waktu dan juga hasil dari terjemahan. 1. Kalimat yang diujikan adalah “bapak gawakl ambi” hasilnya dapat dilihat pada Gambar 5 di bawah.
Aplikasi Translator Bahasa Jawa - Bahasa Indonesia Berbasis Android (Ahmad Budi Setiawan)
349
MERPATI VOL. 2, NO. 3, DESEMBER 2014
A
ISSN: 2252-3006
B
Gambar 5. Hasil Terjemahan Kalimat Bahasa Jawa ke Bahasa Indonesia Hasil terjemahan kalimat A “bapak gawak lambi” dalam Bahasa Indonesia adalah “ayah bawa baju”. Waktu eksekusi kalimat “bapak gawak lambi” adalah 969 ms dengan banyak kata adalah 3 kata. Hasil terjemahan kalimat B“kulanggawa beras akeh. Kula tindak peken” dalam Bahasa Indonesia adalah “saya bawa beras banyak. Saya berjalan berjualan di pasar”. Waktu eksekusi kalimat “kulanggawa beras akeh. Kula tindak peken”adalah 1.085 ms dengan banyak kata adalah 7 kata. Perbedaan waktu penerjemahan rata-rata ditentukan oleh jumlah kata dalam kalimat yang diterjemahkan jika kalimat mengandung banyak kata maka estimasi waktu lebih banyak sebaliknya jika kata pada kalimat jumlahnya sedikit estimasi waktu jadi lebih sedikit. Hasil terjemahan sangat ditentukan dari data kamus pada database semakin banyak datanya makah asil semakin baik. 5. Kesimpulan Kesimpulan yang dapat ditarik berdasarkan pembahasan yang telah diuraikan diatas adalah proses penerjemahan Sistem Translator Bahasa Jawa ke Bahasa Indonesia berbasis Android dilakukan dengan menggunakan metode pencarian biner dengan mencocokkan kata per kata input dengan data pada basis data. Sistem Translator Bahasa Jawa ke Bahasa Indonesia berbasis Android dapat menerjemahkan kata/teks Bahasa Jawa ke dalam bahasa tujuan yang dipilih pengguna. Bahasa tujuan yang disediakan sistem berupa Bahasa Indonesia dan Bahasa Jawa dalam beberapa tingkatan bahasa (ungguh bahasa). Hasil terjemahan yang dihasilkan sistem sangat bergantung pada data kamus kata Bahasa Jawa dan Bahasa Indonesia yang ada pada basis data sistem. Daftar Pustaka [1]
[2]
[3] [4] [5]
Yudisti, Rendita. JurnalPublikasi :AplikasiPenerjemah Dwibahasa Indonesia-Indonesia Berbasis Android, Jurusan Teknik Informatika Fakultas Teknologi IndustriUniversitas Pembangunan Nasional “Veteran” Jawa Timur, Surabaya. 2011. Anugrah Tinus. Aplikasi Penerjemah Indonesia-Indonesia-Jawa Menggunakan J2ME, Naskah Publikasi, Sekolah Tinggi Manajemen Informatika Dan Komputer Amikom, Yogyakarta. 2012 Safaat, Nazruddin. Pemrograman Aplikasi Mobile Smartphone dan TabletPC Berbasis Android, Informatika, Bandung. 2011. Tjaru, Setia Negara. Penerapan Algoritma Brute Force pada Cracking Password Windows (Brute Force Attack). Bandung. Institute Teknologi Bandung. 2010. Sry Satriya Tjatur Wisnu Sasangka. Unggah Ungguh Bahasa Jawa Jakarta: Yayasan Paralingua. 2009.
Aplikasi Translator Bahasa Jawa - Bahasa Indonesia Berbasis Android (Ahmad Budi Setiawan)
350