CodeIgniter (Pengenalan 1)



Oke pada kesempatan kali saya akan menjelaska tentang Framework Codeigniter, sesuai request dari Kang Michael Burgos dan teman-teman di Mata Panda Crew yang ingin belajar soal Framework ini.

Codeigniter merupakan salah satu framework terbaik yang ada saat ini. Banyak website-website besar telah menggunakan codeigniter sabagai framwork utama dalam membangun website maupun aplikasi mereka. Selain kemudahkan dalam menggunakan, codeigniter juga cepat, mudah di kustomisasi dan integrasikan dengan library atau framework lainnya.

Framework ini juga sempat menjadi perhatian pembuat php – Rasmus Lerdorf

“I like CodeIgniter because it is faster, lighter and the least like a framework.” - Rasmus Lerdorf

Dalam postingan saya kali ini akan dibahas mengenai cara-cara penggunaan Codeigniter, mulai dari pengenalan tentang controller, model dan view, penggunaan codeigniter dan form, penggunaan database di codeigniter, studi-studi kasus hingga penggunaanya dengan library-library lain seperti jQuery dan jQuery UI.

beberapa tahun kebelakang CodeIgniter menjadi sebuah framework yang hangat dibicarakan di Indonesia.

Hampir semua milis dan forum PHP banyak membahas masalah CodeIgniter. Terlebih lagi banyak perusahan-perusahan ternama di Indonesia (Kompas.com, okezone.com, urbanesia.com, bejubel.com, dan lain-lain) yang telah menggunakan CodeIgniter dalam produk mereka. Apa sih CodeIgniter? CodeIgniter adalah sebuah framework PHP yang dapat mempercepat pengembang untuk membuat sebuah aplikasi web. Ada banyak library dan helper yang berguna didalamnya dan tentunya mempermudah proses development. Ibarat ingin membangun rumah maka Anda tidak perlu membuat semen, memotong kayu menjadi papan, mengubah batu menjadi porselen dan lain-lain. Anda cukup memilih komponen-komponen tersebut lalu dikombinasikan menjadi rumah yang indah.


Jadi keuntungan yang didapat dalam penggunaan framework adalah :
  • Menghemat Waktu Pengembangan – Dengan struktur dan library yang telah disediakan oleh framework maka tidak perlu lagi memikirkan hal-hal tersebut, jadi Anda hanya fokus ke proses bisnis yang akan dikerjakan.
  • Reuse of code – Dengan menggunakan framework maka perkerjaan kita akan memiliki struktur yang baku, sehingga kita dapat menggunakanya kembali di proyek-proyek lainnya.
  • Bantuan komunitas - Ada komunitas-komunitas yang siap membantu jika ada permasalahan, selain itu juga bisa berbagi ilmu sehingga dapat meningkatkan kemampuan pemrograman kita.
  • Kumpulan best practice – sebuah framework merupakan kumpulan best practice yang sudah teruji. Jadi kita dapat meningkatkan kualitas kode kita.
 Catatan:
Framework adalah sebuah struktur konseptual dasar yang digunakan untuk memecahkan sebuah permasalahan atau isu-isu kompleks.

 Sebelum mendalami CodeIgniter lebih jauh, sebaiknya dipahami terlebih dahulu apa itu framework. Framework adalah sebuah struktur konseptual dasar yang digunakan untuk memecahkan sebuah permasalahan, bahkan isu-isu kompleks yang ada. Sebuah framework telah berisi sekumpulan arsitektur/konsep-konsep yang dapat mempermudah dalam pemecahan sebuah permasalahan. Perlu diingat, framework bukanlah peralatan/tools untuk memecahkan sebuah masalah, tetapi sebagai ALAT BANTU. Framework hanya menjadi sebuah konstruksi dasar yang menopang sebuah konsep atau sistem yang bersifat “essential support” (penting tapi bukan komponen utama).

Kenapa Menggunakan Framework?

Salah satu alasan mengapa orang menggunakan framework terutama dalam membangun sebuah aplikasi adalah kemudahan yang ditawarkan. Didalam sebuah framework biasanya sudah tersedia struktur aplikasi yang baik, standard coding (1), best practice (2) dan design pattern (3), dan common function (4). Dengan menggunakan framework kita dapat langsung fokus kepada business process yang dihadapi tanpa harus berfikir banyak masalah struktur aplikasi, standar coding dan lain-lain. Dengan memanfaatkan design pattern dan common function yang telah ada di dalam framework maka hal tersebut dapat mempercepat proses pengembangan aplikasi. Kita tidak perlu membuat sesuatu fungsionalitas yang bersifat umum. Tanpa di sadari ketika kita membangun sebuah aplikasi yang banyak melibatkan banyak fungsionalitas yang telah dibangun itu ternyata sama atau berulang-ulang. Dengan pengelempokkan itulah kita dapat mempercepat pengembangan aplikasi. Selain kemudahan dan kecepatan dalam membangun sistem, dengan menggunakan framework tertentu kita juga dapat “menyeragamkan” cara kita mengimplementasikan kode program. Dengan framework kita akan “dipaksa” untuk patuh kepada sebuah kesepakatan. Selain itu juga akan memudahkan pengembang lain untuk mempelajari dan mengubah aplikasi yang telah dibuat apabila kode yang dihasilkan konsisten dan patuh pada sebuah aturan tertentu.

 Karna pengenalan tentang Framework kali ini sangat panjang, maka akan saya buat menjadi 2 post untuk tahap pengenalan.