Halo semuanya, di artikel ini kita akan membahas apa itu MVC.
Mungkin banyak diantara kalian yang sering mendengar MVC tapi tidak terlalu paham atau bahkan tidak tau apa itu MVC. kalau begitu kondisi kalian, maka artikel ini akan sangat cocok dengan kalian.
Apa itu MVC?
Seperti kepanjangannya, yaitu model, view, dan controller, masing-masing dari bagian itu memiliki makna dan perannya masing-masing. Dibawah akan dibahas lebih detail tentang kegunaan dari masing-masing peran.
model
Model merepresentasikan sebuah individual tabel database–User, Barang, Makanan.
view
View merepresentasikan template/kerangka yang menjadi output data kepada end user–halaman login, halaman home, dll yang dibuat dari kumpulan kode HTML, CSS, dan Javascript.
controller
Controller bisa dianalogikan sebagai polisi lalu lintas. Mendapat request HTTP dari browser, mengambil data yang sesuai/dibutuhkan dari database atau mekanisme penyimpanan lain, menvalidasi input dari user, dan akhir mengembalikan response balik ke user.
Seperti yang anda bisa lihat di gambar bawah, user pertama kali berinteraksi dengan controller dengan mengirim sebuah HTTP request menggunakan browsernya. Lalu controller-nya, sebagai umpan-balik request tersebut, bisa menulis, menarik, atau menghapus data dari database atau tempat penyimpanan lain melalui model sesuai dengan request user. Lalu controller akan mengirim data kepada view, dan view akan dikembalikan ke user yang me-request sebagai tampilan yang akan ditampilkan di browser mereka.
Kesimpulan
Bagaimana sudah lebih paham kan? Jadi, MVC adalah metode dalam membuat aplikasi dengan cara memisahkan kode menjadi tiga bagian, yaitu Model, View, dan Controller. Karena memiliki tiga bagian yang saling berkaitan satu sama lain model view controller ini jadi memiliki banyak keuntungan untuk pengembangan dan pemeliharaan aplikasi.
Jika kalian tertarik untuk membaca lebih dalam tentang mvc, kalian bisa baca dokumentasi lengkapnya di mdn.
Sekian artikelnya, semoga bermanfaat dan bisa membantu membuat kode kalian lebih berkualitas dan readable. Terimakasih!