CRUD - 2 Pendaftaran Siswa Baru

Nama: Azzura Mahendra Putra Malinus

NRP: 5025201211

Kelas: Pemrograman Web A

Tahun Ajaran: 2022/2023


Link repository: Repository 


Tugas yang diberikan pada pertemuan ini adalah membuat sebuah website CRUD untuk pendaftaran siswa baru. Bahasa yang akan digunakan adalah PHP dan HTML untuk membuat struktur dan backend serta SQL untuk melakukan query. Selain itu, database yang akan digunakan adalah phpmyadmin. File-file yang diperlukan adalah sebagai berikut:

  1. config.php
  2. form-daftar.php
  3. form-edit.php
  4. hapus.php
  5. index.php
  6. list-siswa.php
  7. proses-edit.php
  8. proses-pendaftaran.php
  9. DDL.sql

config.php

<?php

$server = "localhost";
$user = "root";
$password = "";
$nama_database = "pendaftaran_siswa";

$db = mysqli_connect($server, $user, $password, $nama_database);

if( !$db ){
    die("Gagal terhubung dengan database: " . mysqli_connect_error());
}

?>

form-pendaftaran.php

<?php
include("config.php");

if (isset($_POST['daftar'])) {
    $nama = $_POST['nama'];
    $alamat = $_POST['alamat'];
    $jk = $_POST['jenis_kelamin'];
    $agama = $_POST['agama'];
    $sekolah = $_POST['sekolah_asal'];

    $query = mysqli_query($db, "INSERT INTO calon_siswa VALUES ('', '$nama', '$alamat', '$jk', '$agama', '$sekolah')");

    if ($query) {
        header('Location: index.php?status=sukses');
    } else {
        header('Location: index.php?status=gagal');
    }
} else {
    die("Akses dilarang...");
}

?>

form-edit.php

<?php
    include("config.php");

    if (!isset($_GET['id'])) {
        header('Location: list-siswa.php');
    }

    $id = $_GET['id'];
    $query = mysqli_query($db, "SELECT * FROM calon_siswa WHERE id = $id");
    $siswa = mysqli_fetch_assoc($query);
   
    if (!mysqli_num_rows($query)) {
        die("Data tidak ditemukan...");
    }
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Formulir Edit Siswa Baru | SMK Coding</title>
</head>
<body>
    <h3>Formulir Edit Siswa</h3>

    <form action="proses-edit.php" method="POST">
        <input type="hidden" name="id" value="<?php echo $siswa['id']?>">

        <table cellpadding="4" style="border: 1px solid black; padding: 1% 10% 1% 1%;">
            <tr>
                <td><label for="nama">Nama: </label></td>
                <td><input type="text" name="nama" placeholder="Nama lengkap" value="<?php echo $siswa['nama']?>"></td>
            </tr>
            <tr>
                <td><label for="alamat">Alamat: </label></td>
                <td><textarea name="alamat"><?php echo $siswa['alamat'] ?></textarea></td>
            </tr>
            <tr>
                <td><label for="jenis_kelamin">Jenis Kelamin: </label></td>
                <td>
                    <?php $jk = $siswa['jenis_kelamin'] ?>
                    <label><input type="radio" name="jenis_kelamin" value="laki-laki" <?php echo ($jk == 'laki-laki') ? "checked": "" ?>> Laki-laki</label>
                    <label><input type="radio" name="jenis_kelamin" value="perempuan" <?php echo ($jk == 'perempuan') ? "checked": "" ?>> Perempuan</label>
                </td>
               
            </tr>
            <tr>
                <td><label for="agama">Agama: </label></td>
                <td>
                    <?php $agama = $siswa['agama'] ?>
                    <select name="agama">
                    <option <?php echo ($agama == 'Islam') ? "selected": "" ?>>Islam</option>
                    <option <?php echo ($agama == 'Kristen') ? "selected": "" ?>>Kristen</option>
                    <option <?php echo ($agama == 'Hindu') ? "selected": "" ?>>Hindu</option>
                    <option <?php echo ($agama == 'Budha') ? "selected": "" ?>>Budha</option>
                    <option <?php echo ($agama == 'Atheis') ? "selected": "" ?>>Atheis</option>
                </select>
            </td>
            </tr>
            <tr>
                <td><label for="sekolah_asal">Sekolah Asal: </label></td>
                <td><input type="text" name="sekolah_asal" placeholder="Nama sekolah" value="<?php echo $siswa['sekolah_asal'] ?>"></td>
            </tr>
            <tr>
                <td><input type="submit" value="Simpan" name="simpan"></td>
            </tr>
        </table>
    </form>
</body>
</html>

hapus.php

<?php
    include("config.php");

    if (isset($_GET['id'])) {
        $id = $_GET['id'];
        $query = mysqli_query($db, "DELETE FROM calon_siswa WHERE id = $id");
       
        if ($query) {
            header("Location: list-siswa.php");
        } else {
            die("Gagal menghapus...");
        }
       
    } else {
        die("Akses dilarang...");
    }

?>

index.php

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Pendaftaran Siswa Baru</title>
</head>
<body>
    <h3>Pendaftaran Siswa Baru</h3>
    <h1>SMK Coding</h1>
    <h3>Menu</h3>
    <ul>
        <li><a href="form-daftar.php">Daftar Baru</a></li>
        <li><a href="list-siswa.php">Pendaftar</a></li>
    </ul>

    <?php
        if (isset($_GET['status']) && $_GET['status'] == 'sukses') {
            echo "Pendaftaran siswa baru berhasil!";
        } else {
            echo "Pendaftaran gagal!";
        }
    ?>
</body>
</html>

list-siswa.php

<?php include('config.php') ?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Pendaftaran Siswa Baru</title>
</head>
<body>
    <h2>Siswa yang sudah mendaftar</h2>
    <a href="form-daftar.php">[+] Tambah Baru</a> <br> <br>
    <table border="1" cellpadding="4">
        <tr>
            <th>No</th>
            <th>Nama</th>
            <th>Alamat</th>
            <th>Jenis Kelamin</th>
            <th>Agama</th>
            <th>Sekolah Asal</th>
            <th>Tindakan</th>
        </tr>
       
        <?php
            $query = mysqli_query($db, "SELECT * FROM calon_siswa");

            while ($hasil = mysqli_fetch_assoc($query)) {
                echo "<tr>";

                echo "<td>".$hasil['id']."</td>";
                echo "<td>".$hasil['nama']."</td>";
                echo "<td>".$hasil['alamat']."</td>";
                echo "<td>".$hasil['jenis_kelamin']."</td>";
                echo "<td>".$hasil['agama']."</td>";
                echo "<td>".$hasil['sekolah_asal']."</td>";
                echo "<td>";
                echo "<a href='form-edit.php?id=".$hasil['id']."'>Edit</a>";
                echo " | ";
                echo "<a href='hapus.php?id=".$hasil['id']."'>Hapus</a>";
                echo "</td>";

                echo "</tr>";
            }
        ?>
    </table>

    <?php
        echo "<p>Total: ".mysqli_num_rows($query)."</p>";
    ?>
</body>
</html>

proses-edit.php

<?php

    include("config.php");
   
    if (isset($_POST['simpan'])) {
        $id = $_POST['id'];
        $nama = $_POST['nama'];
        $alamat = $_POST['alamat'];
        $jk = $_POST['jenis_kelamin'];
        $agama = $_POST['agama'];
        $sekolah = $_POST['sekolah_asal'];

        $query = mysqli_query($db, "UPDATE calon_siswa SET nama = '$nama', alamat = '$alamat', jenis_kelamin = '$jk', agama = '$agama', sekolah_asal = '$sekolah' WHERE id = $id");

        if ($query) {
            header('Location: list-siswa.php');
        } else {
            die("Gagal menyimpan perubahan...");
        }
    } else {
        die("Akses dilarang...");
    }

?>


proses-pendaftaran.php

<?php
include("config.php");

if (isset($_POST['daftar'])) {
    $nama = $_POST['nama'];
    $alamat = $_POST['alamat'];
    $jk = $_POST['jenis_kelamin'];
    $agama = $_POST['agama'];
    $sekolah = $_POST['sekolah_asal'];

    $query = mysqli_query($db, "INSERT INTO calon_siswa VALUES ('', '$nama', '$alamat', '$jk', '$agama', '$sekolah')");

    if ($query) {
        header('Location: index.php?status=sukses');
    } else {
        header('Location: index.php?status=gagal');
    }
} else {
    die("Akses dilarang...");
}

?>

DDL.sql

CREATE TABLE calon_siswa (
    id INT NOT NULL AUTO_INCREMENT,  
    nama VARCHAR(64) NOT NULL,  
    alamat VARCHAR(255) NOT NULL,  
    jenis_kelamin VARCHAR(16) NOT NULL,  
    agama VARCHAR(16) NOT NULL,  
    sekolah_asal VARCHAR(64) NOT NULL,    
    CONSTRAINT PK_id_calon_siswa PRIMARY KEY (id)
);


Tampilan Website

Halaman awal


Daftar siswa


Form daftar



Form edit


Sekian dari blog ini, terima kasih sudah membaca!

Komentar

Postingan populer dari blog ini

Tugas 1 (Membuat Curriculum Vitae dengan HTML)

Evaluasi Akhir Semester Pemrograman Web 2022 (Kelompok)