Dalam pengembangan aplikasi berbasis data, perancangan database yang baik sangat penting untuk memastikan data tersimpan dengan efisien dan dapat diakses dengan mudah. Artikel ini akan menjelaskan rancangan Entity-Relationship Diagram (ERD) dan Enhanced Entity-Relationship Diagram (EERD) dari aplikasi yang telah dibuat, termasuk penjelasan relasi antar entitas dan metode normalisasi yang digunakan untuk mengoptimalkan struktur database. Selain itu, artikel ini juga akan membahas implementasi CRUD menggunakan file PHP.
Entity-Relationship Diagram (ERD)
ERD adalah representasi grafis dari struktur database yang menunjukkan entitas, atribut, dan relasi antar entitas. Berikut adalah ERD dari aplikasi yang telah dibuat:
Penjelasan Entitas dan Atribut
1. Tabel Lecturer
- id_lecturer (Primary Key): ID unik untuk setiap dosen.
- name: Nama dosen.
Relasi:
- Tabel Lecturer berhubungan dengan tabel Absensi Dosen melalui id_lecturer sebagai foreign key. Setiap dosen bisa memiliki banyak catatan absensi.
2. Tabel Mata Kuliah
- id_matkul (Primary Key): ID unik untuk setiap mata kuliah.
- nama: Nama mata kuliah.
- SKS: Jumlah jam kuliah.
Relasi:
- Tabel Mata Kuliah berhubungan dengan tabel Absensi Dosen melalui id_matkul sebagai foreign key. Setiap mata kuliah bisa memiliki banyak catatan absensi dari berbagai dosen.
3. Tabel Absensi Dosen
- id_absensi (Primary Key): ID unik untuk setiap catatan absensi.
- id_matkul (Foreign Key): Mengacu pada id_matkul di tabel Mata Kuliah.
- id_lecturer (Foreign Key): Mengacu pada id_lecturer di tabel Lecturer.
- status: Status absensi dosen (misalnya hadir atau tidak hadir).
tanggal: Tanggal absensi dilakukan.
Relasi:
- Tabel Absensi Dosen berfungsi sebagai entitas penghubung untuk menyelesaikan hubungan Many-to-Many antara Mata Kuliah dan Lecturer.
- Mata Kuliah dan Lecturer masing-masing memiliki relasi One-to-Many dengan Absensi Dosen. Artinya, satu mata kuliah bisa memiliki banyak catatan absensi (yang berhubungan dengan beberapa dosen), dan satu dosen bisa memiliki banyak catatan absensi (untuk beberapa mata kuliah).