Senin, 19 Mei 2014

MEMBUAT KAMUS UNTUK ANDROID

Nah Kali ini Kita akan membuat contoh kamus sederhana.. yakni inggris ke indonesia.. aplikasi ini bisa di katakan sangat simple... Karena karya ini merupakan contoh bagi teman2... yg ingin mempelajarinya.. :-D.
 o. ia..  sebelum kita masuk pada pembuatan aplikasi, terlebih dahulu mari kita ketahui sedikit tenTANG SQLite karena pada aplikasi ini saya menngunakan database SQlite.. hehehe..

mungkin teman2 bertanya,,???

1. Untuk apasih belajar penggunaan database di android?

Kalau yang ini simple jawabnya, yah supaya bisa membuat aplikasi yang memnafaatkan fungsi database diandroid

2. Kalau sudah menguasai, apa manfaatnya buat saya ?
Dengan database kita bisa membuat banyak aplikasi yang bermanfaat. Seperti.

-         Point Of Sales (POS) bahasa indonesianya aplikasi penjualan.

Kita bisa menyimpan data product yang kita jual dan transaksi penjualannya. Dengan adanya data kita bisa membuat report penjualannya bisa dalam bentuk table, list, bisa graphic (chart) juga lho.
-         Aplikasi buat pendukung bisnis Cuci Mobil / Motor

Pernah cuci motor atau mobilkan, nah lihat pas kita bayar, kasirnya nyatatnya pakai buku atau pakai computer kalau pakai computer lihat masih pakai excel atau sudah aplikasi. Nah kalau masih pakai buku atau excel ada peuang tuh, kita tawarkan aplikasi android untuk mencatat pendapatan.
-         Kalau 2 contoh diatas kurang keren, berarti anda butuh tantangan lebih, buatlah apalikasi mobile yang merupakan client dari sebuah server. Kalau jaringan internet ada dan lancar tentu ini mudah saja, nah sekarang kita dituntut untuk develop aplikasi yang mampu mengatasi hal ini, artinya dalam kondisi internet matipun aplikasi masih dapat digunakan dan nanti setelah internetnya hidup data transaksi offline tadi akan dikirim ke server. Nah untuk mewujudkan itu kita perlu database  diaplikasi mobile kita untuk menyimpan data transaksi yang terjadi pada waktu offline.
-         Untuk yang pernah main Game pasti pernah merasa bangga kalau namanya masuk dalam daftar highest score. Nah database dapat kita manfaatkan untuk menyimpan daftar tersebut.
 niii.. penjelasan sedikit tentang SQLite.. muda2han bermanfaat.
Seperti telah dijelaskan diatas database pada android menggunakan SQLite. Dengan SQLite untuk insert, update dan query data dapat dilakukan dengan syntak SQL.
Untuk itu sebelum melangkah pembuatan aplikasi Android yang memanfatkan firtur SQlite databasenya, kita harus menguasai cara menggunakan SQLite.
Sama seperti database lainnya syntak SQLnya terbagi 2 kategori yaitu syntak untuk Data Definition Language (DDL) dan Data Manipulation Language (DML). Bagi yang pernah belajar database pasti tidak asing dengan kedua istilah tersebut.
Sekarang ada pertanyaan nih apa beda DDL  dan DML ?
Biar mudah dipahami, kalau database itu kita ibaratkan sebuah rumah, maka DDLitu adalah syntax untuk membuat rumah, menambah kamar, merubah bangunan rumah, makanya yang termasuk syntak-syantak DDL adalah create table, alter table, drop table.
sedangkan DML adalah syntax untuk mengetahui isi rumah, siapa saja penghuninya, berapa jumlahnya, ada berapa yang pria dan yang wanita, adakah anak-anak dirumah itu.
Makanya yang termasuk syntak-syntak DML adalah insert, update, delete,select
Untuk mengetahui lebih lanjut tentang sqlite bisa kunjungi SQLite Home Page
Sekarang mari kita buat project yang menggunakan database sqlite di android. Dulu sebelum pakai android dihandphone yang dulu pasati pernah install kamus inggris Indonesia, yang kita gunakan untuk mencari terjemahan suatu kata dalam bahasa inggris ke bahasa Indonesia. Sebetulnya diandroid juga sudah ada yang buat. Tetapi tentunya akan lebih puas jika kita buat sendiri
* Oke mari kita ke tkp.. lansung saja buat projek baru namanya terserah aja de, yang jelas sesuaikan aja dengan nama kelasnya sama ko dengan java destop..
* Setelah project tercreate maka secara otomatis android membentuk 3 file yaitu :
•        main.xml
•        string.xml
•        showKamus.java
* untuk membuat user interfacenya, bukafile main.xml lalu ketikkan kode berikut


1. <linearlayout br="br" xmlns:android="http://schemas.android.com/apk/res/android">    android:orientation="vertical" android:layout_width="fill_parent"
2.    android:layout_height="fill_parent">
3.
4.    <textview android:layout_width="fill_parent" br="br">        android:layout_height="wrap_content" android:text="Kamus Inggris Indonesia" />
5.    <textview android:id="@+id/TextView01" android:text="Inggris :" br="br">        android:layout_width="wrap_content" android:layout_height="wrap_content"></textview>
6.    <edittext android:id="@+id/txtInggris" android:text="" br="br">        android:layout_width="fill_parent" android:layout_height="wrap_content"></edittext>
7.    <button android:id="@+id/btnTerjemah" android:text="Terjemahkan" br="br">        android:layout_width="fill_parent" android:layout_height="wrap_content"
8.        android:onClick="getTerjemahan"></button>
9.    <textview android:id="@+id/TextView03" android:text="Indonesia :" br="br">        android:layout_width="wrap_content" android:layout_height="wrap_content"></textview>
10.    <edittext android:id="@+id/txtIndonesia" android:text="" br="br">        android:layout_width="fill_parent" android:layout_height="wrap_content"
11.        android:editable="false"></edittext></textview></linearlayout>

Kode diatas akan menghasilkan user interface kamus bahasa inggris Indonesia yang terdiri dari inputan untuk memasukkan kata bahasa inggris, tombol yang apabila dilik nantinya akan mencari terjemahan dari kata bahasa inggris tersebut ke bahasa Indonesia dane menampilkannya.


* Untuk pembuatan databasenya kita buat class baru yang mengeksten classSQLiteOpenHelper dengan
nama DataKamus.java, kemudian ketikkan kode berikut


view plainprint?
1. package com.jasz;
2.
3.
4.
5. import android.content.ContentValues;
6.
7. import android.content.Context;
8.
9. import android.database.sqlite.SQLiteDatabase;
10.
11. import android.database.sqlite.SQLiteOpenHelper;
12.
13.
14.
15. public class DataKamus extends SQLiteOpenHelper {
16.
17.    private static final String DATABASE_NAME = "dbkamus";
18.
19.    public static final String INGGRIS= "inggris";
20.
21.    public static final String INDONESIA = "indonesia";
22.
23.
24.
25.    //Constructor DataKamus untuk initiate database
26.
27.    public DataKamus(Context context) {
28.
29.        super(context, DATABASE_NAME, null, 1);
30.
31.    }
32.
33.
34.
35.    //method createTable untuk membuat table kamus
36.
37.    public void createTable(SQLiteDatabase db){
38.
39.        db.execSQL("DROP TABLE IF EXISTS kamus");
40.
41.        db.execSQL("CREATE TABLE if not exists kamus (id INTEGER PRIMARY KEY AUTOINCREMENT, inggris TEXT, indonesia TEXT);");
42.
43.    }
44.
45.
46.
47.    //method generateData untuk mengisikan data ke kamus.
48.
49.    public void generateData(SQLiteDatabase db){
50.
51.        ContentValues cv=new ContentValues();
52.
53.        cv.put(INGGRIS, "run");
54.
55.        cv.put(INDONESIA, "lari");
56.
57.        db.insert("kamus", INGGRIS, cv);
58.
59.        cv.put(INGGRIS, "walk");
60.
61.        cv.put(INDONESIA, "jalan");
62.
63.        db.insert("kamus", INGGRIS, cv);
64.
65.        cv.put(INGGRIS, "read");
66.
67.        cv.put(INDONESIA, "membaca");
68.
69.        db.insert("kamus", INGGRIS, cv);
70.
71.    }
72.
73.
74.
75.    @Override
76.
77.    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
78.
79.        // TODO Auto-generated method stub
80.
81.    }
82.
83.
84.
85.    @Override
86.
87.    public void onCreate(SQLiteDatabase db) {
88.
89.        // TODO Auto-generated method stub
90.
91.    }
92.
93. }

Pada class DataKamus, disinilah kita membuat databasenya, membuat table dan mengisikan data pada table

(kode diatas akan menginsertkan 3 record data) tersebut.
* sekarang mari kita kerjakan otak dari aplikasi kamus ini, buka file showKamus.java,
kemudian ketikkan kode berikut


view plainprint?
1. package com.jasz;
2.
3.
4. import android.app.Activity;
5.
6. import android.database.Cursor;
7.
8. import android.database.sqlite.SQLiteDatabase;
9.
10. import android.os.Bundle;
11.
12. import android.view.View;
13.
14. import android.widget.EditText;
15.
16.
17.
18. public class showKamus extends Activity {
19.
20.
21.
22.    private SQLiteDatabase db = null;
23.
24.    private Cursor kamusCursor = null;
25.
26.    private EditText txtInggris;
27.
28.    private EditText txtIndonesia;
29.
30.    private DataKamus datakamus = null;
31.
32.    public static final String INGGRIS = "inggris";
33.
34.    public static final String INDONESIA = "indonesia";
35.
36.
37.
38.     /** Called when the activity is first created. */
39.
40.    @Override
41.
42.    public void onCreate(Bundle savedInstanceState) {
43.
44.        super.onCreate(savedInstanceState);
45.
46.        datakamus = new DataKamus(this);
47.
48.        db = datakamus.getWritableDatabase();
49.
50.        datakamus.createTable(db);
51.
52.        datakamus.generateData(db);
53.
54.
55.
56.        setContentView(R.layout.main);
57.
58.        txtInggris = (EditText) findViewById(R.id.txtInggris);
59.
60.        txtIndonesia = (EditText) findViewById(R.id.txtIndonesia);
61.
62.
63.
64.    }
65.
66.
67.
68.    public void getTerjemahan(View view) {
69.
70.        String result = "";
71.
72.        String englishword = txtInggris.getText().toString();
73.
74.        kamusCursor = db.rawQuery("SELECT ID, INGGRIS, INDONESIA "
75.
76.                + "FROM kamus where INGGRIS='" + englishword
77.
78.                + "' ORDER BY INGGRIS", null);
79.
80.
81.
82.        if (kamusCursor.moveToFirst()) {
83.
84.            result = kamusCursor.getString(2);
85.
86.            for (; !kamusCursor.isAfterLast(); kamusCursor.moveToNext()) {
87.
88.                result = kamusCursor.getString(2);
89.
90.                }
91.
92.        }
93.
94.        if (result.equals("")) {
95.
96.            result = "Terjemahan Not Found";
97.
98.        }
99.
100.        txtIndonesia.setText(result);
101.
102.
103.
104.    }
105.
106.
107.
108.    @Override
109.
110.    public void onDestroy() {
111.
112.        super.onDestroy();
113.
114.        kamusCursor.close();
115.
116.        db.close();
117.
118.    }
119.
120. }

pada method onCreate, disini kita membuat object datakamus dari classDataKamus dari object

tersebut kita call method datakamus.createTable(db); dandatakamus.generateData(db);
setelah kita call kedua method diatas maka table dan datanya sudah siap
Method getTerjemahan akan dipanggil pada saat kita mengklik tombol Terjemahkan.
Pada Method ini kita tangkap inputan kata bahasa inggrisnya dari object txtInggris
kemudian kita lakukan query ke table kamus dan menampilkan hasilnya pada objecttxtIndonesia.
* Mari kita run projectnya, pada inputan Inggris, kita isi dengan run
kemudian klik tombol Terjemahkan





  1 komentar:

  1. bagaimana btnterjemah bekerja sedangkan pada kelas showkamus tidak dipanggil?

    BalasHapus

IKLAN

Popular Posts

Diberdayakan oleh Blogger.