Konsep yang tidak dapat dipisahkan dalam pembuatan sebuah aplikasi terutama aplikasi berbasis web adalah CRUDS(Create Read Update Delete Search). Mungkin selama ini Anda lebih mengenalnya sebagai CRUD(Create Read Update Delete) saja tanpa S(Search). Tapi menurut saya konsep Pencarian(Search) ini juga tidak kalah pentingnya, maka dari itu sengaja saya tambahkan.
Entah mengapa dalam setiap tutorial-tutorial, baik lokal maupun luar negeri, pembahasan mengenai CRUDS ini tidak pernah menyertakan konsep pencarian(Search). Padahal menurut Saya proses pencarian data merupakan bagian tidak terpisahkan dari sebuah aplikasi. Bayangkan saja bila konsep pencarian ini tidak pernah dipakai, maka tidak akan ada aplikasi bernama Google.
Bila diterjemahkan kedalam bahasa sederhana Create artinya adalah menambah data baru kedalam database, Read adalah membaca data dari database, Update adalah memperbaharui data di database, Delete adalah menghapus data di database dan Search adalah mencari data di database.
Selama pengalaman Anda selama ini dalam memakai berbagai aplikasi, misalkan saja aplikasi untuk membeli tiket pesawat – tiket.com. Disana Anda akan menemukan konsep CRUDS tersebut diimplementasikan kedalam transaksi yang ada didalamnya. Hal yang sama juga berlaku untuk aplikasi yang lain.
Di Laravel, konsep CRUDS ini tentu sudah menjadi bagian yang tidak terpisahkan, apalagi bila telah mengimplementasikan database. Ini penting, mengingat konsep CRUDS hanya bisa diimplementasikan ketika aplikasi yang kita buat sudah terkoneksi dengan database sebagai basis transaksi. Karena pada dasarnya konsep inilah yang akan kita pakai untuk memanipulasi data yang tersimpan didalam tabel di database.
Untuk memudahkan programmer memanipulasi data didalam tabel, Laravel memiliki bahasa tersendiri yaitu Eloquent dan Query builder. Keduanya sebenarnya merupakan adaptasi dari bahasa SQL yang telah di optimalkan, namun Saya sendiri lebih sering memakai Query Builder karena mudah untuk memahami strukturnya.
Misalnnya saja Kita punya satu tabel didalam database untuk menyimpan data pegawai dengan nama tb_pegawai. Adapun struktur dari tabel tersebut adalah sebagai berikut:
Kolom | Tipe data |
---|---|
id | INT(5), Primary Key |
nama | VARCHAR(30) |
usia | INT(5) |
jabatan | VARCHAR(30) |
id | nama | usia | jabatan |
---|---|---|---|
1 | Joko | 25 | Cleaning service |
2 | Budhi | 30 | Staff HRD |
3 | Tono | 28 | Staff Purchasing |
Bila diterjemahkan kedalam bahasa SQL maka konsep CRUDS tadi akan terlihat seperti dibawah ini:
Create
INSERT INTO tb_pegawai('nama','usia','jabatan') VALUES('Ahyas Widyatmaka', '32', 'Supervisor');
Read
SELECT * FROM tb_pegawai;
Update
UPDATE tb_pegawai SET nama = 'Retno' WHERE id=1;
Delete
DELETE FROM tb_pegawai WHERE id=2;
Search
SELECT * FROM tb_pegawai WHERE nama='Joko';
Nah, sampai disini sebenarnya konsep CRUDS ini sudah mencukupi untuk digunakan dalam memanipulasi data. Namun yang perlu diingat bahwa dalam Laravel, bahasa SQL ini dioptimalisasi kembali menjadi Query Builder. Query Builder ini dijalankan didalam Controller yang didefinisikan lebih lanjut kedalam method.
Create
DB::table(tb_pegawai)->insert(['nama'=>'Ahyas widyatmaka', 'usia'=>32, 'jabatan'=>'Supervisor']);
Read
DB::table(tb_pegawai)->get();
Update
DB::table(tb_pegawai)->where('id', 1)->update(['nama'=>'Retno']);
Delete
DB::table(tb_pegawai)->where('id', 1)->delete();
Search
DB::table(tb_pegawai)->where('nama', '=','Joko')->get();
Dalam tutorial-tutorial mendatang, metode inilah yang akan selalu Saya pakai dalam menjabarkan sebuah konsep ataupun membuat contoh aplikasi. Maka dari itu Saya menyarankan pada Anda untuk terlebih dahulu memahami konsep CRUDS ini dengan baik.