PDKT CodeIgniter [part 1]


OVERVIEW

CodeIgniter merupakan salah satu framework PHP yang menggunakan konsep MVC (Model-View-Controller) untuk membangun website yang dinamis. Konsep MVC yaitu memisahkan suatu aplikasi menjadi beberapa bagian sehingga aplikasi tersebut menjadi mudah ketika dibuat dan mudah dalam pemeliharaan. Salah satu metode untuk mempermudah pemeliharaan suatu aplikasi adalah dengan cara memisahkan kode-kode menjadi tiga bagian yang terpisah (dan biasanya dipecah menjadi beberapa file).

Bagian-bagian tersebut yaitu : Model Bagian dari aplikasi yang berhubungan dengan data spesifik yang akan ditampilkan dan business logic (biasanya berhubungan dengan database), View Bagian ini merupakan modul yang berhubungan dengan tampilan untuk pengguna dan biasanya berbentuk HTML dan Controller Modul Controller mengatur dan menggabungkan modul Model dan modul View untuk memastikan bahwa data yang benar tampil pada halaman web

CodeIgniter dibuat oleh Rick Ellis (www.ellislab.com) dengan berbasis PHP 4. CodeIgniter memudahkan developer untuk membuat aplikasi web dengan cepat dan mudah dibandingkan dengan membuatnya dari awal, karena didalam CodeIgniter terdapat banyak fungsi yang telah disediakan. CodeIgniter dirilis pertama kali pada 28 Februari 2006 dan pada saat tulisan ini dibuat telah mencapai versi 1.7.2.

CodeIgniter cocok untuk dikembangkan jika :

  • Kita menginginkan framework yang berukuran kecil.
  • Kita menginginkan performance yang handal.
  • Kita menginginkan framework yang tidak harus membutuhkan command line.
  • Kita menginginkan framework yang tidak mengharuskan aturan koding yang sangat ketat.
  • Kita menginginkan agar web yang kita bangun kompatibel dengan standar hosting yang menjalankan beberapa versi PHP dan konfigurasi yang berbeda.
  • Kita membutuhkan framework yang membutuhkan sedikit konfigurasi (autoload, config dll).
  • Kita tidak menggunakan librarary besar seperti PEAR.
  • Kita tidak ingin mempelajari templating language seperti Smarty.
  • Kita membutuhkan framework dengan dokumentasi yang jelas.

FEATURE-FEATURE

Terdapat beberapa feature-feature dalam CodeIgniter yaitu :

  • CodeIgniter itu free (gratis). CodeIgniter berlisensi dibawah Apache/BSD-style open source license sehingga kita bisa menggunakannya secara bebas.
  • CodeIgniter dapat berjalan mulai PHP 4.
  • CodeIgniter sangatlah ringan. Library yang dibutuhkan hanya diload berdasarkan request.
  • CodeIgniter sangatlah cepat.
  • CodeIgniter menggunakan konsep MVC (Model-View-Controller).
  • CodeIgniter mengenerate URL yang bersih dan search-enginge friendly. URL CodeIgniter menggunakan pendekatan segmen. Secara default, index.php dimasukkan kedalam URL tetapi dapat dihilangkan dengan menggunakan file .htaccess.
  • CodeIgniter memiliki banyak library yang dibutuhkan dalam pengembangan aplikasi seperti akses database, pembuatan form dll.
  • Library/helper/plugins CodeIgniter dapat diperluas (extensible).
  • Terdapat scaffolding yaitu fasilitas untuk add, edit, delete data dari suatu table selama proses development.
  • Terdapat Active Records yaitu fasilitas untuk eksekusi query (insert, update dan delete) secara lebih mudah.
  • CodeIgniter tidak membutuhkan template enginge.
  • Dokumentasi CodeIgniter sangatlah jelas, bisa melalui http://codeigniter.com/user_guide/ atau melalui toc.html
  • CodeIgniter memiliki community yang berkontribusi dalam suatu forum-forum.
  • dll

SERVER REQUIREMENT

Untuk menjalankan CodeIgniter kita membutuhkan requirement sebagai berikut :

  • PHP versi 4.3.2 atau yang lebih baru (Kita bisa menggunakan paket Xampp untuk memudahkan instalasi).
  • Sebuah database untuk menampung data. Database yang bisa disupport yaitu : MySQL (4.1+), MySQLi, MS SQL, Postgres, Oracle, SQLite, and ODBC.

DOWNLOAD DAN INSTALASI

Untuk mendownload CodeIgniter bisa melalui http://codeigniter.com/downloads/. Setelah didownload, extract file tersebut kemudian rename name foldernya sesuai yang diinginkan misalnya saya menggunakan nama ‘CI’. Kemudian tempatkan folder CI di bawah direktori web server. Saya menggunakan Xampp, jadi lokasi direktorinya menjadi : C:\xampp\htdocs\CI. Jadi kalo diexecute melalui web menjadi : http://localhost/CI/... Untuk mengetahui kita telah berhasil memasang CodeIgniter, buka web browser masukkan link ini : http://localhost/CI/index.php maka akan muncul halaman seperti dibawah ini :

Welcome Message CI

Struktur Direktori CI

Didalam CodeIgniter terdapat 2 file utama yaitu system dan userguide. Didalam system terdapat beberapa folder diantaranya application, cache, dll. Didalam folder application inilah kita akan menempatkan aplikasi yang kita bangun. Karena menggunakan konsep MVC, file yang berhubungan dengan model akan masuk ke folder models (C:\xampp\htdocs\CI\system\application\models), file yang berhubungan dengan view akan masuk ke folder views (C:\xampp\htdocs\CI\system\application\views) dan file yang berhubungan dengan controller akan masuk ke folder controllers (C:\xampp\htdocs\CI\system\application\controllers).

Didalam folder userguide, terdapat beberapa folder seperti database, doc_style, dll. Disini terdapat panduan/userguide untuk aplikasi CodeIgniter. Kita bisa membuka file toc.html untuk melihat daftar isi dan user guide sama seperti yang terdapat diwebsite CodeIgniter (http://codeigniter.com/user_guide/). Didalam toc.html juga terdapat panduan untuk membuat Hello World. Selain melihat user guide nya, kita juga bisa melihat video tutorialnya di http://codeigniter.com/tutorials/.

URI SEGMENT

CodeIgniter menggunakan konsep MVC sehingga url yang degenerate menggunakan pendekatan segmen. Sebagai contoh misalnya kita memiliki url sebagai berikut : http://myweb.com/class/function/id penjelasannya sebagai berikut :

  1. Segmen pertama (class) menandakan class controller.
  2. Segmen kedua (function) menandakan fungsi/method dari controller.
  3. Segmen ketiga (id) menandakan id/variable yang akan dimasukkan kedalam controller.

Secara default, index.php file dimasukkan kedalam URL tetapi dapat dihilangkan dengan menggunakan file .htaccess. Langkah-langkahnya sebagai berikut :

  1. Pastikan module mod_rewrite pada apache sudah diload. Cari file httpd.conf di apache (C:\xampp\apache\conf), kemudian uncomment/tambahkan baris ini : LoadModule rewrite_module modules/mod_rewrite.so
  2. Ubah file config.php (C:\xampp\htdocs\CI\system\application\config), kemudian set parameter index file menjadi kosong atau seperti berikut : $config[‘index_page’] = “”;
  3. Buatlah dan save file dengan nama .htaccess kemudian simpan di C:\xampp\htdocs\CI, isi file .htaccess sebagai berikut :

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php/$1 [L]

EXAMPLE : HELLO WORLD

Untuk membuat sebuah webpage, kita membutuhkan controller. Dengan menggunakan text editor, buatlah sebuah file controller dengan nama hello.php kemudian save di folder application/controllers/ atau terletak di C:\xampp\htdocs\CI\system\application\controllers.

<?php
 class Hello extends Controller {
   function index() {
     echo "Hello World Using CodeIgniter";
   }
 }
?>

Dengan menggunakan web browser, ketikkan link berikut ini : http://localhost/ci/hello atau http://localhost/ci/index.php/hello maka akan muncul “Hello World Using CodeIgniter”.

CONVENTION

Terdapat beberapa aturan dalam CodeIgniter, diantaranya yaitu :

  • Walaupun menggunakan konsep MVC (Model-View-Controller), minimal kita membutuhkan satu buah Controller sedangkan Model dan View bisa tidak kita gunakan.
  • File Controller disimpan di folder \application\controllers (C:\xampp\htdocs\CI\system\application\controllers), file View disimpan di folder \application\views (C:\xampp\htdocs\CI\system\application\views) dan file Model disimpan di folder \application\models (C:\xampp\htdocs\CI\system\application\models).
  • Untuk load file-file yang dibutuhkan seperti : libraries, helper, plugin, config, language, model bisa diload secara otomatis/autoload atau diload secara manual. Autoload melalui file autoload.php (C:\xampp\htdocs\CI\system\application\config) sedangkan secara manual dituliskan secara explicit didalam file controller.

[bersambung ke bagian2…..]

5 thoughts on “PDKT CodeIgniter [part 1]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s