Listing Program
CariKata.java
package com.indah.kmp;
import java.io.BufferedReader; import java.io.File;
import java.io.FileNotFoundException; import java.io.FileReader;
import java.io.IOException; import java.util.ArrayList; import java.util.List;
import android.app.Activity; import android.content.Intent; import android.os.Bundle;
import android.os.Environment; import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView; import android.widget.Button;
import android.widget.EditText; import android.widget.TextView; import 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);
List<String> listkata = new ArrayList<String>();
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
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;
}
}
} 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<1){
tvarti.setText("Kata Tidak Ditemukan");
}
edkata.setText("");
}
});
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub Intent i = new Intent(CariKata.this, TambahKata.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i);
} });
btn2kembali.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(CariKata.this, MainActivity.class);
startActivity(i);
} });
}
}
KMP.java
package com.indah.kmp;
public class KMP {
public int[] prekmp(String pattern) {
int[] next = new int[pattern.length()]; int i=0, j=-1;
next[0]=-1;
while (i<pattern.length()-1) { while (j>=0 &&
pattern.charAt(i)!=pattern.charAt(j)) j = next[j]; i++;
j++;
next[i] = j; }
return next; }
public int kmp(String text, String pattern) { int[] next = prekmp(pattern);
int i=0, j=0;
while (i<text.length()) { while (j>=0 &&
text.charAt(i)!=pattern.charAt(j)) j = next[j]; i++; j++;
if (j==pattern.length()) return i-pattern.length();
}
}
MainActivity.java
package com.indah.kmp;
import java.io.BufferedReader; import java.io.File;
import java.io.FileNotFoundException; import java.io.FileReader;
import java.io.IOException;
import android.support.v7.app.ActionBarActivity; import android.content.Intent; //indah tmbah import android.os.Bundle;
import android.os.Environment; import android.view.Menu;
import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView;
public class MainActivity extends ActionBarActivity {
Button cari, tambah;
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.dashboard);
cari = (Button) findViewById (R.id.button_cari);
tambah = (Button) findViewById (R.id.button_tambah);
cari.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, CariKata.class);
startActivity(i);
});
tambah.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent(MainActivity.this, TambahKata.class);
startActivity(i);
} });
}
@Override
public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) { return true;
}
return super.onOptionsItemSelected(item); }
}
TambahKata.java
package com.indah.kmp;
import java.io.BufferedReader; import java.io.File;
import java.io.FileNotFoundException; import java.io.FileReader;
import java.io.IOException; import java.util.ArrayList; import java.util.List;
import android.app.Activity; import android.content.Intent; import android.os.Bundle;
import android.os.Environment; import android.view.View;
import android.widget.Button; import android.widget.EditText; import android.widget.TextView;
public class TambahKata extends Activity {
Button btn2; Button b1;
Button btnsimpan;
TextView tvarti, tvnotfound; EditText edkata, edarti;
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.tambah_kata);
b1 = (Button) findViewById (R.id.btncari); btn2 = (Button)findViewById(R.id.btn2);
btn2.setOnClickListener( new View.OnClickListener(){
@Override
public void onClick(View v) {
Intent i = new Intent(TambahKata.this, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i);
} });
b1.setOnClickListener(new View.OnClickListener() {
@Override
edkata =
(EditText)findViewById(R.id.edkata); edarti =
(EditText)findViewById(R.id.edarti);
String kata = edkata.getText().toString(); String arti = edarti.getText().toString();
List<String> listkata = new ArrayList<String>();
List<String> listarti = new ArrayList<String>();
File folder = new
File(Environment.getExternalStorageDirectory() + "/contoh");
String csvFile =
folder.toString()+"/"+"kerjaku.csv";
BufferedReader br = null; String line = "";
String cvsSplitBy = "#"; try {
br = new BufferedReader(new FileReader(csvFile));
while ((line = br.readLine()) != null) {
String[] kamus = line.split(cvsSplitBy); String kata_b = kamus[0];
String arti_b = kamus[1];
listkata.add(kata_b); //terus di masukin ke kotak
listarti.add(arti_b);
}
} 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");
try
{
String NamaFile = folder.toString()+"/"+"kerjaku.csv";
FileWriter writer = new FileWriter(NamaFile);
int p = listkata.size(); for(int i= 0 ; i < p; i++){
String s_kata = listkata.get(i); String s_arti = listarti.get(i); writer.append(s_kata);
writer.append('#'); writer.append(s_arti); writer.append('\n');
}
writer.append(kata); writer.append('#'); writer.append(arti); writer.append('\n');
writer.flush(); writer.close(); }
catch(IOException e) {
e.printStackTrace(); }
System.out.println("Proses Input Selesai");
} }); }
}
package com.indah.kmp;
import android.app.Activity; import android.content.Intent; import android.os.Bundle;
import android.view.View; import android.widget.Button;
public class Tentang extends Activity {
Button btn1;
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.tentang);
btn1 = (Button)findViewById(R.id.button1); btn1.setOnClickListener( new View.OnClickListener(){
@Override
public void onClick(View v) {
Intent i = new Intent(Tentang.this, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i);
} });
} }
Bantuan.Java
package com.indah.kmp;
import android.app.Activity; import android.content.Intent; import android.os.Bundle;
import android.view.View; import android.widget.Button;
public class Bantuan extends Activity {
Button btn1;
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.tentang);
btn1 = (Button)findViewById(R.id.button1); btn1.setOnClickListener( new View.OnClickListener(){
@Override
public void onClick(View v) {
Intent i = new Intent(Bantuan.this, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i);
} });
} }
activity_main.xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android "
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:background="@drawable/kamus"
tools:context="com.indah.kmp.MainActivity" >
<Button
android:id="@+id/button_tambah" android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/btncari" android:layout_alignBottom="@+id/btncari" android:layout_alignParentRight="true"
android:text="Tambah Kata"/>
android:id="@+id/btncari"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/textView3" android:layout_alignLeft="@+id/textView1" android:layout_marginBottom="18dp"
android:text="Cari" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/btncari" android:layout_centerVertical="true"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/btncari" android:layout_below="@+id/textView3" android:layout_marginTop="20dp"
android:textColor="#000000" android:text="TextView"
android:textSize="15sp" />
<AutoCompleteTextView
android:id="@+id/autoCompleteTextView1" android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1" android:layout_below="@+id/textView1" android:layout_marginTop="16dp"
android:ems="10" >
<requestFocus /> </AutoCompleteTextView>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true"
android:textSize="27sp" android:textStyle="bold" />
<Button
android:id="@+id/btn2_cari"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button_tambah" android:layout_alignParentBottom="true"
android:layout_alignRight="@+id/button_tambah" android:layout_marginBottom="24dp"
android:layout_marginRight="17dp" android:text="Kembali" />
</RelativeLayout>
bantuan.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android "
android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMediu m" />
android:text="Bantuan Menggunakan Aplikasi"
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10"
android:inputType="textMultiLine" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Kembali" />
dashboard.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android "
android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/huruf" android:src="@drawable/icon"
>
<Button
android:id="@+id/button_cari"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_marginRight="35dp" android:layout_marginTop="86dp"
android:layout_toLeftOf="@+id/button_tambah" android:height="80dp"
android:text="Cari Kata" android:width="120dp" />
<Button
android:id="@+id/button_tambah" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignTop="@+id/button_cari" android:layout_marginRight="26dp"
android:height="80dp"
android:text="Tambah Kata" android:width="120dp" />
<Button
android:id="@+id/button4"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button_tambah" android:layout_centerVertical="true"
android:height="80dp" android:text="Bantuan" android:width="120dp" />
<Button
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button_cari" android:layout_centerVertical="true"
android:height="80dp"
android:text="Tentang Aplikasi" android:width="120dp" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button_cari" android:layout_alignParentTop="true"
android:layout_alignRight="@+id/button_tambah" android:gravity="center"
android:layout_marginTop="28dp"
android:text="KAMUS ISTILAH KOMPUTER"
android:textAppearance="?android:attr/textAppearanceMediu m" />
</RelativeLayout>
tambah_kata.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android "
android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/addkamus" android:orientation="vertical" >
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:layout_marginBottom="24dp" android:layout_marginRight="27dp" android:text="Kembali" />
<EditText
android:id="@+id/edarti"
android:layout_alignBottom="@+id/btncari" android:layout_alignLeft="@+id/textView3" android:layout_alignRight="@+id/btn2" android:layout_marginBottom="57dp" android:ems="10" >
<requestFocus /> </EditText>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Kata"
android:textColor="#FF6600" android:textSize="27sp" android:textStyle="bold"
android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="18dp" android:layout_marginTop="26dp"
android:textAppearance="?android:attr/textAppearanceMediu m" />
<EditText
android:id="@+id/edkata"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView3" android:layout_alignRight="@+id/edarti" android:layout_below="@+id/textView2" android:layout_marginTop="27dp"
android:ems="10" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView2" android:layout_below="@+id/edkata"
android:layout_marginTop="26dp" android:text="Arti"
android:textSize="27sp" android:textStyle="bold" android:textColor="#FF6600"
<Button
android:id="@+id/btncari" android:layout_width="146dp"
android:layout_height="wrap_content" android:layout_above="@+id/btn2"
android:layout_alignLeft="@+id/textView3" android:layout_marginBottom="76dp"
android:text="Simpan" />
</RelativeLayout>
Tentang.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android "
android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/tentang" android:orientation="vertical"
android:singleLine="false" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMediu m" />
android:text="Tentang Aplikasi Komputer"
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/textView1" android:layout_marginTop="35dp"
android:layout_weight="0.11"
android:text="Kamus Istilah Komputer ini yaitu sebuah alat bantu bagi manusia untuk mendapatkan arti dari suatu kata atau istilah yang biasanya disusun berdasarkan abjad sehingga akan lebih mudah mengetahui makna dari istilah komputer. Dengan menggunakan
perangkat teknologi mobile device berbasis android
<Button
android:id="@+id/button1"
android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/textView2" android:layout_marginTop="47dp"
android:text="Kembali" />
</RelativeLayout>
Bantuan.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android "
android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/bantuan" android:orientation="vertical" >
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_weight="0.00"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge " />
android:text="Bantuan Menggunakan Aplikasi"
<TextView
android:id="@+id/textView1" android:layout_width="228dp"
android:layout_height="wrap_content"
android:text="1. Instal KMP.apk pada handpone Android. 2. lalu buka aplikasi KMP3. Terdapat 4 menu tombol pada Halaman Utama 4. Tombol CARI KATA yaitu halaman untuk melakukan pencarian istilah komputer.5. Tombol TAMBAH KATA yaitu halaman untuk menambah kosa kata baru istilah komputer .6. Tombol TENTANG yaitu Halaman untuk mengetahui tentang Aplikasi Komputer 7. Tombol BANTUAN yaitu Halamat untuk mendapatkan cara menggunakan Aplikasi." />
<Button
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Kembali" />
</LinearLayout>
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest
xmlns:android="http://schemas.android.com/apk/res/android "
package="com.indah.kmp" android:versionCode="1" android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@drawable/iconbaru" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity
android:name=".MainActivity"
android:label="@string/app_name" > <intent-filter>
<action
android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" /> </intent-filter>
</activity>
<activity
android:name=".TambahKata"
<activity
android:name=".CariKata"
android:label="@string/app_name" > </activity>
<activity
android:name=".Tentang"
android:label="@string/app_name" > </activity>
</application>
</manifest>