Oke, karena kebetulan saya sedang tidak bisa tidur. 😀 Maka saya memutuskan untuk membuat tutorial lanjutan dari tutorial tentang cara membuat aplikasi inventory untuk Android.

Seperti yang sudah dijelaskan sebelumnya, aplikasi ini nantinya akan menggunakan database SQLite dan memakai paradigma MVC, bagi yang belum mengerti. Silahkan baca pengantarnya dulu di sini.

Let’s Get Started

Langsung saja, pertama-tama kita buat sebuah project Android baru terlebih dahulu. Nama package nya terserah, tapi pada program ini nama package-nya adalah id.twooh.appinventory. Silahkan nanti disesuaikan. 🙂 Kemudian, karena aplikasi ini menggunakan paradigma MVC. Maka kita akan buat kelas modelnya, yaitu kelas Barang.java. 

Kelas barang berfungsi untuk mendefinisikan objek barang beserta fungsi-fungsi dan atribut-atributnya. Yah seperti barang pada umumnya, mereka mempunyai nama, ID, merk, dan sebagainya. Inilah kode untuk kelas Barang.java.

package id.twooh.appinventory;

public class Barang {

	private long id;
	private String nama_barang;
	private String merk_barang;
	private String harga_barang;

	public Barang()
	{

	}

	/**
	 * @return the id
	 */
	public long getId() {
		return id;
	}

	/**
	 * @param id the id to set
	 */
	public void setId(long id) {
		this.id = id;
	}

	/**
	 * @return the nama_barang
	 */
	public String getNama_barang() {
		return nama_barang;
	}

	/**
	 * @param nama_barang the nama_barang to set
	 */
	public void setNama_barang(String nama_barang) {
		this.nama_barang = nama_barang;
	}

	/**
	 * @return the merk_barang
	 */
	public String getMerk_barang() {
		return merk_barang;
	}

	/**
	 * @param merk_barang the merk_barang to set
	 */
	public void setMerk_barang(String merk_barang) {
		this.merk_barang = merk_barang;
	}

	/**
	 * @return the harga_barang
	 */
	public String getHarga_barang() {
		return harga_barang;
	}

	/**
	 * @param harga_barang the harga_barang to set
	 */
	public void setHarga_barang(String harga_barang) {
		this.harga_barang = harga_barang;
	}

	@Override
	public String toString()
	{
		return "Barang "+ nama_barang +" "+ merk_barang + " "+ harga_barang;
	}
}

Oke, Model nya sekarang sudah ada. Sederhana bukan? Kelas tersebut hanya berisi atribut dan fungsi-fungsi getter dan setter. Setelah kelas barang selesai dibuat, kita akan melanjutkan dengan membuat kelas Database Helper.

Database Helper

Sesuai namanya, kelas ini berfungsi untuk memudahkan kita dalam membuat dan mengakses database SQLite yang akan dipakai oleh aplikasi. Kelas ini kebanyakan berisi method-method berkaitan dengan manajemen database, seperti onUpgrade() dan onCreate(). 

Database Helper sebenarnya sudah ada kelasnya pada Android, yaitu bernama SQLiteOpenHelper. Sehingga kita tinggal meng-extends kelas ini dari kelas SQLiteOpenHelper, atau dengan kata lain, melakukan pewarisan.

Inilah kode untuk kelas DBHelper.java :

package id.twooh.appinventory;

//deklarasi import package
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

public class DBHelper extends SQLiteOpenHelper{
        /** deklarasi konstanta-konstanta yang digunakan pada database, seperti nama tabel,
        nama-nama kolom, nama database, dan versi dari database **/
	public static final String TABLE_NAME = "data_inventori";
	public static final String COLUMN_ID = "_id";
	public static final String COLUMN_NAME = "nama_barang";
	public static final String COLUMN_MERK = "merk_barang";
	public static final String COLUMN_HARGA = "harga_barang";
	private static final String db_name ="inventori.db";
	private static final int db_version=1;

	// Perintah SQL untuk membuat tabel database baru
	  private static final String db_create = "create table "
	      + TABLE_NAME + "("
	      + COLUMN_ID +" integer primary key autoincrement, "
	      + COLUMN_NAME+ " varchar(50) not null, "
	      + COLUMN_MERK+ " varchar(50) not null, "
	      + COLUMN_HARGA+ " varchar(50) not null);";

	public DBHelper(Context context) {
		super(context, db_name, null, db_version);
		// Auto generated
	}

        //mengeksekusi perintah SQL di atas untuk membuat tabel database baru
	@Override
	public void onCreate(SQLiteDatabase db) {
		db.execSQL(db_create);
	}

        // dijalankan apabila ingin mengupgrade database
	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		Log.w(DBHelper.class.getName(),"Upgrading database from version " + oldVersion + " to "
	            + newVersion + ", which will destroy all old data");
		db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
	    onCreate(db);

	}

}

Oke, seperti yang bisa kita lihat di atas. Kelas DBHelper.java kebanyakan berisi konstanta-konstanta seperti nama tabel, nama database, nama kolom, dan sebagainya. Hal ini untuk memudahkan kita nantinya. Dimana ketika ingin menggunakan konstanta tersebut, kita tidak usah lagi menulis nama tabel berulang kali, namun cukup dengan mengaksesnya dari kelas DBHelper.

Kemudian ada juga konstanta berupa SQL statement, yang untuk mereka yang ahli database, sebenarnya perintah itu digunakan untuk membuat tabel database baru. Perintah SQL tersebut kemudian akan dieksekusi pada method onCreate(). 

Kira-kira sekian dulu postingan malam hari ini. Tutorial nanti akan dilanjutkan kembali. Jika ada yang ingin ditanyakan, silahkan tulis saja di kolom komentar. Semoga berguna!



Download aplikasi kami di Google Play Store