Bentuk Tidak Normal Bentuk Normal 1 Bentuk Normal 2

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