Pengertian
MVC
MVC adalah singkatan dari Model View Controller. MVC merupakan suatu
metode untuk memisahkan bagian-bagian dari suatu web aplikasi agar menjadi
lebih rapi dan lebih mudah untuk dimaintain dan dikembangkan
. MVC merupakan suatu konsep pemrograman yang juga banyak diterapkan
akhir-akir ini. Dengan menerapkan
MVC dalam membangun suatu aplikasi akan berimbas pada kemudahan pada saat
aplikasi tersebut memasuki fase maintenance. Proses pengembangan dan integrasi
pun menjadi lebih mudah untuk dilakukan. Ide dasar
dari MVC sebenarnya sangat sederhana, yaitu mencoba untuk memisahkan
antara model, view, dan controller.
·
MODEL
Model adalah data dan aturan-aturan yang berlaku untuk data tersebut, yang akan merepresentasikan konsep dari aplikasi yang akan di manage. Model biasanya berhubungan langsung dengan database untuk memanipulasi data, menangani validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan bagian view
Model adalah data dan aturan-aturan yang berlaku untuk data tersebut, yang akan merepresentasikan konsep dari aplikasi yang akan di manage. Model biasanya berhubungan langsung dengan database untuk memanipulasi data, menangani validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan bagian view
·
VIEW
Mempresentasikan data kepada user dalam sebuah format dan layout(template html) yang diatur oleh controller.
Mempresentasikan data kepada user dalam sebuah format dan layout(template html) yang diatur oleh controller.
·
CONTROLLER
Controller, merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, controller berfungsi untuk menerima request dan data dari user kemudian menentukan apa yang akan diproses oleh aplikasi.
Controller, merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, controller berfungsi untuk menerima request dan data dari user kemudian menentukan apa yang akan diproses oleh aplikasi.
Sekarang banyak sekali framework yang mengadopsi konsep MVC, tidak
hanya PHP, pemograman seperti java pun sudah lama menggunakan konsep ini. Dalam
proses mengembangkan software, konsep MVC alias Model View Controller bisa
digunakan sebagai cara memandang komponen dari software. Cara ini dapat
menyederhanakan desain software yang kompleks ke dalam tiga kelompok elemennya.
Model biasanya terkait dengan data, View yang berurusan dengan antarmuka dan
Controller bagian yang melakukan proses atau komputasi. Konsep ini bisa
diimplementasikan dengan bebas menurut kebutuhan dan kompleksitas sistemnya.
Misalkan dalam bentuk aplikasi kalkulator, layar angka adalah view, variabel
penampung bilangan menjadi model, sedangkan fungsi aritmatika sebagai
controllernya. Di dunia pemrograman berorientasi objek, elemen method objek
adalah controllernya, property objek sebagai model sedangkan view bisa berupa
method dalam objek yang melakukan fungsi input output. Di dunia infrastruktur
pun bisa menggunakan konsep ini untuk menyederhanakan arsitektur sistem.
End-user device sebagai view, mesin server sebagai controller, storage system
yang berperan menjadi model.
Keuntungan
MVC
Cakupan MVC yaitu mengatur arsitektur sebuah aplikasi. Umumnya aplikasi
yang dibangun dengan konsep MVC adalah aplikasi yang cukup besar, karena salah
satu keuntungan dari MVC itu adalah kemudahan maintenance, dan pengembangan
aplikasi tersebut. Sekilas MVC kelihatannya merepotkan karena kita harus
menulis kode lebih banyak tapi keuntungannya adalah kode kita lebih maintainable
karena kita bisa mengubah salah satu bagian tanpa harus mengubah bagian yang
lain. Sebagai contoh, misalnya kita membuat aplikasi A yang memproses data
berformat XML namun kemudian kita diharuskan menggunakan data berformat
JSON. Dalam kasus seperti ini, kita cukup mengubah Model tanpa harus mengubah
bagian yang lain. MVC juga mempermudah debugging
karena kita bisa memperkirakan bagian mana yang bermasalah tanpa harus membongkar
seluruh kode yang sudah kita buat.
Jenis
MVC pada website
·
Server Side MVC, Server Side MVC biasa terjadi
pada aplikasi web tradisional, yang tidak melibatkan client side seperti Javascript,
Java
applet, Flash, dan lain-lain. Server Side MVC menyerahkan
keseluruhan proses bisnis
pada server,
aplikasi pada sisi pengguna hanya dapat menerima. MVC jenis ini kadang-kadang
disebut juga dengan nama Thin Client..
·
Mixed Client Side and Server Side MVC, Pada
Mixed Client Side and Server Side MVC 1 client tidak menggunakan model sebagai
jembatan untuk melakukan komunikasi pada server, dibandingkan dengan Server Side
MVC, arsitektur ini memiliki tingkat kompleksitas yang lebih tinggi karena
lebih banyak komponen yang terlibat. Untuk selanjutnya arsitektur ini disebut,
dengan Mixed MVC 1. Pada Mixed Client Side and Server Side MVC 2, client
menggunakan model sebagai jembatan untuk melakukan komunikasi
pada server, dibandingkan dengan arsitektur MVC yang lain, arsitektur ini
memiliki tingkat kompleksitas yang paling tinggi karena lebih banyak komponen
yang terlibat, sehingga membutuhkan sumber daya
yang lebih besar pula. Untuk selanjutnya arsitektur ini disebut dengan Mixed
MVC 2.
·
Rich Internet Application MVC, Application MVC
Rich Internet Application (RIA) disebut juga dengan nama Fat Client, merupakan
aplikasi web yang memiliki kemampuan dan fungsi hampir seperti aplikasi desktop. RIA pada
sisi client, memiliki mesin
untuk mengambil data yang berada pada server, sehingga pada client terdapat
bagian MVC sendiri dan hanya membutuhkan bagian model pada sisi server.