Tutorial Belajar Laravel Part 4: Pengertian MVC (Model – View – Controller)

Sebelum masuk ke praktek penggunaan Laravel, saya ingin membahas konsep dasar yang dipakai oleh Laravel dan juga banyak framework PHP lain, yakni arsitektur MVC.

Materi kali ini memang masih tentang teori, tapi sangat penting agar bisa memahami "kode apa saja yang kita tulis ke dalam Laravel?".


Pengertian MVC

MVC adalah sebuah arsitektur perancangan kode program. Tujuannya untuk memecah kode program utama menjadi 3 komponen terpisah dengan tugas yang spesifik. Ketiga komponen tersebut adalah:

  • Pengaksesan database, disebut sebagai Model.
  • Tampilan design (user interface), disebut sebagai View.
  • Alur logika program, disebut sebagai Controller.

Gabungan Model-View-Controller inilah yang disingkat sebagai MVC.

Ide awal dari perlunya konsep MVC adalah agar aplikasi yang dibuat bisa mudah dikelola dan dikembangkan, terutama untuk aplikasi besar.

Sebagai contoh, seorang web designer bisa fokus merancang bagian View saja, yakni tampilan design website yang terdiri dari kode HTML dan CSS plus sedikit JavaScript. Kode program untuk berkomunikasi dengan database bisa ditangani oleh programmer yang secara khusus bagian Model. Serta programmer lain mengatur alur logika program di bagian Controller.

Dengan pemisahan seperti ini, kerja tim menjadi mudah dikelola. Selain itu dengan penerapan konsep MVC yang baik, setiap bagian tidak saling bergantung sama lain. Jika ada perubahan atau modifikasi, cukup edit di bagian yang diperlukan saja, tidak harus merombak ulang semua aplikasi.

Dibalik keunggulan ini, kendala utama dari konsep MVC adalah cukup rumit untuk dipahami (terutama bagi pemula), serta file kode program menjadi banyak karena setiap bagian dari M-V-C harus ditulis dalam file terpisah.

Namun keuntungan yang didapat sebanding dengan "usaha" untuk mempelajari MVC tersebut, karena kode program kita menjadi lebih fleksibilitas dan mudah dikelola.


Diagram Alur MVC

Agar lebih mudah dipahami, kita akan bahas menggunakan diagram berikut:

Diagram Arsitektur MCV

Ini adalah contoh alur yang terjadi dalam sebuah aplikasi yang menerapkan konsep MVC. Kita berangkat dari user yang sedang membuka sebuah web browser (sudut kanan bawah).

Dalam panah 1, setiap interaksi yang dilakukan user akan ditangani oleh controller. Misalnya ketika user mengetik alamat situs www.duniailkom.com, maka sebuah controller di server duniailkom akan menangkap "request" tersebut. Atau ketika user selesai mengisi form register dan men-klik tombol submit, file controller akan menerima sebuah proses.

Controller pada dasarnya berisi logika program. Seandainya perlu mengambil data dari database, maka controller akan memanggil Model (panah nomor 2). Model inilah yang bertanggung jawab mengakses database lalu mengembalikan hasilnya kembali ke controller.

Setelah data dari model diterima kembali, controller kemudian meneruskan data tersebut ke dalam View (panah 3). Data ini kemudian diproses sebagai kode HTML dan CSS di dalam view. Inilah yang dilihat oleh user di dalam web browser (panah 4).

Jika user men-klik halaman lain, maka itu akan diproses lagi oleh controller, yakni kembali ke langkah 1, demikian seterusnya alur kerja dari arsitektur MVC.

Dalam praktek arsitektur MVC di Laravel, nantinya juga terdapat komponen bernama Route, yang berfungsi untuk menyesuaikan alamat URL, serta "menyembunyikan" nama file URL. Route ini akan berada di panah 1, yakni tepat sebelum request dari user sampai ke controller.


Istilah-istilah yang kita bahas disini memang membuat bingung karena prakteknya belum ada. Ini semua akan makin jelas ketika sudah masuk ke praktek di Laravel.

Yang paling penting dipahami saat ini adakah, di Laravel nanti akan terdapat komponen Route, Controller, Model dan View yang saling bekerjasama. Nantinya setiap komponen ini akan ada di file PHP masing-masing.

Setelah cukup banyak membahas teori seputar framework, alasan memilih Laravel serta konsep MVC, dalam tutorial selanjutnya kita akan mulai praktek dengan menyiapkan aplikasi XAMPP dan mengakses PHP dari CMD.

Saat ini di Duniailkom tersedia eBook / buku Laravel Uncover. Dengan total lebih dari 696 halaman A4, materi di buku jauh lebih banyak daripada tutorial Laravel di web Duniailkom. Penjelasan lebih lanjut bisa ke: Laravel Uncover – Panduan Belajar Framework Laravel 10.

5 Comments

  1. bumi
    19 Mar 20
    • Andre
      19 Mar 20
  2. Caraguna
    21 Aug 20
  3. faizan
    11 Nov 22
    • Andre
      11 Nov 22

Add Comment

Leave a Reply to Andre Cancel reply