oleh : Candra Utama, Desember 2011
Apa sih sebenernya CodeIgniter atau yang sering disebut dengan CI itu? Jadi, kalau kita masih inget dengan OOP (Object Oriented Programming) yang mana masing-masing dari bagian dalam komponen, dipisah berdasarkan model dan tampilannya kemudian digabung dalam satu jembatan, yang menghubungkan antara model dan tampilan tersebut, yang biasa disebut dengan Controller. Sampai di sini paham kan?
Sekarang, langsung kita coba dalami saja, apa yang sebenarnya dimaksud dengan CodeIgniter? Dan bagaimana contoh penggunaannya dalam pembuatan Web?
CodeIgniter adalah CodeIgniter (CI) adalah suatu framework pengembangan aplikasi web berbasis PHP. CI menyediakan banyak library sehingga memungkinkan mengembangkan aplikasi dengan lebih cepat. Salah satu keunggulan CI dibanding framework lain adalah kesederhanaan penggunaannya dan kecepatan eksekusinya.
CodeIgniter cocok untuk developer yang :
- menginginkan framework yang sederhana
- membutuhkan kinerja yang luar biasa
- membutuhkan kompatibilitas yang luas dengan berbagai web hosting
- menginginkan framework yang hampir tidak ada konfigurasi
- menginginkan framework yang tidak menggunakan command line
- menginginkan framework yang tidak mengharuskan mematuhi aturan penulisan source code
- tidak ingin dipaksa harus mempelajari templating language
- tidak menyukai kompleksitas, lebih menyukai solusi yang sederhana
- membutuhkan dokumentasi yang baik
Keunggulan CodeIgniter
Berikut merupakan keunggulan dari CodeIgniter :
- gratis
- ringan
- cepat
- menggunakan Konsep MVC (Models, Views, Controllers)
- clean URL
- library yang lengkap
- dapat diperluas
- dukungan teknis yang lengkap di forum CI
Alur Proses Aplikasi CodeIgniter
Gambar Alur proses bagan CI
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 sumberdaya 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.
Karakteristik CodeIgniter
Seperti framework PHP pada umumnya, CodeIgniter menggunakan konsep MVC serta menyediakan banyak library dan helper untuk digunakan.
a. Model
Model, merepresentasikan struktur data. Biasanya class model akan berisi fungsi-fungsi untuk mengambil data, insert data, dan update data ke database. Pada CI, model tidak harus digunakan, tapi hal ini akan menghilangkan konsep MVC itu sendiri.
b. View
Merupakan informasi / halaman yang ditampilkan ke pengguna. Sebuah view biasanya adalah sebuah web page, tapi di CodeIgniter
view juga dapat berupa bagian-bagian halaman web, seperti header dan footer. Bahkan view juga dapat berupa halaman RSS.
c. Controller
Controller, berfungsi sebagai penghubung antara Model, View dan dengan sumber daya lain yang digunakan untuk memproses HTTP request. Controller juga biasanya berfungsi sebagai inti pemrosesan lojik aplikasi.
d. Libraries
Merupakan macam-macam class yang masing-masing mempunyai fungsi khusus yang dapat digunakan untuk mengembangkan aplikasi. Contoh library database, email, validasi form, dan lain-lain.
e. Helper
Seperti namanya berfungsi menolong untuk melakukan tugas-tugas tertentu. Setiap file helper terdiri dari kumpulan fungsi (function). Contoh URL Helper yang berfungsi untuk membuat link, Form helper untuk membuat elemen-elemen form. Tidak seperti library, helper tidak menggunakan format Object Oriented, sehingga dapat digunakan dimanapun, baik itu di model, view, controller dan library.
CodeIgniter URL
Secara default, URL pada CodeIgniter didesain agar search-engine dan human-friendly, menggunakan pendekatan segment-based.
example.com/index.php/class/function/parameter1/parameter2
a. Index.php merupakan segment ke-0.
b. Segment pertama merepresentasikan class controller yang diakses.
c. Segment kedua merepresentasikan nama method yang dipanggil pada
class tersebut.
d. Segment ketiga dan seterusnya bersifat optional, merepresentasikan
parameter masukan untuk fungsi yang dipanggil tersebut.
Memulai menggunakan CodeIgniter
Untuk memulai menggunakan CodeIgniter, langkah-langkahnya adalah
sebagai berikut :
- Download CI
CodeIgniter dapat di-download gratis di website resminya yaitu www.codeigniter.com.
- Instalasi
Extract file CodeIgniter yang sudah di-download sebelumnya ke direktori htdocs, kemudian ganti nama folder CodeIgniter_2.x.x tersebut dengan nama yang kita kehendaki .
Struktur Folder
Berikut akan dibahas fungsi masing-masing folder dan file default dari CodeIgniter :
Struktur folder di dalam file default CI
- Application, berisi folder dan file yang terkait dengan aplikasi yang akan dibuat. Kita akan banyak bekerja pada direktori application ini.
- System, berisi file-file inti framework CodeIgniter. Kita tidak akan mengubah apapun pada direktori system ini.
- User_guide, berisi file-file dokumentasi CI yang dapat diakses melalui browser.
- Index.php, file konfigurasi awal CodeIgniter.
Aplikasi yang akan kita bangun tentunya menggunakan JavaScript, gambar dan CSS. Kita dapat buat direktori untuk masing-masing sumber daya tersebut pada root aplikasi :
Struktur folder css dan javascript di dalam file default CI
Direktori Aplikasi :
Struktur direktori aplikasi
Berikut penjelasan direktori-direktori utama yang akan sering kita gunakan :
- config, berisi file-file yang terkait konfigurasi dasar aplikasi
- controllers, berisi file-file controller dari aplikasi yang dibangun. Simpan seluruh file controller aplikasi pada folder ini
- core, jika ingin memperluas class-class inti CodeIgniter, maka simpan file class yang Anda kembangkan tersebut pada direktori ini
- helpers, berisi file-file helper yang Anda buat sendiri
- libraries, berisi file-file library yang Anda buat sendiri
- logs, jika error log pada config diaktifkan maka file error log akan tersimpan pada direktori ini
- models, berisi file-file model dari aplikasi yang dibangun. Simpan seluruh file model aplikasi pada folder ini
- views, berisi file-file view dari aplikasi yang dibangun. Simpan seluruh file view aplikasi pada folder ini.
There are no comments yet.