Ayoo, Berkenalan dengan CodeIgniter             Akhir-akhir ini CodeIgniter menjadi sebuah framework yang paling banyak dibicarakan di Indonesia. Bahkan banyak forum PHP dan milis yang membicarakan tentang framework satu ini. Terlebih lagi banyak perusahaan besar dan terkenal di Indonesia menggunakan framework CodeIgniter dalam memasarkan...

Ayo Berkenalan Dengan CodeIgniter Part 1

Ayoo, Berkenalan dengan CodeIgniter

            Akhir-akhir ini CodeIgniter menjadi sebuah framework yang paling banyak dibicarakan di Indonesia. Bahkan banyak forum PHP dan milis yang membicarakan tentang framework satu ini. Terlebih lagi banyak perusahaan besar dan terkenal di Indonesia menggunakan framework CodeIgniter dalam memasarkan produk yang mereka keluarkan, contohnya seperti Okezone.com, Urbanesia.com,  Kompas.com, dan lain-lain. CodeIgniter sendiri adalah seuah framework PHP yang dapat mempercepat pengembangan untuk membuat sebuah aplikasi web, selain itu banyak library dan helper yang berguna di dalamnya dan tentu saja membantu dalam proses pembangunan web yang kita buat. Contohnya jika ingin membangun rumah idaman anda, anda tidak perlu membuat besi, memotong kayu menjadi papan, dan lain-lain, tetapi anda hanya cukup memilih komponen yang ingin anda buat tersebut di toko bangunan. Dalam hal ini toko bangunan adalah framework.

            Setelah mengerti tentang framework, maka kita lanjutkan lagi dengan keuntungan menggunakan framework. Menurut saya, keuntungan menggunakan framework adalah :

  1. Reuse of code : Artinya dengan menggunakan framework maka pekerjaan kita memiliki struktur yang baku, sehingga dapat digunakan kembali di projek berikutnya.
  2. Menghemat waktu : Karena dengan adanya struktur dan  library yang telah di sediakan framework maka tidak perlu lagi memikirkan hal-hal tersebut. Jadi kita hanya fokus ke proses bisnis yang kita kerjakan.
  3. Banyak Komunitas : bantuan dari para sesepuh codeigniter siap membantu kita dalam pengerjaan projek yang kita buat.

            Sebelum memahami CodeIgniter lebih jauh, sebaiknya di pahami terlebih dahulu tentang framework, Nah kalau bahasa google yang saya cari arti dari Framework adalah sebuah struktur konseptual dasar yang digunakan untuk memecahkan sebuah permasalahan atau isu-isu kompleks. Perlu anda ingat bahawa, framework bukanlah tools untuk memecahkan suatu masalah, tetapi sebagai alat bantu.

Alasan menggunakan Framework ?

            Salah satu alasan mengapa orang menggunakan framework terutama dalam membangun sebuah aplikasi adalah kemudahan yang ditawarkan. Di dalam sebuah framework biasanya sudah tersedia struktur aplikasi yang baik, standard coding, best practice, design pattern dan common function. 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 disadari 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.

 

Apa itu Codeigniter?

 

CodeIgniter adalah sebuah web application framework yang bersifat open source digunakan untuk membangun aplikasi php dinamis. Tujuan utama pengembangan Codeigniter adalah untuk membantu developer untuk mengerjakan aplikasi lebih cepat daripada menulis semua code dari awal. Codeigniter menyediakan berbagai macam library yang dapat mempermudah dalam pengembangan. CodeIgniter diperkenalkan kepada publik pada tanggal 28 februari 2006.

CodeIgniter sendiri dibangun menggunakan konsep Model-View-Controller development pattern. CodeIgniter sendiri merupakan salah satu framwoerk tercepat dibandingkan dengan framework lainnya. Pada acara frOSCon (August 2008), pembuat php Rasmus Lerdorf mengatakan dia menyukai codeigniter karena dia lebih ringan dan cepat dibandingkan framework lainnya ( "because it is faster, lighter and the least like aframework.")

 

Apa sih Kelebihan CodeIgniter?

 

CodeIgniter sangat ringan, terstruktur, mudah dipelajari, dokumentasi lengkap dan dukungan yang luar biasa dari forum CodeIgniter. Selain itu CodeIgniter juga memiliki fitur-fitur lainya yang sangat bermanfaat, antara lain:

  • Menggunakan Pattern MVC.

Dengan menggunakan pattern MVC ini, struktur kode yang dihasilkan menjadi lebih terstruktur dan memiliki standar yang jelas.

  • URL Friendly.

URL yang dihasilkan sangat url friendly. Pada CodeIgniter diminimalisasi penggunaan $_GET dan di gantikan dengan URI.

  • Kemudahan.

Kemudahan dalam mempelajari, membuat library dan helper, memodifikasi serta meng-integrasikan Library dan helper. Jika kita membandingkan antara CodeIgniter dengan framework-framework lainnya maka beberapa poin yang membuat CodeIgniter unggul adalah:

a)      Kecepatan.

Berdasarkan hasil benchmark CodeIgniter merupakansalah satu framework PHP tercepat yang ada saat ini.

b)      Mudah dimodifikasi dan beradaptasi.

Sangat mudah memodifikasi behavior framework ini. Tidak membutuhkan

Server requirement yang macam-macam serta mudah mengadopsi library lainya.

  • Dokumentasi lengkap dan jelas.

Bahkan tanpa e-book ini pun CodeIgniter sebenarnya telah menyediakan sebuah panduan yang lengkap mengenai CodeIgniter. Semua informasi yang anda butuhkan tentang codeigniter ada disana.

  • Learning Curve Rendah.

CodeIgniter sangat mudah dipelajari. Dalam pemilihan framework hal ini sangat penting diperhatikan karena kita juga harus memperhatikan skill dari seluruh anggota team. Jika sebuah framework sangat sulit dipelajari maka akan berisiko untuk memperlambat team development anda.

  • CodeIgniter 2.1.4

CodeIgniter versi 2.1.4 baru saja diluncurkan. Pada versi terbaru ini, terdapat  banyak perubahan mendasar dari CodeIgniter daripada versi sebelumnya. Perubahan ini menjadikan CodeIgniter jauh lebih kaya dan matang dibandingkan framework lainnya. Perubahan itu diantaranya adalah:

  1. Menghilangkan dukungan terhadap PHP4. PHP4 sudah tidak didukung oleh tim pengembang PHP, karena memberikan dukungan untuk PHP4 membuat CodeIgniter semakin ketinggalan dari segi fitur.
  2. Menghilangkan fitur pluggin. Pluggin mirip dengan helper, bertujuan untuk menghilangkan kerancuan ini maka fitur ini dihilangkan pada CodeIgniter 2.1.4.
  3. Menghilangkan fitur scaffolding. Fitur ini nyaris tidak pernah digunakan dan implementasinya masih kurang bagus.
  4. Penambahan library driver. Ini adalah library khusus dimana kita dapat membuat driver dari library yang telah kita buat.
  5. Support query string dan command-line execution. Hal ini menjawab kesulitan-kesullitan yang dialami pada versi sebelumnya.
  6. Penambahan library cache.  Untuk meningkatkan kualitas aplikasi maka library cache baik  menggunakan apc, memcached maupun file base.
  7. Penambahan fitur package. Untuk mempermudah distribusi resource dalam sebuah folder.

 

Apa itu MVC?

 

MVC adalah konsep dasar yang harus diketahui sebelum mengenal CodeIgniter . MVC adalah singkatan dari Model View Controller. MVC sebenarnya adalah sebuah pattern/teknik pemogramanan yang memisahkan bisnis logic (alur pikir), data logic (penyimpanan data) dan presentation logic (antarmuka aplikasi) atau secara sederhana adalah memisahkan antara desain, data dan proses. Adapun komponen-komponen MVC antara lain:

1. Model

Model berhubungan dengan data dan interaksi ke database atau webservice. Model juga merepresentasikan struktur data dari aplikasi yang bisa berupa basis data maupun data lain, misalnya dalam bentuk file teks, file XML maupun webservice. Biasanya di dalam model akan  berisi class dan fungsi untuk mengambil, melakukan update dan menghapus data website.  Sebuah aplikasi web biasanya menggunakan basis data dalam menyimpan data, maka pada bagian Model biasanya akan berhubungan dengan perintah-perintah query SQL.

2. View

View berhubungan dengan segala sesuatu yang akan ditampilkan ke end-user. Bisa berupa  halaman web, rss, javascript dan lain-lain. Kita harus menghindari adanya logika atau pemrosesan data di view. Di dalam view hanya berisi variabel-variabel yang berisi data yang siap ditampilkan. View dapat dikatakan sebagai halaman website yang dibuat dengan menggunakan HTML dan bantuan CSS atau JavaScript. Di dalam view jangan pernah ada kode untuk melakukan koneksi ke basisdata. View hanya dikhususkan untuk menampilkan data-data hasil dari model dan controller.

3. Controller

Controller bertindak sebagai penghubung data dan view. Di dalam Controller inilah  terdapat class-class dan fungsi-fungsi yang memproses permintaan dari View ke dalam struktur data di dalam Model. Controller juga tidak boleh berisi kode untuk mengakses basis data karena tugas mengakses data telah diserahkan kepada model. Tugas controller adalah menyediakan berbagai variabel yang akan ditampilkan di view, memanggil model untuk melakukan akses ke basis data, menyediakan penanganan kesalahan/error, mengerjakan proses logika dari aplikasi serta melakukan validasi atau cek terhadap input.

 

Perhatian sebelum belajar CodeIgniter

          Sebaiknya sebelum belajar tentang CodeIgniter harus mengenal dulu PHP. Karena anda akan susah mengikuti tutorial yang di buat jika belum mengetahui dasar PHP. Insya allah tutorial yang akan saya buat setelah ini adalah sedikit mengenai PHP dan Object Oriented Programming. Sehingga anda dapat mengikuti tutorial ini dengan baik. Amin

          Mohon jika ada kritik atau saran, dapat mengirimkan email ke : febri.kfc@gmail.com, semoga tulisan saya dapat membantu teman-teman dalam membuat project menggunakan codeigniter.

 

      

Jika ingin download artikel ini, klik di Download Document

       

 


About Author

Muhammad Febriansyah

IT Web di PT.NET Mediatama Indonesia


Comment & Discussions

    Please LOGIN before if you want to give the comment.