DAFTAR ISI
1
•••
BAGIAN I INTRODUCTION
Pada bulan juli 2013, EllisLab mengumumkan Definisi Codeigniter
bahwa mereka mencari pemilik baru untuk
Codeigniter karena internal mereka sendiri tidak Sebuah Framework PHP
memiliki cukup fokus untuk terus yang bersifat open source
mengembangkan Codeigniter. Akhirnya pada dan menggunakan konsep
bulan Oktober 2014, kepemilikan Codeigniter MVC (Model, View,
berpindah tangan kepada British Columbia Controller). Codeigniter
Institute of Technology, salah satu sekolah tinggi biasa disingkat CI
teknologi di Kanada. tujuannya memudahkan
developer untuk membuat
Setelah hampir lima bulan lamanya sejak aplikasi web dengan
peralihan kepemilikan, BCIT akhirnya merilis cepat dan mudah.
Codeigniter 3.0 Dan berikut adalah perubahan Codeigniter dirilis pada 28
codeigniter 2 menjadi codeigniter 3 : Februari 2006. Versi terakhir
• Codeigniter 3 memerlukan PHP versi 5.1.6 atau adalah 3.1.10 dan bisa di
di atasnya. download di
• Penamaan Model, Controller di Codeigniter 3 www.codeigniter/downloa
harus di awali huruf besar. d . Codeigniter ditulis
• Driver databasenya kini memiliki refactoring dengan Bahasa
yang lebih luas. Sekarang default database Pemograman PHP.
driver nya menggunakan mysqli, tidak lagi
menggunakan mysql.
• Penambahan user agent Windows 7, 8, 8.1, 10,
Android, Blackberry, iOS.
• Update perbaikan di mimes.php
• Update penulisan class dengan PHP 5 style
• Pindah path halaman error di
application/view/errors
• Pindah Log Class di application/core
• Update perbaikan di beberapa Library dan
Helper
• Perbaikan file dokumentasi
Definisi Codeigniter
2
•••
Definisi Framework
3
•••
Cara Kerja
1. Browser request ke Controller
2. Controller akan menerima request
dan akan memproses apa yang di
request oleh Browser
3. Jika Browser request yang
berhubungan dengan database
untuk manipulasi data (seperti :
insert, update, delete, search) maka
Controller akan memerintahkan
Model untuk melakukan proses
tersebut. Setelah itu Controller
memerintah View untuk
menampilkan request tersebut
dalam bentuk HTML.
Mengapa Codeigniter?
1. Open Source
2. Performa sangat cepat
3. Konfigurasi yang mudah
4. Banyak Komunitas dan Pengguna
5. Terdapat dokumentasi penggunaan
6. Banyak Fitur seperti Helper, Library dll
7. Kemudahan dalam penggunaan
8. Keamanan yang cukup baik
9. dlll
4
•••
BAGIAN II INSTALATION
Untuk membuat website dengan Codeigniter kita harus mendownload
versi terbaru Codeigniter, pada saat pembuatan modul ini Codeigniter
sudah mencapai versi 3.1.11
Folder “latihanci_nama”
5
•••
Sampai langkah ini, proses Instalasi Codeigniter sudah selesai, namun ada
beberapa konfigurasi lain yang harus kita lakukan. Untuk saat ini kita bisa
uji Codeigniter apakah sudah bisa digunakan. Pastikan bahwa service
Apache sebagai webserver sudah di aktifkan di XAMPP.
6
•••
Config.php
Buka folder config dan kita lakukan konfigurasi pada file config.php
pertama kali dengan cara double klik file config.php pada Sublime Text.
Pada file config.php lakukan perubahan bagian base_url pada baris ke 26.
Sebelum di rubah seperti ini
$config[‘base_url’]=’’;
Dirubah menjadi
$config[‘base_url’]=’http://localhost/latihanci_nama’;
7
•••
Bagian ini berfungsi untuk memberikan informasi url project atau jika sudah
memiliki domain, base_url ini di isi dengan alamat domain.
Autoload.php
$autoload[‘helper’]=array();
Dirubah menjadi
$autoload[‘helper’]=array(‘url’);
8
•••
Folder Controllers
Folder Models
Folder Views
9
•••
Controller
Models
Pada Codeigniter yang sudah kita install tadi, terdapat folder models yang
nantinya file-file model yang kita buat disimpan difolder tersebut. Namun
folder models tersebut belum terdapat file-file models.
Views
10
•••
Untuk latihan, kita akan coba buat controller kita sendiri, kita akan buat
controller dengan nama “Home.php” disimpan di folder Controller,
Kemudian kita ketik script dibawah ini.
<?php
defined('BASEPATH') OR exit('No direct script access
allowed');
class Home extends CI_Controller {
public function index()
{
echo "Saat ini kita sedang berada pada Controllers
Home";
}
}
?>
Setelah script ini jadi kita panggil melalui browser dengan mengetikan url
localhost/latihanci_nama/index.php/home
<?php
defined('BASEPATH') OR exit('No direct script access
allowed');
class Home extends CI_Controller {
public function index()
{
echo "Saat ini kita sedang berada pada Controllers
Home";
}
11
•••
Bagian script yang ditebalkan adalah function yang baru kita buat, untuk
memanggil function yang baru kita buat dengan mengetik nama function
setelah nama Controller. Dalam contoh nama Controller adalah Home
dan nama function adalah codeigniter, sehingga di browser url kita ketik
sebagai berikut :
localhost/latihanci_bagus/index.php/home/codeigniter
12
•••
<?php
defined('BASEPATH') OR exit('No direct script access
allowed');
class Home extends CI_Controller {
public function index()
{
echo "Saat ini kita sedang berada pada Controllers
Home";
}
public function codeigniter()
{
echo "Saat ini kita sedang berada pada Controllers
Home dan Function codeigniter";
}
public function bootstrap()
{
echo "Saat ini kita sedang berada pada Controllers
Home dan Function bootstrap";
}
}
?>
Membuat Views
13
•••
}
?>
14
•••
Controller : Home.php
View :
halaman_home
Browser :
Menampilkan View
15
•••
Models
Membuat Database
Buka kembali XAMPP lalu aktifkan service mysql seperti gambar dibawah
ini
Setelah service mysql aktif lalu buka phpMyAdmin melalui browser dengan
mengetikkan URL localhost/phpMyAdmin
16
•••
17
•••
Membuat Table
Isikanlah seluruh kolom atau field yang sudah kita susun lengkap dengan
jumlah kolom beserta lebar kolomnnya, untuk menentukan primary key
sebuah table, anda klik pada bagian index, kemudian pilih PRIMARY,
pastikan anda memilih primary key sesuai dengan yang sudah di
rencanakan. Untuk table ini kita membuat table tbl_mahasiswa.
18
•••
Setelah semua kolom sudah diisikan, klik tombol save. Ilustrasi gambar bisa
dilihat pada gambar berikut
Jika proses ini selesai, anda akan melihat di bagian kiri halaman
phpMyAdmin sudah ada table baru yang kita buat yaitu table
tbl_mahasiswa yang berada dalam database siakad
19
•••
Akan muncul halaman pengisian data dan isikan data sample yang di
inginkan, sebagai contoh disini kita memasukan 2 sample data. lalu klik
tombol Go untuk menyimpan data yang sudah di inputkan, perhatikan
contoh pada gambar.
Untuk melihat data yang sudah di inputkan, anda klik menu Browse pada
halaman phpMyAdmin nanti akan muncul.
20
•••
Sampai disini kita selesai membuat database dan table latihan kita,
saatnya kita kembali pada pembahasan Models CodeIgniter.
Latihan awal kita adalah untuk menampilkan data yang ada pada
database pada halaman website melalui CodeIgniter.
Ada tiga jenis file yang harus kita siapkan yaitu: Model, View dan Controller
atau yang kita kenal dengan MVC
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'siakad',
'dbdriver' => 'mysqli',
21
•••
$autoload['libraries'] = array('database');
Membuat Model
22
•••
Membuat Controller
23
•••
Keterangan Script :
$this->load->model('MdlMahasiswa');
Untuk memanggil function tampilData, hasil dari data yang diload disimpan
dalam bentuk array $data.
$this->load->view('view_mahasiswa',$data);
Untuk meload data yang ada dari array $data kemudian ditampilkan
kedalam view.
Sampai disini kita sudah selesai mempelajari bagaimana cara
menampilkan data di CodeIgniter, untuk menguji hasil yang sudah kita
kerjakan tadi, silahkan ketik url di bawah ini di browser.
localhost/latihanci_bagus/index.php/mahasiswa
24
•••
Keterangan script
function tambah_mahasiswa()
if(isset($_POST['submit'])) {
// proses input
$this->ModelMahasiswa->tambah_data();
redirect('ControlMahasiswa');
}
else {
$this->load->view('ViewMahasiswa/form_tambah');
}
25
•••
$this->load->model('ModelMahasiswa');
$this-> ModelMahasiswa ->tambah_data();
redirect('ControlMahasiswa');
aktifitas yang lain adalah, artinya jika tombol submit tidak di klik, maka
aplikasi akan meload view form_tambah yang berada dalam folder
ViewMahasiswa.
$this->load >view('ViewMahasiswa/form_tambah');
26
•••
Keterangan Script:
$no=1;
27
•••
Setiap field yang ada dalam table ditampilkan dengan pembacaan setiap
record.
echo "<tr>
<td>$no</td>
<td>$r->nim</td>
<td>$r->nama</td>
<td>$r->alamat</td>
<td>$r->handphone</td>
Kemudian, dibuatkan link Edit dan Delete untuk proses edit dan hapus
data.
<td>".anchor('ControlMahasiswa/edit_mahasiswa/'.$r->nim,'Edit')."</td>
<td>".anchor('ControlMahasiswa/delete_mahasiswa/'.$r-
>nim,'Delete')."</td>
$no++;
28
•••
29
•••
Keterangan script:
Script diatas sama dengan script html biasa, hanya yang membedakan
ada pada bagian
<form action="<?php echo base_url()?>index.php/ControlMahasiswa/
tambah_mahasiswa" method="post">
<!--panggil controller dan functionnya-->, berfungsi untuk memanggil
controller dan function untuk menambah data dalam bentuk url dengan
method post.
<tr>
<td>Handphone</td>
<td><input type="text" name="handphone"
placeholder="Masukkan Handphone" value="<?php echo
$mahasiswa['handphone']?>"></td>
</tr>
<tr>
<td colspan="2"><button type="submit"
name="submit">Simpan</button></td>
</tr>
</table>
</form>
</html>
Keterangan Script
<?php echo
base_url()?>index.php/ControlMahasiswa/edit_mahasiswa/<?PHP echo
$this->uri->segment('3')?> Bagian ini berfungsi untuk memanggil function
edit_mahasiswa dan mengambil data Nim melalui uri (Uniform Resource
Identifier) segment.
<tr>
<td>Nim</td>
<td><input type="text" name="nim" placeholder="Masukkan NIM"
value="<?php echo $mahasiswa['nim']?>"></td>
</tr>
<tr>
<td>Nama</td>
<td><input type="text" name="nama" placeholder="Masukkan
Nama" value="<?php echo $mahasiswa['nama']?>"></td>
</tr>
<tr>
<td>Alamat</td>
<td><input type="text" name="alamat" placeholder="Masukkan
Alamat" value="<?php echo $mahasiswa[‘alamat’]?>"></td>
</tr>
<tr>
<td>Handphone</td>
<td><input type="text" name="handphone"
placeholder="Masukkan Handphone" value="<?php echo
$mahasiswa['handphone']?>"></td>
</tr>
31
•••
<tr>
<td colspan="2"><button type="submit"
name="submit">Simpan</button></td>
</tr>
Bagian script ini berfungsi untuk menampilkan data kedalam form edit,
setiap field record yang ada akan dimunculkan data dari record
database, sesuai dengan query yang di perintahkan melalui model,
contoh untuk menampilkan nama maka digunakan script berikut
Hal yang sama dilakukan juga pada field yang lain, seperti Alamat dan
Nomor Handphone.
function edit_mahasiswa($nim)
{
if(isset($_POST['submit'])) {
$this->ModelMahasiswa->edit_data($nim);
redirect('ControlMahasiswa');
}
else {
$nim=$this->uri->segment(3);
//echo $nim;
$data['mahasiswa'] = $this->ModelMahasiswa-
>get_detail($nim)->row_array();
$this->load-
>view('ViewMahasiswa/form_edit',$data);
}
}
function delete_mahasiswa()
{
$nim=$this->uri->segment(3);
$this->ModelMahasiswa->delete_data($nim);
redirect('ControlMahasiswa');
}
32
•••
Keterangan Script :
if(isset($_POST['submit'])) {
$this->ModelMahasiswa->edit_data($nim);
redirect('ControlMahasiswa');
}
else {
$nim=$this->uri->segment(3);
//echo $nim;
$data['mahasiswa']=$this->ModelMahasiswa->get_detail($nim)-
>row_array();
$this->load->view('ViewMahasiswa/form_edit',$data);
}
$data['mahasiswa']=$this->ModelMahasiswa->get_detail($nim)-
>row_array();
function delete_mahasiswa()
{
$nim=$this->uri->segment(3);
$this->ModelMahasiswa->delete_data($nim);
redirect('ControlMahasiswa');
}
33
•••
$this->ModelMahasiswa ->delete_data($nim);
redirect('ControlMahasiswa');
function tambah_mahasiswa()
{
if(isset($_POST['submit'])) {
// proses input
$this->ModelMahasiswa->tambah_data();
redirect('ControlMahasiswa');
}
else {
$this->load-
>view('ViewMahasiswa/form_tambah');
}
}
34
•••
function edit_mahasiswa($nim)
{
if(isset($_POST['submit'])) {
$this->ModelMahasiswa->edit_data($nim);
redirect('ControlMahasiswa');
}
else {
$nim=$this->uri->segment(3);
//echo $nim;
$data['mahasiswa'] = $this->ModelMahasiswa-
>get_detail($nim)->row_array();
$this->load-
>view('ViewMahasiswa/form_edit',$data);
}
}
function delete_mahasiswa()
{
$nim=$this->uri->segment(3);
$this->ModelMahasiswa->delete_data($nim);
redirect('ControlMahasiswa');
}
}
?>
35
•••
//Edit Data
function edit_data($nim)
{
$data=array(
'nim' => $this->input->post('nim'),
'nama' => $this->input->post('nama'),
'alamat' => $this->input->post('alamat'),
'handphone' => $this->input->post('handphone')
);
$this->db->where('nim',$nim);
$this->db->update('tbl_mahasiswa', $data);
}
//Ambil Data
function get_detail($nim)
{
$param = array('nim' => $nim);
return $this->db-
>get_where('tbl_mahasiswa',$param);
}
//Hapus Data
function delete_data($nim)
{
$this->db->where('nim',$nim);
$this->db->delete('tbl_mahasiswa');
}
}
?>
Keterangan Script:
function tampilData()
{
return $this->db->get('mahasiswa');
}
function tambah_data()
{
$data=array(
'nim' => $this->input->post('nim'),
'nama' => $this->input->post('nama'),
'alamat' => $this->input->post('alamat'),
'handphone' => $this->input->post('handphone')
36
•••
);
$this->db->insert('mahasiswa', $data);
}
$data=array(
'nim' => $this->input->post('nim'),
'nama' => $this->input->post('nama'),
'alamat' => $this->input->post('alamat'),
'handphone' => $this->input->post('handphone'));
function edit_data($nim)
{
$data=array(
'nim' => $this->input->post('nim'),
'nama' => $this->input->post('nama'),
'alamat' => $this->input->post('alamat'),
'handphone' => $this->input->post('handphone')
);
$this->db->where('nim', $nim);
$this->db->update('mahasiswa', $data);
Kemudian data diquery apakah data nim sama sengan nim yang ada
dalam form edit data dengan perintah this->db->where('nim', $nim);
function get_detail($nim)
{
$param = array('nim' => $nim);
return $this->db->get_where('mahasiswa',$param);
}
37
•••
function delete($nim)
{
$this->db->where('nim',$nim);
$this->db->delete('mahasiswa');
}
Jika di klik link Tambah Data, maka akan mucul form untuk
menambah data mahasiswa
38
•••
Jika selesai penambahan data dan tombol simpan di klik maka, data
akan disimpan dan halaman diredirect ke halaman Tabel Mahasiswa.
Proses edit data mahasiswa bisa dilakukan jika dilakukan klik pada link edit
di data mahasiswa yang akan diedit. Data detail mahasiswa akan
ditampilkan dan lakukan edit data mahasiswa seperlunya, kemudian klik
tombol simpan. Setelah proses simpan selesai halaman kembali diredirect
ke halaman Tabel Mahasiswa
39