Pelatihan Framework CodeIgniter 2.0.0
Pelatihan Framework CodeIgniter 2.0.0
CodeIgniter
Oleh :
([Link])
PASSIONIT
“IT Consultant & IT Training Bandung”
Head office : Komplek Mekarsari Endah blok A-5 Baleendah.
www. [Link]
Bandung, 2011.
MENGENAL FRAMEWORK CODE IGNITER (CI)
Instalasi Framework CI
Setelah mendapatkan file kompresi CI, kemudian ekstrak dan ditempatkan di directory web
servernya. Untuk contoh yang saat ini letakkan di directory c:\xampp\htdocs.
Struktur CI
Karena CI adalah sebuah php framework yang berupa kumpulan folder dan file php, java
script,css,txt maka CI dijalankan under web dan harus dengan web server. Program CI cukup di
letakkan di bawah folder directory web server anda.
Untuk bisa membangun web, file-file konstruksinya diletakkan di folder Application. Struktur
aplikasi CI ada di dalam folder application/. Berikut adalah folder-folder yang sering digunakan dalam
pembangunan web dengan CI :
a. Config
Merupakan folder untuk konfigurasi aplikasi yang akan dibangun. Di folder ini diletakkan
konfigurasi tentang base URL, database, routing URL.
b. Controllers
Merupakan folder yang berisi file-file control, dimana nantinya file-file didalam folder ini akan
dieksekusi ketika pemanggilan di URL.
c. Errors
Merupakan folder error handling, yang mengatur ketika aplikasi yang dibangun mengalami
error.
d. Helpers
Merupakan folder yang berisi fungsionalitas yang memudahkan developer untuk membangun
aplikasi lebih mudah.
e. Models
Merupakan folder yang berisi fungsionalitas untuk pemodelan terhadap aplikasi yang nantinya
akan dibangun. Yang bisa dieksekusi oleh controller.
Setting Framework CI
Untuk mensetting framework CI, dilakukan di folder system/application/config. Kemudian edit
file [Link] dengan mengeset base URLnya seperti : [Link] (disesuaikan dengan nama
foldernya ).
User guide CI
Sebagai framework, CI memberikan user guide yang lengkap dengan langkah-langkah nya dalam
satu paket download CI. User guide ini, digunakan untuk memandu kita dalam develop web
menggunakan CI. Untuk bisa menggunakan user guide ini cukup masuk melalui browser, kemudian
ketikkan alamat dimana web server CI berada dengan menambahkan /user_guide diakhirnya, contoh :
[Link] .
Skema pemanggilan CI
Untuk memanggil aplikasi website yang dibangun menggunkan CI sesuai dengan arsitektur
pemanggilan di browser adalah sebagai berikut :
http:// [server_web]/[folder]/[Link]/[controller]/[function]
contoh : [Link]
Default [function] adalah index, jika tidak di panggil, contoh :
[Link] sama dengan [Link]
Nilai default yang dipanggil oleh CI adalah controller.
Konsep Pemodelan CI
Framework CI menggunakan konsep MVC dimana konsep ini memisahkan antara logic, database
dan tampilan. Keuntungan menggunakan MVC akan membuat coding logic lebih simple, karena dipisah
dengan coding tampilannya dan membuat programmer dapat bekerja terpisah dengan designer.
Programmer mengerjakan logic dan designer mengerjakan coding tampilan.
Model merupakan code struktur data, berupa modul-modul fungsi pengolahan data. Script sql
dapat diletakkan disini. 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 digunakan. Kita dapat hanya
menggunakan Controller dan View saja dalam menggunakan CI tanpa Model. Jika kita tidak
memerlukan pemisahan didalam struktur data maka kita dapat tidak menggunakan model
dalam pembangunan web dengan CI.
Controller
Controller pada CI memiliki fungsi pengendali logic yang mengatur antara pemodelan database
dan tampilan. Pada CI controller dibuat didalam folder system/application/controllers, dengan aturan
pembuatan controller sebagaia berikut :
function index()
{
}
}
?>
Class Hello yang merupakan class controller yang dibangun, sedangkan function Hello
merupakan konstruktor mengikuti penulisan dari class controller diatasnya.
View
Membuat view sama seperti membangun html biasa. Karena view ini yang nantinya akan bisa
digunakan untuk menampilkan dari layout aplikasi website yang akan dibangun. Di view inilah script-
script javascript bisa dimasukkan, css, maupun flash juga bisa di tempatkan di view ini.
Contoh pembuatan view :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"[Link]
<html xmlns="[Link]
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>My test CI</title>
</head>
<body>
Hello world !!
Model
Membuat class model hampir sama dengan membuat controller, hanya saja yang berbeda
adalah parameter extends dan class parent nya. Model ini lebih didefinisikan sebagai sekumpulan fungsi
yang bisa diakses oleh banyak controller. Dengan begitu model lebih merepresentasikan fungsi yang
sama. Contoh pembuatan model adalah sebagai berikut :
<?php
class Biodata extends CI_Model
{
function __construct()
{
parent::__construct();
$this->load->database();
}
function insert($data)
{
$this->db->insert('biodata',$data);
}
}
?>
Fungsi yang ada dimodel adalah fungsi general yang akan dipakai oleh banyak controller, seperti
akses database, maupun fungsi-fungsi general lainnya.
Hello World di CI
Sebagai la gkah a al kita aka e uat hello o ld a g aka dieksekusi oleh o se
ketika dipanggil dan e u ulka tulisa hello o ld .
Helper
Helper merupakan pengkodean yang bisa membantu pengembang web sehingga pengkodean
lebih simple dan lebih ringkas. Selaian disediakan oleh CI, kita juga bisa membuat helper sendiri dengan
mengikuti aturan yang ada di helper-helper CI lainnya. Referensi untuk bisa menggunakan helper yang
Untuk lebih lengkap form helper apa saja yang bisa digunakan, dapat dilihat di user guide di
table of content : helper reference > form helper. Contoh penggunaan form helper :
<?php echo form_open form/kali ;?>
<br />
Form Perkalian
<br />
<br />
B. URL helper
URL helper digunakan untuk memudahkan pengembang yang bekerja dengan URL,, dan
untuk bisa menggunakan URL helper load terlebih dahulu dengan code :
$this->load->helpe u l ).
Untuk lebih lengkap URL helper apa saja yang bisa digunakan, dapat dilihat di user guide di
table of content : helper reference > URL helper.
C. HTML helper
Untuk lebih lengkap HTML helper apa saja yang bisa digunakan, dapat dilihat di user
guide di table of content : helper reference > HTML helper.
D. Email Helper
Untuk bisa menggunakan email helper, load terlebih dahulu dengan code sebagai
berikut : $this->load->helpe e ail .
Helper yang bisa digunakan :
alid_e ail e ail , e fu gsi u tuk e ge ek fo at e ail a g e a . Co toh :
$this->load->helper('email');
if (valid_email('[Link]@[Link]'))
{
echo 'email is valid';
}
else
{
echo 'email is not valid';
}
se d_e ail e ipie t , su je t , essage , e fu gsi u tuk e gi i ka e ail.
Form
Form merupakan bentuk interaksi user dengan system. Dimana user bisa menginputkan data,
berupa text, password, pilihan, seleksi, maupun check box. Pembangunan form pada CI bisa
menggunakan helper ataupun tanpa menggunakan helper.
a. Buatlah sebuah controller, diberi nama [Link]
b. Isilah [Link] dengan code class controller sebagai berikut :
<?php
Class Form extends CI_Controller
{
function __construct()
{
Library
Library merupakan class yang sudah dibangun oleh CI. Library ini sifatnya akan mempermudah
pembangunan aplikasi website. Library juga bisa dibuat oleh sendiri. Secara umum, library ini letaknya di
system/library, dan untuk menggunakan library, diinisiasi terlebih dahulu di konstruktor classnya.
Berikut beberapa library yang sudah disediakan oleh CI :
A. Library database
Library database ini memungkinkan komunikasi dengan database lebih mudah. Untuk inisiasi
dari library ini dengan memasukkan code : $this->load->database() di class konstruktornya.
Berikut beberapa list untuk penggunaan dari library database ini :
Code Keterangan
$this->db->query([query]) Untuk mengeksekusi sebuah query, [query] diganti dengan
query database. Contoh :
$this->db-> ue sele t * f o iodata
$this->db->get a a_ta el Untuk menampilkan semua isi database.[nama_tabel]
diganti dengan tabel yang akan ditampilkan. Contoh :
$this->db->get iodata
$this->db-> he e ko disi Untuk memberikan nilai kondisi pada sebuah database.
Contoh :
Penggunaan library database banyak di gunakan pada class model. User guide untuk library
database bisa dilihat di tabel : class reference > Database class . Contoh library database di
model :
B. Library session
Session berguna untuk menyimpan data pengunjung situs secara otomatis. Untuk penggunaan
library session ini menggunakan $this->load->li a sessio di dala ko st ukto lass a.
Contoh penggunaan library session :
$data=array(
nama => afwan ,
logged_in =>TRUE
);
$this->session->set_userdata($data);
Setelah setting untuk upload selesai, maka gunakan code : $this->upload->do_upload() untuk
mengeksekusi file yang telah diupload. Dan code : $this->upload->data() untuk mengambil
informasi data yang telah diupload. Form yang digunakan untuk upload file berupa form
multipart. Contoh penggunaan library class :
function index()
{
$this->load->view('upload_form', array('error' => ' ' ));
}
function do_upload()
{
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '100';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload())
{
$error = array('error' => $this->upload->display_errors());
$this->load->view('upload_form', $error);
}
else
{
$data = array('upload_data' => $this->upload->data());
$this->load->view('upload_success', $data);
}
}
}
?>
b. Insert Javascript
Menggunakan javascript bisa langsung dimasukkan dengan code berikut :
<script type="text/javascript" src="<?php=base_url();?>js/[Link]">
</script>
Keterangan :
Folder js diletakkan sejajar dengan system.
c. Passing variable
Passing variable merupakan variable yang dilempar dari controller untuk ditampilkan di view.
Contoh penggunaan passing variable :
Di controller
$data[ nilai ]= afwan auliyar ;
$this->load->view viewData ,$data);
Di view
echo $nilai;
Keterangan :
d. Penempatan image
Untuk bisa menggunakan image, bisa menggunakan URL helper. Folder image bisa ditempatkan
sejajar dengan folder system dan bisa menggunakan helper base_url() sebagai alamat URL
image yang akan di gunakan.
Pada bagian ini kita akan mencoba membangun sebuah arsitektur web menggunakan CI.
Aplikasi yang akan dibangun kali ini merupakan aplikasi Pe dafta a Pelatiha O li e . Aplikasi i i
menggambarkan proses pendaftaran untuk mengikuti pelatihan secara online. Langkah-langkah
pembuatan aplikasi :
a. Menyiapkan database pelatiha , dengan membuat tabel peserta, tabel pelatihan dengan
kolomnya sebagai berikut :
Tabel peserta :
Field type attribute
Id_biodata int Primary, auto_increment
Id_pelatihan int
nama Varchar(30)
alamat Varchar(100)
email Varchar(20)
No_hp Varchar(20)
Tabel pelatihan:
Field type attribute
Id_pelatihan int Primary, auto_increment
Nama_pelatihan Varchar(50)
biaya Varchar(20)
tentor Varchar(50)
quota Int(5)
b. Mengatur url_base di [Link] dan database di [Link] yang kedua file tersebut di
system/application/config.
Referensi :
a. [Link]
b. Code Igniter user guide, [Link] Lisensi :
[Link]
c. Membangun elemen form dengan codeIgniter, [Link]