Code Igniter (CI) adalah salah satu framework php yang tangguh dan
popular yang awalnya
ditulis oleh mas Rick Ellis, pendiri dan CEO EllisLab.com, perusahaan yang
mengembangkan
codeigniter. Saat ini, codeigniter dikembangkan oleh komunitas dan disebarkan
ke
seluruh dunia dengan
lisensi bebas. Code Igniter tergolong framework dengan ukuran kecil dan cukup
mudah di kuasai. CI
juga datang dengan manual yang tergolong lengkap.Code Igniter adalah sebuah
framework PHP.
Framework itu sendiri adalah suatu kerangka kerja yang berupa sekumpulan folder
yang memuat file-file
php yang menyediakan class libraries, helpers, plugins dan lainnya . Framework
menyediakan
konfigurasi dan teknik coding tertentu.
Untuk menggunakan
codeigniter dengan maksimal, anda akan memerlukan:
PHP
4.3.2 atau lebih baru
Web
server, saya rekomendasikan Apache
MySQL,
MySQLi, MS SQL, Postgre, Oracle, SQLite atau ODBC
Codeigniter
php framework. Anda bisa mendownloadnya di
http://codeigniter.com/download.php
Karena berupa folder
php, maka instalasi Code Igniter, cukup dengan mengekstrak file
kompresi yang di
dapat dari situs www.codeigniter.com dan menempatkannya di
dalam folder
directory web server anda.
Kemudian edit file config.php yang ada di application/config/config.php
dan set base URL
anda, misal : http://localhost/ci. Jika anda hendak
menggunakan database, edit file
database.php yang ada
di application/config/database.php. Setting database anda di file tsb.
Setelah di lakukan
instalasi dan setting, test lah Code Igniter anda dengan membuka browser anda
dan
mengetikkan url yang
anda taruh di file config.php di atas, misal : http://localhost/ci.
Jika muncul
halaman welcome ala
Code Igniter, maka Code Igniter telah siap di gunakan.
Konsep Model View Controller (MVC) adalah
konsep pemisahan antara logic dengan tampilan dan database.
Manfaat konsep ini
adalah, membuat coding logic lebih simple, karena sudah di pisah dengan code
untuk tampilan dan
membuat programmer dapat bekerja secara terpisah dengan designer. Programmer
mengerjakan logic,
sedangkan designer berkutat dengan design dan tampilan.
Model _ Merupakan
code struktur data. Model berisi fungsi di dalam pengolahan database.
Script Sql masuk di sini.
View _ Merupakan
code untuk menampilkan tampilan suta program. Tampilan dapat berupa web
page,
header, footer dan apa saja yang berjenis tampilan.
Controller _ Merupakan
code untuk logic, algoritma dan sebagai penghubung antara model,
view, dan sumber lain
yang di perlukan untuk mengolah HTTP request dan generate web page.
CI
menerapkan pola MVC yang flexible, karena model dapat tidak di gunakan. Anda
dapat
hanya
menggunakan Controller dan View saja dalam menggunakan CI tanpa Model. Jika
anda
tidak memerlukan pemisahan di dalam struktur data dan database atau menganggap
penggunaan
model hanya menambah kompleks aplikasi dengan keuntungan yang kurang
sebanding,
maka anda dapat tidak menggunakan model.
CI adalah sebuah php
framework yang berupa kumpulan folder dan file php, java script,css,txt
dan file berbasis web
lainnya dengan setting tertentu untuk menggunakannya dan menyediakan
library dan helper
yang dapat di manfaatkan di dalam pemrograman php.
CI di jalankan under
web dan harus dengan web server. Program CI cukup di letakkan di
bawah folder
directory web server anda.
Berikut adalah
struktur file CI :
Berikut kita akan
mempraktekan pemrograman php dengan CI. Kita akan menampilkan
tulisan “Hello World”
ke dalam browser kita. Langkah-langkah nya adalah sebagai berikut :
a. Buka Text Editor
anda. Lalu buatlah sebuah controller di dalam direktory CI anda, yaitu di :
system/application/controllers.
b. Tulis lah code sbb
:
<?php
class Hello extends
controller
{
function index()
{
$this->load->view('helloview');
}
}?
>
Beri nama file
hello.php.
Yang musti di
perhatikan :
- Nama class harus di awali huruf besar.
- Nama class harus sama dengan nama file.
- Function index adalah function default. Di url tidak
perlu di tuliskan nama
function index nya.
Kalau nama function selain index, perlu di tulis di url nya.
c. Buat file baru
dengan nama helloview.php di system/application/views
Tulis code sbb :
<?
echo “Hello World”;
?>
d. Misal base_url : http://localhost/ci,
maka jalankan di url anda menjadi :
http://localhost/ci/hello.
Maka akan muncul hasil nya.
Form pada CI dapat di
buat dengan menggunakan helper atau dengan syntax html biasa.
Pada kesempatan kali
ini, kita akan mencoba membuat form dengan menggunakan helper.
Buatlah sebuah
controller. Ketik code berikut :
<?php
class
Form extends Controller
{
function
index()
{
$this->load->view('form');
}
function
jumlah()
{
$angka1=$this->input->post('angka1');
$angka2=$this->input->post('angka2');
$hasil=$angka1+$angka2;
echo
"Hasil nya adalah : $hasil";
echo
"<br />".anchor("form/index","Kembali");
}
}
?>
Beri nama file
“form.php”.
Buat sebuah view
dengan nama “form.php” . Ketikkan code sbb :
<html>
<head>
<title>Membuat
Form input penjumlahan dengan CI</title>
</head>
<body>
<table>
<?
echo form_open('form/jumlah');
$data1=array(
'name'
=> 'angka1',
'size'=>'15');
echo
"<tr><td>Angka 1</td><td>
:</td><td>".form_input($data1)."</td></tr>";
$data2=array(
'name'
=> 'angka2',
'size'=>'15');
Tutorial
Code Igniter
echo
"<tr><td>Angka 2</td><td> :</td><td>
".form_input($data2)."</td></tr>";
echo
"<tr><td>".form_submit('mysubmit','Ok') ;
echo
" ".form_reset('mysubmit','Clear')."
</td></tr>";
?>
</table>
</body>
</html>
Pada contoh di atas
kita load helper di file autoload.php untuk load secara otomatis.
$this->load->helper('form');
Helper yang kita
gunakan, kita input di view. Syntax yang di gunakan adalah :
-
form_open ('form/jumlah')
Syntax di atas sama
dengan syntax html berikut :
<form
method=”post” action=”http://localhost/ciprivate/index.php/form”>
atau, gunakan
base_url(), untuk mengantisipasi perubahan pada url.
<form
method=”post” action=”<?=base_url();?>index.php/form”>
Nilai base_url() di
atas mengambil nilai base_url di file config.php .
-
form_input ('username','sofwan')
Minimal, kita
memasukkan nama field dan value pada syntax form_input. Jika menggunakan
parameter yang lebih
banyak, yaitu :
$data1=array(
'name' =>
'angka1',
'size'=>'15');
echo
form_input($data1);
-
form_submit('my submit','OK');
identik dengan :
<input
type=”submit” value=”OK”>
-
form_reset
CONTOH LAIN DARI TURTORIAL CODE IGNITER
Instalasi
OK, kita mulai aja… kita di sini memakai XAMPP pertama-tama, extract
file codeigniter.rar ke C:\xampp\htdocs, file bisa didownload di sini. Misalnya kita namakan nama folder root (nama situs)
kita adalah webku.
Konfigurasi
Kemudian, hal yang pertama harus dilakukan adalah
konfigurasi awal, yaitubase_url, base_url adalah nama root situs kita… caranya edit
file/webku/system/application/config/config.php, ubah $config['base_url']
= “http://example.com/“ menjadi:
$config['base_url'] = "http://localhost/webku/";
kemudian hilangkan index.php di $config['index_page'] sehingga menjadi:
$config['index_page'] = "";
Langkah kedua adalah konfigurasi routes, yaitu controller default apakah yang ingin diload…?
jadi di sini adalah konfigurasi untuk controller ‘home’, sehingga ketika kita
mengetikkan url http://localhost/webku maka yang dipanggil adalah controller yang sudah
dikonfigurasi di routes ini.. Cara konfigurasinya yaitu dengan mengedit file/webku/system/application/config/routes.php, dan di bagian$route['default_controller'] isi dengan ‘home’ sehingga seperti ini:
$route['default_controller'] = "home";
kita akan membuat supaya ketika kita menuju url http://localhost/webkumaka controller yang akan dijalankan adalah controller home .
Kemudian setelah itu adalah konfigurasi Databasenya… ada di file/webku/system/application/config/database.php, Di situ terlihat konfigurasi-konfigurasi seperti host,
username, password, nama db, dsb.. silakan diisi seperti berikut:
$db['default']['hostname'] = "localhost";
$db['default']['username'] = "root";
$db['default']['password'] = "";
$db['default']['database'] = "blog"; //nama database
$db['default']['dbdriver'] = "mysql";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";
Kemudian konfigurasi selanjutnya adalah konfigurasi
untuk autoload, jadi ketika situs dibuka, library/helper/model/dsb
apakah yang akan selalu diload.. file ada di /webku/system/application/config/autoload.php, tambahkandatabase di
bagian $autoload['libraries'] menjadi seperti ini:
$autoload['libraries'] = array('database');
Kemudian yang terakhir adalah penambahan .htaccess supaya kita tidak perlu mengetikkan index.php di URL kita, cara untuk menghilangkan index.php
(menggunakan .htaccess) ada di
sini.
Contoh Aplikasi Database Sederhana
Buatlah sebuah database bernama blog, kemudian copy SQL berikut:
CREATE TABLE IF NOT EXISTS `buku_tamu` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`nama` VARCHAR(100) NOT NULL,
`email` VARCHAR(20) NOT NULL,
`situs` VARCHAR(100) NOT NULL,
`komentar` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
INSERT INTO `buku_tamu` (`id`, `nama`, `email`, `situs`, `komentar`) VALUES
(1, 'Ita Novita', 'Itanovita@gmail.com', 'http://www.ita.com', 'Ini
adalah komentar pertama'),
(2, 'Nur Aisah', 'Nuraisah@yahoo.com', 'http://www.facebook.com', 'Ini
adalah komentar kedua');
Kita buat sebuah contoh di mana kita akan menampilkan
isi dari database di atas..
Pertama-tama, buatlah model terlebih dahulu di/webku/system/application/model/ dengan
nama file buku_tamu.php yang berisi code sebagai berikut:
<?php
class Buku_tamu extends Model{
function selectAll()
{
return $this->db->get('buku_tamu')->result();
}
}
?>
Di dalam folder /webku/system/application/controller/ bikin sebuah file bernama home.php untuk membuat class controller yang bernama Home… isi dari home.php adalah:
<?php
class Home extends Controller{
function __construct()
{
parent::Controller();
$this->load->model('buku_tamu');
}
function index()
{
$data['title'] = 'Ini adalah aplikasi sederhana';
//memanggil function selectAll di model
buku_tamu, dimasukkan ke $data['buku_tamu']
$data['buku_tamu'] = $this->buku_tamu->selectAll();
//meload view bernama home_view.php
dengan data variable adalah $data
$this->load->view('home_view', $data);
}
}
?>;
Lalu, kemudian kita buat file home_view.php di folder/webku/system/application/view/ dengan isi sebagai berikut:
<h2><?php echo $title ?></h2>
<table border="1"
cellpadding="5" cellspacing="0">
<tr>
<td>No</td>
<td>Nama</td>
<td>Email</td>
<td>Situs</td>
<td>Komentar</td>
</tr>
<?php $i = 0 ?>
<?php foreach ($buku_tamu as $bt): ?>
<tr>
<td><?php echo $i++ ?></td>
<td><?php echo $bt->nama ?></td>
<td><?php echo $bt->email ?></td>
<td><?php echo $bt->situs ?></td>
<td><?php echo $bt->komentar ?></td>
</tr>
<?php endforeach ?>
</table>
Silakan dibuka di browser url berikut: http://localhost/webku
Hasilnya adalah sebagai berikut:
Ini adalah aplikasi sederhana
No
|
Nama
|
Email
|
Situs
|
Komentar
|
1
|
Ita Novita
|
itanovita@gmail.com
|
http://www.ita.com
|
Ini adalah
komentar pertama
|
2
|
Nur Aisah
|
nuraisah@yahoo.com
|
http://www.facebook.com
|
Ini adalah
komentar kedua
|
Tidak ada komentar:
Posting Komentar