39
BAB IV
RANCANGAN SISTEM DAN PROGRAM USULAN
4.1. Analisa Kebutuhan Software
A. Tahapan Analisis
Setelah melakukan observasi langsung di SMK Ma’arif NU Tirto Pekalongan, penulis mendapatkan beberapa data kebutuhan sistem yang
dibutuhkan dari tahapan analisis ini, diantaranya:
1. Halaman Admin (Admin Page)
A1. Administator sistem dapat mengelola data guru
A2. Administrator sistem dapat mengelola data siswa
A3. Administrator sistem dapat mengelola data kelas
A4. Administrator sistem dapat mengelola data mata pelajaran
A5. Administrator sistem dapat mengelola data pengumuman
A6. Administrator sistem dapat mengelola data kalender akademik
A7. Administrator sistem dapat mengelola kontrol akses pada sistem
2. Halaman Guru (Teacher Page)
B1. Guru dapat melihat data jadwal mengajar
B2. Guru dapat mengelola nilai siswa
B3. Guru dapat melihat master data siswa
B4. Guru dapat melihat data pengumuman
B5. Guru dapat melihat data kalender akademik
3. Halaman Siswa (Student Page)
C1. Siswa dapat melihat informasi akademik
C2. Siswa dapat melihat jadwal pelajaran
C3. Siswa dapat melihat data pengumuman
C4. Siswa dapat melihat data kalender akademik
B. Use Case Diagram
Berikut ini adalah gambaran use case diagram sistem informasi akademik
pada SMK Ma’arif NU Tirto Pekalongan :
1. Use Case Diagram Halaman Admin
Gambar IV.1
Use Case Diagram Halaman Admin
uc Administrator Page
Sisfo Akademik Halaman Admin
Admin Sistem Melakukan Login Melakukan Logout Memasukkan Username dan
Passw ord Mengelola
Data Guru
Mengelola Data Sisw a
Mengelola Data Mata Pelaj aran Mengelola Data Kelas Mengelola Data Pengumuman Mengelola Data Kalender Akademik Mengelola Kontrol Akses Sistem «extend» «extend» «extend» «include» «extend» «extend» «extend» «extend» «extend»
Deskripsi use case diagram halaman admin
Tabel IV.1
Dokumentasi Use Case Halaman Admin
Use Case Name Halaman Admin
Requirements A1, A2, A3, A4, A5, A6, A7
Goal Admin sistem dapat mengelola master data
Pre-condition Admin sistem melakukan login ke sistem
Post-condition Admin sistem berhasil mengelola master data
Failed-end Condition Admin sistem gagal mengelola master data
Primary Actor Admin sistem
Main Flow / Basic Path
1. Admin sistem mengelola data guru 2. Admin sistem mengelola data siswa 3. Admin sistem mengelola data kelas
4. Admin sistem mengelola data mata pelajaran 5. Admin sistem mengelola data kalender akademik 6. Admin sistem mengelola data pengumuman
7. Admin sistem mengontrol akses user terhadap sistem
Deskripsi use case diagram halaman admin – kelola data guru
Tabel IV.2
Dokumentasi Use Case Kelola Data Guru
Use Case Name Halaman Admin
Requirements A1
Goal Admin sistem dapat mengelola data master guru
Pre-condition Admin sistem melakukan login ke sistem
Post-condition Admin sistem berhasil mengelola master data guru
Failed-end Condition Admin sistem gagal mengelola master data guru
Primary Actor Admin sistem
Main Flow / Basic Path
1. Admin sistem melihat data guru 2. Admin sistem mencari data guru 3. Admin sistem menambah data guru 4. Admin sistem mengubah data guru 5. Admin sistem menghapus data guru
Deskripsi use case diagram halaman admin – kelola data siswa
Tabel IV.3
Dokumentasi Use Case Kelola Data Siswa
Use Case Name Halaman Admin
Requirements A2
Goal Admin sistem dapat mengelola master data siswa
Pre-condition Admin sistem melakukan login ke sistem
Post-condition Admin sistem berhasil mengelola master data
Failed-end Condition Admin sistem gagal mengelola master data siswa
Primary Actor Admin sistem
Main Flow / Basic Path
1. Admin sistem melihat data siswa 2. Admin sistem mencari data siswa 3. Admin sistem menambah data siswa 4. Admin sistem mengubah data siswa 5. Admin sistem menghapus data siswa
Deskripsi use case diagram halaman admin – kelola data kelas
Tabel IV.4
Dokumentasi Use Case Kelola Data Kelas
Use Case Name Halaman Admin
Requirements A3
Goal Admin sistem dapat mengelola master data kelas
Pre-condition Admin sistem melakukan login ke sistem
Post-condition Admin sistem berhasil mengelola master data kelas
Failed-end Condition Admin sistem gagal mengelola master data kelas
Primary Actor Admin sistem
Main Flow / Basic Path
1. Admin sistem melihat data kelas 2. Admin sistem mencari data kelas 3. Admin sistem menambah data kelas 4. Admin sistem mengubah data kelas 5. Admin sistem menghapus data kelas
6. Admin sistem menambah data siswa per kelas 7. Admin sistem melakukan input jadwal pelajaran
Deskripsi use case diagram halaman admin – kelola data mata pelajaran
Tabel IV.5
Dokumentasi Use Case Kelola Data Mata Pelajaran
Use Case Name Halaman Admin
Requirements A4
Goal Admin sistem dapat mengelola master data mata
pelajaran
Pre-condition Admin sistem melakukan login ke sistem
Post-condition Admin sistem berhasil mengelola master data mata
pelajaran
Failed-end Condition Admin sistem gagal mengelola master data mata pelajaran
Primary Actor Admin sistem
Main Flow / Basic Path
1. Admin sistem melihat data mata pelajaran 2. Admin sistem mencari data mata pelajaran 3. Admin sistem menambah data mata pelajaran 4. Admin sistem mengubah data mata pelajaran 5. Admin sistem menghapus data mata pelajaran
Deskripsi use case diagram halaman admin – kelola data kalender akademik
Tabel IV.6
Dokumentasi Use Case Kelola Data Kalender Akademik
Use Case Name Halaman Admin
Requirements A5
Goal Admin sistem dapat mengelola data kalender
akademik
Pre-condition Admin sistem melakukan login ke sistem
Post-condition Admin sistem berhasil mengelola data kalender
akademik
Failed-end Condition Admin sistem gagal mengelola data kalender
akademik
Primary Actor Admin sistem
Main Flow / Basic Path
1. Admin sistem melihat data kalender akademik 2. Admin sistem mencari data kalender akademik 3. Admin sistem menambah data kalender akademik 4. Admin sistem mengubah data kalender akademik 5. Admin sistem menghapus data kalender akademik
Deskripsi use case diagram halaman admin – kelola data pengumuman
Tabel IV.7
Dokumentasi Use Case Kelola Data Pengumuman
Use Case Name Halaman Admin
Requirements A6
Goal Admin sistem dapat mengelola data pengumuman
Pre-condition Admin sistem melakukan login ke sistem
Post-condition Admin sistem berhasil mengelola data pengumuman
Failed-end Condition Admin sistem gagal mengelola data pengumuman
Primary Actor Admin sistem
Main Flow / Basic Path
1. Admin sistem melihat data pengumuman 2. Admin sistem mencari data pengumuman 3. Admin sistem menambah data pengumuman 4. Admin sistem mengubah data pengumuman 5. Admin sistem menghapus data pengumuman
Deskripsi use case diagram halaman admin – kontrol akses sistem
Tabel IV.8
Dokumentasi Use Case Kontrol Akses Sistem
Use Case Name Halaman Admin
Requirements A7
Goal Admin sistem dapat mengontrol akses user ke sistem
Pre-condition Admin sistem melakukan login ke sistem
Post-condition Admin sistem berhasil mengontrol akses user ke
sistem
Failed-end Condition Admin sistem gagal mengontrol akses user ke sistem
Primary Actor Admin sistem
Main Flow / Basic Path
1. Admin sistem mengontrol akses untuk input nilai UH, UTS, dan UAS
2. Admin sistem mengontrol akses untuk melihat nilai UTS, UAS, dan nilai akhir
2. Use Case Diagram Halaman Guru
Gambar IV.2
Use Case Diagram Halaman Guru
Deskripsi use case halaman guru
Tabel IV.9
Dokumentasi Use Case Halaman Guru
Use Case Name Halaman Guru
Requirements B1, B2, B3, B4, B5, B6
Goal Guru dapat melakukan kegiatan akademik di sistem
Pre-condition Guru melakukan login ke sistem
Post-condition Guru berhasil melakukan kegiatan akademik di sistem
Failed-end Condition Guru gagal melakukan kegiatan akademik di sistem
Primary Actor Guru
Main Flow / Basic Path
1. Guru melihat data jadwal mengajar 2. Guru mengelola nilai siswa
3. Guru melihat master data siswa 4. Guru melihat data kalender akademik 5. Guru melihat data pengumuman
6. Guru melihat tata cara penggunaan sistem
uc Teacher Page
Sisfo Akademik Halaman Guru
Guru Melakukan Login Memasukkan Username dan Passw ord Melihat Data Jadw al Mengaj ar Mengelola Nilai Sisw a Melihat Master Data Sisw a Melihat Data Pengumuman Melihat Data Kalender Akademik Melihat Cara Penggunaan Sistem Melakukan Logout «extend» «extend» «extend» «extend» «extend» «extend» «include» «extend»
Deskripsi use case halaman guru – melihat jadwal mengajar
Tabel IV.10
Dokumentasi Use Case Melihat Jadwal Mengajar
Use Case Name Halaman Guru
Requirements B1
Goal Guru dapat melihat data jadwal mengajar di sistem
Pre-condition Guru melakukan login ke sistem
Post-condition Guru berhasil melihat data jadwal mengajar di sistem
Failed-end Condition Guru gagal melihat data jadwal mengajar di sistem
Primary Actor Guru
Main Flow / Basic Path
1. Guru melihat data jadwal mengajar 2. Guru melakukan absensi siswa
Deskripsi use case halaman guru – kelola nilai siswa
Tabel IV.11
Dokumentasi Use Case Kelola Nilai Siswa
Use Case Name Halaman Guru
Requirements B2
Goal Guru dapat mengelola nilai siswa
Pre-condition Guru melakukan login ke sistem
Post-condition Guru berhasil mengelola nilai siswa
Failed-end Condition Guru gagal mengelola nilai siswa
Primary Actor Guru
Main Flow / Basic Path
1. Guru menginput nilai UH, UTS dan UAS 2. Guru mencari nilai UH, UTS dan UAS
Deskripsi use case halaman guru - melihat master data siswa
Tabel IV.12
Dokumentasi Use Case Melihat Master Data Siswa
Use Case Name Halaman Guru
Requirements B3
Goal Guru dapat melihat master data siswa
Pre-condition Guru melakukan login ke sistem
Post-condition Guru berhasil melihat master data siswa
Failed-end Condition Guru gagal melihat master data siswa
Primary Actor Guru
Main Flow / Basic Path
1. Guru melihat master data siswa 2. Guru mencari master data siswa
Deskripsi use case halaman guru – melihat data kalender akademik
Tabel IV.13
Dokumentasi Use Case Melihat Data Kalender Akademik
Use Case Name Halaman Guru
Requirements B4
Goal Guru dapat melihat data kalender akademik
Pre-condition Guru melakukan login ke sistem
Post-condition Guru berhasil melihat data kalender akademik
Failed-end Condition Guru gagal melihat data kalender akademik
Primary Actor Guru
Main Flow / Basic Path
1. Guru melihat data kalender akademik 2. Guru mencari data kalender akademik
Deskripsi use case halaman guru - melihat data pengumuman
Tabel IV.14
Dokumentasi Use Case Melihat Data Pengumuman
Use Case Name Halaman Guru
Requirements B5
Goal Guru dapat melihat data pengumuman
Pre-condition Guru melakukan login ke sistem
Post-condition Guru berhasil melihat data pengumuman
Failed-end Condition Guru gagal melihat data pengumuman
Primary Actor Guru
Main Flow / Basic Path
1. Guru melihat data pengumuman 2. Guru mencari data pengumuman
Deskripsi use case halaman guru – melihat cara penggunaan sistem
Tabel IV.15
Dokumentasi Use Case Melihat Cara Penggunaan Sistem
Use Case Name Halaman Guru
Requirements B6
Goal Guru dapat melihat tata cara penggunaan sistem
Pre-condition Guru melakukan login ke sistem
Post-condition Guru berhasil melihat tata cara penggunaan sistem
Failed-end Condition Guru gagal melihat tata cara penggunaan sistem
Primary Actor Guru
Main Flow / Basic Path
3. Use Case Diagram Halaman Siswa
Gambar IV.3
Use Case Diagram Halaman Siswa
Deskripsi use case halaman siswa
Tabel IV.16
Dokumentasi Use Case Halaman Siswa
Use Case Name Halaman Siswa
Requirements C1, C2, C3, C4
Goal Siswa dapat melihat informasi akademik dan informasi
lain di sistem
Pre-condition Siswa melakukan login ke sistem
Post-condition Siswa berhasil melihat informasi akademik dan
informasi lain di sistem
Failed-end Condition Siswa gagal melihat informasi akademik dan informasi lain di sistem
Primary Actor Siswa
Main Flow / Basic Path
1. Siswa melihat informasi akademik 2. Siswa melihat jadwal pelajaran
3. Siswa melihat data kalender akademik 4. Siswa melihat data pengumuman
uc Student Page
Sisfo Akademik Halaman Siswa
Sisw a
Melakukan Login Memasukkan Username dan
Passw ord Melihat Informasi
Akademik Melihat Jadw al Pelaj aran Melihat Data Pengumuman Melihat Data Kalender Akademik Melakukan Logout «extend» «extend» «extend» «extend» «extend» «include»
Deskripsi use case halaman siswa – melihat informasi akademik
Tabel IV.17
Dokumentasi Use Case Melihat Informasi Akademik
Use Case Name Halaman Siswa
Requirements C1
Goal Siswa dapat melihat informasi akademik di sistem
Pre-condition Siswa melakukan login ke sistem
Post-condition Siswa berhasil melihat informasi akademik di sistem
Failed-end Condition Siswa gagal melihat informasi akademik di sistem
Primary Actor Siswa
Main Flow / Basic Path
1. Siswa dapat melihat nilai UH, UTS, UAS dan nilai akhir
2. Siswa dapat mencari nilai UH, UTS, UAS dan nilai akhir
Deskripsi use case halaman siswa – melihat jadwal pelajaran
Tabel IV.18
Dokumentasi Use Case Melihat Jadwal Pelajaran
Use Case Name Halaman Siswa
Requirements C2
Goal Siswa dapat melihat jadwal pelajaran
Pre-condition Siswa melakukan login ke sistem
Post-condition Siswa berhasil melihat jadwal pelajaran
Failed-end Condition Siswa gagal melihat jadwal pelajaran
Primary Actor Siswa
Main Flow / Basic Path
1. Siswa melihat jadwal pelajaran 2. Siswa mencetak jadwal pelajaran
Deskripsi use case halaman siswa – melihat data kalender akademik
Tabel IV.19
Dokumentasi Use Case Melihat Data Kalender Akademik
Use Case Name Halaman Siswa
Requirements C3
Goal Siswa dapat melihat data kalender akademik
Pre-condition Siswa melakukan login ke sistem
Post-condition Siswa berhasil melihat data kalender akademik
Failed-end Condition Siswa gagal melihat data kalender akademik
Primary Actor Siswa
Main Flow / Basic Path
1. Siswa melihat data kalender akademik 2. Siswa mencari data kalender akademik
Deskripsi use case halaman siswa – melihat data pengumuman
Tabel IV.20
Dokumentasi Use Case Melihat Data Pengumuman
Use Case Name Halaman Siswa
Requirements C4
Goal Siswa dapat melihat data pengumuman
Pre-condition Siswa melakukan login ke sistem
Post-condition Siswa berhasil melihat data pengumuman
Failed-end Condition Siswa gagal melihat data pengumuman
Primary Actor Siswa
Main Flow / Basic Path
1. Siswa melihat data pengumuman 2. Siswa mencari data pengumuman
C. Activity Diagram
Activity diagram dari sistem usulan ini menjelaskan bagaimana sistem
informasi akademik pada SMK Ma’arif NU Tirto ini bekerja menjalankan serangkaian aktivitas-aktivitas pengolahan data akademik. Berikut ini adalah
1. Activity Diagram Kelola Data Guru
Gambar IV.4
Activity Diagram Kelola Data Guru
act Kelola Data Guru
Sisfo Akademik Halaman Admin Admin Sistem
Tampil Form Login Sistem Input Email dan
Passw ord
Login
Tampil Menu Administrator Menambah Data Guru
Input Data Guru
Tampil Data Guru Simpan Data Guru
Melihat Data Guru
Ubah Data Guru Hapus Data Guru
Simpan Perubahan Ya
Ya
2. Activity Diagram Kelola Data Siswa
Gambar IV.5
Activity Diagram Kelola Data Siswa
act Kelola Data Sisw a
Sisfo Akademik Halaman Admin Admin Sistem
Tampil Form Login Sistem Input Email dan
Passw ord
Login
Tampil Menu Administrator Menambah Data Sisw a
Input Data Sisw a
Tampil Data Sisw a Simpan Data Sisw a
Melihat Data Sisw a
Ubah Data Sisw a Hapus Data Sisw a
Simpan Perubahan Ya
Ya
3. Activity Diagram Kelola Data Kelas
Gambar IV.6
Activity Diagram Kelola Data Kelas
act Kelola Data Kelas
Sisfo Akademik Halaman Admin Admin Sistem
Tampil Form Login Sistem Input Email dan
Passw ord
Login
Tampil Menu Administrator Menambah Data Kelas
Input Data Kelas
Tampil Data Kelas Simpan Data Kelas
Melihat Data Kelas
Ubah Data Sisw a Hapus Data Kelas
Simpan Perubahan Ya Ya Ya Input/Update Jadw al Pelaj aran
4. Activity Diagram Kelola Data Mata Pelajaran
Gambar IV.7
Activity Diagram Kelola Data Mata Pelajaran
act Kelola Data Mata Pelaj aran
Sisfo Akademik Halaman Admin Admin Sistem
Tampil Form Login Sistem Input Email dan
Passw ord
Login
Tampil Menu Administrator Menambah Data Mata
Pelaj aran
Input Data Mata Pelaj aran
Tampil Data Mata Pelaj aran Simpan Data Mata
Pelaj aran
Melihat Data Mata Pelaj aran
Ubah Data Mata Pelaj aran
Hapus Data Mata Pelaj aran
Simpan Perubahan Ya
Ya
5. Activity Diagram Kelola Data Kalender Akademik
Gambar IV.8
Activity Diagram Kelola Data Kalender Akademik
act Kelola Data Kalender Akademik
Sisfo Akademik Halaman Admin Admin Sistem
Tampil Form Login Sistem Input Email dan
Passw ord Login Tampil Menu Administrator Menambah Data Kalender Akademik
Input Data Kalender Akademik
Tampil Data Kalender Akademik Simpan Data Kalender
Akademik
Melihat Data Kalender Akademik
Ubah Data Kalender Akademik
Hapus Data Kalender Akademik
Simpan Perubahan Ya
Ya
6. Activity Diagram Kelola Data Pengumuman
Gambar IV.9
Activity Diagram Kelola Data Pengumuman
act Kelola Data Pengumuman
Sisfo Akademik Halaman Admin Admin Sistem
Tampil Form Login Sistem Input Email dan
Passw ord Login Tampil Menu Administrator Menambah Data Pengumuman
Input Data Pengumuman
Tampil Data Pengumuman Simpan Data Pengumuman Melihat Data Pengumuman
Ubah Data Pengumuman Hapus Data
Pengumuman
Simpan Perubahan Ya
Ya
7. Activity Diagram Kontrol Akses Sistem
Gambar IV.10
Activity Diagram Kontrol Akses Sistem
act Kontrol Akses Sistem
Sisfo Akademik Halaman Admin Admin Sistem
Buka/Tutup Akses Input/Lihat Nilai Lihat Menu Kontrol
Akses Sistem
Tampil Menu Administrator Input Email dan
Passw ord
Login
Tampil Form Login Sistem
Simpan Perubahan Ya
8. Activity Diagram Informasi Jadwal Mengajar
Gambar IV.11
Activity Diagram Informasi Jadwal Mengajar
act Akses Informasi Jadw al Mengaj ar
Sisfo Akademik Halaman Guru Guru
Tampil Form Login Sistem Input Email dan
Passw ord
Login
Tampil Menu Guru Melihat Informasi Jadw al
Mengaj ar
Melakukan Absensi Mengaj ar dan Absensi
Sisw a Memilih Jadw al Mengaj ar Sesuai Jam
Menampilkan Data Kelas
Simpan Data Absensi Ya
9. Activity Diagram Kelola Nilai Siswa
Gambar IV.12
Activity Diagram Kelola Nilai Siswa
act Kelola Nilai Sisw a
Sisfo Akademik Halaman Guru Guru
Tampil Form Login Sistem Input Email dan
Passw ord
Login
Tampil Menu Guru Memilih Menu Input Nilai
UH, UTS, dan UAS
Tampil Data Kelas Pilih Kelas
Input Nilai UH, UTS, dan UAS
Simpan Nilai UH, UTS, dan UAS
10. Activity Diagram Informasi Akademik Siswa
Gambar IV.13
Activity Diagram Informasi Akademik Siswa
act Akses Informasi Akademik Sisw a
Sisfo Akademik Halaman Sisw a Sisw a
Tampil Form Login Sistem Input NIS dan Passw ord
Login
Tampil Menu Sisw a Lihat Nilai UH
Pilih Mata Pelaj aran Tampil Nilai UH
Lihat Nilai UTS
Lihat Nilai UAS
LIhat Nilai Akhir
Tampil Nilai UTS
Tampil Nilai UAS
Tampil Nilai Akhir Ya End Ya Ya Ya Ya
39
4.2. Desain 4.2.1. Database
A. Entity Relationship Diagram (ERD)
siswa kelas jadwal guru mata_pelajaran nis nama_siswa jenis_kelamin pass_siswa id_kelas memiliki jumlah_siswa wali_kelas nama_kelas id_kelas memiliki jam id_mapel hari id_jadwal id_kelas id_guru thn_pelajaran mempunyai id_guru nip kode_guru nama_guru jekel email password id_mapel mempunyai mengajar id_mapel mapel absensi_siswa nilai_siswa mempunyai mempunyai id_absen_siswa kehadiran semester thn_ajaran id_guru id_mapel id_kelas nis id_kelas tgl_absen p memiliki melakukan melakukan id_nilai nilai semester tahun_ajaran jenis_nilai id_mapel nis id_kelas id_guru n_ke 1 M 1 1 M M N 1 M M 1 N 1 N M 1 1 M M 1 Gambar IV.14
B. Logical Record Structure (LRS) siswa nis * nama_siswa jenis_kelasmin pass_siswa id_kelas ** kelas id_kelas * nama_kelas jumlah_siswa wali_kelas jadwal id_jadwal * hari jam thn_pelajaran id_kelas ** id_guru ** id_mapel ** mata_pelajaran id_mapel * mapel guru id_guru * nip kode_guru nama_guru jekel email password id_mapel ** absensi_siswa id_absen_siswa * kehadiran semester thn_ajaran tgl_absen p id_guru ** id_mapel ** id_kelas ** nis ** nilai_siswa id_nilai * nilai semester tahun_ajaran jenis_nilai n_ke id_kelas id_guru ** id_mapel ** nis ** Gambar IV.15
Logical Record Structure (LRS)
C. Spesifikasi File
Di dalam perancangan website sistem informasi akademik ini penulis
menggunakan satu database dengan nama sisfo_akademik. Berikut adalah spesifikasi dari tabel-tabel di dalam database sisfo_akademik :
1. Spesifikasi File Absensi Siswa
Nama File : Absensi Siswa
Akronim : absensi_siswa.myd
Fungsi : Untuk menyimpan data absensi siswa.
Tipe : File Transaksi
Organisasi File : Indexed Sequential
Akses File : Random
Panjang Record : 72 byte
Kunci Field : id_absen_siswa
Software : Xampp/MySQL
Tabel IV.21
Spesifikasi File Absensi Siswa
No. Elemen Data Nama Field Tipe Size Keterangan
1. Id Absen Siswa
id_absen_siswa Int 11 AI, Primary Key
2. Kehadiran kehadiran Enum 1 (h,i,s,a)
3. Semester semester Varchar 1 -
4. Tahun thn_ajaran Varchar 10 -
5. Id Guru id_guru Int 11 Foreign Key
6. Id Mapel id_mapel Int 4 Foreign Key
7. Id Kelas id_kelas Int 3 Foreign Key
8. NIS nis Varchar 10 Foreign Key
9. Tanggal Absen
tgl_absen Date 10 yyyy-mm-dd
10. Pertemuan p Int 11 -
2. Spesifikasi File Admin
Nama File : Admin
Akronim : admin.myd
Fungsi : Untuk menyimpan data admin.
Tipe : File Master
Organisasi File : Indexed Sequential
Akses File : Random
Media : Hardisk
Panjang Record : 114 byte
Kunci Field : id_adm
Tabel IV.22 Spesifikasi File Admin
No. Elemen Data Nama Field Tipe Size Keterangan
1. Id Admin id_admin Int 3 AI, Primary Key
2. Email email_admin Varchar 30 -
3. Password pass_adm Varchar 50 -
4. Nama Admin nama_adm Varchar 30 -
5. Hak Akses hak_akses Enum 1 (1,2)
3. Spesifikasi File Guru
Nama File : Guru
Akronim : guru.myd
Fungsi : Untuk menyimpan data guru dan karyawan.
Tipe : File Master
Organisasi File : Indexed Sequential
Akses File : Random
Media : Hardisk
Panjang Record : 167 byte
Kunci Field : id_guru
Software : Xampp/MySQL
Tabel IV.23 Spesifikasi File Guru
No. Elemen Data Nama Field Tipe Size Keterangan
1. Id Guru id_guru Int 11 AI, Primary Key
2. NIP nip Varchar 18 -
3. Kode Guru kode_guru Varchar 3 -
4. Nama Guru nama_guru Varchar 50 -
5. Jenis Kelamin jekel Enum 1 (L,P)
6. Email email Varchar 30
-7. Password password Varchar 50
4. Spesifikasi File Jadwal
Nama File : Jadwal
Akronim : jadwal.myd
Fungsi : Untuk menyimpan data jadwal pelajaran.
Tipe : File Master
Organisasi File : Indexed Sequential
Akses File : Random
Media : Hardisk
Panjang Record : 54 byte
Kunci Field : id_jadwal
Software : Xampp/MySQL
Tabel IV.24 Spesifikasi File Jadwal
No. Elemen Data Nama Field Tipe Size Keterangan
1. Id Jadwal id_jadwal Int 11 AI, Primary Key
2. Hari hari Varchar 10 -
3. Jam jam Varchar 15 -
4. Tahun Ajaran thn_pelajaran Varchar 10 -
5. Id Guru id_guru Int 11 Foreign Key
6. Id Mapel id_mapel Int 4 Foreign Key
7. Id Kelas id_kelas Int 3 Foreign Key
5. Spesifikasi File Kalender Akademik
Nama File : Kalender Akademik
Akronim : kalender_akademik.myd
Fungsi : Untuk menyimpan data kalender akademik.
Tipe : File Master
Akses File : Random
Media : Hardisk
Panjang Record : 151 byte
Kunci Field : id_kalender
Software : Xampp/MySQL
Tabel IV.25
Spesifikasi File Kalender Akademik
No. Elemen Data Nama Field Tipe Size Keterangan
1. Id Kalender id_kalender Int 11 AI, Primary Key
2. Tanggal tgl_kalender Varchar 30 -
3. Keterangan ket_kalender Varchar 100 -
4. Tahun thn_ajaran Varchar 10 -
6. Spesifikasi File Kelas
Nama File : Kelas
Akronim : kelas.myd
Fungsi : Untuk menyimpan data kelas.
Tipe : File Master
Organisasi File : Indexed Sequential
Akses File : Random
Media : Hardisk
Panjang Record : 76 byte
Kunci Field : id_kelas
Tabel IV.26 Spesifikasi File Kelas
No. Elemen Data Nama Field Tipe Size Keterangan
1. Id Kelas id_kelas Int 3 AI, Primary Key
2. Nama Kelas nama_kelas Varchar 20 -
3. Jumlah Siswa jumlah_siswa Int 3 -
4. Wali Kelas wali_kelas Varchar 50 -
7. Spesifikasi File Mata Pelajaran
Nama File : Mata Pelajaran
Akronim : mata_pelajaran.myd
Fungsi : Untuk menyimpan data mata pelajaran.
Tipe : File Master
Organisasi File : Indexed Sequential
Akses File : Random
Media : Hardisk
Panjang Record : 34 byte
Kunci Field : id_mapel
Software : Xampp/MySQL
Tabel IV.27
Spesifikasi File Mata Pelajaran
No. Elemen Data Nama Field Tipe Size Keterangan
1. Id Mapel id_mapel Int 4 AI, Primary Key
2. Mata Pelajaran
mapel Varchar 30 -
8. Spesifikasi File Nilai Siswa
Nama File : Nilai Siswa
Fungsi : Untuk menyimpan data nilai siswa.
Tipe : File Transaksi
Organisasi File : Indexed Sequential
Akses File : Random
Media : Hardisk
Panjang Record : 69 byte
Kunci Field : id_nilai
Software : Xampp/MySQL
Tabel IV.28
Spesifikasi File Nilai Siswa
No. Elemen Data Nama Field Tipe Size Keterangan
1. Id Nilai id_nilai Int 11 AI, Primary Key
2. Nilai nilai Int 3 -
3. Semester semester Varchar 1 -
4. Tahun tahun_ajaran Varchar 10 -
5. Jenis Nilai jenis_nilai Enum 3 (uh,uts,uas)
6. Id Mapel id_mapel Int 4 Foreign Key
7. Id Kelas id_kelas Int 3 Foreign Key
8. NIS nis Varchar 10 Foreign Key
9. Id Guru id_guru Int 11 Foreign Key
10. Nilai Ke n_ke Int 4 -
9. Spesifikasi File Pengumuman
Nama File : Pengumuman
Akronim : pengumuman.myd
Fungsi : Untuk menyimpan data pengumuman.
Tipe : File Master
Organisasi File : Indexed Sequential
Akses File : Random
Panjang Record : 726 byte
Kunci Field : id_pengumuman
Software : Xampp/MySQL
Tabel IV.29
Spesifikasi File Pengumuman
No. Elemen Data Nama Field Tipe Size Keterangan
1. Id
Pengumuman
id_pengumuman Int 11 AI, Primary
Key
2. Judul judul_pengumuman Varchar 100 -
3. Judul SEO jp_seo Varchar 100 -
4. Tanggal tgl_input Date 10 yyyy-mm-dd
5. Jenis Pengumuman Jp Enum 2 (g,s,gs) 6. Isi Pengumuman isi_pengumuman Text 500
-7. Id Adm id_adm Int 3 Foreign Key
10. Spesifikasi File Siswa
Nama File : Siswa
Akronim : siswa.myd
Fungsi : Untuk menyimpan data siswa.
Tipe : File Master
Organisasi File : Indexed Sequential
Akses File : Random
Media : Hardisk
Panjang Record : 91 byte
Kunci Field : nis
Tabel IV.30 Spesifikasi File Siswa
No. Elemen Data Nama Field Tipe Size Keterangan
1. NIS Nis Varchar 10 AI, Primary Key
2. Nama Siswa nama_siswa Varchar 30 -
3. Jenis Kelamin
jenis_kelamin Enum 1 (L,P)
4. Password pass_siswa Varchar 50 -
5. Id Kelas id_kelas Int 3 Foreign Key
4.2.2. Software Architecture
A. Deployment Diagram
Gambar IV.16
Deployment Diagram Sistem Informasi Akademik
deployment Sisfo Akademik
Web Serv er Admin Application Guru Application Sisw a Application Bootstrap.j s Bootstrap.css Apache Serv er Style.css Jquery.j s Client PC
Web Brow ser
Database Serv er Database Application MySQL Database Port 80 Port 3306
B. Component Diagram
Gambar IV.17
Component Diagram Sistem Informasi Akademik
cmp Sisfo Akademik Admin Application Guru Application Sisw a Application Style.css Jquery.j s Apache Serv er Database Application MySQL Database Bootstrap.css Bootstrap.j s
4.2.3. User Interface
A. User Interface Halaman Admin
1. Halaman Login Admin
Sebelum admin masuk ke halaman utama sisfo akademik halaman
admin, maka admin diminta untuk login terlebih dahulu menggunakan
email dan password.
Gambar IV.18
User Interface Login Admin
2. Halaman Menu Utama
Setelah login berhasil maka admin akan masuk di halaman menu
utama admin dan dapat melakukan pengelolaan data master.
Gambar IV.19
3. Halaman Penjadwalan
Admin dapat melakukan penjadwalan setelah admin membuka data
kelas, kemudian memilih kelas yang akan diinput atau dirubah jadwal
pelajarannya.
Gambar IV.20
User Interface Data Kelas
Gambar IV.21
B. User Interface Halaman Guru
1. Halaman Login Guru
Sebelum masuk sisfo akademik halaman guru, guru diminta untuk
login terlebih dahulu menggunakan email dan password.
Gambar IV.22
User Interface Login Guru
2. Halaman Menu Utama Guru
Halaman ini akan tampil setelah guru berhasil login, kemudian guru
bisa melakukan pengolahan data akademik di halaman ini.
Gambar IV.23
3. Halaman Jadwal Mengajar
Pada halaman ini sistem akan menampilkan jadwal mengajar guru.
Gambar IV.24
User Interface Jadwal Mengajar
4. Halaman Absensi Siswa
Halaman absensi siswa akan terbuka setelah guru memilih jadwal
mengajar sesuai dengan jam dan hari mengajarnya.
Gambar IV.25
5. Halaman Input Nilai Ulangan Harian
Setelah melakukan pengambilan nilai ulangan harian guru wajib input
nilai ulangan harian.
Gambar IV.26
User InterfaceInput Nilai Ulangan Harian
6. Halaman Input Nilai UTS
Halaman input nilai UTS ini dapat dilihat saat admin telah
menentukan linkinput nilai UTS dibuka.
Gambar IV.27
7. Halaman Input Nilai UAS
Sama seperti halnya input nilai UTS, input nilai UAS dapat dilakukan
setelah admin membuka link input nilai UAS.
Gambar IV.28
User InterfaceInput Nilai UAS
8. Halaman Rekap Nilai Akhir
Setelah semua nilai diinput maka hasil akhir dari nilai dapat dilihat di
halaman ini.
Gambar IV.29
C. User Interface Halaman Siswa
1. Halaman Login Siswa
Sebelum masuk ke menu utama halaman siswa, maka siswa diminta
login terlebih dahulu menggunakan nis dan password.
Gambar IV.30
User InterfaceLogin Siswa
2. Halaman Menu Utama Siswa
Setelah berhasil login maka siswa dapat memanfaatkan semua menu
yang ada di halaman utama.
Gambar IV.31
3. Halaman Jadwal Pelajaran
Siswa dapat melihat jadwal pelajaran pada halaman ini.
Gambar IV.32
User Interface Jadwal Pelajaran
4. Halaman Lihat Nilai Ulangan Harian
Sebelum melihat nilai ulangan harian, siswa akan memilih terlebih
dahulu mata pelajaran yang akan dilihat nilai ulangan hariannya.
Setelah itu siswa mendapatkan hasil ulangan harian dan dapat
mencetak rekap nilai ulangan hariannya.
Gambar IV.33
Gambar IV.34
User Interface Lihat Nilai Ulangan Harian
5. Halaman Lihat Nilai UTS
Halaman lihat nilai UTS dapat diakses ketika admin telah membuka
link untuk melihat nilai UTS.
Gambar IV.35
User Interface Lihat Nilai UTS
6. Halaman Lihat Nilai UAS
Halaman lihat nilai UAS dapat diakses ketika admin telah membuka
Gambar IV.36
User Interface Lihat Nilai UAS
7. Halaman Lihat Nilai Murni
Halaman lihat nilai murni ini bisa diakses diakhir semester bersamaan
dengan nilai UAS.
Gambar IV.37
User Interface Lihat Nilai Murni
8. Halaman Lihat Raport Akhir Semester
Halaman raport akhir semester ini bisa diakses di akhir semester
Gambar IV.38
User Interface Raport Nilai Akhir Semester
4.3. Code Generation A. Form Penjadwalan <?php $kelas=$_POST['kelas']; $thn=$_POST['thn']; $jml6 = count($_POST["gsabtu"]); $jml5 = count($_POST["gminggu"]); $jml1 = count($_POST["gsenin"]); $jml2 = count($_POST["gselasa"]); $jml3 = count($_POST["grabu"]); $jml4 = count($_POST["gkamis"]); for($f=0; $f < $jml6; $f++) { if($_POST['gsabtu']!='')
{ $hari5="sabtu"; $jam5=$_POST["jam"][$f]; $guru5=$_POST["gsabtu"][$f]; if($guru5=="99") $mapel5="99"; elseif($guru5=="0") $mapel5="0"; else {
$m5=mysql_query("select * from guru where
id_guru='$guru5'");
$dt5=mysql_fetch_array($m5);
$mapel5=$dt5['id_mapel'];
}
$sql_sabtu=mysql_query("insert into jadwal values
('','$mapel5','$hari5','$jam5','$kelas','$guru5','$thn')");
}
else
{
echo "Data Belum Lengkap";
}
for($e=0; $e < $jml5; $e++) { if($_POST['gminggu']!='') { $hari4="minggu"; $jam4=$_POST["jam"][$e]; $guru4=$_POST["gminggu"][$e]; if($guru4=="99") $mapel4="99"; elseif($guru4=="0") $mapel4="0"; else {
$m4=mysql_query("select * from guru where id_guru='$guru4'");
$dt4=mysql_fetch_array($m4);
$mapel4=$dt4['id_mapel'];
}
$sql_minggu=mysql_query("insert into jadwal values
('','$mapel4','$hari4','$jam4','$kelas','$guru4','$thn')");
}
else
{
echo "Data Belum Lengkap";
} for($a=0; $a < $jml1; $a++) { if(!empty($_POST['gsenin'])) { $hari="senin"; $jam=$_POST["jam"][$a]; $guru=$_POST["gsenin"][$a]; if($guru=="99") $mapel="99"; elseif($guru=="0") $mapel="0"; else {
$m=mysql_query("select * from guru where id_guru='$guru'");
$dt=mysql_fetch_array($m);
$mapel=$dt['id_mapel'];
}
$sql_senin=mysql_query("insert into jadwal values
('','$mapel','$hari','$jam','$kelas','$guru','$thn')");
}
else
{
} } for($b=0; $b < $jml2; $b++) { if(!empty($_POST['gselasa'])) { $hari1="selasa"; $jam1=$_POST["jam"][$b]; $guru1=$_POST["gselasa"][$b]; if($guru1=="99") $mapel1="99"; elseif($guru1=="0") $mapel1="0"; else {
$m1=mysql_query("select * from guru where id_guru='$guru1'");
$dt1=mysql_fetch_array($m1);
$mapel1=$dt1['id_mapel'];
}
$sql_selasa=mysql_query("insert into jadwal values
('','$mapel1','$hari1','$jam1','$kelas','$guru1','$thn')");
}
else
echo "Data Belum Lengkap"; } } for($c=0; $c < $jml3; $c++) { if($_POST['grabu']!='') { $hari2="rabu"; $jam2=$_POST["jam"][$c]; $guru2=$_POST["grabu"][$c]; if($guru2=="99") $mapel2="99"; elseif($guru2=="0") $mapel2="0"; else {
$m2=mysql_query("select * from guru where id_guru='$guru2'");
$dt2=mysql_fetch_array($m2);
$mapel2=$dt2['id_mapel'];
}
$sql_rabu=mysql_query("insert into jadwal values
('','$mapel2','$hari2','$jam2','$kelas','$guru2','$thn')");
}
{
echo "Data Belum Lengkap";
} } for($d=0; $d < $jml4; $d++) { if($_POST['gkamis']!='') { $hari3="kamis"; $jam3=$_POST["jam"][$d]; $guru3=$_POST["gkamis"][$d]; if($guru3=="99") $mapel3="99"; elseif($guru3=="0") $mapel3="0"; else {
$m3=mysql_query("select * from guru where id_guru='$guru3'");
$dt3=mysql_fetch_array($m3);
$mapel3=$dt3['id_mapel'];
}
$sql_kamis=mysql_query("insert into jadwal values
('','$mapel3','$hari3','$jam3','$kelas','$guru3','$thn')");
else
{
echo "Data Belum Lengkap";
}
}
?>
<script language="javascript">
alert("Jadwal Pelajaran Berhasil Disimpan");
document.location="<?php echo
$base_url_admin;?>data_kelas";
</script>
B. Form Absensi Siswa
<?php <?php $kelas=$_POST['kelas']; $smt=$_POST['smt']; $thn=$_POST['thn']; $jumlah = count($_POST["nis"]);
$querycount="SELECT MAX(p) AS pakhir FROM absensi_siswa where
id_mapel='".$dtUser['id_mapel']."' and id_kelas='$kelas' and
id_guru='".$_SESSION['idguru']."' and
semester='".$dtControl['semester_aktif']."' and
thn_ajaran='".$dtControl['tahun_pelajaran']."'";
$row=mysql_fetch_array($result);
$pertemuan=(int)$row['pakhir'];
$pertemuan++;
for($i=0; $i < $jumlah; $i++){
$nis=$_POST['nis'][$i];
$hdr=$_POST['hdr'][$i];
if($nis!="" && $hdr!=""){
$simpan=mysql_query("insert into absensi_siswa
values('','$hdr','$smt','$thn','".$_SESSION['idguru']."','".$dtUser['id_mapel' ]."','$kelas','$nis',NOW(),'$pertemuan')"); } } if($simpan){ ?> <script type="text/javascript"> document.location="<?php echo $base_url_guru;?>jadwal_mengajar"; </script> <?php } else{ ?> <script type="text/javascript">
history.go(-1);
</script>
<?php
}
?>
C. Form Input Nilai Ulangan Harian
<?php
$kelas=$_POST['kelas'];
$smt=$_POST['smt'];
$thn=$_POST['thn'];
$jumlah = count($_POST["item"]);
$jmlSiswa=mysql_num_rows(mysql_query("select * from siswa where
id_kelas='$kelas'"));
$jmlInput=mysql_num_rows(mysql_query("select * from nilai where
id_kelas='$kelas' and jenis_nilai='uh' and
id_mapel='".$dtUser['id_mapel']."' and id_guru='".$_SESSION['idguru']."'
and semester='".$dtControl['semester_aktif']."' and
tahun_ajaran='".$dtControl['tahun_pelajaran']."'"));
if($jmlInput=="0" || $jmlInput % $jmlSiswa == 0){
$querycount="SELECT MAX(n_ke) AS uhakhir FROM nilai_siswa
where jenis_nilai='uh' and id_kelas='$kelas' and
id_mapel='".$dtUser['id_mapel']."' and id_guru='".$_SESSION['idguru']."'
and semester='".$dtControl['semester_aktif']."' and
$result=mysql_query($querycount) or die(mysql_error());
$row=mysql_fetch_array($result);
$uh=(int)$row['uhakhir'];
$uh++;
}
elseif($jmlInput<$jmlSiswa || $jmlInput % $jmlSiswa != 0){
$dtInput=mysql_fetch_array(mysql_query("select * from
nilai_siswa where id_kelas='$kelas' and jenis_nilai='uh' and
id_mapel='".$dtUser['id_mapel']."' and id_guru='".$_SESSION['idguru']."'
and semester='".$dtControl['semester_aktif']."' and
tahun_ajaran='".$dtControl['tahun_pelajaran']."' order by id_nilai desc"));
$uh=$dtInput['n_ke'];
}
for($i=0; $i < $jumlah; $i++){
$nis=$_POST['item'][$i];
$nilai=$_POST['nilai'][$i];
$idn=$_POST['idn'][$i];
if($nis!="" && $nilai!="" && $idn!=""){
$simpan=mysql_query("update nilai_siswa set nilai='$nilai'
where id_nilai='$idn'") or die("Query Gagal");
}
$simpan=mysql_query("insert into nilai_siswa
values('','$nilai','$smt','$thn','uh','".$dtUser['id_mapel']."','$nis','$kelas','".$_
SESSION['idguru']."','$uh')") or die("Query Gagal");
} } if($simpan){ ?> <script type="text/javascript"> document.location="<?php echo
$base_url_guru;?>input_nilai_uh/<?php echo $kelas;?>/<?php echo
$uh;?>"; </script> <?php } else{ ?> <script type="text/javascript">
alert("Data Gagal Disimpan!!");
history.go(-1);
</script>
<?php
}
D. Form Input Nilai UTS <?php $kelas=$_POST['kelas']; $smt=$_POST['smt']; $thn=$_POST['thn']; $jumlah = count($_POST["item"]);
for($i=0; $i < $jumlah; $i++){
$nis=$_POST['item'][$i];
$nilai=$_POST['nilai'][$i];
$idn=$_POST['idn'][$i];
if($nis!="" && $nilai!="" && $idn!=""){
$simpan=mysql_query("update nilai_siswa set nilai='$nilai'
where id_nilai='$idn'") or die("Query Gagal");
}
elseif($nis!="" && $nilai!=""){
$simpan=mysql_query("insert into nilai_siswa
values('','$nilai','$smt','$thn','uts','".$dtUser['id_mapel']."','$nis','$kelas','".$
_SESSION['idguru']."','0')") or die("Query Gagal");
}
}
if($simpan){
?>
document.location="<?php echo
$base_url_guru;?>input_nilai_uts/<?php echo $kelas;?>";
</script> <?php } else{ ?> <script type="text/javascript">
alert("Data Gagal Disimpan!!");
history.go(-1);
</script>
<?php
}
?>
E. Form Input Nilai UAS
<?php
$kelas=$_POST['kelas'];
$smt=$_POST['smt'];
$thn=$_POST['thn'];
$jumlah = count($_POST["item"]);
for($i=0; $i < $jumlah; $i++){
$nis=$_POST['item'][$i];
$nilai=$_POST['nilai'][$i];
if($nis!="" && $nilai!="" && $idn!=""){
$simpan=mysql_query("update nilai_siswa set nilai='$nilai'
where id_nilai='$idn'") or die("Query Gagal");
}
elseif($nis!="" && $nilai!=""){
$simpan=mysql_query("insert into nilai_siswa
values('','$nilai','$smt','$thn','uas','".$dtUser['id_mapel']."','$nis','$kelas','".$
_SESSION['idguru']."','0')") or die("Query Gagal");
} } if($simpan){ ?> <script type="text/javascript"> document.location="<?php echo
$base_url_guru;?>input_nilai_uas/<?php echo $kelas;?>";
</script> <?php } else{ ?> <script type="text/javascript">
alert("Data Gagal Disimpan!!");
history.go(-1);
<?php
}
?>
F. Form Lihat Nilai Murni
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">Nilai Murni Semester <?php echo
$dtControl['semester_aktif'];?> Tahun Pelajaran <?php echo
$dtControl['tahun_pelajaran'];?> | <a href="<?php echo
$base_url_siswa;?>cetak_nilai_murni" target="_blank"><button
type="button" class="btn btn-primary btn-sm">Export to Ms.
Excel</button></a></div>
<div class="panel-body">
<strong><p>NIS : <?php echo $dtUser['nis'];?><br>Nama : <?php echo
$dtUser['nama_siswa'];?></p></strong>
<table data-toggle="table" data-url="tables/data1.json"
show-refresh="true" show-toggle="true" show-columns="true"
data-search="true" data-select-item-name="toolbar1" data-pagination="true"
data-sort-name="name" data-sort-order="desc">
<thead>
<tr>
<th data-sortable="true">#</th>
<th data-sortable="true">Nilai Absen</th> <th data-sortable="true">Nilai Ulangan</th> <th data-sortable="true">Nilai UTS</th> <th data-sortable="true">Nilai UAS</th> </tr> </thead> <tbody> <?php
$sqlNilai=mysql_query("select distinct id_mapel from nilai_siswa where
id_kelas='".$dtUser['id_kelas']."' and
tahun_ajaran='".$dtControl['tahun_pelajaran']."' and
semester='".$dtControl['semester_aktif']."' and nis='".$dtUser['nis']."'");
while($dtNilai=mysql_fetch_array($sqlNilai)){
$dtMapel=mysql_fetch_array(mysql_query("select * from mata_pelajaran
where id_mapel='".$dtNilai['id_mapel']."'"));
$rowAbs=mysql_fetch_array(mysql_query("SELECT count(*) AS
jumAbs from absensi_siswa where kehadiran='h' and
nis='".$dtUser['nis']."' and id_mapel='".$dtNilai['id_mapel']."' and
semester='".$dtControl['semester_aktif']."' and
thn_ajaran='".$dtControl['tahun_pelajaran']."'"));
$jumAbs=$rowAbs['jumAbs'];
$rowUh=mysql_fetch_array(mysql_query("SELECT AVG(nilai) AS nUh
from nilai_siswa where jenis_nilai='uh' and nis='".$dtUser['nis']."' and
semester='".$dtControl['semester_aktif']."' and
tahun_ajaran='".$dtControl['tahun_pelajaran']."'"));
$nuh=(int)$rowUh['nUh'];
$totA=mysql_fetch_array(mysql_query("select * from absensi_siswa
where nis='".$dtUser['nis']."' and id_mapel='".$dtNilai['id_mapel']."' and
semester='".$dtControl['semester_aktif']."' and
thn_ajaran='".$dtControl['tahun_pelajaran']."' order by p desc"));
$na=(int)($jumAbs/$totA['p']*100);
$rowUts=mysql_fetch_array(mysql_query("SELECT * from nilai_siswa
where jenis_nilai='uts' and nis='".$dtUser['nis']."' and
id_mapel='".$dtNilai['id_mapel']."' and
semester='".$dtControl['semester_aktif']."' and
tahun_ajaran='".$dtControl['tahun_pelajaran']."'"));
$nuts=(int)$rowUts['nilai'];
$rowUas=mysql_fetch_array(mysql_query("SELECT * from nilai_siswa
where jenis_nilai='uas' and nis='".$dtUser['nis']."' and
id_mapel='".$dtNilai['id_mapel']."' and semester='".$dtControl['semester_aktif']."' and tahun_ajaran='".$dtControl['tahun_pelajaran']."'")); $nuas=(int)$rowUas['nilai']; ?> <tr>
<td data-sortable="true"><?php echo $no=$no+1;;?></td>
<td data-sortable="true"><?php echo $na;?></td>
<td data-sortable="true"><?php echo $nuh;?></td>
<td data-sortable="true"><?php echo $nuts;?></td>
<td data-sortable="true"><?php echo $nuas;?></td>
</tr> <?php } ?> </tbody> </table> </div> </div> </div> </div><!--/.row-->
G. Form Raport Akhir Semester
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">Rapot Akhir Semester <?php echo
$dtControl['semester_aktif'];?> Tahun Pelajaran <?php echo
$dtControl['tahun_pelajaran'];?> | <a href="<?php echo
$base_url_siswa;?>cetak_rapot" target="_blank"><button type="button"
class="btn btn-primary btn-sm">Export to Ms. Excel</button></a></div>
<div class="panel-body">
<strong><p>NIS : <?php echo $dtUser['nis'];?><br>Nama : <?php echo
<table data-toggle="table" data-url="tables/data1.json"
show-refresh="true" show-toggle="true" show-columns="true"
data-search="true" data-select-item-name="toolbar1" data-pagination="true"
data-sort-name="name" data-sort-order="desc"> <thead> <tr> <th data-sortable="true">#</th> <th data-sortable="true">Mata Pelajaran</th> <th data-sortable="true">Nilai Akhir</th> <th data-sortable="true">Tertulis</th> </tr> </thead> <tbody> <?php
$sqlNilai=mysql_query("select distinct id_mapel from nilai_siswa where
id_kelas='".$dtUser['id_kelas']."' and
tahun_ajaran='".$dtControl['tahun_pelajaran']."' and
semester='".$dtControl['semester_aktif']."' and nis='".$dtUser['nis']."'");
while($dtNilai=mysql_fetch_array($sqlNilai)){
$dtMapel=mysql_fetch_array(mysql_query("select * from mata_pelajaran
where id_mapel='".$dtNilai['id_mapel']."'"));
$rowAbs=mysql_fetch_array(mysql_query("SELECT count(*) AS
jumAbs from absensi_siswa where kehadiran='h' and
semester='".$dtControl['semester_aktif']."' and
thn_ajaran='".$dtControl['tahun_pelajaran']."'"));
$jumAbs=$rowAbs['jumAbs'];
$rowUh=mysql_fetch_array(mysql_query("SELECT AVG(nilai) AS nUh
from nilai_siswa where jenis_nilai='uh' and nis='".$dtUser['nis']."' and
id_mapel='".$dtNilai['id_mapel']."' and
semester='".$dtControl['semester_aktif']."' and
tahun_ajaran='".$dtControl['tahun_pelajaran']."'"));
$nuh=(int)$rowUh['nUh'];
$totA=mysql_fetch_array(mysql_query("select * from absensi_siswa
where nis='".$dtUser['nis']."' and id_mapel='".$dtNilai['id_mapel']."' and
semester='".$dtControl['semester_aktif']."' and
thn_ajaran='".$dtControl['tahun_pelajaran']."' order by p desc"));
$na=(int)($jumAbs/$totA['p']*100);
$rowUts=mysql_fetch_array(mysql_query("SELECT * from nilai_siswa
where jenis_nilai='uts' and nis='".$dtUser['nis']."' and
id_mapel='".$dtNilai['id_mapel']."' and
semester='".$dtControl['semester_aktif']."' and
tahun_ajaran='".$dtControl['tahun_pelajaran']."'"));
$nuts=(int)$rowUts['nilai'];
$rowUas=mysql_fetch_array(mysql_query("SELECT * from nilai_siswa
where jenis_nilai='uas' and nis='".$dtUser['nis']."' and
semester='".$dtControl['semester_aktif']."' and tahun_ajaran='".$dtControl['tahun_pelajaran']."'")); $nuas=(int)$rowUas['nilai']; $akhir=(int)(($na*0.1)+($nuh*0.2)+($nuts*0.3)+($nuas*0.4)); if(strlen($akhir)=="3"){ $tulis="Seratus"; } elseif(strlen($akhir)=="2"){ if(substr($akhir, 0,1)=="2") $b1="Dua "; elseif(substr($akhir, 0,1)=="3") $b1="Tiga "; elseif(substr($akhir, 0,1)=="4") $b1="Empat "; elseif(substr($akhir, 0,1)=="5") $b1="Lima "; elseif(substr($akhir, 0,1)=="6") $b1="Enam "; elseif(substr($akhir, 0,1)=="7") $b1="Tujuh "; elseif(substr($akhir, 0,1)=="8") $b1="Delapan "; elseif(substr($akhir, 0,1)=="9") $b1="Sembilan ";
if(substr($akhir, 1,1)=="1") $b2="Puluh Satu"; elseif(substr($akhir, 1,1)=="2") $b2="Puluh Dua"; elseif(substr($akhir, 1,1)=="3") $b2="Puluh Tiga"; elseif(substr($akhir, 1,1)=="4") $b2="Puluh Empat"; elseif(substr($akhir, 1,1)=="5") $b2="Puluh Lima"; elseif(substr($akhir, 1,1)=="6") $b2="Puluh Enam"; elseif(substr($akhir, 1,1)=="7") $b2="Puluh Tujuh"; elseif(substr($akhir, 1,1)=="8") $b2="Puluh Delapan"; elseif(substr($akhir, 1,1)=="9") $b2="Puluh Sembilan"; else $b2="Puluh"; $tulis=$b1.$b2; } ?> <tr>
<td data-sortable="true"><?php echo $no=$no+1;;?></td>
<td data-sortable="true"><?php echo $dtMapel['mapel'];?></td>
<td data-sortable="true"><?php echo $akhir;?></td>
<td data-sortable="true"><?php echo $tulis;?></td>
</tr> <?php } ?> </tbody> </table> </div> </div> </div> </div><!--/.row-->
4.4. Testing
A. Form Login Admin
Tabel IV.31
Hasil Pengujian Black Box Testing Form Login Admin
No. Skenario Pengujian Test Case Hasil yang
Diharapkan
Hasil
Pengujian Kesimpulan
1. Mengosongkan
username dan password lalu klik tombol “Login” Username : (Kosong), Password : (Kosong) Sistem akan menolak akses login dan mengeluarkan pesan “Maaf, Username dan Password Salah”.
Sesuai Harapan Valid
2. Mengisi username dengan email admin dan mengosongkan password lalu klik tombol “Login” Username : xxx@xx.xx Password : (Kosong) Sistem akan menolak akses login dan mengeluarkan pesan “Maaf, Username dan Password Salah”.
Sesuai Harapan Valid
3. Mengosongkan
username dan mengisi password lalu klik tombol “Login” Username : (Kosong) Password : xxxxx Sistem akan menolak akses login dan mengeluarkan pesan “Maaf, Username dan Password Salah”.
Sesuai Harapan Valid
4. Mengisi username dengan benar dan password salah lalu klik tombol “Login” Username : xxx@xx.xx (benar) Password : aaaa (salah) Sistem akan menolak akses login dan mengeluarkan pesan “Maaf, Username dan Password Salah”.
Sesuai Harapan Valid
5. Mengisi username dengan salah dan password benar lalu klik tombol “Login” Username : aa@aa.aa (salah) Password : xxxx (benar) Sistem akan menolak akses login dan mengeluarkan pesan “Maaf, Username dan Password Salah”.
Sesuai Harapan Valid
6. Mengisi username dan password dengan benar Username : xxx@xx.xx (benar) Password : xxxxx (benar) Sistem akan memberi akses login dan menampilkan menu beranda admin.
B. Form Penjadwalan
Tabel IV.32
Hasil Pengujian Black Box Testing Form Penjadwalan
No. Skenario Pengujian Test Case Hasil yang
Diharapkan
Hasil
Pengujian Kesimpulan
1. Mengosongkan
semua pilihan pada form, lalu klik “Submit” Kode Guru : (Kosong semua) Sistem akan menolak pengiriman jadwal pelajaran dan mengeluarkan pesan “Pilih Item Pada Daftar” (HTML 5 sesuai dengan setelan browser)
Sesuai Harapan Valid
2. Mengosongkan
sebagian pilihan pada form, lalu klik “Submit” Kode Guru : (Kosong sebagian) Sistem akan menolak pengiriman jadwal pelajaran dan mengeluarkan pesan “Pilih Item Pada Daftar” (HTML 5 sesuai dengan setelan browser)
Sesuai Harapan Valid
3. Mengisi semua
pilihan pada form, lalu klik “Submit”
Kode Guru : dipilih semua
Sistem akan menyimpan jadwal pelajaran.
C. Form Login Guru
Tabel IV.33
Hasil Pengujian Black Box Testing Form Login Guru
No. Skenario Pengujian Test Case Hasil yang
Diharapkan
Hasil
Pengujian Kesimpulan
1. Mengosongkan
email dan
password lalu klik tombol “Login” Email : (Kosong), Password : (Kosong) Sistem akan menolak akses login dan mengeluarkan pesan “Maaf, Email dan Password Salah”.
Sesuai Harapan Valid
2. Mengisi email dan mengosongkan password lalu klik tombol “Login” Email : xxx@xx.xx Password : (Kosong) Sistem akan menolak akses login dan mengeluarkan pesan “Maaf, Email dan Password Salah”.
Sesuai Harapan Valid
3. Mengosongkan
email dan mengisi password lalu klik tombol “Login” Email : (Kosong) Password : xxxxx Sistem akan menolak akses login dan mengeluarkan pesan “Maaf, Email dan Password Salah”.
Sesuai Harapan Valid
4. Mengisi email dengan benar dan password salah lalu klik tombol “Login” Email : xxx@xx.xx (benar) Password : aaaa (salah) Sistem akan menolak akses login dan mengeluarkan pesan “Maaf, Email dan Password Salah”.
Sesuai Harapan Valid
5. Mengisi email dengan salah dan password benar lalu klik tombol “Login” Email : aa@aa.aa (salah) Password : xxxx (benar) Sistem akan menolak akses login dan mengeluarkan pesan “Maaf, Email dan Password Salah”.
Sesuai Harapan Valid
6. Mengisi email dan password dengan benar Email : xxx@xx.xx (benar) Password : xxxxx (benar) Sistem akan memberi akses login dan menampilkan menu beranda guru.
D. Form Absensi Siswa
Tabel IV.34
Hasil Pengujian Black Box Testing Form Absensi Siswa
No. Skenario Pengujian Test Case Hasil yang
Diharapkan
Hasil
Pengujian Kesimpulan
1. Memilih jadwal pelajaran tidak sesuai jam dan hari mengajar. Jam mengajar : tidak sesuai Sistem akan menolak permintaan absensi dan mengeluarkan pesan “Mohon maaf Anda Diluar Jam Mengajar”.
Sesuai Harapan Valid
2. Memilih jadwal pelajaran sesuai jam dan hari mengajar. Jam mengajar : sesuai, Sistem akan menampilkan absensi siswa kelas yang dipilih.