Anda di halaman 1dari 14

WWW.KISAHKAMU.

COM

APLIKASI ANDROID DATABASE

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.
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
WWW.KISAHKAMU.COM

Page 1

WWW.KISAHKAMU.COM

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, adalah anak-anak dirumah itu.
Makanya yang termasuk syntak-syntak DML adalah insert,
update, delete, select
Sekarang mari kita buat project yang menggunakan database
sqlite di android. Untuk study kasusnya coba kita bikin yang
sederhana dulu yaitu menampilkan Biodata Mahasiswa, yang
WWW.KISAHKAMU.COM

Page 2

WWW.KISAHKAMU.COM

mempunyai atribut NIM (Nomor Induk Mahasiswa), Nama dan


Alamat.
OK. Langsung saja ke step by step pembuatan aplikasinya.
Langkah 1 : Buat project baru dengan nama
ContohDatabaseLocal
ContohDatabaseLocal. Setelah project selesai dibikin, langkah
pertama kali pasti mendesain layout-nya terlebih dahulu.
Silahkan buka file res/layout/main.xml
res/layout/main.xml. Kemudian copy-paste
contoh XML dibawah ini.
view plainprint?
1

<?xml version="1.0" encoding="utf-8"?>

<ScrollView
xmlns:android="http://schemas.android.com/apk/res/androi
d"
2

android:id="@+id/scrollView1"

android:layout_width="match_parent"

android:layout_height="wrap_content" >

<LinearLayout

android:layout_width="wrap_content"

android:layout_height="wrap_content"

WWW.KISAHKAMU.COM

Page 3

WWW.KISAHKAMU.COM
10

android:orientation="vertical">

11

<LinearLayout

12

android:id="@+id/header"

13

android:layout_width="match_parent"

14

android:layout_height="wrap_content"

15

android:orientation="vertical" >

16

17

<TextView android:id="@+id/txtLogo"

18

android:layout_width="wrap_content"

19

android:layout_height="wrap_content"

20

android:text="Test Database"/>

21

22

<Button android:id="@+id/btnTampil"

23

android:layout_width="wrap_content"

24

android:layout_height="wrap_content"

25

android:text="Tampilkan Data"/>

26

</LinearLayout>

27

28

<LinearLayout

WWW.KISAHKAMU.COM

Page 4

WWW.KISAHKAMU.COM
29

android:id="@+id/detail"

30

android:layout_width="match_parent"

31

android:layout_height="wrap_content"

32

android:orientation="horizontal" >

33

34

<TableLayout

35

android:id="@+id/tableLayout"

36

android:layout_width="match_parent"

37

android:layout_height="wrap_content"

38

android:layout_gravity="center"

39

android:layout_weight="1" >

40

41

42

43

</TableLayout>
</LinearLayout>
</LinearLayout>
</ScrollView>

Langkah 2: Setelah selesai mendesain layout-nya, giliran


membuat programnya. Nah..untuk bisa memanfaatkan SQLite,
anda perlu membuat sebuah class yang menurunkan (extends)
object SQLiteOpenHelper
SQLiteOpenHelper. Pada contoh ini, saya sengaja
WWW.KISAHKAMU.COM

Page 5

WWW.KISAHKAMU.COM

membuat class dengan nama OperasiDatabase


OperasiDatabase. Contoh source
code selengkapnya bisa dilihat dibawah ini.
view plainprint?
44

package eko.contohdatabase;

45

46

import android.content.ContentValues;

47

import android.content.Context;

48

import android.database.sqlite.SQLiteDatabase;

49

import android.database.sqlite.SQLiteOpenHelper;

50

51

public class OperasiDatabase extends SQLiteOpenHelper{

private static final String NAMA_DATABASE =


"dbMahasiswa";
52

53

public OperasiDatabase(Context context) {


super(context, NAMA_DATABASE, null, 1);

54

55

56

57

@Override

58

public void onCreate(SQLiteDatabase arg0) {

WWW.KISAHKAMU.COM

Page 6

WWW.KISAHKAMU.COM
59

60

61

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion,


int newVersion) {
62

63

64

//method createTable untuk membuat table kamus

65

public void createTable(SQLiteDatabase db){


db.execSQL("DROP TABLE IF EXISTS biodata");

66

db.execSQL("CREATE TABLE if not exists biodata (nim


VARCHAR(20) PRIMARY KEY, nama varchar(50), alamat
TEXT);");
67

68

69

70

//method generateData untuk mengisikan data ke kamus.

71

public void generateData(SQLiteDatabase db){

72

ContentValues cv=new ContentValues();

73

cv.put("nim", "97.111.486");

74

cv.put("nama", "Eko Heri Susanto");

WWW.KISAHKAMU.COM

Page 7

WWW.KISAHKAMU.COM
75

cv.put("alamat", "Kabupaten Pacitan");

76

db.insert("biodata",null,cv);

77

78

cv.put("nim", "00.111.123");

79

cv.put("nama", "Ilyas Ahsan Fadhlullah");

cv.put("alamat", "LANUD Iswahyudi, Maospati,


Kabupaten Magetan");
80

db.insert("biodata",null,cv);

81

82

83

Langkah 3 : Setelah selesai membuat class OperasiDatabase,


selanjutnya silahkan buat class Activity yang juga berperan
sebagai user interface aplikasi. Contoh source code-nya terlihat
seperti dibawah ini.
view plainprint?
84

package eko.contohdatabase;

85

86

import android.app.Activity;

87

import android.database.Cursor;

88

import android.database.sqlite.SQLiteDatabase;

WWW.KISAHKAMU.COM

Page 8

WWW.KISAHKAMU.COM
89

import android.graphics.Color;

90

import android.os.Bundle;

91

import android.view.Gravity;

92

import android.view.View;

93

import android.widget.Button;

94

import android.widget.TableLayout;

95

import android.widget.TableRow;

96

import android.widget.TextView;

97

98

99

public class TestDatabase extends Activity {

100

private SQLiteDatabase db = null;

101

private Cursor dbCursor = null;

102

private Button btnTampil;

103

/** Called when the activity is first created. */

104

@Override

105

public void onCreate(Bundle savedInstanceState) {

106

super.onCreate(savedInstanceState);

107

setContentView(R.layout.main);

WWW.KISAHKAMU.COM

Page 9

WWW.KISAHKAMU.COM
108

OperasiDatabase oprDatabase = new


OperasiDatabase(this);
109

110

db = oprDatabase.getWritableDatabase();

111

oprDatabase.createTable(db);

112

oprDatabase.generateData(db);

113

btnTampil = (Button)findViewById(R.id.btnTampil);

114

115

//deklarasi event onClick pada Button

116

btnTampil.setOnClickListener(new
View.OnClickListener() {
117

118

@Override

119

public void onClick(View v) {


TampilkanData();

120

121

});

122

123

124

WWW.KISAHKAMU.COM

Page 10

WWW.KISAHKAMU.COM
125

private void TampilkanData(){

126

dbCursor = db.rawQuery("SELECT * FROM biodata",

null);
127

dbCursor.moveToFirst();

128

int jml_baris=dbCursor.getCount();

129

130

int kol_nim=dbCursor.getColumnIndex("nim");

131

int kol_nama=dbCursor.getColumnIndex("nama");

132

int kol_alamat=dbCursor.getColumnIndex("alamat");

133

int indeks=1;

134

String[][] data=new String[jml_baris][3];

135

136

data[0][0]=dbCursor.getString(kol_nim);

137

data[0][1]=dbCursor.getString(kol_nama);

138

data[0][2]=dbCursor.getString(kol_alamat);

139

140

141

142

if(dbCursor!=null){
while(dbCursor.moveToNext()){
data[indeks][0]=dbCursor.getString(kol_nim);

WWW.KISAHKAMU.COM

Page 11

WWW.KISAHKAMU.COM
143

data[indeks][1]=dbCursor.getString(kol_nama);

144

data[indeks][2]=dbCursor.getString(kol_alamat);

145

indeks++;
}

146

147

148

TableLayout TL=(TableLayout)
findViewById(R.id.tableLayout);
149

TableLayout.LayoutParams
ParameterTableLayout=new
TableLayout.LayoutParams(TableLayout.LayoutParams.WRAP
_CONTENT, TableLayout.LayoutParams.WRAP_CONTENT);
150

151

152

153

for(int awal=0; awal<jml_baris;awal++){

154

TableRow TR=new TableRow(this);

155

TR.setBackgroundColor(Color.RED);

156

TR.setLayoutParams(ParameterTableLayout);

WWW.KISAHKAMU.COM

Page 12

WWW.KISAHKAMU.COM

TableRow.LayoutParams ParameterTableRow=new
TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CO
NTENT, TableRow.LayoutParams.WRAP_CONTENT);
157

158

ParameterTableRow.setMargins(2,2,2,2);

159

for(int kolom = 0;kolom < 3; kolom++){

160

TextView TV=new TextView(this);

161

TV.setText(data[awal][kolom]);

162

TV.setTextColor(Color.WHITE);

163

TV.setPadding(2, 5, 2, 5);

164

TV.setGravity(Gravity.LEFT);

165

TV.setBackgroundColor(Color.BLUE);

166

167

TR.addView(TV,ParameterTableRow );

168

169

170

TL.addView(TR);
}

171

172

173

WWW.KISAHKAMU.COM

Page 13

WWW.KISAHKAMU.COM

public void onDestroy() {

174

175

super.onDestroy();

176

dbCursor.close();

177

db.close();
}

178

179

Sampai dengan langkah 3, maka keseluruhan pekerjaan kita


sudah selesai. Jika tidak ada kesalahan program, maka output
aplikasinya terlihat seperti gambar dibawah ini.

Sampai disini semoga ada guna dan manfaatnya. Untuk


mempercepat uji coba aplikasi, silahkan download contoh
program yang sudah saya sertakan.
Terima Kasih Banyak Kepada blogkomputer.com
WWW.KISAHKAMU.COM

Page 14

Anda mungkin juga menyukai