Perbandingan Algoritma String Matching Not So Naive dan Skip Search Pada Platform Android

LISTING PROGRAM

Psi_Arti.java

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.

18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.

38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.

package com.rickywijaya.kamusistilahpsikologi;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import android.app.Activity;

import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodManager;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListAdapter;
import android.widget.ListView;

import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;
public class Psi_Arti extends Fragment implements View.OnClickListener
{
Button search;
EditText
text;
ListView
lv;
RadioButton
radio1;
RadioGroup
radio;
DatabaseHelper
dbHelper;
ArrayList list_data;
HashMap map;

ArrayAdapter adapter;
List
listKamus;
SQLiteDatabase db;
Cursor cursor = null;
String arti = "", istilah = "", pat = "";
int urutan = 0;
int algo;
public static int komparasi;
@Override
public void onCreate(Bundle savedInstanceState)

Universitas Sumatera Utara

52.
53.
54.
55.
56.
57.

58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.

78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.

98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.

{
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {

View rootView = inflater.inflate(R.layout.psi_arti, container, false);
text = (EditText) rootView.findViewById(R.id.editText);
lv = (ListView) rootView.findViewById(R.id.lv_data);
radio1 = (RadioButton) rootView.findViewById(R.id.radio1);
radio = (RadioGroup) rootView.findViewById(R.id.grup);
search = (Button) rootView.findViewById(R.id.search);
list_data = new ArrayList();
algo = 1;
radio.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener()
{
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch(checkedId){
case R.id.radio1:
algo = 1;
break;
case R.id.radio2:
algo = 2;
break;
}
}

});
text.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if ( text.getText().toString().length() == 0){
ambildata();
}
return false;
}
});
search.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
search();
return;
}
});
ambildata();
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView parent, View view,

int position, long id) {
TextView text = (TextView) view.findViewById(R.id.istilah);
TextView text1 = (TextView) view.findViewById(R.id.arti);
Bundle b = new Bundle();
b.putString("istilah", text.getText().toString().trim());
b.putString("arti", text1.getText().toString().trim());
Intent i = new Intent(getActivity(), ArtiActivity.class);
i.putExtras(b);
startActivity(i);
}
});
return rootView;

Universitas Sumatera Utara

111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.

}
@Override
public void onClick(View v) {
}
public void search() {
dbHelper = new DatabaseHelper(getActivity());
db = dbHelper.getReadableDatabase();
pat = text.getText().toString();
int ketemu = 0, i = 0;
urutan = 0;
komparasi = 0;
try {
list_data.clear();
long t = System.currentTimeMillis();
if (cursor != null) {
cursor.moveToFirst();
do {
istilah = cursor.getString(0);
arti = cursor.getString(1);
if (pat.length()