Implementasi Basis Data Implementasi

ALTER TABLE `hasil` ADD CONSTRAINT `hasil_ibfk_2` FOREIGN KEY `id_siswa` REFERENCES `siswa` `id_siswa` ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `hasil_ibfk_1` FOREIGN KEY `id_detsoal` REFERENCES `soal` `id_detsoal` ON DELETE CASCADE ON UPDATE CASCADE; 6 jadwal CREATE TABLE IF NOT EXISTS `jadwal` `id_jadwal` int5 NOT NULL AUTO_INCREMENT, `id_mengajar` int5 NOT NULL, `id_matpel` int5 NOT NULL, `id_semester` int5 NOT NULL, `id_ajaran` int5 NOT NULL, PRIMARY KEY `id_jadwal`, KEY `id_mengajar` `id_mengajar`, KEY `id_matpel` `id_matpel`, KEY `id_semester` `id_semester`, KEY `id_ajaran` `id_ajaran` ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; ALTER TABLE `jadwal` ADD CONSTRAINT `jadwal_ibfk_4` FOREIGN KEY `id_ajaran` REFERENCES `tahun_ajaran` `id_ajaran` ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `jadwal_ibfk_1` FOREIGN KEY `id_mengajar` REFERENCES `mengajar` `id_mengajar` ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `jadwal_ibfk_2` FOREIGN KEY `id_matpel` REFERENCES `matapelajaran` `id_matpel` ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `jadwal_ibfk_3` FOREIGN KEY `id_semester` REFERENCES `semester` `id_semester` ON DELETE CASCADE ON UPDATE CASCADE; 7 kelas CREATE TABLE IF NOT EXISTS `kelas` `id_kelas` int5 NOT NULL AUTO_INCREMENT, `kelas` varchar15 NOT NULL, `id_ajaran` int5 NOT NULL, PRIMARY KEY `id_kelas`, KEY `id_ajaran` `id_ajaran` ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=41 ; ALTER TABLE `kelas` ADD CONSTRAINT `kelas_ibfk_1` FOREIGN KEY `id_ajaran` REFERENCES `tahun_ajaran` `id_ajaran` ON DELETE CASCADE ON UPDATE CASCADE; 8 matapelajaran CREATE TABLE IF NOT EXISTS `matapelajaran` `id_matpel` int5 NOT NULL AUTO_INCREMENT, `matapelajaran` varchar100 NOT NULL, `id_ajaran` int5 NOT NULL, PRIMARY KEY `id_matpel`, KEY `id_ajaran` `id_ajaran` ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=22 ; ALTER TABLE `matapelajaran` ADD CONSTRAINT `matapelajaran_ibfk_1` FOREIGN KEY `id_ajaran` REFERENCES `tahun_ajaran` `id_ajaran` ON DELETE CASCADE ON UPDATE CASCADE; 9 materi CREATE TABLE IF NOT EXISTS `materi` `id_materi` int5 NOT NULL AUTO_INCREMENT, `id_jadwal` int5 NOT NULL, `materi` varchar100 NOT NULL, `nama_file` varchar200 NOT NULL, `ukuran` varchar20 NOT NULL, `url` varchar200 NOT NULL, `tgl` date NOT NULL, `keterangan` text, PRIMARY KEY `id_materi`, KEY `id_mengajar` `id_mengajar` ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=19 ; ALTER TABLE `materi` ADD CONSTRAINT `materi_ibfk_2` FOREIGN KEY `id_mengajar` REFERENCES `mengajar` `id_mengajar` ON DELETE CASCADE ON UPDATE CASCADE; 10 mengajar CREATE TABLE IF NOT EXISTS `mengajar` `id_mengajar` int5 NOT NULL AUTO_INCREMENT, `id_guru` bigint17 NOT NULL, `id_kelas` int5 NOT NULL, PRIMARY KEY `id_mengajar`, KEY `id_guru` `id_guru`, KEY `id_kelas` `id_kelas` ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; ALTER TABLE `mengajar` ADD CONSTRAINT `mengajar_ibfk_1` FOREIGN KEY `id_guru` REFERENCES `guru` `id_guru` ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `mengajar_ibfk_3` FOREIGN KEY `id_kelas` REFERENCES `kelas` `id_kelas` ON DELETE CASCADE ON UPDATE CASCADE; 11 orang_tua CREATE TABLE IF NOT EXISTS `orang_tua` `id_ortu` int11 NOT NULL AUTO_INCREMENT, `id_siswa` int11 NOT NULL, `nama` varchar50 COLLATE latin1_general_ci NOT NULL, `password` varchar50 COLLATE latin1_general_ci NOT NULL, `kelamin` enumL,P COLLATE latin1_general_ci NOT NULL, `alamat` text COLLATE latin1_general_ci NOT NULL, `sebagai` enumAyah,Ibu,Wali COLLATE latin1_general_ci NOT NULL, `pekerjaan` enumWiraswasta,Pegawai Negeri Sipil,Aparat,Lainnya COLLATE latin1_general_ci NOT NULL, `telp` varchar15 COLLATE latin1_general_ci DEFAULT NULL, `email` varchar50 COLLATE latin1_general_ci DEFAULT NULL, `agama` enumIslam,Protestan,Katolik,Hindu,Budha COLLATE latin1_general_ci NOT NULL, `tgl_lahir` varchar15 COLLATE latin1_general_ci NOT NULL DEFAULT , `tmp_lahir` varchar20 COLLATE latin1_general_ci DEFAULT NULL, PRIMARY KEY `id_ortu`, KEY `id_siswa` `id_siswa` ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=5 ; ALTER TABLE `orang_tua` ADD CONSTRAINT `orang_tua_ibfk_1` FOREIGN KEY `id_siswa` REFERENCES `siswa` `id_siswa` ON DELETE CASCADE ON UPDATE CASCADE; 12 pengumuman CREATE TABLE IF NOT EXISTS `pengumuman` `id_pengumuman` int5 NOT NULL AUTO_INCREMENT, `id_guru` bigint17 DEFAULT NULL, `id_pengurus` bigint17 DEFAULT NULL, `judul` varchar100 NOT NULL, `isi` text, `tgl` datetime NOT NULL, PRIMARY KEY `id_pengumuman`, KEY `id_guru` `id_guru`, KEY `id_pengurus` `id_pengurus` ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ; ALTER TABLE `pengumuman` ADD CONSTRAINT `pengumuman_ibfk_1` FOREIGN KEY `id_guru` REFERENCES `guru` `id_guru` ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `pengumuman_ibfk_2` FOREIGN KEY `id_pengurus` REFERENCES `pengurus` `id_pengurus` ON DELETE CASCADE ON UPDATE CASCADE; 13 pengurus CREATE TABLE IF NOT EXISTS `pengurus` `id_pengurus` bigint17 NOT NULL, `jabatan` varchar20 COLLATE latin1_general_ci NOT NULL DEFAULT , `nama` varchar50 COLLATE latin1_general_ci NOT NULL DEFAULT , `password` varchar50 COLLATE latin1_general_ci NOT NULL, `kelamin` enumL,P COLLATE latin1_general_ci NOT NULL, `alamat` text COLLATE latin1_general_ci DEFAULT NULL, `telp` varchar15 COLLATE latin1_general_ci DEFAULT NULL, `email` varchar30 COLLATE latin1_general_ci NOT NULL, `agama` enumIslam,Protestan,Katolik,Hindu,Budha COLLATE latin1_general_ci NOT NULL, `tgl_lahir` varchar15 COLLATE latin1_general_ci NOT NULL DEFAULT , `tmp_lahir` varchar20 COLLATE latin1_general_ci DEFAULT NULL, PRIMARY KEY `id_pengurus` ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; 14 semester CREATE TABLE IF NOT EXISTS `semester` `id_semester` int5 NOT NULL AUTO_INCREMENT, `semester` enumSemester 1,Semester 2 NOT NULL, `aktif` enum0,1 NOT NULL, PRIMARY KEY `id_semester` ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; 15 siswa CREATE TABLE IF NOT EXISTS `siswa` `id_siswa` int11 NOT NULL, `nama` varchar50 COLLATE latin1_general_ci NOT NULL DEFAULT , `password` varchar50 COLLATE latin1_general_ci NOT NULL, `alamat` text COLLATE latin1_general_ci, `tgl_lahir` varchar15 COLLATE latin1_general_ci DEFAULT NULL DEFAULT 00000000, `telp` varchar15 COLLATE latin1_general_ci DEFAULT NULL, `email` varchar50 COLLATE latin1_general_ci NOT NULL, `agama` enumIslam,Protestan,Katolik,Hindu,Budha COLLATE latin1_general_ci NOT NULL, `kelamin` enumL,P COLLATE latin1_general_ci NOT NULL, `tmp_lahir` varchar20 COLLATE latin1_general_ci DEFAULT NULL DEFAULT , `id_kelas` int5 NOT NULL, `id_ajaran` int5 NOT NULL, PRIMARY KEY `id_siswa`, KEY `id_kelas` `id_kelas`, KEY `id_ajaran` `id_ajaran` ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci; ALTER TABLE `siswa` ADD CONSTRAINT `siswa_ibfk_2` FOREIGN KEY `id_kelas` REFERENCES `kelas` `id_kelas` ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `siswa_ibfk_1` FOREIGN KEY `id_ajaran` REFERENCES `tahun_ajaran` `id_ajaran` ON DELETE CASCADE ON UPDATE CASCADE; 16 soal CREATE TABLE IF NOT EXISTS `soal` `id_soal` int5 NOT NULL AUTO_INCREMENT, `nama` varchar50 NOT NULL DEFAULT , `id_materi` int5 NOT NULL, `keterangan` text NOT NULL, `untuk` enumLatihan,Ulangan Harian,Ujian Tengah Semester,Tryout NOT NULL, `jumlahsoal` varchar20 NOT NULL, `disajikan` int3 NOT NULL DEFAULT 0, `opsi` enum3,4,5 NOT NULL, `metode` enumacak,urut NOT NULL, `waktu` tinyint4 NOT NULL DEFAULT 0, PRIMARY KEY `id_soal` ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=12 ; 17 tahun_ajaran CREATE TABLE IF NOT EXISTS `tahun_ajaran` `id_ajaran` int5 NOT NULL AUTO_INCREMENT, `tahun_ajaran` varchar20 NOT NULL, `aktif` enum0,1 NOT NULL, PRIMARY KEY `id_ajaran` ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; 18 tugas CREATE TABLE IF NOT EXISTS `tugas` `id_tugas` int5 NOT NULL AUTO_INCREMENT, `id_materi` int5 NOT NULL, `tugas` varchar100 NOT NULL, `nama_file` varchar200 NOT NULL, `ukuran` varchar20 NOT NULL, `url` varchar200 NOT NULL, `tgl` date NOT NULL, `keterangan` text, PRIMARY KEY `id_tugas`, KEY `id_materi` `id_materi` ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=16 ; ALTER TABLE `tugas` ADD CONSTRAINT `tugas_ibfk_2` FOREIGN KEY `id_materi` REFERENCES `materi` `id_materi` ON DELETE CASCADE ON UPDATE CASCADE, 19 unggah_tugas CREATE TABLE IF NOT EXISTS `unggah_tugas` `id_utugas` int5 NOT NULL AUTO_INCREMENT, `id_tugas` int5 NOT NULL, `id_siswa` int11 NOT NULL, `nama` varchar100 NOT NULL, `nama_file` varchar200 NOT NULL, `ukuran` varchar20 NOT NULL, `url` varchar200 NOT NULL, `tgl` date NOT NULL, `keterangan` text, PRIMARY KEY `id_utugas`, KEY `id_tugas` `id_tugas`, KEY `id_siswa` `id_siswa` ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ; ALTER TABLE `unggah_tugas` ADD CONSTRAINT `unggah_tugas_ibfk_1` FOREIGN KEY `id_tugas` REFERENCES `tugas` `id_tugas` ON DELETE CASCADE ON UPDATE CASCADE, ADD CONSTRAINT `unggah_tugas_ibfk_2` FOREIGN KEY `id_siswa` REFERENCES `siswa` `id_siswa` ON DELETE CASCADE ON UPDATE CASCADE;

IV.1.4 Implementasi Antarmuka

Implementasi antarmuka dilakukan dengan setiap halaman program yang dibuat dan pengkodeannya dalam bentuk file program. Berikut ini adalah implementasi antamuka yang dibuat dan dibedakan antara antarmuka untuk kurikulum, tata usaha, guru, siswa, orangtua dan kepala sekolah. 1. Implementasi Antarmuka Kurikulum Implementasi antarmuka yang terdapat pada perangkat lunak yang ditujukan untuk kurikulum dapat dilihat pada tabel IV.4 berikut ini : Tabel IV.4 Antarmuka Kurikulum Fungsi Deskripsi Proses File Login Untuk menangani proses login kurikulum 3 Login pengurussiginin.php Olah Tahun Ajaran Untuk mengolah data tahun ajaran 1.1 Pengolahan Data Tahun Ajaran penguruskurikulum.php ?module=ajaran Olah Semester Untuk mengolah data semester 1.2 Pengolahan Data Semester penguruskurikulum.php ?module=semester Olah Kelas Untuk mengolah data kelas 1.3 Pengolahan Data Kelas penguruskurikulum.php ?module=kelas Olah Mata Pelajaran Untuk mengolah data mata pelajaran 1.4 Pengolahan Data Mata Pelajaran penguruskurikulum.php ?module=matpel Olah Mengajar Untuk mengolah data mengajar 1.5 Pengolahan Data Mengajar penguruskurikulum.php ?module=mengajar Olah Pengumuman Untuk mengolah data pengumuman 5 Pengumuman penguruskurikulum.php ?module=pengumuman 2. Implementasi Antarmuka Tata Usaha Implementasi antarmuka yang terdapat pada perangkat lunak yang ditujukan untuk tata usaha dapat dilihat pada tabel IV.5 berikut ini : Tabel IV.5 Antarmuka Tata Usaha Fungsi Deskripsi Proses File Login Untuk menangani proses login tata usaha 3 Login pengurussiginin.php Olah Guru Untuk mengolah data guru 1.6 Pengolahan Data Guru pengurustata_usaha.php ?module=guru Olah Siswa Untuk mengolah data siswa 1.7 Pengolahan Data Siswa pengurustata_usaha.php ?module=siswa Olah Orangtua Untuk mengolah data orangtua 1.8 Pengolahan Data Orang Tua pengurustata_usaha.php ?module=orangtua Olah Naik Kelas Untuk mengolah data naik kelas siswa 1.9 Pengolahan Data Naik Kelas pengurustata_usaha.php ?module=naikkelas Olah Pengumuman Untuk mengolah data pengumuman 5 Pengumuman penguruskurikulum.php ?module=pengumuman 3. Implementasi Antarmuka Guru Implementasi antarmuka yang terdapat pada perangkat lunak yang ditujukan untuk guru dapat dilihat pada tabel IV.6 berikut ini : Tabel IV.6 Antarmuka Guru Fungsi Deskripsi Proses File Login Untuk menangani proses login guru 3 Login siginin.php Ubah Profil Untuk mengubah profil guru 3 Pengolahan Akun Pengguna guru.php?module= profil Buat Soal Untuk mambuat soal latihan 4.6 Buat Soal guru.php?module= buatsoal Kumpulan Soal Untuk mengolah data soal 4.7 Kumpulan Soal guru.php?module= tambahsoal Hasil Ujian Untuk melihat data 4.10 guru.php?module= hasiltest Analisis Soal Untuk menganalisis soal 4.8 Analisis Soal guru.php?module= analisis Pengolahan Materi Untuk mengolah data materi 4.4 Pengolahan Data Materi guru.php?module= tambahmateri Pengolahan Tugas Untuk mengolah data tugas 4.2 Pengolahan Tugas guru.php?module= tambahtugas Unduh Tugas Siswa Untuk mengolah data balasan tugas 4.1 Unduh Tugas Siswa guru.php?module= tugassiswa Forum Untuk mengolah data forum 6 Pengolahan Forum guru.php?module= forum Pengumuman Untuk mengolah data pengumuman 5 Pengolahan Pengumuman guru.php?module= pengumuman 4. Implementasi Antarmuka Siswa Implementasi antarmuka yang terdapat pada perangkat lunak yang ditujukan untuk siswa dapat dilihat pada tabel IV.7 berikut ini : Tabel IV.7 Antarmuka Siswa Fungsi Deskripsi Proses File Login Untuk menangani proses login siswa 2 Login siginin.php Ubah Profil Untuk mengubah profil siswa 3 Pengolahan Akun Pengguna siswa.php?module= profil Pilih Soal Untuk mengolah data soal 4.9 Pengerjaan Soal siswa.php?module= pilihsoal Untuk melihat data 4.10 siswa.php?module= Unduh Materi Untuk mengolah data materi 4.5 Unduh Materi siswa.php?module= materi Unduh Tugas Untuk mengolah data tugas 4.3.1 Unduh Data Tugas siswa.php?module= tugas Unggahan Tugas Untuk mengolah data tugas 4.3.2 Unggah Data Tugas siswa.php?module= tugasss 5. Implementasi Antarmuka Orangtua Implementasi antarmuka yang terdapat pada perangkat lunak yang ditujukan untuk orangtua dapat dilihat pada tabel IV.8 berikut ini : Tabel IV.8 Antarmuka Orangtua Fungsi Deskripsi Proses File Login Untuk menangani proses login orangtua 2 Login siginin.php Ubah Profil Untuk mengubah profil orantua 3 Pengolahan Akun Pengguna orangtua.php?module= profil Siswa Untuk melihat data 4.10 orangtua.php?module= Aktifitas Diskusi Siswa Untuk melihat data forum diskusi 7.6 Aktifitas Diskusi orangtua.php?module= forum 6. Implementasi Antarmuka Kepala Sekolah Implementasi antarmuka yang terdapat pada perangkat lunak yang ditujukan