TeknoDaily


Framework secara umum adalah susunan atau rangkaian kerja yang tetap dan dibuat sedemikian rupa yang kemudian dapat digunakan kembali dalam sebuah aktivitas kerja yang lain tapi tetap satu area kerja dengan rangkaian kerja sebelumnya. Framework terdiri atas modul – modul dalam bentuk class library yang dapat digunakan lagi untuk membangun aplikasi website


Perlu diketahui bahwa Framework PHP yang menganut konsep MVC (model, view, controller) menjadikan pembuatan aplikasi berskala besar menjadi lebih cepat, dan mudah. Seorang designer tidak perlu lagi merepotkan urusan koding PHP, begitu juga seorang programmer, tidak perlu memikirkan masalah design interface.

Saat ini Framework PHP yang paling populer digunakan adalah CodeIgniter. CodeIgniter adalah aplikasi open source yang berupa framework dengan model MVC (Model, View, Controller) untuk membangun website dinamis dengan menggunakan PHP. CodeIgniter memudahkan developer untuk membuat aplikasi web dengan cepat dan mudah dibandingkan dengan membuatnya dari awal.

Tujuan CodeIginiter adalah supaya pembangunan aplikasi lebih cepat dibanding menulis source code dari awal, karena CodeIginiter telah meyediakan banyak library untuk proses-proses yang sering  digunakan pada suatu aplikasi, dan juga dengan kemudahan dalam menggunakan library tersebut  serta kesederhaan penggunaannya.

CodeIgniter ditulis (dibuat) oleh Rick Ellis, seorang musisi rock yang menjadi  programmer. Ia membangun perusahaan bernama Ellis Lab, yang mengembangkan beberapa produk unggulan salah satunya CodeIgniter. CodeIgniter dirilis pertama kali pada 28 Februari 2006. Versi stabil terakhir yaitu 2.1.3 yang dirilis pada 10 Agustus 2012.

Codeigniter dapat diperoleh di http://ellislab.com/codeigniter/download. Setelah diunduh, maka anda akan mendapatkan file CodeIgniter_2.1.3.zip. Ekstrak terlebih dahulu file tersebut untuk menggunakan Framework.

Kelebihan Codeigniter

Beberapa kelebihan CodeIgniter (CI) dibandingkan dengan Framework PHP lain yaitu:

  1. Performa sangat cepat. Codeigniter sangat cepat bahkan mungkin bisa dibilang Codeigniter merupakan framework yang paling cepat dibanding framework yang lain.
  2. 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  standard, anda hanya perlu merubah sedikit saja file pada folder config
  3. CodeIgniter memiliki banyak komunitas. Dengan banyaknya komunitas CI ini, memudahkan kita untuk berinteraksi dengan yang lain, baik itu bertanya atau teknologi terbaru.
  4. Dokumentasi yang sangat lengkap. Setiap paket instalasi Codeigniter sudah disertai user guide yang sangat bagus dan lengkap untuk dijadikan permulaan, bahasanya pun mudah dipahami.
  5. Programmer CodeIgniter paling banyak dicari perusahaan. Saat ini, Programmer yang menguasai CodeIgniter dalam mebangun aplikasi website sangat di cari-cari oleh banyak perusahaan.

Fitur-Fitur Codeigniter

Codeigniter memiliki banyak fitur yang bisa digunakan oleh programmer untuk memudahkan pembuatan aplikasi. Berikut fitur-fitur yang dimiliki dan didukung oleh CodeIgniter :

  1. Sistem berbasis Model View Controller
  2. Kompatibel dengan PHP versi 4.
  3. Ringan dan Cepat.
  4. Terdapat dukungan untuk berbagai basis data.
  5. Mendukung Active Record Database.
  6. Mendukung form dan validasi data masukan.
  7. Keamanan dan XSS filtering.
  8. Tersedia pengaturan session.
  9. Tersedia class untuk mengirim email.
  10. Tersedia class untuk manipulasi gambar (cropping,resizing, rotate).
  11. Tersedia class untuk upload file.
  12. Tersedia class yang mendukung transfer via FTP.
  13. Mendukung lokalisasi bahasa.
  14. Tersedia class untuk melakukan pagination (membuat tampilan perhalaman).
  15. Mendukung enkripsi data.
  16. Mendukung benchmarking.
  17. Mendukung caching.
  18. Pencatatan error yang terjadi.
  19. Tersedia class untuk membuat calendar.
  20. Tersedia class untuk mengetahui user agent, misalnya tipe browser dan sistem operasi yang digunakan pengunjung.
  21. Tersedia class untuk pembuatan template website.
  22. Tersedia class untuk membuat trackback.
  23. Tersedia pustaka untuk bekerja dengan XMP-RPC.
  24. Menghasilkan clean URL.
  25. URI routing yang fleksibel.
  26. Mendukung hooks, ekstensi class dan plugin.
  27. Memiliki helper yang sangat banyak jumlahnya.

Struktur Folder Codeigniter

Codeigniter adalah sebuah Framework PHP yang mempunyai susunan folder yang terstruktur, untuk memudahkan programmer dalam membuat aplikasinya. Berikut dibawah ini adalah struktur folder dari Framework Codeigniter:

CodeIgniter_2.1.3/
  ├── application/
  ├── system/
  ├── user_guide/
  ├── index.php

Berikut penjelasan dari struktur utama folder CodeIginiter:

  1. Application, berisi folder dan file yang terkait dengan aplikasi yang akan dibuat. Kita akan banyak bekerja pada direktori application ini.
  2. System, berisi file-file inti framework CodeIgniter. Kita tidak akan mengubah apapun pada direktori system ini.
  3. User_guide, berisi file-file dokumentasi CodeIgniter yang dapat diakses melalui browser.
  4. Index.php, file konfigurasi awal CodeIgniter.
Selanjutnya dibawah ini  adalah struktur folder Application yang berada di folder Codeigniter yang akan kita gunakan untuk membuat aplikasi :

application/
  ├── cache/
  ├── config/
  ├── core/
  ├── helpers/
  ├── libraries/
  ├── logs/
  ├── models/
  ├── third_party/
  ├── views/
  ├── .htaccess
  ├── index.htm

Berikut penjelasan dari struktur folder Application:

  1. Config, berisi file-file yang terkait konfigurasi dasar aplikasi.
  2. Controllers, berisi file-file controller dari aplikasi yang dibangun. Simpan seluruh file controller aplikasi pada folder ini.
  3. Core, jika ingin memperluas class-class inti CodeIgniter, maka simpan file class yang Anda kembangkan tersebut pada direktori ini.
  4. Helpers, berisi file-file helper yang Anda buat sendiri.
  5. Libraries, berisi file-file library yang Anda buat sendiri.
  6. Logs, jika error log pada config diaktifkan maka file error log akan tersimpan pada direktori ini.
  7. Models, berisi file-file model dari aplikasi yang dibangun. Simpan seluruh file model aplikasi pada folder ini.
  8. Views, berisi file-file view dari aplikasi yang dibangun. Simpan seluruh file view aplikasi pada folder ini.

Alur Proses Aplikasi

Gambar berikut ini akan mengilustrasikan alur proses data pada Framework Codeigniter:


  1. Index.php berfungsi sebagai pengendali awal, menginisialisasi sumber daya utama yang dibutuhkan CodeIgniter.
  2. Router memeriksa paket HTTP request untuk menentukan aksi apa yang harus dilakukan oleh sistem.
  3. Jika Cache tersedia, maka halaman langsung dikirim ke browser, eksekusi sistem yang normal akan dilewati.
  4. Security. Sebelum Application Controller dieksekusi, paket HTTP request dan semua data yang dikirimkan pengguna akan disaring terlebih dahulu oleh Security Class.
  5. Application Controller menginisialisasi model, library utama, helpers dan semua sumber daya yang dibutuhkan untuk setiap request.
  6. Antarmuka aplikasi (View) yang sudah disiapkan dikirimkan ke browser. Jika caching diaktifkan, maka view akan disimpan sementara untuk request yang sama berikutnya.

Pengertian Model View Controller (MVC)

Model View Controller merupakan suatu konsep yang cukup populer dalam pembangunan aplikasi web, berawal pada bahasa pemrograman Small Talk, MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, user interface, dan bagian yang menjadi kontrol aplikasi.
Terdapat 3 jenis komponen yang membangun suatu MVC pattern dalam suatu aplikasi yaitu :

  1. View : merupakan bagian yang menangani presentation logic. Pada suatu aplikasi web bagian ini biasanya berupa file template HTML, yang diatur oleh controller. View berfungsi untuk menerima dan merepresentasikan data kepada user. Bagian ini tidak memiliki akses langsung terhadap bagian model.
  2. Model : biasanya berhubungan langsung dengan database untuk memanipulasi data (insert, update, delete, search), menangani validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan bagian view.
  3. Controller : merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, controller berfungsi untuk menerima request dan data dari user kemudian menentukan apa yang akan diproses oleh aplikasi.

Dengan menggunakan prinsip MVC suatu aplikasi dapat dikembangkan sesuai dengan kemampuan developernya, yaitu programmer yang menangani bagian model dan controller, sedangkan designer yang menangani bagian view, sehingga penggunaan arsitektur MVC dapat meningkatkan maintanability dan organisasi kode. Walaupun demikian dibutuhkan komunikasi yang baik antara programmer dan designer dalam menangani variabel-variabel yang akan ditampilkan.

Categories: , ,

Leave a Reply