Creat Read Update Delete (CRUD) secara garis besar adalah konsep manipulasi terhadap data/ record yang secara umum tersimpan dalam database. Pada kasus kali ini, pembuatan CRUD akan dilakukan menggunakan bahasa pemrograman PHP, di mana PHP sendiri merupakan sebuah bahasa pemrograman yang berada pada sisi server (server-side) yang cukup populer di kalangan programmer. Program CRUD yang akan dibahas kali ini tentunya sangar basic dan mendasar dengan tujuan agar lebih mudah dipraktikkan dan dipahami sehingga untuk kedepannya dapat dikembangkan lebih lanjut. Program ini tidak menggunakan plugin javascript/ ekstensi lainnya mengingat hal tersebut akan memperkompleks tutorial kali ini. Oke, langsung kita mulai saja.

Yang perlu dipersiapkan:

  • Web server (ie: XAMPP, LAMPP, AppServ, dsb), yang saya gunakan adalah PHP versi 5.6
  • Browser (ie: Google Chrome, Mozilla Firefox, Opera, dsb)
  • Text Editor (ie: Atom, Sublime Text, Visual Studio Code, dsb)

 

  • Buat basis data dan table yang diperlukan
CREATE DATABASE db_belajar;
CREATE TABLE tb_crud (
    id int(5) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    nama varchar(30) NOT NULL,
    alamat text NOT NULL,
    jenis_kelamin enum('l','p') NOT NULL
);

db_belajar merupakan nama database yang akan kita buat, sedangkan tb_crud merupakan tabel yang akan kita gunakan untuk manipulasi data pada program yang kita buat ini. id, nama, alamat, dan jenis_kelamin merupakan field/ kolom yang ada pada tb_crud dengan tipe data dan atribut field lainnya yang dapat Anda pelajari lebih lanjut di dokumentasi mysql.

  • Buat file koneksi.php
<?php
  $host = 'localhost';
  $user = 'root';
  $password = '';
  $db = 'db_belajar';

  $konek = mysqli_connect($host, $user, $password, $db);

Oke, kita mulai ke tahap coding kali ini.  Silakan ganti value pada variabel host, user, password, dan db sesuai dengan konfigurasi web server yang terinstall di laptop/ pc masing-masing dan nama database yang telah disediakan untuk tutorial kali ini. Selanjutnya dilakukan proses konek melalui fungsi built-in php yakni mysqli_connect dengan parameter nilai variabel yang dideklarasikan sebelumnya. Proses konek ini agar lebih mudah dipakai untuk selanjutnya akan disimpan ke variabel konek.

  • Buat file index.php
<!DOCTYPE html>
<html>
  <head>
    <meta charset='utf-8'>
    <title>Input</title>
  </head>
  <body>
    <form class='' action='proses.php' method='post'>
    <table>
      <tr>
        <td>Nama</td>
        <td>:</td>
        <td><input type='text' name='nama'></td>
      </tr>
      <tr>
        <td>Alamat</td>
        <td>:</td>
        <td><textarea name='alamat' rows='8' cols='80'></textarea></td>
      </tr>
      <tr>
        <td>Jenis Kelamin</td>
        <td>:</td>
        <td><input type='radio' name='jk' value='l'> Laki-laki
        <input type='radio' name='jk' value='p'> Perempuan</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td colspan='2'><input type='submit' name='simpan' value='Simpan'>
      <input type='reset' name='reset' value='Reset'></td>
      </tr>
    </table>
    </form>
  </body>
</html>

Anda sebenarnya dapat menyimpan file ini dengan ekstensi .html karena memang tidak ada script php di dalamnya. Oke, jadi file ini merupakan tampilan default yang akan dibuka oleh browser ketika web server mengakses direktori program Anda dibuat. File ini hanya berisi form inputan dengan tabel yang hanya berfungsi untuk merapikan tampilannya saja. Bila dijalankan di browser nanti tampilannya seperti ini:

  • Buat file edit.php
<?php
  include 'koneksi.php';
  $id = $_GET['id'];
  $query = 'SELECT * FROM tb_crud WHERE id = '.$id;
  $result = mysqli_query($konek, $query);
  $data = mysqli_fetch_assoc($result);
?>
<!DOCTYPE html>
<html>
  <head>
    <meta charset='utf-8'>
    <title>Input</title>
  </head>
  <body>
    <form class='' action='proses.php' method='post'>
    <input type='hidden' name='id' value='<?php echo $data['id']; ?>'>
    <table>
      <tr>
        <td>Nama</td>
        <td>:</td>
        <td>
          <input type='text' name='nama' value='<?php echo $data['nama']; ?>'>
        </td>
      </tr>
      <tr>
        <td>Alamat</td>
        <td>:</td>
        <td>
          <textarea name='alamat' rows='8' cols='80'>
            <?php echo $data['alamat']; ?>
          </textarea>
        </td>
      </tr>
      <tr>
        <td>Jenis Kelamin</td>
        <td>:</td>
        <td>
          <input type='radio' name='jk' value='l' <?php if($data['jenis_kelamin']=='l') echo 'checked'; ?>> 
          Laki-laki
          <input type='radio' name='jk' value='p' <?php if($data['jenis_kelamin']=='p') echo 'checked'; ?>> 
          Perempuan
        </td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td colspan='2'>
          <input type='submit' name='update' value='Update'>
          <input type='reset' name='reset' value='Reset'>
        </td>
      </tr>
    </table>
    </form>
  </body>
</html>

Yah, sebenernya file ini hasi copasan dari file index sih. Cuman ketambahan beberapa syntax php untuk menampilkan nilai data yang akan diedit. Nah, sebaiknya jika sudah selesai dibuat jangan dicoba dulu sebelum file tampil.php-nya dibuat (sabar, nanti selanjutnya) karena kemungkinan besar yang tampil malah error. Kurang lebih tampilannya akan seperti ini:

 

  • Buat file proses.php
<?php
  include 'koneksi.php';
  if (isset($_POST['simpan'])) {
    $nama = $_POST['nama'];
    $alamat = $_POST['alamat'];
    $jk = $_POST['jk'];

    $query = 'INSERT INTO tb_crud VALUES(NULL, '$nama', '$alamat', '$jk')';
    $execute = mysqli_query($konek, $query);

    if ($execute) {
      header('location: index.php');
    }
  }

  if (isset($_POST['update'])) {
    $id = $_POST['id'];
    $nama = $_POST['nama'];
    $alamat = $_POST['alamat'];
    $jk = $_POST['jk'];

    $query = 'UPDATE tb_crud SET nama='$nama', alamat='$alamat', jenis_kelamin='$jk'
              WHERE id='$id'';
    $execute = mysqli_query($konek, $query);

    if ($execute) {
      header('location: tampil.php');
    }
  }

File ini berisi syntax php untuk prosesing data yang di pass dari inputan. Proses ini digunakan untuk meng-creat (input data baru) dan mengupdate (memperbaharui data yang sudah ada) pada database. Tentunya tidak akan tampil apa-apa ketika file ini dijalankan.

  • Buat file tampil.php
<?php include 'koneksi.php'; ?>
<!DOCTYPE html>
<html>
  <head>
    <meta charset='utf-8'>
    <title>Tampil</title>
  </head>
  <body>
    <table border='1' align='center'>
      <tr>
        <td>No</td>
        <td>Nama</td>
        <td>Alamat</td>
        <td>Jenis Kelamin</td>
        <td>Aksi</td>
      </tr>
      <?php
        $i = 1;
        $query = 'SELECT * FROM tb_crud';
        $result = mysqli_query($konek, $query);
        while ($row = mysqli_fetch_assoc($result)) {
      ?>
      <tr>
        <td><?php echo $i; ?></td>
        <td><?php echo $row['nama']; ?></td>
        <td><?php echo $row['alamat']; ?></td>
        <td>
          <?php
            $jk = $row['jenis_kelamin'];
            if ($jk=='l')
              echo 'Laki-laki';
            else
              echo 'Perempuan'
          ?>
        </td>
        <td>
          <a href='edit.php?id=<?php echo $row['id']; ?>'>Edit</a>
          <a href='hapus.php?id=<?php echo $row['id']; ?>'>Hapus</a>
        </td>
      </tr>
      <?php $i++; } ?>
    </table>
  </body>
</html>

Nah, file ini digunakan untuk menampilkan record yang sudah tersimpan di basis data. Tampilannya hanya akan berupa plain table yang pada kolom paling kanan terdapat hyperlink untuk mengedit dan menghapus record bersangkutan. Tampilannya kurang lebih akan seperti ini:

  • Buat file hapus.php
<?php
  include 'koneksi.php';
  $id = $_GET['id'];
  $query = 'DELETE FROM tb_crud WHERE id='$id'';
  $execute = mysqli_query($konek, $query);
  if ($execute) {
    header('location: tampil.php');
  }

Oke, kita tiba pada sesi terakhir tutorial. Yang kita buat kali ini tak lain ialah file untuk prosesing delete/ hapus record dari database. Karena file ini merupakan file prosesing tentunya tidak ada tampilan khususnya hahaha.

 

Beberapa keterangan dan kesimpulan:

  • Bagi yang mengamati, coding yang saya buat pada setiap file yang di dalamnya terdapat syntax full php (tidak ada syntax lain seperti html atau js) dapat dilihat bahwa saya tidak memberikan closing tag terhadap syntax tersebut. Hal itu saya lakukan berdasarkan aturan resmi dari dokumentasi bahasa pemrograman php yang bisa dicek di sini. Dengan tidak disertakan closing tag pada penulisan php ini berdasarkan dokumentasi tersebut akan mengatasi masalah pada header dan menghindari tercetaknya blankspace/ whitespace yang tidak diinginkan

 

Apabila masih terjadi error, atau ada pertanyaan seputar tutorial ini harap disampaikan pada kolom komentar. Terimakasih 

Share :

0 Komentar

Berikan Komentar

*Komentar yang memuat konten kurang pantas akan dihapus secara permanen



Apabila Anda ingin membuat artikel untuk kami sertakan dalam daftar artikel website kami, silakan submit artikel Anda disini

Rack Edan, Rack Spira