1. Latar Belakang
Perkembangan aplikasi berbasis web saat ini menuntut adanya sistem pengelolaan data yang terstruktur dan efisien, salah satunya melalui konsep CRUD (Create, Read, Update, Delete). Pada project ini, saya membangun sistem sederhana untuk menyimpan data produk yang terdiri dari nama produk, harga, dan deskripsi ke dalam database. Fokus pembahasan pada artikel pertama ini adalah bagian Create, yaitu proses menambahkan data baru agar dapat tersimpan ke dalam tabel produk di database. Tahap ini menjadi dasar penting dalam pengembangan aplikasi karena berfungsi sebagai pintu masuk data sebelum nantinya dapat ditampilkan, diubah, atau dihapus.
2. Alat dan Bahan
A. Perangkat Lunak
- Sistem Operasi Linux (atau yang lain)
- Visual Studio Code
- XAMPP (MySQL dan Apache untuk database)
- PHP 8.2+
- Composer
B. Perangkat Keras
- Laptop / PC
3. Pembahasan
Pada project CRUD ini, kita akan membuat sistem sederhana untuk menyimpan data produk dimana kita akan menyimpan data berdasarkan nama produk, harga, dan deskripsi pada tabel produk. Nah, pada tahap pembuatan logika tambah data ini, kita akan membuat tampilan paling dasar untuk form tambah dimana konsep pada tahap awal ini disebut sebagai create data pada CRUD.
3.1 Migrate Database
1. Buka terminal Visual Studio Code dan buat migration dengan "php artisan make:migration create_produk_table"
2. Buka "database/migrations/" dan buka file "2026_02_25_143730_create_produk_table.php"
- 'produk' adalah nama tabel
- $table adalah kolom tabel
- id() adalah tipe data kolom tabel (tanda kurung dapat diisi untuk penamaan kolom)
3. Modifikasi isi file sesuai yang kita inginkan, yaitu kolom nama produk, harga, dan deskripsi
3.2 Siapkan Route
1. Buka "routes/web.php" dan buat 2 route baru:
3.3 Buat Controller
1. Buka terminal, ketik "php artisan make:controller ProdukController"
Method "create" akan mengembalikan tampilan "create.blade.php"
Method "data" dapat menggunakan antara Query Builder dan Eloquent ORM. Berikut perbedaan signifikan yang dapat saya temukan dari kedua penggunaan.
- Eloquent ORM (Insert tanpa menulis query SQL secara langsung, agak rumit tapi rapi)
- Wajib pakai $fillable pada model
- Eloquent akan otomatis membaca tabel kita dengan tambahan "s" dibelakangnya (plural / English convention)
- Wajib menonaktifkan timestamps apabila tidak ada kolom created_at dan updated_at pada tabel kita
- Tidak ada plural otomatis
- Tidak perlu $table
- Tidak otomatis menambahkan timestamps
- Tidak butuh model Produk
Namun, saya menyarankan untuk tetap menggunakan Eloquent ORM meskipun Query Builder terlihat lebih praktis. Selain Laravel memang dibangun untuk bersinar lewat Eloquent, Query Builder lebih cocok digunakan apabila query sangat kompleks dan membutuhkan kustom. Jadi, langkah-langkah selanjutnya merupakan lanjutan dari penggunaan Eloquent ORM.
6. Import model di controller
3.4 Buat Form pada Blade
1. Buat folder baru di dalam "resources/views/" dengan nama "produk"
3.5 Menguji Create Data
1. Masukkan data inputan dan klik simpan
3.6 Pengertian Tambahan
1. Apa itu @csrf?
Dikutip dari paloalto, CSRF atau Cross-Site Request Forgery adalah serangan siber terhadap aplikasi web yang menyalahgunakan kepercayaan yang diberikan situs kepada peramban pengguna. Jika tidak ada perlindungan CSRF, website lain bisa “menipu” browser kamu untuk mengirim request ke websitemu (misalnya menambah, mengubah, atau menghapus data) tanpa kamu sadar.
2. Apa itu Eloquent ORM?
Eloquent ORM adalah fitur dari Laravel yang memungkinkan developer untuk dapat menggunakan dan memanipulasi data yang ada di dalam database dengan PHP objects dan model terkait.
3. Apa itu Query Builder?
Query builder (DB facade) berfokus pada fleksibilitas, performa, dan kueri SQL kompleks langsung pada tabel dan Query Builder lebih cepat untuk operasi berat, sedangkan Eloquent lebih ringkas untuk CRUD standar.4. Daftar Pustaka
iqbalroni. (2025). Laravel 12 Tutorial #10: Cara Menambahkan Data ke Database & Notifikasi. Youtube. https://youtu.be/aUEM_IHkMcc?si=86Q46nAc8o8mQ1MG
paloalto. (2026). Apa itu CSRF (Cross-Site Request Forgery)?. Diakses dari: https://www.paloaltonetworks.co.uk/cyberpedia/csrf-cross-site-request-forgery#:~:text=Jalur%20Eksploitasi%20Langkah%20demi%20Langkah,dan%20tidak%20memiliki%20perlindungan%20CSRF.
.png)
0 Comments