Friday, April 18, 2008

Sekilas Tentang CodeIgniter

Artikel ini sebagian besar bersumber dari CodeIgniter User Guide, dengan penambahan dari sumber-sumber lain plus dari gw pastinya (^0^)/
CodeIgniter ?

CodeIgniter (CI) sebuah framework untuk programmer yang ingin membangun website dengan PHP. CI merupakan langkah cepat untuk membuat sebuah website daripada membangun sebuah website dengan alur koding yang biasa. Dengan mempaketkan library-library, alur pemrograman akan terstruktur dan logika bisnis/proses akan lebih mudah dimengerti oleh developer/programmer lain. CI telah mempaketkan itu semua sehingga mampu meminimalisirkan jumlah koding yang dibangun.

Siapa yang memakai CI ?

CI cocok untuk programmer jika :

  • Menginginkan sebuah framework dengan kapasitas ringan dan prowerfull.
  • Menginginkan sebuah kinerja yang luar biasa
  • Kompatibel dengan akses hosting yang standard dan dapat berjalan dengan variasi versi PHP apapun dengan konfigurasi yang bagaimanapun juga.
  • Tidak meminta konfigurasi apa-apa
  • Tidak meminta untuk akses atau menggunakan CLI (seperti : command line, konsole, atau terminal)
  • Tidak nempel banget ama peraturan koding, harus gini gitu dan sebagainya ...
  • Tidak meminta depedency apapun, seperti PEAR
  • Tidak memaksakan untuk belajar tentang templating language (walaupun di CI ada template parser, itu adalah pilihan jika ingin)
  • Tidak ingin yang begitu kompleks
  • Dokumentasi yang lengkap

Catatan penting lainnya

CodeIgniter adalah sebuah framework!

Bagaimanapun CI adalah sebuah framework. Framework dalam pemrograman sendiri dapat diartikan sebagai sudut pandang seseorang dalam membuat program. Dapat diartikan juga penyatuan sudut pandang dari masing-masing developer untuk membangun suatu program. Tujuannya adalah untuk memudahkan kinerja sistematika dari team dan dari segi men-develope serta maintenance-nya lebih mudah.

Ingat :

  • Beda programmer, beda cara pikir. Beda cara pikir, pasti juga beda sudut pandangnya. Untuk itulah framework diperlukan untuk menyatukan pola pikir dan pola pandang masing-masing programmer.
  • Beda framework, beda lagi sudut pandangnya. :D
  • Membuat program tidak harus bergantung dengan framework. Framework hanya sebuat alat atau toolkit.

CodeIgniter is Free

CodeIgniter dilesensikan di bawah Apache/BSD-style open source license. Dimana programmer atau siapapun itu boleh/diizinkan secara bebas menggunakan, menyalin, mengubah, dan mendistribusikan CodeIgniter beserta dokumentasinya, dengan ataupun tanpa modifikasi, untuk berbagai tujuan.

Untuk penjelasan detailnya silakan baca license agreement CodeIgniter.


CodeIgniter berjalan di PHP 4

Codeigniter ditulis kompatibel dengan PHP 4. Walaupun PHP 5 mempunyai penanganan OOP yang lebih baik, tapi dilihat dari kacamata secara umum, banyak vendor-vendor OS seperi RedHat bergerak lambat untuk mendukung PHP 5. Ditambah PHP 4 telah lama bernaung dan mempunyai umur yang cukup lama di hati programmer PHP.

Walaupun begitu, CI juga kompatibel dengan PHP 5. Lho ? Untuk penjelasan lebih lengkap , silakan baca dokumentasinya.


CodeIgniter itu kecil-kecil cabe rawit

Kecil-kecil cabe rawit atau istilah umumnya adalah ringan tapi powerfull. CodeIgniter benar-benar light weight (istilah keren untuk kecil-kecil cabe rawit). Sistem core-nya hanya sedikit sekali meminta library-library tambahan. Ini berbeda jauh dengan framework-framework lain yang required-nya begitu signifikan sehingga menghabiskan banyak resource.


CodeIgniter itu cepat

Benar-benar cepat. Di situsnya sendiri tertulis : "We challenge you to find a framework that has better performance than CodeIgniter" .


CodeIgniter menggunakan MVC

CodeIgniter menggunakan pendekatan MVC (Model-View-Controller), yang memisahkan antara program logika dan presentasi. Jadi istilah spagethi code bisa diminimalisirkan atau bahkan tidak ada lagi.

Pengertian lain untuk MVC adalah sebuah konsep pemrograman yang fungsinya untuk memisahkan kode yang bertugas sebagai tampilan atau user interface (View), tempat untuk menampungkan data sebelum ditampilkan di view (Model) dan bagian yang mengatur perpindahan data dari model ke view (Controller).


Clean and search-engine URL friendly

URL dibangkitlan oleh CI sehingga menjadi bersifat clean and search-engine friendly. Istilah yang lebih Indonesia Human Friendly adalah gampang dioptimasasi oleh search engine (seperti google, yahoo, live, dsb.). Yang umum biasa terjadi adalah pendekatan "query string" ke URL yang sama artinya dengan sistem yang dinamis. CI menggunakan pendekatan segment-based :

www.your-site.com/news/article/345

Kalau familiar di wordpress, mungkin dibagian pengaktifan permalink-nya. Maybe ...

Penting : Secara default fle index.php dimasukkan dalam URL tetapi hal tersebut dapat dihilangkan dengan pengaturan yang sederhana di file .htaccess .


Paket Library CI

CodeIgniter telah mempaketkan library-library yang paling banyak dibutuhkan oleh para web development, seperti pengaksesan ke database, sending email, validasi form data, pemanfaatan session, manipulasi gambar, XML-RPC data dan masih banyak lagi.


CodeIgniter dapat diturunkan (extensible)

Sistem CI dapat dengan mudah diturunkan atau diperluas fungsinya dengan pemanfaatan library di helper dan plugin, atau melalui turunan class atau sistem hook.


CodeIgniter tidak meminta template engine

Walaupun CodeIgniter mempunyai sistem template parser, tapi itu adalah pilihan jika ingin menggunakannya. Template engine sendiri bukan merupakan bagian dasar dari kinerja PHP, jadi sintak-sintaknya harus dipelajari terlebih dahulu.

Contoh di CI :

<ul>
<?php foreach ($addressbook as $name):?>
<li><?=$name?></li>
<?php endforeach; ?>
</ul>

Bandingkan dengan yang ada pada template engine :

<ul>
{foreach from=$addressbook item="name"}
<li>{$name}</li>
{/foreach}
</ul>

Benar, contoh template engine di atas lebih rapi, tapi membuat prosesnya lebih kompleks, seperti harus menkoversi terlebih dahulu pseudo-code template engine agar berjalan di PHP. CI dibuat untuk memaksimumkan kinerja, jadi itulah alasan mengapa CI tidak memilih untuk menggunakan template engine.


Dokumentasi yang lengkap

Programmer mencintai kode dan membenci menulis dokumentasi. Tapi ingat, dokumentasi adalah sama pentingnya seperti kode itu sendiri. Program tanpa dokumentasi adalah suck ! Framework CI mempunyai dokumentasi yang lengkap untuk siap digali oleh para programmer.


Dukungan komunitas yang kuat

Tanpa dukungan komunitas, CI bukanlah apa-apa. So, monggo mampir di forum CI . >>>>>(^0^)...

-- To be Continue --

4 comments:

Anonymous said...

Saudara Freddy saya sangat tertarik sekali dengan CI, dapatkah saya main ke tempat anda untuk mengetahui lebih lanjut tentang CI?

Saya tunggu balasannya...

kohaci said...

Silakan saja Bung Dizzyfellow, japri aja saya di freddy(dot)august(at)gmail(dot)com.

Unknown said...

wah saudara fredy bisa bantu saya tidak untuk membuat aplikasi sistem akademik menggunakan CI.. karena sy tertarik namun masih bingung menggunakannya...


saya tunggu ya alasannya

fR3dDy said...

@yudha : saya akan bantu sebisanya, silakan via email aja : freddy (dot) august (at) gmail (dot) com .