SlideShare une entreprise Scribd logo
1  sur  16
Belajar PHP dengan Framework
Code Igniter
Akhmad Sofwan
sofwan@sofwan.net
http://www.sofwan.net
Lisensi Dokumen:
Copyright © 2003-2007 IlmuKomputer.Com
Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan
secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus
atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin
terlebih dahulu dari IlmuKomputer.Com.
PHP adalah sebuah bahasa pemrograman web yang popular, tangguh dan dapat di peroleh
secara gratis. Belajar PHPcukup menyenangkan, karena bahasa ini tergolong mudah untuk di
pelajari. Untuk mempermudah dan mempercepat pengembangan aplikasi dengan PHP, banyak
bermunculan framework PHP, satu di antara nya adalah Code Igniter.
Pendahuluan
Code Igniter (CI) (www.codeigniter.com) adalah salah satu framework php yang tangguh dan
popular. Code Igniter tergolong framework dengan ukuran kecil dan cukup mudah di kuasai. CI
juga datang dengan manual yang tergolong lengkap.
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
1
BAB I
Mengenal dan Instalasi Code Igniter.
I. Selayang Pandang Code Igniter
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.
II. Mendapatkan Code Igniter
Code Igniter dapat di peroleh secara gratis, dengan mendownload nya di www.codeigniter.com.
Versi saat ini adalah versi 1.7.2.
III. Instalasi Code Igniter
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.
IV. Konsep Model-View-Controller (MVC)
Konsep 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.
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
2
V. Struktur file CI
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 :
CI
System
Application
cache
codeigniter
database
fonts
helpers
language
libraries
logs
plugins
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
User_Guide
scaffolding
3
BAB II
Coding dengan Code Igniter
1. Membuat “Hello World” di CI
Berikut kita akan mempraktekan pemrograman php dengan CI. Kita akan menampilkan tulisan
“Hello World” ke dalam browser kita.
Langkah-langkah nya adalah sbb :
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.
2. Membuat Form dengan CI
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');
}
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
4
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');
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);
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
5
- form_submit('my submit','OK');
identik dengan :
<input type=”submit” value=”OK”>
- form_reset
Sama penggunaan nya dengan form_reset.
3.Menggunakan library CI
A. Library Database.
Menggunakan library ini, kita perlu mengaktifkan sebelum nya, dengan cara :
$this->load->database() atau dengan $this->load->library('database');
Untuk loading otomatis, kita perl mengaktifkan library tsb dengan cara memberikan perintah
$this>load->library('database');
1. Query standard dengan hasil multiple (object version)
$query=”select nama,alamat,telp from mahasiswa”;
$hasil=$this->db->query(“$query”);
foreach ($hasil as $row)
{
echo $row->nama;
echo $row->alamat;
echo $row->telp;
}
echo “Hasil Nilai :”. $hasil->num_rows();
2. Query standard dengan hasil multiple (Array version)
$query=”select nama,alamat,telp from mahasiswa”;
$hasil=$this->db->query(“$query”);
foreach ($hasil as $row)
{
echo $row['nama'];
echo $row['alamat'];
echo $row['telp'];
}
echo “Hasil Nilai :”. $hasil->num_rows();
3. Query dengan hasil tunggal
Untuk menampilkan sebuah hasil query, kita dapat menggunakan syntax sbb :
$query->row()
Contoh :
$query=”select nama from mahasiswa limit 1”;
$hasil=$this->db->query(“$query”);
$hasilnya=$hasil->row();
echo $hasilnya->nama;
4. Query Bindings
Yaitu membuat query dengan nilai yang dapat berubah-ubah.
$sql=”select * from mahasiswa where nama=? And kota=?”;
$this->db->query($sql,array('andi','jakarta');
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
6
5. Active Record Class
CI menggunakan teknik active record, di samping juga dapat memproses perintah sql. Cara
ini adalah cara lain yang di gunakan di CI untuk memproses query.
Perintah-perintah di dalam Active record class adalah sbb :
a. Selecting Data
- $this->db->get()
Fungsi : Untuk menampilkan semua isi tabel mahasiswa.
Contoh :
- $this->db->get('mahasiswa');
// Sama dengan : select * from mahasiswa.
Parameter pertama dan kedua memuat limit dan offset, yaitu :
- $query=$this->db->get('mytable',10,20)
Menghasilkan : select * from mytable limit 10,20
- $this->db->get_where();
Fungsi : Untuk menampilkan semua isi tabel dengan di tambah kondisi where
Contoh :
$this->db-> get_where ('mytable',array('id'=>$id),$limit,$offset);
// Sama dengan : “select * from mytable where id='$id' limit 20, 10”;
- $this->db->select();
Fungsi : Untuk memilih tabel yang akan di proses dengan perintah select.
Contoh :
$this->db->select('nama,nilai,alamat');
$query=$this->db->get('mahasiswa);
// Sama dengan : select nama,nilai,alamat from mahasiswa;
- $this->db->from();
Fungsi : Untuk memilih tabel.
Contoh :
$this->db->select('nama,nilai,alamat');
$this->db->from('mahasiswa');
$query=$this->db->get();
// Sama dengan : select nama,nilai,alamat from mahasiswa;
- $this->db->join();
Fungsi : Untuk melakukan perintah join terhadap 2 atau lebih tabel.
Contoh :
$this->db->select(“*”);
$this->db->from(“nilai”);
$this->db->join(“mahasiswa”,”mahasiswa.nim=nilai.nim”);
$query=$this->db->get();
// Sama dengan : “select * from nilai join mahasiswa on mahasiswa.nim=nilai.nim”;
- $this->db->where();
Fungsi : Untuk menerapkan kondisi where suatu syntax query.
Contoh :
$this->db->where('nama','opan');
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
7
$query= $this->db->get('mahasiswa');
// sama dengan : “select * from mahasiswa where nama='opan'”;
- $this->db->like();
Fungsi : Menyatakan syntax like ke dalam query.
Contoh :
$this->db->like('nama','sofwan');
$query=$this->db->get(“mahasiswa”);
// sama dengan : “select * from mahasiwa where nama like '%sofwan%”;
- $this->db->group_by()
Fungsi : Menambahkan perintah group by pada query.
Contoh :
$this->db->group_by(“kota”);
$query=$this->db->get(“mahasiswa”);
// Sama dengan : select * from mahasiswa group by kota”;
b.Inserting Data
- $this->db->insert();
Fungsi : Untuk menginsert data ke dalam sebuah tabel.
Kita dapat menggunakan data yang akan di insert berupa array atau object.
Contoh, menggunakan array :
$data=array(
'nim'=>'0811500292',
'nama'=>'ali',
'kota'=>'jakarta');
$this->db->insert('mahasiswa',$data);
Contoh menggunakan Object :
class kelasku
{ var $nim=”0811500292”,
var $nama=”ali”,
var $kota=”jakarta”}
$obj=new kelasku;
$this->db->insert(“mahasiswa”,$obj);
Kedua contoh di atas sama dengan perintah :
// insert into mahasiswa (nim,nama,kota) values('0811500292','ali','jakarta');
- $this->db->set();
Fungsi : Fungsi ini mengambil data untuk di lakukan perintah insert dan update.
Contoh : $this->db->set('nama',$nama);
$this->db->insert('mahasiswa');
// Sama dengan : insert into mahasiswa (nama) values ('{$nama}');
c.Updating Data
- $this->db->update();
Fungsi : Untuk update data
$data=array(
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
8
'nim'=>'$nim',
'nama'=>'$nama',
'kota'=>'$kota');
$this->db->where('id',$id);
$this->db->update('mahasiswa',$data);
// Sama dengan : update mahasiswa set nim=”$nim”,nama=”$nama”,kota=”$kota”
where id=”$id”;
Atau dapat juga dengan menggunakan object.
Class kelasku {
var $nim=”$vnim”,
var $nama=”$vnama”,
var $kota=”$vkota”;
}
$object = new kelasku;
$this->db->where ('id',$id);
$this->db->update (“mahasiswa”,$object);
d.Deleting Data
- $this->db->delete()
Fungsi : Menghapus data di dalam query
contoh :
$this->db->delete(“mahasiswa”,array('nim'->$nim));
// Sama dengan : delete mahasiswa where nim=”$nim”
B. Library E-mail
Berikut adalah contoh setting e-mail :
$this->load->library(“email”);
// Kita perlu meload library e-mail di dalam controller atau di taruh di autoload.php
$this->email->from(“sofwan@sofwan.net”,”AkhmadSofwan”);
$this->email->to(“sofwan@sofwan.net”);
$this->email->cc(“wansofwan@yahoo.co.id”);
$this->email->bcc(“wansofwan@gmail.com”);
$this->email->subject(“Test Email”);
$this->email->message(“Hallo apa kabar nich … ?”);
$this->email->send();
Setting E-mail :
Setting e-mail di set secara default di dalam file config.php.
Kita dapat melakukan setting manual seperti contoh di bawah ini :
$config[“protocol”]=”sendmail”;
$config[“mailpath”]=”/usr/sbin/sendmail”;
$config[“charset”]=”iso-8859-1”;
$config[“wordwrap”]=TRUE;
$this->email->initialize($config);
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
9
C.Library UploadingFile
Adalah library untuk upload file ke server dan di simpan di folder tertentu. Folder tempat
penyimpanan file di buat write accessible. Ukuran max di php.ini juga di atur agar sesuai
dengan yang kita inginkan. Perhatikan baris berikut pada php.
file_uploads=on // Buat menjadi on
post_max_size = 2M // Edit ukuran file nya sesuai dengan yang anda inginkan.
upload_tmp_dir=”/opt/lampp/htdocs” // Folder ini harus write accssible
Setting upload nya adalah sbb :
$config['upload_path']='./uploads/'; // Folder penyimpanan file. Musti Write accessible
$config['allowed_types']='gif|jpg|png';
$config['max_size']='100';
$config['max_width']='1024';
$config['max_height']='768';
$this->load->library('upload',$config);
// Jika kita meletakkan library uploading filedi dalamfile autoload.php, maka syntax di bawah
ini yang perlu kita taruh :
$this->upload->initialize($config);
$this->upload->do_upload()
Fungsi : Untuk melakukan eksekusi uploading file
Contoh :
<?php
class Upload extends Controller {
function Upload()
{
parent::Controller();
$this->load->helper(array('form', 'url'));
}
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);
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
10
}
else
{
$data = array('upload_data' => $this->upload->data());
$this->load->view('upload_success', $data);
}
}
}
?>
Agar form dapat melakukan uploading file, maka tipe enctype suatu form haruslah berbentuk
multipart/form-data.
<form method=”post” enctype=”multipart/form-data”>
D.Pagination Library
Pagination umum nya di gunakan di dalam penampilan suatu database yang berbentuk tabel.
Contoh penggunaan Pagination :
$this->load->library(“pagination”); // Loading library pagination
$config[“base_url”]=”http://localhost/dkpnew”; // base_url
$config[“total_rows”]=”100”; // Total baris
$config[“per_page”]= “20”; // per page
$this->pagination->initialize($config);
echo $this->pagination->create_links();
E. HTML Table Library
Library ini membuat tabel secara otomatis dari data yang anda retrieve.
Contoh :
$this->load->library(“table”);
$data=array(
array(“Nim”,”Nama”,”Kota”),
array(“090012”,”Andi”,”Jakarta”),
array(“090014”,”Umar”,”Jakarta”),
array(“090013”,”Udin”,”Semarang”));
echo $this->table->generate($data);
Menampilkan tabel dari data yang di peroleh dari database. Contoh nya adalah sbb :
$this->load->library(“table”);
$query=$this->db->query(“select * from mahasiswa”);
echo $this->table->generate($query);
F. Session Library
Session berguna untuk menyimpan data pengunjung situs ke dalam cookie secara otomatis.
Contoh Session :
$data=array(
'nim'=>'0900189',
'nama'=>'Andi Hasan',
'logged_in'=>TRUE);
$this->session->set_userdata($data);
G.Menghapus session
$this->session->unset_userdata('some_name');
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
11
- Flash data
Flashdata atau session data hanya tersedia untuk request server selanjutnya dan kemudian di
hapus secara otomatis. Hal ini sangat berguna dan di gunakan untuk informasi atau status pesan.
Untuk menambah flash data :
$this->session->set_flashdata(“item”,”value”);
Untuk membaca flashdata variabel, dapat di gunakan :
$this->session->flashdata(“item”);
Untuk menghancurkan session.
$this->session->sess_destroy();
4. Menggunakan Helper CI
A. E-mail Helper
Helper E-mail ini di sediakan untuk membantu developer bekerja dengan E-mail.
Syntax yang ada pada helper ini adalah :
1. $this->load->helper(“email”);
Untuk loading helper email.
2. valid_email('email');
Untuk mengecek format e-mail yang benar.
Contoh :
if (valid_email(“sofwan@sofwan.net”))
{ echo “Mail is valid”; }
else
{ echo “Mail is invalid”;}
3. send_email(“recipient”,”subject”,”message”)
Syntax untuk Mengirim e-mail.
B. Form Helper
Helper Form ini di sediakan untuk membantu developer bekerja dengan form.
Syntax yang ada pada helper ini adalah :
1. form_open()
Fungsi : Untuk membuat form pada awal form.
Sama dengan <form method=”post” action=”<?=base_url();?>index.php/input”>
2. form_open_multipart()
Fungsi : Sama dengan form_open().
3. form_input()
Fungsi : Untuk membentuk fungsi input text
Contoh : $data=array(“name” => “username”,
“size” => “10”);
echo form_input ($data)
Sama dengan : <input type=”text” name=”username” size=”10”>
4. form_password()
Sama dengan form_input. Hanya saja form ini masukkan nya berupa password.
Sama dengan : <input type=”password”>
C.Cookie Helper ()
Cookie Helper ini di sediakan untuk membantu developer bekerja dengan cookie.
Syntax yang ada pada helper ini adalah :
$this->load->helper(“cookie”);
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
12
1. set_cookie()
Fungsi : Setting cookie
2. get_cookie()
Fungsi : Fetch Cookie
3. delete_cookie()
Fungsi : Menghapus Cookie
D. URL Helper()
URL Helper ini berguna untuk membantu Developer bekerja dengan URL.
Syntax yang ada di dalam URL Helper, yaitu :
1.base_url()
Fungsi : Mengembalikan base_url, seperti yang tertulis di dalam file config.php
2. uri_string()
Fungsi : Mengembalikan URI Segment di halaman yang berisi fungsi ini. Jika URL
anda : http://sofwan.net/blog/comments/123,
Fungsi akan mengembalikan nilai : blog/comments/123
3.anchor()
Fungsi : membuat standard html anchor link berdasarkan url local anda.
Contoh :
echo anchor (“berita/local/123”,”berita”);
<a href=”http://localhost/local/123” >Click Here</a>
4. redirect()
Fungsi : Untuk redirect ke function tertentu.
redirect(“form/index”);
Maka akan menuju ke syntax tertentu.
E. Security Helper()
1. xss_clean()
Menyediakan Cross Site Script Hack filtering. Function ini termasuk juga ke dalam
input class.
2. dohash()
Akan membentuk SH1 atau MD5 encrypting password.
Contoh : $str =dohash($str) // SHA1
$str =dohash($str,'md5') // MD5
5. Insert CSS dan JavaScript di CI.
Insert CSS dan Java Script di CI di letakkan di view, yaitu dengan cara :
- Insert CSS :
<link rel=”stylesheet” href=”<?=base_url();?>css/mainutama.css” type=”text/css”
media=”screen, projection” />
Pada script di atas, file css dengan nama file:mainutama.css yang berada di folder css di insert.
Letak folder css sendiri ada nya di root.
- Insert JavaScript :
<script type="text/javascript" src="<?=base_url();?>javascript/addhtmlcontrols.js"></script>
Pada script di atas, file javascript dengan nama file:addhtmlcontrols.js yang berada di folder
javascript di insert. Letak folder javascript sendiri ada nya di root.
6. Membuat Tampilan Design.
Tampilan design di biasanya di buat dengan menggunakan CSS dan html/xhtml. File Css dan
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
13
html/xhtml sendiri di letakkan atau di insert pada view. Image juga dapat di letakkan pada
folder terpisah dan di letakkan di hierarki utama CI, sama level nya dengan system, namun
dapat juga di letakkan di mana saja, asalkan penunjukkan url nya sesuai.
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
14
BAB III
Setting di CI dan lainnya di CI
1. Menggunakan library Third party
CI dapat di extend, yang salah satu nya dengan menggunakan library dari luar. Cara nya yaitu
dengan mengcopy file library ke dalam folder system/libraries.
Berikut adalah contoh penerapan penggunaan library report pdf. Aplikasi ini adalah library
php yang berfungsi untuk membentuk file pdf, termasuk penggunaan report pdf yang dapat di
cetak.
Cara-cara nya adalah sbb, yaitu :
a. Download aplikasi Cezpdf dari http://www.ros.co.nz/pdf
b. Rename file : class.ezpdf.php menjadi cezpdf.php. Copy file cezpdf.php dan class.pdf.php ke
dalam folder system/libraries.
c. Load library cezpdf, dengan syntax : $this->load->library('cezpdf.php');
d. Library pdf dapat di gunakan. Cara penggunaan nya dengan membaca readme.pdf yang di
sertakan di aplikasi hasil download nya.
2. Upload CI di Web Hosting
Setelah suatu project web sudah kita selesaikan di localhost atau web server local. Kita akan
menaikkan/upload aplikasi CI tsb ke Web Hosting kita.
Cara untuk upload ke web hosting adalah sbb :
a. Copy kan keseluruhan folder CI ke dalam folder directory web hosting kita.
b. Edit file config.php dan database.php. Di sesuaikan dengan konfigurasi web hoting dan
database nya.Misal url kita adalah : http://www.budi.com, maka di base_url yang ada di file
config.php
nilai nya adalah http://www.budi.com
c. Edit file routes.php yang ada di folder /system/application/config.
Ubah nilai $route['default_controller'] nya menjadi controller default yang kita miliki. Hal
ini akan berdampak, jika kita mengetik url : http://www.budi.com, maka akan langsung
tampil page utama dari web kita.
3. URI Routing
Reserved Routes. Terdapat 2 reserved routes, yaitu :
$route['default_controller']='welcome';
Pada contoh di atas, default controller yang di gunakan adalah class welcome. Jika anda
menggunakan routes yang berbeda, maka hendak nya nilai 'default_controller' di atas dapat
segera di ubah, agar jika anda memanggil url nya saja, maka akan langsung mengarah ke
default controller anda.
4. Membuat Library sendiri
Library di simpan di dalam folder system/libraries. Di dalamhal mengubah library, kita dapat
melakukan hal-hal berikut, yaitu :
a. Membuat Library baru.
b. Menambah/extends native library.
c. Merubah Native Libraries.
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
15
5. Loading Plugin
Plugin hampir sama dengan Helper, bedanya Plugin memiliki 1 function, sedangkan Helper
terdiri dari kumpulan function. Cara loading plugin, yaitu :
$this->load->plugin('name').
Plugin juga dapat di load secara otomatis dengan cara memasukkan array plugin di file
autoload.php di folder system/application/config.
6 Scaffolding
Scaffolding di gunakan untuk bekerja dengan sebuah tabel dan dapat di add, edit dan delete.
Penggunaan Scaffolding untuk mempermudah proses pembuatan aplikasi tsb.
Penggunaan Scaffolding di letakkan di Controller. Berikut adalah contoh penerapan Scaffolding
di dalam CI, yaitu :
<?
class Blog extends Controller
{
function Blog()
{
parent::Controller();
$this->load->scaffolding('table_name');
}
}
?>
Penutup
Demikian lah artikel sedikit pengetahuan mengenai Code Igniter, semoga dapat bermanfaat.
Referensi
- Code Igniter User Guide : http://codeigniter.com/user_guide/
Lisensi : http://codeigniter.com/user_guide/license.html
Biografi Penulis
Akhmad Sofwan. Menyelesaikan S1 Teknik Informatika di Universitas Budi Luhur, Jakarta.
Bidang peminatan di Ilmu Komputer adalah Web Development , Software Engineering dan
Manajemen Sistem Informasi serta Linux.
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
16

Contenu connexe

Tendances

Tugas ii 0317_arie firmandani_1512510445
Tugas ii  0317_arie firmandani_1512510445Tugas ii  0317_arie firmandani_1512510445
Tugas ii 0317_arie firmandani_1512510445Arie Firmandani
 
Modul praktikum database programing
Modul praktikum database programingModul praktikum database programing
Modul praktikum database programingZaenal Abidin
 
Modul praktikum basis data
Modul praktikum basis dataModul praktikum basis data
Modul praktikum basis datahairul anwar
 
Slide struktur codeigneter
Slide struktur codeigneterSlide struktur codeigneter
Slide struktur codeigneterCecilia Cintahta
 
Tugas makalah 4 ka34 pemograman generasi ke 4
Tugas makalah 4 ka34 pemograman generasi ke 4Tugas makalah 4 ka34 pemograman generasi ke 4
Tugas makalah 4 ka34 pemograman generasi ke 4Maulana Rocky
 
Presentasi bd2 jefri 4.3 logging
Presentasi bd2 jefri 4.3 loggingPresentasi bd2 jefri 4.3 logging
Presentasi bd2 jefri 4.3 loggingJefri Fahrian
 
Modul Praktikum Basis Data
Modul Praktikum Basis DataModul Praktikum Basis Data
Modul Praktikum Basis DataMuslim Jogja
 

Tendances (17)

Tugas ii 0317_arie firmandani_1512510445
Tugas ii  0317_arie firmandani_1512510445Tugas ii  0317_arie firmandani_1512510445
Tugas ii 0317_arie firmandani_1512510445
 
Ajar mysql5 1
Ajar mysql5 1Ajar mysql5 1
Ajar mysql5 1
 
Modul praktikum database programing
Modul praktikum database programingModul praktikum database programing
Modul praktikum database programing
 
P webfb
P webfbP webfb
P webfb
 
Modul praktikum basis data
Modul praktikum basis dataModul praktikum basis data
Modul praktikum basis data
 
Pel myswl
Pel myswlPel myswl
Pel myswl
 
PHP, MySQL, Apache
PHP, MySQL, ApachePHP, MySQL, Apache
PHP, MySQL, Apache
 
Aplikom mic. acces
Aplikom mic. accesAplikom mic. acces
Aplikom mic. acces
 
Bab ii
Bab iiBab ii
Bab ii
 
Java souce code
Java souce codeJava souce code
Java souce code
 
Slide struktur codeigneter
Slide struktur codeigneterSlide struktur codeigneter
Slide struktur codeigneter
 
Tugas makalah 4 ka34 pemograman generasi ke 4
Tugas makalah 4 ka34 pemograman generasi ke 4Tugas makalah 4 ka34 pemograman generasi ke 4
Tugas makalah 4 ka34 pemograman generasi ke 4
 
Pengantar RDBMS
Pengantar RDBMSPengantar RDBMS
Pengantar RDBMS
 
Presentasi bd2 jefri 4.3 logging
Presentasi bd2 jefri 4.3 loggingPresentasi bd2 jefri 4.3 logging
Presentasi bd2 jefri 4.3 logging
 
Tutorial my sql
Tutorial my sqlTutorial my sql
Tutorial my sql
 
Modul Praktikum Basis Data
Modul Praktikum Basis DataModul Praktikum Basis Data
Modul Praktikum Basis Data
 
50 tutorial 11
50 tutorial 1150 tutorial 11
50 tutorial 11
 

En vedette

A Review of EnglishCentral (an online video-based material)
A Review of EnglishCentral (an online video-based material) A Review of EnglishCentral (an online video-based material)
A Review of EnglishCentral (an online video-based material) iumstech
 
Инвестиционная стратегия (Москва)
Инвестиционная стратегия (Москва)Инвестиционная стратегия (Москва)
Инвестиционная стратегия (Москва)Anastasia Vinogradova
 
Performance optimisation - scaling a hobby project to serious business
Performance optimisation - scaling a hobby project to serious businessPerformance optimisation - scaling a hobby project to serious business
Performance optimisation - scaling a hobby project to serious businessHarald Zeitlhofer
 
노숙인 쉼터거주자의 건강행태__건강수준과_보건의료기관_이용양상
노숙인 쉼터거주자의 건강행태__건강수준과_보건의료기관_이용양상노숙인 쉼터거주자의 건강행태__건강수준과_보건의료기관_이용양상
노숙인 쉼터거주자의 건강행태__건강수준과_보건의료기관_이용양상Soon Il Kwon
 
지속가능 브랜드: 다시 쓰는 브리프 - 제 2회 '새 광고' 컨퍼런스
지속가능 브랜드: 다시 쓰는 브리프 - 제 2회 '새 광고' 컨퍼런스지속가능 브랜드: 다시 쓰는 브리프 - 제 2회 '새 광고' 컨퍼런스
지속가능 브랜드: 다시 쓰는 브리프 - 제 2회 '새 광고' 컨퍼런스goback-advertising
 
Back to school slideshow
Back to school slideshowBack to school slideshow
Back to school slideshowa2million
 
자료집 416특별법국민설명회 20140709
자료집 416특별법국민설명회 20140709자료집 416특별법국민설명회 20140709
자료집 416특별법국민설명회 20140709Soon Il Kwon
 
The Most Important File Format
The Most Important File FormatThe Most Important File Format
The Most Important File FormatJb Evain
 
ASEE Metal Impingement paper 50 final
ASEE Metal Impingement paper 50 finalASEE Metal Impingement paper 50 final
ASEE Metal Impingement paper 50 finalAndré Eggert
 
Lista TDK
Lista TDKLista TDK
Lista TDKByakuei
 
Ежемесячный обзор финансового рынка России по состоянию на 01.03.2016
Ежемесячный обзор финансового рынка России по состоянию на 01.03.2016Ежемесячный обзор финансового рынка России по состоянию на 01.03.2016
Ежемесячный обзор финансового рынка России по состоянию на 01.03.2016Anastasia Vinogradova
 

En vedette (20)

CoLab 2013 Pictures
CoLab 2013 PicturesCoLab 2013 Pictures
CoLab 2013 Pictures
 
Arabic gsm
Arabic gsmArabic gsm
Arabic gsm
 
A Review of EnglishCentral (an online video-based material)
A Review of EnglishCentral (an online video-based material) A Review of EnglishCentral (an online video-based material)
A Review of EnglishCentral (an online video-based material)
 
Инвестиционная стратегия (Москва)
Инвестиционная стратегия (Москва)Инвестиционная стратегия (Москва)
Инвестиционная стратегия (Москва)
 
Performance optimisation - scaling a hobby project to serious business
Performance optimisation - scaling a hobby project to serious businessPerformance optimisation - scaling a hobby project to serious business
Performance optimisation - scaling a hobby project to serious business
 
노숙인 쉼터거주자의 건강행태__건강수준과_보건의료기관_이용양상
노숙인 쉼터거주자의 건강행태__건강수준과_보건의료기관_이용양상노숙인 쉼터거주자의 건강행태__건강수준과_보건의료기관_이용양상
노숙인 쉼터거주자의 건강행태__건강수준과_보건의료기관_이용양상
 
Lecturas admon2
Lecturas admon2Lecturas admon2
Lecturas admon2
 
Folletos
FolletosFolletos
Folletos
 
지속가능 브랜드: 다시 쓰는 브리프 - 제 2회 '새 광고' 컨퍼런스
지속가능 브랜드: 다시 쓰는 브리프 - 제 2회 '새 광고' 컨퍼런스지속가능 브랜드: 다시 쓰는 브리프 - 제 2회 '새 광고' 컨퍼런스
지속가능 브랜드: 다시 쓰는 브리프 - 제 2회 '새 광고' 컨퍼런스
 
Compilaciótema3
Compilaciótema3Compilaciótema3
Compilaciótema3
 
Back to school slideshow
Back to school slideshowBack to school slideshow
Back to school slideshow
 
자료집 416특별법국민설명회 20140709
자료집 416특별법국민설명회 20140709자료집 416특별법국민설명회 20140709
자료집 416특별법국민설명회 20140709
 
Mendoza
MendozaMendoza
Mendoza
 
The Most Important File Format
The Most Important File FormatThe Most Important File Format
The Most Important File Format
 
Running PHP on Nginx
Running PHP on NginxRunning PHP on Nginx
Running PHP on Nginx
 
ASEE Metal Impingement paper 50 final
ASEE Metal Impingement paper 50 finalASEE Metal Impingement paper 50 final
ASEE Metal Impingement paper 50 final
 
Lista TDK
Lista TDKLista TDK
Lista TDK
 
Ежемесячный обзор финансового рынка России по состоянию на 01.03.2016
Ежемесячный обзор финансового рынка России по состоянию на 01.03.2016Ежемесячный обзор финансового рынка России по состоянию на 01.03.2016
Ежемесячный обзор финансового рынка России по состоянию на 01.03.2016
 
Презентация IRM businessDoc Королёвой С.М.
Презентация IRM businessDoc Королёвой С.М.Презентация IRM businessDoc Королёвой С.М.
Презентация IRM businessDoc Королёвой С.М.
 
Internet
InternetInternet
Internet
 

Similaire à Belajar framework code igniter xii rpl

Belajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniterBelajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniterGeorge Kartutu
 
Belajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniterBelajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniterMuhammad Rais
 
Php dgn framework code ignitier
Php dgn framework code ignitierPhp dgn framework code ignitier
Php dgn framework code ignitierAlbertz Ace-Red
 
Php dgn frame work code ignitier
Php dgn frame work code ignitierPhp dgn frame work code ignitier
Php dgn frame work code ignitierHaswi Haswi
 
Belajar php dengan framework code igniter3
Belajar php dengan framework code igniter3Belajar php dengan framework code igniter3
Belajar php dengan framework code igniter3iimpunya3
 
Belajar php-dengan-framework-code-igniter1
Belajar php-dengan-framework-code-igniter1Belajar php-dengan-framework-code-igniter1
Belajar php-dengan-framework-code-igniter1Al-dhimas Purnama
 
Jamal aplikasicrud
Jamal aplikasicrudJamal aplikasicrud
Jamal aplikasicrudmales Aja
 
Tutorial ci
Tutorial ciTutorial ci
Tutorial ciWira Hul
 
CRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQLCRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQLLusiana Diyan
 
Wawan tutorial-zend-bagian-1-3
Wawan tutorial-zend-bagian-1-3Wawan tutorial-zend-bagian-1-3
Wawan tutorial-zend-bagian-1-3Haswi Haswi
 
Manipulasi database mysql dgn php
Manipulasi database mysql dgn phpManipulasi database mysql dgn php
Manipulasi database mysql dgn phpHaswi Haswi
 
Workshop SuBali - CodeIgniter
Workshop SuBali - CodeIgniterWorkshop SuBali - CodeIgniter
Workshop SuBali - CodeIgniterAdi Setiawan
 
E commerce dengan php mysql
E commerce dengan php mysqlE commerce dengan php mysql
E commerce dengan php mysqlAlvin Setiawan
 
Tugas 3 – 0317 (individu)
Tugas 3 – 0317 (individu)Tugas 3 – 0317 (individu)
Tugas 3 – 0317 (individu)Linda Lestari
 
Modul Pelatihan CodeIgniter Dasar
Modul Pelatihan CodeIgniter DasarModul Pelatihan CodeIgniter Dasar
Modul Pelatihan CodeIgniter DasarRidwan Fadjar
 
Modul 05 Framework CodeIgniter.pdf
Modul 05 Framework CodeIgniter.pdfModul 05 Framework CodeIgniter.pdf
Modul 05 Framework CodeIgniter.pdfSetiya Nugroho
 
pemrograman internet
pemrograman internetpemrograman internet
pemrograman internetmafailmi
 

Similaire à Belajar framework code igniter xii rpl (20)

Belajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniterBelajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniter
 
Belajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniterBelajar php-dengan-framework-code-igniter
Belajar php-dengan-framework-code-igniter
 
Php dgn framework code ignitier
Php dgn framework code ignitierPhp dgn framework code ignitier
Php dgn framework code ignitier
 
Php dgn frame work code ignitier
Php dgn frame work code ignitierPhp dgn frame work code ignitier
Php dgn frame work code ignitier
 
Belajar php dengan framework code igniter3
Belajar php dengan framework code igniter3Belajar php dengan framework code igniter3
Belajar php dengan framework code igniter3
 
Belajar php-dengan-framework-code-igniter1
Belajar php-dengan-framework-code-igniter1Belajar php-dengan-framework-code-igniter1
Belajar php-dengan-framework-code-igniter1
 
Tutorial ci
Tutorial ciTutorial ci
Tutorial ci
 
Jamal aplikasicrud
Jamal aplikasicrudJamal aplikasicrud
Jamal aplikasicrud
 
Tutorial ci
Tutorial ciTutorial ci
Tutorial ci
 
CRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQLCRUD pada Android Studio menggunakan MySQL
CRUD pada Android Studio menggunakan MySQL
 
Wawan tutorial-zend-bagian-1-3
Wawan tutorial-zend-bagian-1-3Wawan tutorial-zend-bagian-1-3
Wawan tutorial-zend-bagian-1-3
 
Kelompok 7
Kelompok 7Kelompok 7
Kelompok 7
 
Manipulasi database mysql dgn php
Manipulasi database mysql dgn phpManipulasi database mysql dgn php
Manipulasi database mysql dgn php
 
Workshop SuBali - CodeIgniter
Workshop SuBali - CodeIgniterWorkshop SuBali - CodeIgniter
Workshop SuBali - CodeIgniter
 
E commerce dengan php mysql
E commerce dengan php mysqlE commerce dengan php mysql
E commerce dengan php mysql
 
Tugas 3 – 0317 (individu)
Tugas 3 – 0317 (individu)Tugas 3 – 0317 (individu)
Tugas 3 – 0317 (individu)
 
Modul Pelatihan CodeIgniter Dasar
Modul Pelatihan CodeIgniter DasarModul Pelatihan CodeIgniter Dasar
Modul Pelatihan CodeIgniter Dasar
 
Modul 05 Framework CodeIgniter.pdf
Modul 05 Framework CodeIgniter.pdfModul 05 Framework CodeIgniter.pdf
Modul 05 Framework CodeIgniter.pdf
 
pemrograman internet
pemrograman internetpemrograman internet
pemrograman internet
 
Mari belajar vue js
Mari belajar vue jsMari belajar vue js
Mari belajar vue js
 

Plus de Denny Yahya

Modul rekayasa-perangkat-lunak-lunak-ver-1
Modul rekayasa-perangkat-lunak-lunak-ver-1Modul rekayasa-perangkat-lunak-lunak-ver-1
Modul rekayasa-perangkat-lunak-lunak-ver-1Denny Yahya
 
Tipe tipe dan model client server-plus
Tipe tipe dan model client server-plusTipe tipe dan model client server-plus
Tipe tipe dan model client server-plusDenny Yahya
 
Part 15 triggerr
Part 15  triggerrPart 15  triggerr
Part 15 triggerrDenny Yahya
 
Part 14 store proceduree
Part 14  store procedureePart 14  store proceduree
Part 14 store procedureeDenny Yahya
 
Part 13 function dan user defined function
Part 13  function dan user defined functionPart 13  function dan user defined function
Part 13 function dan user defined functionDenny Yahya
 
Part 11 table join
Part 11  table joinPart 11  table join
Part 11 table joinDenny Yahya
 
Part 9 10 - retrieving data lant..
Part 9 10 - retrieving data lant..Part 9 10 - retrieving data lant..
Part 9 10 - retrieving data lant..Denny Yahya
 
Part 7 ddl dan dml lant..retriving data up
Part 7  ddl dan dml lant..retriving data upPart 7  ddl dan dml lant..retriving data up
Part 7 ddl dan dml lant..retriving data upDenny Yahya
 
Part 6 ddl dan dml (case studiies)
Part 6  ddl dan dml (case studiies)Part 6  ddl dan dml (case studiies)
Part 6 ddl dan dml (case studiies)Denny Yahya
 
Part 5 integritas data lanj..
Part 5  integritas data lanj..Part 5  integritas data lanj..
Part 5 integritas data lanj..Denny Yahya
 
Part 3 4 - dbms pada sql server 2005 express
Part 3 4 - dbms pada sql server 2005 expressPart 3 4 - dbms pada sql server 2005 express
Part 3 4 - dbms pada sql server 2005 expressDenny Yahya
 
Part 2 kenalan &amp; instalasi sql server 2005 express
Part 2  kenalan &amp; instalasi sql server 2005 expressPart 2  kenalan &amp; instalasi sql server 2005 express
Part 2 kenalan &amp; instalasi sql server 2005 expressDenny Yahya
 
Pengenalan IP Addres
Pengenalan IP AddresPengenalan IP Addres
Pengenalan IP AddresDenny Yahya
 
Soal Latihan OSI Layer
Soal Latihan OSI LayerSoal Latihan OSI Layer
Soal Latihan OSI LayerDenny Yahya
 
K1 komunikasi daring
K1   komunikasi daringK1   komunikasi daring
K1 komunikasi daringDenny Yahya
 

Plus de Denny Yahya (20)

Modul rekayasa-perangkat-lunak-lunak-ver-1
Modul rekayasa-perangkat-lunak-lunak-ver-1Modul rekayasa-perangkat-lunak-lunak-ver-1
Modul rekayasa-perangkat-lunak-lunak-ver-1
 
Tipe tipe dan model client server-plus
Tipe tipe dan model client server-plusTipe tipe dan model client server-plus
Tipe tipe dan model client server-plus
 
Part 15 triggerr
Part 15  triggerrPart 15  triggerr
Part 15 triggerr
 
Part 14 store proceduree
Part 14  store procedureePart 14  store proceduree
Part 14 store proceduree
 
Part 13 function dan user defined function
Part 13  function dan user defined functionPart 13  function dan user defined function
Part 13 function dan user defined function
 
Part 12 t-sql
Part 12  t-sqlPart 12  t-sql
Part 12 t-sql
 
Part 11 table join
Part 11  table joinPart 11  table join
Part 11 table join
 
Part 9 10 - retrieving data lant..
Part 9 10 - retrieving data lant..Part 9 10 - retrieving data lant..
Part 9 10 - retrieving data lant..
 
Part 7 ddl dan dml lant..retriving data up
Part 7  ddl dan dml lant..retriving data upPart 7  ddl dan dml lant..retriving data up
Part 7 ddl dan dml lant..retriving data up
 
Part 6 ddl dan dml (case studiies)
Part 6  ddl dan dml (case studiies)Part 6  ddl dan dml (case studiies)
Part 6 ddl dan dml (case studiies)
 
Part 5 integritas data lanj..
Part 5  integritas data lanj..Part 5  integritas data lanj..
Part 5 integritas data lanj..
 
Part 3 4 - dbms pada sql server 2005 express
Part 3 4 - dbms pada sql server 2005 expressPart 3 4 - dbms pada sql server 2005 express
Part 3 4 - dbms pada sql server 2005 express
 
Part 2 kenalan &amp; instalasi sql server 2005 express
Part 2  kenalan &amp; instalasi sql server 2005 expressPart 2  kenalan &amp; instalasi sql server 2005 express
Part 2 kenalan &amp; instalasi sql server 2005 express
 
K3LH dalam PDF
K3LH dalam PDFK3LH dalam PDF
K3LH dalam PDF
 
Pengenalan IP Addres
Pengenalan IP AddresPengenalan IP Addres
Pengenalan IP Addres
 
Soal Latihan OSI Layer
Soal Latihan OSI LayerSoal Latihan OSI Layer
Soal Latihan OSI Layer
 
K1 komunikasi daring
K1   komunikasi daringK1   komunikasi daring
K1 komunikasi daring
 
Flowchart
FlowchartFlowchart
Flowchart
 
Html dasar 123
Html dasar 123Html dasar 123
Html dasar 123
 
Modul c-revisi
Modul c-revisiModul c-revisi
Modul c-revisi
 

Dernier

BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024ssuser0bf64e
 
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptxSusanSanti20
 
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxOPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxDedeRosza
 
Materi Sosialisasi US 2024 Sekolah Dasar pptx
Materi Sosialisasi US 2024 Sekolah Dasar pptxMateri Sosialisasi US 2024 Sekolah Dasar pptx
Materi Sosialisasi US 2024 Sekolah Dasar pptxSaujiOji
 
Memperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptxMemperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptxsalmnor
 
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptxTEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptxMOHDAZLANBINALIMoe
 
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKAMODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKAAndiCoc
 
Regresi Linear Kelompok 1 XI-10 revisi (1).pptx
Regresi Linear Kelompok 1 XI-10 revisi (1).pptxRegresi Linear Kelompok 1 XI-10 revisi (1).pptx
Regresi Linear Kelompok 1 XI-10 revisi (1).pptxRizalAminulloh2
 
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdfModul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdfKartiniIndasari
 
power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"baimmuhammad71
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxssuser35630b
 
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdfKanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdfAkhyar33
 
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat UI 2024
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat  UI 2024Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat  UI 2024
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat UI 2024editwebsitesubdit
 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfJarzaniIsmail
 
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfProv.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfIwanSumantri7
 
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptPpsSambirejo
 
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptxAKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptxnursariheldaseptiana
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfWidyastutyCoyy
 

Dernier (20)

BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
BAHAN PAPARAN UU DESA NOMOR 3 TAHUN 2024
 
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
 
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxOPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
 
Materi Sosialisasi US 2024 Sekolah Dasar pptx
Materi Sosialisasi US 2024 Sekolah Dasar pptxMateri Sosialisasi US 2024 Sekolah Dasar pptx
Materi Sosialisasi US 2024 Sekolah Dasar pptx
 
Memperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptxMemperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptx
 
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptxTEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
 
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKAMODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
 
Regresi Linear Kelompok 1 XI-10 revisi (1).pptx
Regresi Linear Kelompok 1 XI-10 revisi (1).pptxRegresi Linear Kelompok 1 XI-10 revisi (1).pptx
Regresi Linear Kelompok 1 XI-10 revisi (1).pptx
 
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdfModul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
 
power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"power point bahasa indonesia "Karya Ilmiah"
power point bahasa indonesia "Karya Ilmiah"
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
 
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdfKanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
 
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
 
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
 
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat UI 2024
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat  UI 2024Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat  UI 2024
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat UI 2024
 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
 
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfProv.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
 
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
 
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptxAKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
 

Belajar framework code igniter xii rpl

  • 1. Belajar PHP dengan Framework Code Igniter Akhmad Sofwan sofwan@sofwan.net http://www.sofwan.net Lisensi Dokumen: Copyright © 2003-2007 IlmuKomputer.Com Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com. PHP adalah sebuah bahasa pemrograman web yang popular, tangguh dan dapat di peroleh secara gratis. Belajar PHPcukup menyenangkan, karena bahasa ini tergolong mudah untuk di pelajari. Untuk mempermudah dan mempercepat pengembangan aplikasi dengan PHP, banyak bermunculan framework PHP, satu di antara nya adalah Code Igniter. Pendahuluan Code Igniter (CI) (www.codeigniter.com) adalah salah satu framework php yang tangguh dan popular. Code Igniter tergolong framework dengan ukuran kecil dan cukup mudah di kuasai. CI juga datang dengan manual yang tergolong lengkap. Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2007 IlmuKomputer.Com 1
  • 2. BAB I Mengenal dan Instalasi Code Igniter. I. Selayang Pandang Code Igniter 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. II. Mendapatkan Code Igniter Code Igniter dapat di peroleh secara gratis, dengan mendownload nya di www.codeigniter.com. Versi saat ini adalah versi 1.7.2. III. Instalasi Code Igniter 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. IV. Konsep Model-View-Controller (MVC) Konsep 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. Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2007 IlmuKomputer.Com 2
  • 3. V. Struktur file CI 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 : CI System Application cache codeigniter database fonts helpers language libraries logs plugins Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2007 IlmuKomputer.Com User_Guide scaffolding 3
  • 4. BAB II Coding dengan Code Igniter 1. Membuat “Hello World” di CI Berikut kita akan mempraktekan pemrograman php dengan CI. Kita akan menampilkan tulisan “Hello World” ke dalam browser kita. Langkah-langkah nya adalah sbb : 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. 2. Membuat Form dengan CI 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'); } Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2007 IlmuKomputer.Com 4
  • 5. 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'); 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); Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2007 IlmuKomputer.Com 5
  • 6. - form_submit('my submit','OK'); identik dengan : <input type=”submit” value=”OK”> - form_reset Sama penggunaan nya dengan form_reset. 3.Menggunakan library CI A. Library Database. Menggunakan library ini, kita perlu mengaktifkan sebelum nya, dengan cara : $this->load->database() atau dengan $this->load->library('database'); Untuk loading otomatis, kita perl mengaktifkan library tsb dengan cara memberikan perintah $this>load->library('database'); 1. Query standard dengan hasil multiple (object version) $query=”select nama,alamat,telp from mahasiswa”; $hasil=$this->db->query(“$query”); foreach ($hasil as $row) { echo $row->nama; echo $row->alamat; echo $row->telp; } echo “Hasil Nilai :”. $hasil->num_rows(); 2. Query standard dengan hasil multiple (Array version) $query=”select nama,alamat,telp from mahasiswa”; $hasil=$this->db->query(“$query”); foreach ($hasil as $row) { echo $row['nama']; echo $row['alamat']; echo $row['telp']; } echo “Hasil Nilai :”. $hasil->num_rows(); 3. Query dengan hasil tunggal Untuk menampilkan sebuah hasil query, kita dapat menggunakan syntax sbb : $query->row() Contoh : $query=”select nama from mahasiswa limit 1”; $hasil=$this->db->query(“$query”); $hasilnya=$hasil->row(); echo $hasilnya->nama; 4. Query Bindings Yaitu membuat query dengan nilai yang dapat berubah-ubah. $sql=”select * from mahasiswa where nama=? And kota=?”; $this->db->query($sql,array('andi','jakarta'); Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2007 IlmuKomputer.Com 6
  • 7. 5. Active Record Class CI menggunakan teknik active record, di samping juga dapat memproses perintah sql. Cara ini adalah cara lain yang di gunakan di CI untuk memproses query. Perintah-perintah di dalam Active record class adalah sbb : a. Selecting Data - $this->db->get() Fungsi : Untuk menampilkan semua isi tabel mahasiswa. Contoh : - $this->db->get('mahasiswa'); // Sama dengan : select * from mahasiswa. Parameter pertama dan kedua memuat limit dan offset, yaitu : - $query=$this->db->get('mytable',10,20) Menghasilkan : select * from mytable limit 10,20 - $this->db->get_where(); Fungsi : Untuk menampilkan semua isi tabel dengan di tambah kondisi where Contoh : $this->db-> get_where ('mytable',array('id'=>$id),$limit,$offset); // Sama dengan : “select * from mytable where id='$id' limit 20, 10”; - $this->db->select(); Fungsi : Untuk memilih tabel yang akan di proses dengan perintah select. Contoh : $this->db->select('nama,nilai,alamat'); $query=$this->db->get('mahasiswa); // Sama dengan : select nama,nilai,alamat from mahasiswa; - $this->db->from(); Fungsi : Untuk memilih tabel. Contoh : $this->db->select('nama,nilai,alamat'); $this->db->from('mahasiswa'); $query=$this->db->get(); // Sama dengan : select nama,nilai,alamat from mahasiswa; - $this->db->join(); Fungsi : Untuk melakukan perintah join terhadap 2 atau lebih tabel. Contoh : $this->db->select(“*”); $this->db->from(“nilai”); $this->db->join(“mahasiswa”,”mahasiswa.nim=nilai.nim”); $query=$this->db->get(); // Sama dengan : “select * from nilai join mahasiswa on mahasiswa.nim=nilai.nim”; - $this->db->where(); Fungsi : Untuk menerapkan kondisi where suatu syntax query. Contoh : $this->db->where('nama','opan'); Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2007 IlmuKomputer.Com 7
  • 8. $query= $this->db->get('mahasiswa'); // sama dengan : “select * from mahasiswa where nama='opan'”; - $this->db->like(); Fungsi : Menyatakan syntax like ke dalam query. Contoh : $this->db->like('nama','sofwan'); $query=$this->db->get(“mahasiswa”); // sama dengan : “select * from mahasiwa where nama like '%sofwan%”; - $this->db->group_by() Fungsi : Menambahkan perintah group by pada query. Contoh : $this->db->group_by(“kota”); $query=$this->db->get(“mahasiswa”); // Sama dengan : select * from mahasiswa group by kota”; b.Inserting Data - $this->db->insert(); Fungsi : Untuk menginsert data ke dalam sebuah tabel. Kita dapat menggunakan data yang akan di insert berupa array atau object. Contoh, menggunakan array : $data=array( 'nim'=>'0811500292', 'nama'=>'ali', 'kota'=>'jakarta'); $this->db->insert('mahasiswa',$data); Contoh menggunakan Object : class kelasku { var $nim=”0811500292”, var $nama=”ali”, var $kota=”jakarta”} $obj=new kelasku; $this->db->insert(“mahasiswa”,$obj); Kedua contoh di atas sama dengan perintah : // insert into mahasiswa (nim,nama,kota) values('0811500292','ali','jakarta'); - $this->db->set(); Fungsi : Fungsi ini mengambil data untuk di lakukan perintah insert dan update. Contoh : $this->db->set('nama',$nama); $this->db->insert('mahasiswa'); // Sama dengan : insert into mahasiswa (nama) values ('{$nama}'); c.Updating Data - $this->db->update(); Fungsi : Untuk update data $data=array( Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2007 IlmuKomputer.Com 8
  • 9. 'nim'=>'$nim', 'nama'=>'$nama', 'kota'=>'$kota'); $this->db->where('id',$id); $this->db->update('mahasiswa',$data); // Sama dengan : update mahasiswa set nim=”$nim”,nama=”$nama”,kota=”$kota” where id=”$id”; Atau dapat juga dengan menggunakan object. Class kelasku { var $nim=”$vnim”, var $nama=”$vnama”, var $kota=”$vkota”; } $object = new kelasku; $this->db->where ('id',$id); $this->db->update (“mahasiswa”,$object); d.Deleting Data - $this->db->delete() Fungsi : Menghapus data di dalam query contoh : $this->db->delete(“mahasiswa”,array('nim'->$nim)); // Sama dengan : delete mahasiswa where nim=”$nim” B. Library E-mail Berikut adalah contoh setting e-mail : $this->load->library(“email”); // Kita perlu meload library e-mail di dalam controller atau di taruh di autoload.php $this->email->from(“sofwan@sofwan.net”,”AkhmadSofwan”); $this->email->to(“sofwan@sofwan.net”); $this->email->cc(“wansofwan@yahoo.co.id”); $this->email->bcc(“wansofwan@gmail.com”); $this->email->subject(“Test Email”); $this->email->message(“Hallo apa kabar nich … ?”); $this->email->send(); Setting E-mail : Setting e-mail di set secara default di dalam file config.php. Kita dapat melakukan setting manual seperti contoh di bawah ini : $config[“protocol”]=”sendmail”; $config[“mailpath”]=”/usr/sbin/sendmail”; $config[“charset”]=”iso-8859-1”; $config[“wordwrap”]=TRUE; $this->email->initialize($config); Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2007 IlmuKomputer.Com 9
  • 10. C.Library UploadingFile Adalah library untuk upload file ke server dan di simpan di folder tertentu. Folder tempat penyimpanan file di buat write accessible. Ukuran max di php.ini juga di atur agar sesuai dengan yang kita inginkan. Perhatikan baris berikut pada php. file_uploads=on // Buat menjadi on post_max_size = 2M // Edit ukuran file nya sesuai dengan yang anda inginkan. upload_tmp_dir=”/opt/lampp/htdocs” // Folder ini harus write accssible Setting upload nya adalah sbb : $config['upload_path']='./uploads/'; // Folder penyimpanan file. Musti Write accessible $config['allowed_types']='gif|jpg|png'; $config['max_size']='100'; $config['max_width']='1024'; $config['max_height']='768'; $this->load->library('upload',$config); // Jika kita meletakkan library uploading filedi dalamfile autoload.php, maka syntax di bawah ini yang perlu kita taruh : $this->upload->initialize($config); $this->upload->do_upload() Fungsi : Untuk melakukan eksekusi uploading file Contoh : <?php class Upload extends Controller { function Upload() { parent::Controller(); $this->load->helper(array('form', 'url')); } 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); Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2007 IlmuKomputer.Com 10
  • 11. } else { $data = array('upload_data' => $this->upload->data()); $this->load->view('upload_success', $data); } } } ?> Agar form dapat melakukan uploading file, maka tipe enctype suatu form haruslah berbentuk multipart/form-data. <form method=”post” enctype=”multipart/form-data”> D.Pagination Library Pagination umum nya di gunakan di dalam penampilan suatu database yang berbentuk tabel. Contoh penggunaan Pagination : $this->load->library(“pagination”); // Loading library pagination $config[“base_url”]=”http://localhost/dkpnew”; // base_url $config[“total_rows”]=”100”; // Total baris $config[“per_page”]= “20”; // per page $this->pagination->initialize($config); echo $this->pagination->create_links(); E. HTML Table Library Library ini membuat tabel secara otomatis dari data yang anda retrieve. Contoh : $this->load->library(“table”); $data=array( array(“Nim”,”Nama”,”Kota”), array(“090012”,”Andi”,”Jakarta”), array(“090014”,”Umar”,”Jakarta”), array(“090013”,”Udin”,”Semarang”)); echo $this->table->generate($data); Menampilkan tabel dari data yang di peroleh dari database. Contoh nya adalah sbb : $this->load->library(“table”); $query=$this->db->query(“select * from mahasiswa”); echo $this->table->generate($query); F. Session Library Session berguna untuk menyimpan data pengunjung situs ke dalam cookie secara otomatis. Contoh Session : $data=array( 'nim'=>'0900189', 'nama'=>'Andi Hasan', 'logged_in'=>TRUE); $this->session->set_userdata($data); G.Menghapus session $this->session->unset_userdata('some_name'); Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2007 IlmuKomputer.Com 11
  • 12. - Flash data Flashdata atau session data hanya tersedia untuk request server selanjutnya dan kemudian di hapus secara otomatis. Hal ini sangat berguna dan di gunakan untuk informasi atau status pesan. Untuk menambah flash data : $this->session->set_flashdata(“item”,”value”); Untuk membaca flashdata variabel, dapat di gunakan : $this->session->flashdata(“item”); Untuk menghancurkan session. $this->session->sess_destroy(); 4. Menggunakan Helper CI A. E-mail Helper Helper E-mail ini di sediakan untuk membantu developer bekerja dengan E-mail. Syntax yang ada pada helper ini adalah : 1. $this->load->helper(“email”); Untuk loading helper email. 2. valid_email('email'); Untuk mengecek format e-mail yang benar. Contoh : if (valid_email(“sofwan@sofwan.net”)) { echo “Mail is valid”; } else { echo “Mail is invalid”;} 3. send_email(“recipient”,”subject”,”message”) Syntax untuk Mengirim e-mail. B. Form Helper Helper Form ini di sediakan untuk membantu developer bekerja dengan form. Syntax yang ada pada helper ini adalah : 1. form_open() Fungsi : Untuk membuat form pada awal form. Sama dengan <form method=”post” action=”<?=base_url();?>index.php/input”> 2. form_open_multipart() Fungsi : Sama dengan form_open(). 3. form_input() Fungsi : Untuk membentuk fungsi input text Contoh : $data=array(“name” => “username”, “size” => “10”); echo form_input ($data) Sama dengan : <input type=”text” name=”username” size=”10”> 4. form_password() Sama dengan form_input. Hanya saja form ini masukkan nya berupa password. Sama dengan : <input type=”password”> C.Cookie Helper () Cookie Helper ini di sediakan untuk membantu developer bekerja dengan cookie. Syntax yang ada pada helper ini adalah : $this->load->helper(“cookie”); Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2007 IlmuKomputer.Com 12
  • 13. 1. set_cookie() Fungsi : Setting cookie 2. get_cookie() Fungsi : Fetch Cookie 3. delete_cookie() Fungsi : Menghapus Cookie D. URL Helper() URL Helper ini berguna untuk membantu Developer bekerja dengan URL. Syntax yang ada di dalam URL Helper, yaitu : 1.base_url() Fungsi : Mengembalikan base_url, seperti yang tertulis di dalam file config.php 2. uri_string() Fungsi : Mengembalikan URI Segment di halaman yang berisi fungsi ini. Jika URL anda : http://sofwan.net/blog/comments/123, Fungsi akan mengembalikan nilai : blog/comments/123 3.anchor() Fungsi : membuat standard html anchor link berdasarkan url local anda. Contoh : echo anchor (“berita/local/123”,”berita”); <a href=”http://localhost/local/123” >Click Here</a> 4. redirect() Fungsi : Untuk redirect ke function tertentu. redirect(“form/index”); Maka akan menuju ke syntax tertentu. E. Security Helper() 1. xss_clean() Menyediakan Cross Site Script Hack filtering. Function ini termasuk juga ke dalam input class. 2. dohash() Akan membentuk SH1 atau MD5 encrypting password. Contoh : $str =dohash($str) // SHA1 $str =dohash($str,'md5') // MD5 5. Insert CSS dan JavaScript di CI. Insert CSS dan Java Script di CI di letakkan di view, yaitu dengan cara : - Insert CSS : <link rel=”stylesheet” href=”<?=base_url();?>css/mainutama.css” type=”text/css” media=”screen, projection” /> Pada script di atas, file css dengan nama file:mainutama.css yang berada di folder css di insert. Letak folder css sendiri ada nya di root. - Insert JavaScript : <script type="text/javascript" src="<?=base_url();?>javascript/addhtmlcontrols.js"></script> Pada script di atas, file javascript dengan nama file:addhtmlcontrols.js yang berada di folder javascript di insert. Letak folder javascript sendiri ada nya di root. 6. Membuat Tampilan Design. Tampilan design di biasanya di buat dengan menggunakan CSS dan html/xhtml. File Css dan Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2007 IlmuKomputer.Com 13
  • 14. html/xhtml sendiri di letakkan atau di insert pada view. Image juga dapat di letakkan pada folder terpisah dan di letakkan di hierarki utama CI, sama level nya dengan system, namun dapat juga di letakkan di mana saja, asalkan penunjukkan url nya sesuai. Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2007 IlmuKomputer.Com 14
  • 15. BAB III Setting di CI dan lainnya di CI 1. Menggunakan library Third party CI dapat di extend, yang salah satu nya dengan menggunakan library dari luar. Cara nya yaitu dengan mengcopy file library ke dalam folder system/libraries. Berikut adalah contoh penerapan penggunaan library report pdf. Aplikasi ini adalah library php yang berfungsi untuk membentuk file pdf, termasuk penggunaan report pdf yang dapat di cetak. Cara-cara nya adalah sbb, yaitu : a. Download aplikasi Cezpdf dari http://www.ros.co.nz/pdf b. Rename file : class.ezpdf.php menjadi cezpdf.php. Copy file cezpdf.php dan class.pdf.php ke dalam folder system/libraries. c. Load library cezpdf, dengan syntax : $this->load->library('cezpdf.php'); d. Library pdf dapat di gunakan. Cara penggunaan nya dengan membaca readme.pdf yang di sertakan di aplikasi hasil download nya. 2. Upload CI di Web Hosting Setelah suatu project web sudah kita selesaikan di localhost atau web server local. Kita akan menaikkan/upload aplikasi CI tsb ke Web Hosting kita. Cara untuk upload ke web hosting adalah sbb : a. Copy kan keseluruhan folder CI ke dalam folder directory web hosting kita. b. Edit file config.php dan database.php. Di sesuaikan dengan konfigurasi web hoting dan database nya.Misal url kita adalah : http://www.budi.com, maka di base_url yang ada di file config.php nilai nya adalah http://www.budi.com c. Edit file routes.php yang ada di folder /system/application/config. Ubah nilai $route['default_controller'] nya menjadi controller default yang kita miliki. Hal ini akan berdampak, jika kita mengetik url : http://www.budi.com, maka akan langsung tampil page utama dari web kita. 3. URI Routing Reserved Routes. Terdapat 2 reserved routes, yaitu : $route['default_controller']='welcome'; Pada contoh di atas, default controller yang di gunakan adalah class welcome. Jika anda menggunakan routes yang berbeda, maka hendak nya nilai 'default_controller' di atas dapat segera di ubah, agar jika anda memanggil url nya saja, maka akan langsung mengarah ke default controller anda. 4. Membuat Library sendiri Library di simpan di dalam folder system/libraries. Di dalamhal mengubah library, kita dapat melakukan hal-hal berikut, yaitu : a. Membuat Library baru. b. Menambah/extends native library. c. Merubah Native Libraries. Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2007 IlmuKomputer.Com 15
  • 16. 5. Loading Plugin Plugin hampir sama dengan Helper, bedanya Plugin memiliki 1 function, sedangkan Helper terdiri dari kumpulan function. Cara loading plugin, yaitu : $this->load->plugin('name'). Plugin juga dapat di load secara otomatis dengan cara memasukkan array plugin di file autoload.php di folder system/application/config. 6 Scaffolding Scaffolding di gunakan untuk bekerja dengan sebuah tabel dan dapat di add, edit dan delete. Penggunaan Scaffolding untuk mempermudah proses pembuatan aplikasi tsb. Penggunaan Scaffolding di letakkan di Controller. Berikut adalah contoh penerapan Scaffolding di dalam CI, yaitu : <? class Blog extends Controller { function Blog() { parent::Controller(); $this->load->scaffolding('table_name'); } } ?> Penutup Demikian lah artikel sedikit pengetahuan mengenai Code Igniter, semoga dapat bermanfaat. Referensi - Code Igniter User Guide : http://codeigniter.com/user_guide/ Lisensi : http://codeigniter.com/user_guide/license.html Biografi Penulis Akhmad Sofwan. Menyelesaikan S1 Teknik Informatika di Universitas Budi Luhur, Jakarta. Bidang peminatan di Ilmu Komputer adalah Web Development , Software Engineering dan Manajemen Sistem Informasi serta Linux. Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2007 IlmuKomputer.Com 16