codeigniter indonesia
Tutorial

CodeIgniter Indonesia 3

Apa itu MVC?

 

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.

  1. 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

  1. 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 tersebut. 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.

Jika dipetakan, alur kerja CodeIgniter akan tampak seperti gambar tersebut. 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.

Jangan Belajar CodeIgniter!!

Jangan coba-coba belajar CodeIgniter ketika Anda belum mengenal PHP. Berdasarkan pengalaman di forum dan milis, kebanyakan mereka yang belajar CodeIgniter tanpa memiliki dasar PHP yang baik akan mengalami banyak kesulitan, bukan dalam menguasi konsep CodeIgniter tetapi masih berkutat seputar PHP. Setidaknya Anda telah memahami konsep OOP pada PHP untuk mulai belajar CodeIgniter. Sebaiknya ketika Anda mempelajari  CodeIgniter Anda sudah memahami PHP dan Object Oriented Programming. Akan lebih bagus lagi jika Anda sudah familiar dengan design pattern.

 

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

%d blogger menyukai ini: