MVC adalah konsep
dasar yang harus
diketahui sebelum mengenal CodeIgniter . MVC adalah
singkatan dari Model View
Controller. MVC sebenarnya adalah sebuah pattern/teknik pemogramanan yang memisahkan bisnis logic (alur pikir), data logic (penyimpanan data) dan presentation
logic (antarmuka
aplikasi) atau
secara sederhana
adalah memisahkan
antara
desain, data dan proses. Adapun komponen-komponen
MVC antara lain:
1. Model
Model berhubungan dengan data dan interaksi ke database atau webservice. Model juga
merepresentasikan
struktur data dari aplikasi yang bisa berupa basis data maupun data lain, misalnya dalam bentuk file teks, file XML maupun webservice. Biasanya di dalam model
akan berisi class dan fungsi untuk mengambil, melakukan update dan menghapus data website.
Sebuah aplikasi web
biasanya menggunakan basis data dalam menyimpan data, maka
pada bagian Model biasanya akan berhubungan dengan perintah-perintah query SQL.
2. View
View berhubungan dengan segala sesuatu yang akan ditampilkan ke end-user. Bisa berupa
halaman web, rss, javascript dan
lain-lain. Kita harus menghindari adanya logika atau pemrosesan data di view. Di dalam view
hanya berisi variabel-variabel yang berisi data yang siap ditampilkan. View dapat dikatakan sebagai halaman website yang dibuat dengan
menggunakan HTML dan bantuan CSS atau JavaScript. Di dalam view jangan pernah ada
kode
untuk melakukan koneksi ke basisdata. View
hanya dikhususkan untuk menampilkan data-data hasil dari model dan
controller
3. Controller: Controller bertindak sebagai penghubung data dan view. Di
dalam Controller inilah terdapat
class-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 karena tugas mengakses data telah diserahkan kepada model. Tugas controller adalah menyediakan berbagai
variabel yang akan ditampilkan di view, memanggil model untuk
melakukan
akses ke
basis data,
menyediakan penanganan kesalahan/error,
mengerjakan
proses logika dari aplikasi serta melakukan validasi atau cek terhadap
input.
Perhatikan gambar di atas. Pada eksekusi PHP, biasanya kita akan me-“load” semua library dan fungsi
yang
dibutuhkan kemudian digabungkan ke dalam HTML untuk di eksekusi oleh PHP. Untuk kasus sederhana cara
tersebut masih baik-baik saja, tetapi ketika aplikasi tersebut menjadi kompleks/rumit maka kita akan sulit memeliharanya jika tidak didukung oleh arsitektur software
yang
bagus. Hal tersebut bisa terjadi disebabkan oleh code yang sama namun dibuat berulang- ulang , kode tidak konsisten dan lain-lain.
Gambar Flow CodeIgniter
Jika dipetakan, alur kerja CodeIgniter akan tampak seperti gambar 3. Browser berinteraksi melalui
controller. Controller-lah yang akan menerima dan membalas semua request dari browser. Untuk
data
maka controller akan meminta ke Model dan untuk UI/template akan meminta ke View. Jadi
“Otak” dari aplikasi ada di controller, “Muka” aplikasi ada di view dan “Data” ada di model. Ketika
browser meminta sebuah halaman web maka
router akan mencarikan controller mana yang harus menangani request tersebut. Setelah itu barulah si controller menggunakan
model untuk
mengakses data dan View untuk menampilkan data tersebut.






0 komentar:
Posting Komentar