School of Information Systems

Model–View–Controller

Model-View-Controller (biasanya dikenal sebagai MVC) adalah salah satu dari design pattern perangkat lunak yang biasa digunakan untuk mengembangkan antarmuka pengguna yang membagi logika program terkait menjadi tiga elemen yang saling berhubungan. Ini dilakukan untuk memisahkan representasi internal informasi dari cara informasi disajikan dan diterima dari pengguna.

Biasanya drunken untuk antarmuka Graphical User Interfaces (GUI), pattern ini sekarang telah menjadi populer untuk mendesain aplikasi web. Bahasa pemrograman populer seperti JavaScript, Python, Object Pascal / Delphi, Ruby, PHP, Java, C #, dan Swift memiliki kerangka kerja MVC yang digunakan untuk pengembangan aplikasi web atau mobile tanpa perlu konfigurasi tambahan.

Source : https://upload.wikimedia.org/wikipedia/commons/a/a0/MVC-Process.svg

Komponen MVC

  • Model: Komponen utama dari design pattern MVC. Ini adalah struktur data dinamis aplikasi, tidak bergantung pada antarmuka pengguna. Ini secara langsung mengelola data, logika dan aturan aplikasi.
  • View: Representasi dari informasi apa pun seperti bagan, diagram, atau tabel. Beberapa tampilan dari informasi yang sama dimungkinkan, seperti diagram batang untuk manajemen dan tampilan tabel untuk akuntan. Komponen yang dapat dilihat secara langsung oleh end user.
  • Controller: Menerima input dan mengubahnya menjadi perintah untuk model atau view.

Selain membagi aplikasi menjadi komponen-komponen ini, design pattern model-view-controller mendefinisikan interaksi di antara mereka.

  • Model bertanggung jawab untuk mengelola data aplikasi. Menerima input end user melalui controller.
  • View menampilkan model dalam format tertentu.
  • Controller menanggapi input dari end user dan melakukan interaksi pada objek model data. Controller menerima input, secara opsional memvalidasinya dan kemudian meneruskan input ke model.

Seperti design pattern software lainnya, MVC mengekspresikan “core of the solution” kepada suatu masalah sambil memberikan keleluasaan adaptasi untuk sistem-sistem berbeda.

Referensi:

https://www.linkedin.com/pulse/why-laravel-mvc-framework-you-should-forget-kali-dass · https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller · https://www.youtube.com/watch?v=pCvZtjoRq1I