Sunday, August 5, 2012

Framework dan Pengenalan Codeigniter


Framework
Menurut kamus Inggris - Indonesia yang disusun oleh John M. Echols dan Hassan Sadily framework memiliki arti kerangka kerja. Framework dapat pula diartikan sebagai kumpulan scripts (terutama kumpulan class dan function) yang dapat digunakan untuk membantu developer / programmer dalam menangani berbagai masalah dalam pemprograman, seperti koneksi ke database, pemanggilan variable, file, dan lain sebagainya, sehingga developer menjadi lebih fokus dan lebih cepat dalam membangun sebuah aplikasi. Framework bisa juga diartikan sebagai komponen pemprograman yang siap digunakan kapan saja, sehingga programmer tidak perlu membuat skrip yang sama untuk tugas yang sama berulang kali.
Secara sederhana bisa dijelaskan bahwa framework adalah kumpulan fungsi (libraries), sehingga seorang programmer tidak perlu membuat fungsi dari awal, programmer tinggal memanggil kumpulan library atau fungsi yang sudah ada di dalam framework. Beberapa contoh fungsi standar yang telah tersedia dalam framework diantaranya, enkripsi, email, SEO, session, security, kalender, bahasa, manipulasi gambar, grafik, validasi, upload, captcha, template, XML, dan masih banyak lagi.

Macam – macam framework :
1.  Framework PHP
·      Cake PHP
·      Code Igniter (CI)
·      Symphony
·      Zend
·      Yii
·      Kohana
2.   Framework Javascript
·      JQuery
·      Mootools
3.   Framework Ruby
·      Ruby on Rails (RoR)

Saat ini telah banyak banyak framework berbasis PHP, diantaranya yang paling populer adalahZend Framework, Symphony, Prado, CakePHP, Codeigniter dan lainnya.Codeigniter adalah framework yang paling mudah dipelajari, karena kesederhanaan struktur dan kelengkapan dokumentasinya yang baik dan kerapiankode.Framework PHP yang menganut konsep MVC (model, view, controller) menjadikan pembuatan aplikasi berskala besar menjadikan pembuatan aplikasi berskala besar menjadi lebih cepat dan mudah.

Kelebihan 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.  Karena modul mempunyai logika yang sama, maka akan mempermudah proses pemahaman sistem.
4. Frameworkakan menjaga integritas dari modul-modul yang dikembangkan. Framework hanya membantu dan mempermudah proses integrasi, tidak berarti dengan adanya framework sistem otomatis akan ter-integrasi.
5.  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, dan lain sebagainya).
6.  Lebih bebas dalam pengembangan jika dibandingkan CMS

Hal –Hal Yang Harus Dipertimbangkan Dalam Memilih Framework.
Terdapat beberapa hal yang perlu untuk di perhatikan dalam memilih framework yang akan digunakan, beberapa hal tersebut diantaranya :
1.  Dokumentasi dari framework. Dokumentasi sangat penting karena pada umumnya tidak banyak orang/perusahaan yang membuat framework sendiri dalam membuat applikasi, karena itu pemakai tergantung dengan dokumentasi yang di sediakan oleh framework yang dipilih.
2.  Kesesuiaan framework dengan aplikasi yang hendak dikembangkan. Pilihlah framework dengan fasilitas yang sesuai  dengan kebutuhan.
3.  Perhatikan standar – standar yang ada pada framework, semakin banyak hal yang di dukung oleh framework, maka framework pun semakin baik.

Codeigniter
Codeigniter merupakan salah satu dari sekian banyak framework PHP yang ada. Codeigniter dikembangkan oleh Rick Ellis (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 yang dibutuhkan dalam pembuatan website, dengan antarmuka yang sederhana dan struktur logika untuk mengakses pustaka yang dibutuhkan. CodeIgniter membiarkan kita untuk memfokuskan diri pada pembuatan website dengan meminimalkan pembuatan kode untuk berbagai tujuan pembuatan website. CodeIgniter merupakan perangkat lunak yang bersifat gratis, hal ini dikarenakan CodeIgniter mempunyai lisensi dibawah Apache/BSD-Style yang bersifat open source.          

Penggunaan Codeigniter
CodeIgniter direkomendasikan untuk pengguna yang sudah mengerti mengenai php. Namun demikian, CodeIgniter bukan suatu perangkat lunak yang direkomendasikan untuk orang yang :
1.  Tidak mempunyai sedikitpun pengetahuan tentang PHP dan HTML
2.  Suka menulis semua baris kode dari pemrograman yang dibuat.
3.  Tidak menyukai PHP
4.  Yang terakhir, pastinya CI bukan untuk pengguna yang tidak ingin menyelesaikan proyek mereka tepat waktu
Codeigniter sendiri telah menjadi dasar dari berbagai framework PHP lainnya untuk pengembangan engine yang mereka gunakan, terdapat lebih dari 30 project open source lainnya yang didasari oleh codeigniter. Terdapat juga ribuan situs yang telah menggunakan codeigniter, sebagian dari daftar project maupun situs yang menggunakan codeigniter dapat dilihat di alamat berikut  http://codeigniter.com/wiki/Applications_Using_Code_Igniter/.

Kelebihan dan Kekurangan Codeigniter
Kelebihan Codeigniter dibandingkan dengan framework PHP lainnya, antaralain :
1.  Performa sangat cepat
Proses eksekusi yang dimiliki oleh Codeigniter lebih cepat, bahkan sangat cepat dibandingkan dengan framework yang lainnya.
2.  Konfigurasi yang sangat minim
Untuk menggunakan codeigniter dengan setting standard, yang perlu dilakukan hanyalah merubah sedikit saja file pada direktori config.
3.  Banyak komunitas
Saat ini banyak ditemui komunitas Codeigniter, sehingga memudahkan para pengguna untuk saling berinteraksi.
4.  Dokumentasi yang sangat lengkap
Setiap paket instalasi codeigniter sudah disertai user guide yang lengkap dan sangat mudah dipahami.tidak hanya berupa list dari method-method yang ada di codeigniter, tapi lebih seperti sebuah ensiklopedia ditambah dengan contoh penggunaannya.
5.  Plug and Play
Banyak diantaraframework, pada tahap instalasi saja sudah cukup memusingkan, belum lagi ada yang mengharuskan pengguna untuk mempunyai peran sebagai system administrator, namun hal tersebut tidak terdapatpada Codeigniter. Pada Codeignitercukup setting config.php dan mulai instalasi.
6.  Model – View- Controller
Dengan adanya Model View Controller (MVC) akan memudahkan para pengguna untuk mengelola aplikasi mereka. Model hanya mengurusi hal-hal yang berhubungan dengan database, Controller berisi logic dari aplikasi dan View untuk tampilan frontend.
7.  Codeigniter bersifat open source
Codeigniter adalah framework bersifat gratis untukdapat  digunakan dan dikembangkangkan secara legal. Codeigniter berlisensi Apache/BSD-style open source yang memperbolehkan penggunanaan sesuai dengan kebutuhan pengguna. Sifat open source inilah yang menjadi keunggulan utama dari codeigniter.
8.  Friendly URL
URL yang diciptakan codeigniter sangat rapi dan bersahabat untuk search engine, contoh URL yang di hasilkan :
http://nama_blog.com/blog/contoh/alamat_blogpada awalnya akan berbentuk defaultyaituindex.php. tetapi jangan khawatir, karena default bisa di ubah atau dihilangkan melalui .htaccess.
9.  Penambahan fungsi pada codeigniter
     Fungsi-fungsi pada sistem Codeigniter dapat ditambah dengan menggunakan bantuan libraryplugins  
     dan helper. Sedangkan kekurangan Codeigniter antara lain :

  • Meskipun Open sourceCodeignitertidak dikembangkan oleh komunitas tapi oleh EllisLab (pengembang Expression Engine) sehingga update dari core engine tidak secepat framework yang dikembangkan oleh komunitas.
  • Jika terjadi error yang berhubungan dengan framework, mau tidak mau kita harus mencari solusi dari masalah tersebut di internet.
  • Bukan untuk kelas enterprise, meskipun bisa di extend dengan tersedianya banyak library dari komunitas.
  • Tidak ada dukungan (support), tentu saja tidak ada dukungan karena open source. Sebagai gantinya para pengguna harus sesering mungkin mampir di forum-forum codeigniter.
  • Tidak Support AJAX dan ORM
Banyak kelonggaran dalam coding, penamaan file dan membebaskan programmer untuk melanggar aturan MV, karena kelonggaran tersebut, Codeigniter tak bisa dipakai jika membuat aplikasi skala besar, karena pengembangan malah akan semakin sulit dilakukan.

No comments:

Post a Comment

Komentar yang dapat membangun yak..