1. Pendahuluan Saat ini, kemampuan berbahasa asing sangat penting, khususnya bagi pelajar, pekerja, maupun masyarakat pada umumnya. Salah satu sarana untuk memudahkan belajar bahasa asing adalah dengan menggunakan aplikasi penerjemah kata pada mobile phone. Adapun beberapa pilihan bahasa asing yang sering dipelajari antara lain: bahasa Inggris, bahasa Mandarin, dan bahasa Jepang. Aplikasi penerjemah kata adalah sebuah aplikasi yang memuat daftar kata beserta hasil terjemahannya sehingga pengguna (user) dapat menemukan arti kata yang dicari dengan mudah dan cepat. Salah satu teknologi yang dapat digunakan untuk membangun aplikasi penerjemah kata pada mobile phone adalah J2ME yang merupakan sebuah emulator dari Java. Mobile phone dengan fasilitas Java bisa didapat dengan harga yang relatif murah dan terjangkau oleh masyarakat. Pada umumnya, kamus hadir dalam bentuk cetak konvensional berupa buku. Namun, dengan kemajuan teknologi saat ini, muncullah istilah kamus digital yang dapat diakses melalui jaringan internet, contohnya search engine Google (http://translate.google.co.id/) yang populer disebut Google Translate. Google Translate terkenal karena biaya aksesnya gratis dan mampu menerjemahkan teks dan halaman web dengan cepat. Meskipun demikian, tetap dibutuhkan biaya tambahan untuk koneksi internetnya. Sebagian besar mobile phone hanya memiliki sistem aplikasi penerjemah dua bahasa, misalnya bahasa Indonesia – Inggris, Indonesia – Mandarin, Indonesia – Jepang, dan sebaliknya. Untuk itu, pada penelitian ini dilakukan pengembangan perancangan aplikasi untuk menerjemahkan arti kata dalam tiga bahasa, yaitu bahasa Indonesia – Inggris, Indonesia – Jepang dan sebaliknya. Topik ini dipilih untuk membantu pelajar maupun pekerja di Indonesia yang ingin belajar bahasa Inggris dan Jepang dengan mudah melalui mobile phone tanpa memerlukan jaringan internet atau biaya tambahan untuk koneksinya. Bahasa Inggris dipilih karena bahasa Inggris merupakan bahasa international sedangkan bahasa Jepang dipilih untuk menambah wawasan bagi pelajar dan masyarakat. Rumusan permasalahan yang pertama yaitu bagaimana merancang aplikasi translation berbasis mobile menggunakan J2ME. Rumusan masalah yang kedua yaitu bagaimana mengimplementasikan aplikasi translation berbasis mobile menggunakan J2ME. Tujuan dari penelitian ini adalah untuk menciptakan sebuah aplikasi penerjemah yang dapat diakses langsung dari mobile phone tanpa menggunakan koneksi jaringan internet serta menerapkan bahasa pemprograman, data struktur, dan algoritma yang cocok sehingga aplikasi penerjemah yang diciptakan bisa bekerja secara efisien dan efektif. Manfaat dari penelitian ini adalah pengguna dapat menggunakan aplikasi translation dimana saja dan kapan saja tanpa mengeluarkan biaya. Selain itu, penelitian ini dapat digunakan sebagai referensi bagi pengguna yang mempunyai minat dalam pengembangan aplikasi mobile menggunakan J2ME Batasan masalah dalam penelitian ini adalah dengan merancang aplikasi translation berbasis mobile menggunakan J2ME. Mobile phone yang digunakan 2 adalah mobile phone dengan harga relatif murah yang memiliki platform Java. Jenis mobile phone yang dipakai untuk uji coba Cross, Nokia, dan Siemens. Bahasa dalam aplikasi penerjemah ini dibatasi dalam tiga bahasa yaitu : Indonesia, Inggris, dan Jepang. Database yang digunakan adalah .txt. Aplikasi ini hanya untuk melakukan translate dari dua bahasa yang berbeda, contoh Indonesia – Inggris, Indonesia – Jepang, Inggris – Jepang, dan sebaliknya . Tidak ada sistem admin, artinya aplikasi ini hanya digunakan secara individu atau berdiri sendiri. 2. Tinjauan Pustaka Mobile phone adalah suatu alat komunikasi elektronik yang dapat menghubungkan antar sesama orang. Fasilitas dan kualitas mobile phone sekarang sudah semakin canggih dengan kemampuan 3.5g, internet, kamera, pemutar musik dan masih banyak keunggulan yang lain [1]. NetBeans diawali dari Xelifi, sebuah proyek mahasiswa tahun 1997 di bawah bimbingan Fakultas matematika dan Fisika Universitas Charles, Praha. Sebuah perusahaan kemudian dibentuk untuk proyek tersebut dan menghasilkan versi komersial NetBeans IDE hingga kemudian dibeli oleh Sun Microsistem pada tahun 1999. Sun kemudian menjadikan NetBeans open source npada bulan Juni tahun 2000. Seak itu komunitas NetBeans terus berkembang. NetBeans mengacu pada dua hal, yakni platform untuk pengembangan aplikasi desktop java, dan Integrated Development Kit (IDE) yang dibangun menggunakan platform NetBeans. Platform NetBeans memungkinkan aplikasi dibangun dari sekumpulan komponen perangkat lunak moduler yang disebut modul. Sebuah modul adalah suatu arsip Java (Java archive) yang memuat kelas-kelas Java untuk berinteraksi dengan NetBeans Open API dan file manifestasi yang mengidentifikasinya sebagai modul. [2]. Bahasa Java merupakan bahasa pemrograman Object Oriented Programming (OOP) karya Sun Microsystem Inc. Perilisan resmi level beta dilakukan pada November 1995. Dua bulan berikutnya Netscape menjadi perusahaan pertama yang memperoleh lisensi bahasa Java dari Sun Microsystem Inc [3]. Java dirancang untuk menjadi bahasa yang memiliki kemampuan tinggi dalam hal portabilitas dan pemanfaatan jaringan tanpa mengabaikan kestabilan, keamanan, serta kemudahan dari sisi desain dan pemrograman aplikasi. Java yang semula ditujukan untuk pemprograman applet di web browser telah berkembang menjadi bahasa pemprograman untuk pengembangan aneka ragam aplikasi, mulai dari yang berjalan di handheld devices seperti handphone, PDA (Personal Digital Assistant) sampai aplikasi dengan skala enterprise di beragam komputer server. Java merupakan bahasa orientasi objek untuk pengembangan aplikasi mandiri, aplikasi berbasis internet, dan aplikasi untuk perangkat cerdas yang dapat berkomunikasi lewat internet / jaringan komunikasi. Java tidak lagi merupakan bahasa untuk membuat applet yang memperindah halaman web tetapi Java telah menjadi bahasa untuk pengembangan aplikasi skala enterprise berbasis jaringan besar [3]. 3 Sebutan Java 2 diberikan untuk java versi 1.2 dan versi berikutnya. Java 2 terbagi dalam tiga kategori, yaitu : a. Java 2 Standart Edition (J2SE). Kategori ini digunakan untuk menjalankan aplikasi Java pada level komputer personal : b. Java 2 Enterprise Edition (J2EE). Kategori ini dikhususkan untuk pengembangan aplikasi Java pada lingkungan enterprise/server : c. Java 2 Micro Edition (J2ME). Kategori ini digunakan untuk pengembangan aplikasi Java yang diimplementasikan pada perangkat semacam mobile phone, Palm, PDA, dan PocketPC. J2ME merupakan lingkungan pengembangan yang dirancang untuk meletakkan perangkat lunak Java ke dalam barang elektronik beserta perangkat pendukungnya. J2ME dapat diterapkan ke dalam perangkat yang lebih kecil, yang sering digunakan pada PDA, mobile phone, pager dan perangkat mobile lainnya. J2ME memiliki beberapa keterbatasan pada saat diaplikasikan pada mobile phone karena J2ME sangat tergantung pada perangkat (device) yang digunakan. Hal ini dapat dilihat dari segi merk mobile phone, kemampuan mobile phone, dan dukungannya terhadap teknologi J2ME [4]. Komponen-komponen J2ME terdiri dari Java Virtual Machine (JVM) yang digunakan untuk menjalankan aplikasi Java pada emulator atau handheld device, Java API (Aplication Programming Interface) dan tools lain untuk pengembangan aplikasi Java semacam emulator Java Phone. Dalam pengembangan aplikasi wireless dengan Java, J2ME dibagi menjadi dua buah bagian di antaranya ialah bagian configuration dan profile. Bagan dalam J2ME terlihat dalam Tabel 1. Tabel 1 Arsitektur J2ME [3] Profile Kumpulan Configuration Library JVM Sistem Operasi J2ME Wireless Toolkit adalah suatu perangkat lunak yang menyediakan lingkungan emulator beserta contoh-contoh aplikasi Java untuk perangkat kecil (small device). J2ME WTK yang berbasiskan CLDC dan MIDP merupakan program yang meniru kerja mobile phone yang mendukung MIDP atau yang biasa disebut emulator. Oleh karena itu, MIDlet yang berjalan di emulator belum tentu juga berjalan pada mobile phone yang sebenarnya, karena tergantung pada kemampuan dan kapasitas mobile phone yang digunakan [4]. MIDlet adalah aplikasi yang ditulis untuk MIDP. Aplikasi MIDlet adalah bagian dari kelas javax.microedition.midlet yang didefinisikan pada MIDP berupa sebuah kelas abstrak yang merupakan subkelas dari bentuk dasar aplikasi, sehingga antarmuka antara aplikasi J2ME dan aplikasi manajemen pada perangkat dapat terbentuk [4]. Daur hidup MIDlet dapat dilihat pada Gambar 1. 4 Konstruktor MIDlet memanggil pauseApp() MIDlet memanggil startApp() Aktif Jeda MIDlet memanggil destroyApp() untuk terminasi Terminasi Gambar 1 Alur hidup MIDlet [3] Ketika MIDlet dijalankan maka akan dimulai dengan kondisi pause dan dijalankan pauseApp(). Kondisi berikutnya adalah fungsi MIDlet dijalankan, yaitu pada startApp(). Metode yang ada tersebut diimplementasikan sebagai protected. Hal ini dimaksudkan agar MIDlet lain tidak dapat memanggil metode tersebut. Pada saat pemakai keluar dari MIDlet, maka metode destroyApp() akan dijalankan sebelum MIDlet benar-benar tidak berjalan lagi. Metode notifyDestroyed() akan dipanggil sebelum MIDlet benar-benar tidak berjalan lagi, destroyApp() akan memanggil notifyDestroyed() memberitahu platform untuk mendeterminasi MIDlet dan membersihkan semua sumber daya yang mengacu pada MIDlet. Dalam implementasinya, MIDlet memiliki struktur direktori sebagai berikut: a.Src menyimpan source code untuk MIDlet dan kelas lain yang diperlukan: b.Res menyimpan sumber daya yang dibutuhkan oleh MIDlet seperti misalnya gambar icon: c.Lib menyimpan file JAR atau ZIP yang berisi library tambahan yang dibutuhkan MIDlet: d.Bin menyimpan file JAR, JAD, dan file manifest yang berisi muatan komponen MIDlet. GUI atau Graphical User Interface adalah suatu model antarmuka komputer yang menggunakan objek-objek grafis sebagai media interaksi dengan user. Model antarmuka ini dihadirkan untuk menggantikan model klasik yang berbasis teks. Antarmuka model GUI menjanjikan tampilan aplikasi yang lebih komunikatif, variatif, inovatif dan – dari sisi bisnis – memiliki nilai jual yang lebih tinggi [5] . Meskipun antarmuka pada GUI membawa sejumlah kelebihan dibandingkan dengan antarmuka berbasis teks, tidak semua aplikasi harus dibuat menggunakan model antarmuka GUI. Ada beberapa hal yang menjadi pertimbangan ketika menentukan model antarmuka yaitu kecepatan proses, klasifikasi pengguna, dan kondisi perangkat komputer yang digunakan [5] . Larik adalah kelompok peubah tunggal atau multidimensi. Larik merupakan sejumlah nilai – nilai bertipe sama yang bisa dirujuk menggunakan nama peubah yang sama diikuti indeksnya (posisi nilai tertentu dalam larik) [6]. Di Java, array multidimensi sesungguhnya array dari array. Pendekatan ini terlihat dan bertindak seperti array multidimensi biasa, namun terdapat beberapa perbedaan mencolok. Untuk mendeklarasikan variabel array, dapat dilakukan dengan menspesifikasikan masing-masing indeks menggunakan himpunan kurung siku yang lain [3] . 5 Algoritma quick sort terdiri dari empat langkah utama: 1. Jika struktur data terdiri dari 1 atau 0 elemen yang harus diurutkan, kembalikan struktur data itu apa adanya. 2. Ambil sebuah elemen yang akan digunakan sebagai pivot point (poin poros). (Biasanya elemen yang paling kiri.) 3. Bagi struktur data menjadi dua bagian – satu dengan elemen-elemen yang lebih besar daripada pivot point, dan yang lainnya dengan elemen-elemen yang lebih kecil dari pada pivot point. 4. Ulangi algoritma secara berulang (recursive) terhadap kedua paruh struktur data. 3. Metode Perancangan Sistem Dalam perancangan aplikasi ini, metode yang digunakan adalah Waterfall Model. Waterfall model pertama kali diperkenalkan oleh Winston Royce tahun 1970. Waterfall model merupakan model klasik yang sederhana dengan aliran sistem yang linier. Output dari setiap tahap merupakan input bagi tahap berikutnya. Model ini telah diperoleh dari proses rekayasa lainnya dan menawarkan cara pembuatan perangkat lunak secara lebih nyata. Model ini melibatkan tim SQA (Software Quality Assurance) dengan lima tahapan yang memungkinkan adanya perbaikan pada setiap tahapan dan kemudian akan dievaluasi secara teliti guna mendapatkan hasil yang maksimal. Tahapan model ini meliputi : definisi kebutuhan, desain, implementasi dan testing unit, operasi, dan maintenance [7]. Gambar 2 merupakan gambar tahapan yang harus dilakukan dalam Waterfall Model. Definisi Kebutuhan Desain sistem dan software Implementasi dan testing unit Integrasi dan testing sistem Operasi dan maintenance Gambar 2 Pemodelan Waterfall [8] Tahap-tahap yang dilakukan dalam Waterfall Model untuk aplikasi penerjemah kata Indonesia – Inggris – Jepang ini adalah : 6 1. Analisis Kebutuhan dan pendefinisiannya Analisis kebutuhan dilakukan dengan melakukan pengumpulan materi-materi yang dibutuhkan. Materi tersebut meliputi kebutuhan fungsi-fungsi dari penerjemah kata. Aplikasi ini hanya digunakan untuk menerjemahkan arti kata. Kebutuhan lainnya meliputi kosakata bahasa Jepang, bahasa Indonesia, dan bahasa Inggris. 2. Perancangan sistem dan perangkat lunak Setelah proses penelitian selesai dan sudah mendapatkan materi yang lengkap tentang kebutuhan pembuatan aplikasi, maka tahap selanjutnya adalah melakukan perancangan sistem yang akan dibuat sesuai dengan hasil penelitian. 3. Implementasi dan unis testing Tahap selanjutnya adalah melakukan implementasi dari rancangan sistem. Implementasi dilakukan dengan cara menerjemahkan ke dalam bahasa pemrograman. Hasil perancangan langsung diuji untuk mengetahui kekurangan atau kesalahan pada sistem yang dibangun. 4. Integrasi dan Pengujian sistem Integrasi sistem diperlukan supaya sistem dapat berjalan seutuhnya dan dapat segera diuji secara menyeluruh. 5. Pengoperasian dan perawatan Tahap terakhir adalah pengoperasian dan perawatan terhadap aplikasi sistem yang telah dibangun. Model kebutuhan meliputi Diagram Use Case dan Diagram Aktivitas: Diagram Use Case Diagram Use Case merupakan salah satu diagram untuk memunculkan aspek perilaku sistem. Masing-masing diagram use case menunjukkan sekumpulan use case, aktor dan hubungannya. Diagram use case digunakan untuk memvisualisasi, menspesifikasi, dan mendokumentasi kebutuhan perilaku sistem. Diagram-diagram use case merupakan pusat pemodelan perilaku sistem, subsistem, dan kelas [9]. Pada perancangan aplikasi penerjemah kata ini, dapat diketahui fungsi yang harus dimiliki oleh aplikasi yang dibangun serta user yang terdapat dalam sistem. Diagram use case sistem dapat dilihat pada Gambar 3. 7 Gambar 3 Use Case Diagram Perancangan Sistem Di dalam use case diagram pada Gambar 3 terdapat satu user, yaitu pengguna aplikasi. Pengguna aplikasi akan melakukan terjemahan kata maka yang harus dilakukan yaitu memasukkan kata, dan memilih pilihan bahasa(IndonesiaInggris, Indonesia-Jepang, begitu juga sebaliknya). Selanjutnya jika pengguna aplikasi ingin memilih menu info, maka pengguna bisa langsung memilih menu tersebut tanpa melakukan hal lain. Diagram Aktifitas Diagram ini untuk menunjukkan aliran aktifitas di sistem. Diagram ini adalah pandangan dinamis terhadap sistem. Diagram ini penting untuk memodelkan fungsi sistem dan menekankan pada aliran kendali di antara objekobjek [9]. 8 Gambar 4 Activity Diagram User Gambar 4 menggambarkan aktifitas-aktifitas yang terjadi dalam hak akses user. Aktifitas-aktifitas tersebut adalah User/pengguna melakukan start program, maka system akan merespon dengan menampilkan halaman utama. Pada halaman utama terdapat Textbox untuk memasukkan kata, dan checkbox untuk melakukan pemilihan bahasa yang akan di terjemahkan. Setelah selesai memasukkan kata dan memilih pilihan bahasa, maka sistem akan melakukan proses pencarian kata. Apabila kata yang dicari sudah ditemukan, maka sistem akan menampilkan hasil terjemahan kepada User. Model analisis mempunyai output berupa Diagram Kelas dan Diagram Sequence: 9 Diagram Kelas Diagram ini menunjukkan sekumpulan kelas, interface, dan kolaborasi dan keterhubungannya. Diagram kelas ditujukan untuk pandangan statik terhadap sistem [9]. Class Diagram digunakan untuk menampilkan kelas-kelas yang ada dalam perancangan sistem aplikasi penerjemah bahasa Jepang-Indonesia serta memberikan gambaran tentang aplikasi dan relasi-relasi yang ada di dalamnya. Diagram kelas dari perancangan sistem aplikasi penerjemah kata JepangIndonesia ditunjukkan pada Gambar 5. Gambar 5 Class Diagram Keterangan : Fungsi dari class Kamus adalah untuk mengkompilasi program ketika pertama kali dijalankan. Fungsi dari class KamusScreen adalah untuk tampilan aplikasi. Class KamusScreen mempunyai hubungan dengan class BaseScreen yaitu sebagai extend. Class KamusScreen juga mempunyai hubungan dengan class Kamus dengan relasi hubungan 1 dan 1 . Fungsi dari class BaseScreen adalah untuk membuat tampilan aplikasinya. Fungsi dari class KamusLib adalah untuk membuat pencarian dari kata yang dimasukkan ke aplikasi. class KamusLib mempunyai hubungan dengan class KamusScreen dengan relasi hubungan 1 dan n sebagai aggregation, yaitu class KamusLib merupakan bagian dari class KamusScreen. 10 Diagram Sequence Diagram ini menunjukkan interaksi yang terjadi antar objek. Diagram ini menekankan pada basis keberurutan waktu dari pesan-pesan yang terjadi [9]. Berikut akan ditampilkan beberapa sequence diagram yang ada pada perancangan sistem aplikasi penerjemah kata, misalnya dari bahasa Indonesia ke bahasa Inggris. Gambar 6 Sequence Diagram Cari arti Kata Gambar menunjukkan diagram sequence dari perancangan sistem aplikasi penerjemah kata yang menjelaskan interaksi yang terjadi saat proses mencari kata. Dimana User harus memasukkan kata terlebih dahulu, setelah itu memilih pilihan bahasa (Dari-Ke). Kata tersebut dimasukkan ke dalam kontrol aplikasi untuk diproses dalam program. Setelah menemukan arti kata yang dicari, maka hasil terjemahan tersebut ditampilkan ke pengguna aplikasi. Pada aplikasi ini menggunakan database dalam bentuk teks, sehingga membuat aplikasi menjadi ringan dan cepat diakses. Hal ini dilakukan agar teks yang dibaca dari file tersebut dapat diubah sesuai kebutuhan tanpa harus merubah 11 source code program [3] . Pembuatan file teks dibagi menjadi enam. Pembagian file teks dilakukan untuk memudahkan dan mempercepat pencarian kata. File teks disimpan dengan format .txt untuk file teks yang menyimpan kata dalam bahasa indonesia dan artinya dalam bahasa inggris, seperti terlihat pada Gambar 7. agaknya its seems, probably agama religion agamais religious agamawi characterized by religion agan to intend, to tempt agar so that, in order to Gambar 7 Database bahasa Indonesia - Inggris. Dalam perancangan aplikasi diperlukan interface dalam penggunaannya. Perancangan interface pada bagian ini akan menjadi dasar untuk pembuatan tampilan aplikasi yang akan dibuat. Desain interface meliputi: 1. Desain Menu Utama Desain Menu Utama berupa informasi yang dapat diberikan oleh sistem. Pada perancangan sistem ini, informasi yang diperoleh berupa kata. Desain dapat dilihat pada Gambar 6. Translate Kata Kata : Indonesia Inggris Jepang Indonesia Inggris Jepang Gambar 3.13 Desain Menu Utama Menu Gambar 8 Form hasil Terjemahan 2. Desain Hasil Terjemahan Desain Hasil Terjemahan yaitu tampilan yang berisi hasil terjemahan sesuai dengan kata yang dimasukkan oleh pengguna/user. Desain dapat dilihat pada gambar 7. 12 Hasil Terjemahan Gambar 9 Form hasil Terjemahan Algoritma quick sort atau biasa yang disebut Divide and Conquer memiliki cara kerja masing-masing. Cara kerja Divide yaitu memilah rangkaian data menjadi dua sub-rangkaian A[p…q-1] dan A[q+1…r] dimana setiap elemen A[p…q-1] adalah kurang dari atau sama dengan A[q] dan setiap elemen pada A[q+1…r] adalah lebih besar atau sama dengan elemen pada A[q]. A[q] disebut sebagai elemen pivot. Perhitungan pada elemen q merupakan salah satu bagian dari prosedur pemisahan. Sedangkan Conquer adalah mengurutkan elemen pada sub-rangkaian secara rekursif Pada algoritma quick sort, langkah ”kombinasi” tidak di lakukan karena telah terjadi pengurutan elemen–elemen pada sub array. A B C D E F G H Gambar 10 Ilustrasi cara kerja algoritma quick sort I J Pada gambar 10 menerangkan bahwa dimisalkan terdapat 10 kata yang berawalan (A-J) yang sudah diurutkan sesuai dengan abjad dan kata yang akan dicari yaitu kata yang berawalan huruf “C” maka cara kerja dari algoritma ini adalah membagi jumlah tengah dari banyaknya kata yang ada. Jika terdapat 10 kata, maka akan menghasilkan kata tengah yaitu kata yang memiliki awalan E dan F. Maka kata dengan awalan huruf “C” berada sebelum kata berawalan E, maka akan dengan otomatis kata tersebut dibagi menjadi dua bagian dari (A-E) dan cara kerja ini akan diulang terus menerus sampai menemukan kata yang dicari. 4. Hasil dan Pembahasan Pengujian pertama dilakukan menggunakan emulator yang sudah disediakan pada software yang digunakan, yaitu Netbeans 6.8, hasilnya adalah sebagai berikut: 1. Menu Utama Menu utama berisi sub-sub menu yang dapat dipilih user sesuai kebutuhan. Menu utama terdiri dari masukkan kata, terjemahkan dari Indonesia – Inggris – Jepang ke Indonesia – Inggris – Jepang. 13 Gambar 11 Tampilan Menu Utama Kode Program 1 Bagian Kode Menu Utama 1. display = Display.getDisplay(this); 2. kamus = new KamusScreen("Kamus ID - EN - JP",display); 3. display.setCurrent(kamus); 4. this.append(this.wordBox); 5. this.append(this.txt1); 6. this.append(this.fromLanguageBox); 7. this.append(this.toLanguageBox); 8. this.wordBox = new TextField("Kata", "", 500, TextField.ANY); 9. this.txt1 = "Terjemahkan Kata"; 10. this.fromLanguageBox = new ChoiceGroup("Dari", ChoiceGroup.EXCLUSIVE, this.option, null); 11. this.toLanguageBox = new ChoiceGroup("Ke", ChoiceGroup.EXCLUSIVE, this.option, null); 12. this.cmdTranslate = new Command("Terjemahkan", Command.SCREEN, 1); 13. this.cmdAbout = new Command("Info", Command.SCREEN, 2); Pada baris ke satu sampai baris ke tiga untuk menampilkan frame kosong yang digunakan untuk mengisi interface. Baris ke empat sampai dengan baris ke tujuh digunakan untuk menampilkan interface. Baris ke delapan sampai baris ke 13 untuk inisialisasi GUI sampai baris ke – 11 untuk pengaturan peletakan tampilan daftar menu. Pada baris ke – 12 sampai baris ke – 15 untuk menampilkan daftar menu pada layar. 2. Menu Pilihan Menu pilihan terdiri dari dua pilihan menu yaitu pilihan terjemahan dan info. 14 Gambar 12 Tampilan Menu Pilihan Kode Program 2 Bagian Kode Tampilan Menu Pilihan 1. this.addCommand(this.cmdTranslate); 2. this.addCommand(this.cmdAbout); 3. this.engine.readEI(); 4. this.engine.readEJ(); 5. this.engine.readIE(); 6. this.engine.readIJ(); 7. this.engine.readJI(); 8. this.engine.readJE(); 9. public void commandAction(Command c, Displayable dis) 10. if (c == cmdTranslate) 11. boolean masuk=false; 12. else if(dari.equals(ke)) 13. masuk = true; 14. else if(dari.equals("Indonesia") && ke.equals("Inggris")) 15. jawaban = this.engine.findWord(wordBox.getString().toLowerCase(), 3); 16. if(wordBox.getString().equals("")) masuk = true Baris ke satu sampai dan baris ke dua untuk menampilkan menu button. Baris ke tiga sampai baris ke delapan digunakan untuk membaca file database .txt . Baris ke sembilan dan baris ke 10 digunakan apabila menu dipilih, maka akan melakukan translate, about. Baris ke 11 sampai dengan baris ke 15 digunakan untuk pengecekkan apakah bahasa yang dipilih sama atau tidak. Baris ke 16 digunakan untuk mengecek apakah textBox sudah diisi atau belum. 15 a. Form Hasil Terjemahan Pada form ini menampilkan hasil dari terjemahan kata yang dimasukkan. Gambar 13 Tampilan Hasil Terjemahan Kode Program 3 Kode Program Pencarian Kata public void readEI() { is = this.getClass().getResourceAsStream("/res/firstlastie.txt"); n = 0; try { n = is.read(array1); } catch (IOException io) { } index = 0; awal = 0; for (int x = 1; x <= n - 1; x++) { if (array1[x] == 9) { firstlastei[index++] = new String(array1, awal, x - awal); awal = x + 1; x = awal + 1; } } try { is.close(); Kode Program 4.3 Bagian } catch (IOException io) { Kode Tampilan Hasil Terjemahan } } Kode program diatas digunakan untuk membaca teks. Semua kata yang dimasukkan ke dalam textBox, akan di cari arti katanya pada file .txt., dimulai dari firslastie (Indonesia-Inggris) sampai firstlast ji (Jepang-indonesia). 16 b. Form Tampilan Menu Info Pada Form ini berisi tentang penulis yaitu nama, nim, dan fakultas. Gambar 14 Tampilan Menu Info Kode Program 4 Bagian Kode Tampilan Info else if (c == cmdAbout) { showDialog("Dibuat Oleh : Denny Halim\n NIM : 672005185\n Fak : Tekhnologi Informatika"); } Untuk memastikan bahwa implementasi sub sistem pada aplikasi penerjemah kata berjalan dengan baik, maka dilakukan pengujian pada beberapa mobile phone. Tabel 2 Tabel Pengujian blackbox pada Mobile Phone No 1 2 Poin pengujian Masukkan Kata Hasil Terjemahan Validasi Kolom Kata diisi Output kata Data input Pilih bahasa Yang berbeda Hasil uji Berhasil Status uji Valid Pilih Bahasa yang sama Gagal Valid Kata yang dimasukkan ada di database Berhasil Valid Kata yang dimasukkan tidak ada di database Gagal Valid 17 3 Menu Info Muncul Info tentang pembuat Data valid Berhasil Valid Berdasarkan hasil pengujian blackbox Tabel 1 terlihat bahwa aplikasi penerjemah kata adalah valid karena tidak error, maka dapat di simpulkan bahwa sistem ini sudah secara fungsional dan dapat menghasilkan output sesuai dengan yang di harapkan. Dengan demikian, dapat di simpulkan bahwa sistem telah menjawab kebutuhan dengan hasil pengujian sistem yang di terima serta di pandang layak digunakan untuk setiap orang yang ingin menambah pengetahuan tentang bahasa asing. 5. Simpulan Berdasarkan hasil penelitian dan pembahasan dapat ditarik kesimpulan bahwa aplikasi kamus digital dapat diselesaikan dengan penggunaan data struktur array dua dimensi dan algoritma quick sort, serta algoritma quick sort terbukti dapat mencari terjemahan kata yang tersimpan dalam file.txt secara cepat. Adapun saran untuk pengembangan selanjutnya yaitu aplikasi ini dapat tidak hanya merupakan pencarian kata dan dibatasi dalam tiga bahasa, melainkan bisa merupakan sebuah kalimat utuh dengan pilihan lebih dari tiga bahasa. Dan jika sebelumnya penyimpanan hanya menggunakan file.txt, bisa jadi dikembangkan untuk tersinkronisasi dengan database terjemahan aplikasi website kamus digital yang telah ada di jaringan internet untuk alternatif pencarian arti terjemahan yang lebih lengkap. Saran pengembangan yang lainnya yaitu diperlukan percobaan lebih lanjut untuk efektivitas algoritma quick sort jika aplikasi mengalami pengembangan kebutuhan yang lebih kompleks, apakah algoritma tersebut masih memadai kecepatannya dalam pencarian terjemahan di media penyimpanan terjemahan yang lebih besar ataukah akan mengalami penurunan kecepatan yang signifikan. 6. Daftar Pustaka [1] [2] [3] [4] [5] Pribadi, Insan. 2009. Handphone. http://id.shvoong.com/internet-andtechnologies/1915797-handphone/(diakses tanggal 20 Juni 2012) Augusta, 2011, Pengertian NetBeans, infoini.com/2011/pengertiannetbeans.html. Hariyanto, Bambang, Ir., MT. 2007. Esensi – Esensi Bahasa Pemprograman Java Edisi 2. Bandung : Informatika. Shalahuddin, M., &Rossa A.S. 2010.Pemrograman J2ME (Belajar Cepat Pemrograman Perangkat Telekomunikasi Mobile). Bandung : Informatika. Purnama, Rangsang. 2007. Pemprograman GUI menggunakan Java. Jakarta : Prestasi Pustaka Publisher 18 [6] [7] [8] [9] Nugroho, Adi, ST, MMSI. 2008. Algoritma Dan Struktur Data Dalam Bahasa Java. Yogyakarta : Penerbit Andi. Kristanto, Andri. 2004. Rekayasa Perangkat Lunak (Konsep Dasar). Bandung : Gava Media. Sommersville, Ian. 2001. Software Engineering 6th Edition, Pearson Education Limited, Inc. Hariyanto, Bambang. 2004. Rekayasa Sistem Berorientasi Objek. Bandung : Informatika 19