A. Tujuan Pembelajaran
1. Peserta diklat memahami konsep basisdata pada aplikasi perangkat bergerak.
2. Peserta diklat memahami SQL sebagai bahasa komunikasi dengan sistem basisdata.
3. Peserta diklat memahami perintah-perintah javascript untuk mengakses basisdata.
4. Peserta diklat memahami berbagai teknik pengolahan data melalui sistem basisdata.
C. Uraian Materi
Sistem operasi Android memiliki library SQLite yang memungkinkan kita untuk membuat
aplikasi basisdata client. SQLite merupakan library yang dapat digunakan untuk mengolah
database berbasis relasi menggunakan perintah SQL dalam versi yang minimal. Minimal
disini dimaksudkan untuk menunjukkan tingkat kelengkapan perintah standar SQL yang
didukung oleh SQLite. Tidak semua perintah standar didukung oleh SQLite.
Saat tulisan ini dibuat SQLite yang dijalankan oleh Android adalah versi 3. Library SQLite
telah diintegrasikan dengan teknologi browser sehingga memungkinkan aplikasi berbasis web
client (javascript) untuk menggunakan fitur database ini. Dukungan ini secara bawaan
(default) telah diaktifkan sehingga tidak perlu ada konfigurasi/aktivasi lagi.
Sebagai library untuk pengolahan data SQLite memiliki beberapa tipe data yang didukung,
yakni:
- Text : data alfanumerik, kumpulan karakter atau kata)
- Integer : jenis data numerik tanpa koma
- Real : jenis data numerik dengan bilangan berkoma
Agar dapat mengakses database pada web client terdapat beberapa perintah Javascript yang
berguna, yakni:
Perintah ini digunakan untuk membuka database. Apabila database yang akan dibuka belum
ada web engine akan secara otomatis membuatkan databasenya.
Contoh:
var db = openDatabase(diary, 1.0, database diary, 6000);
Ini merupakan rangkaian perintah yang dapat digunakan untuk menjalankan perintah SQL.
Perintah SQL-nya diberikan pada parameter pertama dari fungsi executeSql. Perintah SQL
yang dapat diberikan berupa perintah CREATE, DROP, INSERT, UPDATE, DELETE dan
SELECT.
Keterangan:
- sqlSELECT : perintah SQL SELECT yang akan dijalankan.
- result : obyek yang berisikan data hasil seleksi jika berhasil.
- rows : obyek properti dari result dengan kumpulan item (baris) hasil
seleksi
- column : nama kolom sesuai definisi tabel yang akan diambil nilainya dari
baris terpilih
Penutupan database tidak diperlukan karena akan secara otomatis ditutup apabila program
ditutup.
D. Aktifitas Pembelajaran
Buatlah aplikasi diary yang dapat digunakan untuk menyimpan catatan pribadi si user pada
perangkat mobile. Semua catatan yang dibuat disimpan dalam database.
Jawaban
Langkah-langkah pembuatannya:
1. Buat proyek baru dengan nama Diary melalui menu Combo Projects > New Project.
4. Klik Create untuk membuat proyek. Pada pilihan framework yang muncul pilih jQuery
Mobile dan klik Select.
List Diary
Button Reload
Button Kembali
Button kembali
Textarea
Button delete
function edit(cid)
{
db.transaction (function(transaction)
{
var sql ="SELECT * FROM diary where id='"+ cid +"'";
transaction.executeSql (sql, undefined,
function(transaction, result)
{
if(result.rows.length)
{
for(var i =0; i < result.rows.length; i++)
{
var row = result.rows.item (i);
var cid = row.id;
var catatan = row.catatan;
$('#txtCatatanId').val(cid);
$('#txtCatatanEdit').val(catatan);
}
}
$.mobile.changePage ($("#diaryedit"));
// activate_page('#diaryedit');
}, error);
});
}
/*global $ */(function()
{
"use strict";
/*
hook up event handlers
*/
function register_event_handlers()
{
/* button #btnAdd */
/* button #btnSimpan */
$(document).on("click","#btnSimpan",function(evt)
{
/* your code goes here */
var catatan = $("#txtCatatan").val ();
db.transaction (function(transaction)
{
var sql ="INSERT INTO diary (catatan) VALUES (?)";
transaction.executeSql (sql,[catatan],function()
{
/* button #btnSimpanEdit */
$(document).on("click","#btnSimpanEdit",function(evt)
{
/* your code goes here */
var cid = $("#txtCatatanId").val ();
var catatan = $("#txtCatatanEdit").val ();
db.transaction (function(transaction)
{
var sql ="update diary set catatan=? where id=?";
transaction.executeSql (sql,[catatan, cid],function()
{
$.mobile.changePage ($("#mainpage"));
$('#btnReload').click();
}, error);
});
});
/* button #btnBack2 */
/* button #btnReload */
$(document).on("click","#btnReload",function(evt)
{
/* your code goes here */
db.transaction (function(transaction)
{
var sql ="SELECT * FROM diary";
transaction.executeSql (sql, undefined,
function(transaction, result)
{
var html ="<ul>";
if(result.rows.length)
{
for(var i =0; i < result.rows.length; i++)
{
var row = result.rows.item (i);
var cid = row.id;
var catatan = row.catatan;
html +="<li><a href=# onclick=\"edit('"+ cid +"');\">"+ catatan
+"</a></li>";
}
}
else
{
html +="<li> No diary </li>";
}
html +="</ul>";
/* button #btnDelete */
$(document).on("click","#btnDelete",function(evt)
{
/* your code goes here */
if(!confirm ("Delete data?",""))return;
db.transaction (function(transaction)
{
var cid = $('#txtCatatanId').val();
var sql ="delete from diary where id='"+ cid +"'";
transaction.executeSql (sql);
$.mobile.changePage ($("#mainpage"));
$('#btnReload').click();
});
});
}
document.addEventListener("app.Ready", register_event_handlers,false);
})();
E. Rangkuman
Dengan standar HTML5 yang baru memungkinkan pengembang aplikasi perangkat bergerak
untuk menggunakan basisdata dalam sistemnya. Basisdata pada aplikasi dapat dikendalikan
dengan menggunakan perintah SQL. Jenis data yang didukung antara lain teks, numerik dan
biner. Teknik pengolahan yang telah didukung diantaranya operasi pembuatan tabel,
penambahan, penggantian, penghapusan, dan pencarian data.