Rabu, 09 Mei 2012

TURTORIAL CODE IGNITER



        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