Bab 1 – Pendahuluan

Codeigniter (CI)

adalah framework pengembangan aplikasi (Application Development Framework) dengan menggunakan PHP, suatu kerangka pembuatan program dengan menggunakan PHP. Pengembangan dapat langsung menghasilkan program dengan cepat, dengan mengikuti kerangka kerja untuk membuat aplikasi yang telah disiapkan oleh framework CI ini.

Dengan  menggunakan framework, kita tidak perlu membuat program dari awal, tetapi kita sudah diberikan librari fungsi-fungsi yang sudah di organisasi untuk dapat membuat suatu program dengan cepat. Kita hanya perlu memastikan data yang akan di proses dan bagaimana menampilkannya.

 

Codeigniter?

Codeigniter (CI) adalah framework pengembangan aplikasi (Application Development Framework) dengan menggunakan PHP, suatu kerangka untuk bekerja atau membuat program dengan menggunakan PHP yang lebih sistematis. Pemrogram tidak perlu membuat program dari awal (from scratch), karena CI menyediakan sekumpulan librari yang banyak yang diperlukan untuk menyelesaikan pekerjaan yang umum, dengan menggunakan antarmuka dan struktur logika yang sederhana untuk mengakses librarinya. Pemrogram dapat memfokuskan diri pada kode yang harus dibuat untuk menyelesaikan suatu pekerjaan.

Dalam Buku ini penulis akan lebih banyak menggunakan kata CI untuk menyingkat kata Codeigniter. CI merupakan framework yang memiliki lisensi bebas untuk digunakan, karena menggunakan lisensi open-source Apache/BSD. CI dikembangkan pertama kali oleh Rick Ellis.

Mengapa CI?

Framework CI merupakan framework yang memiliki dokumentasi yang jelas dan lengkap, yang memudahkan pengembang untuk mempelajari dengan mudah. Pendekatan dari CI sangatlah mudah, dari membuat sekadar tulisan sampai dengan yang kompleks dapat didekati dengan mudah. Tidak seperti framework yang lain, untuk mendapatkan tulisan Hello World di browser saja, kita harus menggunakan beberapa tahap. CI cukup dengan satu file dan satu prosedur atau method.

Framework CI telah dibahas juga dalam forum di IBM dan Oracle untuk pengembangan aplikasi berbasis web dengan menggunakan PHP. Seperti telah diketahui, IBM dan Oracle telah memiliki kerjasama dengan Zend, yang mengembangkan PHP, dengan produk yang dikenal dengan ZendCore for IBM DB2 dan Informix, dan ZendCore for Oracle. Produk ZendCore dipesan khusus oleh kedua perusahaan tersebut, untuk memudahkan pengembangan aplikasi dengan php menggunakan database IBM DB2 atau Informix, dan agar bisa mengakses database-database tersebut.

CI dapat digunakan dengan menggunakan server web Apache dan MS IIS. Hanya saja, tidak semua fitur dari CI dapat diimplementasi dengan sempurna di MS IIS, karena CI dirancang dan dikembangkan dengan acuan Apache. Contoh yang pasti adalah penggunakan file.htacess, yang memang milik Apache.

Secara umu, maka CI memberikan dan menyediakan :

  • suatu kerangka kerja dengan jejak yang sedikit (small footprint)
  • kinerja yang bagus
  • kompatibilitas dengan akun hosting standar dan terpasang dengan perbedaan versi dan konfigurasi
  • suatu kerangka kerja yang memerlukan hampir tidak memerlukan konfigurasi
  • suatu kerangka kerja yang tidak memerlukan kita menggunakan baris perintah (command line)
  • suatu kerangka kerja yang tidak mengharuskan bekerja dengan aturan pengkodean yang mengikat/membatasi
  • suatu aturan yang tidak mengharuskan kita dipaksa menggunakan suatu bahasa templating (walaupun CI menyediakan suatu parser untuk template)
  • cara untuk menghindarkan kompleksitas dalam membuat pemrogram, dengan menyediakan solusi yang sederhana
  • suatu dokumentasi kerangka kerja yang menyeluruh dan jelas

 

Fitur Codeigniter

Fitur dari CI :

  • sistem berbasis Model-View-Controller
  • benar-benar framework yang ringan
  • memiliki fitur class database yang mendukung beberapa platform
  • dukungan database dengan Active Record
  • form dan validasi data
  • keamanan dan filtering XSS
  • manajemen sesi (session management)
  • class untuk pengiriman email yang mendukung lampiran (attachment), email dengan HTML/Teks, menggunakan berbagai protokol (sendmail, SMTP, dan Mail)
  • librari manipulasi image (menggunting, mengubah ukuran, memutar, dan lainnya), mendukung GD, ImageMagick, dan NetPBM
  • class untuk upload file
  • class FTP
  • Lokalisasi
  • Paginasi
  • enkripsi data
  • benchmarking
  • full page caching
  • logging error
  • Profilling aplikasi
  • class kalender
  • class user agent
  • class encoding zip
  • class engine template
  • class trackback
  • librari XML-RPC
  • class unit pengujian
  • URL yang bersahabat dengan Search-engine
  • Roting URI yang fleksibel
  • mendukung hook dan ekstensi class
  • librari fungsi “helper” yang banyak

 

CI Versi 2.x.y

Dalam buku ini kita menggunakan framework CI versi 2.x.y, x menunjukkan versi perubahan minor dari versi 2, y menunjukkan versi perubahan minor dari versi 2.x. Kita akan menggunakan versi 2.1.2, versi CI yang terakhir yang didapatkan pada saat penulisan tutorial ini.

Kita tidak menggunakan versi 1.7.x atau versi sebelumnya. Mengapa? Karena CI telah dikembangkan dengan menggunakan standar PHP yang terbaru, yaitu versi PHP 5.1.6 atau yang lebih baru. Standar yang digunakan adalah PHP5 atau lebih baru. Dukungan kepada PHP versi 4 sudah tidak dilakukan kembali.

Dalam buku ini penulis sengaja menetapkan untuk menggunakan CI 2.x.y saja, agar tidak perlu banyak menjelaskan ketentuan dari CI yang sudah ditidak didukung lagi. Juga untuk membawa pembaca untuk langsung fokus dengan menggunakan versi 2.x.y atau yang lebih baru saja.

CI2.x.y memiliki dukungan untuk melakukan proses include librari JavaScript dengan mudah. Misalnya untuk melakukan include librari jQuery. CI2.x.y dapat dengan lebih mudah menggabungkannya sehingga pemrogram dapat membuat view yang lebih interaktif.

Mengapa Perlu Menggunakan Framework?

DRY (Don’t Repeat Yourself) adalah suatu konsep yang perlu kita ikuti, yaitu jangan sampai kita melakukan pengulangan pekerjaan dari awal lagi, kalau kita perna mengerjakannya. Selain itu, kita juga bisa memanfaatkan hasil kerja orang lain, yang memang sesuai dengan kebutuhan kita untuk menyelesaikan masalah. Tentu saja, setelah kita mendapatkan ijin untuk menggunakannya.

Dengan konsep DRY ini, maka kita harus bekerja dengan suatu konsep yang lebih baik, agar apa yang telah kita kerjakan, dalam hal ini kode program dari suatu pekerjaan harus dapat digunakan lagi untuk mengerjakan pekerjaan yang lain (code reuse). Kita tidak perlu melakukan pengulangan pekerjaan yang sama. Kode yang kita buat menjadi dapat digunakan kembali (Reusable Code).

Dengan menggunakan framework, kita tidak perlu membuat program dari awal, tetapi kita sudah diberikan librari funsgi-fungsi yang sudah di organisasi untuk menyelesaikan suatu program. Kita akan dapat menfokuskan kerja pada penyelesaian masalah, tidak banyak lagi bekerja untuk membuat librari fungsi dan prosedur.

Memang kita diarahkan untuk berpikir dengan kerangka kerja yang telah ditentukan oleh pembuat framework. CI meruapkan kerangka framework yang memiliki kerang kerja pembuatan program yang paling fleksibel, hanya menentukan titik awal dari pembuatan programnya, yaitu bergerak dari controller. Kita akan mengetahui setelah kita masuk kepada bagaimana membuat program dengan CI.

Ref: http://en.wikipedia.org/wiki/Don’t_repeat_yourself

CodeIgniter Reactor

Sejak versi 2.0, pengembangan CodeIgniter kini tidak terlalu otoriter, Rick Ellis yang mengembangkan pertama kali bersama dengan pendukungnya kemudian membentuk suatu tim kecil yang memungkinkan untuk menerima sumbangan kode dari komunitas CodeIgniter, agar CodeIgniter dapat tumbuh dan berkembang dengan lebih baik lagi.

CodeIgniter Reactor adalah memungkinkan pengembang yang menggunakan CodeIgniter mengusulkan atau pun mengirimkan kode tambahan atau patch yang memungkinkan bug dapat segera diperbaiki, juga fitur CodeIgniter menjadi bertambah.

Dengan adanya reactor ini, maka setiap usulan akan mendapatkan perhatian, karena di dalamnya ada fasilitas voting yang memungkinkan suatu usulan dapat menjadi suatu prioritas untuk dapat disediakan oleh CodeIgniter.

Kita dapat menjadi relawan (volunteer) juga untuk memungkinkan terlibat dalam pengembangan dan penyempurnaan CodeIgniter.

Versi reactor akan berbeda dengan versi resmi, karena banyak librari yang belum dapat di resmikan sebagai librari resmi dengan CI.

Framework PHP lain.

Selain CodeIgniter, ada beberapa framework PHP lain yang populer, seperti :

  1. Zend Framework
  2. Sympony
  3. CakePHP
  4. YiiFramework yang dikembangkan dari Prado
  5. Kohana
  6. Vork

Kohana merupakan framework yang dikembangkan berdasarkan CodeIgniter, dikembangkan oleh suatu komunitas yang awalnya tidak begitu puas dengan gaya pengembangan CodeIgniter yang sulit menerima masukan dari pengembang yang lain. Sehingga CI dianggap terlalu kaku.

Kohana dikembangkan dengan tujuan untuk lebih mempercepat dan memperbanyak librari yang mendukungnya. Akan tetapi menurut penulis Kohana tidak begitu berhasil untuk menggantikan atau menjadi alternatif dari CI.

 

Sumber : Buku PHP Framework CodeIgniter

Leave a comment

May 2024
M T W T F S S
 12345
6789101112
13141516171819
20212223242526
2728293031  
terbanyak dipilih
  • None