CodeIgniter : Memahami MVC

codeigniter

MVC merupakan singkatan dari Model, View dan Controller.
Mvc adalah sebuah design pattern tentang bagaimana kita mengatur pembagian tugas dari masing-masing bagian kode.
Untuk belajar CodeIgniter pemahaman konsep dari MVC ini teramat sangat wajib nian dikuasai 😀 hehe

Alih-alih menggunakan sebuah 1 file yang isinya campur aduk antara tag-tag Html dan kode pemrograman menggunakan PHP, dengan menggunakan MVC kita memisahkan kecampur adukan itu dengan memecahnya menjadi 3 bagian.
Berikut penjelasannya tentang bagian-bagian pada MVC :

Model : Model menampung semua method yang berhubungan dengan interaksi ke database. Jadi operasi CRUD (Create, Read, Update, Delete) semua berada pada Model.
View : View berisi tag-tag Html dan juga output variabel yang dikirimkan oleh Controller. Pada View tidak boleh terdapat kode untuk berinteraksi dengan basis data.
Controller : Controller adalah jembatan antara Model dan View. Controller berinteraksi dengan Model untuk memperoleh data dari database kemudian mengirimkannya ke View untuk ditampilkan.

mvc

Jika kita perhatikan pada gambar diatas antara Model dan View tidak bisa melakukan hubungan langsung. Nah.. itulah gunanya Controller, menjembatani komunikasi antara Model dengan View.

Pertama kali menggunakan MVC mungkin akan terasa repot. Kenapa perlu dipisah menjadi 3 bagian padahal menggunakan 1 file PHP saja cukup. Tunggu dulu..
Dengan menggunakan MVC kode kita akan menjadi “bersih”.

Mari kita lanjutkan dan lihat sebuah contoh kode yang berada dalam satu file php.

Kode diatas mengakses database dan meminta data mahasiswa. Jika tidak ada data mahasiswa maka akan mencetak informasi bahwa tidak ada data mahasiswa pada sistem, jika ada maka akan menampilkan semua data mahasiswa yang ada.

Sekarang kita pisah kode campur aduk diatas menjadi MVC.
Pertama buat terlebih dahulu Controller karena bagian inilah yang diakses pertama kali

file : mahasiswas.php

Sekarang kita buat Model-nya

file : mahasiswa.php

Terakhir membuat View untuk menampilkan data yang telah diambil oleh kelas Model diatas.

file : home.php

variabel $result diatas didapatkan dari variabel $data[“result”] yang terdapat pada Controller.
Jelas bukan sekarang dan betapa cantiknya pemisahan bagian kode ini 🙂

Jika kamu masih merasa bingung jangan khawatir berarti itu tandanya kamu masih belajar dan berpikir hehee..

Facebook Comments
 

Agung Setiawan

Agung Setiawan adalah software engineer di BukaLapak.com, penulis sekaligus pecinta sastra, dan pembaca buku

 
Halo, perkenalkan saya Agung Setiawan.
Saya Software Engineer di BukaLapak.
Simak pemikian saya soal dunia Software Engineering via Twitter di @agungsetiawanmu dan facebook
Blog ini saya update seminggu sekali jadi sering-sering saja mampir
Mau belajar Vim bareng saya?
Belajar ngoding dari nol menggunakan PHP

Leave a Reply

Your email address will not be published. Required fields are marked *