Rumah Coding Tutorial Blog

Membuat CRUD Dengan Framework Codeigniter

Posted by:

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-&gt;load-&gt;model('CrudSiswaModel');

    }

    public function index()
    {
        $data = array(

            'title'     =&gt; 'Data Siswa',
            'data_siswa' =&gt; $this-&gt;CrudSiswaModel-&gt;get_all(),

        );

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

    public function tambah()
    {
        $data = array(

            'title'     =&gt; 'Tambah Data Siswa'

        );

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

    public function simpan()
    {
        $data = array(

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


        );

        $this-&gt;CrudSiswaModel-&gt;simpan($data);

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

        //redirect
        redirect('CrudSiswa/');

    }

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

        $data = array(

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

        );

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

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

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


        );

        $this-&gt;CrudSiswaModel-&gt;update($data, $id);

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

        //redirect
        redirect('CrudSiswa');

    }

    public function hapus($id_siswa)
    {
        $this-&gt;CrudSiswaModel-&gt;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-&gt;db-&gt;select("*")
                 -&gt;from('siswa')
                 -&gt;order_by('id_siswa', 'DESC')
                 -&gt;get();
        return $query-&gt;result();
    }

    public function simpan($data)
    {

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

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

    }

    public function edit($id_siswa)
    {

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

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

    }

    public function update($data, $id_siswa)
    {

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

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

    }

    public function hapus($id_siswa)
    {

      $this-&gt;db-&gt;where('id_siswa', $id_siswa);
      $this-&gt;db-&gt;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&gt;
<html&gt;
<head&gt;
    <title&gt;<?php echo $title ?&gt;</title&gt;
    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/css/bootstrap.min.css"&gt;
</head&gt;
<body&gt;

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

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

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

                <?php } ?&gt;

                </tbody&gt;
              </table&gt;
        </div&gt;

    </div&gt;

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


</body&gt;
</html&gt;

Hasilnya akan terlihat seperti ini :

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

<!DOCTYPE html&gt;
<html&gt;
<head&gt;
    <title&gt;<?php echo $title ?&gt;</title&gt;
    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/css/bootstrap.min.css"&gt;
</head&gt;
<body&gt;

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

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

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

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

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

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

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

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

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

Hasilnya akan terlihat seperti ini :

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

<!DOCTYPE html&gt;
<html&gt;
<head&gt;
    <title&gt;<?php echo $title ?&gt;</title&gt;
    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/css/bootstrap.min.css"&gt;
</head&gt;
<body&gt;

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

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

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

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

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

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





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

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

Hasilnya akan terlihat seperti berikut ini :

0
  Related Posts
  • No related posts found.

Add a Comment