Praktikum CRUD SQlite Android Programming

download Praktikum CRUD SQlite Android Programming

of 32

description

Praktikum CRUD SQlite Android Programming

Transcript of Praktikum CRUD SQlite Android Programming

Tutorial Membuat Aplikasi Database Android Menggunakan SQLiteKali ini, akab dibahas tentang bagaimana caranya membuat aplikasi database Android. Sistem operasi Android mempunyai librarydatabase sendiri yang bernama SQLite. SQLite sendiri adalah sebuah library databasecross platformyang ditulis menggunakan bahasa C, dan dengan ukuran database yang sangat kecil. Sehingga sangat cocok untuk diimplementasikan pada perangkatmobileyang notabene mempunyai kapasitas ruang penyimpanan yang terbatas. Selain Android,SQLitejuga diimplementasikan pada perangkat lain, contohnya pada iOS, sistem operasi untuk iPhone. Dan juga digunakan oleh banyak pengguna lainnya.Membuat Aplikasi Inventaris BarangPada tutorial ini kita akan membuat aplikasi database android dalam bentukaplikasi inventaris barang sederhana, yang berfungsi untuk mencatat barang apa saja yang telah disimpan. Aplikasi inventaris yang kita buat akan menerapkan fungsi standar operasi pada database, yaitu CRUD (Create, Read, Update, Delete).

Android SQLite | http://www.connect-utb.comCRUDberarti aplikasi ini akan bisa melakukan fungsi createbarang baru,read data barang,update/editinfo barang yang sudah tersimpan, dandeletebarang di database.Dan sebagaimana aplikasi-aplikasi data-drivenlainnya, aplikasi ini akan menggunakan paradigmamodel-view-controller (MVC).Karena itu ada baiknya kita mempelajari terlebih dahulu apa yang dimaksud denganMVC.Model View ControllerModel view controller adalah suatu arsitektur perangkat lunak yang memisahkan representasi informasi dengan interaksi pengguna.Modelterdiri dari data aplikasi dan fungsi-fungsi yang berhubungan dengan database, sedangkanControllerberfungsi untuk penengah, yang akan mengkonversi input sebagai perintah untukmodelatauview.Viewsendiri berfungsi untuk menampilkan data yang diambil dari model dan diolah lewat kontroller dalam bentuk tabel, grafik, atau informasi sederhana.Pada aplikasi inventoris ini yang menjadi objek adalah barang,barang tersebut akan mempunyai atribut berupa : id nama_barang merk_barang, dan harga_barangKarena itu kita nantinya akan membuat suatu objek barang yang mempunyai atribut-atribut seperti di atas. Kelas inilah yang akan berfungsi sebagaiModel.Android Database SQLite Tutorial (I) : Membuat Database SQLiteSeperti yang sudah dijelaskan sebelumnya, aplikasi ini nantinya akan menggunakan database SQLite dan memakai paradigma MVC.Lets Get StartedLangsung saja, pertama-tama kita buat sebuah project Android baru terlebih dahulu. Nama packagenya terserah, tapi pada program ini namapackage-nya adalah id.poltekpos.appinventory. Silahkan nanti disesuaikan.Kemudian, karena aplikasi ini menggunakan paradigma MVC. Maka kita akan buat kelas modelnya, yaitu kelasBarang.java.Kelas barang berfungsi untuk mendefinisikan objek barang beserta fungsi-fungsi dan atribut-atributnya. Yah seperti barang pada umumnya, mereka mempunyainama,ID,merk,dan sebagainya. Inilah kode untuk kelasBarang.java.package id.poltekpos.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;}@Overridepublic String toString(){return "Barang "+ nama_barang +" "+ merk_barang + " "+ harga_barang;}}

Oke,Modelnya sekarang sudah ada. Kelas tersebut hanya berisi atribut dan fungsi-fungsigetterdansetter.Setelah kelas barang selesai dibuat, kita akan melanjutkan dengan membuat kelasDatabase Helper.

Database HelperSesuai 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 Helpersebenarnya sudah ada kelasnya pada Android, yaitu bernamaSQLiteOpenHelper.Sehingga kita tinggal meng-extendskelas ini dari kelasSQLiteOpenHelper,atau dengan kata lain, melakukan pewarisan.Inilah kode untuk kelasDBHelper.java :

package id.poltekpos.appinventory;//deklarasi import packageimport 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 baruprivate 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@Overridepublic void onCreate(SQLiteDatabase db) {db.execSQL(db_create);}// dijalankan apabila ingin mengupgrade database@Overridepublic 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. KelasDBHelper.javakebanyakan 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 berupaSQL statement,yang untuk mereka yang ahli database, sebenarnya perintah itu digunakan untuk membuat tabel database baru. Perintah SQL tersebut kemudian akan dieksekusi pada methodonCreate().

Android Database SQLite Tutorial (II) : Membuat Fungsi Create DataPada bagian kedua tentang tutorial aplikasi inventaris Android menggunakan database SQLite ini, kita akan belajar tentang bagaimana membuat fungsi create/insert data, untuk memasukkan data baru ke dalam database SQLite.Lets BeginSekarang buka kembali project Aplikasi Inventaris kalian. Di pertemuan sebelumnya kita sudah membuat kelasBarang.javayang berfungsi sebagai Model objek barang, dan kelasDBHelper.javayang berfungsi untuk mempermudah aplikasi dalam membuat dan mengakses database. Sekarang untuk kelanjutannya, kita akan membuat sebuah kelas yang berfungsi untukinsert dataataucreate data.Kelas ini berfungsi untuk menambahkan data barang baru ke database. Dan inilah daftar file-file yang akan kita buat : menu.xml:berfungsi untuk membuat sebuah layoutmain menu create_data.xml: berfungsi sebagail layout untuk tampilan input data DBDataSource.java: berfungsi sebagaiController,kelas inilah yang nantinya berguna untuk melakukan operasi-operasi pada database, termasuk operasiCreate Data CreateData.java: berfungsi sebagai View atauinterfaceuntuk memasukkan dataPertama-tama, kita akan membuat kelas Menu terlebih dahulu, karena itu kita butuh filelayout-nya. Buka folderres/layoutpada proyek kalian, dan buat sebuah filexmlbaru dengan namamenu.xml Isikan kode berikut :

Yups, kali ini layout di atas menggunakan Relative Layout supaya mudah mengatur posisinya. Layout di atas hanya berisi Nama Aplikasi dan sebuah tombol untukTambah Data.

Setelah itu, kita akan membuat kelas Main Menunya, buat sebuahactivity classbernamaMenu.java

package id.poltekpos.appinventory;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class Menu extends Activity implements OnClickListener{private Button bTambah;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.menu);bTambah = (Button) findViewById(R.id.button_tambah);bTambah.setOnClickListener(this);}@Overridepublic void onClick(View v) {// TODO Auto-generated method stubswitch(v.getId()){case R.id.button_tambah :Intent i = new Intent(this, CreateData.class);startActivity(i);break;}}}

Kelas ini berfungsi untuk menampilkan tombol Tambah Data, yang apabila kita klik akan berpindah keActivity Create Data.Karena kelasCreate Datanya belum ada, selanjutnya kita akan membuat kelas tersebut. Namun kita akan membuat file xmllayout-nya terlebih dahulu, yang bernama create_data.xml :