SlideShare a Scribd company logo
Pengenalan SQLite
di Android
SQLite adalah database ringan yang dirancang untuk perangkat mobile
dan desktop. SQLite populer digunakan dalam aplikasi Android. SQLite
sangat cocok untuk aplikasi Android karena ringan dan tidak memerlukan
server terpisah.
SQLite adalah sistem manajemen basis data (DBMS) yang tertanam
(embedded) dan ringan.
Mengapa Menggunakan SQLite di
Android?
Ringan dan Efisien
SQLite merupakan database yang ringan dan
tidak memerlukan server terpisah, sehingga
cocok untuk aplikasi Android yang
membutuhkan kinerja tinggi dan penggunaan
sumber daya yang rendah.
Integrasi Mudah
SQLite terintegrasi langsung ke dalam sistem
operasi Android, sehingga Anda dapat
dengan mudah mengakses dan mengelola
data tanpa perlu proses yang rumit.
Keamanan Data
SQLite menyediakan mekanisme keamanan
bawaan untuk melindungi data Anda dari
akses yang tidak sah, memastikan data Anda
tetap aman.
Portabilitas
SQLite dapat digunakan di berbagai platform,
termasuk Android, iOS, dan Windows,
sehingga Anda dapat dengan mudah
memindahkan aplikasi Anda ke platform lain
tanpa perlu mengubah basis data.
SQLite: Gambaran Umum
Basis Data Ringan
SQLite adalah basis data
tertanam yang dirancang untuk
menjadi ringan dan mudah
digunakan.
Sistem Manajemen
Basis Data Relasional
SQLite menerapkan model
relasional yang menata data
dalam tabel dengan baris dan
kolom.
Bahasa SQL
SQLite menggunakan bahasa
Structured Query Language
(SQL) untuk berinteraksi
dengan data.
Kekurangan Menggunakan SQLite di
Android?
1. Kapasitas Terbatas
Kurang cocok untuk aplikasi dengan beban
kerja tinggi atau basis data yang sangat
besar karena kinerja dapat menurun.
2. Fitur Terbatas
Tidak memiliki beberapa fitur canggih yang
tersedia di sistem manajemen basis data
yang lebih besar seperti MySQL atau
PostgreSQL, seperti replikasi dan clustering.
SQLite ≠ MySQL
SQLite adalah database tanpa server dan berdiri sendiri. Selain itu, database ini juga
disebut sebagai database tertanam (embedded), yang berarti mesin DB berjalan
sebagai bagian dari aplikasi.
Di sisi lain, MySQL membutuhkan server agar bisa berjalan. MySQL akan memerlukan
arsitektur klien dan server untuk berinteraksi melalui jaringan.
Cara Menginisialisasi Database SQLite
1 Membuat Class Database Helper
Langkah pertama adalah membuat class DatabaseHelper yang akan digunakan untuk
mengelola database SQLite.
2 Mendefinisikan Konstruktor
Konstruktor class DatabaseHelper akan menerima konteks aplikasi dan nama database
sebagai parameter.
3 Mendefinisikan Method onCreate dan onUpgrade
Method onCreate akan dipanggil ketika database belum ada, dan method onUpgrade
akan dipanggil ketika versi database diubah.
4 Menginisialisasi Database
Setelah class DatabaseHelper dibuat, Anda dapat membuat instance dan
menginisialisasi database dengan memanggil method getWritableDatabase().
Membuat Database dan Tabel
1 Membuat Database
Anda perlu membuat instance database SQLite menggunakan kelas
**SQLiteDatabase**. Metode **openOrCreateDatabase()** digunakan untuk membuat
atau membuka database yang ada. Anda juga perlu menentukan nama file database.
2 Membuat Tabel
Setelah membuat database, Anda dapat membuat tabel menggunakan metode
**execSQL()**. Query SQL digunakan untuk mendefinisikan skema tabel, termasuk nama
kolom dan jenis data.
3 Contoh
Berikut contoh kode untuk membuat database dan tabel bernama "users" dengan kolom
"id" (integer), "name" (text), dan "email" (text).
Menyisipkan, Mengambil, Memperbarui,
dan Menghapus Data
Menyisipkan Data
Gunakan metode `insert()` untuk menambahkan data baru ke dalam tabel database
SQLite. Anda dapat memasukkan nilai data secara langsung atau dengan menggunakan
objek `ContentValues` untuk mengatur nama kolom dan nilai data.
Mengambil Data
Gunakan metode `query()` untuk mengambil data dari tabel database SQLite. Anda dapat
menentukan kriteria filter, urutan data, dan jumlah data yang ingin diambil.
Memperbarui Data
Gunakan metode `update()` untuk mengubah data yang sudah ada dalam tabel database
SQLite. Anda dapat menentukan kriteria filter untuk memilih data yang ingin diubah dan
menetapkan nilai baru untuk kolom data.
Menghapus Data
Gunakan metode `delete()` untuk menghapus data dari tabel database SQLite. Anda
dapat menentukan kriteria filter untuk memilih data yang ingin dihapus.
Menggunakan Content Provider
1
Definisi
Mekanisme berbagi data antar aplikasi
2
Akses Data
Membuat data aplikasi Anda tersedia untuk aplikasi lain
3
Kontrak Data
Mendefinisikan bagaimana data diakses dan
dimodifikasi
Content Provider merupakan mekanisme Android yang memungkinkan Anda untuk berbagi data antar
aplikasi. Dengan menggunakan Content Provider, Anda dapat membuat data aplikasi Anda tersedia
untuk aplikasi lain, seperti kontak, kalender, atau pengaturan sistem. Content Provider bertindak sebagai
perantara yang mengelola akses ke data Anda, dan Anda dapat mengontrol cara data diakses dan
dimodifikasi melalui kontrak data yang didefinisikan.
Saat Anda membuat Content Provider, Anda perlu menentukan skema data yang akan digunakan,
termasuk tabel, kolom, dan tipe data. Anda juga perlu menentukan operasi yang diizinkan, seperti
membaca, menulis, memperbarui, atau menghapus data. Aplikasi lain kemudian dapat menggunakan
Content Provider untuk mengakses dan memanipulasi data yang Anda bagikan.
Query dan Filter Data
1
Klausa WHERE
Klausa WHERE digunakan untuk
memilih baris yang memenuhi kondisi
tertentu dalam database. 2 Operator Pembanding
Operator pembanding seperti '=', '>',
'<', '>=', '<=', dan '!=' digunakan untuk
membandingkan nilai kolom dengan
nilai yang ditentukan.
3
Operator Logika
Operator logika seperti 'AND', 'OR',
dan 'NOT' menggabungkan beberapa
kondisi untuk menyaring data yang
lebih spesifik.
Transaksi dan Keamanan Data
1
Mulai Transaksi
Gunakan SQLiteDatabase.beginTransaction() untuk memulai transaksi.
2
Operasi Database
Lakukan operasi insert, update, atau delete.
3
Komit atau Batalkan
setTransactionSuccessful() jika berhasil,
atau endTransaction() untuk membatalkan.
Transaksi SQLite di Android memastikan konsistensi data dalam operasi kompleks. Anda dapat
mengontrol komit dan rollback untuk menghindari data yang tidak konsisten.
Keamanan data penting dalam aplikasi Android. Gunakan teknik keamanan seperti enkripsi untuk
melindungi data sensitif dan gunakan izin yang tepat untuk akses data.
Contoh Penggunaan SQLite di Aplikasi
Android
Aplikasi Toko
Online
SQLite digunakan
untuk menyimpan
data produk,
pengguna, dan
pesanan.
Aplikasi Pemutar
Musik
Data lagu, album, dan
artis disimpan dalam
database SQLite.
Aplikasi Pengingat
SQLite menyimpan
informasi tentang
tugas, tanggal jatuh
tempo, dan
pengingat.
Aplikasi
Perjalanan
Data tempat wisata,
hotel, dan informasi
penerbangan dikelola
menggunakan
SQLite.
Pengantar SQLite di Android Studio menggunakan bahasa Java
Di Android Studio, penggunaan SQLite untuk menyimpan dan mengelola data dalam
aplikasi Android sangat umum. Berikut ini penjelasan tentang beberapa kode penting
dalam Java untuk menggunakan SQLite di Android Studio:
1. DatabaseHelper (SQLiteOpenHelper)
Kelas DatabaseHelper bertanggung jawab untuk mengelola pembuatan, upgrade, dan
akses ke database SQLite. Berikut adalah penjelasan beberapa bagian kunci dari
kelas DatabaseHelper:
public class DatabaseHelper extends SQLiteOpenHelper {
// Nama dan versi database
private static final String DATABASE_NAME = "UserDB.db";
private static final int DATABASE_VERSION = 1;
// Nama tabel dan kolom
private static final String TABLE_NAME = "user_table";
private static final String COL_ID = "ID";
private static final String COL_USERNAME = "USERNAME";
private static final String COL_PASSWORD = "PASSWORD";
// Konstruktor
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
// Membuat tabel saat database dibuat
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + " ("
+ COL_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ COL_USERNAME + " TEXT NOT NULL, "
+ COL_PASSWORD + " TEXT NOT NULL)";
db.execSQL(CREATE_TABLE);
}
// Mengupgrade database saat versi berubah
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
• DATABASE_NAME dan DATABASE_VERSION:
DATABASE_NAME adalah nama file untuk database SQLite yang
akan dibuat atau digunakan.
DATABASE_VERSION adalah versi dari database. Berguna untuk
mengelola perubahan skema database saat pengembangan aplikasi.
• onCreate(SQLiteDatabase db):
Metode ini dipanggil ketika database pertama kali dibuat.
Di sini, kita menjalankan pernyataan SQL CREATE TABLE untuk
membuat tabel user_table dengan kolom ID, USERNAME, dan
PASSWORD.
• onUpgrade(SQLiteDatabase db, int oldVersion, int
newVersion):
Metode ini dipanggil saat versi database berubah (misalnya, saat
peningkatan aplikasi).
Kita biasanya menjalankan DROP TABLE untuk menghapus versi
tabel lama (jika ada) dan kemudian memanggil onCreate() lagi
untuk membuat tabel baru.
public class DatabaseHelper extends SQLiteOpenHelper {
// ...
// Menambahkan pengguna baru
public boolean insertUser(String username, String password) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COL_USERNAME, username);
contentValues.put(COL_PASSWORD, password);
long result = db.insert(TABLE_NAME, null, contentValues);
return result != -1; // Jika result -1, berarti insert gagal
}
// Memeriksa pengguna saat login
public boolean checkUser(String username, String password) {
SQLiteDatabase db = this.getReadableDatabase();
String[] columns = {COL_ID};
String selection = COL_USERNAME + " =? AND " + COL_PASSWORD + "
=?";
String[] selectionArgs = {username, password};
Cursor cursor = db.query(TABLE_NAME, columns, selection,
selectionArgs, null, null, null);
int count = cursor.getCount();
cursor.close();
return count > 0;
}
}
• insertUser(String username, String password):
• Metode ini digunakan untuk menambahkan data pengguna baru ke
dalam tabel user_table.
• Menggunakan ContentValues untuk menyiapkan data yang akan
dimasukkan.
• Memanggil getWritableDatabase() untuk mendapatkan objek
SQLiteDatabase yang dapat digunakan untuk menulis data.
• Mengembalikan true jika operasi insert berhasil.
2. Insert dan Query Data
• checkUser(String username, String password):
Metode ini digunakan untuk memeriksa apakah pengguna dengan
username dan password tertentu ada di dalam tabel.
Menggunakan query() untuk mengeksekusi SELECT SQL dengan
kriteria pencarian.
Mengembalikan true jika pengguna ditemukan (jumlah baris yang
dikembalikan oleh cursor lebih dari 0).
public class MainActivity extends AppCompatActivity {
DatabaseHelper db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
db = new DatabaseHelper(this);
// Contoh query data (biasanya dilakukan di dalam Activity)
String username = "john_doe";
String password = "securepassword";
if (db.checkUser(username, password)) {
// Pengguna ditemukan
// Lakukan tindakan sesuai dengan hasil login
} else {
// Pengguna tidak ditemukan
// Tampilkan pesan kesalahan atau tindakan lain
}
}
}
• Cursor:
• Cursor digunakan untuk membaca data yang diambil dari query
database.
• Setelah selesai digunakan, penting untuk memanggil cursor.close()
untuk membebaskan sumber daya.
• Data yang diperoleh dari cursor kemudian dapat digunakan untuk
menampilkan informasi atau digunakan dalam logika aplikasi
lainnya.
3. Penggunaan Cursor untuk Query
Data
Penjelasan Penting
• Koneksi Database:
getWritableDatabase() dan getReadableDatabase() digunakan untuk mendapatkan
koneksi ke database.
getWritableDatabase() digunakan untuk operasi menulis (insert, update, delete).
getReadableDatabase() digunakan untuk operasi baca (query).
• ContentValues:
ContentValues digunakan untuk menyimpan nilai-nilai data yang akan dimasukkan ke database.
• SQLiteDatabase:
SQLiteDatabase adalah kelas utama untuk berinteraksi dengan database SQLite di Android.
Dapat digunakan untuk menjalankan perintah SQL seperti insert, update, delete, dan query.
Memulai dengan SQLite di Android
Studio
Android Studio menyediakan berbagai fitur untuk mempermudah pengembangan aplikasi Android,
termasuk integrasi dengan SQLite. Anda dapat menggunakan fitur-fitur ini untuk mengelola database
SQLite di aplikasi Anda dengan lebih mudah dan efisien.
1
Membuat Proyek Baru
Buat proyek Android Studio baru dengan semua komponen yang
diperlukan.
2
Menambahkan Dependency
Tambahkan dependency SQLite ke file `build.gradle` proyek
Anda.
3
Membuat Kelas Database
Buat kelas baru yang akan digunakan untuk mengelola
database SQLite.
4
Mendefinisikan Tabel
Definisikan tabel yang akan digunakan untuk
menyimpan data Anda.
5
Mengakses Database
Gunakan kelas database yang dibuat untuk
melakukan operasi CRUD.
Fitur-fitur ini mempermudah pengembangan aplikasi Android yang menggunakan SQLite, termasuk
membuat, mengakses, dan mengelola database Anda. Anda dapat fokus pada logika aplikasi Anda
tanpa harus khawatir tentang kompleksitas SQLite.

More Related Content

PDF
Mysql 1
PDF
Tutorial my sql
PPTX
PPT MAKALAH tentang teknologi basis data
PDF
Distributed Database Using Oracle
PDF
Modul praktikum basis data
DOCX
Tugas sim, intan komalasari,yananto mihadi p,sistem manajemen basis data, 2018
DOC
Distributed Database Using Oracle
PPTX
Tugas 4 0317-fahreza yozi-1612510832 -
Mysql 1
Tutorial my sql
PPT MAKALAH tentang teknologi basis data
Distributed Database Using Oracle
Modul praktikum basis data
Tugas sim, intan komalasari,yananto mihadi p,sistem manajemen basis data, 2018
Distributed Database Using Oracle
Tugas 4 0317-fahreza yozi-1612510832 -

Similar to Pengantar SQLite di Android Studio menggunakan bahasa Java (20)

PPTX
Pemodelan Data, Entity Relationship Diagram (ERD)
DOCX
Githa mahulete 43219110166 sistem informasi manajemen SISTEM MANAJEMEN BASIS ...
PPTX
TM-4-5-6 SQLite Database.pptx
PPT
database yang sangat penting dfdf dfsfsdfisdf sdfasdfasd fsf yaitu dbms
PDF
PEMBUATAN TABEL DALAM DATABASE
PDF
Kelebihan dan kekurangan database engine
PPTX
RPS kelompok 5 tugas degital content.pptx
PDF
INSERT DATA WITH ADO.NET TECHNOLOGY
DOCX
Management database
PDF
Modul database1 rev01
DOCX
Makalah simbad
DOCX
Tugas sim, pratiwi rosantry,yananto mihadi putra,se, m.si, sistem manajemen b...
PPTX
kelompok.pptx
PDF
Modul Data Warehouse
PPT
Bab 2 Klpk SIM pendidikan Sistem manajemen basis data.ppt
PDF
1. Modul Praktikum SI0044 Basis Data Dasar.pdf
PDF
Bab12 backup dan restore basis data
PDF
Menggunakan database di android
PDF
SIM, Yasmin Al-Hakim, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu...
PDF
Sim, adistya desmyana, prof. dr. hapzi ali, cma, sistem manajemen database, u...
Pemodelan Data, Entity Relationship Diagram (ERD)
Githa mahulete 43219110166 sistem informasi manajemen SISTEM MANAJEMEN BASIS ...
TM-4-5-6 SQLite Database.pptx
database yang sangat penting dfdf dfsfsdfisdf sdfasdfasd fsf yaitu dbms
PEMBUATAN TABEL DALAM DATABASE
Kelebihan dan kekurangan database engine
RPS kelompok 5 tugas degital content.pptx
INSERT DATA WITH ADO.NET TECHNOLOGY
Management database
Modul database1 rev01
Makalah simbad
Tugas sim, pratiwi rosantry,yananto mihadi putra,se, m.si, sistem manajemen b...
kelompok.pptx
Modul Data Warehouse
Bab 2 Klpk SIM pendidikan Sistem manajemen basis data.ppt
1. Modul Praktikum SI0044 Basis Data Dasar.pdf
Bab12 backup dan restore basis data
Menggunakan database di android
SIM, Yasmin Al-Hakim, Hapzi Ali, Sistem Manajemen Database, Universitas Mercu...
Sim, adistya desmyana, prof. dr. hapzi ali, cma, sistem manajemen database, u...
Ad

Recently uploaded (20)

PPTX
MAINTENACE KNOWLEDGE_SHARING_ALL NEW.pptx
PDF
chapter 1 Smith and Van ness thermodynamics
PPTX
Pengenalan SPALDT_SPALDS_Karanganyar.pptx
PPT
hand-tools-service-special-tools-alat-ukur.ppt
PPT
08_Sistem-Penilaian-Kesesuaian_BW_1708071.ppt
PPTX
4. PENERAPAN PENGELOLAAN SUMBER DAYA MANUSIA.pptx
PPTX
PEMBUATAN PANEL TRAINER DAN PROTOTYPE UNTUK PENINGKATAN KOMPETENSI TENTANG S...
PDF
Jual Echosounder Hi-Target HD Lite Brochure EN.pdf
PPTX
1 Peraturan Perundangan terkait Keselamatan Konstruksi 18.10 - Copy.pptx
PPT
PCM pekerjaan pembangunan Jembatan payahe
PPTX
Materi_Konstruksi_Edukatif_Emosional_Damage.pptx
PDF
Peraturan menteri perhubungan_63_TAHUN_2019.pdf
PPTX
585590334-INTAKE-AND-EXHAUST-SYSTEM-Ahmad-Aditya-S-W.pptx
PPTX
4. Penyusunan Rancangan Kontrak _edit 2024-Parwanta1.pptx
PPTX
2013materistudiumgeneralkabsndiunsri-130318044328-phpapp01.pptx
PPTX
7-presentasi-pk-metrologi-141030010022-conversion-gate01.pptx
PPT
variabel valve timing intelligence untuk xenia
PPTX
SISTEM_INFORMASI_GEOGRAFIS_unlocked.pptx
PPTX
presentasi pekerjaan pembangunan jaringan irigasi
PPTX
02 SEL ELEKTROKIMIA 1.pptx kimia fisika 1
MAINTENACE KNOWLEDGE_SHARING_ALL NEW.pptx
chapter 1 Smith and Van ness thermodynamics
Pengenalan SPALDT_SPALDS_Karanganyar.pptx
hand-tools-service-special-tools-alat-ukur.ppt
08_Sistem-Penilaian-Kesesuaian_BW_1708071.ppt
4. PENERAPAN PENGELOLAAN SUMBER DAYA MANUSIA.pptx
PEMBUATAN PANEL TRAINER DAN PROTOTYPE UNTUK PENINGKATAN KOMPETENSI TENTANG S...
Jual Echosounder Hi-Target HD Lite Brochure EN.pdf
1 Peraturan Perundangan terkait Keselamatan Konstruksi 18.10 - Copy.pptx
PCM pekerjaan pembangunan Jembatan payahe
Materi_Konstruksi_Edukatif_Emosional_Damage.pptx
Peraturan menteri perhubungan_63_TAHUN_2019.pdf
585590334-INTAKE-AND-EXHAUST-SYSTEM-Ahmad-Aditya-S-W.pptx
4. Penyusunan Rancangan Kontrak _edit 2024-Parwanta1.pptx
2013materistudiumgeneralkabsndiunsri-130318044328-phpapp01.pptx
7-presentasi-pk-metrologi-141030010022-conversion-gate01.pptx
variabel valve timing intelligence untuk xenia
SISTEM_INFORMASI_GEOGRAFIS_unlocked.pptx
presentasi pekerjaan pembangunan jaringan irigasi
02 SEL ELEKTROKIMIA 1.pptx kimia fisika 1
Ad

Pengantar SQLite di Android Studio menggunakan bahasa Java

  • 1. Pengenalan SQLite di Android SQLite adalah database ringan yang dirancang untuk perangkat mobile dan desktop. SQLite populer digunakan dalam aplikasi Android. SQLite sangat cocok untuk aplikasi Android karena ringan dan tidak memerlukan server terpisah. SQLite adalah sistem manajemen basis data (DBMS) yang tertanam (embedded) dan ringan.
  • 2. Mengapa Menggunakan SQLite di Android? Ringan dan Efisien SQLite merupakan database yang ringan dan tidak memerlukan server terpisah, sehingga cocok untuk aplikasi Android yang membutuhkan kinerja tinggi dan penggunaan sumber daya yang rendah. Integrasi Mudah SQLite terintegrasi langsung ke dalam sistem operasi Android, sehingga Anda dapat dengan mudah mengakses dan mengelola data tanpa perlu proses yang rumit. Keamanan Data SQLite menyediakan mekanisme keamanan bawaan untuk melindungi data Anda dari akses yang tidak sah, memastikan data Anda tetap aman. Portabilitas SQLite dapat digunakan di berbagai platform, termasuk Android, iOS, dan Windows, sehingga Anda dapat dengan mudah memindahkan aplikasi Anda ke platform lain tanpa perlu mengubah basis data.
  • 3. SQLite: Gambaran Umum Basis Data Ringan SQLite adalah basis data tertanam yang dirancang untuk menjadi ringan dan mudah digunakan. Sistem Manajemen Basis Data Relasional SQLite menerapkan model relasional yang menata data dalam tabel dengan baris dan kolom. Bahasa SQL SQLite menggunakan bahasa Structured Query Language (SQL) untuk berinteraksi dengan data.
  • 4. Kekurangan Menggunakan SQLite di Android? 1. Kapasitas Terbatas Kurang cocok untuk aplikasi dengan beban kerja tinggi atau basis data yang sangat besar karena kinerja dapat menurun. 2. Fitur Terbatas Tidak memiliki beberapa fitur canggih yang tersedia di sistem manajemen basis data yang lebih besar seperti MySQL atau PostgreSQL, seperti replikasi dan clustering.
  • 5. SQLite ≠ MySQL SQLite adalah database tanpa server dan berdiri sendiri. Selain itu, database ini juga disebut sebagai database tertanam (embedded), yang berarti mesin DB berjalan sebagai bagian dari aplikasi. Di sisi lain, MySQL membutuhkan server agar bisa berjalan. MySQL akan memerlukan arsitektur klien dan server untuk berinteraksi melalui jaringan.
  • 6. Cara Menginisialisasi Database SQLite 1 Membuat Class Database Helper Langkah pertama adalah membuat class DatabaseHelper yang akan digunakan untuk mengelola database SQLite. 2 Mendefinisikan Konstruktor Konstruktor class DatabaseHelper akan menerima konteks aplikasi dan nama database sebagai parameter. 3 Mendefinisikan Method onCreate dan onUpgrade Method onCreate akan dipanggil ketika database belum ada, dan method onUpgrade akan dipanggil ketika versi database diubah. 4 Menginisialisasi Database Setelah class DatabaseHelper dibuat, Anda dapat membuat instance dan menginisialisasi database dengan memanggil method getWritableDatabase().
  • 7. Membuat Database dan Tabel 1 Membuat Database Anda perlu membuat instance database SQLite menggunakan kelas **SQLiteDatabase**. Metode **openOrCreateDatabase()** digunakan untuk membuat atau membuka database yang ada. Anda juga perlu menentukan nama file database. 2 Membuat Tabel Setelah membuat database, Anda dapat membuat tabel menggunakan metode **execSQL()**. Query SQL digunakan untuk mendefinisikan skema tabel, termasuk nama kolom dan jenis data. 3 Contoh Berikut contoh kode untuk membuat database dan tabel bernama "users" dengan kolom "id" (integer), "name" (text), dan "email" (text).
  • 8. Menyisipkan, Mengambil, Memperbarui, dan Menghapus Data Menyisipkan Data Gunakan metode `insert()` untuk menambahkan data baru ke dalam tabel database SQLite. Anda dapat memasukkan nilai data secara langsung atau dengan menggunakan objek `ContentValues` untuk mengatur nama kolom dan nilai data. Mengambil Data Gunakan metode `query()` untuk mengambil data dari tabel database SQLite. Anda dapat menentukan kriteria filter, urutan data, dan jumlah data yang ingin diambil. Memperbarui Data Gunakan metode `update()` untuk mengubah data yang sudah ada dalam tabel database SQLite. Anda dapat menentukan kriteria filter untuk memilih data yang ingin diubah dan menetapkan nilai baru untuk kolom data. Menghapus Data Gunakan metode `delete()` untuk menghapus data dari tabel database SQLite. Anda dapat menentukan kriteria filter untuk memilih data yang ingin dihapus.
  • 9. Menggunakan Content Provider 1 Definisi Mekanisme berbagi data antar aplikasi 2 Akses Data Membuat data aplikasi Anda tersedia untuk aplikasi lain 3 Kontrak Data Mendefinisikan bagaimana data diakses dan dimodifikasi Content Provider merupakan mekanisme Android yang memungkinkan Anda untuk berbagi data antar aplikasi. Dengan menggunakan Content Provider, Anda dapat membuat data aplikasi Anda tersedia untuk aplikasi lain, seperti kontak, kalender, atau pengaturan sistem. Content Provider bertindak sebagai perantara yang mengelola akses ke data Anda, dan Anda dapat mengontrol cara data diakses dan dimodifikasi melalui kontrak data yang didefinisikan. Saat Anda membuat Content Provider, Anda perlu menentukan skema data yang akan digunakan, termasuk tabel, kolom, dan tipe data. Anda juga perlu menentukan operasi yang diizinkan, seperti membaca, menulis, memperbarui, atau menghapus data. Aplikasi lain kemudian dapat menggunakan Content Provider untuk mengakses dan memanipulasi data yang Anda bagikan.
  • 10. Query dan Filter Data 1 Klausa WHERE Klausa WHERE digunakan untuk memilih baris yang memenuhi kondisi tertentu dalam database. 2 Operator Pembanding Operator pembanding seperti '=', '>', '<', '>=', '<=', dan '!=' digunakan untuk membandingkan nilai kolom dengan nilai yang ditentukan. 3 Operator Logika Operator logika seperti 'AND', 'OR', dan 'NOT' menggabungkan beberapa kondisi untuk menyaring data yang lebih spesifik.
  • 11. Transaksi dan Keamanan Data 1 Mulai Transaksi Gunakan SQLiteDatabase.beginTransaction() untuk memulai transaksi. 2 Operasi Database Lakukan operasi insert, update, atau delete. 3 Komit atau Batalkan setTransactionSuccessful() jika berhasil, atau endTransaction() untuk membatalkan. Transaksi SQLite di Android memastikan konsistensi data dalam operasi kompleks. Anda dapat mengontrol komit dan rollback untuk menghindari data yang tidak konsisten. Keamanan data penting dalam aplikasi Android. Gunakan teknik keamanan seperti enkripsi untuk melindungi data sensitif dan gunakan izin yang tepat untuk akses data.
  • 12. Contoh Penggunaan SQLite di Aplikasi Android Aplikasi Toko Online SQLite digunakan untuk menyimpan data produk, pengguna, dan pesanan. Aplikasi Pemutar Musik Data lagu, album, dan artis disimpan dalam database SQLite. Aplikasi Pengingat SQLite menyimpan informasi tentang tugas, tanggal jatuh tempo, dan pengingat. Aplikasi Perjalanan Data tempat wisata, hotel, dan informasi penerbangan dikelola menggunakan SQLite.
  • 14. Di Android Studio, penggunaan SQLite untuk menyimpan dan mengelola data dalam aplikasi Android sangat umum. Berikut ini penjelasan tentang beberapa kode penting dalam Java untuk menggunakan SQLite di Android Studio: 1. DatabaseHelper (SQLiteOpenHelper) Kelas DatabaseHelper bertanggung jawab untuk mengelola pembuatan, upgrade, dan akses ke database SQLite. Berikut adalah penjelasan beberapa bagian kunci dari kelas DatabaseHelper:
  • 15. public class DatabaseHelper extends SQLiteOpenHelper { // Nama dan versi database private static final String DATABASE_NAME = "UserDB.db"; private static final int DATABASE_VERSION = 1; // Nama tabel dan kolom private static final String TABLE_NAME = "user_table"; private static final String COL_ID = "ID"; private static final String COL_USERNAME = "USERNAME"; private static final String COL_PASSWORD = "PASSWORD"; // Konstruktor public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } // Membuat tabel saat database dibuat @Override public void onCreate(SQLiteDatabase db) { String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + " (" + COL_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + COL_USERNAME + " TEXT NOT NULL, " + COL_PASSWORD + " TEXT NOT NULL)"; db.execSQL(CREATE_TABLE); } // Mengupgrade database saat versi berubah @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) • DATABASE_NAME dan DATABASE_VERSION: DATABASE_NAME adalah nama file untuk database SQLite yang akan dibuat atau digunakan. DATABASE_VERSION adalah versi dari database. Berguna untuk mengelola perubahan skema database saat pengembangan aplikasi. • onCreate(SQLiteDatabase db): Metode ini dipanggil ketika database pertama kali dibuat. Di sini, kita menjalankan pernyataan SQL CREATE TABLE untuk membuat tabel user_table dengan kolom ID, USERNAME, dan PASSWORD. • onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion): Metode ini dipanggil saat versi database berubah (misalnya, saat peningkatan aplikasi). Kita biasanya menjalankan DROP TABLE untuk menghapus versi tabel lama (jika ada) dan kemudian memanggil onCreate() lagi untuk membuat tabel baru.
  • 16. public class DatabaseHelper extends SQLiteOpenHelper { // ... // Menambahkan pengguna baru public boolean insertUser(String username, String password) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put(COL_USERNAME, username); contentValues.put(COL_PASSWORD, password); long result = db.insert(TABLE_NAME, null, contentValues); return result != -1; // Jika result -1, berarti insert gagal } // Memeriksa pengguna saat login public boolean checkUser(String username, String password) { SQLiteDatabase db = this.getReadableDatabase(); String[] columns = {COL_ID}; String selection = COL_USERNAME + " =? AND " + COL_PASSWORD + " =?"; String[] selectionArgs = {username, password}; Cursor cursor = db.query(TABLE_NAME, columns, selection, selectionArgs, null, null, null); int count = cursor.getCount(); cursor.close(); return count > 0; } } • insertUser(String username, String password): • Metode ini digunakan untuk menambahkan data pengguna baru ke dalam tabel user_table. • Menggunakan ContentValues untuk menyiapkan data yang akan dimasukkan. • Memanggil getWritableDatabase() untuk mendapatkan objek SQLiteDatabase yang dapat digunakan untuk menulis data. • Mengembalikan true jika operasi insert berhasil. 2. Insert dan Query Data • checkUser(String username, String password): Metode ini digunakan untuk memeriksa apakah pengguna dengan username dan password tertentu ada di dalam tabel. Menggunakan query() untuk mengeksekusi SELECT SQL dengan kriteria pencarian. Mengembalikan true jika pengguna ditemukan (jumlah baris yang dikembalikan oleh cursor lebih dari 0).
  • 17. public class MainActivity extends AppCompatActivity { DatabaseHelper db; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); db = new DatabaseHelper(this); // Contoh query data (biasanya dilakukan di dalam Activity) String username = "john_doe"; String password = "securepassword"; if (db.checkUser(username, password)) { // Pengguna ditemukan // Lakukan tindakan sesuai dengan hasil login } else { // Pengguna tidak ditemukan // Tampilkan pesan kesalahan atau tindakan lain } } } • Cursor: • Cursor digunakan untuk membaca data yang diambil dari query database. • Setelah selesai digunakan, penting untuk memanggil cursor.close() untuk membebaskan sumber daya. • Data yang diperoleh dari cursor kemudian dapat digunakan untuk menampilkan informasi atau digunakan dalam logika aplikasi lainnya. 3. Penggunaan Cursor untuk Query Data
  • 18. Penjelasan Penting • Koneksi Database: getWritableDatabase() dan getReadableDatabase() digunakan untuk mendapatkan koneksi ke database. getWritableDatabase() digunakan untuk operasi menulis (insert, update, delete). getReadableDatabase() digunakan untuk operasi baca (query). • ContentValues: ContentValues digunakan untuk menyimpan nilai-nilai data yang akan dimasukkan ke database. • SQLiteDatabase: SQLiteDatabase adalah kelas utama untuk berinteraksi dengan database SQLite di Android. Dapat digunakan untuk menjalankan perintah SQL seperti insert, update, delete, dan query.
  • 19. Memulai dengan SQLite di Android Studio Android Studio menyediakan berbagai fitur untuk mempermudah pengembangan aplikasi Android, termasuk integrasi dengan SQLite. Anda dapat menggunakan fitur-fitur ini untuk mengelola database SQLite di aplikasi Anda dengan lebih mudah dan efisien. 1 Membuat Proyek Baru Buat proyek Android Studio baru dengan semua komponen yang diperlukan. 2 Menambahkan Dependency Tambahkan dependency SQLite ke file `build.gradle` proyek Anda. 3 Membuat Kelas Database Buat kelas baru yang akan digunakan untuk mengelola database SQLite. 4 Mendefinisikan Tabel Definisikan tabel yang akan digunakan untuk menyimpan data Anda. 5 Mengakses Database Gunakan kelas database yang dibuat untuk melakukan operasi CRUD. Fitur-fitur ini mempermudah pengembangan aplikasi Android yang menggunakan SQLite, termasuk membuat, mengakses, dan mengelola database Anda. Anda dapat fokus pada logika aplikasi Anda tanpa harus khawatir tentang kompleksitas SQLite.