Implementasi Basis Data Implementasi Sistem

6 7 8 9 10 11 12 13 14 PRIMARY KEY `id_detail_mengajar`, KEY `FK_detail_mengajar` `id_mengajar`, KEY `FK_detail_mengajar1` `username`, KEY `FK_detail_mengajar2` `kelas` ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=157 ; ALTER TABLE `detail_mengajar` ADD CONSTRAINT `FK_detail_mengajar` FOREIGN KEY `id_mengajar` REFERENCES `mengajar` `id_mengajar` ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `FK_detail_mengajar1` FOREIGN KEY `username` REFERENCES `admin` `username`, ADD CONSTRAINT `FK_detail_mengajar2` FOREIGN KEY `kelas` REFERENCES `kelas` `kelas` ON DELETE CASCADE ON UPDATE CASCADE; tabel detail_tugas.sql 1 2 3 4 5 6 7 8 9 10 CREATE TABLE IF NOT EXISTS `detail_tugas` `id_detail_tgs` int11 NOT NULL AUTO_INCREMENT, `id_tugas` int11 NOT NULL, `nis` varchar20 NOT NULL, `file_tugas` varchar250 NOT NULL, `ukuran` varchar10 NOT NULL, `tgl_post` datetime NOT NULL, `nilai` int11 NOT NULL DEFAULT 101, `keterangan` text, `keterlambatan` enumtepat,terlambat DEFAULT tepat, 11 12 13 14 15 16 17 PRIMARY KEY `id_detail_tgs`, KEY `FK_detail_tugas` `id_tugas`, KEY `FK_detail_tugas2` `nis` ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=7 ; ALTER TABLE `detail_tugas` ADD CONSTRAINT `FK_detail_tugas` FOREIGN KEY `id_tugas` REFERENCES `tugas` `id_tugas` ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `FK_detail_tugas2` FOREIGN KEY `nis` REFERENCES `siswa` `nis` ON DELETE CASCADE ON UPDATE CASCADE; tabel detail_ujian.sql 1 2 3 4 5 6 7 8 9 10 11 12 CREATE TABLE IF NOT EXISTS `detail_ujian` `id_detail_ujian` int11 NOT NULL AUTO_INCREMENT, `id_ujian` int11 NOT NULL, `nis` varchar20 NOT NULL, `nilai` int11 NOT NULL, `keterangan` text, `temp_soal` text, `status` setlulus,gagal,belum NOT NULL DEFAULT belum, PRIMARY KEY `id_detail_ujian`, KEY `FK_detail_ujian2` `nis`, KEY `FK_detail_ujian` `id_ujian` ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=15 ; 13 14 15 ALTER TABLE `detail_ujian` ADD CONSTRAINT `FK_detail_ujian` FOREIGN KEY `id_ujian` REFERENCES `ujian` `id_ujian` ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `FK_detail_ujian2` FOREIGN KEY `nis` REFERENCES `siswa` `nis` ON DELETE CASCADE ON UPDATE CASCADE; tabel file.sql 1 2 3 4 5 6 7 8 9 10 11 12 13 CREATE TABLE IF NOT EXISTS `file` `id_file` int11 NOT NULL AUTO_INCREMENT, `nama_file` varchar250 NOT NULL, `ukuran` varchar10 NOT NULL, `tgl_upload` datetime NOT NULL, `deskripsi` text, `tujuan_kelas` varchar20 DEFAULT NULL, `id_materi` int11 NOT NULL, PRIMARY KEY `id_file`, KEY `FK_file` `id_materi` ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=22 ; ALTER TABLE `file` ADD CONSTRAINT `FK_file` FOREIGN KEY `id_materi` REFERENCES `materi` `id_materi` ON DELETE CASCADE ON UPDATE CASCADE; tabel forum.sql 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 CREATE TABLE IF NOT EXISTS `forum` `id_forum` int11 NOT NULL AUTO_INCREMENT, `nip` varchar30 DEFAULT NULL, `nis` varchar20 DEFAULT NULL, `topik` text NOT NULL, `isi` text NOT NULL, `tgl_post` datetime NOT NULL, `id_reply` int11 DEFAULT 0, PRIMARY KEY `id_forum`, KEY `FK_forum` `nip`, KEY `FK_forum2` `nis` ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=11 ; ALTER TABLE `forum` ADD CONSTRAINT `FK_forum` FOREIGN KEY `nip` REFERENCES `guru` `nip` ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `FK_forum2` FOREIGN KEY `nis` REFERENCES `siswa` `nis` ON DELETE CASCADE ON UPDATE CASCADE; tabel guru.sql 1 2 3 4 5 6 CREATE TABLE IF NOT EXISTS `guru` `nip` varchar30 NOT NULL, `nama` varchar50 NOT NULL, `jk` enumL,P NOT NULL, `tempat_lahir` varchar30 DEFAULT NULL, `tgl_lahir` date DEFAULT NULL, 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 `jabatan` varchar30 NOT NULL, `alamat` varchar200 DEFAULT NULL, `telp` varchar15 DEFAULT NULL, `email` varchar50 DEFAULT NULL, `password` varchar50 NOT NULL, `foto` varchar250 DEFAULT NULL, `username` varchar30 NOT NULL, `status_login` enumlogin,logout NOT NULL DEFAULT logout, PRIMARY KEY `nip`, UNIQUE KEY `u_email` `email`, KEY `FK_guru` `username` CONSTRAINT `FK_guru` FOREIGN KEY `username` REFERENCES `admin` `username` ENGINE=InnoDB DEFAULT CHARSET=latin1; ALTER TABLE `guru` ADD CONSTRAINT `FK_guru` FOREIGN KEY `username` REFERENCES `admin` `username`; tabel histori_soal.sql 1 2 3 4 5 6 7 8 CREATE TABLE IF NOT EXISTS `histori_soal` `id_histori_soal` int11 NOT NULL AUTO_INCREMENT, `tgl_buat` date NOT NULL, `tipesoal` enumpg,mc NOT NULL DEFAULT pg, `tipejawab` enumteks,gambar NOT NULL DEFAULT teks, `image` text, `pertanyaan` text NOT NULL, `a` text, `b` text, 9 10 11 12 13 14 15 16 17 18 `c` text, `d` text, `e` text, `jawaban` varchar20 DEFAULT NULL, `id_materi` int11 DEFAULT NULL, PRIMARY KEY `id_histori_soal`, KEY `FK_histori_soal` `id_materi` ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=82 ; ALTER TABLE `histori_soal` ADD CONSTRAINT `FK_histori_soal` FOREIGN KEY `id_materi` REFERENCES `materi` `id_materi` ON DELETE CASCADE ON UPDATE CASCADE; tabel kelas.sql 1 2 3 4 CREATE TABLE IF NOT EXISTS `kelas` `kelas` varchar15 NOT NULL, PRIMARY KEY `kelas` ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC; tabel materi.sql 1 2 3 4 5 6 CREATE TABLE IF NOT EXISTS `materi` `id_materi` int11 NOT NULL AUTO_INCREMENT, `judul` varchar50 NOT NULL, `id_detail_mengajar` int11 NOT NULL, `kelas_tujuan` varchar12 NOT NULL, `semester` varchar20 NOT NULL, 7 8 9 10 11 PRIMARY KEY `id_materi`, KEY `FK_materi` `id_detail_mengajar` ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=21 ; ALTER TABLE `materi` ADD CONSTRAINT `FK_materi` FOREIGN KEY `id_detail_mengajar` REFERENCES `detail_mengajar` `id_detail_mengajar` ON DELETE CASCADE ON UPDATE CASCADE; tabel mengajar.sql 1 2 3 4 5 6 7 8 9 10 11 12 13 CREATE TABLE IF NOT EXISTS `mengajar` `id_mengajar` int10 unsigned NOT NULL AUTO_INCREMENT, `kode_mp` int11 unsigned NOT NULL, `nip` varchar30 NOT NULL, `id_ta` int6 NOT NULL, PRIMARY KEY `id_mengajar`, KEY `FK_mengajar` `nip`, KEY `FK_mengajar2` `kode_mp`, KEY `FK_mengajar1` `id_ta` ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=145 ; ALTER TABLE `mengajar` ADD CONSTRAINT `FK_mengajar` FOREIGN KEY `nip` REFERENCES `guru` `nip` ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `FK_mengajar1` FOREIGN KEY `id_ta` REFERENCES `tahun_ajaran` `id_ta` ON DELETE CASCADE ON UPDATE CASCADE, 14 ADD CONSTRAINT `FK_mengajar2` FOREIGN KEY `kode_mp` REFERENCES `pelajaran` `kode_mp` ON DELETE CASCADE ON UPDATE CASCADE; tabel pelajaran.sql 1 2 3 4 5 6 7 8 9 10 11 CREATE TABLE IF NOT EXISTS `pelajaran` `kode_mp` int10 unsigned NOT NULL, `mata_pelajaran` varchar50 NOT NULL, `kategori_kelas` varchar20 NOT NULL DEFAULT umum, `nilai_kkm` int4 NOT NULL DEFAULT 65, `username` varchar30 NOT NULL, PRIMARY KEY `kode_mp`, KEY `FK_pelajaran` `username` ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC; ALTER TABLE `pelajaran` ADD CONSTRAINT `FK_pelajaran` FOREIGN KEY `username` REFERENCES `admin` `username`; tabel pengumuman.sql 1 2 3 4 5 6 7 8 CREATE TABLE IF NOT EXISTS `pengumuman` `id_pengumuman` int11 NOT NULL AUTO_INCREMENT, `judul` varchar50 NOT NULL, `isi` text NOT NULL, `tgl_post` datetime NOT NULL, `nip` varchar30 NOT NULL, `kelas_tujuan` varchar12 NOT NULL, `status` enumaktif,tidak aktif NOT NULL DEFAULT 9 10 11 12 13 aktif, PRIMARY KEY `id_pengumuman`, KEY `FK_pengumuman` `nip` ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=2 ; ALTER TABLE `pengumuman` ADD CONSTRAINT `FK_pengumuman` FOREIGN KEY `nip` REFERENCES `guru` `nip` ON DELETE CASCADE ON UPDATE CASCADE; tabel siswa.sql 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 CREATE TABLE IF NOT EXISTS `siswa` `nis` varchar20 NOT NULL, `nama` varchar50 NOT NULL, `jk` enumL,P NOT NULL, `tempat_lahir` varchar30 DEFAULT NULL, `tgl_lahir` date DEFAULT NULL, `agama` varchar20 NOT NULL, `alamat` varchar200 DEFAULT NULL, `telp` varchar15 DEFAULT NULL, `email` varchar50 DEFAULT NULL, `password` varchar50 NOT NULL, `foto` varchar50 DEFAULT NULL, `status` enumaktif,alumni DEFAULT aktif, `username` varchar30 NOT NULL, PRIMARY KEY `nis`, UNIQUE KEY `u_email` `email`, KEY `FK_siswa` `username` 18 19 20 21 ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC; ALTER TABLE `siswa` ADD CONSTRAINT `FK_siswa` FOREIGN KEY `username` REFERENCES `admin` `username`; tabel soal.sql 1 2 3 4 5 6 7 8 9 10 11 12 CREATE TABLE IF NOT EXISTS `soal` `id_soal` int11 NOT NULL AUTO_INCREMENT, `id_ujian` int11 NOT NULL, `id_histori_soal` int11 NOT NULL, PRIMARY KEY `id_soal`, KEY `FK_soal` `id_ujian`, KEY `FK_soal2` `id_histori_soal` ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=103 ; ALTER TABLE `soal` ADD CONSTRAINT `FK_soal` FOREIGN KEY `id_ujian` REFERENCES `ujian` `id_ujian` ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `FK_soal2` FOREIGN KEY `id_histori_soal` REFERENCES `histori_soal` `id_histori_soal` ON DELETE CASCADE ON UPDATE CASCADE; tabel tahun_ajaran.sql 1 2 3 4 5 6 7 8 CREATE TABLE IF NOT EXISTS `tahun_ajaran` `id_ta` int6 NOT NULL, `ta_awal` int4 NOT NULL, `ta_akhir` int4 NOT NULL, `semester` enumGanjil,Genap NOT NULL DEFAULT Ganjil, `status` enumaktif,nonaktif NOT NULL DEFAULT nonaktif, PRIMARY KEY `id_ta` ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC; tabel tugas.sql 1 2 3 4 5 6 7 8 9 10 11 12 13 CREATE TABLE IF NOT EXISTS `tugas` `id_tugas` int11 NOT NULL AUTO_INCREMENT, `file_tugas` varchar250 DEFAULT NULL, `ukuran` varchar10 DEFAULT NULL, `judul` varchar100 NOT NULL, `deskripsi` text, `batas_wkt` datetime NOT NULL, `kelas_tujuan` varchar10 NOT NULL, `id_materi` int11 NOT NULL, PRIMARY KEY `id_tugas`, KEY `FK_tugas` `id_materi` ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=26 ; ADD CONSTRAINT `FK_tugas` FOREIGN KEY `id_materi` REFERENCES `materi` `id_materi` ON DELETE CASCADE ON UPDATE CASCADE; tabel ujian.sql 1 2 3 4 5 6 7 8 9 10 11 12 13 CREATE TABLE IF NOT EXISTS `ujian` `id_ujian` int11 NOT NULL AUTO_INCREMENT, `judul` varchar250 NOT NULL, `wkt_mulai` datetime NOT NULL, `wkt_selesai` datetime NOT NULL, `tujuan_kelas` varchar12 NOT NULL, `semester` varchar20 NOT NULL, `id_detail_mengajar` int11 NOT NULL, PRIMARY KEY `id_ujian`, KEY `FK_ujian` `id_detail_mengajar` ENGINE=InnoDB DEFAULT CHARSET=latin1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=22 ; ALTER TABLE `ujian` ADD CONSTRAINT `FK_ujian` FOREIGN KEY `id_detail_mengajar` REFERENCES `detail_mengajar` `id_detail_mengajar` ON DELETE CASCADE ON UPDATE CASCADE;

4.1.4 Implementasi Antarmuka

Implementasi antarmuka dilakukan dengan setiap halaman program yang dibangun dan pengkodeannya dalam bentuk file program. Berikut ini adalah implementasi antarmuka yang dibangun dan dibedakan antara antarmuka untuk admin, guru, siswa dan kepala sekolah. 1. Implementasi Antarmuka Admin Implementasi antarmuka yang terdapat pada perangkat lunak yang ditujukan untuk admin sebagai berikut: Tabel 4. 3 Implementasi Antarmuka Admin Menu Deskripsi Proses File Login Untuk menangani proses login admin 1. Login Login_admin.php Ubah Profil Untuk mengubah data diri pengguna 3.1 edit data diri Profil_admin.php Ubah Password Untuk mengubah password pengguna 3.2 ubah passwword Ubah_password.php Upload Data Pelajaran Untuk meng-upload data pelajaran 4.1 upload data pelajaran Upload_pelajaran.php Upload Data Guru Untuk meng-upload data guru 4.2 upload data guru Upload_guru.php Upload Data Mengajar Untuk meng-upload data mengajar 4.3 upload data mengajr Upload_mengajar.php Upload Data Siswa Untuk meng-upload data siswa 4.4 upload data siswa Upload_siswa.php Siswa Untuk mengolah data siswa 5.1 Pengolahan Data Siswa Data_siswa.php Guru Untuk mengolah data guru 5.2 Pengolahan Data Guru Data_guru.php Pelajaran Untuk mengolah data pelajaran 5.3 Pengolahan Data Pelajaran Data_pelajaran.php Mengajar Untuk mengolah data mengajar 5.4 Pengolahan Data Mengajar Data_mengajar.php Tahun Ajaran Untuk mengolah data tahun ajaran 5.5 Pengolahan Tahun ajaran tahun_ajaran.php Forum Untuk mengolah data forum 8 Pengolahan Forum Forum.php 2. Implementasi Antarmuka Guru Implementasi antarmuka yang terdapat pada perangkat lunak yang ditujukan untuk guru sebagai berikut: Tabel 4. 4 Implementasi Antarmuka Guru Menu