Pengenalan CodeIgniter

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:


  1. Mempercepat dan mempermudah pembangunan sebuah aplikasi web.
  2. Relatif memudahkan dalam proses maintenance karena sudah ada pola tertentu dalam sebuah framework (dengan syarat programmer mengikuti pola standar yang ada)
  3. 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
  4. Lebih bebas dalam pengembangan jika dibandingkan CMS
CodeIgniter adalah salah satu dari sekian banyak framework PHP yang tersedia secara gratis. Codeigniter adalah salah satu framework handal berbasis PHP. Selain itu, kesederhanaan dan kerampingannya membuat Codeigniter menjadi framework yang paling mudah dipelajari dan tercepat aksesnya dibandingkan framework lainnya. Pengembang CodeIgniter adalah seorang musisi rock-n-roll bernama Rick Ellis dari EllisLab (http://www.ellislab.com). Tujuan dari pembuatan framework CodeIgniter ini menurut user manualnya adalah untuk menghasilkan framework yang akan dapat digunakan untuk pengembangan proyek pembuatan website secara lebih cepat dibandingkan dengan pembuatan website dengan cara koding secara manual, dengan menyediakan banyak sekali pustaka (library) yang dibutuhkan dalam pembuatan website, dengan antarmuka yang sederhana dan struktur logika untuk mengakses pustaka yang dibutuhkan. CodeIgniter dirilis pertama kali pada 28 Februari 2006. Versi terakhir adalah 1.7.2 dapat dilihat di website resminya (ada dibagian akhir tulisan ini).
CodeIgniter memudahkan kita merancang sebuah aplikasi berbasis website. Tools ini dapat meminimalkan penulisan script yang sering kita lakukan secara manual, karena dilengkapi library yang cukup lengkap untuk keperluan pembuatan website. Dengan demikian, kita sebagai pengembang dapat lebih memfokuskan perhatian pada sisi perencanaan. Karena proses pembuatan website secara teknis sudah diminimalkan dalam hal penulisan kodenya. Lalu kenapa harus CodeIgniter.
Beberapa Kelebihan CodeIgniter
Seperti kita ketahui bahwa tersedia banyak sekali framework php yang bisa kita gunakan untuk keperluan pembuatan website. Banyak juga tersedia content managemant system yang mudah digunakan. Apa yang membuat CodeIgniter layak untuk dipilih? Berikut kelebihan-kelebihan CodeIgniter dibanding dengan tools-tools yang lain. Mungkin agak subjektif, mengingat keterbatasan pengetahuan saya. Here we go…:
1. Free of Charge – Gratis
Lisensi CodeIgniter adalah lisensi Apache/BSD style open source license, yang berarti kita dapat menggunakannya secara gratis sesuai kebutuhan kita.
2. Kompatibel dengan PHP 4.0 maupun PHP 5.0
PHP sekarang sudah memasuki release versi ke 5. Sedangka banyak webhosting ataupun developer web yang mengembangkan aplikasinya menggunakan PHP 4.0. Disinilah keunggulan CodeIgniter yang mampu mensupport pengembang yang masih menggunakan PHP versi 4.0. Namun juga tetap powerful walau digunakan bersama PHP 5.0.
3. Lighweight – Ringan dan cepat.
Secara default, saat CodeIgniter berjalan hanya akan me-load beberapa library saja. Untuk library-library lain bisa di load sesuai kebutuhan. Hal ini berarti penggunaan resource yang sedikit sehingga aplikasi akan terasa ringan dan cepat.
4. Prinsip Model-View-Controller.
Kita bebas berekspresi dalam style kita. Tapi bagaimanapun, CodeIgniter mendukung pengembangan web dengan metode Model View Controller (MVC). Sebagai penjelasan, MVC memisahkan bagian bussiness logic (logika program) dan tampilan (view) dalam sebuah aplikasi. Hal ini sangat memudahkan tim dalam proses maintenance sebuah aplikasi, karena tugas bisa lebih mudah dibagi-bagi. Ada bagian yang khusus membuat tampilan dan bagian yang membuat core programnya.
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. 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.
  2. 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.
  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.
5. Dokumentasi yang Lengkap.
Salah satu hal yang bisa dijadikan barometer apakah sebuah aplikasi benar-benar dikembangkan atau tidak bisa dilihat dari dokumentasinya. Dalam hal ini CodeIgniter sangat luar biasa, terdapat dokumentasi yang sangat lengkap tentang semua hal yang ada dalam CodeIgniter. Mulai dari langkah instalasi sampai dokumentasi fungsi-fungsi nya tersedia. Adanya dokumentasi sangat memudahkan bagi pemula dalam mempelajari lingkungan pengembangan website dengan CodeIgniter.
6. Pustaka yang lengkap.
CodeIgniter dilengkapi dengan berbagai pustaka siap pakai untuk berbagai kebutuhan, misalnya saja koneksi database, email, session dan cookies, keamanan, manipulasi gambar dan banyak lagi.
7. Banyak komunitas
Dengan banyaknya komunitas CI ini, memudahkan kita untuk berinteraksi dengan yang lain, baik itu bertanya atau teknologi terbaru.
8. 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.
Fitur-Fitur CodeIgniter
Berikut fitur-fitur yang didukung oleh CodeIgniter :
  1. Sistem berbasis Model View Controller
  2. Kompatibel dengan PHP versi 4.
  3. Ringan dan Cepat.
  4. Terdapat dukungan untuk berbagai basis data.
  5. Mendukung Active Record Database.
  6. Mendukung form dan validasi data masukan.
  7. Keamanan dan XSS filtering.
  8. Tersedia pengaturan session.
  9. Tersedia class untuk mengirim email.
  10. Tersedia class untuk manipulasi gambar (cropping,resizing, rotate dan lain-lain).
  11. Tersedia class untuk upload file.
  12. Tersedia class yang mendukung transfer via FTP.
  13. Mendukung lokalisasi bahasa.
  14. Tersedia class untuk melakukan pagination (membuat tampilan perhalaman).
  15. Mendukung enkripsi data.
  16. Mendukung benchmarking.
  17. Mendukung caching.
  18. Pencatatan error yang terjadi.
  19. Tersedia class untuk membuat calendar.
  20. Tersedia class untuk mengetahui user agent, misalnya tipe browser dan sistem operasi yang digunakan pengunjung.
  21. Tersedia class untuk pembuatan template website.
  22. Tersedia class untuk membuat trackback.
  23. Tersedia pustaka untuk bekerja dengan XMP-RPC.
  24. Menghasilkan clean URL.
  25. URI routing yang felksibel.
  26. Mendukung hooks, ekstensi class dan plugin.
  27. Memiliki helper yang sangat banyak jumlahnya.

Posting Komentar

0 Komentar