Dalam pemrograman komputer, fungsi create, read, update, delete (CRUD; buat, baca, perbarui, hapus) adalah empat operasi dasar (tindakan) penyimpanan persisten.[1] Istilah CRUD juga terkadang digunakan untuk menggambarkanantarmuka pengguna yang memfasilitasi pengguna untuk melihat, mencari, dan mengubah informasi menggunakan fiturformulir dan laporan berbasis komputer.
Sejarah
Terminologi CRUD kemungkinan pertama kali dipopulerkan pada tahun 1983 [2] oleh James Martin dalam bukunya Managing the data-base environment.
Konsep
Data ditempatkan di suatu lokasi/area pada suatu mekanisme penyimpanan.
Fitur mendasar dari suatu lokasi penyimpanan adalah bahwa konten seharusnya dapat dibaca dan diperbarui.
Sebelum lokasi penyimpanan dapat dibaca atau diperbarui oleh sistem, ia perlu dibuat; yaitu dialokasikan dan diinisialisasi dengan konten.
Di kemudian hari, lokasi penyimpanan mungkin perlu dimusnahkan; yaitu diselesaikan dan dihapus alokasinya.
Bersama-sama keempat operasi ini membentuk operasi dasar manajemen penyimpanan yang dikenal sebagai CRUD: create, read, update, delete.
Meskipun basis data relasional merupakan bagian dari lapisan persisten umum dalam aplikasi perangkat lunak, terdapat banyak lapisan persisten lainnya. Fungsionalitas CRUD diimplementasikan sebagai contoh dengan basis data dokumen, basis data objek, basis data XML, berkas teks, atau berkas biner.
Beberapa sistem mahadata tidak mengimplementasikan UPDATE, tetapi hanya memiliki INSERT (penjurnalan) yang diberi tanda waktu, yang menyimpan versi objek yang selalu terbaru pada setiap saat.
Dalam HTTP, metode GET (baca), PUT (buat dan perbarui), POST (buat - jika kita tidak memiliki `id` atau `uuid`), dan DELETE (hapus) termasuk operasi CRUD karena metode-metode tersebut memiliki semantik manajemen penyimpanan, dalam artian, metode-metode tersebut memungkinkan agen pengguna (user agent) untuk secara langsung menyuntingsumber daya target.[4] Metode POST, di sisi lain, adalah operasi proses yang memiliki semantik spesifik target-sumber daya yang biasanya melampaui cakupan operasi CRUD.[5]
Antarmuka pengguna
Operasi CRUD juga relevan pada tingkat antarmuka pengguna di sebagian besar aplikasi. Misalnya, dalam perangkat lunak buku alamat, unit penyimpanan dasar adalah entri kontak individual. Minimalnya, perangkat lunak harus memungkinkan pengguna untuk:[6]
Create atau tambahkan entri baru
Read, mengambil, mencari, atau melihat entri yang ada
Update, atau edit entri yang ada
Delete, nonaktifkan, atau hapus entri yang ada
Karena operasi ini sangat mendasar, operasi tersebut sering didokumentasikan dan dijelaskan di bawah satu judul komprehensif seperti "manajemen kontak" atau "manajemen dokumen" secara umum.
^Roy T. Fielding (2009-03-20). "It is okay to use POST". roy.gbiv.com. Diakses tanggal 2020-04-14. POST only becomes an issue when it is used in a situation for which some other method is ideally suited: e.g., retrieval of information that should be a representation of some resource (GET), complete replacement of a representation (PUT), or any of the other standardized methods that tell intermediaries something more valuable than "this may change something." The other methods are more valuable to intermediaries because they say something about how failures can be automatically handled and how intermediate caches can optimize their behavior. POST does not have those characteristics, but that doesn't mean we can live without it. POST serves many useful purposes in HTTP, including the general purpose of "this action isn't worth standardizing."