CodeIgniter VS CakePHP

Posted on 23. Feb, 2010 by Cheyuz in Article, Code Igniter, PHP, Tutorial, _other

Guys, kali ini Cheyuz bakal ngebahas tentang FW (Framework) PHP… Mungkin ini bermanfaat buat temen-temen semua (khususnya ilkom [ilmu komputer] yang sejurusan, bahkan sekelas denganku di kampus… :)

Waktu itu kita udah sedikit ngebahas ttg CodeIgniter, walopun blm secara detail dijelasin CodeIgniter (selanjutnya CI) itu apa…

CodeIgniter (CI) adalah salah satu framework PHP yang cukup populer, bahkan bisa sangat populer karena sering dipakai di kalangan perusahaan IT dalam bidang pengembangan Web (Web Development). Tetapi sebelumnya, apa itu PHP Framework? Gampangnya framework adalah kumpulan fungsi-fungsi dan class untuk tujuan tertentu yang sudah siap pakai sehingga bisa lebih mempermudah pekerjaan pemrograman, tanpa harus reinvent wheel. Untuk lebih lengkapnya anda bisa membacanya di wikipedia atau situs lain yang sejenis (googling aja :) ).

Nah, kenapa kita harus memakai FW??

  • Mempercepat dan mempermudah pembangunan sebuah aplikasi PHP
  • Relatif memudahkan dalam proses maintenance karena sudah ada pola tertentu dalam sebuah framework (dengan syarat programmer mengikuti pola standar yang ada)
  • 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
  • Lebih bebas dalam pengembangan jika dibandingkan CMS

Nah, framework yang populer dan sering dipakai di lapangan salah dua-nya adalah CodeIgniter dan CakePHP. Tetapi kalian tau ga keunggulan dan kelebihan kedua framework ini? ok, kita bahas di sini…

Kalo kalian baca dokumentasi dan bahkan memakai CI, maka terlihat keunggulan CI ini adalah sebagai berikut…\

Kelebihan CI

  • Performa sangat cepat : salah satu alasan tidak menggunakan framework adalah karena eksekusinya yang lebih lambat daripada PHP from the scracth, tapi Codeigniter sangat cepat bahkan mungkin bisa dibilang codeigniter merupakan framework yang paling cepat dibanding framework yang lain.
  • Mendukung PHP4 dan PHP5
  • 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.
  • Dokumentasi yang sangat lengkap : Setiap paket instalasi codeigniter sudah disertai user guide yang sangat bagus dan lengkap untuk dijadikan permulaan, bahasanya pun mudah dipahami bahkan untuk Cheyuz yang bahasa inggrisnya kurang baik, semoga saja kedepan ada yang mau menerjemahkannya ke bahasa Indonesia. Ditambah lagi oficial video tutorial membuat blog dalam 20 menit yang disediakan di situsnya, untuk mengaksesnya anda bisa menggunakan quick time atau bisa juga mendownload video yang sudah diupload pada youtube.com seperti yang pernah Cheyuz jelaskan di tips belajar pemrograman melalui youtube.com.
  • Mudah dipelajari : Mungkin pengaruh dokumentasi yang bagus sehingga codeigniter mudah untuk dipelajari, atau memang framework ini benar-benar mudah dipelajari. Sebelumnya Cheyuz pernah mencoba-coba mempelajari Zend, Symfony, dan Prado, tiga framework yang memang lebih powerfull daripada codeigniter, tapi juga lebih sulit untuk dipelajari. Inilah alasan terkuat Cheyuz jatuh cinta pada codeigniter.
  • Compatible dengan banyak hosting : tidak seperti kebanyakan framework lain yang hanya bisa berjalan di PHP 5, codeigniter bisa berjalan dengan lancar pada PHP 4, meskipun ini saat ini sudah banyak hosting yang menggunakan PHP 5 tapi Cheyuz pernah mendapati ada beberapa yang masih menggunakan PHP 4. Juga codeigniter tidak menggunakan PEAR atau tool CLI lainnya, sehingga memberi keleluasaan bagi anda yang tidak mempunyai akses ke shell pada hosting anda.

Nah, ini kelebihan dan kekurangan CakePHP:

Kelebihan:

  • Dukungan terhadap AJAX, ORM, library AJAX di dalam CakePHP sudah disediakan, kita tinggal memakainya aja…
  • Automagic function, seperti adanya validasi input, dll, yang mempercepat coding. Seperti helper untuk form, membuat form dengan menggunakan helper dari CakePHP (yang menurut Cheyuz lebih bagus dari helper CI) sangat berguna buat kita yang sering bekerja dengan banyak form. Banyak contoh lainnya…
  • Mendukung PHP4 dan PHP5
  • Lebih mencerminkan MVC yang sesungguhnya dibandingkan CI
  • Komunitas pengguna yang besar dan forum cukup baik

Kekurangan:

  • Manual yang ada tidak selengkap CI. Ini merupakan salah satu kekurangan CakePHP, oleh karena itu CakePHP mungkin bisa dipelajari lebih lama daripada CI.
  • Terlalu banyak aturan, dan tidak sefleksibel CI, seperti nama table harus plural, nama controller harus sama dengan nama folder untuk view… nama view harus sama dengan nama action, dan lain2…
  • Butuh waktu belajar yang lebih lama untuk menguasai framework ini dibanding CI. Tapi jika sudah benar-benar mengerti, banyak kelebihan dibanding CI. Beberapa situs menyarankan anda untuk belajar dan terbiasa dulu dengan CodeIgniter baru kemudian mempelajari CakePHP
  • (http://www.zenperfect.com/2007/07/15/faceoff-codeigniter-vs-cakephp/)

Selebihnya sih terserah temen2 semua mau belajar yang mana aja… tapi saran Cheyuz, pelajarilah CI lebih dulu, yang menurut Cheyuz relatif lebih mudah dan fleksibel dibandingkan CakePHP, hehe… Tapi itu sih tergantung website seperti apa yang akan dibuat…

- Dari berbagai sumber -

Tags: , , , , , ,

22 Comments

takien

23. Feb, 2010

keren gan artikelnya berguna banget.
kebetulan ane lagi mau mulai belajar pake FW juga…
kalau bisa share tutorial2nya ya… :)

Cheyuz

24. Feb, 2010

@takien: hehehe sip… pertama2 saranku belajar CI aja dulu… nanti ke sananya belajar FW lain gampang… :) masih banyak kok FW-FW lain, kayak Kohana, Yii, Symfony, dan laen2… go Indonesia Developer!!

Newbie Banget

24. Feb, 2010

Nice Posting kang!!!

BTW, Kok CI ga di kasih ada kekurangannya ya kang? Ga seimbang nih.. Saya selaku programer yang masih newbie coba mengoreksi ya.. (mohon commentnya di approve)

Kelebihan CI:

- Performa sangat cepat

–> Dari setahun lalu, kecepatan CI dah terlampaui ama Yii, dan Yii udah terlampaui oleh DooPHP, QeePHP, Symfony 2 dan Solar. Jadi Okelah bisa di bilang salah satu framework tercepat, tapi pada urutan ke 6 :D

- Mendukung PHP4 dan PHP5.
–> Buat apa ngedukung PHP4 kalo PHP4 udah ga di support ama php.net? Lagian 99.99% Web Hosting udah support PHP 5.

- Compatable dengan banyak hosting
Sepertinya masih kurang, karena default url menggunakan INFO_PATH, ada sekitar 5 % web hosting (biasanya sih gratisan) ga mendukung ini. Jadi kalo masalah kompatibelitas, kayak masih kalah ma Yii deh.

Saya tambahin, kekurangan CI:
- Fitur terlalu minim
- Code kotor, campuran PHP 4 dan PHP 5. Campuran Prosedural dan OOP.

Kelebihan CakePHP:
- function automagic:
–> sebenarnya magic itu pisau bermata dua, satu sisi bikin aplikasi cepet jadi, tapi satu sisi bikin aplikasi jadi kaku dan susah di debug.

Kekurangan CakePHP:

- Manualnya kurang lengkap.
–> Kata siapa? Coba gera liat sekarang, banyak mana manual CI ama CakePHP?

Kalo FW favorit saya sih.. Wicket dan Rails.. :D

Cheyuz

24. Feb, 2010

Mudah dipelajari : Mungkin pengaruh dokumentasi yang bagus sehingga codeigniter mudah untuk dipelajari, atau memang framework ini benar-benar mudah dipelajari. Sebelumnya Cheyuz pernah mencoba-coba mempelajari Zend, Symfony, dan Prado, tiga framework yang memang lebih powerfull daripada codeigniter, tapi juga lebih sulit untuk dipelajari. Inilah alasan terkuat Cheyuz jatuh cinta pada codeigniter.

Yang penting mudah dipelajari dan cepat dalam pengerjaan…. juga CI lumayan banyak dipakai di lapangan :)

Newbie Banget

24. Feb, 2010

Kalo mudah di pelajari saia juga setuju juragan.. (perasaan ga pernah di sanggah deh)

Mudah di pelajarinya emang karena emang simple dan ga banyak fitur. Beda dengan Symfony dan Zend yang fiturnya seabrek dan udah ready enterprise, emang lebih susah. BTW, framework yang saia pelajari Symfony, dan pain-pain aja tuh.. Yah.. palingan stress.. Tapi setelah itu, semua framework jadi ga ada yang terasa susah.

Cheyuz

24. Feb, 2010

Yup, saya kan bikin blog ini buat pemula mas…. :)
bukan buat mas yg udah mahir…. :D

Cheyuz

24. Feb, 2010

Newbie Banget

24. Feb, 2010

Jangan panggil Mas donk.. saya bukan orang jawa. Lagian sapaan resmi buat netter indonesia itu “Agan”

khalifavi

25. Feb, 2010

hmm, menarik juga…
seperti banyak yang dibahas orang lain, yang mudah dipelajari itu memang codeigniter dan cakephp. Sebagai masukan saja, kenapa ilustrasinya hanya ada gambar codeigniter saja?, bukan keduanya…
Lagipula tentang form helper, codeigniter-pun menyertakannya, sedangkan untuk koneksi database, tidak menggunakan ORM, melainkan ActiveRecord, dan itupun bisa diganti menjadi ORM dengan paket library pihak ketiga, begitu juga dengan fungsi Ajax..

@newbie: codeigniter code kotor apa ah?, itu mah tergantung programmernya aj. Lagipula, kan codeigniter bisa dibuat pure PHP5, kalau memang niat..

CMIIW

Cheyuz

25. Feb, 2010

@kg Khalifa: Ilustrasi CI soalnya saya lebih ke CI, dan di sini saya mau ngajak temen-temen mempelajari CI, hehe… yup, form helper di CI emank udah ada kang, cuman kurang powerfull, karena di situ labeling terhadap input tidak ada, ga seperti cakephp.. yup, CI pake Active Record dan bisa diganti dgn ORM, CI bisa pake ajax (dengan bantuan JQuery/Ajax for CI, bisa download librarynya) maksudnya defaultnya ga seperti itu kang, hehe… kalo di Cake kan udah ada AJAXnya secara default.. oia ‘Newbie’ itu kang ATA… yup, bener tergantung programmernya, buktinya saya pake CI baik2 aja, malah kerja selalu cepet, mengintegrasiin ajax juga gampang banget….. Hidup CodeIgniter! :)

Newbie Banget

17. Mar, 2010

Bisa di buat fure PHP 5? Kayaknya engga deh. tetap saja basenya CI PHP 4. Tapi saya lihat disini CI hanya mencoba mengajak programmer yang belum terbiasa dengan framework untuk menggunakan framework.

Kalo di bilang gimana programmernya, bisa jadi yang ngebangun aplikasi php dari nol lebih rapih donk ketimbang pake framework. Lalu fungsi framework apa donk kalo gt? Apa hanya mempermudah kerja?

Sebenarnya, selain berfungsi mempercepat pekerjaan, fungsi lain di framework adalah “memaksa” programmer untuk patuh dengan aturan yang berlaku di framework tersebut, sehingga dengan begitu code menjadi lebih rapih.

Kalo masalah integrasi ajax, yang penting bisa javascript, ajax pasti bisa. Effordnya, programmer harus menguasai javascript. Dan itu terlepas dari framework.

iseng

13. May, 2010

netter indonesia kebanyakan kaskuser

Cheyuz

14. May, 2010

hehe…

oncom

28. May, 2010

jangan pada brantem pak..mending share tutorialnya ajah
buat guwe…hehe

Cheyuz

30. May, 2010

haha ada2 aja c agan..

indrajit

13. Jun, 2010

apapun FM nya…yang penting powerfull dan lebih secure
itu intinya…lo masalah mudah apa ngga….itu ya tergantung kemampuan dan kemauan kita…

Cheyuz

15. Jun, 2010

@indrajit: yup, betul sekali… itu tergantung dari keperluan dan kemampuan programmer,, tetapi secara general ya seperti itu,.

nano

27. Jun, 2010

Nih kalau mau pada pingin buku CI silahkan lihat di sini http://www.bukulokomedia.com/artikel-98-membangun-web-berbasis-php-dgn-framework-codeigniter.html
lumayan buat di baca-baca kalau masih susah dengan manual yang bahasa asing hihihi

iindra uii

29. Jun, 2010

alangkah lebih baikknya bila ente bikin blognya langsung pake code ignitter……sekaliah demo mas…he..he…jangan pake wodpress terus …dah bosen…

Cheyuz

03. Jul, 2010

thankz 4 share :)

Cheyuz

03. Jul, 2010

@indra: silakan diliat web saya, full CodeIgniter +ajax: http://www.cheyuz.com di sana ada banyak portofolio saya, itu web utama saya, ini BLOG

ShyBoy

15. Jul, 2010

Keren gan ane juga lagi ngulik framework neh

Leave a reply

Spam Protection by WP-SpamFree Plugin