FRAMEWORK CODEIGNITER & MVC (Model View Controller)
Pengertian CodeIgniter
CodeIgniter
adalah aplikasi open source yang berupa framework dengan model MVC (Model,
View, Controller) untuk membangun website dinamis dengan menggunakan PHP.
CodeIgniter memudahkan developer untuk membuat aplikasi web dengan cepat dan
mudah dibandingkan dengan membuatnya dari awal. CodeIgniter dirilis pertama
kali pada 28 Februari 2006. Versi stabil terakhir 2.1.4 yang dirilis pada 8
Juli 2013.
Framework secara
sederhana dapat diartikan kumpulan dari fungsi-fungsi/prosedur-prosedur dan
class-class untuk tujuan tertentu yang sudah siap digunakan sehingga bisa lebih
mempermudah dan mempercepat pekerjaan seorang pemrograman, tanpa harus membuat
fungsi atau class dari awal.
Ada beberapa
alasan mengapa menggunakan Framework:
·
Mempercepat
dan mempermudah pembangunan sebuah aplikasi web.
·
Relatif
memudahkan dalam proses maintenance karena sudah ada pola tertentu dalam
sebuah
framework (dengan syarat programmer mengikuti pola standar yang ada)
· Umumnya
framework menyediakan fasilitas-fasilitas yang umum dipakai sehingga kita
tidak perlu
membangun dari awal (misalnya validasi, ORM, pagination, multiple database,
scaffolding,
pengaturan session, error handling, dll
·
Lebih bebas
dalam pengembangan jika dibandingkan CMS
Kelebihan
CodeIgniter (CI) :
·
Performa sangat cepat : salah satu
alasan tidak menggunakan framework adalah karena
eksekusinya yang lebih lambat daripada
PHP from the scracth, tapi Codeigniter sangat
cepat bahkan mungkin bisa dibilang codeigniter
merupakan framework yang paling cepat
disbanding framework yang
lain.
·
Konfigurasi yang sangat minim (nearly zero configuration) : tentu saja untuk
menyesuaikan dengan database dan keleluasaan routing
tetap diizinkan melakukan
konfigurasi dengan mengubah beberapa file konfigurasi seperti database.php atau
autoload.php, namun untuk menggunakan codeigniter dengan setting standard, anda
hanya perlu
merubah sedikit saja file pada folder config.
·
Banyak komunitas : dengan banyaknya komunitas CI ini, memudahkan kita untuk
berinteraksi dengan yang lain, baik itu
bertanya atau teknologi terbaru.
· Dokumentasi yang sangat lengkap : Setiap paket instalasi codeigniter sudah disertai user
guide yang sangat bagus dan lengkap
untuk dijadikan permulaan, bahasanya pun mudah
dipahami.
Kekurangan CodeIgniter (CI) :
· Codeigniter dikembangkan oleh Ellislab dan bukan oleh
suatu komunitas, yang menyebabkan update core engine-nya tidak secepat
framework lain.
· Tidak ditujukan untuk pembuatan web dengan skala besar
(enterprise) walaupun tersedia banyak library.
· Masih banyak kelonggaran dalam hal coding, misalnya bebas
dalam menambah file.
· Tidak mencerminkan MVC yang sesungguhnya, misalnya
penulisan echo masih dapat
dilakukan pada file controller.
Apa itu MVC (Model View Controller) ?
Pengertian MVC (Model View Controller)
Model View
Controller merupakan suatu konsep yang cukup populer dalam pembangunan aplikasi
web, berawal pada bahasa pemrograman Small Talk, MVC memisahkan pengembangan
aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti
manipulasi data, user interface, dan bagian yang menjadi kontrol aplikasi.
Terdapat 3 jenis
komponen yang membangun suatu MVC pattern dalam suatu aplikasi yaitu :
1. Model : biasanya berhubungan langsung dengan
database untuk memanipulasi data (insert, update, delete, search), menangani
validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan
bagian view.
2. View : merupakan bagian yang menangani presentation logic. Pada suatu aplikasi
web bagian ini biasanya berupa file template HTML, yang diatur oleh controller.
View berfungsi untuk menerima dan merepresentasikan data kepada user. Bagian
ini tidak memiliki akses langsung terhadap bagian model.
3. Controller : merupakan bagian yang mengatur hubungan
antara bagian model dan bagian view, controller berfungsi untuk menerima
request dan data dari user kemudian menentukan apa yang akan diproses oleh
aplikasi.
Dengan
menggunakan prinsip MVC suatu aplikasi dapat dikembangkan sesuai dengan
kemampuan developernya, yaitu programmer yang menangani bagian model dan
controller, sedangkan designer yang menangani bagian view, sehingga penggunaan
arsitektur MVC dapat meningkatkan maintanability dan organisasi kode. Walaupun
demikian dibutuhkan komunikasi yang baik antara programmer dan designer dalam
menangani variabel-variabel yang akan ditampilkan.
Kesimpulan
1. CodeIgniter memiliki dokumentasi yang
super lengkap disertai dengan contoh implementasi kodenya, sehingga hal ini
menjadi salah satu alasan kuat mengapa banyak orang memilih CodeIgniter sebagai
framework pilihannya.
2. Konsep Model-View-Controller (MVC) digunakan
untuk membagi kode ke dalam 3 bagian dan konsep MVC membuat
proses pengembangan sebuah perangkat lunak menjadi lebih mudah, scalable, dan
maintanable.