Tutorial CodeIgniter Dasar Part I

Posted on 26. Apr, 2010 by Cheyuz in Code Igniter, Tutorial, _other

Udah lama aku ga ngupdate blog ini… yaa sekitar 3 minggu lah ya.. Mulai sekarang aku mau mulai update lagi ini blog, dan pengennya sih blog ini up to date sehari sekali ato ya minimalnya seminggu sekali lah ya…

OK, tutorial kali ini adalah tutorial CodeIgniter dasar, sangat dasar.. jadi di sini akan dijelaskan tentang bagaimana cara konfigurasi nama situs, kemudian konfigurasi database, konfigurasi library, autoload, dan sebagainya… mudah2an temen2 mengikuti tutorial ini dengan sebaik-baiknya, soalnya kalo kita ga mulai dari dasar/basic nantinya susah… kita bisa aja bikin aplikasi oleh CodeIgniter dengan meniru contoh, tetapi kita tidak faham, hanya mengikuti… bahayanya adalah gimana klo client minta ini itu dan itu misalnya tidak ada dalam contoh? klo kita ga faham kita pasti ga bisa meneruskan aplikasi kita alias BUNTU..

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, yaitu base_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/webku maka 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, tambahkan database 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, 'Cecep Yusuf', 'cheyuz@yahoo.co.id', 'http://www.cheyuz.com', 'Ini adalah komentar pertama'),
(2, 'Deddy Mizwar', 'deddy@mizwar.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);
   }
}
?>;

Nah, kemudian kita buat file home_view.php di folder /webku/system/application/view/ dengan isi sebagai berikut:

 
<h2><?php echo $title ?></h2>
 
<table>
  <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 Cecep Yusuf cheyuz@yahoo.co.id http://www.cheyuz.com Ini adalah komentar pertama
2 Deddy Mizwar deddy@mizwar.com http://www.cheyuz.com Ini adalah komentar kedua

The Official Site of Cheyuz: http://www.cheyuz.com

Tags: , , ,

31 Comments

Ermalia

12. May, 2010

Terimakasih….tutorialnya…..

Cheyuz

12. May, 2010

sip, sama2 :D

anwar

13. May, 2010

sangat bermanfaat..thanks

Cheyuz

14. May, 2010

sama2… :)

gundam

30. May, 2010

untuk tutorial awal harusnya menampilkan hello world dahulu..
tp thx udah share ilmu

Cheyuz

01. Jun, 2010

hello world mah ga usah, soalnya tinggal echo ‘hello world’, hehe lagian itu kan udah dipelajari di PHP dasar..

planet

13. Jun, 2010

Saya sdh ikuti tutoriqlnyq…tapi kenapa saat buka localhost/webku masih muncul

“404 Page Not Found”

help me kenapa yah? tx cheyuz

igo

14. Jun, 2010

; Parse error: syntax error, unexpected T_DEC in C:\apache2triad\htdocs\kipluxer\system\application\models\buku_tamu.php on line 7

bos muncul pesan error kayak gitu, trus gmn tuh ….. di home.php ane coba copas dr tulisan ente….

yang ini…

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);
}
}
?>;

bos fungsi construct itu bener ada garis bawahnya..mohon di jelaskan??

Cheyuz

15. Jun, 2010

@planet: sepertinya ada kesalahan di .htaccess nya.. coba cek lagi… coba dengan url berikut, masih error atau ngga http://localhost/webku/index.php

fitra

17. Jun, 2010

mas cheyuz kok pass di run di url nya error yah timbul message : Apache HTTP Server has encountered a problem and needs to close. We are sorry for the inconvenience

padahal sama persis sy buat nya

Cheyuz

18. Jun, 2010

@fitra: itu kayaknya masalah di servernya… coba ganti dngan XAMPP/server lainnya yg baru… ato install ulang server punya kamu..

Cheyuz

21. Jun, 2010

@igo: itu yg pertama salah syntax gan.. yup, function __construct itu adalah fungsi untuk event dari pembuatan objek dan __destruct adalah pemusnahan objek, itu bawaan dari PHP, aturannya ada 2 garis bawah..

No 1 Di Google

10. Jul, 2010

mantap…. lanjutkan broo….

Willy

14. Jul, 2010

Terima Kasih ya, saya memang sedang belajar CodeIgniter, thx……:))

Cheyuz

14. Jul, 2010

sip, sama2 gan :)

adhi

15. Jul, 2010

Kalo ada error spt ini gimana gan :

=============================================
A PHP Error was encountered
Severity: Notice
Message: Undefined property: Home::$buku_tamu
Filename: controllers/home.php
Line Number: 10

trus ada tambahan di bawahnya :

Fatal error: Call to a member function selectAll() on a non-object in /opt/lampp/htdocs/ci/system/application/controllers/home.php on line 10

=============================================

mohon bantuannya gan,
n tambahan, ane pake ubuntu…

cHø

19. Jul, 2010

tutorial codeigniter-nya di update trus ya gan klo bisa :D
:beer:

adiputra

21. Jul, 2010

klu CI ma Zend kedepan cerahan mana ya ?

katanya zend pas bgt buat aplikasi di perusahaan yg datanya ruwet :)

konsep Framework itu kan untuk mempermudah develop ?

btw,,nice bgt tutornya…:)

salam kenal sblmnya :D

Cheyuz

22. Jul, 2010

pasti gan :)

Cheyuz

25. Jul, 2010

@adiputra: klo dibandingin sih tergantung kebutuhan dan skill si developernya… klo CI lebih mudah dibandingkan Zend… tetapi keduanya sering dipake di perusahaan2… yup, FW itu untuk mempermudah developer dalam pengembangannya.. sip, thankz ya :)

Phuad

08. Aug, 2010

thanks bro…
akhirny ane bisa nyoba XD
next :D

Cheyuz

18. Aug, 2010

@Phuad: alhamdulillah ya.. sip sama2 bro..

Kelik

18. Aug, 2010

ikut nimbrung gan,…

kalau di models-nya mas cheyuz-> file buku_tamu.php ini masih ada bugsnya, like this:

A PHP Error was encountered

Severity: Notice

Message: Undefined property: Buku_tamu::$db

Filename: models/buku_tamu.php

Line Number: 7

Fatal error: Call to a member function get() on a non-object in I:\xampp\htdocs\CI\system\application\models\buku_tamu.php on line 7

itu menurut saya tambahin aja baris u/ load databasenya di file buku_tamu.php dan seperti ini gan,….

load->database();
$query = $this->db->get(‘buku_tamu’);
return $query->result();
}

?>

oke, selamat menggali, semoga bermanfaat…
manstab gan!

Cheyuz

19. Aug, 2010

@Kelik: sepertinya mas tidak mengikuti tutorial saya dengan cara seksama dan dalam tempo sesingkat2nya :D kan saya udah nyuruh load dulu databasenya di /system/application/config/autoload.php, jadi qta tidak usah repot membuat $this->load->database lagi, soalnya sudah otomatis diload di autoload.php, jadi sepertinya di file saya tidak ada bugs. oia justru kalo pake load->database yg mas suruh itu salah, harusnya $this->load->database. Terima kasih :)

diajar

27. Aug, 2010

dah nyoba tapi muncul begono:
Parse error: parse error, expecting `T_FUNCTION’ in D:\Web Design\ci\system\application\controllers\home.php on line 3

padahal udah diteliti sampai titik komanya tuh file home.php

sementara lagi dicari2 dulu barangkali ada yang salah tulis ulang…

lieur oge nya

ayu

27. Aug, 2010

Ijin pake tutorialnya ya pak, alhamdulillah saya berhasil. Padahal beginner banget urusan ginian :D makasih ya pak. Sangat membantu tugas kuliah saya. Tetaplah berbagi ;)

Cheyuz

29. Aug, 2010

@diajar: coba cek lagi… mungkin ada kesalahan dalam penulisan… :) jangan bilang lieur, gampang kok ;)

Cheyuz

29. Aug, 2010

@ayu: iya sama2…. jangan panggil ‘pak’ donk, kesannya tua banget, panggil kang aja… :D

Cheyuz

29. Aug, 2010

@adhi: untuk kesalahan pertama dan yg kedua, system tidak mengetahui adanya property dan function… berarti ada kemungkinan model tidak terload… Anda mungkin blm memakai $this->load->model()

awan

31. Aug, 2010

bagus bnget gan…gw lagi disuruh belajar kode igniter ne…

Cheyuz

31. Aug, 2010

@awan: sama2 gan.. :D disuruh sama siapa gan?

Leave a reply

Spam Protection by WP-SpamFree Plugin