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.javauntuk melakukan
proses copy file dari resource android ke dalam penyimpanan eksternal di smartphone.
KelasFormKamus.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 kelasFormUtama.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 adminpada 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 membentukKamusIndoakan 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 Kamus.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
5endwhile
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