You are on page 1of 4

MVC ( Model View Controller )

leave a comment
Buat yang baru terjun ke dunia programming, mungkin belum banyak tau tentang konsep
pemrograman MVC Model View Controller. Kalo ada yang pernah mendengar konsep
pemrograman OOP, nah ini beda jenis dengan itu, sudah beda bidangya.
Kalo OOP lebih menekankan bagaimana sebuah kode program ditulis sebagai sebuah objek
yang memiliki atribut2 dan fungsinya, maka MVC ini cakupannya diatas itu, yakni 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.
Konsep MVC :
Secara sederhana konsep MVC terdiri dari tiga bagian yaitu bagian Model, bagian View dan
bagian Controller. Didalam website dinamis setidaknya terdiri dari 3 hal yang paling pokok,
yaitu basis data, logika aplikasi dan cara menampilkan halaman wesite. 3 hal tersebut
direpresentasikan dengan MVC yaitu model untuk basis data, view untuk cara menampilkan
halaman website dan controller untuk logika aplikasi.
1. Model
Merepresantiskan struktur data dari website yang bisa berupa basis data maupun data lain,
misalnya dalam bentuk file teks atau file xml. Biasanya didalam model akan berisi class dan
fungsi untuk mengambil, melakukan update dan menghapus data website. Karena sebuah
website biasanya menggunakan basis data dalam menyimpan data maka bagian Model biasanya
akan berhubungan dengan perintah-perintah query SQL. Model bisa dibilang khusus digunakan
untuk melakukan koneksi ke basis data oleh karena itu logika-logika pemrograman yang
berada didalam model juga harus yang berhubungan dengan basis data. Misalnya saja
pemilihan kondisi tetapi untuk memilih melakukan query yang mana.
2. View
Merupakan informasi yang ditampilkan kepada pengunjung website. Sebisa mungkin didalam
View tidak berisi logika-logika kode tetapi hanya berisi variabel-variabel yang berisi data yang
siap ditampilkan. View bisa dibilang adalah halaman website yang dibuat menggunakan HTML
dengan bantuan CSS atau JavaScript. Didalam view jangan pernah ada kode untuk melakukan
koneksi ke basis data. View hanya dikhususkan untuk menampilkan data-data hasil dari model
dan controller.
3. Controller
Controller merupakan penghubung antara Model dan View. Didalam Controller inilah terdapat
class dan fungsi-fungsi yang memproses permintaan dari View kedalam struktur data didalam
Model. Controller juga tidak boleh berisi kode untuk mengakses basis data. Tugas controller
adalah menyediakan berbagai variabel yang akan ditampilkan di view, memanggil model untuk
melakukan akses ke basis data, menyediakan penanganan error, mengerjakan proses logika
dari aplikasi serta melakukan validasi atau cek terhadap input.
berikut sekilas ulasan dan contoh CI :

Jadi secara singkat urutan dari sebuah request adalah sebagai berikut : user berhubungan
dengan view, dimana didalam view inilah semua informasi ditampilkan. Saat user melakukan
permintaan atau request, misal klik tombol maka request tersebut akan diproses oleh
Controller. Apa yang harus dilakukan, data apa yang diinginkan, apakah ingin melihat data,
atau memasukan data atau mungkin melakukan validasi data terlebih dahulu, semua diproses
oleh Controller. Kemudian Controller akan meminta Model untuk menyelesaikan request, entah
itu melakukan query atau apapun. Dari Model, data akan dikirim kembali untuk di proses lebih
lanjut di dalam Controller dan baru dari Controller data akan ditampilkan di View.
Versi Praktisinya he he
Sebelum lanjut ke MVC itu sendiri ada baiknya kamu tahu bagaimana sebenernya alur program
itu berjalan di konsep pemrograman MVC framework CodeIgniter. Alur itu seperti di gambar
berikut :

1. index.php berfungsi sebagai controller depan, mnginisialisasi basic resource yang
dibutuhkah untuk menjalankan CI.
2. Router menganalisa HTTP request untuk menentukan apa yang harus dilakukan dengan
HTTP request itu.
3. Jika file cache masih ada , maka akan dikirim langsung ke browser, tanpa melewati
eksekusi normal sistem.
4. Keamanan, sebelum controller aplikasi di panggil, HTTP request dan data yang dikirim
user, di filter untuk alasan keamanan.
5. Controller memanggil model, librari inti , plugin, helper, dan resource lainnya yang di
butuhkan untuk memroses request tertentu.
6. View yang sudah diproses, dikirim ke browser sebagai hasil yang terlihat. Jika status
caching ON, view akan disimpan di cache, jadi jika ada request yang sama, view itu bisa
ditampilkan lagi.
Sekarang kita masuk ke bahasan MVC. MVC itu sendiri adalah konsep pemrograman yang
memisahkan pemrograman logic aplikasi dengan presentasinya. Singkatnya, memungkinkan
halaman web kamu berisi sedikit sekali skrip PHP karena file presentasi terpisah dengan file
skrip PHP. Dan CodeIgniter adalah salah satu framework PHP yang berbasis MVC.
* Model mewakili struktur data kamu. Umumnya kelas model kamu akan berisi fungsi fungsi
yang akan membantu kamu untuk mengambil, insert, dan update data di database kamu.
* View adalah informasi yang disajikan ke user. Sebuah view normalnya adalah sebuah halaman
web, namun di CI sebuah view bisa juga menjadi bagian halaman seperti header atau footer.
Bisa juga menjadi berbagai jenis halaman yang lain.
* Controller berfungsi sebagai penengah antara Model, View dan resource lain yang dibutuhkan
untuk memroses HTTP request dan memproduksi sebuah halaman web.
Berikut adalah satu controller dengan function default menampilkan data dari table
AA_PRODUCTS yang diambil oleh model temp_model.
File Model
<?php
class temp_model extends Model {
function temp_model()
{
parent::Model();
}
function getProducts()
{
return $this->db->query(SELECT * FROM AA_PRODUCTS);
}
}
?>
File Controller
<?php
class class_temp extends Controller {
function class_temp() {
parent::Controller();
$this->load->model(temp_model);
}
function index() {
$query = $this->temp_model->getProducts();
$data['que'] = $query->result();
$data['numrows'] = $query->num_rows;
$this->load->view(view_temp,$data);
}
}
File View
<?
foreach($que as $row){
echo .$row->NAME;
}
?>

You might also like