Anda di halaman 1dari 40

Modul Dasar Codeigniter

Bagus Ali Akbar


MATA KULIAH PEMROGRAMAN WEB (FRAMEWORK)

FAKULTAS ILMU KOMPUTER


UNIVERSITAS SUBANG
2019
•••

DAFTAR ISI

BAGIAN I INTRODUCTION ........................................................................ 2


Definisi Codeigniter ......................................................................... 2
Definisi Framework .......................................................................... 3
Model View Controller .................................................................... 3
Cara Kerja ........................................................................................ 4
Mengapa Codeigniter? ................................................................. 4
BAGIAN II INSTALATION ........................................................................... 5
BAGIAN III CONFIGURATION .................................................................. 7
Config.php....................................................................................... 7
Autoload.php .................................................................................. 8
BAGIAN IV IMPLEMENTASI MVC ............................................................. 9
Controller ....................................................................................... 10
Models ............................................................................................ 10
Views .............................................................................................. 10
BAGIAN V IMPLEMENTASI MVC lanjutan ............................................. 11
Membuat Controller Baru ............................................................ 11
Manambahkan Function dalam Controller ............................... 11
Membuat Views ............................................................................ 13
Models ............................................................................................ 16
Membuat Database ................................................................ 16
Membuat Table ........................................................................ 18
Mengisi Data dalam Tabel ...................................................... 19
Melihat data yang sudah di input .......................................... 20
Mengatur Konfigurasi Database ............................................. 21
Load Library Database ............................................................ 22
Membuat Model ...................................................................... 22
Menampilkan Data dengan membuat view ........................ 23
Membuat Controller ................................................................. 23
BAGIAN VI MEMBUAT CRUD .................................................................. 24
Langkah 1. Membuat Controller ................................................. 24
Langkah 2. Membuat View ......................................................... 26
Langkah 3. Membuat Form Input Data ...................................... 29
Langkah 4. Membuat Form Edit Data ........................................ 30
Langkah 5. Update Controller ..................................................... 32
Langkah 6. Membuat Model ....................................................... 35

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

Secara sederhana dapat diartikan kumpulan dari fungsi-fungsi/prosedur-


prosedur dan class-class untuk tujuan tertentu yang sudah siap digunakan
sehingga bisa lebih mempermudah dan mempercepat pekerjaan seorang
programmer.

Ada beberapa alasan mengapa menggunakan Framework :


• Mempercepat dan mempermudah pembangunan sebuah aplikasi
web
• Relatif memudahkan dalam proses maintenance karena sudah ada
pola tertentu dalam sebuah framework (dengan syarat programmer
mengikuti pola standar yang ada)
• Umumnya framework menyediakan fasilitas-fasilitas yang umum
dipakai sehingga kita tidak perlu membangun dari awal (misalnya
validasi, pagination, session, dll)
• Lebih bebas dalam pengembangan.

Contoh Framework PHP : CI, Laravel, YII, ZendFramework, CakePHP. Dll

Model View Controller

Merupakan suatu konsep yang cukup popular dalam pembangunan


aplikasi web. MVC memisahkan pengembangan aplikasi berdasarkan
komponen utama yang membangun sebuah aplikasi seperti manipulasi
data, user interface dan bagian yang menjadi control aplikasi. Terdapat 3
jenis komponen yang membangun suatu MVC pattern dalam suatu
aplikasi yaitu :

Model => Model merupakan bagian penanganan yang berhubungan


dengan pengelolaan atau manipulasi database. Seperti misalnya
pengambilan data dari database, menginput dan pengolahan database
lainnya. Semua intruksi yang berhubungan dengan pengolahan database
diletakkan didalam model.
View => View merupakan bagian yang menangani halaman user interface
atau halaman yang muncul pada user. Tampilan dari user interface
dikumpulkan pada view untuk memisahkannya dengan controller dan
model sehingga memudahkan web designer dalam melakukan
pengembangan tampilan halaman website.
Controller => Controller merupakan kumpulan instruksi aksi yang
menghubungkan model dan view, jadi user tidak akan berhubungan
dengan model secara langsung, intinya dari view kemudian controller
yang mengolah intruksi.

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

Hasil download Codeigniter biasanya dalam format file zip/rar, kemudian


nanti file tersebut di extract, hasil extract disimpan dalam sebuah folder
“htdocs” yang terletak di C:\xampp\htdocs

Proses extract file Codeigniter

Setelah mengextract Codeigniter lalu rename folder “CodeIgniter-3.1.1”


menjadi “latihanci_nama” Lalu pindahkan folder “latihanci_nama” ke
c:\xampp\htdocs\.

Lihat gambar disamping.

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.

Service Apache Aktif

Jika service apache sudah aktif, saatnya untuk mencoba Codeigniter


melalui browser, buka browser anda dan ketikkan dibrowser :
localhot/latihanci_nama

Jika berhasil akan muncul halaman seperti gambar dibawah ini :

Halaman Welcome to Codeigniter

6
•••

BAGIAN III CONFIGURATION


Ada beberapa konfigurasi yang akan dilakukan sebelum mengenal lebih
jauh dengan Codeigniter, untuk melakukan konfigurasi berarti kita akan
melakukan editing di beberapa file. Gunakan Editor untuk mengedit file-file
tersebut, Seperti aplikasi Sublime Text, Notepad++. dll

Silahkan buka aplikasi editor Sublime Text 3 agar mempermudah mengedit


file-file codeigniter maka terlebih dahulu pilih menu File => Open Folder ,
kemudian pilih folder latihanci_nama yang berada di c:\xampp\htdocs\

Folder latihanci_nama di Sublime Text 3

Setelah berhasil membuka folder latihanci_bagus di Sublime Text, kita


memulai melakukan konfigurasi, perhatikan beberapa folder yang ada,
anda klik folder application lalu didalam folder application ada folder
config, folder config ini berisi beberapa file yang akan kita konfigurasi.
Diantaranya adalah : autoload.php, config.php, database.php dan lain-
lain. Berikut beberapa file yang kita lakukan konfigurasi.

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.php berfungsi sebagai pemanggil beberapa library yang ada


pada Codeigniter, seperti url, form, session, database dan lain-lain.
Dengan cara yang sama seperti config.php, maka lakukan editing pada
file autoload.php bagian helper pada baris 92

$autoload[‘helper’]=array();
Dirubah menjadi
$autoload[‘helper’]=array(‘url’);

Autoload.php di Sublime Text

8
•••

BAGIAN IV IMPLEMENTASI MVC


MVC adalah sebuah konsep yang membagi suatu pengembangan
aplikasi menjadi 3 bagian komponen logika yakni Model, View dan
Controller. Jadi proses dasarnya, Model menghantarkan data dari
Database sehingga dapat di kelola oleh Controller kedalam View,
sehingga View dapat menampilkan Data yang sudah dan akan di proses.
Codeigniter memiliki 3 folder, 1 Folder Model, 1 Folder View dan 1 Folder
Controller seperti gambar di bawah ini.

Folder Controllers

Folder Models

Folder Views

9
•••

Controller

Secara default setelah installasi Codeigniter terdapat sutu Controller


bawaan yaitu Controller Welcome.php . Controller Welcome.php yang
ada pada Codeigniter berfungsi untuk menampilkan halaman Welcome
di Codeigniter. Aturan penulisan Controller tersebut dengan menuliskan
class di ikuti nama Controller extends CI_Controller, seperti gambar
dibawah ini.

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

Folder views yang terdapat di Codeigniter berisi sebuah file bernama


welcome_message.php. welcome_message.php merupakan file views
bawaan Codeigniter.

10
•••

BAGIAN V IMPLEMENTASI MVC lanjutan


Pada bagian ini akan membahas mengenai implementasi mvc lebih lanjut,
dari mulai membuat controller baru, menambahkan fungsi dalam
controller, membuat views, membuat models dan database beserta table-
tabel.

Membuat Controller Baru

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

Gambar hasil script Controller Home

Manambahkan Function dalam Controller

Dalam sebuah Controller kita bisa membuat beberapa function, sebagai


contoh kita tambahkan function codeigniter pada Controller 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
•••

public function codeigniter()


{
echo "Saat ini kita sedang berada pada Controllers
Home dan Function codeigniter";
}
}
?>

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

Gambar hasil Function codeigniter

Sebagai latihan tambahan kita buat sebuah function baru dalam


Controller yang sama seperti script dibawah ini

public function bootstrap()


{
echo "Saat ini kita sedang berada pada Controllers
Home dan Function bootstrap";
}

Sesuai dengan aturan cara pemanggilan function dalam Controller,


adalah dengan memanggil Controllers terlebih dahulu kemudian di ikuti
dengan nama functionnya, sekarang kita punya dua function yang kita
buat tadi dalam Controller Home, untuk memanggil function terakhir yang
kita buat yaitu function bootsrap maka url nya seperti berikut ini.
localhost/latihanci_bagus/index.php/home/bootstrap

Gambar hasil function bootstrap

12
•••

Script lengkap Controller Home adalah sebagai berikut:

<?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

View merupakan halaman website yang biasanya dibuat dengan script


HTML, namun untuk pemberian nama file menggunakan format php, jika
kita membuat view dengan nama halaman_home maka pada saat
penyimpanan file kita menyimpan dengan extensi .php sehingga nama
file menjadi halaman_home.php. Untuk membuat sebuah halaman view
kita harus menyimpan file tersebut dalam folder views dalam susunan
folder project CodeIgniter.

Buatlah file baru bernama “halaman_home.php” simpan di dalam


folder views . lalu ketiklah script dibawah ini .
<!DOCTYPE html>
<head>
<title>View Belajar Code Igniter</title>
</head>
<body>
<h2>Kita sedang belajar membuat view di
CodeIgniter</h2>
<h4>Sebuah view dipanggil dengan script di
controller</br>
$this->load->view('namaView')</br></br>
contoh:</br>
$this->load->view('halaman_home')</br></h4>
</body>
</html>

13
•••

Setelah membuat sebuah view, agar view tersebut bisa ditampikan


diperlukan sebuah controller untuk memanggil halaman view yang sudah
dibuat.

Masih menggunakan editor Sublime Text, bukalah kembali Controllers


yang sudah di buat sebelumnya yang bernama “Home.php” yang terletak
pada folders C:\xampp\htdocs\latihanci_bagus\application\controllers
dan buat satu function baru di Controllers Home.php bernama Function
menampilkan_view.
Untuk memanggil sebuah view, kita harus menuliskan script
$this->load->view('namaview');
Contoh:
$this->load->view('halaman_home');

Seperti 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";
}
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";
}
public function menampilkan_view()
{
$this->load->view('halaman_home');
}

}
?>

Untuk menampilkan view tersebut, caranya sama dengan cara


memanggil sebuah controller yang sudah pelajari, seperti URL berikut ini.
localhost/latihanci_bagus/index.php/home/menampilkan_view

14
•••

Gambar halaman view

Cara kerja sebuah controller untuk memanggil view sehingga muncul di


browser, bisa dilihat pada gambar berikut

Controller : Home.php

View :
halaman_home

Browser :
Menampilkan View

Gambar : Ilustrasi pemanggilan view

15
•••

Models

Model berfungsi sebagai pengolah data dalam CodeIgniter, dalam


model ini berisi class dan fungsi untuk memanipulasi database seperti
insert, update, delete dan search. Dalam penggunaannya nanti, model
banyak berhubungan dengan perintah Query.

Karena dalam penggunaan model menggunakan database, sebagai


bahan latihan kita, kita akan buat dulu sebuah database dan table
menggunakan phpmyadmin. Untuk latihan ini kita membuat satu
database dan satu table saja. Nama database: siakad dan nama table:
tbl_mahasiswa.

Membuat Database

Struktur table mahasiswa sebagai berikut :


Field Type dan lebar Keterangan
nim Varchar(10) Primary Key
nama Varchar(40)
alamat Varchar(40)
handphone Varchar(12)

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
•••

Setelah mengetikkan URL, maka akan tampil halaman seperti gambar


dibawah ini

Gambar Halaman database

Pada halaman database ini, buat database baru dengan mengetikkan


nama database dalam Text Field database kemudian klik tombol Create,
perhatikan gambar dibawah ini.

Gambar Membuat database baru

Setelah proses pembuatan database selesai, kita akan mendapatkan


sebuah database baru sudah dibuat dan list database yang ada pada
phpmyadmin bisa kita lihat pada bagian kiri dan halaman phpmyadmin.

Gambar Database siakad telah dibuat

17
•••

Membuat Table

Untuk membuat table melalui phpmyadmin, anda tinggal klik nama


database yang berada di sebelah kiri seperti pada gambar diatas,
kemudian klik pada nama database, untuk memastikan bahwa table yang
akan dibuat berada dalam database yang kita inginkan.

Setelah anda klik nama database di bagian kiri halaman phpmyadmin,


akan muncul halaman untuk membuat table baru di bagian kanan
halaman, kemudian isikan nama table serta jumlah kolom kemudian
klik tombol Go.

Gambar membuat table baru

Untuk latihan, kita membuat table tbl_mahasiswa dengan jumlah


kolom 4, seperti yang terlihat pada gambar.

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

Gambar membuat tabel tbl_mahasiswa

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

Gambar tbl_mahasiswa sudah berhasil dibuat

Mengisi Data dalam Tabel

Setelah table terbentuk, saatnya untuk mengisikan data, phpMyadmin


secara visual menyediakan form untuk pengisian data. Klik pada nama
Table yang ada pada bagian kiri halaman phpMyAdmin contoh pada
latihan kita adalah table tbl_mahasiswa, lalu klik tab Insert yang berada
pada bagian atas phpMyAdmin.

Gambar : menu Insert di phpMyAdmin

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.

Gambar : Pengisian data pada phpMyAdmin

Melihat data yang sudah di input

Untuk melihat data yang sudah di inputkan, anda klik menu Browse pada
halaman phpMyAdmin nanti akan muncul.

Gambar : Menu Browse untuk melihat data

20
•••

Sebenarnya semua aktifitas yang kita lakukan dihalaman phpMyAdmin


semua juga bisa lalukan dengan memberikan perintah SQL pada menu
SQL. Namun untuk memudahkan, kita cukup menggunakan media visual
pada phpMyAdmin.

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

Mengatur Konfigurasi Database

Sebelum kita lanjutkan pembahasan model, karena model sangat


berhubungan dengan database maka sebaiknya kita lakukan
kongfigurasi database. Konfigurasi kita lakukan pada file database.php
yang ada dalam folder application/config

Buka file database.php dengan editor Sublime Text, kemudian lakukan


editing seperti berikut ini.

$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'siakad',
'dbdriver' => 'mysqli',

Dalam editor akan terlihat seperti gambar berikut :

Gambar : script Database.php

21
•••

Load Library Database

Langkah berikutnya adalah kita juga harus meload Library database


dalam file autoload.php, file autoload.php berada pada folder
application/config, buka lagi dengan editor file tersebut dan lakukan
editing seperti script di bawah.

$autoload['libraries'] = array('database');

Membuat Model

Masih menggunakan editor, kita buat sebuah model yang berhubungan


dengan menampilkan data, file model yang dibuat disimpan dalam
folder application/models.

kita akan membuat file baru dengan nama MdlMahasiswa.php


<?php defined('BASEPATH') OR exit('No direct script
access allowed');
class MdlMahasiswa extends CI_Model {
function tampilData()
{
return $this->db->get('tbl_mahasiswa');
}
}
?>

Bagian script ini menunjukan nama table yang akan di tampikan


return $this->db->get('tbl_mahasiswa');
potongan script diatas sama artinya dengan query select * from
t b l _ mahasiswa yang berfungsi untuk menampilkan seluruh data
mahasiswa.
simpan model yang sudah anda buat, berikutnya kita buat sebuah View
untuk menampilkan data yang sudah di query didalam model.

22
•••

Menampilkan Data dengan membuat view

Seperti yang sudah kita ketahui bahwa view digunakan untuk


menampilan data yang sudah di olah didalam model. Untuk
latihan sederhana ini kita tampilkan data dengan cara sederhana
saja.

Buka editor anda dan pastikan anda membuka folder


application/views karena dalam folder inilah semua jenis file view
disimpan. Kemudian buat file baru dengan nama
view_mahasiswa.php.
<?php foreach ($daftar_mahasiswa->result() as $row)
{
echo "Nim : "; echo $row->nim; echo "</br>";
echo "Nama : "; echo $row->nama; echo "</br>";
echo "Alamat : "; echo $row->alamat; echo "</br>";
echo "Handphone : "; echo $row->handphone; echo
"<hr/>";
}
?>

foreach ($daftar_mahasiswa->result() as $row)

Script diatas berfungsi untuk membaca data yang sudah di query di


model kemudian ditampilkan pada view.

Membuat Controller

<?php defined('BASEPATH') OR exit('No direct script


access allowed');
class Mahasiswa extends CI_Controller {
public function index()
{
echo 'Daftar Mahasiswa';
echo '</br>';
$this->load->model('MdlMahasiswa');
$data['daftar_mahasiswa'] = $this-
>MdlMahasiswa->tampilData();
$this->load->view('view_mahasiswa',$data);
}
}
?>

23
•••

Keterangan Script :

$this->load->model('MdlMahasiswa');

Bagian dari script adalah memanggil model yang sudah dibuat

$data['daftar_mahasiswa'] = $this-> MdlMahasiswa ->tampilData();

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

BAGIAN VI MEMBUAT CRUD


CRUD singkatan dari Create, Read, Update, Delete, CRUD sangat
berhubungan erat dengan database, sehingga penting untuk
mempelajarinya jika kita akan banyak berhungan dengan aplikasi
database.
Sebelumnya kita sudah belajar membuat aplikasi untuk menampilkan
data, dalam latihan CRUD ini kita akan lanjutkan sampai kita bisa
membuat CRUD yang lengkap.
Sama seperti aplikasi untuk menampilkan (Read) data, kita memerlukan
file Controller, Model dan View serta database, untuk database kita tetap
menggunakan database siakad serta table tbl_mahasiswa yang sudah
kita buat sebelumnya. Untuk pengaturan konfigurasi seperti konfigurasi
database tetap sama ketika kita membuat aplikasi menampilkan data.

Berikut langkah untuk membuat CRUD

Langkah 1. Membuat Controller


Buat Controller baru dengan nama ControlMahasiswa, dan kita akan
menambahkan function tambah_mahasiswa(), lalu ketiklah script
dibawah ini :

24
•••

<?php defined('BASEPATH') OR exit('No direct script


access allowed');
class ControlMahasiswa extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->model('ModelMahasiswa');
}
public function index()
{
//Tampilkan data
$data['mahasiswa'] = $this->ModelMahasiswa-
>tampilData();
$this->load-
>view('ViewMahasiswa/lihat_data',$data);
}
function tambah_mahasiswa()
{
if(isset($_POST['submit'])) {
// proses input
$this->ModelMahasiswa->tambah_data();
redirect('ControlMahasiswa');
}
else {
$this->load-
>view('ViewMahasiswa/form_tambah');
}
}
}
?>

Keterangan script

function tambah_mahasiswa()

Script diatas berfungsi untuk membuat sebuah function baru dalam


controller ControlMahasiswa, dalam satu controller bisa dibuat beberapa
function.

if(isset($_POST['submit'])) {
// proses input
$this->ModelMahasiswa->tambah_data();
redirect('ControlMahasiswa');
}
else {
$this->load->view('ViewMahasiswa/form_tambah');
}

25
•••

Pada script diatas, sebelum penyimpanan data, kita lakukan pengujian


apakah button Submit di klik, if(isset($_POST['submit'])).

Lalu proses berikutnya adalah meload model “ModelMahasiswa” serta


function “tambah_data “ kedalam Controller,

$this->load->model('ModelMahasiswa');
$this-> ModelMahasiswa ->tambah_data();

Kemudian jika proses tambah data berhasil, aplikasi di redirect ke halaman


Tabel Mahasiswa, melalui controller “ControlMahasiswa”.

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');

Langkah 2. Membuat View


View yang akan kita buat saat ini disusun tampilannya dalam bentuk
table, dengan tujuan agar lebih rapi, sebelum membuat view ini kita
buat sebuah folder baru didalam folder views, agar semua view yang
berhubungan dengan aplikasi tersusun dalam satu folder saja. Beri nama
folder tersebut dengan nama ViewMahasiswa.

Gambar Folder ViewMahasiswa dilihat dari editor Sublime Text dan


Windows Explorer

Setelah Folder ViewMahasiswa dibuat dalam folder Views, masih


menggunakan editor, kita membuat sebuah halaman yang berfungsi
untuk melihat data mahasiswa, halaman ini kita beri nama

26
•••

“lihat_data.php”. Halaman ini dibuat dalam bentuk table untuk


menampilkan data lebih rapi, berikut script lihat_data.php :
<html>
<H3>Daftar mahasiswa</H3>
<?php echo
anchor('ControlMahasiswa/tambah_mahasiswa','Tambah
Data'); ?>
<table>
<tr>
<td>No</td>
<td>NM</td>
<td>Nama Mahasiswa</td>
<td>Alamat</td>
<td>Handphone</td>
<td colspan="2">Aksi</td>
</tr>
<?php
$no=1; foreach ($mahasiswa-
>result() as $r) {
echo "
<tr>
<td>$no</td>
<td>$r->nim</td>
<td>$r->nama</td>
<td>$r->alamat</td>
<td>$r->handphone</td>
<td>".anchor('ControlMahasiswa/edit_mahasiswa/'.$r-
>nim,'Edit')."</td>
<td>".anchor('ControlMahasiswa/delete_mahasiswa/'.$r
->nim,'Delete')."</td>
</tr>";
$no++;
}
?>
</table>
</html>

Keterangan Script:

Bagian yang terpenting dari script tersebut adaalah:

Menyiapkan sebuah variable no dan diberi nilai awal = 1, sebagai nomor


urut table.

$no=1;

Menampilkan semua isi table dengan perintah foreach agar bisa


membaca seluruh isi table dari awal sampai akhir.

27
•••

foreach ($mahasiswa->result() as $r) {

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>

Agar nilai variable nomor terus bertambah setelah pembacaan data


serta pemberian nomor pada data baru, maka perlu untuk meniakan nilai
variable $no bertambah satu angka.

$no++;

28
•••

Langkah 3. Membuat Form Input Data


Membuat form Input data berfungsi sebagai perantara penyimpanan
data yang di inputkan ke dalam database. Buat file baru dengan nama
form_tambah.php lalu simpan di folders ViewMahasiswa Berikut bentuk
script yang kita perlukan :
<html>
<head>
<title>CRUD Mahasiswa</title>
</head>
<h3>Tambah Data Mahasiswa</h3>
<form action="<?php echo
base_url()?>index.php/ControlMahasiswa/tambah_mahasiswa"
method="post">
<!--panggil controller dan functionnya-->
<table>
<tr>
<td>Nim</td>
<td><input type="text" name="nim"
placeholder="Masukkan NIM"></td>
</tr>
<tr>
<td>Nama</td>
<td><input type="text" name="nama"
placeholder="Masukkan Nama"></td>
</tr>
<tr>
<td>Alamat</td>
<td><input type="text" name="alamat"
placeholder="Masukkan Alamat"></td>
</tr>
<tr>
<td>Handphone</td>
<td><input type="text" name="handphone"
placeholder="Masukkan Handphone"></td>
</tr>
<tr>
<td colspan="2"><button type="submit"
name="submit">Simpan</button></td>
</tr>
</table>
</form>
</html>

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.

Langkah 4. Membuat Form Edit Data


Form Edit data, hampir sama dengan form input data, hanya berbeda
di beberapa bagian saja, form ini akan di panggil jika link edit di klik pada
halaman Tabel Mahasiswa.
Cara kerja form ini adalah menampilkan data yang diklik di link edit
pada halaman data mahasiwa kemudian user bisa merubah data yang
ada pada form edit, kemudian klik tombol Simpan untuk menyimpan
data, setelah data disimpan halaman akan di redirect kehalaman Tabel
Mahasiswa.
Buat file baru dengan nama form_edit.php lalu simpan di folders
ViewMahasiswa Berikut bentuk script yang kita perlukan:
<html>
<head>
<title>CRUD Mahasiswa</title>
</head>
<h3>Edit Data Mahasiswa</h3>
<form action="<?php echo
base_url()?>index.php/ControlMahasiswa/edit_mahasiswa/<?P
HP echo $this->uri->segment('3')?>" method="post">
<!--panggil controller dan functionnya-->
<table>
<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>
30
•••

<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

<td><input type="text" name="nama" placeholder="Masukkan Nama"


value="<?php echo $mahasiswa['nama'] ?>"></td>

Hal yang sama dilakukan juga pada field yang lain, seperti Alamat dan
Nomor Handphone.

Langkah 5. Update Controller


Pada langkah 1 kita sudah membuat controller dengan function
tambah_mahasiswa namun kita memerlukan beberapa function lagi
untuk melengkapi proses yang ada pada CRUD. Buka kembali Controller
ControlMahasiswa lalu Tambahkan script berikut dibawah function
tambah_mahasiswa

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

Bagian script ini berfungsi untuk memanggil function edit_data yang


berada dalam ModelMahasiswa, script ini bekerja jika tombol submit diklik.
Jika proses edit dilakukan maka halaman diredirect kehalaman Tabel
Mahasiswa.

else {
$nim=$this->uri->segment(3);
//echo $nim;
$data['mahasiswa']=$this->ModelMahasiswa->get_detail($nim)-
>row_array();
$this->load->view('ViewMahasiswa/form_edit',$data);
}

Bagian script diatas berfungsi untuk mengambil data detail mahasiswa,


bagian script ini $nim=$this->uri->segment(3); digunakan untuk nim
Mahasiswa yang ada di uri segment(3).

$data['mahasiswa']=$this->ModelMahasiswa->get_detail($nim)-
>row_array();

Digunakan untuk mengambil data detail mahasiswa berdasarkan nim


yang diquery datanya melalui model.
$this->load>view('ViewMahasiswa/form_edit',$data);
Kemudian data ditampilkan dalam form edit mahasiswa.

Script berikutnya berfungsi untuk menghapus data mahasiswa


berdasarkan link delete di halaman Tabel Mahasiswa.

function delete_mahasiswa()
{
$nim=$this->uri->segment(3);
$this->ModelMahasiswa->delete_data($nim);
redirect('ControlMahasiswa');
}

33
•••

Sama dengan function edit mahasiwa, untuk mendapatkan data


mahasiswa yang akan dihapus maka data di baca dari uri segment,
$nim=$this->uri->segment(3);

Kemudian dilakukan penghapusan data melalui function delete, setelah


penghapusan selesai halaman diredirect ke halaman daftar mahasiswa.

$this->ModelMahasiswa ->delete_data($nim);
redirect('ControlMahasiswa');

Sehingga script lengkap ControlMahasiswa.php menjadi seperti ini :

<?php defined('BASEPATH') OR exit('No direct script


access allowed');
class ControlMahasiswa extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->model('ModelMahasiswa');
}

public function index()


{
//Tampilkan data
$data['mahasiswa'] = $this->ModelMahasiswa -
>tampilData();
$this->load-
>view('ViewMahasiswa/lihat_data',$data);
}

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

Langkah 6. Membuat Model


Model yang kita terdiri dari beberapa function untuk mengolah data
mahasiswa didalam aplikasi CRUD. Buatlah file baru dengan nama
ModelMahasiswa.php. Berikut script ModelMahasiswa.php
<?php
defined('BASEPATH') OR exit('No direct script access
allowed');
class ModelMahasiswa extends CI_Model {
function tampilData()
{
return $this->db->get('tbl_mahasiswa');
}
//Tambah Data
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')
);
$this->db->insert('tbl_mahasiswa', $data);

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 tampilData ini berfungsi untuk menampilkan data mahasiswa


dengan perintah 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);
}

Function tambah_data() berfungsi untuk menambahkan data kedalam


table mahasiswa, data yang akan di tambahkan disimpan dulu dalam
array, dengan nama array $data.

$data=array(
'nim' => $this->input->post('nim'),
'nama' => $this->input->post('nama'),
'alamat' => $this->input->post('alamat'),
'handphone' => $this->input->post('handphone'));

Kemudian data yang dinputkan melalui form tambah data ditampung


dalam array kemudian dilakukan proses insert data mahasiswa dengan
perintah $this->db->insert('mahasiswa', $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('mahasiswa', $data);

Function edit_data prosesnya hampir sama dengan function


tambah_data yaitu dengan menyimpan data ke dalam array.

Kemudian data diquery apakah data nim sama sengan nim yang ada
dalam form edit data dengan perintah this->db->where('nim', $nim);

Script berikutnya adalah query untuk mengupdate data kedalam table,


dengan perintah $this->db->update('mahasiswa', $data);

function get_detail($nim)
{
$param = array('nim' => $nim);
return $this->db->get_where('mahasiswa',$param);
}

37
•••

Bagian script diatas berfungsi untuk melakukan query ambil data


mahasiswa berdasarkan nim mahasiswa.

function delete($nim)
{
$this->db->where('nim',$nim);
$this->db->delete('mahasiswa');
}

Script diatas berfungsi untuk melalukan penghapusan data dimana


data nim harus sesuai dengan variabel $nim dengan perintah $this-
>db->where('nim',$nim); lalu dilakukan penghapusan data dengan
perintah $this->db->delete('mahasiswa');

Berikut screenshot aplikasi CRUD mahasiswa, dimulai dengan mengakses


url
localhost/latihanci_bagus/index.php/ControlMahasiswa

Gambar : Halaman Tabel Mahasiswa

Jika di klik link Tambah Data, maka akan mucul form untuk
menambah data mahasiswa

Gambar : Form Tambah 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

Gambar : Form Edit Data Mahasiswa

Proses untuk hapus data mahasiswa dilakukan dengan cara mengklik


link delete dihalaman Tabel Mahasiswa.
Demikian keseluruhan proses pembuatan aplikasi CRUD pada
CodeIgniter.

39

Anda mungkin juga menyukai