Dalam pengembangan aplikasi Android, menghapus data dari database SQLite adalah salah satu tugas yang umum dilakukan. Ini memungkinkan pengguna untuk mengelola informasi dengan lebih efisien dan memastikan kebersihan data dalam aplikasi. Pada artikel ini, kita akan mempelajari langkah-langkah untuk menghapus data dari database SQLite dalam konteks pengembangan aplikasi Android.
Langkah 1: Identifikasi Data yang Akan Dihapus
Langkah pertama adalah mengidentifikasi data yang akan dihapus. Dalam contoh ini, kita akan menghapus entri mahasiswa berdasarkan ID mahasiswa yang dipilih oleh pengguna.
Langkah 2: Membuat Activity untuk Menghapus Data
Pertama, kita perlu membuat activity khusus yang akan bertanggung jawab untuk menghapus data dari database SQLite.
Mahasiswa_Hapus.kt
package com.android.kampus
import android.content.Intent
import android.database.sqlite.SQLiteDatabase
import android.os.Bundle
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
class Mahasiswa_Hapus : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContentView(R.layout.mahasiswa_hapus)
//tangkap dulu id_mahasiswa_terpilih, karena dia yang mau kita hapus
val id_mahasiswa_terpilih:String = intent.getStringExtra("id_mahasiswa_terpilih").toString()
//connect ke db
val dbkampus: SQLiteDatabase = openOrCreateDatabase("kampus", MODE_PRIVATE, null)
//query hapus data
val query = dbkampus.rawQuery("DELETE FROM mahasiswa WHERE id_mahasiswa='$id_mahasiswa_terpilih'", null)
query.moveToNext()
//pindah ke halaman utama
val pindah:Intent = Intent(this, Mahasiswa::class.java)
startActivity(pindah)
}
}
Langkah 3: Menambahkan Tombol Hapus pada Antarmuka Pengguna
Di antarmuka pengguna, kita perlu menyediakan tombol atau aksi yang memicu proses penghapusan data. Misalnya, dalam contoh ini, tombol hapus dapat ditempatkan di sebelah setiap entri mahasiswa di dalam daftar.
mahasiswa_item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
android:layout_margin="5dp">
<ImageView
android:id="@+id/iv_foto"
android:layout_width="200dp"
android:layout_height="200dp"
android:src="@drawable/noimage"
android:scaleType="centerCrop"></ImageView>
<TextView
android:id="@+id/txt_nim"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="NIM Mahasiswa"
android:textSize="18sp"
android:textColor="#333333"
android:layout_marginBottom="5dp"></TextView>
<TextView
android:id="@+id/txt_nama"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nama Mahasiswa"
android:textSize="16sp"
android:textColor="#333333"
android:layout_marginBottom="5dp"></TextView>
<Button
android:id="@+id/btn_hapus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hapus"></Button>
</LinearLayout>
Langkah 4: Implementasi Fungsi Hapus pada Activity Utama
Tambahkan fungsi hapusMahasiswa()
ke dalam activity utama atau fragment yang relevan.
Mahasiswa_Item.kt
package com.android.kampus
import android.content.Context
import android.content.Intent
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Button
import android.widget.ImageView
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.RecyclerView.ViewHolder
import java.time.temporal.ValueRange
class Mahasiswa_Item (val ini:Context, val id_mahasiswa:MutableList<String>, val nama:MutableList<String>, val nim:MutableList<String>, val foto:MutableList<Int>) : RecyclerView.Adapter<Mahasiswa_Item.ViewHolder>(){
//dapatkan dulu layoutnya mahasiswa_item
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): Mahasiswa_Item.ViewHolder {
val view = LayoutInflater.from(parent.context).inflate(R.layout.mahasiswa_item, parent, false)
return ViewHolder(view)
}
class ViewHolder(ItemView: View) : RecyclerView.ViewHolder(ItemView){
val txt_nama:TextView = ItemView.findViewById(R.id.txt_nama)
val txt_nim:TextView = ItemView.findViewById(R.id.txt_nim)
val iv_foto:ImageView = ItemView.findViewById(R.id.iv_foto)
val btn_hapus:Button = ItemView.findViewById(R.id.btn_hapus)
}
override fun getItemCount(): Int {
return nama.size
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.txt_nama.text = nama.get(position)
holder.txt_nim.text = nim.get(position)
holder.iv_foto.setImageResource(foto.get(position))
//btn_hapus ditekan
holder.btn_hapus.setOnClickListener {
//dapatkan id_mahasiswa sesuai urutan tombol yang ditekan
val id_mahasiswa_terpilih:String = id_mahasiswa.get(position)
//larikan ke activity mahasiswa_hapus
val pindah:Intent = Intent(ini, Mahasiswa_Hapus::class.java)
pindah.putExtra("id_mahasiswa_terpilih", id_mahasiswa_terpilih)
ini.startActivity(pindah)
}
}
}
Dengan langkah-langkah di atas, kita telah berhasil menghapus data dari database SQLite dalam aplikasi Android. Pastikan untuk menguji aplikasi Anda secara menyeluruh untuk memastikan bahwa proses penghapusan data berjalan dengan lancar dan sesuai dengan harapan pengguna.
Dengan demikian, pengguna dapat dengan mudah mengelola data dalam aplikasi Anda dengan menghapus entri yang tidak diperlukan lagi dari database.