Anda di halaman 1dari 21

A.

PENGERTIAN SQLite
SQLite adalah perpustakaan perangkat lunak yang menerapkan engine database SQL secara
mandiri, tanpa memerlukan server, tanpa perlu melakukan konfigurasi, dan bersifat
transaksional. SQLite adalah engine database SQL yang paling banyak digunakan di
dunia. SQLite merupakan proyek yang bersifat public domain yang dikerjakan oleh D.
Richard Hipp.

SQLite adalah sebuah engine database SQL yang langsung tertanam atau pada aplikasi. Tidak
seperti kebanyakan database SQL lainnya, SQLite tidak memiliki server yang terpisah dari
aplikasi. SQLite membaca dan menulis langsung ke file disk biasa. Database SQLite
memiliki fitur lengkap dengan banyak tabel, indexs, trigger, dan tampilan, serta
tersimpan pada satu file tunggal dalam hard-disk. Format file databasenya bersifat cross-
platform. Sehingga Anda dapat dengan bebas menyalin database antara sistem 32-bit dan 64-
bit atau antara arsitektur yang berbeda flatform. Fitur-fitur ini membuat SQLite menjadi
pilihan populer sebagai Application File Format.

SQLite telah didukung oleh banyak bahasa pemrograman seperti C, C ++, BASIC, C #,


Python, Java dan Delphi. Dukungan dari COM (ActiveX) membuat SQLite dapat diakses ke
bahasa scripted di Windows seperti VB Script dan JavaScript, sehingga akan menambah
kemampuan untuk aplikasi HTML. Dukungan terhadap database ini juga tersedia di sistem
operasi embedded seperti iOS, Android, Symbian OS, Maemo, Blackberry dan WebOS
karena ukurannya yang kecil dan mudah digunakan.

Manfaat dan Keuntungan Menggunakan SQLite? Apa saja Manfaat dan Keuntungan
Menggunakan SQLite? Seperti apakah manfaat kegunaannya? Mengapa SQLite?

Di dunia developer Android, SQLite merupakan sebuah keharusan untuk dipelajari karena
kehidupan aplikasi di zaman ini tidak pernah jauh dari data. Walaupun hanya menyimpan
notes saja. Data sangat penting dan kita tidka ingin data yang user simpan di aplikasi hilang
begitu aplikasi ditutup. Solusinya menggunakan database untuk tetap menyimpan apa yang
user simpan daripada menggunakan variabel untuk menyimpan. Variabel akan membuang
memori pada saat aplikasi terdestroy, namun data pada database tetap tersimpan walaupun
aplikasi terdestroy. Sambil lalu kamu udah mengerti kenapa kita harus pakai database saat
membangun sebuah aplikasi. Android didukung oleh library dan komponen SQLite yang
memudahkan kita untuk memakai database SQLite.

Sebagai Media Penyimpanan

SQLite adalah database. Database dapat menyimpan ribuan data yang disimpan. Data – data
tersebut dapat didapatkan dari aplikasi Android ataupun ingin ditampilkan ke aplikasi
Android tertentu. Tugas utama dari SQLite adalah menyimpan data dengan baik. Jika kamu
memiliki data terstruktur yang perlu digunakan, SQLite adalah jawabannya. SQLite ini juga
bisa menolong kamu mengambil data dari cloud lalu disimpan oleh SQLite loh.

Bisa dipanggil menggunakan bahasa pemrograman

Kita dapat memanggil API SQLite secara langsung melalui bahasa pemrograman seperti Java
di Android, salah satu kode untuk memanggil SQLite di Android adalah SQLiteDatabase.
Pada Android, table dan kolom pada SQLite disimpan berbentuk file Java. Tidak merepotkan
karena bukan client-server yang mengharuskan kita mengakses XAMPP atau Postgre.
Kenapa SQLite bukan client-server? Karena di sistem yang kita gunakan sudah tertanam
mesin database SQLite.

Dapat digunakan secara gratis

SQLite bukanlah database yang mengharuskan kita membayar karena gratis. SQLite ini
merupakan produk yang public domain, yang berarti tidak memiliki lisensi. Kamu boleh
boleh saja ambil source codenya dengan gratis untuk membuat sebuah aplikasi komersial
maupun tidak. Jadi kamu tidak perlu berpikir berapa biaya yang harus dikeluarkan untuk
database. Memang SQLite terbatas tapi ruangnya sangat banyak.
B. MENAMBAHKAN DATA KE SQLite
Insert data ke tabel SQLite, caranya tidak jauh berbeda dengan pembuatan tabel.

Langkah-langkanya:

1. Eksekusi db.serialize();

2. lalu di dalamnya buat query;

3. eksekusi query dengan db.run().

Mari kita coba…

Silahkan buat file baru dengan nama insert.js dan isi sebagai berikut:

const db = require("./db_config");

let sql = `INSERT INTO favorite_songs (title, artist)

VALUES ('First Love', 'Utada Hikaru')`;

db.run(sql, (err) => {

if (err) throw err;

console.log("1 record inserted");

});
db.close();

Setelah itu, coba eksekusi insert.js.

Berhasil!

C. Ubah Data SQLite


Ada kesalahan pada judul lagu yang kita buat. Pada Akon - No Matter, seharusnya yang
benar: Akon - Don't Matter.

Kita harus merubahnya.

Caranya?

Caranya sama seperti insert data, tapi SQL-nya berbeda.

Mari kita coba…

Buatlah sebuah file baru dengan nama update.js, kemudian isi dengan kode berikut:

const db = require("./db_config");

const sql = `UPDATE favorite_songs

SET title="Don't Matter"

WHERE id=?`;

songId = 3;

db.run(sql, [songId], (err) => {

if (!err) console.log("1 record updated");


});

db.close();

Setelah itu coba eksekusi:

Perhatikan kode di atas…


Kita memberikan nilai 3 untuk variabel songId, karena id dari
data yang akan kita edit adalah 3.
Silahkan sesuaikan dengan id data yang ingin kamu ubah.
D. Hapus Data SQLite dengan Nodejs
Sama seperti ubah data, penghapusan data juga
membutuhkan id untuk menentukan data mana yang akan
dihapus.
Mari kita coba…
Buatlah file baru dengan nama delete.js, kemudian isi dengan
kode berikut:

const db = require("./db_config");

const sql = `DELETE FROM favorite_songs WHERE


id=?`;

const songId = 3;

db.run(sql, [songId], (err) => {

if (!err) console.log("Data deleted");

});
db.close();

Hasilnya:

Pada contoh di atas, kita menghapus data yang ber-id 3,


yaitu: Rihanna - Umbrella.
Lalu… Bagaimana caranya menghapus semua data dari tabel?
Caranya gampang.
Tinggal hapus WHERE pada SQL, maka semua data pada
tabel akan terhapus.
Contoh: delete_all.js
const db = require("./db_config");

const sql = `DELETE FROM favorite_songs`;

db.run(sql, (err) => {

if (!err) console.log("All data deleted");

});

db.close();

Maka hasilnya:
D. Cara Menampilkan Data SQLite pada
ListView

Untuk mengamblil data dari SQLite Database, kita


dapat menggunakan suatu Class bernama Cursor,
Cursor di implementasikan sebagai Pointer atau
petunjuk, yang memungkinkan kita untuk
mengambil data dari Rows (Baris) pada sebuah
kolom didalam SQLite Database.

Cursor digunakan untuk mengarahkan atau


menentukan data mana yang akan diambil, kita
dapat menentukan kolom dan juga no index atau
posisi dari suatu data didalam baris.

1) Pertama buka project yang sudah kalian buat


sebelumnya, buka activity_main.xml, kita akan
tambahakan Button baru, untuk berpindah activity
pada activity yang menampilkan data.

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


>
<LinearLayout
xmlns:android="http://schemas.android
.com/apk/res/android"
xmlns:tools="http://schemas.android.c
om/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="12dp"
android:orientation="vertical"
tools:context="android.cianjur.develo
per.net.sqliteexample.MainActivity">

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:gravity="center"
android:text="Data Mahasiswa"
android:textSize="20sp"
android:textStyle="bold" />

<EditText
android:id="@+id/nim"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Masukan NIM"
android:inputType="textPersonName"/>

<EditText
android:id="@+id/nama"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Masukan Nama"
android:inputType="textPersonName" />

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="4dp"
android:layout_marginTop="6dp"
android:text="Fakultas/Jurusan:" />

<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/jurusan"
android:entries="@array/daftar_jurusa
n"
android:padding="15dp">

</Spinner>

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Jenis Kelamin:"
/>

<RadioGroup
android:id="@+id/gender"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<RadioButton
android:id="@+id/male"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
android:text="Laki-
Laki" />

<RadioButton
android:id="@+id/famale"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="18dp"
android:text="Perempuan" />
</RadioGroup>

<EditText
android:id="@+id/date"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Tanggal Lahir"
android:inputType="date" />

<EditText
android:id="@+id/alamat"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Alamat Lengkap"
android:inputType="textMultiLine" />

<Button
android:id="@+id/save"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Simpan Data
baru" />

<Button
android:id="@+id/readData"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Lihat Data Yang
Tersimpan" />
</LinearLayout>
View

Jangan lupa untuk


menambahkan OnClickListener pada Button
tersebut:

Button viewData =
findViewById(R.id.readData);
viewData.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View
view) {
startActivity(new
Intent(MainActivity.this,
ViewData.class));
}
});
2) Buat Activity Baru, berimana,
misalnya "ViewData", pada activity tersebut,
tambahkan ListView seperti berikut ini:

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


>
<RelativeLayout
xmlns:android="http://schemas.android
.com/apk/res/android"
xmlns:tools="http://schemas.android.c
om/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="8dp"
tools:context="android.cianjur.develo
per.net.sqliteexample.ViewData">

<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true
"
android:layout_centerVertical="true"
/>

</RelativeLayout>
3) Buka ViewData.java pada project kalian, disini kita akan membuat sebuah Cursor untuk
mencatat data yang akan diambil, lalu menampilkannya pada ListView.

package
android.cianjur.developer.net.sqlitee
xample;

import
android.annotation.SuppressLint;
import android.database.Cursor;
import
android.database.sqlite.SQLiteDatabas
e;
import
android.support.v7.app.AppCompatActiv
ity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import java.util.ArrayList;

public class ViewData extends


AppCompatActivity {
private ListView listView;
private DBMahasiswa MyDatabase;
private ArrayList<String>
ListData;

@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view
_data);
getSupportActionBar().setTitle("Dafta
r Mahasiswa");
listView =
findViewById(R.id.list);
ListData = new ArrayList<>();
MyDatabase = new
DBMahasiswa(getBaseContext());
getData();
listView.setAdapter(new
ArrayAdapter<>(this,
android.R.layout.simple_list_item_1,
ListData));
}

//Berisi Statement-Statement
Untuk Mengambi Data dari Database
@SuppressLint("Recycle")
private void getData(){
//Mengambil Repository dengan
Mode Membaca
SQLiteDatabase ReadData =
MyDatabase.getReadableDatabase();
Cursor cursor =
ReadData.rawQuery("SELECT * FROM "+
DBMahasiswa.MyColumns.NamaTabel,null)
;

cursor.moveToFirst();//Memulai Cursor
pada Posisi Awal

//Melooping Sesuai Dengan


Jumlan Data (Count) pada cursor
for(int count=0; count <
cursor.getCount(); count++){

cursor.moveToPosition(count);//Berpin
dah Posisi dari no index 0 hingga no
index terakhir

ListData.add(cursor.getString(1));//M
enambil Data Dari Kolom 1 (Nama)
//Lalu Memasukan Semua
Datanya kedalam ArrayList
}
}
}
Penjelasan:

Pertama kita membuat beberapa Variable, yaitu ListView (Untuk memberikan fungsi pada
ListView), DBMahasiswa (Untuk Menhubungkan Activity dengan Database pada class ini)
dan ArrayList (Untuk Menyimpan Data Yang Telah Didapat dari Database Menggunakan
Cursor).

Pada Method getData(), disana terdapat Statement-Statement untuk mengambil data Dari


Database, dialam method tersebut, kita menggunakan Cursor untu mengarahkan data mana
yang ingin diambil, karena kita ingin menggambil semua datanya sekaligus, jai kita cukup
menggunakan rawQuery() untuk mengambilnya, menggunakan "SELECT * FROM", yang
digunakan untuk mengambil semua data dari Tabel.

Supaya datanya bisa terambil semua, kita set posisi cursor tersebut berada di posisi awal,
dengan menggunakan fungsi moveToFirst(), jadi setiap ada data yang masuk, cursor akan
mengambil data tersebut dari awal, hinggal akhir.

Pada program tersebut, kita menggunakan for-loops untuk melooping sebanyak data yang
terdapat pada database, posisi cursor akan berubah ubah dari baris (row) 0 hinggal jumlah
yang telah ditentukan, jadi dengan begitu, kita dapat dengan mudah untuk mengambil semua
data tersebut dari Database.

Lalu pada ArrayList, kita mengambil data dan memasukannya kedalam ArrayList dengan
menggunakan fungsi getString(1), angka 1 (satu) tersebut artinya, kita mengambil data dari
kolom 1, yaitu Nama.

Terakhir kita set ArrayList tersebut pada Adapter, dimana data tersebut akan di tampilkan
pada ListView.

F. CONTOH PEMANFAATAN DATABASE SQLite PADA APLLIKASI MOBILE

2. Aplikasi mobile dilengkapi dengan basis data lokal SQLite sehingga dapat menyimpan
data yang diperoleh dari hasil sinkronisasi dengan server.

3.Hasil yang didapat dari pengujian terhadap performa aplikasi adalah kebutuhan waktu
untuk melakukan sinkronisasi data pada aplikasi bergantung pada spesifikasi perangkat yang
digunakan dan besarnya ukuran data harus disinkronkan. Semakin tinggi spesifikasi
perangkat yang dimiliki, maka semakin cepat waktu untuk proses sinkronisasi. Demikian
pula dengan ukuran data dimana semakin besar ukuran data, maka waktu yang dibutuhkan
untuk sinkronisasi data akan semakin lama.

Anda mungkin juga menyukai