Hampir semua aktivitas Anda di aplikasi digital sebenarnya berputar pada empat aksi yang sama terhadap data. Saat mengunggah foto, Anda menambahkan data baru ke server. Saat menggulir linimasa, Anda membaca data yang sudah tersimpan. Saat mengedit profil atau menghapus komentar, Anda mengubah dan membuang data.

Empat aksi inilah yang dirangkum dalam satu istilah: CRUD. CRUD adalah singkatan dari Create, Read, Update, Delete — empat operasi dasar untuk mengelola data pada hampir semua aplikasi. Karena polanya berulang di mana-mana, CRUD sering disebut sebagai kosakata pertama yang perlu dikuasai siapa pun yang mulai belajar pengembangan aplikasi.

Dalam artikel ini, kita akan membahas apa itu CRUD, bentuk nyatanya di database dan REST API, contohnya di aplikasi sehari-hari, sampai hal-hal yang perlu Anda perhatikan saat mulai mempraktikkannya.

Apa Itu CRUD?

CRUD adalah akronim dari Create (membuat), Read (membaca), Update (memperbarui), dan Delete (menghapus). Keempatnya merupakan operasi paling dasar yang dilakukan aplikasi terhadap data yang tersimpan, umumnya di dalam database (sistem penyimpanan data yang terstruktur). Jadi, kalau ada yang bertanya CRUD artinya apa atau kepanjangan CRUD itu apa, jawabannya sesederhana itu: membuat, membaca, memperbarui, dan menghapus data.

Istilah ini bukan barang baru. CRUD dipopulerkan oleh James Martin lewat bukunya Managing the Data-base Environment yang terbit pada 1983. Lebih dari empat dekade kemudian, akronim ini tetap relevan karena kebutuhannya memang tidak pernah berubah: data selalu perlu dibuat, dibaca, diubah, dan dihapus.

Fungsi utama CRUD adalah menjadi kerangka berpikir saat merancang fitur pengelolaan data. Ketika Anda membangun fitur apa pun yang menyimpan sesuatu — akun pengguna, produk, komentar — pertanyaan pertamanya selalu sama. Bagaimana data dibuat? Bagaimana data ditampilkan? Bagaimana data diubah? Bagaimana data dihapus? Empat pertanyaan itu adalah CRUD dalam bentuk paling praktis.

Perlu diperhatikan, CRUD bukan bahasa pemrograman dan bukan pula software tertentu. CRUD adalah pola atau konsep. Anda akan menemukan pola yang sama di MySQL, MongoDB, REST API, sampai framework seperti Laravel — hanya nama perintahnya yang berbeda-beda.

Empat Operasi CRUD di Database

Bentuk paling klasik dari operasi CRUD ada di database relasional. Supaya mudah diikuti, kita pakai satu kasus yang sama untuk keempat operasi: tabel pelanggan pada database toko online yang dikelola dengan MySQL. Semua perintah ditulis dalam SQL (Structured Query Language), bahasa standar untuk berkomunikasi dengan database relasional.

Sebelum masuk ke perintahnya satu per satu, pahami dulu gambaran besarnya: keempat operasi ini bekerja pada data yang sama, tetapi dengan tujuan yang berbeda.

Diagram empat kartu operasi CRUD pada tabel pelanggan dengan perintah SQL.Diagram empat kartu operasi CRUD pada tabel pelanggan dengan perintah SQL.

Create: Menambah Data Baru

Operasi create menambahkan baris data baru ke dalam tabel. Di SQL, perintahnya adalah INSERT. Contoh berikut menambahkan satu pelanggan baru:

SQL
INSERT INTO pelanggan (nama, email, kota)
VALUES ('Rina Kartika', 'rina@example.com', 'Bandung');

Setiap kali ada pendaftaran akun baru di toko online, pada dasarnya aplikasi menjalankan perintah semacam ini di balik layar.

Read: Membaca Data

Operasi read mengambil data tanpa mengubahnya sedikit pun. Perintahnya adalah SELECT. Query (perintah permintaan data ke database) berikut menampilkan semua pelanggan yang berdomisili di Bandung:

SQL
SELECT nama, email FROM pelanggan WHERE kota = 'Bandung';

Dari keempat operasi, read adalah yang paling sering dijalankan. Satu data pelanggan mungkin hanya dibuat sekali dan diubah beberapa kali, tetapi bisa dibaca ribuan kali — setiap kali halaman profil atau riwayat belanja dibuka.

Update: Memperbarui Data

Operasi update mengubah data yang sudah ada. Contoh berikut memperbarui kota tempat tinggal pelanggan dengan id 12 yang pindah domisili:

SQL
UPDATE pelanggan SET kota = 'Semarang' WHERE id = 12;

Perhatikan klausa WHERE di akhir. Tanpa klausa ini, kolom kota di seluruh baris tabel ikut berubah menjadi Semarang — kesalahan klasik yang pernah dialami banyak programmer pemula dan akibatnya sulit dikembalikan.

Delete: Menghapus Data

Operasi delete membuang data dari tabel. Perintah berikut menghapus pelanggan dengan id 12:

SQL
DELETE FROM pelanggan WHERE id = 12;

Aturan kehati-hatian yang sama berlaku: pastikan klausa WHERE selalu ada. DELETE FROM pelanggan tanpa filter akan mengosongkan seluruh tabel dalam sekali jalan.

Selain CRUD, ada beberapa varian akronim dengan makna serupa. CRUDL menambahkan List (menampilkan daftar data), sedangkan BREAD adalah singkatan dari Browse, Read, Edit, Add, Delete. Konsep dasarnya sama; hanya cara mengelompokkannya yang sedikit berbeda.

CRUD di Tiga Lapisan Aplikasi

Anggapan yang sering keliru: CRUD hanya urusan database. Padahal pola yang sama muncul di tiga lapisan aplikasi sekaligus — antarmuka pengguna, API, dan database. Tabel berikut menunjukkan pemetaannya:

OperasiAntarmuka penggunaHTTP method di REST APIPerintah SQL
CreateForm tambah data, tombol "Simpan"POSTINSERT
ReadHalaman daftar, halaman detail, pencarianGETSELECT
UpdateForm edit, tombol "Perbarui"PUT atau PATCHUPDATE
DeleteTombol hapus, ikon tempat sampahDELETEDELETE

Pada aplikasi web modern, lapisan-lapisan ini dihubungkan oleh API (Application Programming Interface), umumnya dengan gaya REST. Saat Anda menekan tombol simpan, aplikasi mengirim request HTTP ke server, lalu server menerjemahkannya menjadi perintah SQL. Alurnya kira-kira seperti ini:

Diagram alur operasi Create pada CRUD pelanggan.Diagram alur operasi Create pada CRUD pelanggan.

Satu catatan tentang update di REST API: ada dua method yang tersedia. PUT mengganti seluruh data lama dengan data baru, sedangkan PATCH hanya mengubah bagian tertentu — misalnya memperbarui kota saja tanpa menyentuh nama dan email. Untuk aplikasi sederhana, perbedaannya terasa kecil, tetapi konvensi ini penting saat Anda mulai membaca dokumentasi API milik layanan lain.

Melihat CRUD sebagai satu konsep lintas lapisan seperti ini akan menghemat banyak waktu belajar Anda. Tombol "Simpan" di layar, endpoint POST /pelanggan, dan perintah INSERT di database bukan tiga hal yang terpisah — ketiganya adalah satu operasi create yang sama, dilihat dari sudut berbeda.

Contoh CRUD di Aplikasi Sehari-hari

Setelah memahami konsepnya, Anda akan mulai mengenali CRUD di hampir semua aplikasi yang Anda pakai. Beberapa contohnya:

  1. Media sosial: mengunggah postingan adalah Create, menggulir beranda adalah Read, mengedit caption adalah Update, dan menghapus komentar adalah Delete.
  2. E-commerce: menambahkan barang ke keranjang (Create), melihat riwayat pesanan (Read), mengubah jumlah barang di keranjang (Update), dan mengeluarkan barang dari keranjang (Delete).
  3. Aplikasi catatan: membuat catatan baru, membuka daftar catatan, menyunting isinya, lalu memindahkan catatan lama ke tempat sampah.
  4. Dashboard admin website: hampir seluruh pekerjaan admin — menambah produk, meninjau data pengguna, memperbarui harga, menghapus konten kedaluwarsa — adalah rangkaian operasi CRUD.

Karena polanya berulang di mana-mana, membangun satu aplikasi CRUD sederhana menjadi latihan standar bagi programmer pemula. Proyek kecil semacam ini memaksa Anda menyentuh semua komponen penting sekaligus: antarmuka, logika server, dan database.

CRUD di PHP dan Laravel

Di komunitas PHP Indonesia, aplikasi CRUD biasanya menjadi proyek latihan pertama: form sederhana dengan PHP dan MySQL, memakai PDO (PHP Data Objects) untuk menjalankan perintah SQL dari kode secara aman. Dari proyek sekecil ini pun, keempat operasi sudah terwakili lengkap.

Framework seperti Laravel melangkah lebih jauh dengan menjadikan CRUD sebagai struktur bawaan. Satu baris route berikut otomatis menyiapkan tujuh jalur standar untuk mengelola satu jenis data:

PHP
Route::resource('pelanggan', PelangganController::class);

Tujuh jalur itu terpetakan rapi ke operasi CRUD: index dan show untuk Read, create dan store untuk Create, edit dan update untuk Update, serta destroy untuk Delete. Pola serupa juga ada di framework lain seperti Django, Ruby on Rails, dan Express. Artinya, sekali Anda paham konsep CRUD, berpindah framework hanya soal mempelajari sintaks barunya.

Hal yang Perlu Anda Pertimbangkan

CRUD memang konsep dasar, tetapi menerapkannya di aplikasi nyata menuntut kehati-hatian. Empat hal berikut sering luput dari perhatian saat pertama kali belajar:

  1. Delete tidak selalu benar-benar menghapus: banyak aplikasi produksi memakai soft delete — data hanya ditandai terhapus, misalnya lewat kolom deleted_at, lalu disembunyikan dari pengguna tanpa dibuang dari database. Pendekatan ini memudahkan pemulihan data dan penelusuran riwayat. Hard delete (penghapusan permanen) dipakai untuk data yang memang wajib dibuang, misalnya demi memenuhi aturan privasi pengguna.
  2. Validasi input sebelum Create dan Update: jangan pernah memercayai data mentah dari pengguna. Format email perlu dicek, angka dibatasi rentangnya, dan kolom wajib dipastikan terisi. Tanpa validasi, database Anda akan cepat dipenuhi data kotor yang merepotkan di kemudian hari.
  3. Otorisasi untuk setiap operasi: pertanyaan "siapa boleh melakukan apa" wajib dijawab per operasi. Pengguna biasa boleh membaca daftar produk, tetapi hanya admin yang boleh mengubah atau menghapusnya. Operasi Update dan Delete tanpa pemeriksaan hak akses termasuk celah keamanan aplikasi yang paling sering dieksploitasi.
  4. Lindungi query dari SQL injection: input pengguna yang digabung langsung ke dalam perintah SQL membuka celah SQL injection, teknik serangan yang membajak query untuk mencuri atau merusak data. Gunakan prepared statement (query dengan nilai parameter yang dipisahkan dari perintah) di setiap operasi CRUD yang menerima input dari luar.

Satu batasan lagi yang perlu Anda sadari: tidak semua kebutuhan aplikasi selesai dengan CRUD. Laporan penjualan yang merangkum jutaan baris, transaksi yang melibatkan banyak tabel sekaligus, atau pencarian kompleks membutuhkan teknik di luar empat operasi dasar ini. CRUD adalah fondasi — bukan keseluruhan bangunan.

FAQ Seputar CRUD

CRUD adalah singkatan dari apa?

CRUD adalah singkatan dari Create, Read, Update, Delete — membuat, membaca, memperbarui, dan menghapus data. Keempatnya adalah operasi dasar pengelolaan data yang berlaku di hampir semua aplikasi.

Apakah CRUD sama dengan REST API?

Tidak. CRUD adalah kumpulan operasi terhadap data, sedangkan REST adalah gaya arsitektur untuk merancang API. Keduanya sering muncul bersamaan karena REST API umumnya menjadi jalur untuk menjalankan operasi CRUD, dengan pemetaan POST, GET, PUT/PATCH, dan DELETE.

Apakah CRUD hanya berlaku untuk database SQL?

Tidak. Database NoSQL memakai pola yang sama dengan nama perintah berbeda. MongoDB, misalnya, menyediakan insertOne untuk Create, find untuk Read, updateOne untuk Update, dan deleteOne untuk Delete.

Dari mana sebaiknya mulai belajar CRUD?

Pilih satu bahasa yang paling Anda kenal, lalu bangun satu aplikasi kecil yang utuh — misalnya aplikasi catatan dengan empat kemampuan: menambah, menampilkan, menyunting, dan menghapus catatan. Satu proyek kecil yang selesai memberi pemahaman yang jauh lebih dalam daripada sepuluh tutorial yang hanya ditonton.

Kesimpulan

CRUD adalah singkatan dari Create, Read, Update, Delete — empat operasi dasar yang menjadi kosakata pertama dalam pengelolaan data. Pola ini hadir di semua lapisan aplikasi: tombol dan form di antarmuka, HTTP method di REST API, hingga perintah INSERT, SELECT, UPDATE, dan DELETE di database.

Karena sifatnya konsep, CRUD hanya perlu dipahami sekali. Setelah itu, Anda dapat mengenali polanya di database mana pun, API mana pun, dan framework mana pun — yang berganti hanya sintaksnya. Langkah praktis untuk memulai: bangun satu aplikasi CRUD sederhana dari ujung ke ujung, dan terapkan validasi, otorisasi, serta perlindungan dari SQL injection sejak proyek pertama Anda.

Semoga artikel ini membantu.