Hello Sobat Sederhana! Pada kesempatan kali ini, kita akan membahas tentang cara CRUD (Create, Read, Update, Delete) pada database Android dengan cara yang sederhana. Bagi pemula, artikel ini sangat cocok untuk dipelajari karena penjelasannya akan disampaikan dengan bahasa yang mudah dipahami.
Apa itu Database Android?
Sebelum kita memulai tutorial cara CRUD Android Database, terlebih dahulu kita harus memahami pengertian dari database Android. Database Android adalah salah satu fitur yang disediakan oleh Android untuk memungkinkan penyimpanan data secara lokal pada perangkat seperti smartphone atau tablet dengan menggunakan SQLite sebagai basis datanya.
Dalam database Android, kita bisa melakukan berbagai macam operasi seperti menambahkan data baru (Create), membaca data yang sudah tersimpan (Read), mengubah data yang ada (Update), dan menghapus data yang tidak dibutuhkan lagi (Delete).
Bagaimana Cara Membuat Database Android?
Langkah pertama dalam pembuatan database Android adalah dengan membuat sebuah kelas yang akan menjadi representasi dari tabel yang akan dibuat. Selanjutnya, kita perlu menentukan struktur tabel dengan menambahkan kolom-kolom yang diperlukan.
Nama Kolom |
Tipe Data |
Keterangan |
---|---|---|
_id |
INTEGER |
Primary Key |
judul |
TEXT |
Judul Buku |
penulis |
TEXT |
Nama Penulis Buku |
penerbit |
TEXT |
Nama Penerbit |
tahun_terbit |
INTEGER |
Tahun Terbit Buku |
Setelah struktur tabel ditentukan, selanjutnya kita perlu membuat kelas untuk mengelola database tersebut. Berikut adalah contoh kelas DatabaseHelper yang bisa digunakan:
public class DatabaseHelper extends SQLiteOpenHelper {public static final String DATABASE_NAME = "daftar_buku.db";public static final int DATABASE_VERSION = 1;public DatabaseHelper(Context context) {super(context, DATABASE_NAME, null, DATABASE_VERSION);}@Overridepublic void onCreate(SQLiteDatabase db) {String SQL_CREATE_ENTRIES = "CREATE TABLE " + DaftarBukuContract.DaftarBukuEntry.TABLE_NAME + " (" +DaftarBukuContract.DaftarBukuEntry._ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +DaftarBukuContract.DaftarBukuEntry.COLUMN_JUDUL + " TEXT NOT NULL, " +DaftarBukuContract.DaftarBukuEntry.COLUMN_PENULIS + " TEXT NOT NULL, " +DaftarBukuContract.DaftarBukuEntry.COLUMN_PENERBIT + " TEXT NOT NULL, " +DaftarBukuContract.DaftarBukuEntry.COLUMN_TAHUN_TERBIT + " INTEGER NOT NULL);";db.execSQL(SQL_CREATE_ENTRIES);}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {db.execSQL("DROP TABLE IF EXISTS " + DaftarBukuContract.DaftarBukuEntry.TABLE_NAME);onCreate(db);}}
Nah, itulah cara membuat database Android dengan menggunakan SQLiteOpenHelper.
Bagaimana Cara CRUD pada Database Android?
Setelah kita membuat struktur tabel dan kelas DatabaseHelper, selanjutnya kita bisa melakukan operasi CRUD pada database Android. Berikut adalah contoh kode untuk melakukan operasi CRUD:
1. Create
Untuk melakukan operasi Create pada database Android, kita perlu membuat sebuah metode dalam kelas DatabaseHelper. Berikut adalah contoh kode:
public long tambahBuku(String judul, String penulis, String penerbit, int tahun_terbit) {SQLiteDatabase db = this.getWritableDatabase();ContentValues values = new ContentValues();values.put(DaftarBukuContract.DaftarBukuEntry.COLUMN_JUDUL, judul);values.put(DaftarBukuContract.DaftarBukuEntry.COLUMN_PENULIS, penulis);values.put(DaftarBukuContract.DaftarBukuEntry.COLUMN_PENERBIT, penerbit);values.put(DaftarBukuContract.DaftarBukuEntry.COLUMN_TAHUN_TERBIT, tahun_terbit);long newRowId = db.insert(DaftarBukuContract.DaftarBukuEntry.TABLE_NAME, null, values);return newRowId;}
Dalam kode di atas, kita membuat metode tambahBuku yang menerima empat parameter yaitu judul, penulis, penerbit, dan tahun_terbit. Selanjutnya, kita membuka database dengan metode getWritableDatabase(), membuat object ContentValues yang berisi data yang akan ditambahkan, lalu memanggil metode insert() untuk menambahkan data tersebut ke dalam tabel.
2. Read
Untuk melakukan operasi Read pada database Android, kita perlu membuat sebuah metode dalam kelas DatabaseHelper. Berikut adalah contoh kode:
public Cursor getAllBuku() {SQLiteDatabase db = this.getReadableDatabase();String[] projection = {DaftarBukuContract.DaftarBukuEntry._ID,DaftarBukuContract.DaftarBukuEntry.COLUMN_JUDUL,DaftarBukuContract.DaftarBukuEntry.COLUMN_PENULIS,DaftarBukuContract.DaftarBukuEntry.COLUMN_PENERBIT,DaftarBukuContract.DaftarBukuEntry.COLUMN_TAHUN_TERBIT};Cursor cursor = db.query(DaftarBukuContract.DaftarBukuEntry.TABLE_NAME,projection,null,null,null,null,null);return cursor;}
Dalam kode di atas, kita membuat metode getAllBuku yang mengembalikan Cursor dari seluruh data yang ada di tabel.
3. Update
Untuk melakukan operasi Update pada database Android, kita perlu membuat sebuah metode dalam kelas DatabaseHelper. Berikut adalah contoh kode:
public int updateBuku(long id, String judul, String penulis, String penerbit, int tahun_terbit) {SQLiteDatabase db = this.getWritableDatabase();ContentValues values = new ContentValues();values.put(DaftarBukuContract.DaftarBukuEntry.COLUMN_JUDUL, judul);values.put(DaftarBukuContract.DaftarBukuEntry.COLUMN_PENULIS, penulis);values.put(DaftarBukuContract.DaftarBukuEntry.COLUMN_PENERBIT, penerbit);values.put(DaftarBukuContract.DaftarBukuEntry.COLUMN_TAHUN_TERBIT, tahun_terbit);String selection = DaftarBukuContract.DaftarBukuEntry._ID + " = ?";String[] selectionArgs = { String.valueOf(id) };int count = db.update(DaftarBukuContract.DaftarBukuEntry.TABLE_NAME,values,selection,selectionArgs);return count;}
Dalam kode di atas, kita membuat metode updateBuku yang menerima lima parameter yaitu id, judul, penulis, penerbit, dan tahun_terbit. Selanjutnya, kita membuka database dengan metode getWritableDatabase(), membuat object ContentValues yang berisi data yang akan diubah, lalu memanggil metode update() untuk mengubah data tersebut di dalam tabel.
4. Delete
Untuk melakukan operasi Delete pada database Android, kita perlu membuat sebuah metode dalam kelas DatabaseHelper. Berikut adalah contoh kode:
public int hapusBuku(long id) {SQLiteDatabase db = this.getWritableDatabase();String selection = DaftarBukuContract.DaftarBukuEntry._ID + " = ?";String[] selectionArgs = { String.valueOf(id) };int count = db.delete(DaftarBukuContract.DaftarBukuEntry.TABLE_NAME,selection,selectionArgs);return count;}
Dalam kode di atas, kita membuat metode hapusBuku yang menerima satu parameter yaitu id. Selanjutnya, kita membuka database dengan metode getWritableDatabase(), lalu memanggil metode delete() untuk menghapus data tersebut di dalam tabel.
FAQ
1. Apa itu SQLiteOpenHelper?
SQLiteOpenHelper adalah kelas bawaan dari Android untuk membantu pengembangan aplikasi yang membutuhkan database lokal dengan menggunakan SQLite. Kelas ini menyediakan metode untuk membuat database, membuka database, dan mengelola versi database.
2. Apa itu ContentValues?
ContentValues adalah kelas bawaan dari Android yang digunakan untuk memudahkan kita dalam mengirim data ke database. Dengan menggunakan ContentValues, kita tidak perlu membuat objek POJO untuk setiap tabel yang ada di database SQLite.
3. Apa itu Cursor dalam database Android?
Cursor adalah objek yang digunakan untuk membaca data hasil query dari database SQLite. Cursor ini dibuat oleh kelas SQLiteOpenHelper atau SQLiteDatabase dan bisa digunakan untuk membaca data yang ditemukan dalam file database.
Penutup
Demikianlah tutorial tentang cara CRUD pada database Android dengan cara yang sederhana. Semoga tulisan ini bisa menjadi referensi bagi Sobat Sederhana yang baru memulai belajar membuat aplikasi Android dengan database. Jangan lupa untuk selalu mempraktikkan setiap kode yang telah dijelaskan agar pemahaman Sobat Sederhana semakin kuat.
Semoga Bermanfaat dan sampai jumpa di artikel menarik lainnya!