Perancangan Database (Basis Data)
3.2.1 Perancangan Database (Basis Data)
Perancangan basis data dilakukan dengan membuat beberapa diagram, yaitu ERD, transformasi ERD ke LRS, dan diagram LRS.
3.2.1.1 ERD (Entity Relationship Diagram)
Berdasarkan analisa kebutuhan yang telah dilakukan, maka dibuat ERD seperti berikut ini:
* kd_jpers
* no_pem * kd_jpers
* kd_cs
Nm_jpers
* kd _jpem
Stn_pers
nm _jpem
* kd_jpem
Jmlh_pers
bsr_pem Bts_pem
Memiliki
Jenis Persyaratan
Jenis Pembayaran M
terdiri
M Calon Siswa
* no_pem nis M
wkt_pem
no_ peg M * kd_cs
* no_peg
nm_peg
nm_cs
M Pembayaran tmp_lhr_cs
almt_peg
almt_cs
tmp_lhr_peg
Staf Administrasi 1 Menerima
tgl_lhr_peg
M asl_sklh_cs
tgl_lhr_cs
Pass_peg
* nis
thn_lls_cs
nm_sis
nli_ujn_nsnl_cs
almt_sis
Siswa
Melakukan
tmp_lhr_sis
tgl_lhr_sis
asl_sklh_sis thn_lls_sis nli_ujn_nsnl_sisl thn_msk_sis
Memilih * nis
* nis
Menempati
* kd_mtpel
* kd_kls
tgs ulngn uts uas
* kd_kls
nm_kls
Mendapat
dy_tmpng
* kd_jrsn
Nm_jrsn * nig
nm_gru
Menempati
almt_gru tmp_lhr_gru tgl_lhr_gru pass_gru
Mata Pelajaran Jam
* kd_jdwl
hri
Sesuai
kd_jm kd_matpel
* kd_matpel M
nm_matpel * kd_jm
1 nig
kd_klmpk ktrngn
nli_kkm mlai slsai
* kd_klmpk
Kelompok Mata
Nm_klmpk
Pelajaran
Termasuk
Gambar 3. 2 ERD basis data administrasi sekolah
3.2.1.2 ERD ke LRS
Hasil perancangan basis data berupa ERD (Entity Relationship Diagram) kemudian ditransformasi ke bentuk LRS (Logical Record Structure) sebagai berikut:
* no_pem * kd_cs
* kd_jpers
Nm_jpers
* kd _jpem
* kd_jpem * kd_jpers
Stn_pers
nm _jpem
Jmlh_pers
bsr_pem Bts_pem
Memiliki
M Jenis Persyaratan
Jenis Pembayaran
terdiri
M Calon Siswa
* no_pem nis M
wkt_pem * kd_cs
no_ peg M nm_cs
* no_peg
nm_peg
M Pembayaran tgl_lhr_cs
almt_cs
almt_peg
tmp_lhr_cs
tmp_lhr_peg Staf Administrasi
1 Menerima
tgl_lhr_peg
M thn_lls_cs nli_ujn_nsnl_cs
asl_sklh_cs
Pass_peg
* nis nm_sis almt_sis
Siswa
1 Melakukan
tmp_lhr_sis
tgl_lhr_sis
asl_sklh_sis thn_lls_sis nli_ujn_nsnl_sisl thn_msk_sis
Memilih * nis
* nis
Menempati
* kd_mtpel
* kd_kls
tgs ulngn uts uas
1 Untuk
* kd_kls
Jurusan
Kelas
nm_kls
Mendapat
dy_tmpng
* kd_jrsn
Nm_jrsn
Menempati
Untuk * nig nm_gru almt_gru
Mengajar
Jadwal
Mata Pelajaran tgl_lhr_gru
* kd_jdwl
tmp_lhr_gru
hri
kd_jm
pass_gru
1 Sesuai
nm_matpel Guru
kd_matpel
* kd_matpel
nig
kd_klmpk nli_kkm
Jam
Termasuk * kd_jm
ktrngn mlai
* kd_klmpk
Kelompok Mata
slsai
Nm_klmpkl
Pelajaran
Gambar 3. 3 ERD ke LRS basis data administrasi sekolah
3.2.1.3 LRS (Logical Record Structure)
Setelah proses transformasi dari ERD ke LRS maka diperoleh diagram relasi seperti gambar berikut ini:
Persyaratan
Jenis Persyaratan
Jenis Pembayaran
* kd_cs
* kd_jpers
* kd_jpem * kd_jpers
* kd_jpers
1 Nm_jpers Stn_pers
* nm_jpem
stts
Jmlh_pers
bsr_pem bts_pem
MM
* kd_cs
Pembayaran
* kd_jpem 1
* no_peg
* no_pem
1 M * nis wkt_pem
* no_pem
Detil Pembayaran
* no_peg
1 M * no_pem
Calon Siswa
1 * kd_jpem
nm_cs * nis almt_cs
* kd_cs
Staf Administrasi
1 tmp_lhr_cs
* no_peg
nm_peg
tgl_lhr_cs
almt_peg
Siswa
asl_sklh_cs
tmp_lhr_peg
Kelas Siswa
1 M * nis nli_ujn_nsnl_cs
thn_lls_cs
tgl_lhr_peg
Pass_peg
* nis
nm_sis
* nis * kd_jrsn
* kd_kls
almt_sis tmp_lhr_sis
tgl_lhr_sis
asl_sklh_sis * kd_jrsn
* kd_kls
1 thn_lls_sis 1
nli_ujn_nsnl_sisl
Kelas
thn_msk_sis
Jurusan
1 Nm_jrsn
* nis * kd_jrsn
*kd_jrsn
* kd_kls
* kd_jrsn
nm_kls
dy_tmpng
Nilai
* nis * kd_mtpel * kd_jm
Jam
* kd_kls
tgs ktrngn
ulngn mlai
Jadwal
uts slsai
* kd_jm
* kd_jdwl
* kd_kls
uas
hri
Guru * kd_matpel
* kd_jm
* kd_matpel
* kd_matpel 1 nm_gru
* nig
* nig
1 almt_gru
* nig
tmp_lhr_gru Mata Pelajaran tgl_lhr_gru
Kelompok Mata Pelajaran
pass_gru
1 * kd_klmpk
* kd_matpel
* kd_klmpk
nm_matpel
Nm_klmpk_matpel
M nli_kkm * kd_klmpk
Gambar 3. 4 LRS basis data administrasi sekolah
3.2.1.4 Normalisasi
Normalisasi diperlukan jika tabel-tabel yang dibuat belum normal. Karena tabel-tabel yang dihasilkan dari transformasi ERD pada gambar 3.3 telah memenuhi syarat normal ke-3 (3NF), maka tabel-tabel tersebut tidak perlu dinormalisasi lagi.
3.2.1.5 Spesifikasi Basis Data
Spesifikasi basis data ditampilkan pada tabel-tabel berikut ini:
Tabel 3. 1 Tabel jenis persyaratan
No Nama Field Tipe Field Ukuran Indeks
1 kd_jpers
2 nm_jpers
Varchar
3 stn_pers
Varchar
4 jmlh_pers
Int
Tabel 3. 2 Tabel jenis pembayaran
No Nama Field Tipe Field Ukuran Indeks
1 kd_jpem
2 nm_jpem
Varchar
3 bsr_pem
Int
4 bts_pem
Date
Tabel 3. 3 Tabel persyaratan
No Nama Field Tipe Field Ukuran Indeks
1 kd_cs
Varchar
9 Primary
2 kd-jpers
Varchar
2 Primary
Tabel 3. 4 Tabel pembayaran
No Nama Field Tipe Field Ukuran Indeks
1 no_pem
3 wkt_pem
Datetime
4 no_peg
Varchar
Tabel 3. 5 Tabel detil pembayaran
No Nama Field
Tipe
Ukuran Indeks
Field
1 no_pem
Varchar
12 Primary
3 kd_jpem
Varchar
5 Primary
Tabel 3. 6 Tabel calon siswa
No Nama Field Tipe Field Ukuran Indeks
1 kd_cs
2 nm_cs
Varchar
3 almt_cs
4 tmp_lhr_cs
Varchar
5 tgl_lhr_cs
Date
6 asl_sklh_cs
Varchar
7 thn_lls_cs
Smallint
8 nli_ujn_nsnl_cs
Double
Tabel 3. 7 Tabel siswa
No Nama Field Tipe Field Ukuran Indeks
2 nm_sis
Varchar
3 almt_sis
4 tmp_lhr_sis
Varchar
5 tgl_lhr_sis
Date
6 asl_sklh_sis
Varchar
7 thn_lls_sis
Smallint
8 nli_ujn_nsnl_sis
Double
9 thn_msk
Smallint
Tabel 3. 8 Tabel staf administrasi
No Nama Field Tipe Field Ukuran Indeks
1 no_peg
2 nm_peg
Varchar
3 almt_peg
4 tmp_lhr_peg
Varchar
5 tgl_lhr_peg
Date
6 pass_peg
Varchar
Tabel 3. 9 Tabel guru
No Nama Field Tipe Field Ukuran Indeks
2 nm_gru
Varchar
3 almt_gru
4 tmpt_lhr_gru
Varchar
5 tgl_lhr_gru
Date
6 pass_gru
Varchar
Tabel 3. 10 Tabel jurusan
No Nama Field Tipe Field Ukuran Indeks
1 kd_jrsn
2 nm_jrsn
Varchar
Tabel 3. 11 Tabel kelas
No Nama Field Tipe Field Ukuran Indeks
1 kd_kls
2 nm_kls
Varchar
3 kd_jrsn
Varchar
4 dy_tmpng
Tinyint
Tabel 3. 12 Tabel kelas siswa
No Nama Field Tipe Field Ukuran Indeks
2 kd_kls
Varchar
9 Primary
Tabel 3. 13 Tabel kelompok mata pelajaran
No Nama Field Tipe Field Ukuran Indeks
1 kd_klmpk_matpel
2 nm_klmpk_matpel
Varchar
Tabel 3. 14 Tabel mata pelajaran
No Nama Field Tipe Field Ukuran Indeks
1 kd_matpel
2 nm_matpel
Varchar
3 kd_klmpk_matpel
Varchar
4 nli_kkm
Double
Tabel 3. 15 Tabel jadwal
No Nama Field Tipe Field Ukuran Indeks
1 kd_jdwl
Varchar
5 Primary
2 kd_kls
4 kd_jm
Varchar
5 kd_matpel
Tabel 3. 16 Tabel jam
No Nama Field Tipe Field Ukuran Indeks
1 kd_jm
Varchar
2 Primary
2 ktrngn
Varchar
3 mlai
Time
4 slsai
Time
Tabel 3. 17 Tabel nilai
No Nama Field Tipe Field Ukuran Indeks
1 kd_matpel_nli