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