Pada tutorial kali ini kita bersama-sama akan belajar bagaimana membuat sebuah CRUD
(Create, Read, Update, Delete) menggunakan framework CodeIgniter.
CodeIgniter adalah sebuah web framework yang dikembangkan dengan bahasa pemrogramman
PHP, CodeIgniter sendiri merupakan framework yang sangat populer sekali di indonesia, banyak
developer / programmer mengembangkan aplikasi maupun websitenya menggunakan framwork
ini, CodeIgniter juga dikenal sebagai framework berukuran kecil dan memiliki kecepatan yang
dibilang sangat cepat.
CodeIgniter Menggunakan Konsep MVC (Model-View-Controller) adalah sebuah metode
untuk membuat sebuah aplikasi dengan memisahkan data (Model) dari tampilan (View) dan cara
bagaimana memprosesnya (Controller).
Oke langsung saja kita mulai, silahkan download codeigniter di situs resminya
www.codeigniter.com atau bisa ke repositorinya https://github.com/bcit-ci/CodeIgniter. Setelah
berhasil didownload, silahkan extract dan copykan ke htdocs (jika menggunakan xampp) teman-
teman.
Konfigurasi Aplikasi
Oke untuk pertama kita akan menkonfigurasi aplikasi kita seperti, mengatur alamat
aplikasi(base_url), database, autoload, dll.
Langsung saja buka file database.php di application/config/database.php, ubah menjadi
seperti ini:
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '', //sesuaikan password phpmyadmin teman-teman
'database' => 'ci_crud',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
Selanjutnya buka file autoload.php di folder application/config dan ubah bagian kode
berikut ini:
// config autoload libraries
$autoload['libraries'] = array('');
$config['encryption_key'] = '';
$config['csrf_protection'] = FALSE;
$config['csrf_token_name'] = 'csrf_token_name';
$config['csrf_cookie_name'] = 'csrf_cookie_name';
$config['csrf_expire'] = 7200;
$config['csrf_regenerate'] = TRUE;
$config['csrf_exclude_uris'] = array();
--
-- Database: `ci_crud`
--
-- --------------------------------------------------------
--
-- Table structure for table `tbl_buku`
--
--
-- Dumping data for table `tbl_buku`
--
--
-- Indexes for dumped tables
--
--
-- Indexes for table `tbl_buku`
--
ALTER TABLE `tbl_buku`
ADD PRIMARY KEY (`id_buku`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `tbl_buku`
--
ALTER TABLE `tbl_buku`
MODIFY `id_buku` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;
COMMIT;
Membuat Aplikasi
Selanjutnya kita buat sebuah controller baru di folder application/controllers, simpan
dengan nama Buku.php, kemudian masukkan kode berikut ini:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
parent ::__construct();
//load model
$this->load->model('model_buku');
);
$this->load->view('data_buku', $data);
}
);
$this->load->view('tambah_buku', $data);
}
);
$this->model_buku->simpan($data);
//redirect
redirect('buku/');
$data = array(
);
$this->load->view('edit_buku', $data);
}
);
$this->model_buku->update($data, $id);
//redirect
redirect('buku/');
}
public function hapus($id_buku)
{
$id['id_buku'] = $this->uri->segment(3);
$this->model_buku->hapus($id);
//redirect
redirect('buku/');
Selanjutnya kita buat sebuah mode baru di folder application/models, simpan dengan nama
Model_buku.php, kemudian masukkan kode berikut ini:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
if($query){
return true;
}else{
return false;
}
if($query){
return $query->row();
}else{
return false;
}
}
public function update($data, $id)
{
if($query){
return true;
}else{
return false;
}
if($query){
return true;
}else{
return false;
}
Setelah itu kita buat 3 buah file view untuk tampilan aplikasi kita di folder application/views,
buatlah 3 file yaitu:
data_buku.php
tambah_buku.php
edit_buku.php
Buka file data_buku.php, kemudian masukkan kode berikut ini:
<!DOCTYPE html>
<html>
<head>
<title><?php echo $title ?></title>
<link rel="stylesheet" type="text/css"
href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/css/
bootstrap.min.css">
<link rel="stylesheet" type="text/css"
href="https://cdn.datatables.net/1.10.16/css/dataTables.bootstrap4.min.css">
</head>
<body>
<?php
$no = 1;
foreach($data_buku as $hasil){
?>
<tr>
<td><?php echo $no++ ?></td>
<td><?php echo $hasil->no_isbn ?></td>
<td><?php echo $hasil->nama_buku ?></td>
<td><?php echo $hasil->tanggal_terbit ?></td>
<td><?php echo $hasil->pengarang ?></td>
<td>
<a href="<?php echo base_url() ?>buku/edit/<?php echo
$hasil->id_buku ?>" class="btn btn-sm btn-success">Edit</a>
<a href="<?php echo base_url() ?>buku/hapus/<?php echo
$hasil->id_buku ?>" class="btn btn-sm btn-danger">Hapus</a>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</div>
<div class="form-group">
<label for="text">No ISBN</label>
<input type="text" name="no_isbn" class="form-control"
placeholder="Masukkan No. ISBN">
</div>
<div class="form-group">
<label for="text">Nama Buku</label>
<input type="text" name="nama_buku" class="form-control"
placeholder="Masukkan Nama Buku">
</div>
<div class="form-group">
<label for="text">Tanggal Terbit</label>
<input type="date" name="tanggal_terbit" class="form-control"
>
</div>
<div class="form-group">
<label for="text">Pengarang</label>
<input type="text" name="pengarang" class="form-control" >
</div>
<div class="form-group">
<label for="text">No ISBN</label>
<input type="text" name="no_isbn" value="<?php echo
$data_buku->no_isbn ?>" class="form-control" placeholder="Masukkan No. ISBN">
<input type="hidden" value="<?php echo $data_buku->id_buku ?>"
name="id_buku">
</div>
<div class="form-group">
<label for="text">Nama Buku</label>
<input type="text" name="nama_buku" value="<?php echo
$data_buku->nama_buku ?>" class="form-control" placeholder="Masukkan Nama
Buku">
</div>
<div class="form-group">
<label for="text">Tanggal Terbit</label>
<input type="date" name="tanggal_terbit" value="<?php echo
$data_buku->tanggal_terbit ?>" class="form-control" >
</div>
<div class="form-group">
<label for="text">Pengarang</label>
<input type="text" name="pengarang" value="<?php echo
$data_buku->pengarang ?>" class="form-control" >
</div>