dibimbing.id - Tutorial Membuat CRUD dengan PHP dan MySQL Mudah

Tutorial Membuat CRUD dengan PHP dan MySQL Mudah

Irhan Hisyam Dwi Nugroho

29 August 2025

484

Image Banner

Warga Bimbingan, lewat tutorial membuat CRUD dengan PHP ini, kamu akan belajar dasar Create, Read, Update, dan Delete untuk mengelola data.

Contoh yang digunakan adalah data mahasiswa agar mudah dipahami dan dipraktikkan. Panduan ini cocok untuk pemula yang ingin mulai belajar PHP dan MySQL.

Yuk, ikuti langkah-langkahnya dan bangun aplikasi CRUD pertamamu!

Baca juga: Panduan Memilih Bootcamp Full Stack Developer yang Tepat


Apa Itu CRUD dalam Pemrograman?

CRUD adalah singkatan dari Create, Read, Update, dan Delete, yang merupakan empat operasi dasar dalam pengelolaan data pada sistem berbasis database. 

Konsep ini digunakan hampir di semua aplikasi, baik website maupun software, untuk menangani data pengguna, produk, dan sebagainya. 

Misalnya, ketika kamu menambahkan data mahasiswa ke database, itu termasuk operasi “Create”, dan menampilkan datanya berarti “Read”. 

Dengan memahami CRUD, kamu bisa mulai membangun aplikasi dinamis yang mampu menyimpan dan mengelola informasi secara efektif.

Baca juga: Ingin Belajar Front End Development? Cek Roadmapnya di sini!


Persiapan Project CRUD Mahasiswa

Sebelum mulai membuat aplikasi CRUD dengan PHP, ada beberapa hal yang perlu kamu siapkan. Persiapan ini penting agar proses pembuatan project berjalan lancar dan bisa langsung kamu praktikkan.

Berikut ini hal-hal yang perlu kamu siapkan:

  1. Web Server & Database: Gunakan XAMPP, Laragon, atau aplikasi serupa yang menyediakan Apache dan MySQL.
  2. Code Editor: Disarankan pakai Visual Studio Code, Sublime Text, atau editor lain yang kamu nyaman gunakan.
  3. Browser: Untuk mengakses hasil coding kamu. Bisa pakai Chrome, Firefox, atau browser favoritmu.
  4. Struktur Database: Buat database bernama kampus dan tabel mahasiswa dengan kolom id, nama, nim, jurusan, dan email.

Dengan semua persiapan ini, kamu tinggal lanjut ke langkah-langkah membuat aplikasi CRUD untuk data mahasiswa menggunakan PHP dan MySQL. Yuk, kita mulai!

Baca juga: 12 Bahasa Pemrograman Front End Teratas & Terpopuler 2024


Cara Membuat CRUD Mahasiswa dengan PHP

Sumber: Canva

Setelah semua persiapan selesai, kini saatnya kamu mulai membangun aplikasi CRUD Mahasiswa dengan PHP. Kita akan bahas langkah-langkahnya secara bertahap, agar kamu mudah mengikuti bahkan jika masih pemula.


1. Buat Database dan Tabel Mahasiswa

Langkah awal adalah membuat database dan tabel yang akan menyimpan data mahasiswa. Ini dilakukan menggunakan perintah SQL. Struktur tabel disesuaikan dengan informasi yang ingin disimpan.

Bisa menggunakan Database Berikut:

CREATE DATABASE kampus;


USE kampus;


CREATE TABLE mahasiswa (

 id INT AUTO_INCREMENT PRIMARY KEY,

 nama VARCHAR(100),

 nim VARCHAR(20),

 jurusan VARCHAR(50),

 email VARCHAR(100)

);

Penjelasan:

Kita membuat database bernama kampus dan tabel mahasiswa. Tabel ini punya kolom id, nama, nim, jurusan, dan email sebagai informasi dasar mahasiswa. Ini adalah struktur yang akan kita gunakan untuk seluruh proses CRUD.


2. Koneksi ke Database (koneksi.php)

Agar PHP bisa terhubung dengan database, dibutuhkan file koneksi. File ini berisi konfigurasi host, user, dan password database. Ini wajib dibuat sebelum mengakses data.

<?php

$host = "localhost";

$user = "root";

$pass = "";

$db = "kampus";


$koneksi = mysqli_connect($host, $user, $pass, $db);

if (!$koneksi) {

  die("Koneksi gagal: " . mysqli_connect_error());

}

?>

Penjelasan:

File koneksi.php digunakan oleh semua file PHP lain untuk mengakses database. Dengan cara ini, kamu tidak perlu mengulang kode koneksi di tiap file. Jika koneksi gagal, akan muncul pesan error yang membantu saat debugging.


3. Tampilkan Data Mahasiswa (index.php)

Halaman index berfungsi untuk menampilkan seluruh data mahasiswa dalam bentuk tabel HTML. 

Di sini juga tersedia opsi untuk edit dan hapus. Data diambil dari database menggunakan query SELECT.

<?php include 'koneksi.php'; ?>

<!DOCTYPE html>

<html lang="id">

<head>

 <meta charset="UTF-8">

 <title>Data Mahasiswa - dibimbing.id</title>

 <style>

  body {

   font-family: Arial, sans-serif;

   background-color: #f8f9fa;

   margin: 40px;

  }

  h2 {

   color: #333;

  }

  .header {

   display: flex;

   justify-content: space-between;

   align-items: center;

  }

  table {

   width: 100%;

   border-collapse: collapse;

   margin-top: 20px;

   background-color: #fff;

   box-shadow: 0 0 10px rgba(0,0,0,0.05);

  }

  th, td {

   padding: 12px;

   text-align: left;

   border-bottom: 1px solid #ddd;

  }

  th {

   background-color: #007bff;

   color: white;

  }

  tr:hover {

   background-color: #f1f1f1;

  }

  a {

   text-decoration: none;

   color: #007bff;

   margin: 0 5px;

  }

  a:hover {

   text-decoration: underline;

  }

  .footer {

   margin-top: 30px;

   font-size: 14px;

   color: #888;

   text-align: center;

  }

  .tambah-btn {

   background-color: #28a745;

   color: white;

   padding: 8px 12px;

   border-radius: 4px;

  }

  .tambah-btn:hover {

   background-color: #218838;

  }

 </style>

</head>

<body>


<div class="header">

 <h2>Data Mahasiswa</h2>

 <a class="tambah-btn" href="tambah.php">+ Tambah Mahasiswa</a>

</div>


<table>

 <tr>

  <th>No</th>

  <th>Nama</th>

  <th>NIM</th>

  <th>Jurusan</th>

  <th>Email</th>

  <th>Aksi</th>

 </tr>


 <?php

 $no = 1;

 $data = mysqli_query($koneksi, "SELECT * FROM mahasiswa");

 while ($d = mysqli_fetch_array($data)) {

  echo "<tr>

   <td>{$no}</td>

   <td>{$d['nama']}</td>

   <td>{$d['nim']}</td>

   <td>{$d['jurusan']}</td>

   <td>{$d['email']}</td>

   <td>

    <a href='edit.php?id={$d['id']}'>Edit</a> |

    <a href='hapus.php?id={$d['id']}' onclick='return confirm(\"Yakin ingin hapus data?\")'>Hapus</a>

   </td>

  </tr>";

  $no++;

 }

 ?>

</table>


<div class="footer">

 &copy; <?= date('Y') ?> Dibimbing.id - CRUD Mahasiswa

</div>


</body>

</html>

Penjelasan:

Script ini mengambil semua data dari database dan menampilkannya dalam tabel HTML. Ini memudahkan pengguna melihat dan mengelola informasi mahasiswa. Bagian aksi menyediakan tombol edit dan hapus untuk setiap data.


4. Menambahkan Data (tambah.php)

File tambah.php digunakan untuk menginput data baru ke tabel. Data dikirim melalui form dan disimpan dengan perintah INSERT. Setelah disimpan, user akan diarahkan ke halaman utama.

<?php include 'koneksi.php'; ?>

<h2>Tambah Mahasiswa</h2>

<form method="post" action="">

  Nama: <input type="text" name="nama"><br>

  NIM: <input type="text" name="nim"><br>

  Jurusan: <input type="text" name="jurusan"><br>

  Email: <input type="text" name="email"><br>

  <input type="submit" name="submit" value="Simpan">

</form>


<?php

if (isset($_POST['submit'])) {

  mysqli_query($koneksi, "INSERT INTO mahasiswa (nama, nim, jurusan, email) VALUES

  ('$_POST[nama]', '$_POST[nim]', '$_POST[jurusan]', '$_POST[email]')");

  header("Location: index.php");

}

?>

Penjelasan:

Saat form disubmit, data akan dikirim ke database menggunakan query INSERT. Ini adalah metode standar untuk menambahkan data dalam PHP. Setelah berhasil, pengguna akan kembali ke halaman index.


5. Mengedit Data (edit.php)

File edit.php memungkinkan user mengubah data yang sudah ada. Data ditampilkan di form dan dapat diperbarui dengan perintah UPDATE. ID digunakan sebagai acuan data yang diubah.

<?php include 'koneksi.php';

$id = $_GET['id'];

$data = mysqli_query($koneksi, "SELECT * FROM mahasiswa WHERE id='$id'");

$d = mysqli_fetch_array($data);

?>

<h2>Edit Mahasiswa</h2>

<form method="post" action="">

  Nama: <input type="text" name="nama" value="<?php echo $d['nama']; ?>"><br>

  NIM: <input type="text" name="nim" value="<?php echo $d['nim']; ?>"><br>

  Jurusan: <input type="text" name="jurusan" value="<?php echo $d['jurusan']; ?>"><br>

  Email: <input type="text" name="email" value="<?php echo $d['email']; ?>"><br>

  <input type="submit" name="update" value="Update">

</form>


<?php

if (isset($_POST['update'])) {

  mysqli_query($koneksi, "UPDATE mahasiswa SET nama='$_POST[nama]', nim='$_POST[nim]', jurusan='$_POST[jurusan]', email='$_POST[email]' WHERE id='$id'");

  header("Location: index.php");

}

?>

Penjelasan:

Edit dilakukan dengan menampilkan data mahasiswa berdasarkan ID. Data diisi otomatis di form agar bisa diperbarui. Setelah diupdate, sistem akan menyimpan perubahan dan kembali ke halaman utama.


6. Menghapus Data (hapus.php)

File hapus.php digunakan untuk menghapus data mahasiswa berdasarkan ID. Proses ini menggunakan perintah DELETE. Setelah penghapusan, user diarahkan kembali ke halaman utama.

<?php include 'koneksi.php';

$id = $_GET['id'];

mysqli_query($koneksi, "DELETE FROM mahasiswa WHERE id='$id'");

header("Location: index.php");

?>

Penjelasan:

Hapus dilakukan dengan menggunakan ID yang dikirim melalui URL. Perintah DELETE digunakan untuk menghapus data dari database. Ini penting untuk menjaga agar data tetap bersih dan relevan.

Sebelum Menjalankan usahakan folder dipindahkan di htdocs:

Berikut adalah hasil dari codingan tadi:

Baca juga: 10 Text Editor Terbaik untuk Web Developer (2025)


Ingin Jadi Full Stack Web Developer Profesional?

Setelah mempelajari tutorial membuat CRUD dengan PHP dan MySQL, ini saat yang tepat untuk melangkah lebih jauh membangun website modern secara menyeluruh.

Ikuti Bootcamp Full Stack Web Development di dibimbing.id!. Di program ini, kamu akan belajar HTML, CSS, JavaScript, PHP, hingga React dan Node.js dengan pendekatan praktis dan dibimbing langsung oleh mentor berpengalaman.

Kamu juga akan membangun portofolio nyata, memahami alur kerja tim developer, dan siap bersaing di dunia kerja.

Dibimbing.id telah bekerja sama dengan lebih dari 840 hiring partner dan memiliki tingkat penyaluran kerja alumni hingga 96%.

Jangan lewatkan kesempatan ini. Daftar sekarang disini dan mulai perjalananmu menjadi seorang Full Stack Web Developer. #BimbingSampeJadi


Referensi

  1. PHP Introduction [Buka]
Author Image

Irhan Hisyam Dwi Nugroho

Irhan Hisyam Dwi Nugroho is an SEO Specialist and Content Writer with 4 years of experience in optimizing websites and writing relevant content for various brands and industries. Currently, I also work as a Content Writer at Dibimbing.id and actively share content about technology, SEO, and digital marketing through various platforms.

Hi!👋
Kalau kamu butuh bantuan,
hubungi kami via WhatsApp ya!