Wednesday, July 12, 2017

Membuat (CRUD) Create, Read, Update, Delete Data pada Codeigniter

Seringkali ketika kita menggunakan aplikasi entah itu aplikasi web, aplikasi desktop, aplikasi mobile sering kali menjumpai aplikasi yang dapat menambah data, merubah data, mengedit data, menghapus data. Nah aplikasi yang seperti ini seringkali di sebut dengan istrilah CRUD.

CRUD merupakan sebuah singkatan dari Create, Read, Update, Delete. apakah maksud dari keempat ini dalam dunia pemrograman ? dan Bagaimana Membuat CRUD pada Codeigniter ? pelajari tutorial berikut :

C (Create) : membuat dan menyimpan sebuah data ke sebuah database, contoh : kita memasukan data / menyimpan data kedalam sebuah database sql.

R (Read) : menampilkan atau membaca data dari sebuah database, contoh : kita menampilkan sebuah data dari database sql ke dalam sebuah aplikasi web.
U (Update) : mengubah data yang sudah ada lalu menyiman data ke sebuah database, contoh : kita melakukan pengubahan data yang sudah dan data tersebut di perbaharui lau kita menyimpanya.
D (Delete) : Menghapus sebuah data dari database, contoh : kita melakukan hapus data tertentu di dalam database

Membuat (CRUD) Create, Read, Update, Delete Data pada Codeigniter
Membuat (CRUD) Create, Read, Update, Delete Data pada Codeigniter


Dan intinya dengan adanya CRUD ( Create, Read, Update, Delete ) kita dapat melakukan sebuah manipulasi data di dalam sebuah database.

Tutorial ini merupakan tutorial berkelanjutan, untuk melihat daftar isi silahkan baca artikel : Tutorial Pembuatan Apliakasi PPDB Online Berbasis Web Lihat Artikel )

Dalam tutorial kali ini saya menggunakan framework codeigniter, dengan bahasa pemrograman php. serta untuk databasenya sendiri saya menggunakan mysql. dan untuk layout dan pembuatan form saya menggunakan bootstrap.

  • Pembuatan Model
    1. Buatlah sebuah file model di direktori application/models/ namai dan simpan model tersebut dengan nama MDaftar.php, jika mengikuti tutorial sebelumnya maka anda cukup menambahkan beberapa script berikut 
    2. Masukan script di bawah ini kedalam file MDaftar.php lalu simpan
       <?php
      defined('BASEPATH') OR exit('No direct script access allowed');
      
      class MDaftar extends CI_Model {
      
       public function tampil() {
        return $this->db->get('tb_daftar');
       }
      
       public function simpan($data) {
        return $this->db->insert('tb_daftar', $data);
       }
      
       public function hapus($data)
       {
        $hapus = $this->db->where('id_daftar', $data);
              return $this->db->delete('tb_daftar', $hapus);
       }
      
      } 
    1. Pembuatan View
      1. Buatlah folder baru didalam application/views berinama folder tersebut dengan nama "pendaftar"
      2. Buatlah sebuah file view di direktori application/views/pendaftar/ namai dan simpan view tersebut dengan nama tampil.php (menampilkan data dari database mysql ke dalam web codeigniter)
      3. Masukan script di bawah ini kedalam file tampil.php lalu simpan
         <h3><?php echo $title; ?></h3>
         
         <?php if ($this->session->flashdata('berhasil_simpan')) { ?>
          <?php $this->load->view('alert/berhasil_simpan'); ?>
         <?php } ?>
        
         <?php if ($this->session->flashdata('berhasil_edit')) { ?>
          <?php $this->load->view('alert/berhasil_edit'); ?>
         <?php } ?>
        
         <?php if ($this->session->flashdata('berhasil_hapus')) { ?>
          <?php $this->load->view('alert/berhasil_hapus'); ?>
         <?php } ?>
        
         <?php if ($this->session->flashdata('gagal_cari')) { ?>
          <?php $this->load->view('alert/gagal_cari'); ?>
         <?php } ?>
        
        <a href="<?php echo base_url('pendaftar/tambah'); ?>" class="btn btn-success">Tambah Data</a>
        
        <br>
        <br>
        <table class="table table-bordered">
         <thead>
          <tr>
           <th>No.</th>
           <th>ID Pendaftar</th>
           <th>Nama</th>
           <th>Kelamin</th>
           <th>Tgl Lahir</th>
           <th>Agama</th>
           <th>Alamat</th>
           <th>Asal Sekolah</th>
           <th>No Hp</th>
           <th>Ayah</th>
           <th>Ibu</th>
           <th>Aksi</th>
          </tr>
         </thead>
         <tbody>
          <?php
          $no = 1 ;
          foreach ($data as $value) { ?>
           <tr>
            <td><?php echo $no; ?></td>
            <td><?php echo $value['id_daftar']; ?></td>
            <td><?php echo $value['nama_siswa']; ?></td>
            <td><?php echo $value['kelamin_siswa'] ?></td>
            <td><?php echo $value['tgl_lahir_siswa'] ?></td>
            <td><?php echo $value['agama_siswa'] ?></td>
            <td><?php echo $value['alamat_siswa'] ?></td>
            <td><?php echo $value['asal_sekolah_siswa'] ?></td>
            <td><?php echo $value['no_hp_siswa'] ?></td>
            <td><?php echo $value['nama_ayah_siswa'] ?></td>
            <td><?php echo $value['nama_ibu_siswa'] ?></td>
            <td>
             <a href="<?php echo base_url('pendaftar/edit/'.$value['id_daftar']); ?>" class="btn btn-xs btn-warning">
              <i class="glyphicon glyphicon-pencil"></i>
             </a>
             <a href="<?php echo base_url('pendaftar/hapus/'.$value['id_daftar']); ?>" onclick="return confirm('Apakah anda yakin ingin menghapus data ini ?')" class="btn btn-xs btn-danger">
              <i class="glyphicon glyphicon-trash"></i>
             </a>
            </td>
           </tr>
          <?php
          $no++;
          }
          ?>
        
          
         </tbody>
        </table> 
      4. Buatlah sebuah file view di direktori application/views/pendaftar/ namai dan simpan view tersebut dengan nama tambah.php (membuat form tambah data)
      5. Masukan script di bawah ini kedalam file tambah.php lalu simpan
         <h3><?php echo $title; ?></h3>
        <hr>
        <?php if ($this->session->flashdata('berhasil_simpan')) { ?>
          <?php $this->load->view('alert/berhasil_simpan'); ?>
         <?php } ?>
        <?php echo form_open(base_url('pendaftar/tambah'), 'class="form-horizontal"' ); ?>
         <div class="form-group">
          <label class="col-sm-2">Nama</label>
          <div class="col-sm-4">
           <input type="text" name="nama_siswa" class="form-control" placeholder="Isi Nama Anda" required="" autofocus>
          </div>
         </div>
         <div class="form-group">
          <label class="col-sm-2">Jenis Kelamin</label>
          <div class="col-sm-4">
           <input type="radio" name="kelamin_siswa" value="Pria" required=""> Pria
           <input type="radio" name="kelamin_siswa" value="Wanita" required=""> Wanita
          </div>
         </div>
         <div class="form-group">
          <label class="col-sm-2">Tanggal Lahir</label>
          <div class="col-sm-4">
           <input type="date" name="tgl_lahir_siswa" class="form-control" required="">
          </div>
         </div>
         <div class="form-group">
          <label class="col-sm-2">Agama</label>
          <div class="col-sm-4">
           <select name="agama_siswa" class="form-control" required="">
            <option></option>
            <option value="Islam">Islam</option>
            <option value="Kristen">Kristen</option>
            <option value="Katholik">Katholik</option>
            <option value="Budha">Budha</option>
            <option value="Hindu">Hindu</option>
            <option value="Konghuchu">Konghuchu</option>
           </select>
          </div>
         </div>
         <div class="form-group">
          <label class="col-sm-2">Alamat</label>
          <div class="col-sm-4">
           <textarea name="alamat_siswa" class="form-control" placeholder="Isi Alamat Anda" required=""></textarea>
          </div>
         </div>
         <div class="form-group">
          <label class="col-sm-2">Asal Sekolah</label>
          <div class="col-sm-4">
           <input type="text" name="asal_sekolah_siswa" class="form-control" placeholder="Isi Asal Sekolah Anda" required="">
          </div>
         </div>
         <div class="form-group">
          <label class="col-sm-2">No HP</label>
          <div class="col-sm-4">
           <input type="number" name="no_hp_siswa" class="form-control" placeholder="No HP" required="">
          </div>
         </div>
         <div class="form-group">
          <label class="col-sm-2">Nama Ayah</label>
          <div class="col-sm-4">
           <input type="text" name="nama_ayah_siswa" class="form-control" placeholder="Isi Nama Ayah Anda" required="">
          </div>
         </div>
         <div class="form-group">
          <label class="col-sm-2">Nama Ibu</label>
          <div class="col-sm-4">
           <input type="text" name="nama_ibu_siswa" class="form-control" placeholder="Isi Nama Ibu Anda" required="">
          </div>
         </div>
         <div class="form-group">
          <div class="col-sm-offset-2 col-sm-4">
           <input type="submit" value="Daftar" name="submit" class="btn btn-success">
           <input type="reset" value="Hapus" class="btn btn-danger">
           <a href="<?php echo base_url('pendaftar'); ?>" class="btn btn-warning">Batal</a>
          </div>
         </div>
        <?php echo form_close(); ?> 
      6. Buatlah sebuah file view di direktori application/views/pendaftar/ namai dan simpan view tersebut dengan nama edit.php (membuat form edit data)
      7. Masukan script di bawah ini kedalam file edit.php lalu simpan
         <h3><?php echo $title; ?></h3>
        <hr>
        <?php if ($this->session->flashdata('berhasil_simpan')) { ?>
          <?php $this->load->view('alert/berhasil_simpan'); ?>
         <?php } ?>
        <?php echo form_open((''), 'class="form-horizontal"' ); ?>
         <div class="form-group">
          <label class="col-sm-2">Nama</label>
          <div class="col-sm-4">
           <input type="text" name="nama_siswa" class="form-control" value="<?php echo $editdata->nama_siswa; ?>" required="" autofocus>
          </div>
         </div>
         <div class="form-group">
          <label class="col-sm-2">Jenis Kelamin</label>
          <div class="col-sm-4">
           <input type="radio" name="kelamin_siswa" value="Pria" <?php if ($editdata->kelamin_siswa == "Pria") { ?> checked=checked <?php } ?>> Pria
           <input type="radio" name="kelamin_siswa" value="Wanita" <?php if ($editdata->kelamin_siswa == "Wanita") { ?> checked=checked <?php } ?>> Wanita
          </div>
         </div>
         <div class="form-group">
          <label class="col-sm-2">Tanggal Lahir</label>
          <div class="col-sm-4">
           <input type="date" name="tgl_lahir_siswa" class="form-control" value="<?php echo $editdata->tgl_lahir_siswa; ?>" required="">
          </div>
         </div>
         <div class="form-group">
          <label class="col-sm-2">Agama</label>
          <div class="col-sm-4">
           <select name="agama_siswa" class="form-control" required="">
            <option value="<?php echo $editdata->agama_siswa; ?>"> -- <?php echo $editdata->agama_siswa; ?> -- </option>
            <option value="Islam">Islam</option>
            <option value="Kristen">Kristen</option>
            <option value="Katholik">Katholik</option>
            <option value="Budha">Budha</option>
            <option value="Hindu">Hindu</option>
            <option value="Konghuchu">Konghuchu</option>
           </select>
          </div>
         </div>
         <div class="form-group">
          <label class="col-sm-2">Alamat</label>
          <div class="col-sm-4">
           <textarea name="alamat_siswa" class="form-control" placeholder="Isi Alamat Anda" required=""><?php echo $editdata->alamat_siswa; ?></textarea>
          </div>
         </div>
         <div class="form-group">
          <label class="col-sm-2">Asal Sekolah</label>
          <div class="col-sm-4">
           <input type="text" name="asal_sekolah_siswa" class="form-control" value="<?php echo $editdata->asal_sekolah_siswa; ?>" required="">
          </div>
         </div>
         <div class="form-group">
          <label class="col-sm-2">No HP</label>
          <div class="col-sm-4">
           <input type="number" name="no_hp_siswa" class="form-control" value="<?php echo $editdata->no_hp_siswa; ?>" required="">
          </div>
         </div>
         <div class="form-group">
          <label class="col-sm-2">Nama Ayah</label>
          <div class="col-sm-4">
           <input type="text" name="nama_ayah_siswa" class="form-control" value="<?php echo $editdata->nama_ayah_siswa; ?>" required="">
          </div>
         </div>
         <div class="form-group">
          <label class="col-sm-2">Nama Ibu</label>
          <div class="col-sm-4">
           <input type="text" name="nama_ibu_siswa" class="form-control" value="<?php echo $editdata->nama_ibu_siswa; ?>" required="">
          </div>
         </div>
         <div class="form-group">
          <div class="col-sm-offset-2 col-sm-4">
           <input type="submit" value="Perbaharui" name="submit" class="btn btn-success">
           <input type="reset" value="Hapus" class="btn btn-danger">
           <a href="<?php echo base_url('pendaftar'); ?>" class="btn btn-warning">Batal</a>
          </div>
         </div>
        <?php echo form_close(); ?> 
      1. Pembuatan Controller
        1. Buatlah sebuah file controller di direktori application/controllers/ namai dan simpan model tersebut dengan nama Pendaftar.php 
        2. Masukan script di bawah ini kedalam file Pendaftar.php lalu simpan
          <?php
          class Pendaftar extends CI_Controller {
          
              public function __construct()
              {
                  parent::__construct();
                  $this->load->model('MDaftar');
                  if ($this->session->userdata('status') != 'login') {
                      redirect(base_url('login'));
                  };
          
                  $id_login   = $this->session->userdata("id_user");
                  $datalogin  = $this->db->get_where("tb_user", array('id_user'=> $id_login))->row();
              }
          
              public function index()
              {
                  $data['title']  = "Data Pendaftar";
                  $data['data']   = $this->MDaftar->tampil()->result_array();
                  $data['konten'] = "pendaftar/tampil";
                  $data['web']    = $this->MWeb->tampil()->row();
                  $this->load->view('template', $data);
              }
          
              public function tambah() {
               $data['title']    = "Tambah Pendaftar";
                  $data['web']    = $this->MWeb->tampil()->row();
                  if ($this->input->post('submit')) {
          
                      $a = $this->input->post('nama_siswa');
                      $b = $this->input->post('kelamin_siswa');
                      $c = $this->input->post('tgl_lahir_siswa');
                      $d = $this->input->post('agama_siswa');
                      $e = $this->input->post('alamat_siswa');
                      $f = $this->input->post('asal_sekolah_siswa');
                      $g = $this->input->post('no_hp_siswa');
                      $h = $this->input->post('nama_ayah_siswa');
                      $i = $this->input->post('nama_ibu_siswa');
          
                      $objek = array(
                          'nama_siswa' => $a,
                          'kelamin_siswa' => $b,
                          'tgl_lahir_siswa' => $c,
                          'agama_siswa' => $d,
                          'alamat_siswa' => $e,
                          'asal_sekolah_siswa' => $f,
                          'no_hp_siswa' => $g,
                          'nama_ayah_siswa' => $h,
                          'nama_ibu_siswa' => $i
                           );
          
                      $query = $this->MDaftar->simpan($objek);
          
                      if ($query) {
                          $this->session->set_flashdata('berhasil_simpan', 'sukses');
                          redirect(base_url('pendaftar'));
                      }
          
                  } else {
                      $data['konten'] = "pendaftar/tambah";
                      $this->load->view('template', $data);
                  }
              }
          
              public function edit($id) {
                  $data['title']  = "Edit Data Pendaftar";
                  $data['web']    = $this->MWeb->tampil()->row();
                  if ($this->input->post('submit')) {
                      
                      $a = $this->input->post('nama_siswa');
                      $b = $this->input->post('kelamin_siswa');
                      $c = $this->input->post('tgl_lahir_siswa');
                      $d = $this->input->post('agama_siswa');
                      $e = $this->input->post('alamat_siswa');
                      $f = $this->input->post('asal_sekolah_siswa');
                      $g = $this->input->post('no_hp_siswa');
                      $h = $this->input->post('nama_ayah_siswa');
                      $i = $this->input->post('nama_ibu_siswa');
          
                      $objek = array(
                          'nama_siswa' => $a,
                          'kelamin_siswa' => $b,
                          'tgl_lahir_siswa' => $c,
                          'agama_siswa' => $d,
                          'alamat_siswa' => $e,
                          'asal_sekolah_siswa' => $f,
                          'no_hp_siswa' => $g,
                          'nama_ayah_siswa' => $h,
                          'nama_ibu_siswa' => $i
                           );
          
                      $this->db->where('id_daftar', $id);
                      $query = $this->db->update('tb_daftar', $objek);
          
                      if ($query) {
                          $this->session->set_flashdata('berhasil_edit', 'sukses');
                          redirect(base_url('pendaftar'));
                      }
          
                  } else {
                      $data['konten'] = "pendaftar/edit";
                      $data['editdata'] = $this->db->get_where("tb_daftar", array('id_daftar'=> $id))->row();
                      $this->load->view('template', $data); 
                  }
              }
          
              public function hapus($id)
              {
          
                  $query = $this->MDaftar->hapus($id);
          
                  if ($query) {
                      $this->session->set_flashdata('berhasil_hapus', 'sukses');
                      redirect(base_url('pendaftar'));
                  }
              } 

        Baca juga artikel terkait :
        Demikian tutorial Pemembuatan (CRUD) Create, Read, Update, Delete Data pada Codeigniter jika anda mengalami kendala atau error anda bisa bertanya di kolom komentar. Semoga tutorial ini bermanfaat bagi anda yang sedang belajar pemrograman php khususnya Framework Codeigniter, dan apabila anda menyukai tutorial ini, silahkan untuk berlangganan artikel secara gratis dan anda dapat membagikan artikel ini di akun sosial media milik anda.

        2 comments

        1. Tutorialnya bermanfaat sekali kak, mudah dan jelas. Ditunggu blog2 selanjutnya kak terima kasih
          Nama: Yulinda Sari
          Nim: 1922500197
          Dan link web kamus saya
          https://www.atmaluhur.ac.id/

          ReplyDelete


        EmoticonEmoticon