Artikel

Tutorial Membuat Aplikasi CRUD PHP Paling Sederhana

Soal Tes CRUD PHP

Instruksi: Buatlah aplikasi sederhana menggunakan PHP yang dapat melakukan operasi CRUD (Create, Read, Update, Delete) pada sebuah tabel database. Tabel tersebut memiliki 6 kolom sebagai berikut:

  1. id (INT, Auto Increment, Primary Key)
  2. nama (VARCHAR, Nama lengkap)
  3. email (VARCHAR, Alamat email)
  4. telepon (VARCHAR, Nomor telepon)
  5. alamat (TEXT, Alamat lengkap)
  6. tanggal_lahir (DATE, Tanggal lahir)

Tugas:

  • 1. Membuat Database dan Tabel:
    • Buat database dengan nama db_tes.
    • Buat tabel dengan nama data_siswa sesuai dengan struktur kolom di atas.
  • 2. Membuat Halaman CRUD:
    • Buat form untuk menambahkan data baru (Create).
    • Tampilkan data dalam bentuk tabel dengan fitur pencarian (Read).
    • Sediakan tombol untuk mengedit data yang sudah ada (Update).
    • Sediakan tombol untuk menghapus data (Delete).
  • 3. Validasi Data:
    • Validasi input agar semua kolom tidak boleh kosong.
    • Email harus dalam format yang benar.
    • Nomor telepon hanya boleh berupa angka.
  • 4. Kriteria Penilaian:
    • Fungsi CRUD berfungsi dengan baik.
    • Desain sederhana namun user-friendly.
    • Penulisan kode rapi dan mudah dipahami.

Jawaban Tes CRUD PHP

Langka-langkah menjawab

1. Persiapan

Pastikan Anda sudah memiliki:

  • Server lokal seperti XAMPP.
  • Database MySQL.
  • Editor kode seperti Visual Studio Code.

2. Membuat Database dan Tabel

  1. Buka phpMyAdmin melalui browser, biasanya di http://localhost/phpmyadmin.
  2. Buat database baru dengan nama db_tes.
  3. Buat tabel baru bernama data_siswa dengan struktur kolom sebagai berikut:
CREATE TABLE data_siswa (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(100) NOT NULL,
    email VARCHAR(100) NOT NULL,
    telepon VARCHAR(15) NOT NULL,
    alamat TEXT NOT NULL,
    tanggal_lahir DATE NOT NULL
);

3. Membuat Struktur Folder Project

Buat folder project di dalam folder htdocs (XAMPP) atau www (MAMP) dengan nama crud_php. Di dalamnya, buat beberapa file dan folder berikut:

  • index.php (untuk menampilkan data dan form pencarian).
  • create.php (untuk form tambah data).
  • edit.php (untuk form edit data).
  • delete.php (untuk menghapus data).
  • database.php (untuk koneksi database).

4. Membuat Koneksi Database (database.php)

Buat file database.php dan isi dengan kode berikut:

<?php
$host = 'localhost';
$user = 'root'; // sesuaikan jika menggunakan user lain
$password = ''; // sesuaikan jika menggunakan password
$dbname = 'db_tes';

$conn = new mysqli($host, $user, $password, $dbname);

if ($conn->connect_error) {
    die("Koneksi gagal: " . $conn->connect_error);
}
?>

5. Menampilkan Data (index.php)

Buat file index.php untuk menampilkan data siswa:

<?php
include 'database.php';

$result = $conn->query("SELECT * FROM data_siswa");
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Data Siswa</title>
</head>
<body>
    <h2>Data Siswa</h2>
    <a href="create.php">Tambah Siswa</a>
    <table border="1" cellpadding="10" cellspacing="0">
        <tr>
            <th>ID</th>
            <th>Nama</th>
            <th>Email</th>
            <th>Telepon</th>
            <th>Alamat</th>
            <th>Tanggal Lahir</th>
            <th>Aksi</th>
        </tr>
        <?php while ($row = $result->fetch_assoc()): ?>
        <tr>
            <td><?= $row['id']; ?></td>
            <td><?= $row['nama']; ?></td>
            <td><?= $row['email']; ?></td>
            <td><?= $row['telepon']; ?></td>
            <td><?= $row['alamat']; ?></td>
            <td><?= $row['tanggal_lahir']; ?></td>
            <td>
                <a href="edit.php?id=<?= $row['id']; ?>">Edit</a> |
                <a href="delete.php?id=<?= $row['id']; ?>" onclick="return confirm('Yakin ingin menghapus?')">Hapus</a>
            </td>
        </tr>
        <?php endwhile; ?>
    </table>
</body>
</html>

6. Menambah Data (create.php)

Buat file create.php untuk menambahkan data baru:

<?php
include 'database.php';

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $nama = $_POST['nama'];
    $email = $_POST['email'];
    $telepon = $_POST['telepon'];
    $alamat = $_POST['alamat'];
    $tanggal_lahir = $_POST['tanggal_lahir'];

    $sql = "INSERT INTO data_siswa (nama, email, telepon, alamat, tanggal_lahir) 
            VALUES ('$nama', '$email', '$telepon', '$alamat', '$tanggal_lahir')";
    
    if ($conn->query($sql) === TRUE) {
        header('Location: index.php');
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Tambah Siswa</title>
</head>
<body>
    <h2>Tambah Siswa</h2>
    <form action="" method="POST">
        <label>Nama:</label><br>
        <input type="text" name="nama" required><br>
        <label>Email:</label><br>
        <input type="email" name="email" required><br>
        <label>Telepon:</label><br>
        <input type="text" name="telepon" required><br>
        <label>Alamat:</label><br>
        <textarea name="alamat" required></textarea><br>
        <label>Tanggal Lahir:</label><br>
        <input type="date" name="tanggal_lahir" required><br><br>
        <input type="submit" value="Tambah">
    </form>
    <a href="index.php">Kembali</a>
</body>
</html>

7. Mengedit Data (edit.php)

Buat file edit.php untuk mengedit data yang sudah ada:

<?php
include 'database.php';

$id = $_GET['id'];
$result = $conn->query("SELECT * FROM data_siswa WHERE id = $id");
$row = $result->fetch_assoc();

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $nama = $_POST['nama'];
    $email = $_POST['email'];
    $telepon = $_POST['telepon'];
    $alamat = $_POST['alamat'];
    $tanggal_lahir = $_POST['tanggal_lahir'];

    $sql = "UPDATE data_siswa SET 
            nama='$nama', 
            email='$email', 
            telepon='$telepon', 
            alamat='$alamat', 
            tanggal_lahir='$tanggal_lahir' 
            WHERE id=$id";

    if ($conn->query($sql) === TRUE) {
        header('Location: index.php');
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Edit Siswa</title>
</head>
<body>
    <h2>Edit Siswa</h2>
    <form action="" method="POST">
        <label>Nama:</label><br>
        <input type="text" name="nama" value="<?= $row['nama']; ?>" required><br>
        <label>Email:</label><br>
        <input type="email" name="email" value="<?= $row['email']; ?>" required><br>
        <label>Telepon:</label><br>
        <input type="text" name="telepon" value="<?= $row['telepon']; ?>" required><br>
        <label>Alamat:</label><br>
        <textarea name="alamat" required><?= $row['alamat']; ?></textarea><br>
        <label>Tanggal Lahir:</label><br>
        <input type="date" name="tanggal_lahir" value="<?= $row['tanggal_lahir']; ?>" required><br><br>
        <input type="submit" value="Update">
    </form>
    <a href="index.php">Kembali</a>
</body>
</html>

8. Menghapus Data (delete.php)

Buat file delete.php untuk menghapus data:

<?php
include 'database.php';

$id = $_GET['id'];

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

if ($conn->query($sql) === TRUE) {
    header('Location: index.php');
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}
?>

Pastikan semua file berada di folder crud_php. Setelah selesai, buka http://localhost/crud_php/index.php untuk menjalankan aplikasi. Pastikan semua fungsi CRUD berjalan dengan baik sesuai dengan instruksi soal.

Selamat mencoba dan semoga berhasil!

Artikel Terkait :

image
Soal Latihan dan Contoh Form Kontrol di Bootstrap 5
questionmark, info, help-308636.jpg
Tanya Jawab C Bagian 1
twitter, social media, communication-1522890.jpg
Membuat Fungsi Login Sederhana PHP
image-3
Layout Web Menggunakan HTML dan CSS
image-1
Membuat CRUD Native PHP
image
Membuat Halaman Beranda Menggunakan CodeIgniter4 Dan AdminLTE
image-1
Membuat Website Statis Responsive
1
Membuat Game Flappy Bird Menggunakan Construct 3
ci 4 logo
Struktur Folder CodeIgniter 4 Beserta Fungsinya
download-xampp
Apa itu XAMPP?
Ade Bratajaya Pradana

Ade Bratajaya Pradana

Saya adalah seorang programmer sekaligus guru yang mengajar di SMK TI Bali Global Badung. Antusias dengan dunia programming dan pendidikan. Senang berbagi ilmu tentang teknologi dan berita terbaru seputar IT. Memiliki visi memajukan IT di Indonesia khususnya di Pulau Bali. .

Leave a Comment

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