Implementasi Algoritma Knuth-Morris Pratt String Matching Untuk Mencari Kata Atau Istilah Pada Kamus Komputer Berbasis Android
A-1
Listing Program
CariKata.java
package com.indah.kmp;
import
import
import
import
import
import
import
java.io.BufferedReader;
java.io.File;
java.io.FileNotFoundException;
java.io.FileReader;
java.io.IOException;
java.util.ArrayList;
java.util.List;
import
import
import
import
import
import
import
import
import
import
import
android.app.Activity;
android.content.Intent;
android.os.Bundle;
android.os.Environment;
android.view.View;
android.widget.ArrayAdapter;
android.widget.AutoCompleteTextView;
android.widget.Button;
android.widget.EditText;
android.widget.TextView;
android.widget.Toast;
public class CariKata extends Activity {
private AutoCompleteTextView actv;
EditText edkata, edarti;
Button b1 , b2, btn2kembali;
TextView tvarti, tvnotfound;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1 = (Button) findViewById (R.id.btncari);
b2 = (Button) findViewById
(R.id.button_tambah);
btn2kembali= (Button) findViewById
(R.id.btn2_cari);
A-2
List listkata = new
ArrayList();
File fl = new
File(Environment.getExternalStorageDirectory() +
"/contoh");
String ck = fl.toString()+"/"+"kerjaku.csv";
BufferedReader br = null;
String line = "";
String cvsSplitBy = "#";
try {
br = new BufferedReader(new
FileReader(ck));
while ((line = br.readLine()) != null) {
String[] kamus =
line.split(cvsSplitBy);
String kata_b = kamus[0];
listkata.add(kata_b);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
String[] kata = listkata.toArray(new
String[listkata.size()]);
ArrayAdapter adapter = new ArrayAdapter
(this,android.R.layout.simple_list_item_1,kata);
A-3
actv = (AutoCompleteTextView)
findViewById(R.id.autoCompleteTextView1);
actv.setAdapter(adapter);
b1.setOnClickListener( new
View.OnClickListener(){
public void onClick(View arg0) {
actv = (AutoCompleteTextView)
findViewById(R.id.autoCompleteTextView1);
tvarti = (TextView) findViewById(R.id.tvArti);
File folder = new
File(Environment.getExternalStorageDirectory()
"/contoh");
String csv =
folder.toString()+"/"+"kerjaku.csv";
+
KMP k = new KMP();
String cari = actv.getText().toString();
System.out.println("Terjemahan kata "+cari);
BufferedReader br = null;
String line = "";
String cvsSplitBy = "#";
int ketemu = 0;
try {
br = new BufferedReader(new FileReader(csv));
while ((line = br.readLine()) != null) {
String[] kamus = line.split(cvsSplitBy);
String kata = kamus[0];
String arti = kamus[1];
int first_occur_position = k.kmp(kata , cari);
if(first_occur_position >= 0){
tvarti.setText(kata + "="+arti);
System.out.println(kata + "="+arti);
ketemu += 1;
}
A-4
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
System.out.println("Proses Baca Data Selesai");
if(ketemu
Listing Program
CariKata.java
package com.indah.kmp;
import
import
import
import
import
import
import
java.io.BufferedReader;
java.io.File;
java.io.FileNotFoundException;
java.io.FileReader;
java.io.IOException;
java.util.ArrayList;
java.util.List;
import
import
import
import
import
import
import
import
import
import
import
android.app.Activity;
android.content.Intent;
android.os.Bundle;
android.os.Environment;
android.view.View;
android.widget.ArrayAdapter;
android.widget.AutoCompleteTextView;
android.widget.Button;
android.widget.EditText;
android.widget.TextView;
android.widget.Toast;
public class CariKata extends Activity {
private AutoCompleteTextView actv;
EditText edkata, edarti;
Button b1 , b2, btn2kembali;
TextView tvarti, tvnotfound;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1 = (Button) findViewById (R.id.btncari);
b2 = (Button) findViewById
(R.id.button_tambah);
btn2kembali= (Button) findViewById
(R.id.btn2_cari);
A-2
List listkata = new
ArrayList();
File fl = new
File(Environment.getExternalStorageDirectory() +
"/contoh");
String ck = fl.toString()+"/"+"kerjaku.csv";
BufferedReader br = null;
String line = "";
String cvsSplitBy = "#";
try {
br = new BufferedReader(new
FileReader(ck));
while ((line = br.readLine()) != null) {
String[] kamus =
line.split(cvsSplitBy);
String kata_b = kamus[0];
listkata.add(kata_b);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
String[] kata = listkata.toArray(new
String[listkata.size()]);
ArrayAdapter adapter = new ArrayAdapter
(this,android.R.layout.simple_list_item_1,kata);
A-3
actv = (AutoCompleteTextView)
findViewById(R.id.autoCompleteTextView1);
actv.setAdapter(adapter);
b1.setOnClickListener( new
View.OnClickListener(){
public void onClick(View arg0) {
actv = (AutoCompleteTextView)
findViewById(R.id.autoCompleteTextView1);
tvarti = (TextView) findViewById(R.id.tvArti);
File folder = new
File(Environment.getExternalStorageDirectory()
"/contoh");
String csv =
folder.toString()+"/"+"kerjaku.csv";
+
KMP k = new KMP();
String cari = actv.getText().toString();
System.out.println("Terjemahan kata "+cari);
BufferedReader br = null;
String line = "";
String cvsSplitBy = "#";
int ketemu = 0;
try {
br = new BufferedReader(new FileReader(csv));
while ((line = br.readLine()) != null) {
String[] kamus = line.split(cvsSplitBy);
String kata = kamus[0];
String arti = kamus[1];
int first_occur_position = k.kmp(kata , cari);
if(first_occur_position >= 0){
tvarti.setText(kata + "="+arti);
System.out.println(kata + "="+arti);
ketemu += 1;
}
A-4
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
System.out.println("Proses Baca Data Selesai");
if(ketemu