Pertemuan 13

 Pertemuan 13

        Nama : Jhonatan Christopher Lundu Simorangkir

            NRP : 5025221316

            Mata Kuliah : PWEB B2

            Link Github Repository : https://github.com/JhonatanSimorangkir/PWEB-B/tree/main/Pertemuan-13

1. Gambaran Umum Aplikasi

Aplikasi ini merupakan sistem pendaftaran berbasis web yang memungkinkan pengguna untuk:

  • Mengisi formulir pendaftaran

  • Mengunggah foto

  • Melihat daftar pendaftar

  • Mengedit data pendaftar termasuk mengganti foto

  • Menghapus data pendaftar

Aplikasi dibangun menggunakan PHP native, MySQL sebagai database, dan HTML + CSS untuk tampilan.


2. Arsitektur Umum Sistem

Aplikasi menggunakan arsitektur Client–Server dengan pendekatan monolithic PHP.

[ Browser ] ↓ HTTP Request [ PHP Application ] ↓ SQL Query [ MySQL Database ][ File Storage (Folder foto/) ]

3. Lapisan Arsitektur (Layered Architecture)

3.1 Presentation Layer (Tampilan)

Berfungsi menampilkan antarmuka kepada pengguna.

Teknologi:

  • HTML

  • CSS (style.css)

File terkait:

  • index.php → Form pendaftaran

  • list.php → Tabel daftar pendaftar

  • edit.php → Form edit data

Tanggung jawab:

  • Menampilkan form input

  • Menampilkan tabel data

  • Menampilkan gambar (foto)

  • Navigasi antar halaman

3.2 Application / Logic Layer (Logika Aplikasi)

Berisi logika bisnis dan pengolahan data.

Teknologi:

  • PHP (server-side)

Fungsi utama:

  • Validasi input form

  • Proses CRUD (Create, Read, Update, Delete)

  • Proses upload & penggantian foto

  • Redirect halaman

File terkait:

  • index.php → proses INSERT

  • edit.php → proses UPDATE + ganti foto

  • delete.php → proses DELETE

  • list.php → proses SELECT


3.3 Data Layer (Database)

Menyimpan seluruh data pendaftar.

Teknologi:

  • MySQL

Struktur Tabel pendaftar:

KolomTipe DataFungsi
idint (PK)Identitas unik pendaftar
nisvarchar(11)Nomor induk siswa
namavarchar(50)Nama lengkap
jenis_kelaminvarchar(10)Jenis kelamin
telpvarchar(15)Nomor telepon
alamattextAlamat lengkap
fotovarchar(200)Nama file foto

3.4 File Storage Layer

Digunakan untuk menyimpan file foto yang diunggah pengguna.

Media penyimpanan:

  • Folder foto/ di server

Fungsi:

  • Menyimpan foto pendaftar

  • Menampilkan foto di halaman list

  • Menghapus foto lama saat diganti

  • Menjaga relasi antara database dan file fisik


4. Alur Proses Utama (Flow)

4.1 Proses Pendaftaran (Create)

Userindex.php → POST data → Upload foto ke folder foto/ → INSERT data ke database → Redirect ke list.php

4.2 Proses Menampilkan Data (Read)

User → list.php → SELECT * FROM pendaftar → Tampilkan data + foto

4.3 Proses Edit & Ganti Foto (Update)

User → edit.php?id=x → Form ditampilkan (data lama) → Jika upload foto baru: - Hapus foto lama - Upload foto baru → UPDATE database → Redirect ke list.php

4.4 Proses Hapus Data (Delete)

Userdelete.php?id=x → DELETE data dari database → (opsional) hapus foto → Redirect ke list.php

5. Keamanan Dasar

Implementasi keamanan yang digunakan:

  • Konfirmasi JavaScript saat hapus data

  • Penggunaan id sebagai primary key

  • Upload foto menggunakan move_uploaded_file()

  • Pemisahan koneksi database (db.php)

Catatan: Sistem ini masih sederhana, cocok untuk pembelajaran.


6. Struktur Folder Aplikasi

/pendaftaran │ ├── index.php ├── list.php ├── edit.php ├── delete.php ├── db.php ├── style.css └── foto/

7. Karakteristik Arsitektur

  • Monolithic PHP

  • Stateless (berbasis HTTP)

  • CRUD oriented

  • Cocok untuk skala kecil–menengah

  • Mudah dikembangkan ke MVC / Framework


8. Kesimpulan

Arsitektur aplikasi web pendaftaran ini:

  • Menggunakan client–server architecture

  • Menerapkan layered architecture

  • Mengintegrasikan database dan file storage

  • Mendukung CRUD lengkap dengan upload foto

  • Sederhana, efisien, dan mudah dipahami

Comments

Popular posts from this blog

Evaluasi Tengah Semester Jhonatan Christopher

Pertemuan 1 : Latihan Mengetik

Pertemuan 3 : Tabel, Form, dan Frame