Anda di halaman 1dari 3

MODEL VIEW CONTROLLER

A. Pengertian
Model View Controller atau yang kita sebut dengan MVC adalah suatu
metode yang memisahkan data logic (Model) dari presentation logic (View) dan
process logic (Controller) atau secara sederhana adalah memisahkan antara desain
interface, data, dan proses.
Untuk lebih jelasnya mengenai MVC, di sini akan digambarkan perbedaan
PHP biasa dengan Codelgniter yang merupai impementasi metode MVC.

Pada Gambar, eksekusi PHP biasanya dilakukan dengan memanggil semua


fungsi kemudian digabungkan ke dalam HTML. Fungsi-fungsi yang dipanggil seperti
koneksi ke database, melakukan fetch data, membuat query, bagian user interface
sekalipun semuanya digabungkan ke dalam HTML untuk kemudian dieksekusi oleh
PHP.
Untuk kasus yang kecil atau sederhana cara penggunaan PHP biasa tentu
masih dapat mudah dikerjakan, namun ketika kasus tersebut sudah mulai kompleks
maka akan sulit untuk proses pengembangan, perawatan, maupun perbaikan
software tersebut. Hal ini terjadi karena kode atau program pada PHP biasa tidak
didukung oleh struktur software yang baik dimana model, data, proses menjadi satu
bagian. Sehingga jika dikaitkan dengan Codelgniter penggunaan MVC akan
memudahkan developer untuk membuat, mengembangkan. memperbaiki suatu
web.

B. Komponen MVC
Dalam metode MVC terdapat tiga komponen yaitu:
1. Model
Model mengelola basis data (RDBMS) seperti MYSQI ataupun Oracle RDMS.
Model berhubungan dengan database sehingga biasanya dalam model akan
berisi class ataupun fungsi untuk membuat create), melakukan pembaruan
(update), menghapus data (delete), mencari data (search), dan mengambil data
(select) pada database. Selain itu juga model akan berhubungan dengan
perintah-perintah query sebagai tindak lanjut dari fungsi-fungsi (create, update,
delete, select).
2. View
View adalah bagian User Interface atau bagian yang nantinya merupakan
tampilan untuk end-user. View bisa berupa halaman html, css, rss, javascript,
jquery, ajax, dan lain lain. Karena metode yang dipakai merupakan MVC sehingga
dalam view tidak boleh terdapat pemrosesan data ataupun pengaksesan yang
berhubungan dengan database. Sehingga view hanya menampilkan data-data
hasil dari model dan controller.
3. Controller
Controller adalah penghubung antara view dan model, maksudnya ialah karena
model tidak dapat berhubungan langsung dengan view ataupun sebaliknya jadi,
controller inilah yang digunakan sebagai jembatan dikeduanya. Sehingga tugas
controller ialah sebagai pemrosesan data atau alur logic program, menyediakan
variable yang ditampilkan di view, pemanggilan model sehingga model dapat
mengakses database, error handling, validasi atau check terhadap suatu inputan.
Misalnya seperti menampilkan halaman form untuk registrasi user.

C. Contoh Kasus
Ketika anda memasuki perpustakaan kemungkinan anda diminta untuk
mengisi buku tamu. Kebetulan buku tamu di perpustakaan yang anda kunjungi
menggunakan aplikasi web. Jadi di sana sudah terdapat satu komputer, di mana
setiap pengunjung perpustakaan harus melewati dan mengisi datanya melalui
komputer tersebut.
1. Ketika anda melihat layar komputer, di sana ditampilkan form untuk mengisi
data diri pengunjung. Kita bisa simpulkan bahwa di sini, browser (sebagai client)
meminta aksi kepada server (yang ditangani oleh controller) untuk menampilkan
halaman form input data. Lalu controller memutuskan dan mengerti
bahwasanya ia hanya perlu menampilkan view. Maka controller memanggil dan
mengembalikan view (atau halaman) yang diminta.
2. Anda kemudian mengisi data. Lalu menekan tombol submit. Di sini browser
(sebagai client) mengirimkan data anda kepada server. Data itu ditangkap oleh
controller dan controller tahu apa yang harus dia lakukan. Yaitu memanggil
model dan memberi data tersebut untuk kemudian disimpan (oleh model) ke
dalam database. Setelah proses penyimpanan selesai, controller memanggil dan
mengembalikan view kepada user sebagai informasi bahwa data telah masuk.
3. Jika ada pengunjung baru, maka kembali ke step 1.
D. Framework yang Menggunakan Konsep MVC
Untuk framework PHP, ada cukup banyak dan hampir semuanya menggunakan
konsep MVC:
1. Laravel
2. Symfony
3. CakePHP
4. Zend
5. Codeigniter
Untuk framework Python di antaranya:
1. Django
2. Turbogears2
3. Watson-Framework

Untuk framework Nodejs di antaranya:


1. Express
2. Adonis
3. Sails.js
4. Total.js
5. Mean.js
6. Mojito

Anda mungkin juga menyukai