Konsep MVC (Model View Controller) Bukan PVC!

Seperti judul di atas, yang di bahas disini adalah tentang MVC, tapi dulunya saya sering kebalik-balik dengan PVC #jayus mode on. Okelah, intermezzo aja kok itu tadi J. Seperti yang sudah dijelaskan dalam posting Little Knowing About CodeIgniter (CI), bahwa CI menerapkan lingkungan pengembangan dengan metode MVC (Model View Controller). MVC memisahkan antara logika pembuatan kode dengan pembuatan template/tampilan website. Penggunaan MVC membuat proses pembuatan sebuah proyek website menjadi lebih terstruktur dan sederhana J. Tetapi, bagi yang terbiasa dengan model spaghetti code (kode acak adul) mungkin model MVC ini agak membingungkan #benarsekali!

Secara sederhana, MVC terdiri dari 3 bagian yaitu: Model, View dan Controller. Dalam website dinamis, setidaknya terdiri dari 3 hal yang paling pokok, yaitu: basis data, logika aplikasi dan cara menampilkan halaman website. Ketiga hal tersebut direpresentasikan dengan MVC, yaitu: Model untuk basis data, View untuk cara menampilkan halaman website dan Controller untuk logika aplikasi.

MODEL

Model merepresentasikan struktur data dari website yang bisa berupa basis data maupun data lain, misalnya dalam bentuk file teks dan xml. Biasanya di dalam model akan berisi class dan fungsi untuk mengambil dan 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.

VIEW

View merupakan informasi yang ditampilkan kepada pengunjung website. Sebisa mungkin di dalam View tidak berisi logika-logika kode, tetapi hanya berisi variable-variabel yang berisi data yang siap ditampilkan. View bisadibilang adalah halaman website yang dibuat menggunakan HTML dengan bantuan Javascript atau CSS.

Sederhananya begini, jangan pernah meletakkan kode untuk koneksi ke basis data pada bagian View ini. View hanya dikhususkan untuk menampilkan data-data hasil dari model dan controller.

CONTROLLER

Controller merupakan penghubung antara Model dan View. Di dalam Controller inilah terdapat class dan fungsi-fungsi yang memproses permintaan dari View ke dalam struktur data di dalam Model.

Controller juga tidak boleh berisi kode untuk mengakses basis data. Tugas controller adalah menyediakan berbagai variable yang akan ditampilkan di View, memanggil Model untuk melakukan akses ke basis data, menangani error program, mengerjakan proses logika dari aplikasi serta melakukan validasi/cek terhadap input.

Jadi, secara singkat urutan dari sebuah request adalah sbb: user berhubungan dengan View, dimana di dalam View inilah semua informasi ditampilkan. Saat user melakukan permintaan atau request, missal user klik tombol, maka request tersebut akan diproses oleh Controller. Apa yang harus dilakukan, data apa yang diinginkan? Apakah hanya ingin melihat data atau memasukkan data atau mungkin melakukan validasi data terlebih dahulu, semua diproses oleh Controller. Kemudian Controller akan meminta Model untuk menyelesaikan request (baik dengan atau tidak dengan query). Dari Model, data akan dikirim kembali untuk diproses lebih lanjut dalam Controller, lalu kemudian dari Controller, data akan ditampilkan di View.

4 thoughts on “Konsep MVC (Model View Controller) Bukan PVC!

  1. Dari Model, data akan dikirim kembali untuk diproses lebih lanjut dalam Controller, lalu kemudian dari Controller, data akan ditampilkan di View.

    koq namanya bukan MCV ya? :p

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s