Cara Membuat Aplikasi Data Alumni dengan PHP Native (Part 1)

🐘 Seri Tutorial PHP Native — Data Alumni

  1. Part 1: Setup & Menampilkan Data (sedang dibaca)
  2. Part 2: CRUD (Tambah, Edit, Hapus)
  3. Part 3: Pencarian & Pagination
  4. Part 4: Login & Session

Meski framework seperti Laravel dan CodeIgniter sangat populer, memahami PHP native (tanpa framework) tetap penting — ia mengajarkan Anda cara kerja dasar sebuah aplikasi web. Pada seri ini kita akan membangun aplikasi data alumni dari nol dengan PHP murni, lengkap dengan CRUD, pencarian, pagination, hingga login.

Di Part 1 ini kita menyiapkan struktur proyek, membuat koneksi database yang aman dengan PDO, membuat tabel alumni, lalu menampilkan datanya.

Alur Aplikasi PHP Native
Alur Aplikasi PHP Native

Struktur dan Alur Aplikasi

Berbeda dengan framework yang punya pola MVC ketat, aplikasi PHP native lebih sederhana: setiap file .php adalah sebuah halaman yang bisa diakses langsung. Meski begitu, kita tetap akan menata kode secara rapi — memisahkan koneksi, template, dan logika — agar mudah dirawat.

Menyiapkan Kebutuhan

  • XAMPP (Apache + PHP + MySQL).
  • Editor kode seperti VS Code.

Membuat Struktur Folder

Buat folder alumni di dalam htdocs, dengan susunan berikut:

alumni/
├── config/
│   └── koneksi.php
├── templates/
│   ├── header.php
│   └── footer.php
├── assets/
│   └── gaya.css
└── index.php

Struktur ini memisahkan konfigurasi, potongan tampilan, dan aset — kebiasaan baik yang membuat proyek tetap teratur meski bertambah besar.

Membuat Database dan Tabel Alumni

Buka phpMyAdmin, buat database db_alumni, lalu jalankan SQL berikut:

CREATE TABLE alumni (
    id INT PRIMARY KEY AUTO_INCREMENT,
    nim VARCHAR(20),
    nama VARCHAR(100),
    jurusan VARCHAR(60),
    angkatan YEAR,
    pekerjaan VARCHAR(100)
);

INSERT INTO alumni (nim, nama, jurusan, angkatan, pekerjaan) VALUES
('2018001', 'Rani Kusuma',   'Informatika',  2018, 'Software Engineer'),
('2018002', 'Dimas Prayoga', 'Sistem Informasi', 2018, 'Data Analyst'),
('2019010', 'Sari Melati',   'Informatika',  2019, 'UI/UX Designer'),
('2019011', 'Bagas Saputra', 'Manajemen',    2019, 'Digital Marketer');

Membuat Koneksi Database dengan PDO

Kita pakai PDO karena lebih aman dan modern dibanding cara lama. Buat file config/koneksi.php:

<?php

$host = 'localhost';
$db   = 'db_alumni';
$user = 'root';
$pass = '';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$db;charset=utf8mb4", $user, $pass);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
} catch (PDOException $e) {
    die('Koneksi gagal: ' . $e->getMessage());
}

Pengaturan ERRMODE_EXCEPTION membuat PDO melempar exception saat ada error — memudahkan debugging. FETCH_ASSOC membuat hasil query berupa array asosiatif.

Membuat Template Header dan Footer

Agar tampilan konsisten di semua halaman, buat potongan header dan footer yang bisa di-include. File templates/header.php:

<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <title>Data Alumni</title>
    <link rel="stylesheet" href="/alumni/assets/gaya.css">
</head>
<body>
<header>
    <div class="logo">Data Alumni</div>
    <nav>
        <a href="/alumni/index.php">Daftar Alumni</a>
    </nav>
</header>
<main>

Dan templates/footer.php:

</main>
<footer>© 2026 Aplikasi Data Alumni</footer>
</body>
</html>

Menampilkan Data Alumni

Sekarang buat index.php yang mengambil dan menampilkan data:

<?php
require 'config/koneksi.php';

$alumni = $pdo->query("SELECT * FROM alumni ORDER BY id DESC")->fetchAll();

require 'templates/header.php';
?>

<h2>Daftar Alumni</h2>

<table border="1" cellpadding="8" cellspacing="0">
    <thead>
        <tr><th>NIM</th><th>Nama</th><th>Jurusan</th><th>Angkatan</th><th>Pekerjaan</th></tr>
    </thead>
    <tbody>
        <?php foreach ($alumni as $a): ?>
            <tr>
                <td><?= htmlspecialchars($a['nim']) ?></td>
                <td><?= htmlspecialchars($a['nama']) ?></td>
                <td><?= htmlspecialchars($a['jurusan']) ?></td>
                <td><?= htmlspecialchars($a['angkatan']) ?></td>
                <td><?= htmlspecialchars($a['pekerjaan']) ?></td>
            </tr>
        <?php endforeach ?>
    </tbody>
</table>

<?php require 'templates/footer.php'; ?>

Fungsi htmlspecialchars() wajib dipakai saat menampilkan data ke HTML — ia mencegah serangan XSS dengan meng-escape karakter berbahaya. Buka http://localhost/alumni/ dan data alumni akan tampil rapi.

Daftar alumni di browser
Daftar alumni di browser

Penutup

Fondasi aplikasi data alumni Anda sudah berdiri — struktur folder yang rapi, koneksi PDO yang aman, database, dan menampilkan data. Anda kini paham cara kerja dasar aplikasi PHP tanpa bergantung pada framework.

Di Part 2, kita akan menambahkan operasi CRUD: form tambah alumni, edit, dan hapus, dengan prepared statement yang aman. Sampai jumpa!

Referensi: untuk pendalaman lebih lanjut, kunjungi manual resmi PHP.

Baca Juga

Ali Akbar

Software Developer yang fokus mengembangkan aplikasi berbasis Web dan Desktop. Senang mempelajari teknologi baru terutama di bidang web design dan web development.

View all posts by Ali Akbar →

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *