C.R.U.D

Definisi

Dalam dunia programming, istilah CRUD pasti sudah tidak asing lagi. CRUD adalah akronim dari empat operasi dasar yang umum digunakan untuk mengelola data, yaitu CREATE, READ, UPDATE, dan DELETE.

CREATE adalah operasi untuk membuat sebuah data object yang sebelumnya tidak ada.

READ adalah operasi untuk membaca data object yang sudah dibuat sebelumnya.

UPDATE adalah operasi untuk memperbarui bagian dari sebuah data object yang sudah ada sebelumnya.

DELETE adalah operasi untuk menghapus sebuah data object.

Implementasi

Banyak sekali teknologi terapan yang ada saat ini yang secara langsung ataupun tidak langsung mengadopsi empat operasi dasar ini.

Kita ambil contol SQL statement yang umumnya digunakan dalam operasi database. Kita mengenal statement INSERT (C), SELECT (R), UPDATE (U), dan DELETE (D).

Contoh lain bisa juga kita temukan di dalam HTTP request yang sering dipakai dalam mengkakses website di internet. Bisa kita dapatkan verbs semacam POST (C), GET (R), PUT (U), dan DELETE (D).

Di user interface, misalnya sebuah form, bisa juga kita dapatkan implementasi dari empat operasi dasar tersebut. Ketika kita menekan tombol SAVE, itu adalah operasi CREATE atau UPDATE, tergantung apakah datanya sudah ada sebelumnya atau tidak. Ketika form tersebut memuat data yang sudah dibuat sebelumnya, itu adalah operasi READ. Dan tentu saja ketika ada tombol DELETE atau REMOVE, kita sudah bisa menebak operasi apa yang ada di baliknya bukan?

READ/WRITE

Jika diperhatikan sifat dan efek yang ditimbulkannya, operasi CRUD sebenarnya bisa dikelompokkan menjadi dua operasi dasar lagi, yaitu READ dan WRITE.

Operasi READ hanya akan mengakses data tanpa menimbulkan perubahan terhadap data object.

Sedangkan operasi CREAT, UPDATE, dan DELETE bisa dikelompokkan sebagai operasi WRITE yang akan menimbulkan perubahan terhadap data object.

Sifat dan efek dari operasi-operasi tersebut sangat penting untuk dipahami setidaknya untuk hal-hal berikut:

  • secara umum, operasi READ lebih “aman” karena tidak menimbulkan perubahan meskipun dilakukan berkali-kali. Ingat, kata “aman” di sini hanyalah berkaitan dengan perubahan data, bukan dengan Security ataupun hak akses yang berada di luar cakupan pembahasan
  • secara umum, operasi READ akan lebih banyak dilakukan oleh sebuah aplikasi karena biasanya operasi WRITE pun akan didahului oleh operasi READ untuk validasi data. Hal ini tentu akan berpengaruh terhadap performance sebuah aplikasi jika tidak dihandle dengan benar
  • karena operasi WRITE menimbulkan efek perubahan terhadap data, maka akan rentan terhadap masalah konsistensi data jika tidak dihandle dengan benar. Salah satu hal yang paling sering ditemui adalah masalah concurrency, yaitu operasi yang harus dilakukan sesuai dengan urutan yang benar.

Karena perbedaan sifat ini, ada sebagian Developers yang lebih suka mengelompokkan operasi READ dan WRITE di dalam model yang terpisah, misalnya melalui pattern CQRS. Mengenai apa dan bagaimana CQRS ini diimplementasikan, akan kita bahas di lain kesempatan.

Penutup

Dari ulasan singkat di atas, bisa kita simpulkan bahwa CRUD adalah operasi dasar yang hampir pasti selalu ditemui dalam setiap implementasi pemrograman. Jikapun ada operasi lain, maka hampir selalu dipastikan juga bahwa itu adalah operasi turunan atau kombinasi dari operasi dasar tersebut. Penting untuk memahami sifat dari masing-masing operasi tersebut, karena itu akan sangat membantu kita untuk menetapkan strategi yang tepat dalam mengimplemntasikannya.

Diterbitkan oleh Frandi

A fulltime daddy, parttime coder ^^

Rancang situs seperti ini dengan WordPress.com
Mulai