Tutorial CRUD PHP MySQL Lengkap dengan Gambar: Panduan Praktis untuk Pemula

Selamat datang di panduan lengkap tentang cara membuat sistem CRUD (Create, Read, Update, Delete) menggunakan PHP dan MySQL! Jika Anda seorang pemula dalam pemrograman web, tutorial ini akan membimbing Anda langkah demi langkah dengan penjelasan yang mudah dipahami dan disertai gambar ilustrasi. CRUD adalah fondasi penting dalam pengembangan aplikasi web yang berinteraksi dengan database. Dengan menguasai CRUD, Anda akan mampu membuat aplikasi yang dapat menyimpan, menampilkan, mengubah, dan menghapus data secara efektif.

Apa itu CRUD dan Mengapa Penting?

CRUD adalah singkatan dari Create (membuat), Read (membaca), Update (memperbarui), dan Delete (menghapus). Keempat operasi ini merupakan dasar dari interaksi dengan database dalam banyak aplikasi web. Bayangkan sebuah aplikasi manajemen produk. Kita perlu membuat produk baru (Create), melihat daftar produk (Read), memperbarui informasi produk (Update), dan menghapus produk jika tidak diperlukan lagi (Delete). Tanpa CRUD, aplikasi web akan menjadi sangat terbatas fungsinya.

Menguasai CRUD sangat penting karena:

  • Fondasi Aplikasi Web: CRUD adalah fondasi dari hampir semua aplikasi web yang berinteraksi dengan database.
  • Manajemen Data: Memungkinkan Anda untuk mengelola data secara efektif dan efisien.
  • Pengembangan Lebih Lanjut: Memahami CRUD adalah langkah awal untuk mempelajari konsep yang lebih kompleks dalam pengembangan web.

Persiapan: Instalasi XAMPP dan Konfigurasi Database

Sebelum memulai tutorial CRUD PHP MySQL, pastikan Anda telah menginstal XAMPP. XAMPP adalah paket perangkat lunak yang berisi Apache (server web), MySQL (database), dan PHP (bahasa pemrograman). Ini adalah lingkungan pengembangan yang sangat populer untuk aplikasi web berbasis PHP. Anda dapat mengunduh XAMPP secara gratis dari situs web Apache Friends.

Setelah XAMPP terinstal, jalankan Apache dan MySQL dari XAMPP Control Panel. Buka browser web Anda dan ketik localhost di address bar. Jika XAMPP terinstal dengan benar, Anda akan melihat halaman default XAMPP.

Selanjutnya, kita perlu membuat database untuk aplikasi CRUD kita. Buka phpMyAdmin (biasanya dapat diakses melalui localhost/phpmyadmin). Klik tombol "Baru" dan beri nama database Anda (misalnya, db_crud). Setelah database dibuat, kita akan membuat tabel di dalamnya.

Membuat Tabel Database: Struktur untuk Data Kita

Kita akan membuat tabel bernama mahasiswa untuk menyimpan data mahasiswa. Tabel ini akan memiliki kolom-kolom berikut:

  • id (INT, PRIMARY KEY, AUTO_INCREMENT): ID unik untuk setiap mahasiswa.
  • nama (VARCHAR(255)): Nama mahasiswa.
  • nim (VARCHAR(20)): Nomor Induk Mahasiswa.
  • jurusan (VARCHAR(100)): Jurusan mahasiswa.
  • email (VARCHAR(255)): Email mahasiswa.

Di phpMyAdmin, pilih database db_crud yang telah kita buat. Klik tab "SQL" dan masukkan kode SQL berikut:

CREATE TABLE mahasiswa (
 id INT PRIMARY KEY AUTO_INCREMENT,
 nama VARCHAR(255) NOT NULL,
 nim VARCHAR(20) NOT NULL,
 jurusan VARCHAR(100),
 email VARCHAR(255)
);

Klik tombol "Kirim" untuk membuat tabel. Sekarang kita memiliki tabel mahasiswa yang siap digunakan.

Koneksi PHP ke MySQL: Menghubungkan Aplikasi dengan Database

Buat sebuah file PHP baru bernama koneksi.php di folder htdocs XAMPP Anda (misalnya, C:\xampp\htdocs\crud). File ini akan berisi kode untuk menghubungkan PHP ke database MySQL kita. Masukkan kode berikut ke dalam koneksi.php:

<?php
$host = "localhost"; // Host database
$username = "root"; // Username database
$password = ""; // Password database (kosong jika tidak ada)
$database = "db_crud"; // Nama database

// Membuat koneksi
$koneksi = mysqli_connect($host, $username, $password, $database);

// Memeriksa koneksi
if (mysqli_connect_errno()) {
 die("Koneksi database gagal: " . mysqli_connect_error());
}
?>

Pastikan untuk menyesuaikan $host, $username, $password, dan $database dengan konfigurasi MySQL Anda.

Membuat Fitur Create (Menambah Data): Form dan Proses Penyimpanan

Sekarang kita akan membuat form untuk menambahkan data mahasiswa baru. Buat file bernama tambah.php di folder yang sama dengan koneksi.php. Masukkan kode berikut:

<!DOCTYPE html>
<html>
<head>
 <title>Tambah Data Mahasiswa</title>
</head>
<body>
 <h1>Tambah Data Mahasiswa</h1>
 <form action="proses_tambah.php" method="post">
 <label for="nama">Nama:</label><br>
 <input type="text" id="nama" name="nama" required><br><br>

 <label for="nim">NIM:</label><br>
 <input type="text" id="nim" name="nim" required><br><br>

 <label for="jurusan">Jurusan:</label><br>
 <input type="text" id="jurusan" name="jurusan"><br><br>

 <label for="email">Email:</label><br>
 <input type="email" id="email" name="email"><br><br>

 <input type="submit" value="Simpan">
 </form>
</body>
</html>

Selanjutnya, kita akan membuat file proses_tambah.php untuk memproses data yang dikirim dari form. Masukkan kode berikut:

<?php
include 'koneksi.php';

$nama = $_POST['nama'];
$nim = $_POST['nim'];
$jurusan = $_POST['jurusan'];
$email = $_POST['email'];

$sql = "INSERT INTO mahasiswa (nama, nim, jurusan, email) VALUES ('$nama', '$nim', '$jurusan', '$email')";

if (mysqli_query($koneksi, $sql)) {
 echo "Data mahasiswa berhasil ditambahkan. <a href='index.php'>Kembali ke daftar</a>";
} else {
 echo "Error: " . $sql . "<br>" . mysqli_error($koneksi);
}

mysqli_close($koneksi);
?>

Membuat Fitur Read (Menampilkan Data): Daftar Mahasiswa dengan PHP

Buat file bernama index.php untuk menampilkan daftar mahasiswa. Masukkan kode berikut:

<!DOCTYPE html>
<html>
<head>
 <title>Daftar Mahasiswa</title>
</head>
<body>
 <h1>Daftar Mahasiswa</h1>
 <a href="tambah.php">Tambah Mahasiswa</a><br><br>

 <table border="1">
 <tr>
 <th>ID</th>
 <th>Nama</th>
 <th>NIM</th>
 <th>Jurusan</th>
 <th>Email</th>
 <th>Aksi</th>
 </tr>
 <?php
 include 'koneksi.php';
 $sql = "SELECT * FROM mahasiswa";
 $result = mysqli_query($koneksi, $sql);

 if (mysqli_num_rows($result) > 0) {
 while($row = mysqli_fetch_assoc($result)) {
 echo "<tr>";
 echo "<td>" . $row["id"] . "</td>";
 echo "<td>" . $row["nama"] . "</td>";
 echo "<td>" . $row["nim"] . "</td>";
 echo "<td>" . $row["jurusan"] . "</td>";
 echo "<td>" . $row["email"] . "</td>";
 echo "<td><a href='edit.php?id=" . $row["id"] . "'>Edit</a> | <a href='hapus.php?id=" . $row["id"] . "'>Hapus</a></td>";
 echo "</tr>";
 }
 } else {
 echo "<tr><td colspan='6'>Tidak ada data mahasiswa.</td></tr>";
 }

 mysqli_close($koneksi);
 ?>
 </table>
</body>
</html>

Membuat Fitur Update (Mengedit Data): Form Edit dan Proses Update

Buat file bernama edit.php untuk menampilkan form edit data mahasiswa. Masukkan kode berikut:

<!DOCTYPE html>
<html>
<head>
 <title>Edit Data Mahasiswa</title>
</head>
<body>
 <h1>Edit Data Mahasiswa</h1>
 <?php
 include 'koneksi.php';
 $id = $_GET['id'];
 $sql = "SELECT * FROM mahasiswa WHERE id=$id";
 $result = mysqli_query($koneksi, $sql);
 $row = mysqli_fetch_assoc($result);
 ?>
 <form action="proses_edit.php" method="post">
 <input type="hidden" name="id" value="<?php echo $row['id']; ?>">

 <label for="nama">Nama:</label><br>
 <input type="text" id="nama" name="nama" value="<?php echo $row['nama']; ?>" required><br><br>

 <label for="nim">NIM:</label><br>
 <input type="text" id="nim" name="nim" value="<?php echo $row['nim']; ?>" required><br><br>

 <label for="jurusan">Jurusan:</label><br>
 <input type="text" id="jurusan" name="jurusan" value="<?php echo $row['jurusan']; ?>"><br><br>

 <label for="email">Email:</label><br>
 <input type="email" id="email" name="email" value="<?php echo $row['email']; ?>"><br><br>

 <input type="submit" value="Simpan">
 </form>
</body>
</html>

Selanjutnya, buat file proses_edit.php untuk memproses data yang diubah. Masukkan kode berikut:

<?php
include 'koneksi.php';

$id = $_POST['id'];
$nama = $_POST['nama'];
$nim = $_POST['nim'];
$jurusan = $_POST['jurusan'];
$email = $_POST['email'];

$sql = "UPDATE mahasiswa SET nama='$nama', nim='$nim', jurusan='$jurusan', email='$email' WHERE id=$id";

if (mysqli_query($koneksi, $sql)) {
 echo "Data mahasiswa berhasil diubah. <a href='index.php'>Kembali ke daftar</a>";
} else {
 echo "Error: " . $sql . "<br>" . mysqli_error($koneksi);
}

mysqli_close($koneksi);
?>

Membuat Fitur Delete (Menghapus Data): Konfirmasi dan Proses Penghapusan

Buat file bernama hapus.php untuk menghapus data mahasiswa. Masukkan kode berikut:

<?php
include 'koneksi.php';

$id = $_GET['id'];

$sql = "DELETE FROM mahasiswa WHERE id=$id";

if (mysqli_query($koneksi, $sql)) {
 echo "Data mahasiswa berhasil dihapus. <a href='index.php'>Kembali ke daftar</a>";
} else {
 echo "Error: " . $sql . "<br>" . mysqli_error($koneksi);
}

mysqli_close($koneksi);
?>

Penting: Sebaiknya tambahkan konfirmasi sebelum menghapus data untuk menghindari penghapusan data yang tidak disengaja. Anda bisa menggunakan JavaScript untuk menampilkan kotak dialog konfirmasi.

Tips Keamanan: Mencegah SQL Injection dalam CRUD PHP MySQL

Keamanan adalah aspek penting dalam pengembangan aplikasi web. Salah satu ancaman yang umum adalah SQL Injection. SQL Injection terjadi ketika penyerang memasukkan kode SQL berbahaya ke dalam input aplikasi, yang dapat menyebabkan akses tidak sah ke database.

Untuk mencegah SQL Injection, gunakan fungsi mysqli_real_escape_string() untuk membersihkan input pengguna sebelum menggunakannya dalam query SQL. Fungsi ini akan meng-escape karakter khusus yang dapat disalahgunakan dalam SQL Injection.

Contoh penggunaan:

$nama = mysqli_real_escape_string($koneksi, $_POST['nama']);
$nim = mysqli_real_escape_string($koneksi, $_POST['nim']);

Selain itu, pertimbangkan untuk menggunakan prepared statements untuk keamanan yang lebih baik. Prepared statements memisahkan query SQL dari data, sehingga mengurangi risiko SQL Injection.

Kesimpulan: Menguasai Dasar CRUD PHP MySQL untuk Pengembangan Web

Selamat! Anda telah berhasil mengikuti tutorial CRUD PHP MySQL lengkap dengan gambar. Sekarang Anda memiliki dasar yang kuat untuk mengembangkan aplikasi web yang berinteraksi dengan database. Teruslah berlatih dan eksplorasi fitur-fitur PHP dan MySQL lainnya untuk meningkatkan kemampuan Anda dalam pengembangan web. Jangan ragu untuk mencari referensi dan contoh kode lainnya di internet. Dengan ketekunan, Anda akan menjadi seorang pengembang web yang handal.

Dengan menguasai tutorial CRUD PHP MySQL lengkap, Anda dapat membuat berbagai macam aplikasi web, mulai dari aplikasi sederhana seperti buku alamat hingga aplikasi yang lebih kompleks seperti sistem manajemen konten (CMS) atau toko online. Ingatlah untuk selalu memperhatikan keamanan dan mengikuti praktik terbaik dalam pengembangan web. Selamat mencoba dan semoga sukses!

Leave a Reply

Your email address will not be published. Required fields are marked *

© 2025 iltekkomputer