MVC yang merupakan singkatan dari Model View Controller adalah satu software design pattern yang sekarang banyak dipergunakan dalam pengembangan sebuah aplikasi maupun situs web. Design pattern ini sekarang banyak dimanfaatkan pada PHP Framework populer di dunia seperti Laravel, Symfony, Code Igniter, maupun Yii. MVC memisahkan program dalam tiga bagian terpisah yang saling terhubung sesuai dengan namanya, yaitu: Model, View, dan Controller.

Komponen MVC – Model View Controller

Seperti namanya, ada tiga komponen yang dapat dideskripsikan sebagai berikut:

  • Model berfungsi untuk mengatur data, fungsi dan aturan dari aplikasi
  • View berfungi untuk mengatur tampilan atau output yang tampil di layar, tidak hanya berupa data, namun juga termasuk komponen lain, seperti gambar, video, diagram, dan sebagainya.
  • Controller merupakan program yang mengatur menerima input dan menjalankan beberapa perintah untuk dijalankan di model.
Diagram Interaksi antar komponen MVC

Diagram Interaksi antar komponen MVC, courtesy of Wikipedia

Kegunaan dari MVC

Design pattern ini dikembangkan dengan tujuan untuk membuat sebuah program yang dapat dipergunakan secara berulang kali untuk hal yang serupa, dan dikembangkan dengan modul tambahan sehingga tidak terjadi proses pengulangan pengembangan dari nol. Don’t reinvent the wheel – pepatah yang seringkali didengungkan di dunia pengembangan aplikasi, merupakan salah satu tujuan utama pemanfaatkan design pattern MVC.

Pada pemrograman web sebelumnya, programmer harus menghabiskan waktu yang sangat banyak untuk melakukan pengubahan fitur dalam aplikasi berbasis web atau website yang dikembangkannya. Seringkali pengubahan program tanpa disengaja mengubah juga bagian tampilan yang telah dibuat sebelumnya.

Dengan memanfaatkan design pattern ini, diharapkan programmer tidak lagi dipusingkan apabila client meminta programmer untuk mengubah tampilan dari program. Dalam hal ini programmer bisa memfokuskan perhatiannya pada bagian View.

Demikian pula apabila terjadi penambahan fitur pada aplikasi yang mengakibatkan pengubahan pada logic dari program serta perubahan pada basis data. Database designer dan programmer dapat bekerjama dalam mengubah Model maupun Controller tanpa harus terlalu bingung apa yang mereka kerjakan akan mempengaruhi tampilan.

Penggunaan MVC juga seringkali membuat implementasi aplikasi lebih sederhana dan jumlah baris program yang harus dibuat lebih minim. Fitur ini terutama yang menjadi dasar pengembangan berbagai framework yang telah disebutkan sebelumnya.

Kesimpulan

MVC yang merupakan salah satu design pattern yang sekarang banyak dipergunakan oleh berbagai framework merupakan salah metode pengembangan aplikasi yang harus dikuasai. Dengan menggunakan MVC perawatan sebuah program akan lebih mudah, mengingat semua bagian program telah dipetakan dalam struktur yang jelas, sehingga pengubahan desain tidak mengubah logic maupun data. Demikian pula pengubahan data akan terhindar dari pengubahan tampilan secara tidak sengaja. Pengubahan logic atau program juga lebih dimudahkan karena dapat dilakukan di bagian program yang terpisah.

written by:
SEW 20161221

Referensi:

  • Wikipedia, Model-View-Controller, https://en.wikipedia.org/wiki/Model–view–controller