SlideShare a Scribd company logo
1 of 8
Download to read offline
www.tobuku.com
- 1 -
Menggunakan Database di Android
Desember 2011 Tingkat: √
Oleh : Feri Djuandi Pemula Menengah Mahir
Platform : Android 2.3, Eclipse, SQLite
Dengan semakin beragamnya pengembangan berbagai aplikasi di platform Android dewasa ini,
beberapa aplikasi mulai berkembang semakin kompleks dan membutuhkan media penyimpanan
informasi dalam bentuk database terstruktur. Para programmer Android sangat beruntung
karena Android menyediakan sebuah database yang secara default sudah ada di dalam library
Android, yaitu SQLite. Untuk keperluan operasi database pada smartphone atau tablet Android,
SQLite sangat memadai karena ukurannya yang kecil, cepat dan ringan dalam hal sumber daya.
Karena sifatnya sebagai embedded database, SQLite tidak memiliki server namun bentuknya
adalah library yang akan dipanggil saat program dijalankan.
Seperti halnya database pada umumnya, SQLite memiliki objek-objek seperti table, view dan
index. Perintah-perintah SQL-nya pun sangat mirip seperti yang biasa digunakan yaitu SELECT,
INSERT, UPDATE, DELETE dan sebagainya. Informasi mengenai SQLite dapat dibaca secara
lengkap pada situs resminya di:
http://www.sqlite.org
CATATAN:
Untuk mulai mengembangkan aplikasi Android menggunakan SQLite, tidak
ada instalasi tambahan yang perlu dilakukan karena library SQLite sudah
ada di dalam framework Android.
Database SQLite diaktifkan di dalam program dengan cara meng-import
library SQLite pada program header, misalnya:
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
Pada umumnya aplikasi dengan embedded database tidak menyertakan database yang sudah
berbentuk pada saat aplikasi itu diinstal pada perangkat. Jadi yang diinstal hanya programnya,
sedangkan databasenya tidak ada sama sekali. Database akan dibuat pada saat aplikasi itu
dijalankan pertama kali, yaitu program akan memeriksa apakah database ditemukan. Jika
database tidak ditemukan maka serangkaian perintah SQL akan menjalankan perintah CREATE
yang akan membentuk file database diikuti dengan table-table di dalamnya. Tentunya
programmer harus membuat sendiri perintah SQL tersebut secara spesifik tergantung struktur
data di dalam aplikasi yang dibuatnya. Ini adalah teknik yang biasanya digunakan programmer
dalam membuat sebuah aplikasi dengan embedded database dimana ia tidak menyertakan file
database di dalam paket instalasi aplikasi.
Berikut ini diperlihatkan sebuah contoh program menggunakan SQLite.
www.tobuku.com
- 2 -
1. Jalankan program Eclipse dan buat sebuah Android Project baru.
2. Beri nama pada projek tersebut, kemudian masukkan pilihan build target dan lengkapi
property seperti ditunjukkan pada gambar di bawah ini.
Tekan Finish untuk melanjutkan.
www.tobuku.com
- 3 -
Dari beberapa literatur yang saya baca, praktek yang dianjurkan untuk membuat
program database adalah memisahkan antara program utama dengan program yang
menangani perintah-perintah operasi database seperti membuat table, menambah
baris, mengubah data dan sebagainya. Tujuannya adalah tidak mencampur-adukkan
logika bisnis dengan operasi tingkat rendah (SELECT, INSERT, UPDATE dan DELETE) yang
akan membuat kode program sulit dibaca dan berkesan rumit sekali. Untuk tujuan
kerapihan program, akan jauh lebih baik jika program utama fokus hanya pada jalannya
alur program utama, sementara fungsi-fungsi database dipisahkan ke dalam program
yang lain. Program utama cukup memanggil fungsi-fungsinya secara sederhana dengan
satu baris perintah saja, walaupun sebetulnya fungsi itu ditulis dengan baris yang
panjang dan proses yang rumit di bagian program yang lain.
Kita akan menerapkan teknik pemrograman tersebut dengan membuat sebuah class
bernama DBAdapter yang khusus menangani operasi database.
3. Tambahkan sebuah class baru dan beri nama DBAdapter.
Tekan Finish untuk melanjutkan.
www.tobuku.com
- 4 -
4. Tambahkan perintah import berikut ini pada program header DBAdapter.java.
Perhatikan beberapa library SQLite yang akan digunakan disebutkan di situ.
...
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
...
5. Ketikkan skrip berikut ini di dalam class DBAdapter. Perhatikan class ini mengandung
sebuah constructor DBAdapter(Context) untuk menginisiasi class, kemudian method
open dan close masing-masing untuk membuka dan menutup database.
public class DbAdapter {
private static final String TAG="DbAdapter";
private static final String DATABASE_NAME="books";
private static final int DATABASE_VERSION=1;
private static final String TABLE_CREATE = "create table titles (_id integer
primary key autoincrement, "
+ "isbn text not null, title text not null, "
+ "publisher text not null)";
private static final String TABLE_DROP = "DROP TABLE IF EXISTS titles";
private final Context context;
private DatabaseHelper dbHelper;
private SQLiteDatabase db;
public DbAdapter(Context ctx) {
this.context = ctx;
dbHelper = new DatabaseHelper(this.context);
}
private static class DatabaseHelper extends SQLiteOpenHelper {
DatabaseHelper(Context ctx) {
super(ctx, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(TABLE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w(TAG, "Upgrading database from version " + oldVersion + " to "
+ newVersion
+ ", which will destroy all old data");
db.execSQL(TABLE_DROP);
onCreate(db);
}
}
public DbAdapter open() throws SQLException {
db = dbHelper.getWritableDatabase();
return this;
}
public void close() {
dbHelper.close();
}
}
www.tobuku.com
- 5 -
Skrip di atas merupakan contoh program DBAdapter yang relatif generik. Program ini
bisa dijadikan semacam cetakan untuk program-program lain karena program ini
bentuknya masih umum dan belum mengandung fungsi-fungsi yang spesifik. Konstanta-
konstanta seperti DATABASE_NAME, TABLE_CREATE, TABLE_DROP bisa diubah isinya
untuk disesuaikan dengan kebutuhan. Nantinya ke dalam program DBAdapter ini harus
ditambahkan fungsi-fungsi database misalnya insertBook, updateBook dan sebagainya
dengan baris-baris kode yang spesifik.
6. Sampai tahap ini jalankan aplikasi tersebut untuk menguji-coba dengan cara klik-kanan
nama pada projek di dalam Package Explorer, kemudian pilih Run As Android
Application.
Tunggu sejenak sampai emulator Android ditampilkan dan menjalankan aplikasi ini.
Sepintas Anda tidak akan melihat sesuatu yang istimewa pada tampilan aplikasi tersebut, kecuali
sebuah pesan yang muncul pada emulator.
Sesungguh aplikasi ini menjalankan sesuatu yang istimewa saat ia dijalankan pertama kali.
Perhatikan potongan-potongan program berikut ini.
www.tobuku.com
- 6 -
MainActivity.java DBAdapter.java
DBAdapter db = new DBAdapter(this); public DBAdapter(Context ctx) {
this.context = ctx;
dbHelper = new DatabaseHelper this.context);
}
private static class DatabaseHelper extends
SQLiteOpenHelper {
DatabaseHelper(Context ctx) {
super(ctx, DATABASE_NAME, null,
DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(TABLE_CREATE);
}
private static final String TABLE_CREATE =
"create table titles (_id integer primary key
autoincrement, "
+ "isbn text not null, title text not null, "
+ "publisher text not null)";
Saat MainActivity.java membuat objek DBAdapter dengan di dalam baris “DBAdapter db = new
DBAdapter(this);” maka rangkaian pemanggilan baris-baris program lainnya akan dijalankan
seperti diperlihatkan pada gambar di atas, seperti pembuatan objek DatabaseHelper dan
pemanggilan method super, onCreate dan terakhir yang berujung pada dijalankannya method
execSQL untuk membuat sebuah table bernama titles.
Tanpa disadari sebuah file database bernama books dengan sebuah table titles di dalamnya
telah terbentuk. Lalu sekarang bagaimana memastikan database ini telah terbentuk? Satu-
satunya cara tentunya harus menemukan bahwa file database itu memang ada, bukan?
1. Jalankan menu Window Open Perpective DDMS atau cukup meng-klik icon DDMS
perpective pada sudut kanan-atas layar.
www.tobuku.com
- 7 -
2. Pada tab File Explorer, buka folder data data.
3. Cari nama package dari projek ini (pada contoh ini adalah net.houseoflife.dbsample),
kemudian buka foldernya hingga ditemukan folder databases dan sebuah file database
di dalamnya. Itu adalah file database SQLite yang dibentuk oleh aplikasi tersebut.
File database SQLite yang tampak pada File Explorer perlu dibuka untuk memastikan sebuah
table telah terbentuk di dalamnya. Database itu tidak dapat langsung dibuka di dalam Eclipse
tetapi harus dibuka menggunakan sebuah program yang bernama SQLite Manager. Program ini
akan dijelaskan kemudian, tetapi untuk saat ini file database ini harus dibawa keluar dari
emulator agar bisa diakses dari komputer lokal.
1. Pastikan file database disorot/dipilih pada File Explorer, kemudian klik icon dengan
tulisan “Pull a file from the device” pada sudut kanan-atas layar.
2. Simpan file tersebut pada komputer lokal.
www.tobuku.com
- 8 -
SQLite Manager adalah sebuah program yang sangat membantu programmer dalam mengelola
database SQLite seperti membuat table, index dan menjalankan perintah-perintah SQL. Program
ini sangat mudah digunakan dan betul-betul bermanfaat untuk berbagai keperluan praktis. Satu
hal lagi yang tidak kalah pentingnya: program ini gratis.
Selain SQLite Manager, ada beberapa program lain yang tujuannya serupa namun saya
menganjurkan program ini karena ia yang paling populer digunakan saat ini. SQLite Manager
adalah sebuah program add-on pada program Mozilla Firefox sehingga pastikan pada komputer
Anda telah terinstal program browser tersebut sebelumnya. Untuk mengsinstal SQLite Manager,
silakan mengunduh add-on-nya pada alamat berikut ini dan ikuti instruksinya.
https://addons.mozilla.org/id/firefox/addon/sqlite-manager/
Saya tidak mengetahui apakah add-on SQLite Manager juga tersedia untuk browser yang lain
seperti Internet Explorer atau Chrome, saya persilakan pembaca untuk mencarinya sendiri.
Setelah add-on berhasil terinstal, jalankan program ini melalui Mozilla Firefox.
1. Jalankan menu Tools SQLite Manager.
2. Setelah SQLite Manager muncul, jalankan menu Database Connect Database,
kemudian buka file database yang telah tersimpan di dalam komputer lokal tadi.
3. Saat file database telah dibuka, perhatikan bahwa table titles tampak di dalamnya.
Silakan lihat isi table tersebut dengan menjalankan perintah SQL pada kotak Execute
SQL.
Demikianlah Anda telah melihat bagaimana aplikasi Android membuat sebuah database SQLite
saat ia dijalankan. Jika aplikasi ini dijalankan lagi untuk ke-dua kali dan seterusnya, file database
tidak akan dibuat lagi karena ia sudah ada. File database itu akan langsung dibuka dan
digunakan oleh aplikasi yang bersangkutan.

More Related Content

What's hot

Module Delphi
Module DelphiModule Delphi
Module Delphiborncb
 
Aplikasi JSP dengan netbeans
Aplikasi JSP dengan netbeansAplikasi JSP dengan netbeans
Aplikasi JSP dengan netbeansJogal
 
Modul pelatihan-django-dasar-possupi-v1
Modul pelatihan-django-dasar-possupi-v1Modul pelatihan-django-dasar-possupi-v1
Modul pelatihan-django-dasar-possupi-v1Ridwan Fadjar
 
[PBO] Pertemuan 11 - GUI Java Desktop
[PBO] Pertemuan 11 - GUI Java Desktop[PBO] Pertemuan 11 - GUI Java Desktop
[PBO] Pertemuan 11 - GUI Java Desktoprizki adam kurniawan
 
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVCrizki adam kurniawan
 
Laporan Praktikum Basis Data Modul VI-Membuat Website
Laporan Praktikum Basis Data Modul VI-Membuat WebsiteLaporan Praktikum Basis Data Modul VI-Membuat Website
Laporan Praktikum Basis Data Modul VI-Membuat WebsiteShofura Kamal
 
Slide struktur codeigneter
Slide struktur codeigneterSlide struktur codeigneter
Slide struktur codeigneterCecilia Cintahta
 
E commerce dengan php mysql.docx
E commerce dengan php mysql.docxE commerce dengan php mysql.docx
E commerce dengan php mysql.docxCandra Adi Putra
 
Pertemuan 5 list view
Pertemuan 5 list viewPertemuan 5 list view
Pertemuan 5 list viewheriakj
 
Pertemuan 11 thread dan asyntask
Pertemuan 11 thread dan asyntaskPertemuan 11 thread dan asyntask
Pertemuan 11 thread dan asyntaskheriakj
 
laporan praktikum rekayasa software php dan mysql
laporan praktikum rekayasa software php dan mysqllaporan praktikum rekayasa software php dan mysql
laporan praktikum rekayasa software php dan mysqlHibaten Wafiroh
 
Pertemuan 4 alert dan toast
Pertemuan 4 alert dan toastPertemuan 4 alert dan toast
Pertemuan 4 alert dan toastheriakj
 
Tugas 4 rekayasa web 0316
Tugas 4 rekayasa web 0316Tugas 4 rekayasa web 0316
Tugas 4 rekayasa web 0316art david
 
Dasar pemrograman-visual-basic1
Dasar pemrograman-visual-basic1Dasar pemrograman-visual-basic1
Dasar pemrograman-visual-basic1Afifa Rosyida
 
Pertemuan 7 camera
Pertemuan 7 cameraPertemuan 7 camera
Pertemuan 7 cameraheriakj
 
Pertemuan 3 activity
Pertemuan 3 activityPertemuan 3 activity
Pertemuan 3 activityheriakj
 
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMIN
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMINLaporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMIN
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMINShofura Kamal
 
Jamal aplikasicrud
Jamal aplikasicrudJamal aplikasicrud
Jamal aplikasicrudmales Aja
 

What's hot (20)

Module Delphi
Module DelphiModule Delphi
Module Delphi
 
Aplikasi JSP dengan netbeans
Aplikasi JSP dengan netbeansAplikasi JSP dengan netbeans
Aplikasi JSP dengan netbeans
 
Modul pelatihan-django-dasar-possupi-v1
Modul pelatihan-django-dasar-possupi-v1Modul pelatihan-django-dasar-possupi-v1
Modul pelatihan-django-dasar-possupi-v1
 
[PBO] Pertemuan 11 - GUI Java Desktop
[PBO] Pertemuan 11 - GUI Java Desktop[PBO] Pertemuan 11 - GUI Java Desktop
[PBO] Pertemuan 11 - GUI Java Desktop
 
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
 
Tutorial ci
Tutorial ciTutorial ci
Tutorial ci
 
Java persistence api
Java persistence apiJava persistence api
Java persistence api
 
Laporan Praktikum Basis Data Modul VI-Membuat Website
Laporan Praktikum Basis Data Modul VI-Membuat WebsiteLaporan Praktikum Basis Data Modul VI-Membuat Website
Laporan Praktikum Basis Data Modul VI-Membuat Website
 
Slide struktur codeigneter
Slide struktur codeigneterSlide struktur codeigneter
Slide struktur codeigneter
 
E commerce dengan php mysql.docx
E commerce dengan php mysql.docxE commerce dengan php mysql.docx
E commerce dengan php mysql.docx
 
Pertemuan 5 list view
Pertemuan 5 list viewPertemuan 5 list view
Pertemuan 5 list view
 
Pertemuan 11 thread dan asyntask
Pertemuan 11 thread dan asyntaskPertemuan 11 thread dan asyntask
Pertemuan 11 thread dan asyntask
 
laporan praktikum rekayasa software php dan mysql
laporan praktikum rekayasa software php dan mysqllaporan praktikum rekayasa software php dan mysql
laporan praktikum rekayasa software php dan mysql
 
Pertemuan 4 alert dan toast
Pertemuan 4 alert dan toastPertemuan 4 alert dan toast
Pertemuan 4 alert dan toast
 
Tugas 4 rekayasa web 0316
Tugas 4 rekayasa web 0316Tugas 4 rekayasa web 0316
Tugas 4 rekayasa web 0316
 
Dasar pemrograman-visual-basic1
Dasar pemrograman-visual-basic1Dasar pemrograman-visual-basic1
Dasar pemrograman-visual-basic1
 
Pertemuan 7 camera
Pertemuan 7 cameraPertemuan 7 camera
Pertemuan 7 camera
 
Pertemuan 3 activity
Pertemuan 3 activityPertemuan 3 activity
Pertemuan 3 activity
 
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMIN
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMINLaporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMIN
Laporan Praktikum Basis Data Modul IV-Membuat Database Pada PHPMYADMIN
 
Jamal aplikasicrud
Jamal aplikasicrudJamal aplikasicrud
Jamal aplikasicrud
 

Viewers also liked

3 REP PRICING APPS
3 REP PRICING APPS3 REP PRICING APPS
3 REP PRICING APPSFlutura DS
 
Gabaritos do primeiro dia do SSA2 da UPE
Gabaritos do primeiro dia do SSA2 da UPEGabaritos do primeiro dia do SSA2 da UPE
Gabaritos do primeiro dia do SSA2 da UPELuiza Freitas
 
Capítulo 4 El arte de la lectura en tiempos de crisis. Prof lengua
Capítulo 4 El arte de la lectura en tiempos de crisis. Prof lenguaCapítulo 4 El arte de la lectura en tiempos de crisis. Prof lengua
Capítulo 4 El arte de la lectura en tiempos de crisis. Prof lenguaEstela Ahamendaburu
 
ղարիբյան աննա տարեկան հաշվետվություն
ղարիբյան աննա տարեկան հաշվետվությունղարիբյան աննա տարեկան հաշվետվություն
ղարիբյան աննա տարեկան հաշվետվությունharutyunyananahit
 
Scotland- facts, quiz (answers)
Scotland- facts, quiz (answers)Scotland- facts, quiz (answers)
Scotland- facts, quiz (answers)Ülle Säälik
 
Top 10 downhillových tratí na světě
Top 10 downhillových tratí na světěTop 10 downhillových tratí na světě
Top 10 downhillových tratí na světěZUNO
 
Karaté dojo j.b blog powerpoint
Karaté dojo j.b blog powerpointKaraté dojo j.b blog powerpoint
Karaté dojo j.b blog powerpointkaratedojojb
 

Viewers also liked (17)

5th nov answers
5th nov answers5th nov answers
5th nov answers
 
Presentaciónmgc mia
Presentaciónmgc miaPresentaciónmgc mia
Presentaciónmgc mia
 
Powerpoint terminado
Powerpoint terminadoPowerpoint terminado
Powerpoint terminado
 
Nfl noticias
Nfl noticiasNfl noticias
Nfl noticias
 
23
2323
23
 
3 REP PRICING APPS
3 REP PRICING APPS3 REP PRICING APPS
3 REP PRICING APPS
 
BRENDA ENCARNACION
BRENDA ENCARNACION BRENDA ENCARNACION
BRENDA ENCARNACION
 
Gabaritos do primeiro dia do SSA2 da UPE
Gabaritos do primeiro dia do SSA2 da UPEGabaritos do primeiro dia do SSA2 da UPE
Gabaritos do primeiro dia do SSA2 da UPE
 
ไทย
ไทยไทย
ไทย
 
Capítulo 4 El arte de la lectura en tiempos de crisis. Prof lengua
Capítulo 4 El arte de la lectura en tiempos de crisis. Prof lenguaCapítulo 4 El arte de la lectura en tiempos de crisis. Prof lengua
Capítulo 4 El arte de la lectura en tiempos de crisis. Prof lengua
 
ղարիբյան աննա տարեկան հաշվետվություն
ղարիբյան աննա տարեկան հաշվետվությունղարիբյան աննա տարեկան հաշվետվություն
ղարիբյան աննա տարեկան հաշվետվություն
 
Barimttai ajillah
Barimttai ajillahBarimttai ajillah
Barimttai ajillah
 
Scotland- facts, quiz (answers)
Scotland- facts, quiz (answers)Scotland- facts, quiz (answers)
Scotland- facts, quiz (answers)
 
Śniadanie Daje Moc
Śniadanie Daje MocŚniadanie Daje Moc
Śniadanie Daje Moc
 
Top 10 downhillových tratí na světě
Top 10 downhillových tratí na světěTop 10 downhillových tratí na světě
Top 10 downhillových tratí na světě
 
Karaté dojo j.b blog powerpoint
Karaté dojo j.b blog powerpointKaraté dojo j.b blog powerpoint
Karaté dojo j.b blog powerpoint
 
K16 1
K16 1K16 1
K16 1
 

Similar to Mengelola Database SQLite di Android

9.android&sq lite
9.android&sq lite9.android&sq lite
9.android&sq liteZhank's Cjr
 
Tutorial ci
Tutorial ciTutorial ci
Tutorial ciWira Hul
 
Distributed Database Using Oracle
Distributed Database Using OracleDistributed Database Using Oracle
Distributed Database Using OracleLaboratorium Sirkel
 
modul-praktikum-pemrogramanjavadgnnetbeans-171005005920.pdf
modul-praktikum-pemrogramanjavadgnnetbeans-171005005920.pdfmodul-praktikum-pemrogramanjavadgnnetbeans-171005005920.pdf
modul-praktikum-pemrogramanjavadgnnetbeans-171005005920.pdfHerikusnawijaya3
 
Tutorial asp beta4
Tutorial asp beta4Tutorial asp beta4
Tutorial asp beta4Fahmi Salis
 
Delphi dengan ms access
Delphi dengan ms accessDelphi dengan ms access
Delphi dengan ms accessArif Rahmawan
 
Distributed Database Using Oracle
Distributed Database Using OracleDistributed Database Using Oracle
Distributed Database Using OracleHari Setiaji
 
Jsp dengan netbeans versi 6
Jsp dengan netbeans versi 6Jsp dengan netbeans versi 6
Jsp dengan netbeans versi 6Raka Milzam
 
Modul Pemrograman Visual
Modul Pemrograman VisualModul Pemrograman Visual
Modul Pemrograman VisualWahyu Widodo
 
Membuat Aplikasi Todo dengan IGNSDK
Membuat Aplikasi Todo dengan IGNSDKMembuat Aplikasi Todo dengan IGNSDK
Membuat Aplikasi Todo dengan IGNSDKRidwan Fadjar
 
Membuat aplikasi-rental-dengan-java-dan-my sql
Membuat aplikasi-rental-dengan-java-dan-my sqlMembuat aplikasi-rental-dengan-java-dan-my sql
Membuat aplikasi-rental-dengan-java-dan-my sqlIrwan Syah
 
Tutorial web site aida dan jesika
Tutorial web site aida dan jesikaTutorial web site aida dan jesika
Tutorial web site aida dan jesikaRCH_98
 
Introduction on Android programming Tutorial
Introduction on Android programming TutorialIntroduction on Android programming Tutorial
Introduction on Android programming TutorialDimas Prawira
 
Tugas 3 – 0317 (individu)
Tugas 3 – 0317 (individu)Tugas 3 – 0317 (individu)
Tugas 3 – 0317 (individu)Linda Lestari
 
Pertemuan Ke IV.DOC
Pertemuan Ke IV.DOCPertemuan Ke IV.DOC
Pertemuan Ke IV.DOCJurnal IT
 

Similar to Mengelola Database SQLite di Android (20)

Kelompok 7
Kelompok 7Kelompok 7
Kelompok 7
 
9.android&sq lite
9.android&sq lite9.android&sq lite
9.android&sq lite
 
Tutorial ci
Tutorial ciTutorial ci
Tutorial ci
 
Distributed Database Using Oracle
Distributed Database Using OracleDistributed Database Using Oracle
Distributed Database Using Oracle
 
Modul praktikum-pemrograman java dgn netbeans
Modul praktikum-pemrograman java dgn netbeansModul praktikum-pemrograman java dgn netbeans
Modul praktikum-pemrograman java dgn netbeans
 
modul-praktikum-pemrogramanjavadgnnetbeans-171005005920.pdf
modul-praktikum-pemrogramanjavadgnnetbeans-171005005920.pdfmodul-praktikum-pemrogramanjavadgnnetbeans-171005005920.pdf
modul-praktikum-pemrogramanjavadgnnetbeans-171005005920.pdf
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Tutorial asp beta4
Tutorial asp beta4Tutorial asp beta4
Tutorial asp beta4
 
Delphi dengan ms access
Delphi dengan ms accessDelphi dengan ms access
Delphi dengan ms access
 
Distributed Database Using Oracle
Distributed Database Using OracleDistributed Database Using Oracle
Distributed Database Using Oracle
 
Android Workshop beginner
Android Workshop beginnerAndroid Workshop beginner
Android Workshop beginner
 
Jsp dengan netbeans versi 6
Jsp dengan netbeans versi 6Jsp dengan netbeans versi 6
Jsp dengan netbeans versi 6
 
Modul Pemrograman Visual
Modul Pemrograman VisualModul Pemrograman Visual
Modul Pemrograman Visual
 
Membuat Aplikasi Todo dengan IGNSDK
Membuat Aplikasi Todo dengan IGNSDKMembuat Aplikasi Todo dengan IGNSDK
Membuat Aplikasi Todo dengan IGNSDK
 
Modul mvc part 1
Modul mvc part 1Modul mvc part 1
Modul mvc part 1
 
Membuat aplikasi-rental-dengan-java-dan-my sql
Membuat aplikasi-rental-dengan-java-dan-my sqlMembuat aplikasi-rental-dengan-java-dan-my sql
Membuat aplikasi-rental-dengan-java-dan-my sql
 
Tutorial web site aida dan jesika
Tutorial web site aida dan jesikaTutorial web site aida dan jesika
Tutorial web site aida dan jesika
 
Introduction on Android programming Tutorial
Introduction on Android programming TutorialIntroduction on Android programming Tutorial
Introduction on Android programming Tutorial
 
Tugas 3 – 0317 (individu)
Tugas 3 – 0317 (individu)Tugas 3 – 0317 (individu)
Tugas 3 – 0317 (individu)
 
Pertemuan Ke IV.DOC
Pertemuan Ke IV.DOCPertemuan Ke IV.DOC
Pertemuan Ke IV.DOC
 

Mengelola Database SQLite di Android

  • 1. www.tobuku.com - 1 - Menggunakan Database di Android Desember 2011 Tingkat: √ Oleh : Feri Djuandi Pemula Menengah Mahir Platform : Android 2.3, Eclipse, SQLite Dengan semakin beragamnya pengembangan berbagai aplikasi di platform Android dewasa ini, beberapa aplikasi mulai berkembang semakin kompleks dan membutuhkan media penyimpanan informasi dalam bentuk database terstruktur. Para programmer Android sangat beruntung karena Android menyediakan sebuah database yang secara default sudah ada di dalam library Android, yaitu SQLite. Untuk keperluan operasi database pada smartphone atau tablet Android, SQLite sangat memadai karena ukurannya yang kecil, cepat dan ringan dalam hal sumber daya. Karena sifatnya sebagai embedded database, SQLite tidak memiliki server namun bentuknya adalah library yang akan dipanggil saat program dijalankan. Seperti halnya database pada umumnya, SQLite memiliki objek-objek seperti table, view dan index. Perintah-perintah SQL-nya pun sangat mirip seperti yang biasa digunakan yaitu SELECT, INSERT, UPDATE, DELETE dan sebagainya. Informasi mengenai SQLite dapat dibaca secara lengkap pada situs resminya di: http://www.sqlite.org CATATAN: Untuk mulai mengembangkan aplikasi Android menggunakan SQLite, tidak ada instalasi tambahan yang perlu dilakukan karena library SQLite sudah ada di dalam framework Android. Database SQLite diaktifkan di dalam program dengan cara meng-import library SQLite pada program header, misalnya: import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; Pada umumnya aplikasi dengan embedded database tidak menyertakan database yang sudah berbentuk pada saat aplikasi itu diinstal pada perangkat. Jadi yang diinstal hanya programnya, sedangkan databasenya tidak ada sama sekali. Database akan dibuat pada saat aplikasi itu dijalankan pertama kali, yaitu program akan memeriksa apakah database ditemukan. Jika database tidak ditemukan maka serangkaian perintah SQL akan menjalankan perintah CREATE yang akan membentuk file database diikuti dengan table-table di dalamnya. Tentunya programmer harus membuat sendiri perintah SQL tersebut secara spesifik tergantung struktur data di dalam aplikasi yang dibuatnya. Ini adalah teknik yang biasanya digunakan programmer dalam membuat sebuah aplikasi dengan embedded database dimana ia tidak menyertakan file database di dalam paket instalasi aplikasi. Berikut ini diperlihatkan sebuah contoh program menggunakan SQLite.
  • 2. www.tobuku.com - 2 - 1. Jalankan program Eclipse dan buat sebuah Android Project baru. 2. Beri nama pada projek tersebut, kemudian masukkan pilihan build target dan lengkapi property seperti ditunjukkan pada gambar di bawah ini. Tekan Finish untuk melanjutkan.
  • 3. www.tobuku.com - 3 - Dari beberapa literatur yang saya baca, praktek yang dianjurkan untuk membuat program database adalah memisahkan antara program utama dengan program yang menangani perintah-perintah operasi database seperti membuat table, menambah baris, mengubah data dan sebagainya. Tujuannya adalah tidak mencampur-adukkan logika bisnis dengan operasi tingkat rendah (SELECT, INSERT, UPDATE dan DELETE) yang akan membuat kode program sulit dibaca dan berkesan rumit sekali. Untuk tujuan kerapihan program, akan jauh lebih baik jika program utama fokus hanya pada jalannya alur program utama, sementara fungsi-fungsi database dipisahkan ke dalam program yang lain. Program utama cukup memanggil fungsi-fungsinya secara sederhana dengan satu baris perintah saja, walaupun sebetulnya fungsi itu ditulis dengan baris yang panjang dan proses yang rumit di bagian program yang lain. Kita akan menerapkan teknik pemrograman tersebut dengan membuat sebuah class bernama DBAdapter yang khusus menangani operasi database. 3. Tambahkan sebuah class baru dan beri nama DBAdapter. Tekan Finish untuk melanjutkan.
  • 4. www.tobuku.com - 4 - 4. Tambahkan perintah import berikut ini pada program header DBAdapter.java. Perhatikan beberapa library SQLite yang akan digunakan disebutkan di situ. ... import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; ... 5. Ketikkan skrip berikut ini di dalam class DBAdapter. Perhatikan class ini mengandung sebuah constructor DBAdapter(Context) untuk menginisiasi class, kemudian method open dan close masing-masing untuk membuka dan menutup database. public class DbAdapter { private static final String TAG="DbAdapter"; private static final String DATABASE_NAME="books"; private static final int DATABASE_VERSION=1; private static final String TABLE_CREATE = "create table titles (_id integer primary key autoincrement, " + "isbn text not null, title text not null, " + "publisher text not null)"; private static final String TABLE_DROP = "DROP TABLE IF EXISTS titles"; private final Context context; private DatabaseHelper dbHelper; private SQLiteDatabase db; public DbAdapter(Context ctx) { this.context = ctx; dbHelper = new DatabaseHelper(this.context); } private static class DatabaseHelper extends SQLiteOpenHelper { DatabaseHelper(Context ctx) { super(ctx, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(TABLE_CREATE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.w(TAG, "Upgrading database from version " + oldVersion + " to " + newVersion + ", which will destroy all old data"); db.execSQL(TABLE_DROP); onCreate(db); } } public DbAdapter open() throws SQLException { db = dbHelper.getWritableDatabase(); return this; } public void close() { dbHelper.close(); } }
  • 5. www.tobuku.com - 5 - Skrip di atas merupakan contoh program DBAdapter yang relatif generik. Program ini bisa dijadikan semacam cetakan untuk program-program lain karena program ini bentuknya masih umum dan belum mengandung fungsi-fungsi yang spesifik. Konstanta- konstanta seperti DATABASE_NAME, TABLE_CREATE, TABLE_DROP bisa diubah isinya untuk disesuaikan dengan kebutuhan. Nantinya ke dalam program DBAdapter ini harus ditambahkan fungsi-fungsi database misalnya insertBook, updateBook dan sebagainya dengan baris-baris kode yang spesifik. 6. Sampai tahap ini jalankan aplikasi tersebut untuk menguji-coba dengan cara klik-kanan nama pada projek di dalam Package Explorer, kemudian pilih Run As Android Application. Tunggu sejenak sampai emulator Android ditampilkan dan menjalankan aplikasi ini. Sepintas Anda tidak akan melihat sesuatu yang istimewa pada tampilan aplikasi tersebut, kecuali sebuah pesan yang muncul pada emulator. Sesungguh aplikasi ini menjalankan sesuatu yang istimewa saat ia dijalankan pertama kali. Perhatikan potongan-potongan program berikut ini.
  • 6. www.tobuku.com - 6 - MainActivity.java DBAdapter.java DBAdapter db = new DBAdapter(this); public DBAdapter(Context ctx) { this.context = ctx; dbHelper = new DatabaseHelper this.context); } private static class DatabaseHelper extends SQLiteOpenHelper { DatabaseHelper(Context ctx) { super(ctx, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(TABLE_CREATE); } private static final String TABLE_CREATE = "create table titles (_id integer primary key autoincrement, " + "isbn text not null, title text not null, " + "publisher text not null)"; Saat MainActivity.java membuat objek DBAdapter dengan di dalam baris “DBAdapter db = new DBAdapter(this);” maka rangkaian pemanggilan baris-baris program lainnya akan dijalankan seperti diperlihatkan pada gambar di atas, seperti pembuatan objek DatabaseHelper dan pemanggilan method super, onCreate dan terakhir yang berujung pada dijalankannya method execSQL untuk membuat sebuah table bernama titles. Tanpa disadari sebuah file database bernama books dengan sebuah table titles di dalamnya telah terbentuk. Lalu sekarang bagaimana memastikan database ini telah terbentuk? Satu- satunya cara tentunya harus menemukan bahwa file database itu memang ada, bukan? 1. Jalankan menu Window Open Perpective DDMS atau cukup meng-klik icon DDMS perpective pada sudut kanan-atas layar.
  • 7. www.tobuku.com - 7 - 2. Pada tab File Explorer, buka folder data data. 3. Cari nama package dari projek ini (pada contoh ini adalah net.houseoflife.dbsample), kemudian buka foldernya hingga ditemukan folder databases dan sebuah file database di dalamnya. Itu adalah file database SQLite yang dibentuk oleh aplikasi tersebut. File database SQLite yang tampak pada File Explorer perlu dibuka untuk memastikan sebuah table telah terbentuk di dalamnya. Database itu tidak dapat langsung dibuka di dalam Eclipse tetapi harus dibuka menggunakan sebuah program yang bernama SQLite Manager. Program ini akan dijelaskan kemudian, tetapi untuk saat ini file database ini harus dibawa keluar dari emulator agar bisa diakses dari komputer lokal. 1. Pastikan file database disorot/dipilih pada File Explorer, kemudian klik icon dengan tulisan “Pull a file from the device” pada sudut kanan-atas layar. 2. Simpan file tersebut pada komputer lokal.
  • 8. www.tobuku.com - 8 - SQLite Manager adalah sebuah program yang sangat membantu programmer dalam mengelola database SQLite seperti membuat table, index dan menjalankan perintah-perintah SQL. Program ini sangat mudah digunakan dan betul-betul bermanfaat untuk berbagai keperluan praktis. Satu hal lagi yang tidak kalah pentingnya: program ini gratis. Selain SQLite Manager, ada beberapa program lain yang tujuannya serupa namun saya menganjurkan program ini karena ia yang paling populer digunakan saat ini. SQLite Manager adalah sebuah program add-on pada program Mozilla Firefox sehingga pastikan pada komputer Anda telah terinstal program browser tersebut sebelumnya. Untuk mengsinstal SQLite Manager, silakan mengunduh add-on-nya pada alamat berikut ini dan ikuti instruksinya. https://addons.mozilla.org/id/firefox/addon/sqlite-manager/ Saya tidak mengetahui apakah add-on SQLite Manager juga tersedia untuk browser yang lain seperti Internet Explorer atau Chrome, saya persilakan pembaca untuk mencarinya sendiri. Setelah add-on berhasil terinstal, jalankan program ini melalui Mozilla Firefox. 1. Jalankan menu Tools SQLite Manager. 2. Setelah SQLite Manager muncul, jalankan menu Database Connect Database, kemudian buka file database yang telah tersimpan di dalam komputer lokal tadi. 3. Saat file database telah dibuka, perhatikan bahwa table titles tampak di dalamnya. Silakan lihat isi table tersebut dengan menjalankan perintah SQL pada kotak Execute SQL. Demikianlah Anda telah melihat bagaimana aplikasi Android membuat sebuah database SQLite saat ia dijalankan. Jika aplikasi ini dijalankan lagi untuk ke-dua kali dan seterusnya, file database tidak akan dibuat lagi karena ia sudah ada. File database itu akan langsung dibuka dan digunakan oleh aplikasi yang bersangkutan.