Pembuatan SQLite pada Android

PENDAHULUAN

SQLite merupakan sebuah database management system yang telah tersedia pada sistem operasi Android. Anda bisa memanfaatkannya tanpa perlu melakukan instalasi lagi. Berbeda dengan DBMS lain seperti MySQL atau Oracle, SQLite merupakan database yang berukuran kecil dan berdiri sendiri (bukan client server) Untuk lebih jelasnya, anda bisa membuka situs resmi SQLite di http://www.sqlite.org.

STUDI KASUS

Untuk memudahkan pemahaman, berikut akan dijelaskan langkah demi langkah dalam pembuatan code untuk memanfaatkan database SQLite pada Android. Studi kasus yang digunakan adalah studi kasus pada toko retail, dimana akan dibangun sebuah aplikasi yang mencatat Barang atau Produk yang dijual. Diasumsikan anda sudah memahami sintaks Java Programming beserta Android Studio.

SQLITE OPEN HELPER

Untuk memulai pembuatan database dengan SQLite pada Android, anda perlu membuat sebuah kelas helper yang merupakan turunan dari kelas SQLiteOpenHelper. Dengan anda menurunkan kelas ini, maka otomatis anda akan diminta untuk mengimplementasikan beberapa callback (override) berikut:

  • onCreate, merupakan method yang akan dijalankan secara otomatis ketika database tidak ada (ketika database pertama kali dibuat). Isi dari method onCreate umumnya adalah mengeksekusi sql (query yang anda buat sendiri untuk create tabel-tabel) dari objek SQLiteDatabase.
  • onUpgrade, merupakan method yang akan dijalankan secara otomatis jika ada perubahan versi dari database
  • onOpen, bersifat opsional, merupakan method yang dijalankan secara otomatis ketika database dibuka

Berikut merupakan contoh code pembuatan kelas helper.

MENYIAPKAN SEBUAH KELAS MODEL

Pada project ini akan digunakan pendekatan MVC (Model-View-Controller) untuk membangun aplikasi Android dengan SQLite untuk penyimpanan data produk. Untuk itu, langkah berikutnya, anda perlu membuat sebuah kelas Model yang merepresentasikan objek data yang akan disimpan. Kelas model tersebut dinamakan Product.java dengan isinya adalah atribut-atribut tabel Product beserta method get dan set untuk pengaksesannya.

MEMBUKA DATABASE

Untuk membuka dan memanipulasi database yang telah dibuat, sebaiknya anda perlu membuat sebuah kelas terpisah dimana kelas tersebut akan memanggil kelas DBHelper yang telah dibuat tadi. Untuk mendapatkan objek SQLiteDatabase (objek database yang dimanipulasi), gunakanlah method getWritableDatabase() yang ada pada kelas DBHelper.

MEMANIPULASI DATA

Untuk melakukan penambahan (insert), perbaikan (edit), dan penghapusan (delete) data pada sebuah tabel, buatlah sebuah kelas terpisah yang khusus menangani hal tersebut. Kelas tersebut diistilahkan dengan DAO (Data Access Object). Pada kelas tersebut, akan dipanggil kelas Helper yang sudah dibuat tadi untuk membuka database. Selanjutnya, dengan bantuan kelas ContentValues, akan disisipkan data dengan format “key-value”.

1. Penambahan (Insert)

Untuk melakukan perintah insert, gunakan method berikut yang disediakan oleh objek SQLiteDatabase.

  • Parameter tabel merupakan nama tabel yang akan dituju untuk pengisian data
  • Parameter nullColumnHack diisi dengan nama kolom yang akan diisi dengan nilai kosong (null). Jika tidak ada, parameter tersebut bisa dikosongkan atau diisi dengan nilai null
  • Parameter values, diisi dengan objek ContentValues yang sudah dibuat

Method tersebut diatas akan menghasil return -1 jika terjadi kesalahan. Jika tidak ada kesalahan, maka akan menghasilkan return berupa row ID.

2. Perbaikan (Edit)

Untuk melakukan perintah edit, gunakan method berikut yang disediakan oleh objek SQLiteDatabase.

  • Parameter tabel adalah nama tabel yang akan diupdate
  • Parameter values, diisi dengan objek ContentValues yang sudah dibuat
  • Parameter whereClause diisi dengan string query sql bagian statement where, jika diisi dengan null maka dianggap akan mengupdate semua baris data
  • Parameter whereArgs, diisi dengan nilai masing-masing parameter ? pada string whereClause. Diisi dengan null jika tidak menggunakan parameter ?

Method tersebut akan menghasilkan int yang berarti jumlah baris yang telah berhasil diupdate.

3. Penghapusan (Delete)

Untuk melakukan perintah delete, gunakan method berikut yang disediakan oleh objek SQLiteDatabase.

Penjelasan tiap parameter sama dengan penjelasan parameter edit di atas. Untuk lebih jelasnya, bisa melihat contoh kelas ProductDAO.java di bawah.

PEMBUATAN ACTIVITY

Setelah selesai dengan pembuatan kelas DAO, selanjutnya buatlah kelas-kelas Activity yang akan memanfaatkan kelas DAO tadi. Akan dibuat 2 buah activity, yaitu MainActivity yang akan menampilkan list produk yang sudah tersimpan di database, dan ProductActivity sebagai halaman untuk menambahkan produk ke database.

Berikutnya adalah pengaturan layout yang dibuat pada file XML berikut.

HASIL RUNNING

screenshot_1477219320

screenshot_1477220393

Comments

comments

2 Comments

Leave a Reply

Your email address will not be published.


*