Laravel 12 CRUD #7: Membuat Controller dan Rute untuk Siswa

Laravel 12 CRUD
#7 Membuat Controller dan Rute untuk Siswa

Controller = otak aplikasi • Rute = peta alamat halaman
🧠 Controller dan Rute itu apa sih? Bayangkan kamu punya remote TV. Tombol-tombol di remote adalah rute (URL seperti /siswa). Saat kamu menekan tombol, ada sirkuit di dalam remote yang menjalankan perintah — itu controller.
Di Laravel, kita buat Controller untuk menyimpan semua logika (mengambil data, menyimpan, dll), dan Rute untuk menghubungkan URL dengan controller. Yuk kita buat!

Langkah 1: Buat Controller dengan Artisan

1 Buka CMD/terminal di folder proyek siswaapp. Jalankan perintah ini untuk membuat controller khusus siswa:

php artisan make:controller SiswaController --resource

Perintah --resource akan membuat controller yang sudah berisi method standar untuk CRUD: index (daftar), create (form tambah), store (simpan), show (detail), edit (form edit), update (perbarui), destroy (hapus).

📁 File controller akan tersimpan di app/Http/Controllers/SiswaController.php. Buka file itu nanti untuk melihat method yang sudah disiapkan Laravel.

Langkah 2: Daftarkan Rute untuk Semua Aksi Siswa

2 Buka file rute utama: routes/web.php. Di dalamnya, tambahkan baris berikut:

Route::resource('siswa', SiswaController::class);

Baris ini secara otomatis membuat 7 rute sekaligus:

  • GET /siswa → index (daftar siswa)
  • GET /siswa/create → create (form tambah)
  • POST /siswa → store (simpan data baru)
  • GET /siswa/{id} → show (detail siswa)
  • GET /siswa/{id}/edit → edit (form edit)
  • PUT/PATCH /siswa/{id} → update (perbarui data)
  • DELETE /siswa/{id} → destroy (hapus data)

Keren, kan? Hanya satu baris, semua rute CRUD siap pakai! 🚀

💡 Tips: Kamu bisa melihat semua rute yang terdaftar dengan menjalankan php artisan route:list di terminal.

Langkah 3: Uji Rute dengan Membuat Tampilan Sederhana

3 Agar tahu rute berfungsi, kita buat tampilan sederhana untuk method index. Buka SiswaController.php, cari method index(). Ubah menjadi:

public function index() { return view('siswa.index'); }

Sekarang kita perlu membuat file tampilan di resources/views/siswa/index.blade.php. Buat folder siswa di dalam resources/views, lalu buat file index.blade.php dengan isi sederhana:

<!DOCTYPE html> <html> <head> <title>Daftar Siswa</title> </head> <body> <h1>Halaman Daftar Siswa</h1> <p>Ini adalah halaman index untuk siswa. Nanti kita akan tampilkan data di sini! 😊</p> </body> </html>

Jalankan server (php artisan serve) dan buka http://localhost:8000/siswa. Kamu akan melihat halaman “Daftar Siswa” yang kita buat. 🎉

✅ Berhasil! Rute dan controller sudah terhubung. Sekarang kita tinggal mengisi method lainnya (create, store, edit, update, destroy) dengan logika CRUD yang sebenarnya.

Langkah 4: Memahami Struktur Controller (Singkat)

4 Mari kita lihat method apa saja yang sudah ada di SiswaController.php dan fungsinya:

  • index() → menampilkan semua data siswa (daftar).
  • create() → menampilkan form untuk tambah siswa baru.
  • store(Request $request) → menyimpan data siswa baru ke database.
  • show($id) → menampilkan detail satu siswa.
  • edit($id) → menampilkan form edit data siswa.
  • update(Request $request, $id) → memperbarui data siswa.
  • destroy($id) → menghapus data siswa.

Setiap method ini akan kita isi satu per satu di artikel berikutnya. Tapi untuk sekarang, kita sudah punya fondasi: controller dan rute! 🧱

🎯 Selamat! Kamu sudah punya Controller dan Rute untuk siswa. Sekarang kita bisa mulai mengisi method-method tersebut dengan logika nyata. Di artikel berikutnya kita akan membuat halaman daftar siswa (Read) yang menampilkan data dari database. Terus semangat! 💪

Ringkasan Langkah

  • ✅ Buat controller resource: php artisan make:controller SiswaController --resource
  • ✅ Daftarkan rute resource di routes/web.php: Route::resource('siswa', SiswaController::class);
  • ✅ Buat tampilan sederhana untuk method index() di resources/views/siswa/index.blade.php
  • ✅ Uji akses: http://localhost:8000/siswa

📌 Ingat: Rute resource membuat 7 rute sekaligus. Controller resource menyediakan method yang sesuai. Tinggal kita isi logikanya!

(Link akan aktif saat artikel sebelumnya dan selanjutnya terbit)

📘 Laravel 12 CRUD untuk Sekolah Dasar • #7 Membuat Controller dan Rute untuk Siswa • 🛣️ Rute dan controller siap!
Lebih baru Lebih lama

نموذج الاتصال