b. Implementasi Diagram Kelas
Admin
No. Kelas
Atribut Method
Tipe
1 FormUtama.java
kamusBtn : ImageButton updateBtn : ImageButton
tentangBtn : ImageButton extStorageDirectory : File
basepath : String onCreateBudle : void
copyFileToExternalSD : void
copyFileInputStream, OutputStream : void
inisialisasi : void onClickView : void
onCreateOptionsMenuM enu : boolean
onOptionsItemSelectedM enuItem : boolean
Interface
2 FormKamus.java
btnCari : Button btnHslHtg : Button
buttonGanti : Button d : Kata
cariKata : Kata directory : File
editText : EditText inJumTab : String
inJumTabIn : String jKataDayakTabrakan : int
jKataIndoTabrakan : int jumTabKamusDayak : int
jumTabKamusIndo : int kataInput : String
sdCard : File tabelHashDayak : Kamus
tabelHashIndo : Kamus textViewInput : TextView
textView : TextView textDayak : TextView
textIndo : TextView viewJumTab : TextView
viewJumTabIn : TextView token : StringTokenizer
konstanta : int modulu : int
konstantaKamus : String ModuluKamus : String
onCreateBudle : void onClickview : void
setModulu : void setInisialisasi : void
membentukKamusDayak : void
membentukKamusIndo :void
tampilJumlahTabrakanint ,int : void
Interface
3 FormUpdate.java
extStorageDirectory : File basepath : String
progressBar : ProgressDialog progressBarStatus : int
progressBarHandler : Handler
fileSize : long btnUpdate : button
onCreateBundle : void Download : int
BukaKoneksiString
:
InputStream DownloadFIleString,Stri
ng : int copyFileInputStream,
OutputStream : void
Interface
4 Kata.java
kunci : String nilai : String
kataString, String
Entity 5
GantiModulu.java onCreateBudle : void
Interface 6
Kamus.java
tableHash : Kata[] modPembagi : int
Kamusint : Konstruktor fungsiHashString : int
Entity
jumTabrakan : String[] getIncrementString, int :
int masukanKataKata, int :
int HitungTabrakanKataStri
ng, int : int CariString : Kata
Tabel 4.2 Kelas, Atribut, Method dan Tipe
Tipe Interface
kelas
FormUtama.java, FormKamus.java,
FormUpdate.java
, dan
GantiModulu.java
merupakan tampilan antarmuka aplikasi. Selain sebagai tampilan kelas
FormUtama.java
untuk melakukan proses copy file dari
resource android
ke dalam penyimpanan eksternal di
smartphone.
Kelas
FormKamus.java
selain sebagai tampilan akan digunakan sebagai pembentuk kamus, pencarian kata dan arti kata, proses mendapatkan
jumlah tabrakan kata, proses mendapatkan jumlah kata yang mengalami tabrakan. Pada kelas
FormUpdate.java
selain sebagai tampilan juga akan digunakan
untuk menjalankan
proses update
database. Kelas
GantiModulu.java
sebagai tampilan
reference
ganti modulu yang akan di gunakan pada kelas
FormKamus.java
. Kelas – kelas interface di gambarkan
dengan table sebagai berikut :
FormUtama
basepath : String extStorageDirectory : File
kamusBtn : ImageButton tentangBtn : ImageButton
updateBtn : ImageButton copyFileInputStream,
OutputStream : void copyFileToExternalSD : void
inisialisasi : void onClickView : void
onCreateBundle : void
Untuk kelas
FormUtama.java, FormKamus.java
,
FormUpdate.java
dan
GantiModulu.java
akan dijabarkan sebagai berikut : 1.
FormUtama.java Untuk kelas interface
FormUtama.java admin
fungsi, proses algortima, dan Source Code sama dengan yang di miliki oleh
user
. 2.
FormKamus.java Dalam
FormKamus.java admin
fungsi tampilan menu, membentuk kamus dan pencarian kata, memiliki algoritma dan source yang sama pada
FormKamus.java user
. Sedikit perbedaan dengan
FormKamus.java user
pada
FormKamus.java admin
pada method
membentukKamusDayak
dan FormKamus
btnCari : Button btnGanti : Button
cariKata : Kata d : Kata
directory : File editText : EditText
sdCard : File tabelHashDayak : Kamus
tabelHashIndo : Kamus token : StringTokenizer
txtDayak : TextView txtIndo : TextView
txtV : TextView txtVInput : TextView
copyFileInputStream, OutputStream : void
copyFileToExternalSD : void inisialisasi : void
onClickView : void onCreateBundle : void
FormUpdate
extStorageDirectory : File basepath : String
progressBar : ProgressDialog progressBarStatus : int
progressBarHandler : Handler fileSize : long
btnUpdate : button onCreateBundle : void
Download : int BukaKoneksiString : InputStream
DownloadFIleString,String : int copyFileInputStream,
OutputStream : void
GantiModulu
onCreateBudle : void
membentukKamusIndo
akan dilakukan proses untuk mendapatkan jumlah tabrakan kata dan jumlah kata yang mengalami tabrakan. Untuk
mendapatkan jumlah tabrakan dan jumlah kata yang mengalami tabrakan pada method
membentukKamusDayak
dan
membentukKamusIndo
akan memanfaatkan
method
masukanKataKata,int
dan
HitungTabrakanKataString,int
pada kelas
Kamus.java.
sebelum dilakukan proses mendapatkan jumlah tabrakan kata dan jumlah
kata yang
mengalami tabrakan
pada method
membentukKamusDayak
dan
membentukKamusIndo
akan dibentuk 1 buah
obyek dari
kelas K
amus.java.
pada method
membentukKamusDayak
akan dibentuk obyek
tablehashDayak
dan pada method
membentukKamusIndo
akan dibentuk obyek
tablehashIndo
. Pada saat pembentukan kedua obyek ini akan diberikan nilai modulu yang akan
digunakan pada
Kamus.java
. Fungsi :
- Sebagai tampilan menu pencarian kata
- Membentuk kamus Dayak Ngaju – Indonesia
- Membentuk kamus Indonesia – Dayak Ngaju
- Melakukan Pencarian Kata
- Mendapatkan jumlah tabrakan kata
- Mendapatkan jumlah kata yang mengalami tabrakan
- Menampilkan jumlah tabrakan kata dan jumlah kata yang mengalami
tabrakan Proses Algoritma :
1 membentuk obyek
tabelHash, d
2 membaca data dari database 3
if
data =null 4
while
data bisa dibaca membaca data perbaris
membagi data menjadi kata dan arti kata data kata = kata
data arti kata = arti kata
d
=
d
data kata, data arti kata
TabrakanKata= TabrakanKata+ tabelHashDayak.
Masukan kata
d
jumKataTabrakan=jumKataTabrakan. HitungTabrakanKatadata kata
5
endwhile
6 tutup koneksi 7
endif
Source Code
tabelHashIndo =
new Kamusmodulu;
try {
File file = new
Filedirectory, indodayak.txt
; FileInputStream fIn =
new FileInputStreamfile;
InputStreamReader isr = new
InputStreamReaderfIn; BufferedReader bR =
new BufferedReaderisr;
if fIn =
null {
String database; String key;
String value;
int car;
while car = bR.read = -1 {
database = char
car + bR.readLine; token =
new StringTokenizerdatabase,
= ;
key = token.nextToken; value = token.nextToken;
d = new
Katakey, value; jumTabKataIndo += tabelHashIndo.masukanKatad,konstanta;
jKataIndoTabrakan += tabelHashIndo.HitungTabrakanKatakey; }
fIn.close; }
Untuk menampilkan jumlah tabrakan kata dan jumlah kata yang
mengalami tabrakan pada kelas interface
FormKamus.java
akan di tampilkan dengan memakai method
tampilJumlahTabrakanint,intString.
Untuk pemanggilan method
tampilJumlahTabrakanint,intString
akan di lakukan pada method
onClickView v
. Berikut adalah source code method
tampilJumlahTabrakanint,intString
dan pemanggilan
tampilJumlahTabrakanint,intString
pada
onClickView v
:
Langkah 1
Langkah 2
Langkah 5 Langkah 3
Langkah 4
Langkah 6 Langkah 7
Source Code :
publicvoid tampilJumlahTabrakan
int Jumtabrakan,
int jumKataTabrakan, String nama {
Toast.makeTextgetBaseContext, Jumlah Tabrakan Kata
+nama+ :
+ String.valueOfJumtabrakan
+ \n
+ Jumlah Kata yang Mengalami Tabrakan :
+ String.valueOfjumKataTabrakan, Toast. LENGTH_LONG
.show; }
Source Code pemanggilan method tampilJumlahTabrakanint,intString:
if textDayak
.getText.toString.equals Dayak
{ tampilJumlahTabrakan
jumTabKataDayak ,
jKataDayakTabrakan ,
Dayak ;
} else
{ tampilJumlahTabrakan
jumTabKataIndo ,
jKataIndoTabrakan ,
Indo ;
}
3. FormUpdate.java
Untuk kelas interface
FormUpdate.java admin
fungsi, proses algortima, dan Source Code sama dengan yang di miliki oleh
user
. 4.
GantiModulu.java Untuk kelas interface
GantiModulu.java
akan berfungsi untuk tampilan input modulu. Modulu yang diinputkan akan digunakan pada kelas
FormKamus.java.
berikut adalah source untuk melakukan pemanggilan tampilan
GantiModulu.java
: Source Code :
publicclass GantiModulu
extends PreferenceActivity{
Override
protectedvoid onCreateBundle savedInstanceState {
super .onCreatesavedInstanceState;
addPreferencesFromResourceR.xml. gantimodulu
; }
}
5. Kamus.java
Kelas Entity
Kamus.java admin
memiliki beberapa persamaan pada kelas Entitiy
Kamus.java user.
Perbedaanya adalah kelas
Kamus.java admin
memiliki 1 method tambahan yaitu
HitungTabrakanKataString,int
. Untuk fungsi perhitungan nilai kata, perhitungan jarak lompatan, metode
hash, dan proses pencarian indeks sudah dijelaskan memiliki kesamaan pada kelas
Kamus.java user.
Fungsi 1.
Melakukan proses perhitungan nilai kata 2.
Melakukan perhitungan jarak lompatan 3.
Melakukan metode hash 4.
Melakukan proses pencarian indeks 5.
Melakukan melakukan proses hitung jumlah tabrakan kata
Proses Algoritma : Proses Hitung Jumlah Tabrakan Kata
1 mendapatkan nilai 2 mendapatkan jarak lompatan
3 iftable[index] = null 4 while table[index] = null
5 index = index + jarak
6 index = index mod
7 tabel hash[index] = kata 8
return = 1 9 else
10 tabel hash[index] = kata
11 return 0
Source code Proses Hitung Jumlah Tabrakan Kata :
int index = fungsiHashinputKata, modPembagi;
int jarak = getIncrementinputKata, konstanta;
if jumTabrakan
[index] = null
{
while jumTabrakan
[index] = null
{ index += jarak;
index = modPembagi
; }
jumTabrakan [index] = inputKata;
return 1;
} else
{ jumTabrakan
[index] = inputKata;
return 0;
6. Kata.java
Fungsi kelas
Kata.java
pada kelas
admin
memiliki fungsi yang sama kelas
Kata.java
pada kelas
user.
4.4 Pengujian