4.3.4.1. Bentuk Tidak Normal
Bentuk ini merupakan kumpulan data-data yang akan direkam, tidak ada keharusan mengikuti format tertentu. Data
dikumpulkan apa adanya sesuai dengan saat menginput.
Gambar 4.15. Tabel Tidak Normal
4.3.4.2. Bentuk Normal 1
Suatu relasi dikatakan dalam bentuk normal pertama jika dan hanya jika setiap atribut bernilai tunggal untuk setiap baris.
Ketentuan bentuk normal pertama 1-NF adalah tidak ada atribut yang berulang, telah ditentukannya primary key untuk tabelrelasi
tersebut, dan setiap atribut hanya memiliki satu pengertian.
Pada tabel sekolah dan skl_temp terdapat satu kolom yang akan berisi data berulang-ulang, yaitu kolom jenjang. Dengan
demikian notasi normalisasi yang terjadi adalah sebagai berikut : Sekolah id_skl, nm_skl, alamat_skl, surat, password, jenjang,
id_kab, id_session Menjadi
Sekolah id_skl, nm_skl, alamat_skl, surat, password, id_jen, id_kab, id_session
Jenjang id_jen, nm_jen
Gambar 4.16. Bentuk Normal 1
4.3.4.3. Bentuk Normal 2
Bentuk normal kedua didasari atas konsep full functional dependency ketergantungan fungsional sepenuhnya. Ketentuan
dari bentuk normal kedua 2-NF adalah bentuk data telah memenuhi kriteria bentuk normal kesatu, atribut bukan kunci non-
key haruslah memiliki ketergantungan fungsional sepenuhnya pada kunci utamaprimary key.
Gambar 4.17. Bentuk Normal 2 4.3.5. Kamus Data
Berikut ini adalah kamus data dari tabel-tabel yang terlibat dalam sistem:
1. Tabel Provinsi Nama Tabel
: Provinsi Keterangan
: Berisi provinsi yang digunakan dalam program Primary Key : id_prop
Tabel 4.2. Tabel Provinsi
Nama Field Tipe
Ekstra Keterangan
Id_prop Int11
Auto increment Id_provinsi
sebagai primary
key Nm_prop
Varchar50 Nama provinsi
2. Tabel Kabupaten Nama Tabel
: Kabupaten Keterangan
: Berisi data kabupaten Primary Key : id_kab
Foreign Key : id_prop
Tabel 4.3. Tabel Kabupaten
Nama Field Tipe
Ekstra Keterangan
Id_kab Int11
Auto increment Id kabupaten
Nm_kab Varchar50
Nama kabupaten Id_prop
Int11 Sebagai foreign
key yang digunakan untuk
relasi dengan tabel provinsi
3. Tabel Jenjang Nama Tabel
: jenjang Keterangan
: berisi jenjang pendidikan Primary Key : id_jen
Tabel 4.4. Tabel Jenjang
Nama Field Tipe
Ekstra Keterangan
Id_jen Int11
Auto increment Id jenjang
Nm_jen Varchar50
Nama jenjang pendidikan
Keterangan Varchar200
Berisi Keterangan dari
baris tabel
4. Tabel Sekolah Nama Tabel
: Sekolah Keterangan
: Berisi data Sekolah Primary Key : id_skl
Foreign Key : id_kab, id_jen
Tabel 4.5. Tabel Sekolah
Nama Field Tipe
Ekstra Keterangan
Id_skl Int11
Auto increment Id sekolah
Nm_skl Varchar50
Nama sekolah Alamat_skl
Varchar200 Alamat sekolah
Surat Varchar50
Unique Email dari
sekolah sekaligus digunakan untuk
username ketika login
Password Varchar50
Password yang digunakan untuk
melakukan verivikasi login
Id_kab Int11
Sebagai foreign key yang
digunakan untuk relasi dengan
tabel kabupaten Id_jen
Int11 Sebagai foreign
key yang digunakan untuk
relasi dengan tabel jenjang
Id_session Varchar100
Id yang dihasilkan dari
session php
5. Tabel Siswa Nama Tabel
: Sekolah Keterangan
: Berisi data Sekolah Primary Key : id_sekolah
Foreign Key : id_sekolah
Tabel 4.6. Tabel Siswa
Nama Field Tipe
Ekstra Keterangan
Id_sis Int11
Auto increment Id siswa
NIS Varchar45
NIS siswa Nm_sis
Varchar150 Nama Siswa
Jk EnumL,P
Jenis kelamin siswa
Id_skl Int11
Id sekolah berfungsi sebagai
foreign key dan digunakan untuk
melakukan relasi dengan tabel
sekolah
6. Tabel Ujian Nama Tabel : Ujian
Keterangan : Berisi daftar jenis ujian yang diujikan
Primary Key : id_ujian Foreign Key
: -
Tabel 4.7. Tabel Ujian
Nama Field Tipe
Ekstra Keterangan
Id_ujian Int50
Auto increment Id_ujian berfungsi
sebagai primary
key Nama_ujian
Varchar30 Nama ujian
7. Tabel Nilai Nama Tabel
: Nilai Keterangan
: Berisi nilai siswa dari tabel siswa Primary Key : id_nl
Foreign Key : id_sis, id_ujian
Tabel 4.8. Tabel Nilai
Nama Field Tipe
Ekstra Keterangan
Id_nl Int11
Auto increment Id
kabupaten berfungsi sebagai
primary key Id_sis
Int11 Id siswa berfungsi
sebagai foreign key dan
digunakan untuk melakukan relasi
dengan tabel siswa
Id_ujian Int50
Id_ujian berfungsi sebagai foreign
key dan digunakan untuk
melakukan relasi dengan tabel ujian
nilai Float
Field atau kolom untuk
menampung nilai ujian
8. Tabel Sekolah_Temp Nama Tabel
: Sekolah_temp Keterangan
: Berisi data Sekolah yang sifatnya sementara. Tabel ini digunakan ketika user non login melakukan registrasi dan
belum diaktivasi. Baris pada tabel ini dihapus ketika aktivasi berhasil dilakukan sesuai dengan id_temp.
Primary Key : id_skl Foreign Key
:id_kab, id_jen
Tabel 4.9. Tabel Sekolah_temp
Nama Field Tipe
Ekstra Keterangan
Id_skl Int11
Auto increment Id sekolah
Nm_skl Varchar50
Nama sekolah Alamat_skl
Varchar200 Alamat sekolah
Surat Varchar50
unique Email dari sekolah
sekaligus digunakan untuk
username ketika login
Password Varchar50
Password yang digunakan untuk
melakukan verivikasi login
Id_kab Int11
Sebagai foreign key yang
digunakan untuk relasi dengan tabel
kabupaten
Id_jen Int11
Sebagai foreign key yang
digunakan untuk relasi dengan tabel
jenjang
Id_temp Varchar100
Id ini dihasilkan dari perhitungan
acak sistem dan digunakan sebagai
id aktivasi yang diterima dalam
email
9. Tabel pengguna Nama Tabel
: pengguna Keterangan
: Berisi pengguna yang memiliki hak akses sebagai administrator
Primary Key : id_pengguna
Tabel 4.10. Tabel Pengguna
Nama Field Tipe
Ekstra Keterangan
Id_user Int20
Auto increment Id_user
Nama_user Varchar50
unique Nama user yang
digunakan sebagai username
di saat login
Password Varchar50
Password yang digunakan untuk
melakukan verifikasi login
Id_session Varchar100
Id yang dihasilkan dari
session php untuk
kepentingan pengamanan
sistem
4.3.6. Perancangan State Transition Diagram STD 4.3.6.1. STD Menu Utama