Konsep MVC (Model View Controller)

MVC merupakan salah satu konsep yang paling familiar dikalangan web programmer terutama pengguna Framework berbasis model ini.
154  
       

MVC merupakan salah satu konsep yang paling familiar dikalangan web programmer terutama pengguna Framework berbasis model ini. Kali ini akan dipaparkan, kenapa harus menggunakan MVC dan kenapa MVC ini begitu populer. Yuk mari kita simak selengkapnya.

Mengenal MVC

MVC atau Model View Controller merupakan pola perancangan perangkat lunak yang menitik beratkan terhadap pembagian kode berdasarkan fungsinya. Masing-masing kode sumber memiliki fungsinya masing-masing yang akan dikelompokan terhadap tiga bagian itu.

Sejarah MVC

Konsep MVC diciptakan oleh programmer Smalltalk yang bernama Trygve Reenskaug. Beliau memperkenalkan konsep MVC ini pada paper yang dirilis tanggal 10 November 1979. Kemudian Jim Althoff dan yang lainya mengimplementasikan sebuah versi dari MVC untuk Smalltalk-80 class library.

MVC Hari Ini

Meskipun pada dasarnya MVC dibangun untuk aplikasi Dekstop, tapi sesungguhnya MVC ini lebih dikembangkan oleh programmer web. Dimana aplikasi web ini terdiri dari berbagai bahasa pemrograman yang berbeda namun mengusung konsep yang sama. Beberapa kode sumber ada yang bersifat non-komersial ada juga yang dikomersilkan, namun tetap mengacup terhadap ciri khasnya masing-masing.

MVC Di Backend / Server

Beberapa bahasa pemrograman backend (server) masih mengusung konsep MVC diantaranya adalah Ruby on Rails, Django, ASP.NET MVC. Dimana semua framework itu akan berlaku sebagi model dan controllernya. Sementara ini, framework seperti AngularJS, EmberJS, JavaScriptMVC and Backbone digunakan sebagai view.

Implementasi MVC dalam Pemrograman WEB

Beberapa implementasi MVC dalam pemrograman web ada didalam Framework PHP seperti Code Igniter, cakePHP, Laravel, dan SEME FRAMEWORK.

Fungsi Model dalam Konsep MVC

Model berfungsi untuk mengumpulkan semua logika yang berhubungan dengan database. Semua Query akan terkumpul yang dipisahkan berdasarkan masing-masing methodnya.

Fungsi View

View berfungsi menampung file-file HTML, javascript, meta header, dan lainya yang akan dipisah berdasarkan fungsi layoutnya. View ini nanti akan terdiri dari beberapa file yang akan dirangkai didalam controller. View ini juga yang nantinya akan mengendalikan kemampuan SEO dari sebuah WEB.

Fungsi Controller dalam Konsep MVC

Dalam konsep MVC, controller ini banyak sekali fungsinya, mulai dari pusat pengendali logika yang akan menggabungkan model dan view untuk diolah secara bersama-sama. Selain itu, controller juga berfungsi sebagai default routing untuk path request dalam beberapa framework. Sementara, untuk diframework laravel, fungsi controller sebagai routing engine sudah dipisah menjadi masing-masing lagi. Dan juga middleware atau API provider, dalam hal ini secara default dikelola oleh controller, tapi disebagian framework lagi hal ini dipisahkan.

Untuk lebih jelasnya bisa dilihat di ilustrasi ini.


mvc_role_diagram

Demikian. Semoga membantu, untuk artikel selanjutnya akan dibahas tentang pengenalan controller lebih dalam.