Contoh Aplikasi CRUD (Create Read Update Delete) Sederhana Data Pegawai

Assalamualaikum Wr Wb,... Sobat Codingku PHP-MySQL, alhamdulillah pagi yang cerah ini kita masih diberi kesempatan untuk menghirup udara segar. Alhamdulillah juga artikel Contoh Aplikasi CRUD (Create Read Update Delete) Sederhana Data Pegawai ini dapat saya publikasikan, sebelumnya terkendala karena masalah kesibukan (sok sibuk) loh kok sok sibuk. hehehe :), TKP aja gan ke topik pokok artikel ini. :v
CRUD Sederhana Data Pegawai 
Aplikasi CRUD (Create Read Update Delete) adalah aplikasi dasar dalam menangani operasi dalam suatu tabel atau dalam bahasa lain dapat dikatakan sebagai pengolahan tabel seperti menulis memasukkan data kedalam tabel, membaca data dalam tabel, mengubah data dalam tabel dengan kriteria tertentu dan terakhir menghapus data dalam tabel. Menurut pendapat saya seperti itu gan :v, silahkan bagi kawan-kawan yang ingin menambahkan pendapat kalian tentang pengertian CRUD itu sendiri. hehehe,...

Adapun langkah-langkahnya sebagai berikut:
  • Buat Database Pegawai 
Buka aplikasi XAMPP Control Panel kemudian aktifkan modul Apache dan MySQL. Setelah itu klik admin, maka akan otomatis masuk ke jendela PHPMyAdmin, perintah kueri untuk membuat database yaitu:
CREATE DATABASE `pegawai`;
  • Buat Tabel Pegawai 
Perintah kuerinya sebagai berikut:
CREATE TABLE `pegawai` (
`nip` varchar(18) NOT NULL DEFAULT '',
`nama` varchar(30) NOT NULL DEFAULT '',
`tgllahir` date NOT NULL DEFAULT '0000-00-00',
`jenkel` enum('0','1') NOT NULL DEFAULT '0',
`alamat` text NOT NULL,
`namafoto` varchar(50) NOT NULL DEFAULT '',
PRIMARY KEY (`nip`),
 UNIQUE KEY `nim` (`nip`),
KEY `nim_2` (`nip`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  • Buat folder dalam direktori C:\xampp\htdocs usahakan nama folder yang mudah diingat dan tidak terlalu panjang. Buka folder yang tadi anda buat kemudian buat folder lagi dengan nama images untuk penempatan gambar hasil upload aplikasi. Didalam folder yang pertama anda buat, buat file koneksi.php dengan menggunakan editor Notepad ++ atau program editor lain yang anda install.
<?php
$host = "localhost";
$user = "root";
$pass = "";
$dbnm = "pegawai";
$conn = mysql_connect ($host, $user, $pass);
if ($conn) {
    $buka = mysql_select_db ($dbnm);
    if (!$buka) {
        die ("Database tidak dapat dibuka");    
    }
} else {
    die ("Server MySQL tidak terhubung");    
}
?>
    =>Penjelasan:
    $conn jika berhasil terkoneksi dengan database maka akan memilih database $buka, jika gagal memilih maka akan muncul text "Data tidak dapat dibuka!", dan jika gagal terkoneksi ke database maka akan muncul text "Server MySQL tidak terhubung!
    • Buat file index.php masih dalam folder yang sama, berfungsi sebagai halaman awal sekaligus untuk melakukan semua operasi CRUD.
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Sistem Kepegawaian</title>
    <link href="style.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <div id="main_container">
    <div id="header">
    <h1>CRUD Data Pegawai</h1>
    </div>
    <div id="navigation">
    </div>
    <?php
    $page = (isset($_GET['page']))? $_GET['page'] : "main";
    switch ($page) {
        case 'input': include "input.php"; break;
        case 'edit'    : include "edit.php"; break;
        case 'delete' : include "delete.php"; break;
        case 'main' :
        default : include 'tampil.php';   
    }
    ?>
    </div>
    </body>
    </html>
    

    =>Penjelasan:
    $page = (isset($_GET['page']))? $_GET['page'] : "main"; Adalah variabel untuk mendapatkan switch case dari URL browser dan defaultnya file tampil.php
    • Buat file tampil.php masih dalam folder yang sama, file tampil.php ini berfungsi untuk menampilkan data pegawai dari tabel pegawai.
    <?php
    include "koneksi.php";
    ?>
    <div id="content">
        <h2 align="center">Data Pegawai</h2>
        <a href="index.php?page=input"><input type="button" name="" value=" Input Data "/></a> 
        <table width="100%"  id="tabel">
        <tr>
            <th width="3%">No</td>
            <th width="18%">NIP</td>
            <th width="18%">Nama</td>
            <th width="10%">Tgl Lahir</td>
            <th width="13%">Jenis Kelamin</td>
            <th width="22%">Alamat</td>
            <th width="10%">Foto</td>
            <th width="6%">Action</td>
        </tr>
        <?php
        $no = 1;
        $query = "SELECT * FROM pegawai ORDER BY nip";
        $sql = mysql_query ($query);
        while ($hasil = mysql_fetch_array ($sql)) {
            $nip = $hasil['nip'];
            $nama = stripslashes ($hasil['nama']);
            $jenkel = ($hasil['jenkel']==0)?"Laki-laki" : "Wanita";
            $tgllhr = stripslashes ($hasil['tgllahir']);
            $alamat = stripslashes ($hasil['alamat']);
            $foto = $hasil['namafoto'];
            $warna = ($no%2==1)?"#ffffff":"#efefef";
        ?>
            <tr bgcolor="<?php echo $warna; ?>">
                <td><?php echo $no; ?></td>
                <td><?php echo $nip; ?></td>
                <td><?php echo $nama; ?></td>
                <td><?php echo $tgllhr; ?></td>
                <td><?php echo $jenkel; ?></td>
                <td><?php echo $alamat; ?></td>
                <td><?php echo "<img src='images/$foto' width='100' height='100'/>"; ?></td>
                <td> 
                <a href="index.php?page=edit&nip=<?php echo $nip; ?>"><input type="button" name="" value=" Edit "/></a><br/>
                <a href="index.php?page=delete&nip=<?php echo $nip; ?>" onclick="return confirm('Anda yakin akan menghapus pegawai <?php echo $nama; ?> ?')"><input type="button" name="" value=" Delete "/></a></td>
            </tr>    
        <?php $no++; }?>
        </table>
    </div> 
      =>Penjelasan:
      Kueri untuk menampilkan data dalam tabel pegawai SELECT * FROM pegawai ORDER BY nip dan berupa link <a href="index.php?page=edit&nip=<?php echo $nip; ?>"><input type="button" name="" value=" Edit "/></a> bertujuan untuk melakukan operasi pengubahan data kehalaman edit.php berdasarkan nip terpilih, dan link <a href="index.php?page=delete&nip=<?php echo $nip; ?>" onclick="return confirm('Anda yakin akan menghapus pegawai <?php echo $nama; ?> ?')"><input type="button" name="" value=" Delete "/></a> befungsi juga untuk melakukan operasi menghapus data berdasarkan nip terpilih.
      • Buat file input.php masih dalam folder yang sama, file ini berfungsi untuk melakukan penambahan data pegawai dalam tabel.
      <?php
      include "koneksi.php";
      if (isset($_POST['Input'])) {
          $nip = addslashes (strip_tags ($_POST['nip']));
          $nama = addslashes (strip_tags ($_POST['nama']));
          $tahun = $_POST['thn'];
          $bulan = $_POST['bln'];
          $tanggal = $_POST['tgl'];
          $tgllahir = $tahun."-".$bulan."-".$tanggal;
          $jenkel = $_POST['jenkel'];
          $alamat = addslashes (strip_tags ($_POST['alamat']));
          $namafoto = $_FILES['foto']['name'];
          
          if (strlen ($nip) != 18) {
              echo"<script>alert('NIP harus 18 digit !',document.location.href='index.php?page=input')</script>";    
          }
      
          if (strlen($namafoto)>0) {
              if (is_uploaded_file($_FILES['foto']['tmp_name'])) {
                  move_uploaded_file ($_FILES['foto']['tmp_name'], "images/".$namafoto);
              }
          }
          $query = "INSERT INTO pegawai VALUES('$nip','$nama','$tgllahir','$jenkel','$alamat','$namafoto')";
          $sql = mysql_query ($query) or die (mysql_error());
          if ($sql) {
                  echo"<script>alert('Data Pegawai telah berhasil ditambahkan !',document.location.href='index.php')</script>";
          } else {
                  echo"<script>alert('Data Pegawai gagal ditambahkan !',document.location.href='index.php')</script>";
          }
      }
      ?>
      <div id="content">
          <h2 align="center">Input Data Pegawai</h2>
          <FORM ACTION="" METHOD="POST" NAME="input" enctype="multipart/form-data">
              <table cellpadding="0" cellspacing="0" border="0" width="950">
                  
                  <tr>
                      <td width="200">NIP</td>
                      <td>: <input type="text" name="nip" size="18" maxlength="18"></td>
                  </tr>
                  <tr>
                      <td>Nama</td>
                      <td>: <input type="text" name="nama" size="30" maxlength="30"></td>
                  </tr>
                  <tr>
                      <td>Tanggal Lahir</td>
                      <td>: 
                      <select name="tgl">
                      <?php
                          for ($i=1; $i<=31; $i++) {
                              $tg = ($i<10) ? "0$i" : $i;
                              echo "<option value='$tg'>$tg</option>";    
                          }
                      ?>
                      </select> - 
                      <select name="bln">
                      <?php
                          for ($j=1; $j<=12; $j++) {
                              $bl = ($j<10) ? "0$j" : $j;
                              echo "<option value='$bl'>$bl</option>";    
                          }
                      ?>
                      </select> - 
                      <select name="thn">
                      <?php
                          for ($k=1970; $k<=2000; $k++) {
                              echo "<option value='$k'>$k</option>";    
                          }
                      ?>
                      </select>
                      </td>
                  </tr>
                  <tr>
                      <td>Jenis Kelamin</td>
                      <td>: <input type="radio" name="jenkel" value="0" checked> Pria &nbsp;&nbsp;
                      <input type="radio" name="jenkel" value="1"> Wanita</td>
                  </tr>
                  <tr>
                      <td>Alamat</td>
                      <td>: <textarea name="alamat" cols="40" rows="3"></textarea></td>
                  </tr>
                  <tr>
                      <td>Foto</td>
                      <td>: <input type="file" name="foto"/></td>
                  </tr>
                  <tr>
                      <td>&nbsp;</td>
                      <td>&nbsp;&nbsp;<input type="submit" name="Input" value=" Simpan ">&nbsp;
                      <input type="reset" name="reset" value=" Reset ">&nbsp;
                      <a href="index.php"><input type="button" name="" value=" Kembali "/></a></td>
                  </tr>
              </table>
          </form>
      </div> 
        =>Penjelasan:
        Kueri untuk memasukkan data dalam tabel pegawai yaitu "INSERT INTO pegawaiVALUES('$nip','$nama','$tgllahir','$jenkel','$alamat','$namafoto')" dan if (is_uploaded_file($_FILES['foto']['tmp_name'])) { move_uploaded_file ($_FILES['foto']['tmp_name'], "images/".$namafoto); berfungsi untuk mengupload file berupa gambar kedalam folder images, dan hanya berupa nama file gambar tersebut yang disimpan dalam tabel pegawai.
        • Buat file edit.php masih dalam folder yang sama, file ini berfungsi untuk melakukan perubahan data pegawai berdasarkan nip yang terpilih.
        <?php
        include "koneksi.php";
        
        if (isset($_GET['nip'])) {
            $nip = $_GET['nip'];
        } else {
            die ("Error. No Nip Selected! ");    
        }
        
        $query = "SELECT * FROM pegawai WHERE nip='$nip'";
        $sql = mysql_query ($query);
        $hasil = mysql_fetch_array ($sql);
        $nip = $hasil['nip'];
        $nama = stripslashes ($hasil['nama']);
        $jenkel = $hasil['jenkel'];
        list($thn,$bln,$tgl) = explode ("-",$hasil['tgllahir']);
        $alamat = stripslashes ($hasil['alamat']);
        $namafoto = stripslashes ($hasil['namafoto']);
        $foto = $hasil['namafoto'];
        
        if (isset($_POST['Edit'])) {
            $nip = $_POST['hnip'];
            $nama = addslashes (strip_tags ($_POST['nama']));
            $tgllahir = $_POST['thn']."-".$_POST['bln']."-".$_POST['tgl'];
            $jenkel = $_POST['jenkel'];
            $alamat = addslashes (strip_tags ($_POST['alamat']));
            $namafoto = $_FILES['foto']['name'];
            if (strlen($namafoto)>0) {
                if (is_uploaded_file($_FILES['foto']['tmp_name'])) {
                    move_uploaded_file ($_FILES['foto']['tmp_name'], "images/".$namafoto);
                    mysql_query ("UPDATE pegawai SET namafoto='$namafoto' WHERE nip='$nip'");
                }
            }
            $query = "UPDATE pegawai SET nama='$nama',tgllahir='$tgllahir',jenkel='$jenkel',
                      alamat='$alamat' WHERE nip='$nip'";
            $sql = mysql_query ($query);
            if ($sql) {
                    echo"<script>alert('Data Pegawai telah berhasil diedit !',document.location.href='index.php')</script>";
            } else {
                    echo"<script>alert('Data Pegawai gagal diedit !',document.location.href='index.php')</script>";
            }
        }
        ?>
        <div id="content">
            <h2 align="center">Edit Data Pegawai</h2>
            <FORM ACTION="" METHOD="POST" NAME="input" enctype="multipart/form-data">
                <table cellpadding="0" cellspacing="0" border="0" width="950">
                    
                    <tr>
                        <td width="271">NIP</td>
                        <td width="463">: <b><?php echo $nip; ?></b></td>
                        <td width="216">Foto: <?php echo $namafoto; ?></td>
                    </tr>
                    <tr>
                        <td>Nama</td>
                        <td>: <input type="text" name="nama" size="30" maxlength="30" value="<?php echo $nama; ?>"></td>
                        <td rowspan="4"><?php echo "<img src='images/$foto' width='180' height='180'/>"; ?></td>
                    </tr>
                    <tr>
                        <td>Tanggal Lahir</td>
                        <td>: 
                        <select name="tgl">
                        <?php
                            for ($i=1; $i<=31; $i++) {
                                $tg = ($i<10) ? "0$i" : $i;
                                $sele = ($tg==$tgl)? "selected" : "";
                                echo "<option value='$tg' $sele>$tg</option>";    
                            }
                        ?>
                        </select> - 
                        <select name="bln">
                        <?php
                            for ($i=1; $i<=12; $i++) {
                                $bl = ($i<10) ? "0$i" : $i;
                                $sele = ($bl==$bln)?"selected" : "";
                                echo "<option value='$bl' $sele>$bl</option>";    
                            }
                        ?>
                        </select> - 
                        <select name="thn">
                        <?php
                            for ($i=1970; $i<=2000; $i++) {
                                $sele = ($i==$thn)?"selected" : "";
                                echo "<option value='$i' $sele>$i</option>";    
                            }
                        ?>
                        </select>
                        </td>
                    </tr>
                    <tr>
                        <td>Jenis Kelamin</td>
                        <td>: <input type="radio" name="jenkel" value="0" <?php echo ($jenkel==0)?"checked":""; ?>> Pria &nbsp;&nbsp;
                        <input type="radio" name="jenkel" value="1" <?php echo ($jenkel==1)?"checked":""; ?>> Wanita</td>
                    </tr>
                    <tr>
                        <td>Alamat</td>
                        <td>: <textarea name="alamat" cols="40" rows="3"><?php echo $alamat; ?></textarea></td>
                    </tr>
                    <tr>
                        <td>Foto</td>
                        <td>: <input type="file" name="foto"/></td>
                        <td>&nbsp;</td>
                    </tr>
                    <tr>
                        <td>&nbsp;</td>
                        <td>&nbsp;&nbsp;
                        <input type="hidden" name="hnip" value="<?php echo $nip; ?>">
                        <input type="submit" name="Edit" value=" Simpan ">&nbsp;
                        <input type="reset" name="reset" value=" Reset ">&nbsp;
                        <a href="index.php"><input type="button" name="" value=" Kembali "/></a></td>
                        <td>&nbsp;</td>
                    </tr>
                </table>
            </FORM>
        </div> 
           =>Penjelasan:
          if (isset($_GET['nip'])) { $nip = $_GET['nip'];} else { die ("Error. No Nip Selected! "); }berfungsi untuk mendapatkan variabel $nip dari URL browser. kueri untuk mengubah data dalam tabel pegawai berdasarkan nip terpilih yaitu "UPDATE pegawai SET nama='$nama',tgllahir='$tgllahir',jenkel='$jenkel', alamat='$alamat' WHERE nip='$nip'"
          • Buat file delete.php masih dalam folder yang sama, file ini berfungsi untuk menghapus data pegawai berdasarkan nip yang terpilih.
          <?php
          include "koneksi.php";
          
          if (isset($_GET['nip'])) {
              $nip = $_GET['nip'];
          } else {
              die ("Error. No nip Selected! ");    
          }
          ?>
          <div id="content">
              <?php
              if (!empty($nip) && $nip != "") {
                  $query = "DELETE FROM pegawai WHERE nip='$nip'";
                  $sql = mysql_query ($query);
                  if ($sql) {
                      echo"<script>alert('Data Pegawai telah berhasil dihapus !',document.location.href='index.php')</script>";    
                  } else {
                      echo"<script>alert('Data pegawai gagal dihapus !',document.location.href='index.php')</script>";    
                  }
                  echo "Klik <a href='index.php'>di sini</a> untuk kembali ke halaman data pegawai";
              } else {
                  die ("Access Denied");    
              }
              ?>
          </div> 
              =>Penjelasan:
            if (isset($_GET['nip'])) { $nip = $_GET['nip'];} else { die ("Error. No Nip Selected! "); }berfungsi untuk mendapatkan variabel $nip dari URL browser. kueri untuk menghapus data dalam tabel pegawai berdasarkan nip terpilih yaitu "DELETE FROM pegawai WHERE nip='$nip'"

            Semua file yang dibuat diatas dapat didownload pada link dibawah ini. Semoga bermanfaat bagi sobat yang sedang belajar pemrograman PHP-MySQL. Aamiin,...

            Password RAR : 

            Written by

            Terima kasih atas kunjungan serta kesediaan anda membaca artikel tentang Contoh Aplikasi CRUD (Create Read Update Delete) Sederhana Data Pegawai, semoga artikel ini bermanfaat dan menambah wawasan kita semua. Aamiin. . .

            4 comments:

            1. Permisi,...
              Mas, ko link download di SAYA tak bisa (mati) ?

              ReplyDelete
              Replies
              1. Maaf atas keterlambatanya, link sudah diperbaiki. :D

                Delete
            2. gan ini sintax Parse error: syntax error, unexpected '$db' (T_VARIABLE) in C:\xampp\htdocs\Bibah\koneksi.php on line 8 solusinya donk

              ReplyDelete
              Replies
              1. ada kemungkinan variabel di ubah gan, replace file koneksi.php
                $dbm menjadi $db

                Delete

            * Jangan menempelkan link hidup, karena tidak akan ditampilkan
            * Laporkan jika ada link download yang mati.
            * Komentar selalu akan dimoderasi.
            NB: Berkomentarlah dengan sopan.

             

            © 2013 Codingku PHP-MySQL. All rights resevered. Designed by Templateism

            Back To Top