Apa itu MVC?

Di dunia Backend Developer, MVC adalah Pemisahan Kekuasaan (Separation of Concerns).
- Model (The Data Logic): Jantung dari aplikasi. Ia tidak peduli bagaimana data ditampilkan, ia hanya peduli pada validasi, interaksi database, dan business rules.
- View (The Presentation): Wajah dari aplikasi. Hanya bertugas menampilkan apa yang dikirim oleh Controller. Di era modern, View seringkali berupa JSON (untuk API).
- Controller (The Brain/Traffic Cop): Jembatan utama. Ia menerima request dari user, memanggil Model untuk ambil data, lalu memutuskan View mana yang harus dikirim balik.
Alur Kerja MVC (The Lifecycle)

- User Request: User menekan tombol di frontend/web dan memanggil URL (misal:
GET /tasks). - Controller (The Gatekeeper):
- Menerima request tersebut.
- Validasi: Cek dulu, datanya benar tidak? Usernya punya akses tidak? (Ini langkah krusial agar aplikasi aman).
- Model (The Worker):
- Controller bilang ke Model: "Eh Model, ambilin daftar tugas dong" atau "Simpan data baru ini ya".
- Model melakukan tugas beratnya (interaksi ke database).
- Controller (The Final Touch):
- Controller kasih datanya kembali ke Model.
- Controller membungkus data tersebut (bisa jadi dalam bentuk JSON atau dilempar ke file Blade/HTML).
- View (The Result): User menerima jawaban (Response) yang sudah cantik dan bisa dibaca di layar mereka.
Analogi Cepat
Bayangkan MVC adalah sebuah Restoran:
- Model: Koki di dapur (mengolah bahan makanan).
- View: Piring sajian yang sampai ke meja pelanggan.
- Controller: Pelayan (mengambil pesanan, lapor ke koki, mengantar piring).
