4.5. Perancangan Basis Data
4.5.1. Entity Relationship Diagram ERD
ERD dibuat untuk mempermudah analisis dan perancangan- perancangan selanjutnya. Perancangan ERD dibuat dengan cara menampilkan
keseluruhan relasi antar entitas dan relasi antar dua buah entitas sebagai penjelas dari bagian keseluruhan entitas. Gambar 4.11 adalah gambar daftar
dari keseluruhan entitas-entitas beserta atribut masing-masing entitas yang direlasikan antara lain sebagai berikut:
Gambar 4.11. Entitas-entitas yang terkait beserta atribut, primary key dan foreign key
memiliki siswa
jenjang orangtua
spp ruang
jadwal Jam_pel
Guru karyawan
absensi pelajaran
nilai membayar
memiliki
mempunyai memiliki
memiliki memiliki
memiliki mempunyai
memiliki
memiliki
memiliki admin
Gambar 4.12. Relasi dari Semua Entitas
4.5.2. Struktur Data
Database dibuat dengan menggunakan bantuan software phpmyadmin. Phpmyadmin adalah suatu aplikasi yang dibuat dengan bahasa pemrograman
PHP yang ditujukan untuk pengelolaan basis data MySQL berbasis web. Phpmyadmin yang saya gunakan adalah versi 3.2.3.
Berikut adalah tabel, field, tipe data dan penjelasan tiap-tiap field dari masing-masing tabel.
Tabel 4.1. tbl_jenjang
Field Tipe data
Null Keterangan
id_jenjang int1 tidak
Primary key dari tabel tbl_jenjang
jenjang char4 ya
Nama jenjang, misal : VII, VIII, IX
Tabel 4.2. tbl_ruang
Field Tipe data
Null Keterangan
id_ruang int1 tidak
Primary key dari tabel tbl_kelas
ruang char1 ya Nama jenjang, misal :
A, B, C, D
Tabel 4.3. tbl_siswa
Field Tipe data
Null Keterangan
nis varchar15 tidak
Primary key dari tabel tbl_kelas
id_jenjang int10 tidak
Foreign key dari tabel tbl_jenjang
id_kelas int10 tidak
Foreign key dari tabel tbl_kelas
Username_siswa varchar20 ya
Username yang akan digunakan saat
login
Password_siswa varchar25 ya
Password yang digunakan saat
login
Nama_siswa varchar40 ya
Nama lengkap siswa
Nama_panggilan varchar20 ya Nama panggilan
siswa Jenis_kelamin varchar15
ya Jenis kelamin siswa
Alamat_siswa Text ya
Tempat tinggal siswa yang
sekarang ditempati
Tempat_lhr_siswa varchar25 ya Tempat lahir siswa
Tgl_lhr_siswa varchar20 ya
Tanggal lahir siswa Agama_siswa varchar10
ya Agama yang dianut
siswa Email varchar30
ya Email siswa
Kewarganegaraan_siswa varchar20 ya Kewarganegaraan
siswa No_telp_siswa varchar20
ya Nomor telepon
siswa
Status_keluarga varchar15 ya
Status anak dalam keluarga. Anak
kandung, anak angkat, yatim atau
piatu
Asal_sekolah varchar40 ya
Sekolah dasar siswa bagi siswa baru,
sekolah lanjutan tingkat pertama
bagi siswa pindahan
Tahun_ajaran varchar15 ya
Tahun ajaran ketika siswa masuk
Foto varchar100 ya
Nama file image ketika foto atau
image siswa diupload
Status Int2 tidak
Status siswa
0 = siswa masuk database tetapi
belum aktif. 1 = siswa sudah
aktif 2 = siswa lulus
3 = siswa pindah 4 = siswa keluar
Tabel 4.4. tbl_orangtua
Field Tipe data
Null Keterangan
id_orangtua int10 tidak Primary key dari
tabel tbl_orangtua Nis int10
tidak Foreign key dari
tabel tbl_siswa
Username_orangtua varchar20 tidak
Username yang digunakan saat
orangtua login
Password_orangtua varchar20 tidak password yang
digunakan saat orangtua login
Nama_ayah varchar30 ya
Nama lengkap ayah dari siswa
Tempat _lhr_ayah varchar30
ya Tempat lahir ayah
Tgl_lhr_ayah varchar30 ya
Tanggal lahir ayah Alamat_ayah text
ya Tempat tinggal ayah
sekarang Agama_ayah varchar15
ya Agama yang dianut
oleh ayah Pekerjaan_ayah varchar20 ya
Pekerjaaan ayah Pendidikan_ayah varchar25 ya
Pendidikan terakhir ayah
Nama_ibu varchar30 ya
Nama lengkap ibu dari siswa
Tempat_lhr_ibu varchar30 ya Tempat lahir ibu
Tgl_lhr_ibu varchar30 ya
Tanggal lahir ibu Alamat_ibu text
ya Tempat tinggal ibu
sekarang
Agama_ibu varchar15 ya
Agama yang dianut oleh ibu
Pekerjaan_ibu varchar20 ya
Pekerjaaan ibu Pendidikan_ibu varchar25 ya
Pendidikan terakhir ibu
Nama_wali varchar30 ya
Nama lengkap wali dari siswa
Tempat_lhr_wali varchar30
ya Tempat lahir wali
Tgl_lhr_wali varchar30 ya
Tanggal lahir wali Alamat_wali text
ya Tempat tinggal wali
sekarang Agama_wali varchar15
ya Agama yang dianut
oleh wali Pekerjaan_wali varchar20 ya
Pekerjaaan wali Pendidikan_wali varchar25 ya
Pendidikan terakhir
Tabel 4.5. tbl_karyawan
Field Tipe data
Null Keterangan
Nip varchar15 tidak
Primary key dari tabel tbl_karyawan
Nama_karyawan varchar20 tidak
Nama lengkap karyawan
alamat_karyawan Text tidak
Tempat tinggal karyawan
Jenis_kelamin varchar10 ya
Jenis kelamin karyawan
Tempat_lhr_karyawan varchar20 ya
Tempat lahir karyawan
Tgl_lhr_karyawan varchar25 ya
Tanggal lahir karyawan
Pendidikan varchar40 ya
Pendidikan terakhir karyawan
agama_karyawan varchar15 ya
Agama yang dianut karyawan
kewarganegaraan_karyawan varchar20 ya Kewarganegaraan
karyawan No_telp_karyawan varchar20
ya Nomor telepon
karyawan Email varchar50
ya Email karyawan
Jabatan varchar60 ya
Jabatan karyawan di Sekolah
Perkawinan varchar20 ya
Status perkawinan karyawan
Status_karyawan varchar20 ya
Status pekerjaan karyawan; pegawai
tetap atau honorer
Mulai varchar30 ya
Tanggal mulai bekerja karyawan
username_karyawan varchar20 ya
Username yang dipakai karyawan
saat login
password_karyawan varchar20 ya
password yang dipakai karyawan
saat login
Foto varchar100
ya Nama file image
ketika foto atau image karyawan
diupload
level int2 ya
Level yang membedakan hak
akses karyawan 1 = hak akses
administrator 2 = hak akses
kepala sekolah 3 = hak akses guru
4 = hak akses karyawan non guru
Tabel 4.6. tbl_admin
Field Tipe data
Null Keterangan
id int3 tidak
Primary key dari tabel tbl_admin
username varchar30 tidak
Username admin
password varchar30 tidak Password
admin status_akun int1
tidak 0=tidak aktif,
1=aktif
Tabel 4.7. tbl_pelajaran
Field Tipe data
Null Keterangan
id_pelajaran int10 tidak
Primary key dari tabel tbl_pelajaran
Nama_pelajaran varchar30 tidak Nama
pelajaran
Status int2 tidak Status untuk jenis
pelajaran; 0 = bukan pelajaran
utama 1 = pelajaran utama
Tabel 4.8. tbl_nilai
Field Tipe data
Null Keterangan
id_nilai int10 tidak Primary key dari tabel
tbl_nilai Nis int10
tidak Foreign key dari tabel
tbl_siswa id_pelajaran int10
tidak Foreign key dari tabel
tbl_pelajaran Nilai_ul_hr_1 float
ya Nilai ulangan harian
pertama Nilai_ul_hr_2 float
ya Nilai ulangan harian
kedua Nilai_ul_hr_3 float
ya Nilai ulangan harian
ketiga Nilai_ul_hr_4 float
ya Nilai ulangan harian
keempat Nilai_uts float
ya Nilai ujian tengah
semester
Nilai_uas float ya
Nilai ujian akhir semester
Semester Int2 no
Semester pada saat nilai dimasukkan
Tahun_ajaran Varchar15 no
Tahun_ajaran ketika nilai dimasukkan
Tabel 4.9 . tbl_jam_pel
Field Tipe data
Null Keterangan
id_waktu int3 tidak
Primary key dari tabel tbl_jam_pel
Waktu varchar15 tidak
Waktu atau jam pelajaran yang tersedia
Status int3 tidak Status untuk waktu
0 = bukan waktu atau jam pelajaran utama
1 = waktu atau jam pelajaran utama
Tabel 4.10. tbl_jadwal
Field Tipe data
Null Keterangan
id_jadwal int10 tidak
Primary key dari tabel tbl_jadwal
id_pelajaran int10 ya
Foreign key dari tabel tbl_pelajaran
id_jenjang int10 ya
Foreign key dari tabel tbl_jenjang
id_kelas int10 ya
Foreign key dari tabel tbl_kels
id_hari int10 ya Hari yang tersedia yakni
dari hari Senin sampai Jumat
id_waktu int10 ya
Foreign key dari tabel tbl_jam_pel
Nip int10 ya
Foreign key dari tabel tbl_karyawan
Tahun_ajaran Varchar15 ya
Tahun_ajaran ketika jadwal dimasukkan
Tabel 4.11 . tbl_absensi
Field Tipe data
Null Keterangan
id_absensi int20 tidak
Primary key dari tabel tbl_absensi
nis varchar15 ya
Foreign key dari tabel tbl_siswa
s int2 ya
Status untuk absen sakit 0 = hadir
1 = sakit
i int2 ya
Status untuk absen izin 0 = hadir
1 = izin
a int2 ya
Status untuk absen alpa 0 = hadir
1 = alpa
tanggal varchar15 ya
Tanggal ketika absen dimasukkan
semester Int2 ya
Semester ketika absen dimasukkan
tahun_ajaran varchar15 ya
Tahun_ajaran ketika absen dimasukkan
Tabel 4.12. tbl_spp
Field Tipe data
Null Keterangan
id_transaksi bigint20 tidak
Primary key dari tabel tbl_spp
nis varchar20 tidak
Foreign key dari tabel tbl_siswa
bulan int4
tidak Bulan pembayaran spp
tahun_ajaran varchar10 tidak
Tahun_ajaran ketika transaksi pembayaran
dilakukan
status int2 tidak Status pembayaran spp
0 = belum dibayar 1 = sudah dibayar
tgl_byr varchar15 ya
Tanggal ketika transaksi dilakukan
metode varchar20 ya
Metode pembayaran, ada dua cara pembayaran
yakni metode manual dan debet
Tabel 4.13. tbl_atr_kelas
Field Tipe data
Null Keterangan
id_atr int5 tidak Primary key dari tabel
tbl_atr_kelas
Id_jenjang int5 ya
Foreign key dari tabel tbl_jenjang
Id_kelas int5 ya
Foreign key dari tabel tbl_kelas
Nip int5 ya
Foreign key dari tabel tbl_karyawan yang
bertugas sebagai wali kelas
Ketua_kelas int5 ya
Ketua kelas diambil dari tbl_siswa
Wakil_ketua int5 ya
Wakil ketua diambil dari tbl_siswa
Sekretaris int5 ya
Sekretaris diambil dari tbl_siswa
Bendahara int5 ya
Bendahara diambil dari tbl_siswa
Tahun_ajaran varchar15 ya
Tahun ajaran ketika data atribut kelas dimasukkan
Tabel 4.14 . tbl_alumni
Field Tipe data
Null Keterangan
id_alumni int10 tidak
Primary key dari tabel tbl_alumni
nis varchar15 tidak
Foreign key dari tabel tbl_siswa
tahun_lulus varchar15 tidak Tahun ajaran ketika data
alumni dimasukkan
Tabel 4.15. tbl_siswa_keluar
Field Tipe data
Null Keterangan
id_keluar int10 tidak
Primary key dari tabel tbl_siswa_keluar
nis varchar15 tidak
Foreign key dari tabel tbl_siswa
alasan_keluar varchar15 tidak
Alasan keluar atau pindah sekolah
sekolah_dituju Nama sekolah yang
dituju setelah pindah tgl_keluar
Tanggal siswa pindah
4.6. Perancangan Interface