Belajar Android Pengenalan Database Android

Jumpa lagi dengan Agus Haryanto, dalam seri belajar android, kali ini kita akan membahas penggunaan fitur database android.

Kalau kita baca spesifikasi OS android ini, maka salah satu fitur yang ditawarkan adalah kita dapat membuat database di android yaitu dengan menggunakan SQLite. Jadi kita bisa membuat aplikasi seperti yang ada di computer walaupun tidak persis sama karena computer memiliki resource yang lebih besar.

Dulu waktu belajar J2ME kita jika ingin menyimpan data diaplikasi kita, kita menggunakan Recors Store (RMS). Dimana dalam inserting data dan query data membutuhkan effort coding yang lumayan

Agar semangat belajarnya, dalam mempelajari sesuatu hendaknya kita selalu bertanya dalam diri, kalau dalam hal ini pertanyaan yang harus diajukan adalah :

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.

Banyakkan manfaatnya, kalau gitu sekarang semangatnya tambah 10 kali lipat hehehe 🙂

Bahan bakar semangat telah ditambah sekarang waktunya action.

SQLite

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 DDL itu 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.

Mari kita mulai langkah-langkahnya

1. Buat New Project dengan nama Kamus, lengkapi seperti gambar dibawah


2. Setelah project tercreate maka secara otomatis android membentuk 3 file yaitu :
·        main.xml
·        string.xml
·        showKamus.java

3. untuk membuat user interfacenya, bukafile main.xml lalu ketikkan kode berikut

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="fill_parent"
	android:layout_height="fill_parent">

	<TextView android:layout_width="fill_parent"
		android:layout_height="wrap_content" android:text="Kamus Inggris Indonesia" />
	<TextView android:text="Inggris :" android:id="@+id/TextView01"
		android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
	<EditText android:text="" android:id="@+id/txtInggris"
		android:layout_width="fill_parent" android:layout_height="wrap_content"></EditText>
	<Button android:text="Terjemahkan" android:id="@+id/btnTerjemah"
		android:layout_width="fill_parent" android:layout_height="wrap_content"
		android:onClick="getTerjemahan"></Button>
	<TextView android:text="Indonesia :" android:id="@+id/TextView03"
		android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
	<EditText android:text="" android:id="@+id/txtIndonesia"
		android:layout_width="fill_parent" android:layout_height="wrap_content"
		android:editable="false"></EditText>

</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.

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

package com.agus;

import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DataKamus extends SQLiteOpenHelper {
	private static final String DATABASE_NAME = "dbkamus";
	public static final String INGGRIS= "inggris";
	public static final String INDONESIA = "indonesia";

	//Constructor DataKamus untuk initiate database
	public DataKamus(Context context) {
		super(context, DATABASE_NAME, null, 1);
	}

	//method createTable untuk membuat table kamus
	public void createTable(SQLiteDatabase db){
		db.execSQL("DROP TABLE IF EXISTS kamus");
		db.execSQL("CREATE TABLE if not exists kamus (id INTEGER PRIMARY KEY AUTOINCREMENT, inggris TEXT, indonesia TEXT);");
	}

	//method generateData untuk mengisikan data ke kamus.
	public void generateData(SQLiteDatabase db){
		ContentValues cv=new ContentValues();
		cv.put(INGGRIS, "run");
		cv.put(INDONESIA, "lari");
		db.insert("kamus", INGGRIS, cv);
		cv.put(INGGRIS, "walk");
		cv.put(INDONESIA, "jalan");
		db.insert("kamus", INGGRIS, cv);
		cv.put(INGGRIS, "read");
		cv.put(INDONESIA, "membaca");
		db.insert("kamus", INGGRIS, cv);
	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		// TODO Auto-generated method stub
	}

	@Override
	public void onCreate(SQLiteDatabase db) {
		// TODO Auto-generated method stub
	}
}

Pada class DataKamus, disinilah kita membuat databasenya, membuat table dan mengisikan data pada table
(kode diatas akan menginsertkan 3 record data) tersebut.


5. sekarang mari kita kerjakan otak dari aplikasi kamus ini, buka file showKamus.java,
kemudian ketikkan kode berikut

package com.agus;

import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

public class showKamus extends Activity {

    private SQLiteDatabase db = null;
	private Cursor kamusCursor = null;
	private EditText txtInggris;
	private EditText txtIndonesia;
	private DataKamus datakamus = null;
	public static final String INGGRIS = "inggris";
	public static final String INDONESIA = "indonesia";

	 /** Called when the activity is first created. */
    @Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		datakamus = new DataKamus(this);
		db = datakamus.getWritableDatabase();
		datakamus.createTable(db);
		datakamus.generateData(db);

		setContentView(R.layout.main);
		txtInggris = (EditText) findViewById(R.id.txtInggris);
		txtIndonesia = (EditText) findViewById(R.id.txtIndonesia);

	}

	public void getTerjemahan(View view) {
		String result = "";
		String englishword = txtInggris.getText().toString();
		kamusCursor = db.rawQuery("SELECT ID, INGGRIS, INDONESIA "
				+ "FROM kamus where INGGRIS='" + englishword
				+ "' ORDER BY INGGRIS", null);

		if (kamusCursor.moveToFirst()) {
			result = kamusCursor.getString(2);
			for (; !kamusCursor.isAfterLast(); kamusCursor.moveToNext()) {
				result = kamusCursor.getString(2);
				}
		}
		if (result.equals("")) {
			result = "Terjemahan Not Found";
		}
		txtIndonesia.setText(result);

	}

	@Override
	public void onDestroy() {
		super.onDestroy();
		kamusCursor.close();
		db.close();
	}
}

pada method onCreate, disini kita membuat object datakamus dari class DataKamus dari object
tersebut kita call method datakamus.createTable(db); dan datakamus.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 object txtIndonesia.

6. Mari kita run projectnya, pada inputan Inggris, kita isi dengan run
kemudian klik tombol Terjemahkan

Wow, keren dengan koding yang singkat kita bisa membuat aplikasi kamus inggris Indonesia,
yang mungkin dulu kita hanya bisa bertanya bagaimmana cara membuatnya dan hanya bisa bermimpi
dapat mebuatnya. Sekarang kita bisa buat sendiri dengan android. My Dream Come True

Jika baru mulai belajar android dianjurkan untuk membaca tutorial
Aplikasi Android Sederhana - Menghitung Luas Persegi Panjang

referensi:
http://developer.andorid.com
Beginning Android 2

Semoga Bermanfaat

Salam Hangat

Agus Haryanto

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 darai kata bahasa inggris tersebut ke bahasa Indonesia dane menampilkannya.

188 comments to Belajar Android Pengenalan Database Android

  • Sidiq

    Koq force to close mulu mas,, apa yang salah ya..

  • Alvin

    mas,,minta contoh aplikasi dengan menggunakan web services dunk..saya sedang kesulitan menggunakan webservice..

  • wah, terima kasih nih pak atas tutorialnya. kebetulan lagi mau coba belajar android. regards,

  • admin

    @Sidiq, Coba dicek lagi codenya dan coba ikuti petunjuk yang ada

  • admin

    @Jogi, sama2, ayo tambah semangat belajar androidnya, mari kita jejali android market dengan content dari indonesia 🙂

  • trimakasihh untuk info dan pembelajaran yang menarik, semoga bisa bermanfaat.

  • aweenk

    sama seperti diatas, dicoba force to close terus … 🙂 mhn petunjuknya…

  • IWAN

    Makasih ilmu nya mas…

  • IWAN

    aku coba ko ga bisa ya?….

  • sion

    kog tidak ada bagian btnTerjemah, dan event pas onClick nya?

    CMIIW

  • admin

    @sion, ada kok, coba cek di file main.xml

  • keren mas tutorialnya…minta izin dipelajari yya…
    keep posting….

  • syadzili

    di run jalan,tp kenapa wait to home mulu ia,.

  • oos

    Saya sudah coba Mas tetapi masih tetap force close.
    saya menggunakan emulator 2.1 eclair.
    thanks.

  • oos

    Berhasil gan saya ganti pakai froyo.
    tetapi masih banyak yg pake eclair saya akan build di eclair jg.
    thanks banyak.

  • Deden pecinta android

    saya coba dulu ya..

    makasih dah share ni berguna banget

  • Agus Haryanto

    @oos, Mantap nih, mas oos terus berusaha dan bersemangat samapai berhasil

  • Wah, pencerahan mas… bisa jadi topik skripsi nih. lalu bagaimana mas rahasianya seperti yang Mas Agus sampaikan di awal tadi:

    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.

  • wah makasih mas hatur nuhun BGT…

  • jiplong

    “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.”

    Bagaimana ya?mohon pencerahannya.

    Newbie

  • waah bisa dijadikan pencarian kata dalam al-Qur’an niih !?
    mas kalua nampilin gambar gimana yaa makasiih @_@

  • adri

    sptnya ada yang kurang untuk penanganan event click btnTerjemahan ya?

  • adi

    yeah running .. kalo mau buat alternatif pencarian yang tidak lengkap misalnya run nanti ada alternatif running runner itu gimana mas ?

  • Alfred Angkasa

    Tq mas tutorialnya..
    ada yang pengen saya tanyakan..
    1. Itu database di create di DataKamus.java? berarte ini class yg baru yg dibuat dengan cara new file?
    2. Setelah database tersebut dibuat, database tersebut disimpan dimana? bisa dilihat secara langsung ng seperti yg bisa dilakukan di MySQL, SQL Server, Access, dsbnya. maksud saya itu melihat struktur tablenya..
    3. Untuk membuat database itu, tidak perlu menggunakan software lain? seperti SQLite Browser, SQLite Manager dsbnya??

    thx before.. lagi belajar ini mas buat TA Skripsi.. mohon bimbingannya.. 🙂

  • mas, mau minta bantuan ni, gimana cara koneksi database external, pembuatan databasenya pake sqlite.

    terimakasih..

  • Diansyah

    mas, tutornya berguna bgt,,,
    tapi saya masih belum jelas,,,
    yg step 4, membuat class baru yang mengeksten class SQLiteOpenHelper dengan nama DataKamus.java itu gmana?
    apa harus buat javaproject baru ato gmana?
    mohon penjelasannya…

  • dhika

    mas makasih atas ilmu nya ini..

    mas kalo mau nambahin jd 3 bahasa gitu , jd dr indonesia lgsung translate k INGGRIS n perancis . yg perlu ditambahin di bagian mana aja ya?
    trimakasih mas ..

  • andriyanto

    mas mau tanya….kalau mau pake database di server gimana?maksudnya aplikasi yang device android itu sebagai clientnya…terus ngambil database yang ada diserver…kira – kira gimana mas?maaf pertanyaannya panjang…masih mulai belajar…terimakasih sebelumnya

  • Agus Haryanto

    @andriyanto, untuk ini ada dua pendekatan.
    1. untuk komunikasi dengan server kita memakai http connection. nah disini kita butuh webserver dan server side scripting seperti PHP atau JSP atau servlet yang dapat berkomunikasi dengan database.
    untuk yang ini kita bisa pakai HTTPClient
    2. Untuk komunikasi dengan server kita memakai socket Connection. disini berarti pada server kita harus membuat socket server. dan android sebagai client socketnya

  • Agus Haryanto

    @dhika, tambah satu field lagi untuk menyimpan bahasa perancisnya

  • kenapa dia error di editteks terus ya

  • duapuluh

    kalau mau bikin kamus indonesia – jpn gmn ya.. cara masukin huruf hiragana katakana nya itu.. mohon bimbingannya..

  • duapuluh

    kalau untuk bikin kamus indonesia – jpn gmn ya.. maksudnya cara buat huruf katakana hiragana nya..

  • R_Gie

    Wewww….I would like to thank u very much….Coz it’s very present help in time of need…so that I can do my assignments now…Oh my God..I gotcha….Gbu so muchhhh!!!!……

  • riki_ramadhan

    mas , kalo ngerubah jadi sebaliknya gmn yak? jadi dari indonesia k inggris .. bagian yang dirubah yang dmn y mas .. makasih banyak ya mas ..

  • Jee

    Mas,, klo punya info ato tutorial tentang koneksi database dari MySQL buat android…
    mhon d posting ya… 🙂
    terimakasih bnyak,,
    Q bnyak blajar dri sni lo… 🙂

  • db.insert(“kamus”, INGGRIS, cv);
    kang itu INGGRIS di db.insert gunanya untuk apa yah?

    kang saya mau tarik data dr multidimensi array, cmn setiap saya coba looping, selalu error force close

  • maaf mas agus, mau tanya kok saya error di class showKamus.java baris 30-31
    mohon pencerahan

  • rika

    mas, kalo mw import data dari excel gmn ya mas?

  • Agus Haryanto

    @rika, biasanya dari file excell disave ke .csv dulu baru dibaca program

  • nugi

    mas,kalo kita mau nampilin data dr databasenya lebih dari satu gimana cara nampilinya??
    misal: saya ingin menampilkan semua data dari datakamus yang huruf depanya “a”,,itu cara nampilinya gimana ya??
    terima kasih banyak mas,,

  • ari pratomo

    oiya mas.. ane mau tanya nih, khususnya untuk insert lewat form, dan update beserta delete. itu gimana ya mas . 😀

  • herman

    ada tutor dari android ke sql server dan tutor dari android ke smartfoxservergak pak?

    sya sangat stuck ni, maaf saya newbie

  • Knight_RrR

    Terima kasih yah buat tutorialnya… sangat bermanfaat bagi saya. 🙂

  • Nadira

    mas klo mau bikin score tu pke database ga si?
    jadi saya kya bkin pembelajaran buat android gtu
    trus ada latihannya (pilihan ganda)
    nah klo mau bikin score gmn ya?
    plis tutorialnya mas..
    thx before 🙂

  • Agung

    Assalamu’alaikum, pak..

    mau tanya, saya punya data di excel yang cukup banyak, sekitar 200 baris dgn 4 field kolom. Mau saya export ke sqlite caranya pakai apa ya, pak?

    Saya liat contoh bapak databasenya dibuat dari sourcecode java, ada cara alternatif kah, pak? supaya saya buat dari external software, kemudian dipakai di sourcecode di atas?

    Terima kasih.

  • wahyu

    mas, saya mau tanya. ketika sy tambahkan satu field bahasa lg (misal, prancis) kok field baru yg saya buat ketika diketikkan hurufnya aneh, jd kyk ada underline gt di tiap hurufnya. Querynya bagaimana y mas, misalnya kita ingin mendapatkan terjemahan ke bahasa prancis dari inputannya bahasa indo dan inggris. makasi sebelumnya mas,

  • mantap banget mas agus, banyak tutoriak bermutu
    jadi betah nongkrong disini… 🙂

  • thanks mas….
    mas, ada source code android buat koneksi antara aplikasi .java dan mobile GMaps gak?
    semoga kebaikannya dibalas dr yg Mha Kuasa…amin

  • zodiac

    semoga bermanfaat ilmunya gan, ijin sedot…

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>