Aplikasi Translation Berbasis Mobile Menggunakan J2ME

advertisement
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
Download