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
- Jalankan script SQL di
Back/setup_database.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 diBack/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 mahasiswaGET /mahasiswa/{id}
: Detail mahasiswaPOST /mahasiswa
: Tambah mahasiswaPUT /mahasiswa/{id}
: Update mahasiswaDELETE /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
Post a Comment