Android CRUD Tutorial: Cara Membuat Aplikasi Input Data Sederhana (Create, Read, Update, Delete) di Android Studio
Diperbarui: 4 Desember 2025
Ringkasan cepat:
- CRUD (Create, Read, Update, Delete) adalah empat operasi dasar yang wajib dikuasai ketika membuat aplikasi Android yang mengelola data (misalnya daftar barang, catatan, atau kontak).
- Untuk pemula, CRUD bisa dibuat dengan kombinasi: Android Studio + Kotlin + SQLite/Room, sehingga data tersimpan offline di HP tanpa server.
- Langkah utamanya: desain tabel database, buat model data, siapkan helper (SQLiteOpenHelper) atau Room, buat layar input, tampilkan list (RecyclerView), dan tambahkan fitur edit & hapus.
- Tutorial ini cocok dijadikan modul PDF untuk siswa/mahasiswa: bagi per bab, lengkap dengan screenshot dan latihan di setiap tahap.
- Dari sisi syariat, gunakan ilmu CRUD untuk aplikasi yang halal: administrasi, edukasi, manajemen usaha kecil, dan sejenisnya — bukan untuk penipuan, manipulasi data, atau proyek yang mendukung maksiat.
Daftar isi
- Kapan sebaiknya mulai belajar Android CRUD?
- Apa itu CRUD di Android dan alur kerjanya?
- Syarat sebelum membuat aplikasi Android CRUD sederhana
- Langkah-langkah membuat aplikasi input data (CRUD) di Android Studio
- Tips penting saat belajar CRUD Android untuk pemula
- Risiko dan kesalahan umum dalam proyek CRUD Android
- FAQ seputar Android CRUD tutorial
- Baca juga di Beginisob.com
Kapan sebaiknya mulai belajar Android CRUD?
Kamu sudah saatnya belajar CRUD Android kalau:
- Sudah bisa membuat aplikasi Android sederhana (satu Activity, satu layout, tombol dan TextView).
- Mulai butuh menyimpan data: daftar nama siswa, daftar barang, catatan keuangan, jadwal hafalan, dll.
- Menyiapkan tugas akhir / projek mata kuliah yang biasanya wajib ada CRUD di dalamnya.
- Ingin melanjutkan dari tutorial “aplikasi Android online shop” atau “menghubungkan Android ke database MySQL” menjadi pengelolaan data yang lebih rapi.
CRUD adalah “nafas” banyak aplikasi. Kalau sudah paham CRUD, kamu lebih siap melanjutkan ke aplikasi toko online, integrasi API, atau koneksi ke MySQL di server.
Apa itu CRUD di Android dan alur kerjanya?
CRUD adalah singkatan dari:
- Create – menambah data baru (misalnya tambah barang).
- Read – membaca/menampilkan data (misalnya list semua barang).
- Update – mengubah data (misalnya edit nama atau harga barang).
- Delete – menghapus data yang sudah tidak diperlukan.
Di Android, alurnya kira-kira seperti ini:
- Pengguna mengisi form (EditText) lalu menekan tombol “Simpan”.
- Aplikasi memanggil fungsi
insert()untuk menyimpan ke database (Create). - Saat tampilan dibuka, aplikasi menjalankan
select()untuk mengambil semua data dan menampilkannya (Read). - Saat pengguna menekan tombol “Edit”, aplikasi memuat data lama, mengizinkan perubahan, lalu memanggil
update()(Update). - Saat pengguna menekan “Hapus”, aplikasi memanggil
delete()untuk menghilangkan data dari database (Delete).
Database yang umum dipakai untuk CRUD offline di Android adalah SQLite (bisa langsung atau lewat library Room).
Syarat sebelum membuat aplikasi Android CRUD sederhana
1. Perangkat & tools
- Laptop/PC dengan Android Studio terinstal (lihat panduan lengkap di artikel tentang Android Studio full tutorial).
- HP Android untuk testing (opsional, tapi sangat disarankan).
- Koneksi internet untuk unduh dependency jika diperlukan, meski CRUD offline sendiri tidak butuh internet saat dijalankan.
2. Ilmu yang sebaiknya sudah dikuasai
- Dasar Kotlin (fungsi, variabel, class sederhana).
- Dasar layout XML di Android (LinearLayout, TextView, EditText, Button).
- Cara menjalankan aplikasi di emulator atau HP fisik.
3. Syarat dari sudut pandang syariat
- Niat belajar untuk menambah manfaat dan penghidupan yang halal (misalnya membuat aplikasi administrasi sekolah, masjid, UMKM).
- Hindari menjual aplikasi yang jelas-jelas membantu maksiat (judi, riba, manipulasi data untuk menipu).
- Jika aplikasi menyimpan data pribadi orang, jaga amanah: jangan sembarangan menyebarkan data tanpa izin.
Langkah-langkah membuat aplikasi input data (CRUD) di Android Studio
Contoh yang kita buat: aplikasi daftar barang sederhana dengan field nama barang dan harga. Data disimpan di SQLite lokal, ditampilkan di list, bisa diedit dan dihapus.
Langkah 1 – Rancang struktur tabel
Buat satu tabel bernama barang dengan kolom:
id(Integer, primary key, auto-increment)nama(Text)harga(Integer atau Real)
Desain ini nanti akan dituangkan ke perintah SQL di helper/database class.
Langkah 2 – Buat project baru di Android Studio
- Buka Android Studio > New Project > pilih Empty Activity.
- Nama misalnya:
CrudBarangApp, bahasa Kotlin. - Tunggu proses Gradle build sampai selesai.
Langkah 3 – Buat layout input data dan list
Untuk pemula, kamu bisa memakai satu Activity dengan bagian atas form input dan bagian bawah list data. Kalau ingin lebih rapi, bisa pakai Activity untuk list, dan Activity lain untuk form tambah/edit.
Contoh layout sederhana (activity_main.xml)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<EditText
android:id="@+id/edtNama"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Nama barang" />
<EditText
android:id="@+id/edtHarga"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number"
android:hint="Harga (angka)" />
<Button
android:id="@+id/btnSimpan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Simpan"
android:layout_marginTop="8dp" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rvBarang"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginTop="16dp" />
</LinearLayout>
Langkah 4 – Buat model data Barang
data class Barang(
val id: Int = 0,
val nama: String,
val harga: Int
)
Langkah 5 – Buat helper SQLite (DatabaseHelper)
Untuk pemula, kita pakai SQLiteOpenHelper. Buat file Kotlin baru DatabaseHelper.kt:
class DatabaseHelper(context: Context) :
SQLiteOpenHelper(context, "db_barang", null, 1) {
override fun onCreate(db: SQLiteDatabase) {
val createTable = """
CREATE TABLE barang (
id INTEGER PRIMARY KEY AUTOINCREMENT,
nama TEXT NOT NULL,
harga INTEGER NOT NULL
)
""".trimIndent()
db.execSQL(createTable)
}
override fun onUpgrade(db: SQLiteDatabase, oldVersion: Int, newVersion: Int) {
db.execSQL("DROP TABLE IF EXISTS barang")
onCreate(db)
}
fun insertBarang(nama: String, harga: Int): Long {
val db = writableDatabase
val values = ContentValues().apply {
put("nama", nama)
put("harga", harga)
}
return db.insert("barang", null, values)
}
fun getAllBarang(): List<Barang> {
val list = mutableListOf<Barang>()
val db = readableDatabase
val cursor = db.rawQuery("SELECT * FROM barang ORDER BY id DESC", null)
cursor.use {
if (it.moveToFirst()) {
do {
val id = it.getInt(it.getColumnIndexOrThrow("id"))
val nama = it.getString(it.getColumnIndexOrThrow("nama"))
val harga = it.getInt(it.getColumnIndexOrThrow("harga"))
list.add(Barang(id, nama, harga))
} while (it.moveToNext())
}
}
return list
}
fun updateBarang(id: Int, nama: String, harga: Int): Int {
val db = writableDatabase
val values = ContentValues().apply {
put("nama", nama)
put("harga", harga)
}
return db.update("barang", values, "id = ?", arrayOf(id.toString()))
}
fun deleteBarang(id: Int): Int {
val db = writableDatabase
return db.delete("barang", "id = ?", arrayOf(id.toString()))
}
}
Di helper ini sudah ada fungsi lengkap untuk Create, Read, Update, Delete. Nantinya, MainActivity akan memanggil fungsi-fungsi ini.
Langkah 6 – Siapkan adapter RecyclerView
Adapter bertugas menampilkan list barang dan menyediakan tombol edit/hapus di setiap item.
class BarangAdapter(
private var items: List<Barang>,
private val onEdit: (Barang) -> Unit,
private val onDelete: (Barang) -> Unit
) : RecyclerView.Adapter<BarangAdapter.BarangViewHolder>() {
inner class BarangViewHolder(view: View) : RecyclerView.ViewHolder(view) {
val txtNama: TextView = view.findViewById(R.id.txtNama)
val txtHarga: TextView = view.findViewById(R.id.txtHarga)
val btnEdit: Button = view.findViewById(R.id.btnEdit)
val btnDelete: Button = view.findViewById(R.id.btnDelete)
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BarangViewHolder {
val view = LayoutInflater.from(parent.context)
.inflate(R.layout.item_barang, parent, false)
return BarangViewHolder(view)
}
override fun onBindViewHolder(holder: BarangViewHolder, position: Int) {
val item = items[position]
holder.txtNama.text = item.nama
holder.txtHarga.text = "Rp ${item.harga}"
holder.btnEdit.setOnClickListener { onEdit(item) }
holder.btnDelete.setOnClickListener { onDelete(item) }
}
override fun getItemCount() = items.size
fun setData(newItems: List<Barang>) {
items = newItems
notifyDataSetChanged()
}
}
Layout item_barang.xml bisa berupa LinearLayout horizontal dengan dua TextView dan dua tombol kecil.
Langkah 7 – Implementasi CRUD di MainActivity
Gambaran logika di MainActivity.kt:
- Inisialisasi
DatabaseHelperdanRecyclerView. - Ketika tombol Simpan diklik:
- Jika mode “tambah”, panggil
insertBarang(). - Jika mode “edit”, panggil
updateBarang().
- Jika mode “tambah”, panggil
- Saat aplikasi dibuka atau selesai operasi CRUD, panggil
getAllBarang()dan perbarui adapter. - Saat tombol hapus di item ditekan, panggil
deleteBarang(), lalu refresh list.
Langkah 8 – Tambahkan validasi sederhana
- Cek apakah nama dan harga tidak kosong.
- Cegah input harga bukan angka (gunakan
inputType="number"dan tangani jika parsing gagal). - Tampilkan pesan Toast saat data berhasil disimpan/diedit/dihapus.
Langkah 9 – Uji coba di HP
- Jalankan aplikasi di HP atau emulator.
- Coba tambah beberapa data barang.
- Pastikan fitur edit dan hapus berjalan sesuai yang diharapkan.
- Jika sudah stabil, kamu bisa lanjut ke pengembangan lanjutan, misalnya sinkronisasi ke server MySQL seperti di artikel khusus koneksi Android–MySQL.
Tips penting saat belajar CRUD Android untuk pemula
- Mulai dari tabel kecil: dua atau tiga kolom sudah cukup untuk memahami alur CRUD.
- Tulis ulang kode sendiri: jangan hanya copy–paste; pahami tiap baris, terutama di DatabaseHelper.
- Biasakan logging: gunakan
Log.d()untuk melihat alur eksekusi ketika ada error. - Setelah paham SQLite, pelajari Room: Room membuat akses database lebih aman dan rapi (DAO, entity, dll.).
- Gunakan ilmu untuk hal halal: misalnya aplikasi administrasi masjid, koperasi syariah kecil, atau UMKM yang legal.
Risiko dan kesalahan umum dalam proyek CRUD Android
- Tabel tanpa primary key: membuat update/hapus sulit dan berisiko mengubah data yang salah.
- Tidak menangani error: crash saat input kosong atau harga bukan angka.
- Query di main thread: untuk data kecil masih aman, tapi untuk data besar sebaiknya pakai thread/Coroutine.
- Tidak memikirkan backup data: jika aplikasi dihapus, semua data hilang; untuk beberapa kasus, perlu sinkronisasi ke server.
- Menggunakan data pengguna tanpa izin: misalnya membocorkan daftar pelanggan ke pihak lain; ini melanggar amanah dan bisa berdampak hukum.
FAQ seputar Android CRUD tutorial
1. Apakah pemula harus langsung memakai Room, atau cukup SQLiteOpenHelper?
Untuk memahami konsep dasar CRUD, SQLiteOpenHelper sudah cukup. Setelah paham alur insert–select–update–delete, kamu bisa naik level ke Room agar kode lebih rapi dan aman.
2. Apakah CRUD offline ini bisa disambungkan ke database MySQL di server?
Bisa. Konsepnya: Android tidak langsung mengakses MySQL, tapi lewat API (PHP/Node.js/dll.). Di Beginisob sudah ada panduan khusus cara menghubungkan aplikasi Android dengan database MySQL melalui API backend.
3. Apakah CRUD wajib ada di semua aplikasi?
Tidak, tapi mayoritas aplikasi nyata (toko online, catatan keuangan, daftar tugas, dll.) hampir pasti butuh CRUD. Karena itu, CRUD sering jadi materi inti di modul Android pemula.
4. Bolehkan tutorial CRUD ini dijadikan modul PDF untuk siswa?
Boleh, selama kamu menyusun dengan bahasamu sendiri dan tidak menjiplak modul berbayar orang lain secara mentah. Menyebarkan modul CRUD sebagai bahan ajar juga bisa jadi ladang pahala ilmu, insyaAllah.
5. Setelah menguasai CRUD Android, apa langkah lanjutan?
Langkah berikutnya: pelajari RecyclerView lanjutan, pencarian dan filter, penyimpanan data dengan Room, sinkronisasi dengan API (REST), lalu siapkan aplikasi untuk di-publish dan dimonitor dengan tools analitik yang halal dan sesuai kebutuhan.
Baca juga di Beginisob.com
- Cara menghubungkan aplikasi Android dengan database MySQL
- Cara membuat aplikasi Android online shop (panduan lengkap)
- Cara membuat aplikasi menjadi APK di Android
- Panduan Google Analytics 4 (GA4) untuk pemula: cara membaca data trafik website & aplikasi
- Panduan NIB untuk Freelancer Online 2025: Penulis, Desainer, dan Programmer
Comments
Post a Comment