Cara membuat CRUD (Create, Read,
Update dan Delete) sederhana di framework CodeIgniter. CRUD ini adalah hal
dasar pada pemrograman karena metode ini menjadi pondasi dalam sebuah software
atau aplikasi. Proses menambahkan, mengubah, membaca dan menghapus data
merupakan hal penting dalam membuat sebuah aplikasi dinamis.
Membuat READ
Pertama buat sebuah database dengan nama bebas sesuai
keinginan kamu, disini saya membuat database dengan contoh CRUDCodeIgniter dan
membuat tabel dengan nama tbl_barang, kemudian buat field dengan nama
dan tipe seperti ini:
- id - integer - AUTO INCREMENT
- nama - varchar(150)
- harga - float
- stok – integer
Kedua buatlah sebuah
folder dan extract file CodeIgniter kedalamnya dan letakan di webserver kamu,
disini saya menggunakan xampp sehingga webserver saya ada di htdocs
dan disini juga saya membuat contoh folder dengan nama CRUDCodeIgniter.
Selanjutnya
konfigurasi database di CodeIgniter di [CRUDCodeIgniter]
> application > config > database.php dan mengubah variable
menjadi seperti ini.
Selanjutnya
kita konfigurasi database di CodeIgniter di [CRUDCodeIgniter] >
application > config > database.php dan mengubah variable menjadi
seperti ini.
1
2
3
4
|
$db['default']['hostname']
= 'localhost';//isi dengan hostname kamu
$db['default']['username']
= 'root';//karena default xampp root, ubah jika kamu punya username yang
berbeda
$db['default']['password']
= '';//password xampp saya kosong, ubah dengan password kamu
$db['default']['database']
= 'CRUDCodeIgniter'; // nama database yang tadi dibuat
|
Selanjutnya
kita ubah base_url, kita harus menggantinya karena mungkin nama folder aplikasi
kita berbeda - beda. Caranya buka dan ubah variable ini di [CRUDCodeIgniter]
> application > config > config.php
1
2
|
//ubah sesuai
dengan konfigurasi kamu
$config['base_url']
= 'http://localhost/CRUDCodeIgniter/';
|
Setelah itu buat Controller dengan cara membuat file baru berextensi .php di [CRUDCodeIgniter] > application > controllers , dan beri nama data_produk.php. Lalu masukan syntax berikut ini.
1
2
3
4
5
6
7
8
9
10
11
|
<?php if ( !
defined('BASEPATH')) exit('No direct script access allowed');
//nama class
harus diawali dengan kapital, walaupun nama file semua kecil
class Data_produk
extends CI_Controller {
public function index()
{
//memanggil
view yang nanti kita akan buat
$this->load->view('v_data_produk');
}
}
|
Setelah
selesai membuat controller kita lanjutkan dengan membuat model dengan membuat
file baru di [CRUDCodeIgniter] > application > model, lalu
buat file dengan nama m_data_produk.php, setelah itu sisipkan syntax
berikut.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<?php
class M_data_produk
extends CI_Model {
function __construct()
{
//
Call the Model constructor
parent::__construct();
}
function list_data(){
$query =
$this->db->get('data_barang');// mengambil semua data dari tabel
data_barang
return $query->result();//
mengembalikan ke controller hasil dari query ke table data_barang
}
}
|
syntax
diatas kita langsung membuat fungsi list_data() untuk mengambil data dari
tabel, selanjutnya kita melakukan perubahan pada index di controller data_produk.php
menjadi
1
2
3
4
5
6
7
8
|
public function index()
{
$this->load->helper('url');
$this->load->database();//memanggil
pengaturan database dan mengaktifkannya
$this->load->model('m_data_produk');//memanggil
model m_data_produk
$data['data_produk']
= $this->m_data_produk->list_data();//memanggil fungsi di model dan
menerima hasil fungsi yang dimasukan ke $data['data_produk']
$this->load->view('v_data_produk',$data);//memanggil
view yang nanti kita akan buat dan memasukan $data dari model tadi
}
|
setelah itu
mari kita buat view, view adalah tampilan yang isinya berupa html,php,dan
javascript. Untuk membuatnya kita bisa buat file di [CRUDCodeIgniter] >
application > views . Lalu beri name v_data_produk.php. Lalu
sisipkan syntax berikut
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
<html>
<head>
<title>CRUD
CodeIgniter</title>
</head>
<style>
th,td,table,thead,tbody,tr{
border:1px
solid #000;
}
</style>
<body>
<table>
<thead>
<th>No</th>
<th>Nama</th>
<th>Harga</th>
<th>Stok</th>
<th>Kontrol</th>
</thead>
<tbody>
<h2>CRUD
CodeIgniter</h2>
<a href="<?php
echo site_url('data_produk/input');?>">Input</a>
<?php
$no = 1;
foreach($data_produk as $value)
{
?>
<tr>
<td><?= $no;?></td>
<td><?= $value->nama;?></td>
<td><?= $value->harga;?></td>
<td><?= $value->stok;?></td>
<td><a href="<?=
site_url("data_produk/edit")."?produk=".$value->id;?>">edit</a>|<a href="<?=
site_url("data_produk/delete")."?produk=".$value->id;?>">delete</a>
</td>
</tr>
<?php
}
?>
</tbody>
</table>
</body>
</html>
|
Sampai
disini kita sudah melakukan Read , walaupun belum bisa menampilkan data.
Coba buka http://localhost/CRUDCodeIgniter/index.php/data_produk, maka
hasilnya akan seperti ini
xx--gambar tampilan view
Membuat CREATE dan UPDATE
Pada tahap ini kita akan membuat form untuk input dan ubah data. Pertama buka kembali controller data_produk.php. Setelah itu buat fungsi baru dibawah index() dengan syntax seperti dibawah ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
public function Input()
{
$this->load->helper('form');//memanggil
helper form nanti penggunaannya di v_input_produk.php
$data['type']="INPUT";//
definisi type, karena nanti juga ada edit
$this->load->view('v_input_produk',$data);//
memanggil view v_input_produk.php
}
public function Edit()
{
$this->load->helper('form');//memanggil
helper form nanti penggunaannya di v_input_produk.php
$this->load->database();//memanggil
pengaturan database dan mengaktifkannya
$this->load->model('m_data_produk');//memanggil
model m_data_produk.php
$id =
$this->input->get('produk');//mengambil param produk dari get
$data['produk']
= $this->m_data_produk->getEdit($id);
$data['type']="EDIT";//
definisi type, karena nanti juga ada edit
$this->load->view('v_input_produk',$data);//
memanggil view v_input_produk.php
}
|
pada syntax diatas adalah function dari controller yang akan di panggil oleh link input pada menu sebelumnya. Memanggil helper form karena untuk view v_input_produk.php yang akan kita buat nanti terdapat fungsi yang membutuhkan helper form. Untuk lebih jelasnya mari kita buat view baru di folder view beri nama v_input_produk.php dengan script/syntax seperti ini:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
<html>
<head>
<title>CRUD
CodeIgniter</title>
</head>
<body>
<table>
<tbody>
<h2><?php echo $type;?></h2>
<?php echo
form_open('data_produk/post'); ?>
<?php if
($type=="EDIT"){
echo
form_hidden('id', $this->input->get('produk'));
}
?>
<tr>
<td>Nama</td>
<td><input type="text" name="nama" value="<?php
if ($type=="EDIT"){echo
$produk[0]->nama;};?>"></td>
</tr>
<tr>
<td>Harga</td>
<td><input type="number" name="harga" value="<?php
if ($type=="EDIT"){echo
$produk[0]->harga;};?>"></td>
</tr>
<tr>
<td>Stok</td>
<td><input type="number" name="stok" value="<?php
if ($type=="EDIT"){echo
$produk[0]->stok;};?>"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="simpan" value="<?php
echo $type;?>"></td>
</tr>
<?php echo
form_close();?>
</tbody>
</table>
</body>
</html>
|
Setelah selesai mari kita buat fungsi Post di controller data_produk.php. Setelah tombol input/edit ditekan di view input tadi maka akan memprosees POST ke fungsi ini. Pada fungsi ini dia akan meminta input / edit dari model sesuai jenis post nya. Sisipkan script berikut di bawah fungsi / function terakhir di controller.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
public function Post(){
$this->load->database();//memanggil
pengaturan database dan mengaktifkannya
$this->load->model('m_data_produk');//memanggil
model m_data_produk.php
//mengambil
data dari post memasukan ke array agar lebih mudah
$param = array(
'nama' =>
$this->input->post('nama'),
'harga' =>
$this->input->post('harga'),
'stok'=>
$this->input->post('stok')
);
//jika
simpan == input
if($this->input->post('simpan')=="INPUT"){
$this->m_data_produk->input($param);
}else
if($this->input->post('simpan')=="EDIT"){
$id=
$this->input->post('id');
$this->m_data_produk->edit($param,$id);
}
//memanggil
helper url untuk fungsi redirect
$this->load->helper('url');
//mengalihkan
ke list data produk setelah input atau edit selesai
redirect('data_produk','refresh');
}
|
Karena di fungsi diatas memanggil fungsi dari model maka kita akan membuat fungsi itu. Terdapat dua fungsi yang dipanggil oleh controller itu yaitu input() dan edit() , maka buka kembali model m_data_produk.php dan sisipkan syntax ini untuk membuat fungsi input dan edit.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
function input($param){
$this->db->insert('data_barang',$param);
return true;
}
function getEdit($id){
$this->db->where('id',$id);
$query =
$this->db->get('data_barang');
return $query->result();
}
function edit($param,$id){
$this->db->where('id',$id);
$this->db->update('data_barang',$param);
return true;
}
|
fungsi input untuk menginput data ke database, fungsi getEdit adalah untuk mengambil data yang akan di edit berdasarkan Id produknya. dan edit untuk mengubah data di database sesuai dengan yang di edit.
Pada tahap ini kita sudah selesai membuat CREATE dan UPDATE.
Membuat DELETE
Dari view v_data_produk.php kita sudah membuat link untuk menghapus data namun belum ada fungsinya, dan sekarang kita akan membuat fungsi untuk menghapusnya. Pertama buka controller data_produk.php dan sisipkan fungsi ini di bawah fungsi terakhir.
1
2
3
4
5
6
7
8
9
|
public function Delete(){
$this->load->database();//memanggil
pengaturan database dan mengaktifkannya
$this->load->model('m_data_produk');//memanggil
model m_data_produk.php
$id = $this->input->get('produk');
$this->m_data_produk->delete($id);
$this->load->helper('url');
redirect('data_produk','refresh');
}
|
fungsi di controller selesai dibuat selanjutnya kita buat fungsi di modelnya yang di panggil di controller yaitu fungsi delete() maka sisipkan fungsi ini di m_data_produk.php.
1
2
3
4
|
function delete($id){
$this->db->where('id',$id);
$this->db->delete('data_barang');
}
|
Dengan ini proses Delete telah selesai.
Panggil http://localhost/CRUDCodeIgniter/index.php/data_produk
Inilah hasilnya.
sumber: http://blog.microtrafh.com/2014/11/tutorial-codeigniter-5-membuat-crud-dengan-codeigniter.html






About the Author
0 komentar: