Anda di halaman 1dari 7

Tutorial Dasar Penggunaan CodeIgniter

Adrian Hartanto URL:http://www.tutorial-webdesign.com/kCKJY


January 26th, 2014 Tutorial, Web Development 33 Comments

Pada tutorial kali ini, penulis akan memberikan tutorial mengenai dasar penggunaan framework
php yaitu CodeIgniter. Penulis menggunakan CodeIgniter v 2.1.4 yang dapat di download
langsung dari web official CodeIgniter, yaitu http://ellislab.com/codeigniter . Yang dibutuhkan
untuk tutorial kali ini adalah :

1. CodeIgniter 2.1.4
2. Text Editor (Sublime Text, CodeIgniter, Brackets, ell)
3. XAMPP / WAMP

Framework PHP CodeIgniter

Yang dilakukan untuk pertama kali adalah download CodeIgniter v 2.1.4 yang sudah disediakan
di website officialnya kemudian melakukan extract terhadap hasil download tersebut dan akan
menghasilkan folder CodeIgniter. Folder tersebut harus pembaca pindahkan ke dalam folder
htdocs di direktori XAMPP / WAMP.

Artikel Terkait: Setingan Awal Codeigniter

Setelah itu pembaca harus menjalankan web server yang terdapat di XAMPP / WAMP agar bisa
menjalankan script PHP tersebut. Kalau sudah, pembaca dapat langsung membuka halaman
browser kemudian menuliskan localhost/CodeIgniter pada URL Browser (Tanpa tanda Kutip
), apabila muncul tampilan Welcome to CodeIgniter berarti anda sudah berhasil
menggunakan framework CodeIgniter untuk pertama kalinya

Welcome Page CodeIgniter

Sebelum kita bahas bagaimana halaman tersebut dapat muncul, pembaca harus mengetahui kalau
framework CodeIgniter ini memiliki struktur MVC / Model View Controller sehingga apabila
anda melihat isi dari folder application di dalam CodeIgniter yang tadi sudah didownload akan
terdapat folder models, views dan juga controllers. (Bagi yang kurang paham mengenai model
pemrograman MVC, dapat membaca disini : http://en.wikipedia.org/wiki/Modelview
controller)

Struktur Folder pada CodeIgniter


Mari kita lihat file routes.php yang ada di dalam folder application/config, di dalam folder
tersebut terdapat kode seperti ini :

[php]$route[default_controller] = "welcome";[/php]

-> kode ini menunjukkan bahwa controller default atau controller yang pertama kali dijalankan
ketika menjalan aplikasi web kita adalah file welcome.php yang ada di folder controllers.
Pembaca dapat mengubah default controller tersebut sesuai dengan keinginan nantinya, sabar
yaa, hehehe

Dari situ kita sudah tahu kan ketika website pertama kali dijalankan (Ketika kita mengetikkan
localhost/CodeIgniter) akan menjalankan file welcome.php yang ada di folder
application/controllers. Di dalam file welcome.php berisi :

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Welcome extends CI_Controller {

/**
* Index Page for this controller.
*
* Maps to the following URL
* http://example.com/index.php/welcome
* - or -
* http://example.com/index.php/welcome/index
* - or -
* Since this controller is set as the default controller in
* config/routes.php, it's displayed at http://example.com/
*
* So any other public methods not prefixed with an underscore will
* map to /index.php/welcome/<method_name>
* @see http://codeigniter.com/user_guide/general/urls.html
*/
public function index()
{
$this->load->view('welcome_message');
}
}

itu adalah stuktur utama untuk sebuah controller di dalam CodeIgniter. nama class yang
digunakan adalah Welcome, hal tersebut karena disesuaikan dengan nama file controllernya yaitu
welcome.php . Apabila kita memiliki controller dengan nama file products.php maka kita harus
membuat class seperti ini di dalamnya :

class Products extends CI_Controller {


public function index()
{
//Do Something here...
}
}
Di dalam file welcome.php tersebut juga memiliki function index, function tersebut merupakan
function default yang akan dipanggil atau dijalankan ketika pertama kali controller tersebut
berjalan. kita juga dapat menambahkan function lain di dalamnya, seperti ini misalnya :

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Welcome extends CI_Controller {

/**
* Index Page for this controller.
*
* Maps to the following URL
* http://example.com/index.php/welcome
* - or -
* http://example.com/index.php/welcome/index
* - or -
* Since this controller is set as the default controller in
* config/routes.php, it's displayed at http://example.com/
*
* So any other public methods not prefixed with an underscore will
* map to /index.php/welcome/<method_name>
* @see http://codeigniter.com/user_guide/general/urls.html
*/
public function index()
{
$this->load->view('welcome_message');
}

public function greetings()


{
$this->load->view('say_greetings');
}
}

nantinya function greetings tersebut akan memanggil view say_greetings.php yang nanti kita
buat :)

Setelah selesai membahas controller, saatnya kita beralih ke dalam Views yang ada di folder
application/views. Di dalam folder tersebut terdapat file welcome_message.php. Nah, file
welcome_message.php inilah yang tadi dipanggil oleh controller welcome.php dengan code :

public function index()


{
$this->load->view('welcome_message');
}

Jadi sudah tahu kan asal-usul halaman Welcome to CodeIgniter tadi ?


Mari kita buat file baru yang bernama say_greetings.php di dalam folder views untuk nantinya
dipanggil oleh controller welcome dengan function greetings.
Isi say_greetings.php :

<html>
<head>
<title>Belajar CodeIgniter</title>
</head>
<body>
<a href="http://www.adrianhartanto.com">
<h1>
Greetings from CodeIgniter, <br /> by Adrian Hartanto
</h1>
</a>
</body>
</html>

Setelah selesai, mari coba kita buka halaman baru yang telah kita buat dengan mengetikkan
localhost/CodeIgniter/index.php/welcome/greetings pada URL browser kita.
notes :
1. CodeIgniter : Merupakan folder utama kita
2. welcome : Nama Controller kita, terdapat di CodeIgniter/application/controllers/welcome.php
3. greetings : Nama Fungsi yang ada di dalam controller, yaitu function greetings

Dan akhirnya kita sudah dapat menambahkan function baru pada controller kita dan juga
menampilkan view baru yang telah kita buat

Screen Shot View Baru yang telah kita buat :)


Settingan Awal Codeigniter
Menghilangkan index.php di codeigniter tidaklah sulit, namun jika lupa atau belum tau caranya
website bisa tidak jalan dengan semestinya.

Sore ini ada teman yang menanyakan website nya setelah di upload ke hosting kok tidak berjalan
dengan baik, CSS nya tidak ditemukan.

Ini semua bisa disebabkan oleh htaccess tidak benar atau settingan di config yang salah.

Berikut ini settingan awal codeigniter yang bisa digunakan. (Tidak hanya untuk menghilangkan
index.php) namun untuk settingan awal ketika kamu menggunakan codeigniter sebagai
Framework website.

Config.php

Pertama coba buka file config.php yang berada di application/config


Base_url sebaiknya dikosongkan saja jika anda menggunakan Codeigniter 2.XX
$config['base_url'] = "";

index_page juga sebaiknya dikosongkan saja, agar seo lebih baik, tapi butuh htaccess juga untuk
melengkapi settingan ini.
$config['index_page'] = '';

Uri_protocol di buat AUTO


$config['uri_protocol'] = 'AUTO';
Encryption_key sebaiknya di isi dengan karakter acak.
$config['encryption_key'] = 'B3b4SSsss555';

sess_cookie_name sebaiknya dirubah, agar ROBOT yang dibuat orang-orang yang tidak
bertanggung jawab tidak bisa mendeteksi kalau website kamu dibuat dengan codeigniter.
$config['sess_cookie_name'] = 'terserah';

sess_encrypt_cookie sebaiknya dibuat TRUE agar cookie di enkripsi


$config['sess_encrypt_cookie'] = TRUE;

Settingan lain berkaitan dengan session dan cookies sebaiknya diganti juga agar lebih aman :)

HTACCESS

Untuk melengkapi settingan website codeigniter agar berjalan dengan baik, dan agar index.php
di URL nya juga hilang, maka perlu dibuat file tanpa nama namun dengan extensi .htaccess

<IfModule mod_rewrite.c>
Options -Indexes

RewriteEngine On
RewriteBase /
#RewriteCond %{REQUEST_URI} ^system.*
#RewriteRule ^(.*)$ /index.php/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f


RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /nama_folder/index.php?/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>
# If we don't have mod_rewrite installed, all 404's
# can be sent to index.php, and everything works as normal.
# Submitted by: ElliotHaughin

ErrorDocument 404 /nama_folder/index.php


</IfModule>

disitu ada tulisan nama_folder, karena dibuat di sebuah folder di htdocs, ketika diupload ke
server hosting, biasanya kita tidak menaruhnya di folder, tapi langsung di public_html nya, maka
ketika dihosting /nama_folder harus dihapus, sisakan /index.php saja.

Oke sekian tips singkat kali ini, salam web development Indonesia

Anda mungkin juga menyukai