ENTITY
RELATIONSHIP DIAGRAM
“Sistem Absensi Online Berbasis Web
dengan Verifikasi Lokasi Google Maaps.”
Dipersiapkan Oleh :
Kelompok 5 PSTI-A
Angga Saputra 2415061071
M. Paundra Napynka
Ali 2455061016
Akhmad Faishal
Kharisma 2415061054
M. Alfaruq Hasan 2415061083
Program Studi Teknik Informatika
FT Universitas Lampung
Jl. S. Brojonegoro No. 1 Bandar Lampung
ENTITY RELATIONSHIP DIAGRAM
1. Entitas
User
a.
Atribut
: user_id, nama, email, password, role( admin atau pegawai).
b. Relasi
: Satu user dapat bisa melakukan absensi berkali-kali.
2. Entitas
Lokasi Kantor
a.
Atribut
: lokasi_id, nama_lokasi, latitude atau garis lintang, longtitude atau garis
bujur, radius_validasi.
b.
Relasi
: Ketika pengguna melakukan absensi, sistem akan mencocokkan latitude/longitude
yang tercatat dengan satu lokasi kantor tertentu; ini direalisasikan lewat
foreign key lokasi_id pada tabel Absensi. Dengan demikian, satu lokasi kantor
dapat muncul di banyak baris absensi (one-to-many).
3.
Entitas
Absensi
a.
Atribut
: absensi_id, tanggal, jam, status, latitude, longitude.
b. Relas
: Tabel Absensi menjadi pusat pencatatan kehadiran. Kunci primernya adalah
absensi_id. Selain tanggal, jam, dan status (Hadir, Telat, Izin, dan
sejenisnya), tabel ini juga merekam koordinat aktual (latitude dan longitude)
saat absen untuk keperluan verifikasi lokasi. Di sini terdapat tiga foreign
key: user_id (untuk menunjuk siapa yang absen), lokasi_id (untuk menentukan
lokasi kantor mana yang dipakai sebagai acuan), dan jadwal_id (opsional—untuk
mencocokkan absensi dengan jadwal harian pengguna). Karena setiap pengguna
mungkin absen beberapa kali dan pada hari yang berbeda, hubungan antara User
dan Absensi adalah one-to-many; demikian pula satu lokasi kantor dan satu
jadwal dapat terkait ke banyak catatan absensi.
4. Entitas
Jadwal_id
a. Atribut
: hari, jam_masuk, jam_pulang.
b. Relasi
: Tabel Jadwal mengatur jam masuk dan pulang bagi masing-masing pengguna pada
hari tertentu (Senin–Minggu). Kunci primernya adalah jadwal_id, dan ada kolom
user_id sebagai foreign key yang merujuk ke tabel User. Karena satu pengguna
bisa memiliki jadwal berbeda di hari berbeda (atau shift berbeda), maka satu
baris di User dapat dikaitkan dengan banyak baris di Jadwal. Selanjutnya,
setiap entri jadwal juga bisa dihubungkan dengan beberapa catatan
absensi—misalnya untuk menghitung keterlambatan berdasarkan jadwal masuk yang
ditetapkan.
0 Comments