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. 

Postingan populer dari blog ini

Sepetak Surga yang Terletak di Indonesia Timur

IMPLEMENTASI dan PEMELIHARAAN

Perangkat Jaringan Repeater, Bridge, Network Interface Card (NIC)