Ticker

6/recent/ticker-posts

Header Ads Widget

CRUD Codeigniter 3 dengan Konsep MVC (Model, View , Controller)

Assalmualaikum Warahmatullahi Wabarakatu
Bismillahirrahmanirrahiim

Crud (Create, Read, Update, dan Delete) adalah kebutuhan sebuah aplikasi web yang dinamis untuk mengolah data, saat ini saya akan membahas bagaimana cara membuat CRUD Codeigniter 3 dengan Konsep MVC (Model, View , Controller), yang mungkin bisa menjadi kebutuhan dan solusi dari permasalahan yang sobat hadapi, oke langsung saja.




Langkah Pertama
Bacalah tutorial Cara install framework codeigniter 3.0.6 untuk menginstall framework codeigniter, kemudian baca tutorial Memulai dan Mengkonfigurasi Framework Codeigniter (CI) untuk konfigurasi dasar framework codeigniter, dan baca tutorial Setting Koneksi single dan Multi Dabatabase Framework Codeigniter (CI) untuk koneksi kedatabase mysql





Langkah Kedua
Download file-file (sebuah zip didalamnya ada folder assets) yang dibutuhkan pada link berikut ini dan extract pada folder root codeigniter sobat. Download

Langkah Ketiga
Buatlah Database dengan nama yang sobat inginkan kemudian excute query dibawah ini, untuk struktur tabel mahasiswa
DROP TABLE IF EXISTS `mahasiswa`;
CREATE TABLE `mahasiswa` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nim` varchar(255) DEFAULT NULL,
  `nama` varchar(255) DEFAULT NULL,
  `kelas` varchar(255) DEFAULT NULL,
  `jurusan` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=latin1;

-- ----------------------------
-- Records of mahasiswa
-- ----------------------------
INSERT INTO `mahasiswa` VALUES ('2', '123451', 'Aguzrybudy', 'Siang', 'Tehnik Informatika');
INSERT INTO `mahasiswa` VALUES ('5', '123450', 'Tengku Said', 'Pagi', 'Sitem Informasi');
INSERT INTO `mahasiswa` VALUES ('6', '123452', 'Heru', 'Malam', 'Sistem Komputer');
INSERT INTO `mahasiswa` VALUES ('7', '123453', 'Ahmadul', 'Karyawan', 'Tehnik Informatika');
INSERT INTO `mahasiswa` VALUES ('8', '123454', 'Ardiansyah', 'Siang', 'Tehnik Informatika');
INSERT INTO `mahasiswa` VALUES ('9', '123455', 'Roy Royandi', 'Malam', 'Sistem Komputer');
INSERT INTO `mahasiswa` VALUES ('10', '123456', 'Ahyar', 'Pagi', 'Tehnik Informatika');

Langkah Keempat
Buatlah Controller dengan nama Mahasiswa, Kemudian ketiklah kode dibawah ini
kalau sobat belum perna buat coba baca disini untuk membuat controller

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

class Mahasiswa extends CI_Controller {

 public function __construct()
 {
  parent::__construct();
  $this->load->model('CrudModel');
 }

 public function index()
 {
  $data['jumlah_data'] = $this->CrudModel->jumlah_data();
  $data['mahasiswa'] = $this->CrudModel->read();
  $this->load->view('mahasiswa/read', $data);
 }

 public function create()
 {
  $this->load->view('mahasiswa/create');
 }

 public function save()
 {
  $this->form_validation->set_rules('nim', 'NIM', 'trim|required',array('required' => 'Please enter a nim'));
  $this->form_validation->set_rules('nama', 'Nama', 'trim|required',array('required' => 'Please enter a name'));
  $this->form_validation->set_rules('kelas', 'Kelas', 'trim|required',array('required' => 'Please select a kelas'));
  $this->form_validation->set_rules('jurusan', 'Jurusan', 'trim|required',array('required' => 'Please select a jurusan'));

  if ($this->form_validation->run() == FALSE)
        {
         $page_data['errors'] = validation_errors();
         $this->load->view('mahasiswa/create');
        }else{
         $this->CrudModel->save();
         redirect('mahasiswa','refresh');
        }


 }

 public function edit($id)
 {
  $data['m']= $this->CrudModel->edit($id);
  $this->load->view('mahasiswa/edit', $data);
 }

 public function update()
 {
  $this->form_validation->set_rules('nim', 'NIM', 'trim|required',array('required' => 'Please enter a nim'));
  $this->form_validation->set_rules('nama', 'Nama', 'trim|required',array('required' => 'Please enter a name'));
  $this->form_validation->set_rules('kelas', 'Kelas', 'trim|required',array('required' => 'Please select a kelas'));
  $this->form_validation->set_rules('jurusan', 'Jurusan', 'trim|required',array('required' => 'Please select a jurusan'));

  if ($this->form_validation->run() == FALSE)
        {
         $page_data['errors'] = validation_errors();
         $this->load->view('mahasiswa/edit');
        }else{
         $this->CrudModel->update();
         redirect('mahasiswa','refresh');
        }
 }

 public function delete($id)
 {
  $this->CrudModel->delete($id);
  redirect('mahasiswa','refresh');
 }
}

Langkah kelima
Buatlah Model dengan nama CrudModel, Kemudian ketiklah kode dibawah ini
kalau sobat belum perna buat coba baca disini untuk membuat Model

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class CrudModel extends CI_Model {

 public function __construct()
 {
  parent::__construct();
 }

 public function jumlah_data()
 {
  return $this->db->count_all('mahasiswa');
 }

 public function read()
 {
  return $this->db->get('mahasiswa')->result();
 }

 public function save()
 {

  $data['nim'] =$this->input->post('nim');
  $data['nama'] =$this->input->post('nama');
  $data['kelas'] =$this->input->post('kelas');
  $data['jurusan'] =$this->input->post('jurusan');

  return $this->db->insert('mahasiswa', $data);
 }

 public function edit($id)
 {
  return $this->db->get_where('mahasiswa', array('id' => $id))->row();
 }

 public function update()
 {
  $data['nim'] =$this->input->post('nim');
  $data['nama'] =$this->input->post('nama');
  $data['kelas'] =$this->input->post('kelas');
  $data['jurusan'] =$this->input->post('jurusan');

  return $this->db->where('id', $this->input->post('id'))
     ->update('mahasiswa', $data);
 }

 public function delete($id)
 {
  return $this->db->delete('mahasiswa', array('id' => $id));
 }



}





Langkah Keenam
Buatlah sebuah folder didalam view dengan nama mahasiswa, kemudian buatlah tiga file dengan nama read.php, create.php, edit.php, untuk masing kodenya sobat bisa ketik dari list kode dibawah ini

read.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
?><!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="utf-8">
 <title>Crud CodeIgniter</title>
 <link rel="stylesheet" href="<?php echo base_url('assets/css/bootstrap.min.css');?>" type="text/css">
 <link rel="stylesheet" href="<?php echo base_url('assets/css/style.css');?>" type="text/css">
 <link rel="stylesheet" href="<?php echo base_url('assets/font-awesome/css/font-awesome.css');?>" type="text/css">
 <script src="<?php echo base_url('assets/js/jquery.min.js');?>" type="text/javascript"></script>
 <script src="<?php echo base_url('assets/js/jquery-migrate.js');?>" type="text/javascript"></script>
 <script src="<?php echo base_url('assets/js/tether.min.js');?>" type="text/javascript"></script>
 <script src="<?php echo base_url('assets/js/bootstrap.min.js');?>" type="text/javascript"></script>

</head>
<body>

 <div id="wrapper">
  <div class="container">
   <h3>Crud Menggunakan Codeigniter </h3>
   <p>By: Aguzrybudy, 28 Oktober 2017 (Sabtu) <a href="<?php echo base_url('mahasiswa/create/');?>" class="btn btn-primary pull-right"><i class="fa fa-plus" aria-hidden="true"></i> Mahasiswa</a></p>

   <table class="table table-striped table-layout">
     <thead>
       <tr>
         <th>#</th>
         <th>NPM</th>
         <th>Nama</th>
         <th>Kelas</th>
         <th>Jurusan</th>
         <th>Pilihan</th>
       </tr>
     </thead>
     <tbody>

      <?php if($jumlah_data > 0):?>
       <?php $no=0; foreach ($mahasiswa as $m): $no++ ?>
        <tr class="data">
          <th><?php echo $no;?></th>
          <td><?php echo $m->nim;?></td>
          <td><?php echo $m->nama;?></td>
          <td><?php echo $m->kelas;?></td>
          <td><?php echo $m->jurusan;?></td>
          <td>
           <a  href="<?php echo base_url('mahasiswa/edit/'.$m->id);?>"><i class="fa fa-edit" aria-hidden="true"></i></a>
           <a  href="<?php echo base_url('mahasiswa/delete/'.$m->id);?>"><i class="fa fa-trash" aria-hidden="true"></i></a>
          </td>
        </tr>
     <?php endforeach;?>

    <?php else:?>

        <tr class="kosong">
         <td colspan="6">Tidak ada data di dalam field</td>
        </tr>

    <?php endif;?>


     </tbody>
   </table>

  </div>
 </div>

</body>
</html>

create.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
?><!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="utf-8">
 <title>Crud CodeIgniter</title>
 <link rel="stylesheet" href="<?php echo base_url('assets/css/bootstrap.min.css');?>" type="text/css">
 <link rel="stylesheet" href="<?php echo base_url('assets/css/style.css');?>" type="text/css">
 <link rel="stylesheet" href="<?php echo base_url('assets/font-awesome/css/font-awesome.css');?>" type="text/css">
 <script src="<?php echo base_url('assets/js/jquery.min.js');?>" type="text/javascript"></script>
 <script src="<?php echo base_url('assets/js/jquery-migrate.js');?>" type="text/javascript"></script>
 <script src="<?php echo base_url('assets/js/tether.min.js');?>" type="text/javascript"></script>
 <script src="<?php echo base_url('assets/js/bootstrap.min.js');?>" type="text/javascript"></script>

</head>
<body>

 <div id="wrapper">
  <div class="container">
   <h3>Crud Menggunakan Codeigniter </h3>
   <p>By: Aguzrybudy, 28 Oktober 2017 (Sabtu) <a href="<?php echo base_url('mahasiswa');?>" class="btn btn-primary pull-right"><i class="fa fa-arrow-left" aria-hidden="true"></i> Back</a></p>

   <div class="grid-layout">
    <form method="post" action="<?php echo base_url('mahasiswa/save');?>">
       <div class="form-group">
         <label for="nim">NIM</label>
         <input type="text" class="form-control" id="nim" placeholder="Enter NIM" name="nim" value="<?php echo set_value('nim');?>">
         <?php echo form_error('nim', '<div class="error">', '</div>'); ?>
       </div>

       <div class="form-group">
         <label for="Nama">Nama</label>
         <input type="text" class="form-control" id="Nama" placeholder="Nama" name="nama" value="<?php echo set_value('name');?>">
          <?php echo form_error('nama', '<div class="error">', '</div>'); ?>
       </div>

       <div class="form-group">
         <label for="Kelas">Kelas</label>
         <select class="form-control" id="Kelas" name="kelas">
           <option value="">Select</option>
           <option value="Pagi">Pagi</option>
           <option value="Siang">Siang</option>
           <option value="Malam">Malam</option>
           <option value="Karyawan">Karyawan</option>
         </select>
          <?php echo form_error('kelas', '<div class="error">', '</div>'); ?>
       </div>

       <div class="form-group">
         <label for="Jurusan">Jurusan</label>
         <select class="form-control" id="Jurusan" name="jurusan">
           <option value="">Select</option>
           <option value="Manajemen Informatika">Manajemen Informatika</option>
           <option value="Sitem Informasi">Sitem Informasi</option>
           <option value="Tehnik Informatika">Tehnik Informatika</option>
           <option value="Sistem Komputer">Sistem Komputer</option>
           <option value="Akutansi">Akutansi</option>
         </select>
          <?php echo form_error('jurusan', '<div class="error">', '</div>'); ?>
       </div>

       <button type="submit" class="btn btn-primary">Submit</button>
     </form>
   </div>

  </div>
 </div>

</body>
</html>

edit.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
?><!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="utf-8">
 <title>Crud CodeIgniter</title>
 <link rel="stylesheet" href="<?php echo base_url('assets/css/bootstrap.min.css');?>" type="text/css">
 <link rel="stylesheet" href="<?php echo base_url('assets/css/style.css');?>" type="text/css">
 <link rel="stylesheet" href="<?php echo base_url('assets/font-awesome/css/font-awesome.css');?>" type="text/css">
 <script src="<?php echo base_url('assets/js/jquery.min.js');?>" type="text/javascript"></script>
 <script src="<?php echo base_url('assets/js/jquery-migrate.js');?>" type="text/javascript"></script>
 <script src="<?php echo base_url('assets/js/tether.min.js');?>" type="text/javascript"></script>
 <script src="<?php echo base_url('assets/js/bootstrap.min.js');?>" type="text/javascript"></script>

</head>
<body>

 <div id="wrapper">
  <div class="container">
   <h3>Crud Menggunakan Codeigniter </h3>
   <p>By: Aguzrybudy, 28 Oktober 2017 (Sabtu) <a href="<?php echo base_url('mahasiswa');?>" class="btn btn-primary pull-right"><i class="fa fa-arrow-left" aria-hidden="true"></i> Back</a></p>

   <div class="grid-layout">
    <form method="post" action="<?php echo base_url('mahasiswa/update');?>">
       <input type="hidden" name="id" value="<?php echo $m->id;?>">
       <div class="form-group">
         <label for="nim">NIM</label>
         <input type="text" class="form-control" id="nim" aria-describedby="NPMHelp" placeholder="Enter NIM" name="nim" value="<?php echo $m->nim;?>">
         <?php echo form_error('nim', '<div class="error">', '</div>'); ?>
       </div>

       <div class="form-group">
         <label for="Nama">Nama</label>
         <input type="text" class="form-control" id="Nama" placeholder="Nama" name="nama" value="<?php echo $m->nama;?>">
          <?php echo form_error('nama', '<div class="error">', '</div>'); ?>
       </div>

       <div class="form-group">
         <label for="Kelas">Kelas</label>
         <select class="form-control" id="Kelas" name="kelas">
           <option value="<?php echo $m->kelas;?>"><?php echo $m->kelas;?></option>
           <option value="Pagi">Pagi</option>
           <option value="Siang">Siang</option>
           <option value="Malam">Malam</option>
           <option value="Karyawan">Karyawan</option>
         </select>
          <?php echo form_error('kelas', '<div class="error">', '</div>'); ?>
       </div>

       <div class="form-group">
         <label for="Jurusan">Jurusan</label>
         <select class="form-control" id="Jurusan" name="jurusan">
           <option value="<?php echo $m->jurusan;?>"><?php echo $m->jurusan;?></option>
           <option value="Manajemen Informatika">Manajemen Informatika</option>
           <option value="Sitem Informasi">Sitem Informasi</option>
           <option value="Tehnik Informatika">Tehnik Informatika</option>
           <option value="Sistem Komputer">Sistem Komputer</option>
           <option value="Akutansi">Akutansi</option>
         </select>
         <?php echo form_error('jurusan', '<div class="error">', '</div>'); ?>
       </div>

       <button type="submit" class="btn btn-primary">Submit</button>
     </form>
   </div>

  </div>
 </div>

</body>
</html>


Langkah Ketujuh
Jika semuanya benar coba eksekusi atau jalankan program sobat melalui web browser kesayangan sobat, dan lihat hasilnya jika benar sobat akan melihat seperti gambar dibawah ini, untuk lebih jelasnya sobat bisa coba melalui link demo yang saya sediakan


Sampai disini dulu tutorial dari saya , Semoga tutorial ini bermanfaat bagi sobat, atas segala kekuranganya mohon dimaafkan dan diberi saran, untuk download source dan demo dari code diatas bisa klik link dibawah ini.






Post a Comment

1 Comments

  1. mantap gan tutorialnya, ditunggu tutorial crud pake laravelnya gan :))

    ReplyDelete

Berkomentarlah dengan baik dan sopan

Rekomendasi Untuk Anda × +