Tugas 9 - Database untuk Aplikasi Web Pendaftaran Mahasiswa

Aplikasi CRUD Pendaftaran Mahasiswa Baru

Aplikasi web sederhana untuk pendaftaran mahasiswa baru menggunakan FastAPI (backend), MySQL (database), dan HTML/CSS/JavaScript (frontend).



Fitur

  • Tambah, lihat, edit, dan hapus data mahasiswa.
  • Backend menggunakan FastAPI & SQLAlchemy.
  • Database MySQL.
  • Frontend sederhana dengan HTML, CSS, dan JavaScript.

Struktur Proyek

README.md
Back/
    app.py
    database.py
    models.py
    requirements.txt
    setup_database.py
    setup_database.sql
Front-end/
    index.html
    form.html
    list.html
    script.js
    style.css

Penekanan pada Database (MySQL)

1. Instalasi MySQL

Pastikan MySQL sudah terpasang dan berjalan di komputer Anda.

2. Struktur Tabel Mahasiswa

Tabel mahasiswa digunakan untuk menyimpan data mahasiswa. Berikut struktur tabelnya:

Kolom Tipe Data Keterangan
id VARCHAR(36) Primary Key, UUID
nama VARCHAR(100) Nama mahasiswa
alamat VARCHAR(255) Alamat mahasiswa
jenis_kelamin VARCHAR(20) Jenis kelamin
prodi VARCHAR(100) Program studi

Contoh definisi tabel di SQL:

CREATE TABLE IF NOT EXISTS mahasiswa (
    id VARCHAR(36) PRIMARY KEY,
    nama VARCHAR(100) NOT NULL,
    alamat VARCHAR(255) NOT NULL,
    jenis_kelamin VARCHAR(20) NOT NULL,
    prodi VARCHAR(100) NOT NULL
);

Definisi model di Python (Back/models.py):

class MahasiswaModel(Base):
    __tablename__ = "mahasiswa"

    id = Column(String(36), primary_key=True, index=True)
    nama = Column(String(100), nullable=False)
    alamat = Column(String(255), nullable=False)
    jenis_kelamin = Column(String(20), nullable=False)
    prodi = Column(String(100), nullable=False)

3. Pembuatan Database dan Tabel

a. Menggunakan SQL




b. Menggunakan Script Python

  • Jalankan:
      python Back/setup_database.py
    

4. Konfigurasi Koneksi Database

  • Pengaturan koneksi ada di Back/database.py:

      DATABASE_URL = "mysql+pymysql://farhan:12345@localhost/db_mahasiswa"
    
  • Ganti sesuai username dan password MySQL..


Cara Kerja Database di Aplikasi

  • Backend menggunakan SQLAlchemy ORM untuk berinteraksi dengan database MySQL.
  • Struktur tabel didefinisikan di Back/models.py.
  • Semua operasi CRUD dilakukan pada tabel mahasiswa melalui endpoint API di Back/app.py.

Menjalankan Aplikasi

1. Instalasi Dependensi Backend

pip install -r Back/requirements.txt

2. Jalankan Server Backend

uvicorn Back.app:app --reload

API dapat diakses di http://localhost:8000.

3. Buka Frontend

Buka Front-end/index.html di browser.


Endpoint API

  • GET /mahasiswa : List semua mahasiswa
  • GET /mahasiswa/{id} : Detail mahasiswa
  • POST /mahasiswa : Tambah mahasiswa
  • PUT /mahasiswa/{id} : Update mahasiswa
  • DELETE /mahasiswa/{id} : Hapus mahasiswa

Catatan

  • Pastikan backend berjalan sebelum menggunakan frontend.
  • Ubah pengaturan CORS di backend jika frontend dihosting di domain berbeda.
  • Database dan tabel akan otomatis dibuat jika belum ada.

Author:
Farhan

Comments

Popular posts from this blog

ETS - Dokumentasi Proyek Portal Berita

Tugas 8 - Crud Form Pendafaran

Tugas 6 - Pemrograman Web (N) - Form Registration, Dropdown, and Indonesia Postal Code