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

sunting

Terminologi CRUD kemungkinan pertama kali dipopulerkan pada tahun 1983 [2] oleh James Martin dalam bukunya Managing the data-base environment.

Konsep

sunting

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.

Penggunaan

sunting

Basis Data

sunting

Akronim CRUD merujuk pada operasi utama yang diimplementasikan dalam basis data. Setiap operasi dalam akronim dipetakan ke pernyataan Bahasa Kueri Terstruktur (SQL) standar.[3]

Operasi CRUD Sintaks SQL
Create INSERT
Read SELECT
Update UPDATE
Delete 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.

API RESTful

sunting

Akronim CRUD juga muncul dalam diskusi RESTful API . Setiap operasi dapat dipetakan ke metode Hypertext Transfer Protocol (HTTP):

Operasi CRUD Metode HTTP
Create POST, PUT jika kita tidak memiliki `id` atau `uuid`
Read GET
Update PUT untuk mengganti, PATCH untuk memodifikasi
Delete DELETE

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

sunting

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.

Variasi lainnya

sunting

Variasi lain dari operasi CRUD meliputi:

  • ABCD (add, browse, change, delete)
  • CRUDL (create, read, update, delete, list)
  • BREAD (browse, read, edit, add, delete)[7]
  • DAVE (delete, add, view, edit)[8]
  • CRAP (create, replicate, append, process)[9]

Lihat juga

sunting

Referensi

sunting
  1. ^ Martin, James (1983). Managing the Data-base Environment. Englewood Cliffs, New Jersey: Prentice-Hall. hlm.ย 381. ISBNย 0-135-50582-8.
  2. ^ Martin, James (1983). Managing the data-base environment. Englewood Cliffs, New Jersey: Prentice-Hall. hlm.ย 381. ISBNย 0135505828.
  3. ^ Maryam Sulemani (7 April 2021). "CRUD operations explained: Create, read, update, delete". Diakses tanggal 14 December 2021.
  4. ^ Fielding, Roy (June 2014). "Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content, Section 4". IETF. Internet Engineering Task Force (IETF). RFCย 7231. Diakses tanggal 2018-02-14.
  5. ^ 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."
  6. ^ Kann, Charles. Programming for the Web - From Soup to Nuts - Implementing a Complete GIS Web Page. Gettysburg College. hlm.ย 6.1 CRUD Interface.
  7. ^ Paul M. Jones (2008). "BREAD, not CRUD".
  8. ^ McGaw, James (21 June 2010). Beginning Django E-Commerce. Apress. hlm.ย 41. ISBNย 9781430225362.
  9. ^ "CRAP and CRUD: From Database to Datacloud - Direct2DellEMC". Direct2DellEMC (dalam bahasa American English). 2012-11-13. Diakses tanggal 2018-01-30.

๐Ÿ“š Artikel Terkait di Wikipedia

Rantai blok

private. Public blockchains have many users and there are no controls over who can read, upload or delete the data and there are an unknown number of pseudonymous

Pangkalan data berorientasi dokumen

CRUDย : CREATE (tulis atau buat, serupa dengan INSERT atau sisipkan). READ (kueri atau pengambilan data, serupa dengan FIND atau temukan). UPDATE (pembaruan

Daftar kata yang dilindungi di SQL

Words". Mimer SQL Manuals. Mimer AB. Diakses tanggal 2020-12-23. "Keywords and Reserved Words". MySQL 8.0 Reference Manual. Oracle Corporation. Diakses

Daftar episode Alvin and the Chipmunks

(August 17, 2015). "SHOWBUZZDAILY's Top 100 Friday Cable Ratings (& Network Update): 8.14.2015". SHOWBUZZDAILY. Diarsipkan dari asli tanggal 2016-04-10. Diakses