Pada kesempatan kali ini, kita akan mencoba membuat CRUD(Create, Read, Update, Delete) menggunakan framework codeigniter. Langsung saja kita mulai dengan langkah pertama ini, dengan membuat database dengan nama tutorial_rumah_coding dan sebuah table dengan nama siswa seperti yang terlihat dibawah ini:

Selanjutnya lakukan pengaturan pada file autoload.php yang terdapat didalam folder application/config/ seperti berikut ini :

Setelah helper dan libraries yang kita butuhkan sudah diload, selanjutnya hubungkan database dengan project kita seperti berikut ini :

Tidak lupa juga untuk mengatur base_url yang terdapat didalam file config.php pada folder application/config/ :

Kemudian buat sebuah controllers dengan nama CrudSiswa.php dengan perintah sebagai berikut ini :

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

class CrudSiswa extends CI_Controller {

    public function __construct(){

        parent ::__construct();

        //load model
        $this->load->model('CrudSiswaModel');

    }

    public function index()
    {
        $data = array(

            'title'     => 'Data Siswa',
            'data_siswa' => $this->CrudSiswaModel->get_all(),

        );

        $this->load->view('datasiswa', $data);
    }

    public function tambah()
    {
        $data = array(

            'title'     => 'Tambah Data Siswa'

        );

        $this->load->view('tambahsiswa', $data);
    }

    public function simpan()
    {
        $data = array(

            'id_siswa'       => $this->input->post("id_siswa"),
            'nama'         => $this->input->post("nama"),
            'email'    => $this->input->post("email"),
            'password'         => $this->input->post("password"),
            'telepon'         => $this->input->post("telepon"),
            'pelajaran'         => $this->input->post("pelajaran")


        );

        $this->CrudSiswaModel->simpan($data);

        $this->session->set_flashdata('notif', '<div class="alert alert-success alert-dismissible"> Success! data siswa berhasil disimpan didatabase.
                                                </div>');

        //redirect
        redirect('CrudSiswa/');

    }

    public function edit($id_siswa)
    {
        $id_siswa = $this->uri->segment(3);

        $data = array(

            'title'     => 'Edit Data Siswa',
            'data_siswa' => $this->CrudSiswaModel->edit($id_siswa)

        );

        $this->load->view('editsiswa', $data);
    }

    public function update()
    {
        $id['id_siswa'] = $this->input->post("id_siswa");
        $data = array(

            'id_siswa'           => $this->input->post("id_siswa"),
            'nama'         => $this->input->post("nama"),
            'email'    => $this->input->post("email"),
            'password'         => $this->input->post("password"),
            'telepon'         => $this->input->post("password"),
            'pelajaran'         => $this->input->post("pelajaran"),


        );

        $this->CrudSiswaModel->update($data, $id);

        $this->session->set_flashdata('notif', '<div class="alert alert-success alert-dismissible"> Success! data berhasil diupdate didatabase.
                                                </div>');

        //redirect
        redirect('CrudSiswa');

    }

    public function hapus($id_siswa)
    {
        $this->CrudSiswaModel->hapus($id_siswa);
        //redirect
        redirect('CrudSiswa');

    }

}

Selanjutnya buat sebuah Model dengan nama CrudSiswaModel.php dengan perintah seperti berikut ini :

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

class CrudSiswaModel extends CI_model{

    public function get_all()
    {
        $query = $this->db->select("*")
                 ->from('siswa')
                 ->order_by('id_siswa', 'DESC')
                 ->get();
        return $query->result();
    }

    public function simpan($data)
    {

        $query = $this->db->insert("siswa", $data);

        if($query){
            return true;
        }else{
            return false;
        }

    }

    public function edit($id_siswa)
    {

        $query = $this->db->where("id_siswa", $id_siswa)
                ->get("siswa");

        if($query){
            return $query->row();
        }else{
            return false;
        }

    }

    public function update($data, $id_siswa)
    {

        $query = $this->db->update("siswa", $data, $id_siswa);

        if($query){
            return true;
        }else{
            return false;
        }

    }

    public function hapus($id_siswa)
    {

      $this->db->where('id_siswa', $id_siswa);
      $this->db->delete('siswa');

      

    }

}

Langkah Terakhir Adalah membuat halaman/view untuk menampikan data siswa, halaman tambah data siswa dan halaman edit data siswa. Pertama kita membuat halaman data siswa dengan nama file datasiswa.php :

<!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">
</head>
<body>

    <div class="container" style="margin-top: 80px">
        <?php echo $this->session->flashdata('notif') ?>
        <a href="<?php echo base_url() ?>index.php/CrudSiswa/tambah/" class="btn btn-md btn-success">Tambah Buku</a>
        <hr>
        <!-- table -->
        <div class="table-responsive">
            <table id="table" class="table table-striped table-bordered table-hover">
                <thead>
                  <tr>
                    <th>No.</th>
                    <th>Id Siswa</th>
                    <th>Nama</th>
                    <th>Email</th>
                    <th>Password</th>
                    <th>Telepon</th>
                    <th>Pelajaran</th>
                    <th>Aksi</th>
                  </tr>
                </thead>
                <tbody>

                <?php
                    $no = 1;
                    foreach($data_siswa as $hasil){
                ?>

                  <tr>
                    <td><?php echo $no++ ?></td>
                    <td><?php echo $hasil->id_siswa ?></td>
                    <td><?php echo $hasil->nama ?></td>
                    <td><?php echo $hasil->email ?></td>
                    <td><?php echo $hasil->password ?></td>
                    <td><?php echo $hasil->telepon ?></td>
                    <td><?php echo $hasil->pelajaran ?></td>
                    <td>
                        <a href="<?php echo base_url() ?>index.php/CrudSiswa/edit/<?php echo $hasil->id_siswa ?>" class="btn btn-sm btn-success">Edit</a>
                        <a href="<?php echo base_url() ?>index.php/CrudSiswa/hapus/<?php echo $hasil->id_siswa ?>" class="btn btn-sm btn-danger">Hapus</a>
                    </td>
                  </tr>

                <?php } ?>

                </tbody>
              </table>
        </div>

    </div>

<script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/js/bootstrap.min.js"></script>


</body>
</html>

Hasilnya akan terlihat seperti ini :

Buat lagi halaman tambah data dengan nama file tambahsiswa.php :

<!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">
</head>
<body>

    <div class="container" style="margin-top: 80px">
        <div class="col-md-12">
            <?php echo form_open('CrudSiswa/simpan') ?>

              <div class="form-group">
                <label for="text">No. Siswa</label>
                <input type="text" name="no_siswa" class="form-control" placeholder="Masukkan No. Siswa">
              </div>

              <div class="form-group">
                <label for="text">Nama</label>
                <input type="text" name="nama" class="form-control" placeholder="Masukkan Nama">
              </div>

              <div class="form-group">
                <label for="text">Email</label>
                <input type="email" name="email" class="form-control" >
              </div>

              <div class="form-group">
                <label for="text">Password</label>
                <input type="password" name="password" class="form-control" >
              </div>

              <div class="form-group">
                <label for="text">Telepon</label>
                <input type="number" name="telepon" class="form-control" >
              </div>

              <div class="form-group">
                <label for="text">Pelajaran</label>
                <input type="text" name="pelajaran" class="form-control" >
              </div>

              <button type="submit" class="btn btn-md btn-success">Simpan</button>
              <button type="reset" class="btn btn-md btn-warning">reset</button>
            <?php echo form_close() ?>
        </div>
    </div>

<script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/js/bootstrap.min.js"></script>
</body>
</html>

Hasilnya akan terlihat seperti ini :

Kemudian langkah terakhir, kita membuat halaman edit dengan nama file editsiswa.php :

<!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">
</head>
<body>

    <div class="container" style="margin-top: 80px">
        <div class="col-md-12">
            <?php echo form_open('CrudSiswa/update') ?>

              <div class="form-group">
                <label for="text">Nama </label>
                <input type="text" name="nama" value="<?php echo $data_siswa->nama ?>" class="form-control" placeholder="Nama Siswa">
                <input type="hidden" value="<?php echo $data_siswa->id_siswa ?>" name="id_siswa">
              </div>

              <div class="form-group">
                <label for="text">Email</label>
                <input type="text" name="nama_buku" value="<?php echo $data_siswa->email ?>" class="form-control" placeholder="Masukkan Email">
              </div>

              <div class="form-group">
                <label for="text">Password</label>
                <input type="password" name="password" value="<?php echo $data_siswa->password ?>" class="form-control" placeholder="Masukkan Password">
              </div>

              <div class="form-group">
                <label for="text">Telepon</label>
                <input type="number" name="telepon" value="<?php echo $data_siswa->telepon ?>" class="form-control" placeholder="Masukkan Telepon">
              </div>

              <div class="form-group">
                <label for="text">Pelajaran</label>
                <input type="text" name="pelajaran" value="<?php echo $data_siswa->pelajaran ?>" class="form-control" placeholder="Masukkan Pelajaran">
              </div>





              <button type="submit" class="btn btn-md btn-success">Update</button>
              <button type="reset" class="btn btn-md btn-warning">reset</button>
            <?php echo form_close() ?>
        </div>
    </div>

<script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/js/bootstrap.min.js"></script>
</body>
</html>

Hasilnya akan terlihat seperti berikut ini :

Categories: Uncategorized