{ Jangan Malas Membaca Ya }
Apa Itu CodeIgniter?
Begitulah kira-kira pertanyaan pertama yang terlintas dari pikiran kawan-kawan dikala ada seseorang yang berbicara wacana CodeIgniter. Bukan hanya wacana CodeIgniter, tapi pertanyaan "APA" pada dasarnya akan ditanyakan pada setiap pernyataan yang pertama kali kita dengar. Betul kan..??
Pengertian CodeIgniter
CodeIgniter ialah sebuah framework berbasis PHP yang berpengaruh dengan footprint yang sangat kecil, dibangun untuk pengembang yang membutuhkan toolkit sederhana dan elegan untuk menciptakan aplikasi web dengan fitur lengkap. Lantas Apa itu framework? Framework atau dalam bahasa indonesia sanggup diartikan sebagai "kerangka kerja" merupakan sebuah tool yang bekerja pada suatu konsep tertentu dan terdiri dari aneka macam fungsi yang sanggup dengan gampang dijabarkan atau dialih-gunakan untuk menciptakan fungsi-fungsi lain yang lebih kompleks. Maksudnya, kalau seorang Programmer memakai sebuah framework sebagai lingkup kerjanya, beliau harus mematuhi segala ketentuan dari framework tersebut. Lebih lanjut ia sanggup membangun aneka macam fungsi yang rumit dan kompleks dengan memakai fungsi-fungsi yang telah disediakan oleh Framework tersebut. Makara beliau tidak perlu lagi menulis ulang semua coding, Ia cukup mempelajari cara memakai kerangka (frame) yang telah tersedia dari framework tersebut.
CodeIgniter pertama kali ditulis oleh Rick Ellis (http://www.ellislab.com), seorang musisi rock yang beralih profesi menjadi programmer dalam riset kecil-kecilannya dan menghasilkan suatu framework PHP yang berukuran kecil, ringan serta memenuhi fitur umum aplikasi PHP. Namun, semenjak tahun 2014 CodeIgniter telah dimiliki oleh British Columbia Institute of Technology (BCIT). Segala hal mengenai CodeIgniter sanggup ditemui di websiter resminya beralamatkan http://www.codeigniter.com. Untuk dikala ini telah merilis versi 3.1.6.
Apa Fungsi CodeIgniter ?
Sebagaimana yang telah saya utarakan sebelumnya bahwa CodeIgniter ialah sebuah kerangka kerja yang berisi aneka macam fungsi yang sanggup dipakai untuk menciptakan fungsi-fungsi yang kompleks. Dalam membangun sebuah web, kita biasa sangat berkutat pada script koneksi database, pagination, proses login, query database. Dengan memakai sebuah framework, CodeIgniter tentu saja, kita tidak perlu lagi menuliskan perintah mysql_connect, myql_select_db atau semacamnya, alasannya ialah CodeIgniter sudah menyediakan semua itu. Kita hanya perlu tau bagaimana cara menggunakannya. Dan saya rasa, semua itu tidaklah terlalu susah. Anda sanggup membacanya sendiri di http://www.codeigniter.com/user_guide. Jadi pada dasarnya adalah: ia bisa mempercepat dan mempermudah kita dalam pembuatan website.
Disamping itu, penggunaan CodeIgniter juga akan menghasilkan suatu struktur pemrograman yang sangat rapi, baik dari segi aba-aba maupun struktur file phpnya. Struktur aplikasi yang rapi tentu sangat diharapkan dari sebuah aplikasi. Misalnya, kalau terjadi suatu error dalam aplikasi, dengan code yang rapi kita sanggup dengan gampang menemukan kesalahan tersebut. Bukan hanya itu, bayangkan suatu dikala aplikasi yang kita bangkit membutuhkan fungsi-fungsi lain yang sangat penting, tentu akan diharapkan pengembangan lebih lanjut. Dan sekali lagi, hal itu juga sangat memerlukan struktur coding yang rapi. Dengan memakai CodeIgniter, untuk mewujudkan struktur aba-aba yang rapi sangat-sangat mungkin terjadi. Hal itu dikarenakan CodeIgniter dibangun berbasis MVC (Model, View, Controller) yang memisahkan antara tampilan dan logic aplikasi.
- Model adalah bab yang bertanggung jawab terhadap operasi database, baik itu create, read, update atau delete. Ia berupa fungsi-fungsi operasional database yang sanggup dipanggilkan oleh Controller.
- View adalah bab yang menangani tampilan. bab inilah yang bertugas untuk mempresentasikan data kepada user. Ia berbentuk struktur HTML yang berisikan variabel data yang dikirimkan oleh Controller.
- Controller adalah bab yang mengatur korelasi antara Model dan View. Ia ialah otak dari kinerja aplikasi. Ia terdiri dari fungsi-fungsi yang bersifat operasional dan logikal. Saat ada request yang masuk, ia akan menangani dan memprosesnya untuk kemudian ditampilkan dalam View.
Kelebihan-Kelebihan CodeIgniter
- Berukuran sangat kecil. File download nya hanya sekitar 2MB, itupun sudah include dokumentasinya yang sangat lengkap.
- Dokumentasi yang bagus. Saat anda mendownloadnya, telah disertakan dengan dokumentasi yang berisi pengantar, tutorial, bagaimana panduan penggunaan, serta rujukan dokumentasi untuk komponen-komponennya.
- Kompitabilitas dengan Hosting. CodeIgniter bisa berjalan dengan baik pada hampir semua platfom hosting. CodeIgniter juga mendukung database-database paling umum, termasuk MySQL.
- Tidak ada hukum coding yang ketat. Terserah anda kalau anda hanya ingin memakai Controller, tanpa View, atau tidak memakai Model, atau tidak salah satu keduanya. Namun dengan memakai ketiga komponennya ialah pilihan lebih bijak.
- Kinerja yang baik. Codeigniter sangat cepat bahkan mungkin bisa dibilang merupakan framework yang paling cepat yang ada dikala ini.
- Sangat gampang diintegrasikan. CodeIgniter sangat mengerti wacana pengembangan aneka macam library dikala ini. Karenanya CodeIgniter memperlihatkan akomodasi untuk diintegrasikan dengan library-library yang tersedia dikala ini.
- Sedikit Konfigurasi. Konfigurasi CodeIgniter terletak di folder aplication/config. CodeIgniter tidak membutuhkan konfigurasi yang rumit, bahkan untuk mencoba menjalankannya, tanpa melaksanakan konfigurasi sedikitpun ia sudah bisa berjalan.
- Mudah dipelajari. Disamping dokumentasi yang lengkap, ia juga mempunyai aneka macam lembaga diskusi.
Kekurangan-kekurangan CodeIgniter
- CodeIgniter tidak ditujukan untuk pembuatan web dengan skala besar.
- Library yang sangat terbatas. Hal ini dikarenakan sangat sulit mencari plugin aksesori yang terverifikasi secara resmi, alasannya ialah pada situsnya CodeIgniter tidak menyediakan plugin-plugin aksesori untuk mendukung pengembangan aplikasi dengan CI.
- Belum adanya editor khusus CodeIgniter, sehingga dalam melakukan create project dan modul-modulnya harus berpindah-pindah folder.
Semoga Bermanfaat... ^_^