RANCANG BANGUN PERANGKAT LUNAK KAMUS BAHASA INDONESIA – BAHASA HINDI BERBASIS APLIKASI MOBILE
Desy Krisdianty, Aradea, Husni Mubarok Teknik Informatika Universitas Siliwangi Tasikmalaya Email :
[email protected] [email protected] [email protected]
ABSTRACT Dictionary is one of the book which is used by human as a media for studying. Dictionary also can show translate the words. But in this modern era, beside dictionary book, there is dictionaries on computer and mobile devices. That can make the used easier in translating word or sentences easily. In Indonesia, there are Bollywood lovers community who want to know and understand or even master Indiaan or Hindi. Same as the public society in Indonesia want to study Hindi to get the know ledge only or eventually they were interesting to master Hindi as a job necessary such as TKI who will work in India . So it was needed to make a software such as Hindi dictionary. Application that has made used java program language that focus on mobile devices. This research used Agile process XP ( eXtreme Programming) method approach, with the step that must be done, such as, Planning, Design, Coding and Testing. Searching process on this Hindi dictionary used Knuth Morris Pratt algorithm. Final result from the application that built was can show the result of words from Indonesian to Hindi, Hindi to Indonesian and information about Hindi’s grammar rules that will show up on mobile devices screen with Android operating system. Key words : Dictionary, eXtreme Programming, Knuth Morris Pratt, Mobile Device, Java, Android. ABSTRAK Kamus merupakan salah satu buku yang digunakan manusia sebagai alat bantu untuk pembelajaran. Kamus juga dapat mengartikan kata dan menerjemahkan kata. Tetapi di jaman modern ini selain kamus berbentuk buku ada pula kamus pada komputer dan perangkat mobile yang dapat memudahkan pengguna dalam mengartikan kata atau kalimat secara praktis. Di Indonesia sendiri banyak komunitas pecinta Bollywood yang ingin mengetahui dan memahami atau bahkan menguasai bahasa India atau Hindi, begitupun dengan masyarakat umum di Indonesia ada juga yang ingin belajar bahasa Hindi untuk pengetahuan semata atau memang ingin menguasai bahasa hindi untuk kebutuhan pekerjaan seperti para TKI yang akan dipekerjakan di India. Maka perlu dibuatnya suatu perangkat lunak berupa aplikasi Kamus Hindi. Aplikasi yang dibuat menggunakan bahasa pemrograman Java yang dikhususkan pada perangkat mobile. Penelitian ini menggunakan pendekatan dari metode Agile Prosess XP (eXtreme Programming) dengan tahapan – tahapan yang harus dilalui antara lain : Planning, Design, Coding, dan Testing. Proses pencarian pada aplikasi Kamus Hindi ini menggunakan algoritma Knuth Morris Pratt. Hasil akhir dari aplikasi yang dibangun adalah dapat menampilkan hasil terjemahan kata dari bahasa Indonesia ke bahasa Hindi, bahasa Hindi ke bahasa Indonesia dan informasi mengenai aturan tatabahasa Hindi yang akan muncul pada layar mobile device dengan sistem operasi Android Kata Kunci : Kamus, eXtreme Programming, Knuth Morris Pratt, Mobile Device, Java, Android.
I.
Pendahuluan Kamus merupakan salah satu buku yang digunakan manusia sebagai alat bantu untuk pembelajaran. Kamus juga dapat mengartikan kata dan menerjemahkan kata. Tetapi di jaman modern ini selain kamus berbentuk buku ada pula kamus pada komputer dan perangkat mobile yang dapat memudahkan pengguna dalam mengartikan kata atau kalimat secara praktis. Bahasa Hindi adalah bahasa resmi di India selain bahasa Inggris, dan bahasa ini merupakan salah satu bahasa dengan jumlah penutur terbanyak di dunia setelah bahasa Tionghoa dan bahasa Inggris. Bahasa ini merupakan saudara kembar bahasa Urdu. Disamping itu bahasa Hindi menjadi bahasa resmi di negara bagian Himachal Pradesh, Delhi, Haryana, Uttar Pradesh, Chandigarh, Bihar, Madhya Pradesh dan Rajashtan, bahasa Hindi juga dipakai luas di kota Bombai dan Hyderabad. Di Indonesia sendiri banyak komunitas pecinta perfilman india yang menjadikan mereka ingin mengetahui
dan memahami atau bahkan menguasai bahasa India atau Hindi, begitupun dengan masyarakat umum di Indonesia ada juga yang ingin belajar bahasa Hindi untuk pengetahuan semata atau memang ingin menguasai bahasa hindi untuk kebutuhan pekerjaan seperti para TKI yang akan dipekerjakan di India. Masalah yang dihadapi adalah bagaimana membangun perangkat lunak untuk mengartikan bahasa Indonesia ke dalam bahasa India disertai Aksara Dewanagari, bagaimana membangun perangkat lunak untuk mengartikan bahasa India ke dalam bahasa Indonesia. Permasalahan akan dibatasi sebagai berikut : 1. Aplikasi tidak dapat melakukan pencarian dalam bentuk kalimat. 2. Kata yang dimasukan bisa menggunakan sebuah kata dengan imbuhan.
1
3.
4.
Hasil akhir tulisan dalam bentuk huruf latin dan disertai aksara Dewanagari. Pemodelan untuk analisis dan perancangan berorientasi objek menggunakan Unified Modeling Language (UML) dengan metode Agile Process (XP (eXtreme Programming)). Proses pencarian kata menggunakan algoritma Knuth Morris Pratt
Tujuan membuat perangkat lunak kamus bahasa indonesia – bahasa hindi berbasis aplikasi mobile adalah untuk merancang dan membangun sebuah perangkat lunak yang dapat mengartikan sebuah kata dari Bahasa Indonesia ke Bahasa Hindi atau sebaliknya secara praktis. II. Landasan Teori A. Kamus Kamus adalah sejenis buku rujukan yang menerangkan makna kata-kata. Kamus berfungsi untuk membantu seseorang mengenal perkataan baru. Selain menerangkan maksud kata, kamus juga mungkin mempunyai pedoman sebutan, asal-usul (etimologi) sesuatu perkataan dan juga contoh penggunaan bagi sesuatu perkataan. Kata kamus diserap dari bahasa Arab qamus, dengan bentuk jamaknya qawamis. Kata Arab itu sendiri berasal dari kata Yunani Ωκεανός (okeanos) yang berarti 'samudra'. Sejarah kata itu jelas memperlihatkan makna dasar yang terkandung dalam kata kamus, yaitu wadah pengetahuan, khususnya pengetahuan bahasa, yang tidak terhingga dalam dan luasnya. Dewasa ini kamus merupakan khazanah yang memuat perbendaharaan kata suatu bahasa, yang secara ideal tidak terbatas jumlahnya (Ibrahim, 2002).
C. Metodologi Extreme Programming (XP) Extreme Programming adalah metode pengembangan perangkat lunak yang ringan dan termasuk salah satu agile methods yang dipelopori oleh Kent Beck, Ron Jeffries, dan Ward Cunningham. Extreme Programming merupakan agile methods yang paling banyak digunakan dan menjadi sebuah pendekatan yang sangat terkenal (Dwijaantara, 2010). Dalam metode Agile Process (XP (eXtreme Programming)) ini, ada empat tahapan yang harus dilalui yaitu (Pressman, 2010) : 1. Planning Tahapan pertama merupakan perencanaan dengan membuat semacam “user stories” dari klien, mengidentifikasi masalah serta menetapkan kebutuhan yang diperulakan untuk pembuatan aplikasi kamus Indonesia – Hindi berbasis Mobile 2. Design Tahapan kedua merancang aktifitas prangkat lunak menggunakan notasi UML untuk pembangunan aplikasi kamus Indonesia – Hindi berbasis Mobile 3. Coding Tahapan selanjutnya pengkodean yang mengimplementasikan hasil design ke dalam kode atau bahasa pemrograman untuk pembangunan aplikasi kamus Indonesia – Hindi berbasis Mobile 4. Testing Melaksanakan pengujian kebenaran logic dan fungsionalitas. Disini akan diketahui kekurangankekurangan yang terjadi pada program.
B. Algoritma Knuth Morris Pratt Algoritma Knuth Morris Pratt adalah salah satu algoritma pencari string yang dikembangkan oleh D.E. Knuth bersama dua orang rekannya J. H. Morris dan V. R. Pratt. Ide utama algoritma ini adalah mencari string dengan melakukan pembandingan karakter mulai dari karakter paling kanan dari string yang dicari. Algoritma KMP secara rata-rata merupakan algoritma pencarian string yang paling baik jika dibandingkan dengan algoritma pencarian string lainnya seperti Brute-Foree dan Boyer_Moore (Rinaldi, 2007). Perhitungan penggeseran pada algoritma ini adalah sebagai berikut, bila terjadi ketidakcocokkan pada saat pattern sejajar dengan teks[i..i + n – 1], kita bisa menganggap ketidakcocokan pertama terjadi di antara teks[i + j] dan pattern[j], dengan 0 < j < n0. Berarti, teks[i..i + j – 1] = pattern[0..j – 1] dan a = teks[i + j] tidak sama dengan b = pattern[j]. Ketika kita menggeser, sangat beralasan bila ada sebuah awalan dari pattern akan sama dengan sebagian akhiran dari sebagian teks. Sehingga kita bisa menggeser pattern agar awalan tersebut sejajar dengan akhiran dari . Dengan kata lain, pencocokkan string akan berjalan secara efisien bila kita mempunyai tabel yang menentukan berapa panjang kita seharusnya menggeser seandainya terdeteksi ketidak cocokkan di karakter ke-j dari pattern. Tabel itu harus memuat next[j] yang merupakan posisi karakter pattern[j] setelah digeser, sehingga kita bisa menggeser pattern sebesar j–next[j] relatif terhadap teks (R. Aminulloh, 2008).
Gambar 2.1. Tahapan XP Process (Pressman, 2010) D. Unified Modeling Language Unified Modeling Language(UML) adalah sebuah keluarga motasi grafis yang didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain system perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi objek (Fowler, 2005). 1. Class Diagrams 2. Object Diagrams 3. Use-Case Diagrams 4. Sequence Diagrams 5. Collaboration Diagrams 6. State Chart Diagrams 7. Component Diagrams 8. Deployment Diagram
2
E. Aplikasi Mobile Aplikasi mobile merupakan aplikasi yang dapat digunakan walaupun pengguna berpindah dengan mudah dari satu tempat ketembat lain tanpa terjadi pemutusan atau terputusnya komunikasi. Aplikasi ini dapat diakses melalui perangkat nirkabel seperti telepon seluler, untuk tugas akhir ini mengambil aplikasi mobile dengan sistem operasi android. Android adalah sistem operasi untuk mobile device yang berbasis Linux. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri yang akan digunakan untuk bermacam peranti bergerak. Adapun pembuatan aplikasi Kamus Hindi ini menggunakan Android versi 2.2 (Froyo: Frozen Yoghurt) dirilis pada bulan Mei 2010 dan pembaharuan fitur pada versi ini diantaranya : kerangka aplikasi memungkinkan penggunaan dan penghapusan komponen yang tersedia, Dalvik Virtual Machine dioptimalkan untuk perangkat mobile, grafik di 2D dangrafis 3D berdasarkan libraries OpenGL, SQLite: untuk penyimpanan data, mendukung media: audio, video, danberbagai format gambar (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF), GSM, Bluetooth, EDGE, 3G, danWiFi (hardware independent), danKamera, Global Positioning System (GPS), kompas, dan accelerometer (tergantung hardware). III.
Metode Penelitian Metodologi pembangunan perangkat lunak yang digunakan yaitu melalui pendekatan berorientasi objek menggunakan metode Agile Process dengan model Extreme Programming (XP) dan menggunakan bahasa pemodelan Unified Modeling Lenguage (UML) atau disebut juga sebagai pemodelan visual. A. Planning a.) Kebutuhan Masukkan Masukkan yang dibutuhkan dalam pembangunan aplikasi kamus Indonesia – Hindi berbasis Mobile adalah : 1. Data kata-kata dalam bahasa Indonesia beserta artinya dalam bahasa Hindi 2. Data info penggunaan bahasa Hindi b.) Kebutuhan Keluaran Keluaran data yang dihasilkan dalam pembangunan aplikasi kamus Indonesia – Hindi berbasis Mobile adalah : 1. Kata dan arti kata 2. Informasi penggunaan bahasa Hindi
b. Perangkata lunak Tabel 3.2. Spesifikasi Perangkat Lunak No. Perangkat Lunak Spesifikasi Windows XP SP 3 1. Sistem Operasi Professional Bahasa 2. Eclips Galileo Pemrograman Android Software 3. Sistem SDK Development Kit (SDK). Tabel 3.3. Spesifikasi perangkat keras dalam penggunaan aplikasi No. Perangkat Keras Spesifikasi 320 x 240 pixels atau 1. Dimensi Layar lebih tinggi 369 MHz atau lebih 2. Processor tinggi Recommended Mobile Minimal Android versi 3. Devices 2.2 froyo B. Desain 1. Skenario Tabel 3.6. Skenario Nama Kasus : Kamus bahasa Indonesia – bahasa Hindi Deskripsi : Menampilkan arti dari kata yang dimasukkan Use Case Analysis : 1. Menampilkan Cari Kata 2. Menampilkan Tatabahasa 3. Menampilkan Lihat Hasil Use Case Model : 1. Sekenario cari kata a. Pengguna memasukkan kata yang akan diterjemahkan b. Sistem mencari kata yang dimasukkan pengguna 2. Sekenario tatabahasa a. Pengguna memilih menu Tatabahasa b. Sistem menampilkan pilihan 3. Sekenario lihat hasil a. Sistem menampilkan hasi terjemahan dari kata yang dimasukkan b. Pengguna melihat hasil terjemahan kata yang dicari 2.
Use Case Diagram Indonesia Hindi
c.) Kebutuhan Perangkat Keras dan Perangkat Lunak a. Perangkat keras Tabel 3.1. Spesifikasi Perangkat Keras Minimum No. Nama Komponen Spesifikasi Kecepatan Prosesor 1 Processor Minimal 2.4 GHz 2 Memory DDR2 2048 MB 3
VGA Card
On Board
4 5 6 7 8
Optical Drive Harddisk Monitor Keyboard Mouse
CD-ROM 80 GB 14in ~ lebih tinggi Standar Standar
Cari Kata Hindi Indonesia Lihat Informasi
Pengguna
Lihat Hasil
Gambar 3.1 Use CaseDiagram
3
Pengguna memilih menu Pilih Bahasa lalu measukkan kata yang akan diterjemakhan pada teks box Cari kata, maka sistem akan memproses pencarian kata yang dimasukkan pengguna lalu sistem menampilkan hasil pencarian dan pengguna melihat hasil terjemahan. Pengguna memilih Menu Info untuk melihat penjelasan tatabahasa hindi. Extend berarti cari kata tidak akan bias dijalankan apabila menu Pilih bahasa belum dipilih atau dijalankan. 3.
2.
Antarmuka Pilih Bahasa
3.
Gambar 4.2. Antarmuka Pilih Bahasa. Antarmuka Cari Kata Indonesia
Class Diagram
Gambar 3.2 Class Diagram Pada Class Diagram diatas mempunyai empat entitas yaitu daftar kata Indonesia, daftar kata hindi, pencarian dan hasil. Entitas daftar kata Indonesia berelasi ke entitas pencarian dengan kardinalitas 1 ke 1, entitas daftar kata hindi berelasi ke entitas pencarian dengan kardinalitas 1 ke 1 dan entitas pencarian berelsi ke entitas hasil dengan kardinalitas 1 ke n. IV.
4.
Gambar 4.8. Antarmuka Cari Kata Indonesia Antarmuka Cari Kata Hindi
5.
Gambar 4.9. Antarmuka Cari Kata Hindi Antarmuka Hasil
HASIL DAN PEMBAHASAN
A. Implementasi Perangkat Lunak 1. Antarmuka splashscreen sebagai berikut :
Gambar 4.1. Antarmuka Splash Screen.
Gambar 4.10. Antarmuka Hasil Terjemahan
4
6.
Antarmuka Menu Info
Gambar 4.11. Antarmuka Menu Info
B. Implementasi Algoritma Knuth Morris Pratt (KMP) Listing 4.1. Procedure KMP untuk pencarian. private void kmpSearch() { int i=0, j=0; while (i
=0 && t[i]! =p[j]) j=b[j]; i++; j++; if (j==m) // a match is found { report(i-m); j=b[j]; } } } C. Pengujian (Testing) a.
Pengujian pencarian kata Indonesia - Hindi
Tabel 4.1. Pengujian pencarian kata Indonesia - Hindi Data Masukan Tool pecarian kata Indonesia
Yang Pengamata Kesimpulan Diharapkan n Akan Menampilk [ ] diterima menempilka an kata [ ] ditolak n kata bahasa bahasa Indonesia Indonesia yang dicari yang dicari b. Pengujian pencarian kata Hindi - Indonesia Tabel 4.2.Pengujian pencarian kata Hindi - Indonesia Data Yang Pengamata Kesimpulan Masukan Diharapkan n Pencarian Akan Menampilka [ ] diterima kata Hindi menempilkan n kata [ ] ditolak kata bahasa bahasa hindi hindi yang yang dicari dicari Pencarian Akan Menampilka [ ] diterima kata tidak menampilkan n pesan [ ] ditolak ditemukan pesan “Data “Data tidak tidak ditemukan”
ditemukan” c. Pengujian menu Info Tabel 4.3.Pengujian menu Info Data Yang Masukan Diharapkan Tidak Akan memasukk menampilkan an data info penjelasan bahasa Hindi
Pengamata n Menampilka n info penjelasan bahasa Hindi
d. Pengujian menu pilihan bantuan Tabel 4.4.Pengujian menu bantuan Data Yang Pengamata Masukan Diharapkan n Tidak Akan Menampilka memasukk menampilkan n peringatan an data peringatan “Masuk-kan “Masuk-kan kata yang kata yang ingin ingin anda anda cari, dan cari, dan aplikasi akan aplikasi menampilkan akan arti dari kata menampilka tersebut n arti dari beserta kata tersebut penjelasan beserta lainnya” penjelasan lainnya” Pengujian menu pilihan keluar Pengujian menu pilihan keluar Data Yang Pengamatan Masukan Diharapkan Tombol Akan Muncul kotak dialog kembali muncul kotak dialog “Apakah “Apakah anda yakin anda yakin ingin keluar ingin keluar dari aplikasi dari aplikasi ini?” ini?” Tombol “Ya” Akan keluar Keluar dari dari aplikasi aplikasi Tombol Akan Kembali ke “Tidak” kembali ke aplikasi aplikasi
Kesimpulan [ ] diterima [ ] ditolak
Kesimpulan [ ] diterima [ ] ditolak
e.
Kesimpulan [ ] diterima [ ] ditolak
[ [ [ [
] ] ] ]
diterima ditolak diterima ditolak
D. Kelebihan dan Kekurangan Kelebihan dari pembuatan aplikasi kamus Hindi berbasis android, berdasarkan hasil pengujian perangkat lunak adalah sebagai berikut : 1. Aplikasi ini dapat dijalankan pada semua mobile device dengan system operasi Android untuk versi minimal 2.2 (Froyo). 2. Untuk menjalankan aplikasi ini tidak membutuhkan koneksi internet. 3. Pada aplikasi kamus Hindi ini disertakan pula bahasa inggris untuk membedakan makna dari kata yang dimasukkan. 4. Pada hasil penerjemahan disertakan pula tulisan Dewanagari.
5
Sedangkan kelemahan dari pembuatan aplikasi kamus hindi android : 1. Aplikasi ini tidak bisa berjalan pada semua mobile device selain dengan sistem operasi Android minimal versi 2.2 (Froyo). 2. Aplikasi yang dibuat hanya memuat 1244 kata saja dari hurup A sampai H. 3. Hasil dari pencarian kata tidak dapat disalin.
http://retnonw.wordpress.com/2010/04/04/matching-string/, diakses tanggal 06 Agustus 2012 : 17.25. http://id.wikipedia.org/wiki/SQLite, diakses tanggal 18 April 2012 : 13.43.
V. Kesimpulan dan Saran A. Kesimpulan Hasil dari penelitian Tugas Akhir ini dapat disimpulkan bahwa: 1. Telah berhasil dibangun sebuah aplikasi yang bisa mengartikan sebuah kata dari bahasa Indonesia ke bahasa Hindi maupun sebaliknya yang berbasis android. 2. Aplikasi yang dibangun telah berjalan pada perangkat mobile device dengan sistem operasi berbasis Android versi 2.2 Froyo ke atas. 3. Pembuatan aplikasi Kamus Hindi ini menggunakan proses pencarian dengan algoritma Knuth Morris Pratt (KMP). B. Saran Saran untuk pengembangan selanjutnya pada aplikasi ini adalah : 1. Isi dari database dilengkapi sehingga kata yang dicari lebih lengkap. 2. Antarmuka yang ditampilkan supaya lebih menarik supaya para pengguna aplikasi lebih tertarik untuk menggunakan aplikasi Kamus Hindi ini. 3. Aplikasi tidak hanya bisa berjalan pada perangkat mobile phone dengan sistem operasi Android yang di package dengan ekstensi file *.apk saja, dianjurkan untuk ke depannya dapat berjalan pada semua perangkat mobile phone. DAFTAR PUSTAKA Thagore Melaty., 2003., Kamus Bahasa India., Jakarta : Penerbit Puspa Swara. Safaat H., Nazruddin., 2011., Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android., Bandung : Penerbit Informatika. Yudistira Yuan., 2011., Membuat Aplikasi iPhone Android & Blackberry itu Gampang., Jakarta : Penerbit Media kita. Pressman S Roger., 2005., Software Engineering: A Practitioner’s Approach (7thEd)., New York : McGraw-Hill. Nugroho Adi., 2010., Rekayasa Perangkat Lunak menggunakan UML dan JAVA., Yogyakarta : Penerbit Andi. Siregar Michael. 2011. Membongkar Source Code Berbagai Aplikasi Android., Bandung : Penerbit Gava media. http://agusharyanto.net/wordpress/?p=335, diakses tanggal 21 Maret 2012 : 11.25. http://synagabonar.files.wordpress.com/2009/01/karakteristi k-pemrograman-berorientasi-objek.pdf, diakses tanggal 15 April 2012 : 15.30.
6