Post on 20-Jan-2020
34
BAB IV
RANCANGAN SISTEM DAN PROGRAM USULAN
4.1. Analisa Kebutuhan Software
A. Tahapan Analisis
Berikut ini spesifikasi kebutuhan (System Requirement) dari Sistem
Informasi Akademik SMK Negeri 1 Kota Bekasi :
Ruang Siswa:
A1. Siswa dapat melihat biodata
A2. Siswa dapat melihat dan mencetak data Nilai UTS
A3. Siswa dapat melihat dan mencetak data Nilai UAS
A4. Siswa dapat melihat status pembayaran
Ruang Pegawai:
B1. Bagian Tata Usaha dapat membuka modul kurikulum untuk mengolah
data jurusan, kurikulum jurusan dan KKM
B2. Bagian Tata Usaha dapat membuka modul pendidikan untuk
mengolah data kelas, wali kelas, guru pembimbing, biodata siswa dan
rombongan belajar
B3. Guru Pembimbing dapat membuka modul penilaian untuk mengolah
Nilai Ulangan Harian dan nilai Tugas
B4. Wali kelas dapat membuka modul penilaian untuk mengolah Nilai
UTS dan nilai UAS
B5. Bagian Tata Usaha dapat membuka modul sekolah untuk mengolah
biodata pegawai, mengolah status pembayaran siswa, melihat dan
35
mencetak laporan data pegawai, laporan data siswa dan laporan nilai
siswa.
B. Use Case Diagram
1. Use Case Diagram Ruang Siswa
Gambar IV.1
Use Case Diagram Ruang Siswa
36
a. Deskripsi Use Case Diagram Melihat Biodata Siswa
Tabel IV.1
Deskripsi Use Case Diagram Melihat Biodata Siswa
Use Case Name Melihat Biodata Siswa
Requirements A1
Goal Siswa dapat melihat biodata
Pre-conditions Siswa telah Login
Post-conditions Siswa telah melihat biodata
Failed end conditions
Primary Actors Siswa
Main Flow / Basic Path 1. Siswa memilih menu biodata
2. Siswa melihat biodata
Alternate Flow / Invariant 1 1a. Siswa memilih menu lain
Invariant 2 1b. Siswa logout
b. Deskripsi Use Case Diagram Melihat Nilai UTS
Tabel IV.2
Deskripsi Use Case Diagram Melihat Nilai UTS
Use Case Name Melihat Nilai UTS
Requirements A2
Goal Siswa dapat melihat dan mencetak nilai
UTS
Pre-conditions Siswa telah Login
Post-conditions Siswa telah melihat nilai UTS
Failed end conditions
Siswa tidak bisa melihat nilai UTS. Nilai
UTS tidak bisa dibuka jika siswa belum
melunasi pembayaran
Primary Actors Siswa
Main Flow / Basic Path
4.5.1. Siswa memilih menu Nilai UTS
4.5.2. Siswa melihat nilai UTS
4.5.3. Siswa mencetak nilai UTS
Alternate Flow / Invariant 1 1a. Siswa memilih menu lain
Invariant 2 1b. Siswa logout
37
c. Deskripsi Use Case Diagram Melihat Nilai UAS
Tabel IV.3
Deskripsi Use Case Diagram Melihat Nilai UAS
Use Case Name Melihat Nilai UAS
Requirements A3
Goal Siswa dapat melihat dan mencetak nilai
UAS
Pre-conditions Siswa telah Login
Post-conditions Siswa telah melihat nilai UAS
Failed end conditions
Siswa tidak bisa melihat nilai UAS. Nilai
UAS tidak bisa dibuka jika siswa belum
melunasi pembayaran
Primary Actors Siswa
Main Flow / Basic Path
1. Siswa memilih menu Nilai UTS
2. Siswa melihat nilai UTS
3. Siswa mencetak nilai UTS
Alternate Flow / Invariant 1 1a. Siswa memilih menu lain
Invariant 2 1b. Siswa logout
d. Deskripsi Use Case Diagram Melihat Status Pembayaran
Tabel IV.4
Deskripsi Use Case Diagram Melihat Status Pembayaran
Use Case Name Melihat Status Pembayaran
Requirements A4
Goal Siswa dapat melihat dan mencetak Status
Pembayaran
Pre-conditions Siswa telah Login
Post-conditions Siswa telah melihat Status Pembayaran
Failed end conditions
Primary Actors Siswa
Main Flow / Basic Path
4. Siswa memilih menu Status
Pembayaran
5. Siswa melihat Status Pembayaran
6. Siswa mencetak Status Pembayaran
Alternate Flow / Invariant 1 1a. Siswa memilih menu lain
Invariant 2 1b. Siswa logout
38
2. Package Diagram Use Case Ruang Pegawai
Gambar IV.2
Package Use Case Diagram Ruang Pegawai
pkg Package Ruang Pegawai
Modul Kurikulum
Modul Pendidikan
Modul Penilaian
Modul Sekolah
39
a. Use Case Diagram Modul Kurikulum
Gambar IV.3
Use Case Diagram Modul Kurikulum
Deskripsi Use Case Diagram Modul Kurikulum
Tabel IV.5
Deskripsi Use Case Diagram Modul Kurikulum
Use Case Name Modul Kurikulum
Requirements B1
Goal
Tata Usaha dapat menambah,
memperbaiki dan menghapus data
jurusan, kurikulum jurusan dan KKM
40
Pre-conditions Tata Usaha telah Login
Post-conditions Tata Usaha telah menentukan kurikulum
jurusan
Failed end conditions Gagal mengelola data kurikulum
Primary Actors Tata Usaha
Main Flow / Basic Path
1. Tata Usaha menambah data Jurusan
2. Tata Usaha menambah data
kurikulum jurusan
3. Tata Usaha menambah data KKM
Alternate Flow / Invariant 1
2a. Tata Usaha memperbaiki data
kurikulum jurusan
3a. Tata Usaha memperbaiki data KKM
Invariant 2
2b. Tata Usaha menghapus data
Kurikulum Jurusan
3b. Tata Usaha menghapus data KKM
41
b. Use Case Diagram Modul Pendidikan
Gambar IV.4
Use Case Diagram Modul Pendidikan
42
Deskripsi Use Case Diagram Modul Pendidikan
Tabel IV.6
Deskripsi Use Case Diagram Modul Pendidikan
Use Case Name Modul Pendidikan
Requirements B2
Goal Tata Usaha dapat mengelola data
pendidikan
Pre-conditions Tata Usaha telah Login
Post-conditions Tata Usaha telah menentukan
Rombongan Belajar
Failed end conditions Gagal mengelola data pendidikan
Primary Actors Tata Usaha
Main Flow / Basic Path
1. Tata Usaha menambah data Kelas
2. Tata Usah menentukan Wali Kelas
3. Tata Usaha Menentukan Guru
Pendamping
4. Tata Usaha Mengelola biodata siswa
5. Tata Usaha menambah Rombongan
Belajar
Alternate Flow / Invariant 1 5a. Tata Usaha memperbaiki
Rombongan Belakar
Invariant 2 5b. Tata Usaha Menghapus Rombongan
Belajar
43
c. Use Case Diagram Modul Penilaian
Gambar IV.5
Use Case Diagram Modul Penilaian
44
Deskripsi Use Case Diagram Modul Penilaian
Tabel IV.7
Deskripsi Use Case Diagram Modul Penilaian
Use Case Name Modul Penilaian
Requirements B3-B4
Goal
Guru dapat mengelola Nilai UH dan
Nilai Tugas, Wali Kelas dapat mengeloa
Nilai UTS dan Nilai UAS
Pre-conditions Guru / Wali Kelas telah Login
Post-conditions Wali Kelas telah menambah Nilai UTS
dan Nilai UAS
Failed end conditions Wali kelas gagal menambah nilai UTS
dan nilai UAS
Primary Actors Guru Pembimbing dan Wali Kelas
Main Flow / Basic Path
1. Guru Pembimbing menambah nilai
Ulangan Harian
2. Guru Pembimbing menambah nilai
Tugas
3. Wali Kelas menambah nilai UTS
4. Wali kelas menambah nilai UAS
Alternate Flow / Invariant 1 2a. Wali Kelas memperbaiki nilai UTS
3a. Wali Kelas memperbaiki nilai UAS
Invariant 2 2b. Wali Kelas menghapus nilai UTS
3b. Wali Kelas menghapus nilai UAS
45
d. Use Case Diagram Modul Sekolah
Gambar IV.6
Use Case Diagram Modul Sekolah
Deskripsi Use Case Diagram Modul Sekolah
Tabel IV.8
Deskripsi Use Case Diagram Modul Sekolah
Use Case Name Modul Sekolah
Requirements B5
46
Goal Tata Usaha dapat mencetak laporan-
laporan sekolah
Pre-conditions Tata Usaha telah Login
Post-conditions Tata Usaha telah mencetak laporan-
laporan sekolah
Failed end conditions Gagal mencetak laporan
Primary Actors Tata Usaha
Main Flow / Basic Path
1. Tata Usaha memilih menu laporan
2. Tata usaha memilih kriteria laporan
3. Tata Usaha mencetak Laporan
Alternate Flow / Invariant 1
Invariant 2
47
C. Activity Diagram
1. Activity Diagram Ruang Siswa
Gambar IV.7
Activity Diagram Ruang Siswa
48
2. Activity Diagram Modul Kurikululum
Gambar IV.8
Activity Diagram Modul Kurikulum
act Activ ity Modul Kurikulum
System AplikasiTata Usaha
Mengisi username
dan password
Login Cek Username dan
Password
Menampilkan halaman utama
Ruang Pegawai
Mengelola data jurusan
Mengelola data
Kuriukulum Jurusan
Mengelola data KKM
Memilih Modul Kurikulum
[Tidak Sesuai]
[Sesuai]
49
3. Activity Diagram Modul Pendidikan
Gambar IV.9
Activity Diagram Modul Pendidikan
50
4. Activity Diagram Modul Penilaian
Gambar IV.10
Activity Diagram Modul Penilaian
act Activ ity Modul Penilaian
Wali KelasGuru dan Wali Kelas Guru Pembimbing System Aplikasi
Cek Username dan
Password
Menampilkan halaman utama
Ruang Pegawai
Mengisi Username dan
Password
Login
Memilih Modul
Pendidikan
Mengelola Nilai
TugasMengelola Nilai
Ulangan Harian
Cek KKM
Mengelola Nilai
Remedial
Mengelola Nilai
UTSCek KKM
Mengelola Nilai
Remedial
Mengelola Nilai UAS Cek KKM
Mengelola
Remedial
[Sesuai]
[Tidak Sesuai]
[Belum Tuntas]
[Tuntas]
[Belum Tuntas]
[Belum Tuntas]
[Tuntas]
[Tuntas]
51
5. Activity Diagram Modul Sekolah
Gambar IV.11
Activity Diagram Modul Sekolah
act Activ ity Modul Sekolah
System AplikasiTata Usaha
Mengisi username
dan password
Login Cek Username dan
Password
Menampilkan halaman utama
Ruang Pegawai
Memilih Modul Sekolah
Mengelola Status
Pembayaran
Mengelola Data
PegawaiMelihat Laporan
Data Siswa
Melihat Laporan
Nilai Siswa
Cetak Data
[Tidak Sesuai]
[Sesuai]
52
4.2. Desain
Pada tahap ini akan dijelaskan tentang desain database, desain software
architecture, dan desain interface.
4.2.1. Database
1. Logical Data Model
Gambar IV.12
Logical Data Model Sistem Informasi Akademik
53
2. Physical Data Model
Gambar IV.13
Physical Data Model Sistem Informasi Akademik
54
3. Spesifikasi File
a. Spesifikasi Tabel kelas_d
Nama database : siakadsmk1
Nama File : Kelas_d
Akronim : kelas_d
Tipe File : File Master
Akses File : Random
Panjang Record : 44 Byte
Kunci Field : id_kelas_d
Tabel IV.9.
Spesifikasi File Tabel kelas_d
No Elemen Data Nama Field Type Size Keterangan
1 Id Kelas Detail Id_kelas_d Tinyint 2 Primary Key
2 Id Kelas Master id_kelas_m Tinyint 2
3 Nama Nama Varchar 20
4 Ruang Ruang Varchar 20
b. Spesifikasi Tabel kelas_m
Nama database : siakadsmk1
Nama File : Kelas_m
Akronim : kelas_m
Tipe File : File Master
Akses File : Random
Panjang Record : 8 Byte
Kunci Field : id_kelas_m
55
Tabel IV.10.
Spesifikasi File Tabel kelas_m
No Elemen Data Nama Field Type Size Keterangan
1 Id Kelas Master Id_kelas_m Tinyint 2 Primary Key
2 Nama kelas nama_kelas Varchar 4
3 Id jurusan id_jurusan Tinyint 2
c. Spesifikasi Tabel Rombel
Nama database : siakadsmk1
Nama File : Rombel
Akronim : rombel
Tipe File : File Master
Akses File : Random
Panjang Record : 28 Byte
Kunci Field : id_rombel
Tabel IV.11.
Spesifikasi File Tabel rombel
No Elemen Data Nama Field Type Size Keterangan
1 Id id_rombel Int 11 Primary Key
2 Nis Nis Int 11
3 Id kelas id_kelas tinyint 2
4 Tahun Tahun Smallint 4
d. Spesifikasi Tabel kelas relasi guru mapel
Nama database : siakadsmk1
Nama File : Kelas_relasi guru mapel
Akronim : kelas_relasi_gurumapel
56
Tipe File : File Master
Akses File : Random
Panjang Record : 35 Byte
Kunci Field : -
Tabel IV.12.
Spesifikasi File Tabel Kelas_relasi guru mapel
No Elemen Data Nama Field Type Size Keterangan
1 Id Kurikulum id_kurikulum Int 11
2 Id Pegawai Id_pegawai Tinyint 11
3 Id kelas detail id_kelas_d Tinyint 2
4 Tahun Tahun Int 11
e. Spesifikasi Tabel Relasi Kurikulum kelas
Nama database : siakadsmk1
Nama File : relasi kurikulum kelas
Akronim : rela_kurikulum_kelas
Tipe File : transaksi
Akses File : Random
Panjang Record : 24Byte
Kunci Field : id_kurikulum_kelas
Tabel IV.13.
Spesifikasi File Tabel Relasi kurikulum kelas
No Elemen Data Nama Field Type Size Keterangan
1 Id Relasi
Kurikulum Kelas
id_kurikulum_kelas Int 11
2 Id kurikulum id_kurikulum Int 11
3 Id kelas_m id_kelas_m Tinyint 2
57
f. Spesifikasi Tabel jurusan
Nama database : siakadsmk1
Nama File : Jurusan
Akronim : jurusan
Tipe File : File transaksi
Akses File : Random
Panjang Record : 135 Byte
Kunci Field : id_jurusan
Tabel IV.14.
Spesifikasi File Tabel Jurusan
No Elemen Data Nama Field Type Size Keterangan
1 Id Jurusan id_jurusan Tinyint 2 Primary key
2 Inisial Inisial Varchar 3
3 Nama jurusan nama_jurusan Varchar 30
4 Bidang keahlian bidang_keahlian Varchar 50
5 Program keahlian program_keahlian Varchar 50
g. Spesifikasi Tabel Nilai
Nama database : siakadsmk1
Nama File : Nilai
Akronim : nilai
Tipe File : transaksi
Akses File : Random
Panjang Record : 51 Byte
Kunci Field : id_nilai
58
Tabel IV.15.
Spesifikasi File Tabel Nilai
No Elemen Data Nama Field Type Size Keterangan
1 Id Nilai id_nilai Int 11 Primary key
2 Id rombel id_rombel Int 11
3 Id Kurikulum id_kurikulum Int 11
4 nilai Nilai Decimal 4,2
5 Remidi Remidi Decimal 4,2
6 Tanggal Tgl Datetime
7 Time Time Timestamp
8 Id pegawai id_pegawai Tinyint 4
9 Semester Semester Tinyint 2
10 Ulangan ke Ulanganke Tinyint 4
11 Jenis Jenis Enum -
h. Spesifikasi Tabel Kurikulum
Nama database : siakadsmk1
Nama File : kurikulum
Akronim : kurikulum
Tipe File : File Master
Akses File : Random
Panjang Record : 131 Byte
Kunci Field : id_kurikulum
Tabel IV.16.
Spesifikasi File Tabel Kurikulum
No Elemen Data Nama Field Type Size Keterangan
1 Parent parent Int 11
2 Id Kurikulum id_kurikulum Int 11 Primary key
3 Nama nama Varchar 100
4 Id jurusan id_jurusan Tinyint 2
5 Urutan urutan Tinyint 3
6 Tahun tahun Int 4
59
i. Spesifikasi Tabel KKM
Nama database : siakadsmk1
Nama File : KKM
Akronim : kkm
Tipe File : transaksi
Akses File : Random
Panjang Record : 41 Byte
Kunci Field : id
Tabel IV.17.
Spesifikasi File Tabel KKM
No Elemen Data Nama Field Type Size Keterangan
1 Id KKM id_kkm Int 11 Primary key
2 Id Kurikulum id_kurikulum Int 11
3 Tahun tahun Int 4
4 KKM kkm Decimal 15,2
j. Spesifikasi Tabel Pegawai
Nama database : siakadsmk1
Nama File : Pegawai
Akronim : pegawai
Tipe File : File Master
Akses File : Random
Panjang Record : 904 Byte
Kunci Field : id_pegawai
60
Tabel IV.18.
Spesifikasi File Tabel Pegawai
No Elemen Data Nama Field Type Size Keterangan
1 Id Pegawai Id_pegawai Tinyint 4 Primary key
2 Nama lengkap nama_lengkap Varchar 50
3 Status pegawai status_pegawai Varchar 5
4 Nuptk Nuptk Varchar 50
5 Jabatan Jabatan Varchar 50
6 Tahun masuk tahun_masuk Date
7 Id mapel id_mapel Varchar 50
8 Nama pendidikan nama_pendidikan Varchar 50
9 Tahun lulus pendidikan Tahun_lulus_pendidikan Double
10 Tingkat pendidikan tingkat_pendidikan Varchar 50
11 Jurusan pendidikan jurusan_pendidikan Varchar 50
12 Tempat lahir tempat_lahir Varchar 50
13 Tanggal lahir tgl_lahir Date
14 Jenis kelamin Jk Varchar 50
15 Agama Agama Varchar 30
16 Tanggal keluar tgl_keluar Date
17 Alamat Alamat Varchar 200
18 No telephone no_tlp Varchar 15
19 foto Foto Varchar 200
20 Status aktif status_aktif Enum
k. Spesifikasi Tabel Siswa
Nama database : siakadsmk1
Nama File : Siswa
Akronim : siswa
Tipe File : transaksi
Akses File : Random
Panjang Record : 2267 Byte
Kunci Field : nis
61
Tabel IV.19.
Spesifikasi File Tabel Siswa
No Elemen Data Nama Field Type Size Keterangan
1 Nis Nis Int 11 Primary key
2 Nisn nisn Int 11
3 Nama nama Varchar 255
4 Jenis kelamin Jk Varchar 255
5 Tempat lahir tempat_lahir Varchar 255
6 Tanggal lahir tgl_lahir Date
7 Agama agama Varchar 255
8 Orangtua wali org_tua_wali Varchar 255
9 Alamat wali alamat_wali Varchar 255
10 Kecamatan kecamatan Varchar 255
11 No STTB no_sttb Varchar 255
12 Tahun STTB tahun_sttb Int 11
13 Foto foto Varchar 100
14 Status status enum
15 Tahun masuk tahun_masuk Smallint 4
16 Password password Varchar 40
17 Email email Varchar 50
l. Spesifikasi Tabel Relasi Kelas Wakel
Nama database : siakadsmk1
Nama File : Relasi Kelas Walikelas
Akronim : relasi_kelas_wakel
Tipe File : File transaksi
Akses File : Random
Panjang Record : 21 Byte
Kunci Field : id_relasi_kelas_walikelas
Tabel IV.20.
Spesifikasi File Tabel Relasi Kelas Walikelas
No Elemen Data Nama Field Type Size Keterangan
1 Id Relasi Walikelas id_relasi_kelas_walikelas Int 11 Primary key
2 Id Pegawai id_pegawai Tinyint 4
3 Id kelas Detail id_kelas_d Tinyint 2
4 Tahun Tahun Smallint 4
62
4.2.2. Software Architecture
A. Class Diagram
Gambar IV.14
Class Diagram Sistem Informasi Akademik
class Controllers
CI_Controller
Jurusan
+ __construct() : var
+ add() : var
+ create() : var
+ delete(var) : var
+ edit(var) : var
+ get_data() : var
+ getList() : var
+ index() : var
+ update() : var
CI_Controller
Kkm
+ __construct() : var
+ getList(var) : var
+ index() : var
+ insert_kkm() : var
CI_Controller
Kurikulum_jurusan
+ __construct() : var
+ add() : var
+ create() : var
+ delete(var) : var
+ edit(var) : var
+ get_data() : var
+ getList(var) : var
+ index() : var
+ insert_relasi_kelas() : var
+ update() : var
CI_Controller
Guru
+ __construct() : var
+ add(var) : var
+ getList(var) : var
+ index() : var
+ insert() : var
CI_Controller
Kelas
+ __construct() : var
+ add() : var
+ create() : var
+ delete(var) : var
+ edit(var) : var
+ get_data() : var
+ getList() : var
+ index() : var
+ update() : var
CI_Controller
Kelasd
+ __construct() : var
+ add() : var
+ create() : var
+ delete(var) : var
+ edit(var) : var
+ get_data() : var
+ getList() : var
+ index() : var
+ update() : var
CI_Controller
Rombel
+ __construct() : var
+ add(var) : var
+ getList(var) : var
+ index() : var
+ insert() : var
CI_Controller
Siswa
+ __construct() : var
+ add() : var
+ create() : var
+ delete(var) : var
+ edit(var) : var
+ get_data() : var
+ getList() : var
+ index() : var
+ update() : var
CI_Controller
Walikelas
+ __construct() : var
+ getList(var) : var
+ index() : var
+ insert() : var
CI_Controller
Tugas
+ __construct() : var
+ getList(var, var, var) : var
+ index() : var
+ insert() : var
CI_Controller
Uas
+ __construct() : var
+ add(var, var) : var
+ getList(var, var, var) : var
+ index() : var
+ insert() : var
CI_Controller
Ulangan_harian
+ __construct() : var
+ getList(var, var, var) : var
+ index() : var
+ insert() : var
CI_Controller
Uts
+ __construct() : var
+ add(var, var) : var
+ getList(var, var, var) : var
+ index() : var
+ insert() : var
1..*
Memiliki
1..*
1
Memiliki
1
1..*
Mengelola
1..*
1..*
Mengelola
1..*
1
Terdiri dari
1..*1..*
Terdiri dari
1
1..*
Memiliki
1..*
1..*
Memiliki
1..*
1..*
Memiliki
1..*
1..*
Memiliki1..*
1..*
Memiliki
1
1..*
Memiliki
1
1..*
Mengelola
1..*
1..*
Mengelola
1..*
1..*
Memiliki
1..*
1..*
Memiliki
1..*
1..*Memiliki
1..*
1..*
Memiliki
1..*
63
B. Sequence Diagram
a. Sequence Diagram Tambah Jurusan
Gambar IV.15
Sequence Diagram Tambah Jurusan
sd add
Tata Usaha
Halaman Admin Daftar Jurusan Form Jurusan Jurusan:Jurusan Crud_m:Crud_m Jurusan:Jurusan_m
Memilih Menu Jurusan()
getlist()
getdata(config) getdata(where, order, l imit)
l istdata()
listdata()
listdata()
listdata()
klik Icon Add()
Add()
loadform()
tampilanform()
isi data()
Klik Tombol Simpan()
Create()
Insert(tabel, inputdata)
insertdata() :boolean
getlist()
l istdata()
listdata()
64
b. Sequence Diagram Perbaiki Jurusan
Gambar IV.16
Sequence Diagram Perbaiki Jurusan
sd edit
Tata Usaha
Halaman Admin Daftar Jurusan Form Jurusan Jurusan:Jurusan Crud_m:Crud_m Jurusan:Jurusan_m
Memilih Menu Jurusan()
getlist()
getdata(config)getdata(where, order, l imit)
l istdata()
listdata()
listdata()
listdata()
klik Icon Edit()
Edit(id)
getlistbyid(id)
dataform()
loadform()
tampilanform()
perbaikidata()
Klik Tombol Simpan()
Update()
Update(tabel, updatedata, where)
updatedata() :boolean
getlist()
l istdata()
listdata()
65
c. Sequence Diagram Hapus Jurusan
Gambar IV.17
Sequence Diagram Hapus Jurusan
sd delete
Tata Usaha
Halaman Admin Daftar Jurusan Form Jurusan Jurusan:Jurusan Crud_m:Crud_m Jurusan:Jurusan_m
Memilih Menu Jurusan()
getlist()
getdata(config)getdata(where, order, l imit)
l istdata()
listdata()
listdata()
listdata()
klik Icon Delete()
delete(id)
delete(tabel, where)
deletedata() :boolean
getlist()
l istdata()
listdata()
66
d. Sequence Diagram Tambah Kurikulum Jurusan
Gambar IV.18
Sequence Diagram Tambah Kurikulum Jurusan
sd add
Tata Usaha
Halaman Admin Daftar Kurikulum
Jurusan
Form Kurikulum
Jurusan
kurikulum_jurusan:
kurikulum_jurusan
kurikulum_Jurusan:
kurikulum_Jurusan_m
jurusan:jurusan_m kelas_m:kelas_m
Memilih Menu Kurikullum Jurusan()
getlist(id_jurusan)
getlist()
datajurusan()
getlist(id_jurusan)
datakelas()
getlist(id_jurusan)
data kurikulum()
get_r_kurikulum_kelas(id_jurusan)
data relasi kuriukulum kelas()
listdata()listdata()
klik Icon Add()
Add()
getkelompok(id_jurusan)
data kelompok kurikulum()loadform()
tampilanform()
isi data()
Klik Tombol Simpan()Create()
getlist(id_jurusan)
listdata()
listdata()
67
e. Sequence Diagram Perbaiki Kurikulum Jurusan
Gambar IV.19
Sequence Diagram Perbaiki Kurikulum Jurusan
sd edit
Tata Usaha
Halaman Admin Daftar Kurikulum
Jurusan
Form Kurikulum
Jurusan
kurikulum_jurusan:
kurikulum_jurusan
kurikulum_Jurusan:
kurikulum_Jurusan_m
jurusan:jurusan_m kelas_m:kelas_m
Memilih Menu Kurikulum Jurusan()
getlist(id_jurusan)
getlist()
data jurusan()
getlist(id_jurusan)
data kelas()
getlist(id_jurusan)
data kurikulum()
get_r_kurikulum_kelas(id_jurusan)
data relasi kurikulum kelas()
l istdata()
l istdata()
klik Icon Edit()
Edit(id)
getkelompok(id_jurusan)
data kelompok kurikulum()
loadform()
tampilanform()
perbaiki data()
Klik Tombol Simpan()
Update()
getlist(id_jurusan)
listdata()
l istdata()
68
f. Sequence Diagram Hapus Kurikulum Jurusan
Gambar IV.20
Sequence Diagram Hapus Kurikulum Jurusan
sd delete
Tata Usaha
Halaman Admin Daftar Kurikulum
Jurusan
Form Kurikulum
Jurusan
kurikulum_jurusan:
kurikulum_jurusan
kurikulum_Jurusan:
kurikulum_Jurusan_m
jurusan:jurusan_m kelas_m:kelas_m
Memilih Menu Kurikulum Jurusan()
getl ist(id_jurusan)
getlist()
data jurusan()
getl ist(id_jurusan)
data kelas()
getl ist(id_jurusan)
data kurikulum()
get_r_kurikulum_kelas(id_jurusan)
data relasi kurikulum kelas()
l istdata()
l istdata()
klik Icon delete()
delete(id)
getl ist(id_jurusan)
listdata()
l istdata()
69
g. Sequence Diagram Pengaturan KKM
Gambar IV.21
Sequence Diagram Pengaturan KKM
sd pengaturan
Tata Usaha
Halaman Admin Form KKM kkm:kkm kurikulum_Jurusan:
kurikulum_Jurusan_m
jurusan:jurusan_m kelas_m:kelas_m
Memilih Menu KKM()
getlist(id_jurusan)
getlist()
data jurusan()
getl ist(id_jurusan)
data kelas()
getl ist(id_jurusan)
data kurikulum()
get_r_kurikulum_kelas(id_jurusan)
data relasi kurikulum kelas()
l istdata()
l istdata()
atur kkm()
Simpan pengaturan KKM()
insert kkm()
getl ist(id_jurusan)
listdata()
l istdata()
70
h. Sequence Diagram Tambah Kelas
Gambar IV.22
Sequence Diagram Tambah Kelas
sd add
Tata Usaha
Halaman Admin Daftar Kelas Form Kelas kelasd:kelasd Crud_m:Crud_m Kelasd_m:
Kelasd_m
Memilih Menu Kelas()
getlist()
getdata(config) getdata(where, order, l imit)
l istdata()
listdata()
listdata()
listdata()
klik Icon Add()
Add()
loadform()
tampilanform()
isi data()
Klik Tombol Simpan()
Create()
Insert(tabel, inputdata)
insertdata() :boolean
getlist()
l istdata()
listdata()
71
i. Sequence Diagram Perbaiki Kelas
Gambar IV.23
Sequence Diagram Perbaiki Kelas
sd edit
Tata Usaha
Halaman Admin Daftar Kelas Form Kelas kelasd:kelasd Crud_m:Crud_m Kelasd_m:
Kelasd_m
Memilih Menu Kelas()
getlist()
getdata(config) getdata(where, order, l imit)
l istdata()
listdata()
listdata()
listdata()
klik Icon Edit(id)
Edit(id)
loadform()
tampilanform()
Perbaiki data()
Klik Tombol Simpan()
Update()
Update(tabel, updatedata, where)
updatedata() :boolean
getlist()
l istdata()
listdata()
72
j. Sequence Diagram Hapus Kelas
Gambar IV.24
Sequence Diagram Hapus Kelas
sd delete
Tata Usaha
Halaman Admin Daftar Kelas kelasd:kelasd Crud_m:Crud_m Kelasd_m:
Kelasd_m
Memilih Menu Kelas()
getlist()
getdata(config) getdata(where, order, l imit)
l istdata()
listdata()
listdata()
listdata()
klik Icon delete(id)
delete(id)
delete(tabel, where)
deletedata() :boolean
getlist()
l istdata()
listdata()
73
k. Sequence Diagram Pengaturan Wali Kelas
Gambar IV.25
Sequence Diagram Pengaturan Wali Kelas
sd pengaturan
Tata Usaha
Halaman Admin Form Pengaturan
Wali Kelas
Walikelas : Walikelas pegawai : pegawaijurusan:jurusan_m kelas_d:kelas_d
Memilih Menu Walikelas()
getlist(id_jurusan)
getlist()
data jurusan()
getlist()
data pegawai()
getwalikelas(id_jurusan)
data walikelas()
listdata()
listdata()
atur walikelas()
Simpan pengaturan Walikelas()
insert()
getlist(id_jurusan)
listdata()
listdata()
74
l. Sequence Diagram Pengaturan Guru Pembimbing
Gambar IV.26
Sequence Diagram Pengaturan Guru Pembimbing
sd pengaturan
Tata Usaha
(from walikelas)
Halaman Admin Form Pengaturan
Guru
Pembimbing
Walikelas : Walikelas pegawai : pegawaijurusan:jurusan_m kelas_d:kelas_d
Memilih Menu Walikelas()
getlist(id_jurusan)
getlist()
data jurusan()
getlist(id_jurusan)
data kelas()
l istdata()
l istdata()
klik tombol pengaturan()
add()
getlistbyid(id_kelas)
datakelas()
getlistbyid(id_jurusan)
datajurusan()
getgurupembimbing(id_kelas, tahun)
data guru pembimbing()
getlist()
data pegawai()
l istdata guru pembimbing()
l istdata guru pembimbing()
atur data guru pembimbing()
Simpan pengaturan guru pembimbing()
insert()
getlist(id_jurusan)
listdata()
l istdata()
75
m. Sequence Diagram Tambah Siswa
Gambar IV.27
Sequence Diagram Tambah Siswa
sd add
Tata Usaha
(from kelas)
Halaman Admin Daftar Siswa Form Siswa siswa : siswa Crud_m:Crud_m siswa : siswa_m
Memilih Menu Siswa()
getlist()
getdata(config) getdata(where, order, l imit)
l istdata()
listdata()
listdata()
listdata()
klik Icon Add()
Add()
loadform()
tampilanform()
isi data()
Klik Tombol Simpan()
Create()
Insert(tabel, inputdata)
insertdata() :boolean
getlist()
l istdata()
listdata()
76
n. Sequence Diagram Perbaiki Siswa
Gambar IV.28
Sequence Diagram Perbaiki Siswa
sd edit
Tata Usaha
Halaman Admin Daftar Siswa Form Siswa siswa : siswa Crud_m:Crud_m siswa : siswa_m
Memilih Menu Siswa()
getlist()
getdata(config) getdata(where, order, l imit)
l istdata()
listdata()
listdata()
listdata()
klik Icon Edit(id)
Edit(id)
loadform()
tampilanform()
Perbaiki data()
Klik Tombol Simpan()
Update()
Update(tabel, updatedata, where)
updatedata() :boolean
getlist()
l istdata()
listdata()
77
o. Sequence Diagram Hapus Siswa
Gambar IV.29
Sequence Diagram Hapus
sd delete
Tata Usaha
Halaman Admin Daftar Siswa siswa : siswa Crud_m:Crud_m siswa : siswa_m
Memilih Menu Siswa()
getlist()
getdata(config) getdata(where, order, l imit)
l istdata()
listdata()
listdata()
listdata()
klik Icon delete(id)
delete(id)
delete(tabel, where)
deletedata() :boolean
getlist()
l istdata()
listdata()
78
p. Sequence Diagram Pengaturan Rombel
Gambar IV.30
Sequence Diagram Pengaturan Rombel
sd pengaturan
Tata Usaha
Halaman Admin Form Pengaturan
Rombel
rombel : rombel siswa : siswa_mjurusan:jurusan_m kelas_d:kelas_d
Memilih Menu rombel()
getlist(id_jurusan)
getlist()
data jurusan()
getlist(id_jurusan)
data kelas()
l istdata()
l istdata()
klik tombol pengaturan()
add()
getlistbyid(id_jurusan)
data kelas()
getlist(id_jurusan)
data jurusan()
gerombel(id_kelas, tahun)
data siswa rombel()
getlistrombel(tahun, kelas)
data siswa()
listdata rombel()
l istdata rombel()
atur data rombel()
Simpan pengaturan rombel()
insert()
getlist(id_jurusan)
listdata()
l istdata()
79
q. Sequence Diagram Input Nilai Tugas
Gambar IV.31
Sequence Diagram Input Nilai Tugas
sd TUGAS
Guru Pembimbing
Form Nilai TugasHalaman Admin tugas:tugas kelasd:kelasd_m nilai:nilai_m
Memilih Menu Nilai Tugas()
getlist(id_kelas, id_mapel, semester)
getgurumapel(id_gurumapel, tahun)
listgurukelas()
getgurumapel(id_gurumapel, id_kelas, tahun)
listgurumapel()
getListtugas(id_kelas, id_mapel, semester)
listtugas()
listdata()
listdata()
input nilai tugas()
Simpan()
insert()
inserttugas()
insert() :boolean
getlist(id_kelas, id_mapel, semester)
listdata()
listdata()
80
r. Sequence Diagram Input Nilai UH
Gambar IV.32
Sequence Diagram Input Nilai UH
sd UH
Guru Pembimbing
Form Nilai UHHalaman Admin ulangan_harian :
ulangan_harian
kelasd:kelasd_m nilai:nilai_m kkm : kkm_m
Memilih Menu UH()
getlist(id_kelas, id_mapel, semester)
getgurumapel(id_gurumapel, tahun)
listgurukelas()
getgurumapel(id_gurumapel, id_kelas, tahun)
listgurumapel()
getListUH(id_kelas, id_mapel, semester)
listuh()
getlistbyid(id_mapel, tahun)
data kkm()
listdata()
listdata()
input nilai UH()
Simpan()
insert()
insertniluh()
insert() :boolean
getlist(id_kelas, id_mapel, semester)
listdata()
listdata()
81
s. Sequence Diagram Input Nilai UTS
Gambar IV.33
Sequence Diagram Input Nilai UTS
sd UTS
Wali Kelas
Form Nilai UTSHalaman Admin Uts: Uts kelasd:kelasd_m nilai:nilai_m kkm : kkm_m
Memilih Menu UTS()
getlist(id_kelas, id_mapel, semester)
getgurumapel(id_gurumapel, tahun)
listgurukelas()
getgurumapel(id_gurumapel, id_kelas, tahun)
listgurumapel()
getListUH(id_kelas, id_mapel, semester)
listuh()
getlistbyid(id_mapel, tahun)
data kkm()
listdata()
listdata()
input nilai UTS()
Simpan()
insert()
insertnilujian()
insert() :boolean
getlist(id_kelas, id_mapel, semester)
listdata()
listdata()
82
t. Sequence Diagram Input Nilai UAS
Gambar IV.34
Sequence Diagram Input Nilai UAS
sd UAS
Wali Kelas
Form Nilai UASHalaman Admin Uas : Uas kelasd:kelasd_m kkm : kkm_mnilai:nilai_m
Memilih Menu UAS()
getlist(id_kelas, id_mapel, semester)
getgurumapel(id_gurumapel, tahun)
listgurukelas()
getgurumapel(id_gurumapel, id_kelas, tahun)
listgurumapel()
getListUH(id_kelas, id_mapel, semester)
listuh()
getlistbyid(id_mapel, tahun)
listdata()
listdata()
data kkm()
input nilai UAS()
Simpan()
insert()
insertnilujian()
insert() :boolean
getlist(id_kelas, id_mapel, semester)
listdata()
listdata()
83
C. Component Diagram
Component Diagram menggambarkan struktur dan hubungan antar
komponen piranti lunak, termasuk ketergantungan diantaranya. Component
Diagram juga dapat berupa interface yang berupa kumpulan layanan yang
disediakan oleh komponen untuk komponen lainnya.
Gambar IV.35
Component Diagram Sistem Informasi Akademik
84
D. Deployment Diagram
Gambar IV.36
Deployment Diagram Sistem Informasi Akademik
85
4.2.3. User Interface
Gambar IV.37
Tampilan Login Siswa
86
Gambar IV.38
Tampilan Biodata Siswa
87
Gambar IV.39
Tampilan Nilai UTS
88
Gambar IV.40
Tampilan Nilai UAS
89
Gambar IV.41
Tampilan Jurusan
Gambar IV.42
Tampilan Kurikulum Jurusan
90
Gambar IV.43
Tampilan KKM
Gambar IV.44
Tampilan Kelas
91
Gambar IV.45
Tampilan Wali Kelas
Gambar IV.46
Tampilan Guru Pembimbing
92
Gambar IV.47
Tampilan Biodata Siswa
93
Gambar IV.48
Tampilan Rombel
94
Gambar IV.49
Tampilan Nilai Tugas
95
Gambar IV.50
Tampilan Nilai UH
96
Gambar IV.51
Tampilan Nilai UTS
97
Gambar IV.52
Tampilan Nilai UAS
4.3. Code Generation
A. Class Jurusan
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Jurusan extends CI_Controller {
function __construct() {
parent::__construct();
$this->privileges->is_allowed_menu(22);
$this->load->model('kurikulum/jurusan_m', 'jurusan');
$this->load->helper('meta_box');
}
function index() {
$this->getList();
98
}
public function getList() {
$this->privileges->is_allowed_menu(19);
$data['content'] = 'kurikulum/jurusan/list';
$this->load->view('template', $data);
}
function get_data() {
$configs = array(
'id' => 'id',
'aColumns' => array('inisial', 'nama_jurusan','program_keahlian','bidang_keahlian'),
'datamodel' => 'kurikulum/jurusan_m',
'actiontable' => array(
'edit' => array(
'href' => 'kurikulum/jurusan/edit',
'label' => "<i class='glyphicon glyphicon-pencil'></i>",
'title' => 'Ubah Data'
),
'delete' => array(
'href' => 'kurikulum/jurusan/delete',
'label' => "<i class='glyphicon glyphicon-remove-circle'></i>",
'title' => 'Delete',
'onclick' => 'return deleteData()'
)
)
);
echo $this->crud_m->get_data($configs);
}
function add() {
$data['content'] = 'kurikulum/jurusan/add';
$this->load->view('template', $data);
}
function edit($id = '') {
$data['content'] = 'kurikulum/jurusan/edit';
$data['rowedit'] = $this->jurusan->getListByid($id);
$this->load->view('template', $data);
}
public function create() {
$post = $this->securepost->postMethod();
$insertData = $this->crud_m->insert('jurusan', $post);
if ($insertData) {
echo $this->fungsi->warning('Data telah tersimpan', base_url('kurikulum/jurusan'));
} else {
$error = $this->crud_m->result($insertData);
echo $this->fungsi->warning($error['message'], base_url('kurikulum/jurusan'));
}
}
function update() {
$post = $this->securepost->postMethod();
$updateData = $this->crud_m->update('jurusan', $post, array('id' => $post['id']));
if ($updateData) {
echo $this->fungsi->warning('Data telah tersimpan', base_url('kurikulum/jurusan'));
} else {
99
$error = $this->crud_m->result($updateData);
echo $this->fungsi->warning($error['message'], base_url('kurikulum/jurusan'));
}
}
function delete($id = '') {
return;
$deleteData = $this->crud_m->delete('jurusan', array('id' => $id));
if ($deleteData) {
echo $this->fungsi->warning('Data telah terhapus', base_url('kurikulum/jurusan'));
} else {
$error = $this->crud_m->result($deleteData);
echo $this->fungsi->warning($error['error'], base_url('kurikulum/jurusan'));
}
}
}
?>
B. Class Kurikulum Jurusan
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Kurikulum_jurusan extends CI_Controller {
function __construct() {
parent::__construct();
$this->privileges->is_allowed_menu(26);
$this->load->model('kurikulum/kurikulum_jurusan_m', 'kurikulum_jurusan');
$this->load->model('kurikulum/jurusan_m', 'jurusan');
$this->load->model('pendidikan/kelas_m', 'kelas_m');
$this->load->helper('meta_box');
}
function index() {
$this->getList();
}
public function getList($id_jurusan = 0) {
$data['content'] = 'kurikulum/kurikulum_jurusan/list';
$sessiondata = array(
SESS_PREFIK . 'tahun' => $this->input->post('tahun'),
SESS_PREFIK . 'id_jurusan' => ($id_jurusan) ? $id_jurusan : $this->input-
>post('id_jurusan'),
);
$sessiondata[SESS_PREFIK . 'tahun'] = ($sessiondata[SESS_PREFIK . 'tahun']) ?
$sessiondata[SESS_PREFIK . 'tahun'] : $this->config->item('tahun');
$this->session->set_userdata($sessiondata);
$data['listtabel'] = $this->kurikulum_jurusan->getList($this->session-
>userdata(SESS_PREFIK . 'id_jurusan'));
$data['jurusan'] = $this->jurusan->getList();
$data['kelas_m'] = $this->kelas_m->getList($this->session->userdata(SESS_PREFIK .
'id_jurusan'));
$data['r_kurikulum_kelas'] = $this->kurikulum_jurusan->get_r_kurikulum_kelas($this-
>session->userdata(SESS_PREFIK . 'id_jurusan'));
$this->load->view('template', $data);
}
function add() {
$data['content'] = 'kurikulum/kurikulum_jurusan/add';
100
$data['kelompok'] = $this->kurikulum_jurusan->getkelompok($this->session-
>userdata(SESS_PREFIK . 'id_jurusan'));
$this->load->view('template', $data);
}
function edit($id = '') {
$data['content'] = 'kurikulum/kurikulum_jurusan/edit';
$data['kelompok'] = $this->kurikulum_jurusan->getkelompok($this->session-
>userdata(SESS_PREFIK . 'id_jurusan'));
//$data['query'] = $this->db->last_query();
$data['rowedit'] = $this->kurikulum_jurusan->getListByid($id);
$this->load->view('template', $data);
}
public function create() {
$post = $this->securepost->postMethod();
$insertData = $this->crud_m->insert('kurikulum', $post);
if ($insertData) {
echo $this->fungsi->warning('Data telah tersimpan',
base_url('kurikulum/kurikulum_jurusan/getList/' . $this->session->userdata(SESS_PREFIK .
'id_jurusan')));
} else {
$error = $this->crud_m->result($insertData);
echo $this->fungsi->warning($error['message'],
base_url('kurikulum/kurikulum_jurusan/getList/' . $this->session->userdata(SESS_PREFIK .
'id_jurusan')));
}
}
function insert_relasi_kelas() {
$postKur = $this->input->post('r_kuikulum_kelas');
if ($postKur) {
foreach ($postKur as $key => $val) {
$this->crud_m->delete('relasi_kurikulum_kelas', array('id_kelas_m' => $key));
$data_relasi['id_kelas_m'] = $key;
foreach ($val as $id_kurikulum => $value) {
$data_relasi['id_kurikulum'] = $id_kurikulum;
$insertData = $this->crud_m->insert('relasi_kurikulum_kelas', $data_relasi);
}
}
echo $this->fungsi->warning('Data telah tersimpan',
base_url('kurikulum/kurikulum_jurusan/getList/' . $this->session->userdata(SESS_PREFIK .
'id_jurusan')));
}else{
echo $this->fungsi->warning('Tidak ada data terpilih',
base_url('kurikulum/kurikulum_jurusan/getList/' . $this->session->userdata(SESS_PREFIK .
'id_jurusan')));
}
}
function update() {
$post = $this->securepost->postMethod();
$updateData = $this->crud_m->update('kurikulum', $post, array('id' => $post['id']));
if ($updateData) {
echo $this->fungsi->warning('Data telah tersimpan',
base_url('kurikulum/kurikulum_jurusan/getList/' . $this->session->userdata(SESS_PREFIK .
'id_jurusan')));
} else {
$error = $this->crud_m->result($updateData);
echo $this->fungsi->warning($error['message'],
base_url('kurikulum/kurikulum_jurusan/getList/' . $this->session->userdata(SESS_PREFIK .
'id_jurusan')));
101
}
}
function delete($id = '') {
$updateData = $this->crud_m->delete('kurikulum', array('id' => $id));
if ($updateData) {
echo $this->fungsi->warning('Data telah terhapus',
base_url('kurikulum/kurikulum_jurusan/getList/' . $this->session->userdata(SESS_PREFIK .
'id_jurusan')));
} else {
$error = $this->crud_m->result($updateData);
echo $this->fungsi->warning($error['message'],
base_url('kurikulum/kurikulum_jurusan/getList/' . $this->session->userdata(SESS_PREFIK .
'id_jurusan')));
}
}
}
?>
C. Class KKM
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Kkm extends CI_Controller {
function __construct() {
parent::__construct();
$this->privileges->is_allowed_menu(36);
$this->load->model('kurikulum/kurikulum_jurusan_m', 'kurikulum_jurusan');
$this->load->model('kurikulum/jurusan_m', 'jurusan');
$this->load->model('pendidikan/kelas_m', 'kelas_m');
$this->load->model('kurikulum/kkm_m', 'kkm');
}
function index() {
$this->getList();
}
public function getList($id_jurusan = 0) {
$data['content'] = 'kurikulum/kkm/list';
$sessiondata = array(
SESS_PREFIK . 'tahun' => $this->input->post('tahun'),
SESS_PREFIK . 'id_jurusan' => ($id_jurusan) ? $id_jurusan : $this->input-
>post('id_jurusan'),
);
$sessiondata[SESS_PREFIK . 'tahun'] = ($sessiondata[SESS_PREFIK . 'tahun']) ?
$sessiondata[SESS_PREFIK . 'tahun'] : $this->config->item('tahun');
$this->session->set_userdata($sessiondata);
$data['listtabel'] = $this->kurikulum_jurusan->getList($this->session-
>userdata(SESS_PREFIK . 'id_jurusan'));
$data['jurusan'] = $this->jurusan->getList();
$data['kelas_m'] = $this->kelas_m->getList($this->session->userdata(SESS_PREFIK .
'id_jurusan'));
$data['listkkm'] = $this->kkm->getList($this->session->userdata(SESS_PREFIK .
'id_jurusan'));
102
$this->load->view('template', $data);
}
function insert_kkm() {
$postkkm = $this->input->post('r_kkm');
if ($postkkm) {
$delete = $this->db->query("DELETE FROM kkm WHERE id_mapel IN (SELECT id
FROM kurikulum
WHERE id_jurusan='{$this->session->userdata(SESS_PREFIK .
'id_jurusan')}')");
if ($delete) {
foreach ($postkkm as $id_mapel => $kkm) {
$data_relasi[] = array(
'tahun' => $this->session->userdata(SESS_PREFIK . 'tahun'),
'kkm' => $kkm,
'id_mapel' => $id_mapel
);
}
}else{
echo "DELETE FROM kkm WHERE id_mapel IN (SELECT id FROM kurikulum
WHERE id_jurusan='{$this->session->userdata(SESS_PREFIK .
'id_jurusan')}')";
}
$insertData = $this->db->insert_batch('kkm', $data_relasi);
echo $this->fungsi->warning('Data telah tersimpan', base_url('kurikulum/kkm/getList/' .
$this->session->userdata(SESS_PREFIK . 'id_jurusan')));
} else {
echo $this->fungsi->warning('Tidak ada data terpilih', base_url('kurikulum/kkm/getList/' .
$this->session->userdata(SESS_PREFIK . 'id_jurusan')));
}
}
}
?>
103
D. Class Kelas
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Kelas extends CI_Controller {
function __construct() {
parent::__construct();
$this->privileges->is_allowed_menu(27);
$this->load->model('pendidikan/kelas_m', 'kelas');
$this->load->model('kurikulum/jurusan_m', 'jurusan');
}
function index() {
$this->getList();
}
public function getList() {
$data['content'] = 'pendidikan/kelas/list';
$data['listtabel'] = $this->kelas->getList();
$this->load->view('template', $data);
}
function get_data() {
$configs = array(
'id' => 'id',
'aColumns' => array('nama_kelas', 'inisial'),
'datamodel' => 'pendidikan/kelas_m',
'actiontable' => array(
'edit' => array(
'href' => 'pendidikan/kelas/edit',
'label' => "<i class='glyphicon glyphicon-pencil'></i>",
'title' => 'Ubah Data'
),
'delete' => array(
'href' => 'pendidikan/kelas/delete',
'label' => "<i class='glyphicon glyphicon-remove-circle'></i>",
'title' => 'Blokir',
'onclick' => 'return deleteData()'
)
)
);
echo $this->crud_m->get_data($configs);
}
function add() {
$data['content'] = 'pendidikan/kelas/add';
$data['jurusan'] = $this->jurusan->getlist();
$this->load->view('template', $data);
}
function edit($id = '') {
$data['content'] = 'pendidikan/kelas/edit';
$data['rowedit'] = $this->kelas->getListByid($id);
$data['jurusan'] = $this->jurusan->getlist();
$this->load->view('template', $data);
}
public function create() {
$post = $this->securepost->postMethod();
$insertData = $this->crud_m->insert('kelas_m', $post);
if ($insertData) {
echo $this->fungsi->warning('Data telah tersimpan', base_url('pendidikan/kelas'));
} else {
$error = $this->crud_m->result($insertData);
104
echo $this->fungsi->warning($error['message'], base_url('pendidikan/kelas'));
}
}
function update() {
$post = $this->securepost->postMethod();
$updateData = $this->crud_m->update('kelas_m', $post, array('id' => $post['id']));
if ($updateData) {
echo $this->fungsi->warning('Data telah tersimpan', base_url('pendidikan/kelas'));
} else {
$error = $this->crud_m->result($updateData);
echo $this->fungsi->warning($error['message'], base_url('pendidikan/kelas'));
}
}
function delete($id = '') {
$delete = $this->crud_m->delete('kelas_m',array('id' => $id));
if ($delete) {
echo $this->fungsi->warning('Data telah terhapus', base_url('pendidikan/kelas'));
} else {
$error = $this->crud_m->result($updateData);
echo $this->fungsi->warning($error['message'], base_url('pendidikan/kelas'));
}
}
}
?>
Class Kelasd <?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Kelasd extends CI_Controller {
function __construct() {
parent::__construct();
$this->privileges->is_allowed_menu(27);
$this->load->model('pendidikan/kelasd_m', 'kelasd');
$this->load->model('pendidikan/kelas_m', 'kelasm');
$this->load->model('menu_m', 'menu');
}
function index() {
$this->getList();
}
public function getList() {
$data['content'] = 'pendidikan/kelasd/list';
$data['listtabel'] = $this->kelasd->getList();
$this->load->view('template', $data);
}
function get_data() {
$configs = array(
'id' => 'id',
'aColumns' => array('nama_kelas','nama', 'ruang'),
'datamodel' => 'pendidikan/kelasd_m',
'actiontable' => array(
'edit' => array(
'href' => 'pendidikan/kelasd/edit',
'label' => "<i class='glyphicon glyphicon-pencil'></i>",
'title' => 'Ubah Data'
),
'delete' => array(
105
'href' => 'pendidikan/kelasd/delete',
'label' => "<i class='glyphicon glyphicon-remove-circle'></i>",
'title' => 'Blokir',
'onclick' => 'return deleteData()'
)
)
);
echo $this->crud_m->get_data($configs);
}
function add() {
$data['content'] = 'pendidikan/kelasd/add';
$data['masterkelas'] = $this->kelasm->getlist();
$this->load->view('template', $data);
}
function edit($id = '') {
$data['content'] = 'pendidikan/kelasd/edit';
$data['rowedit'] = $this->kelasd->getListByid($id);
$data['masterkelas'] = $this->kelasm->getlist();
$this->load->view('template', $data);
}
public function create() {
$post = $this->securepost->postMethod();
$insertData = $this->crud_m->insert('kelas_d', $post);
if ($insertData) {
echo $this->fungsi->warning('Data telah tersimpan', base_url('pendidikan/kelas'));
} else {
$error = $this->crud_m->result($insertData);
echo $this->fungsi->warning($error['message'], base_url('pendidikan/kelas'));
}
}
function update() {
$post = $this->securepost->postMethod();
$updateData = $this->crud_m->update('kelas_d', $post, array('id' => $post['id']));
if ($updateData) {
echo $this->fungsi->warning('Data telah tersimpan', base_url('pendidikan/kelas'));
} else {
$error = $this->crud_m->result($updateData);
echo $this->fungsi->warning($error['message'], base_url('pendidikan/kelas'));
}
}
function delete($id = '') {
$delete = $this->crud_m->delete('kelas_d',array('id' => $id));
if ($delete) {
echo $this->fungsi->warning('Data telah terhapus', base_url('pendidikan/kelas'));
} else {
$error = $this->crud_m->result($updateData);
echo $this->fungsi->warning($error['message'], base_url('pendidikan/kelas'));
}
}
}
?>
106
E. Class Walikelas
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Walikelas extends CI_Controller {
function __construct() {
parent::__construct();
$this->privileges->is_allowed_menu(31);
$this->load->model('pendidikan/kelasd_m', 'kelas_d');
$this->load->model('kurikulum/jurusan_m', 'jurusan');
$this->load->model('sekolah/pegawai_m', 'pegawai');
}
function index() {
$this->getList();
}
function getList($id_jurusan = 0) {
$data['content'] = 'pendidikan/walikelas/list';
$sessiondata = array(
SESS_PREFIK . 'tahun' => $this->input->post('tahun'),
SESS_PREFIK . 'id_jurusan' => ($id_jurusan) ? $id_jurusan : $this->input-
>post('id_jurusan'),
);
$sessiondata[SESS_PREFIK . 'tahun'] = ($sessiondata[SESS_PREFIK . 'tahun']) ?
$sessiondata[SESS_PREFIK . 'tahun'] : $this->config->item('tahun');
$this->session->set_userdata($sessiondata);
$data['listtabel'] = $this->kelas_d->getwalikelas($this->session->userdata(SESS_PREFIK .
'id_jurusan'));
$data['jurusan'] = $this->jurusan->getList();
$data['listpegawai'] = $this->pegawai->getList();
$this->load->view('template', $data);
}
function insert() {
$id_pegawai = $this->input->post('id_wali_kelas');
foreach ($id_pegawai as $id_kelas => $id_wali_kelas) {
$data['id_kelas'] = $id_kelas;
$data['id_wali_kelas'] = $id_wali_kelas;
$data['tahun'] = $this->session->userdata(SESS_PREFIK . 'tahun');
$query = $this->db->insert_string('relasi_kelas_walikelas',$data) . " ON DUPLICATE
KEY UPDATE id=id,id_wali_kelas='{$data['id_wali_kelas']}'";
$insertData = $this->db->query($query);
}
if ($insertData) {
echo $this->fungsi->warning('Data telah tersimpan',
base_url('pendidikan/walikelas/getlist/'.$this->session->userdata(SESS_PREFIK . 'id_jurusan')));
} else {
$error = $this->crud_m->result($insertData);
echo $this->fungsi->warning($error['message'],
base_url('pendidikan/walikelas/getlist/'.$this->session->userdata(SESS_PREFIK . 'id_jurusan')));
}
}
}
?>
107
F. Class Guru
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Guru extends CI_Controller {
function __construct() {
parent::__construct();
$this->privileges->is_allowed_menu(33);
$this->load->model('kurikulum/jurusan_m', 'jurusan');
$this->load->model('pendidikan/kelasd_m', 'kelasd');
$this->load->model('sekolah/pegawai_m', 'pegawai');
}
function index() {
$this->getList();
}
public function getList($id_jurusan = 0) {
$data['content'] = 'pendidikan/guru/list';
$sessiondata = array(
SESS_PREFIK . 'tahun' => $this->input->post('tahun'),
SESS_PREFIK . 'id_jurusan' => ($id_jurusan) ? $id_jurusan : $this->input-
>post('id_jurusan'),
);
$sessiondata[SESS_PREFIK . 'tahun'] = ($sessiondata[SESS_PREFIK . 'tahun']) ?
$sessiondata[SESS_PREFIK . 'tahun'] : $this->config->item('tahun');
$this->session->set_userdata($sessiondata);
$data['jurusan'] = $this->jurusan->getList();
$data['listkelas'] = $this->kelasd->getList($this->session->userdata(SESS_PREFIK .
'id_jurusan'));
$this->load->view('template', $data);
}
public function add($id_kelas = 0) {
$data['content'] = 'pendidikan/guru/add';
$this->db->where('tahun_ajaran', $this->session->userdata(SESS_PREFIK . 'tahun'));
$objthn = $this->db->get('tahunajaran')->row();
$data['tahunajaran'] = $objthn->alias;
$data['listkelas'] = $this->kelasd->getListById($id_kelas);
$data['objjurusan'] = $this->jurusan->getListById($data['listkelas']->id_jurusan);
$data['listtabel'] = $this->kelasd-
>getgurupembimbing(array('id_kelas'=>$id_kelas,'tahun'=>$objthn->tahun_ajaran));
$data['listpegawai'] = $this->pegawai->getList();
$this->load->view('template', $data);
}
function insert() {
$id_pelajaran_kelas = $this->input->post('id_pelajaran_kelas');
$postgurumapel = $this->input->post('id_gurumapel');
$data['id_kelas_d'] = $this->input->post('id_kelas_d');
foreach($postgurumapel as $key => $id_gurumapel){
$data['id_gurumapel'] = $id_gurumapel;
$data['id_pelajaran_kelas'] = $id_pelajaran_kelas[$key];
$data['tahun'] = $this->session->userdata(SESS_PREFIK . 'tahun');
$query = $this->db->insert_string('relasi_kelas_gurumapel',$data) . " ON DUPLICATE
KEY UPDATE id_gurumapel='{$data['id_gurumapel']}'";
$insertData = $this->db->query($query);
}
if ($insertData) {
echo $this->fungsi->warning('Data telah tersimpan',
base_url('pendidikan/guru/getlist/'.$this->session->userdata(SESS_PREFIK . 'id_jurusan')));
} else {
108
$error = $this->crud_m->result($insertData);
echo $this->fungsi->warning($error['message'], base_url('pendidikan/guru/getlist/'.$this-
>session->userdata(SESS_PREFIK . 'id_jurusan')));
}
}
}
?>
G. Class Siswa
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Siswa extends CI_Controller {
function __construct() {
parent::__construct();
if(!$this->privileges->is_logged_in_siswa()){
$this->privileges->is_allowed_menu(28);
}
$this->load->model('pendidikan/siswa_m', 'siswa');
}
function index() {
$this->getList();
}
public function getList() {
$data['content'] = 'pendidikan/siswa/list';
$data['listtabel'] = $this->siswa->getList();
$this->load->view('template', $data);
}
function get_data() {
$configs = array(
'id' => 'nis',
'aColumns' => array('foto', 'nis','nisn','nama','jk'),
'datamodel' => 'pendidikan/siswa_m',
'actiontable' => array(
'edit' => array(
'href' => 'pendidikan/siswa/edit',
'label' => "<i class='glyphicon glyphicon-pencil'></i>",
'title' => 'Ubah Data'
),
'delete' => array(
'href' => 'pendidikan/siswa/delete',
'label' => "<i class='glyphicon glyphicon-remove-circle'></i>",
'title' => 'Hapus Data',
'onclick' => 'return deleteData()'
)
)
);
echo $this->crud_m->get_data($configs);
}
function add() {
$data['content'] = 'pendidikan/siswa/add';
$this->load->view('template', $data);
}
function edit($id = '') {
$data['content'] = 'pendidikan/siswa/edit';
$data['rowedit'] = $this->siswa->getListByid($id);
109
$this->load->view('template', $data);
}
public function create() {
$post = $this->securepost->postMethod();
$insertData = $this->crud_m->insert('siswa', $post);
if ($insertData) {
echo $this->fungsi->warning('Data telah tersimpan', base_url('pendidikan/siswa'));
} else {
$error = $this->crud_m->result($insertData);
echo $this->fungsi->warning($error['message'], base_url('pendidikan/siswa'));
}
}
function update() {
$post = $this->securepost->postMethod();
$updateData = $this->crud_m->update('siswa', $post, array('nis' => $post['nis']));
if ($updateData) {
echo $this->fungsi->warning('Data telah tersimpan', base_url('pendidikan/siswa'));
} else {
$error = $this->crud_m->result($updateData);
echo $this->fungsi->warning($error['message'], base_url('pendidikan/siswa'));
}
}
function delete($id = '') {
$updateData = $this->crud_m->delete('siswa', array('nis' => $id));
if ($updateData) {
echo $this->fungsi->warning('Data telah terhapus', base_url('pendidikan/siswa'));
} else {
$error = $this->crud_m->result($updateData);
echo $this->fungsi->warning($error['message'], base_url('pendidikan/siswa'));
}
}
function biodatasiswa() {
$data['content'] = 'frontpage/biodatasiswa';
$data['biodatasiswa'] = $this->siswa->getrombel(array('nis' => $this->session-
>userdata(SESS_PREFIK . 'nis')));
$this->load->view('frontpage', $data);
}
}
?>
H. Class Rombel
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Rombel extends CI_Controller {
function __construct() {
parent::__construct();
$this->privileges->is_allowed_menu(33);
$this->load->model('kurikulum/jurusan_m', 'jurusan');
$this->load->model('pendidikan/kelasd_m', 'kelasd');
$this->load->model('pendidikan/siswa_m', 'siswa');
$this->load->model('sekolah/pegawai_m', 'pegawai');
}
function index() {
$this->getList();
}
public function getList($id_jurusan = 0) {
110
$data['content'] = 'pendidikan/rombel/list';
$sessiondata = array(
SESS_PREFIK . 'tahun' => $this->input->post('tahun'),
SESS_PREFIK . 'id_jurusan' => ($id_jurusan) ? $id_jurusan : $this->input-
>post('id_jurusan'),
);
$sessiondata[SESS_PREFIK . 'tahun'] = ($sessiondata[SESS_PREFIK . 'tahun']) ?
$sessiondata[SESS_PREFIK . 'tahun'] : $this->config->item('tahun');
$this->session->set_userdata($sessiondata);
$data['jurusan'] = $this->jurusan->getList();
$data['listkelas'] = $this->kelasd->getList($this->session->userdata(SESS_PREFIK .
'id_jurusan'));
$this->load->view('template', $data);
}
public function add($id_kelas = 0) {
$data['content'] = 'pendidikan/rombel/add';
$this->db->where('tahun_ajaran', $this->session->userdata(SESS_PREFIK . 'tahun'));
$objthn = $this->db->get('tahunajaran')->row();
$data['tahunajaran'] = $objthn->alias;
$data['listkelas'] = $this->kelasd->getListById($id_kelas);
$data['objjurusan'] = $this->jurusan->getListById($data['listkelas']->id_jurusan);
$data['listtabel'] = $this->kelasd->gerombel(array('id_kelas' => $id_kelas, 'tahun' => $objthn-
>tahun_ajaran));
$data['listsiswa'] = $this->siswa->getListtorombel($this->session->userdata(SESS_PREFIK .
'tahun'),$data['listkelas']->nama_kelas);
$this->load->view('template', $data);
}
function insert() {
$data['tahun'] = $this->session->userdata(SESS_PREFIK . 'tahun');
$data['id_kelas'] = $this->input->post('id_kelas_d');
if ($this->input->post('save') == 'set-rombel') {
$nis = $this->input->post('nis');
foreach ($nis as $key => $val) {
$data['nis'] = $key;
$strquery = $this->db->insert_string('rombel', $data) . ' ON DUPLICATE KEY
UPDATE id=id';
$restrombel = $this->db->query($strquery);
}
}else if ($this->input->post('save') == 'unset-rombel') {
$id = $this->input->post('id');
foreach ($id as $key => $val) {
$data['nis'] = $key;
$restrombel = $this->db->delete('rombel', array('id' =>$key));
}
}
if ($restrombel) {
echo $this->fungsi->warning('Data telah tersimpan', base_url('pendidikan/rombel/add/' .
$data['id_kelas']));
} else {
$error = $this->crud_m->result($restrombel);
echo $this->fungsi->warning($error['message'], base_url('pendidikan/rombel/add/' .
$data['id_kelas']));
}
}
}
?>
111
I. Class Tugas
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Tugas extends CI_Controller {
function __construct() {
parent::__construct();
$this->privileges->is_allowed_menu(47);
$this->load->model('kurikulum/jurusan_m', 'jurusan');
$this->load->model('pendidikan/kelasd_m', 'kelasd');
$this->load->model('penilaian/nilai_m', 'nilai');
}
function index() {
$this->getList();
}
public function getList($id_kelas='',$id_mapel = '',$semester = '') {
$data['content'] = 'penilaian/tugas/list';
$sessiondata = array(
SESS_PREFIK . 'id_mapel' => (!$this->input->post('id_mapel')) ? $id_mapel : $this-
>input->post('id_mapel'),
SESS_PREFIK . 'id_kelas' => (!$this->input->post('id_kelas')) ? $id_kelas : $this->input-
>post('id_kelas'),
SESS_PREFIK . 'semester' => (!$this->input->post('semester')) ? $id_kelas : $this->input-
>post('semester')
);
$sessiondata[SESS_PREFIK . 'tahun'] = ($sessiondata[SESS_PREFIK . 'tahun']) ?
$sessiondata[SESS_PREFIK . 'tahun'] : $this->config->item('tahun');
$sessiondata[SESS_PREFIK . 'semester'] = ($sessiondata[SESS_PREFIK . 'semester']) ?
$sessiondata[SESS_PREFIK . 'semester'] : $this->config->item('semester');
$data['listgurukelas'] = $this->kelasd->getgurupembimbing(
array(
'id_gurumapel'=>$this->session->userdata(SESS_PREFIK . 'id_pegawai'),
'tahun'=>$sessiondata[SESS_PREFIK . 'tahun'],
)
);
$data['listgurumapel'] = $this->kelasd->getgurupembimbing(
array(
'id_gurumapel'=>$this->session->userdata(SESS_PREFIK . 'id_pegawai'),
'id_kelas'=>$sessiondata[SESS_PREFIK . 'id_kelas'],
'tahun'=>$sessiondata[SESS_PREFIK . 'tahun'],
)
);
$sem = $sessiondata[SESS_PREFIK . 'semester'];
$sessiondata[SESS_PREFIK . 'tahun'] = ($sessiondata[SESS_PREFIK . 'tahun']) ?
$sessiondata[SESS_PREFIK . 'tahun'] : $this->config->item('tahun');
$sessiondata[SESS_PREFIK . 'semester'] = $sem[strtolower($data['listgurumapel'][0]-
>nama_kelas_m)];
$this->session->set_userdata($sessiondata);
$data['listtabel'] = $this->nilai->getListtugas($this->session->userdata(SESS_PREFIK .
'id_kelas'),
$this->session->userdata(SESS_PREFIK . 'id_mapel'),
$this->session->userdata(SESS_PREFIK . 'semester')
);
$this->load->view('template', $data);
}
function insert() {
$postniltugas1 = $this->input->post('nilai1');
$postniltugas2 = $this->input->post('nilai2');
112
$postniltugas3 = $this->input->post('nilai3');
$postniltugas4 = $this->input->post('nilai4');
$data['id_mapel'] = $this->session->userdata(SESS_PREFIK . 'id_mapel');
$data['tgl'] = date('Y-m-d');
$data['time'] = date('Y-m-d h:i:s');
$data['id_pegawai'] = $this->session->userdata(SESS_PREFIK . 'id_pegawai');
$data['semester'] = $this->session->userdata(SESS_PREFIK . 'semester');
$data['jenis'] = 'tugas';
$redirect = base_url('penilaian/tugas/getlist/' .
$this->session->userdata(SESS_PREFIK . 'id_kelas').'/'.
$this->session->userdata(SESS_PREFIK . 'id_mapel').'/'.
$this->session->userdata(SESS_PREFIK . 'semester')
);
if(false == $res = $this->nilai->inserttugas($data,$postniltugas1,1)){
$error = $this->crud_m->result($res);
echo $this->fungsi->warning($error['message'], $redirect);
}
if(false == $res = $this->nilai->inserttugas($data,$postniltugas2,2)){
$error = $this->crud_m->result($res);
echo $this->fungsi->warning($error['message'], $redirect);
}
if(false == $res = $this->nilai->inserttugas($data,$postniltugas3,3)){
$error = $this->crud_m->result($res);
echo $this->fungsi->warning($error['message'], $redirect);
}
if(false == $res = $this->nilai->inserttugas($data,$postniltugas4,4)){
$error = $this->crud_m->result($res);
echo $this->fungsi->warning($error['message'], $redirect);
}
echo $this->fungsi->warning('Data telah tersimpan', $redirect);
}
}
?>
J. Class Ulangan_harian
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Ulangan_harian extends CI_Controller {
function __construct() {
parent::__construct();
$this->privileges->is_allowed_menu(42);
$this->load->model('kurikulum/jurusan_m', 'jurusan');
$this->load->model('pendidikan/kelasd_m', 'kelasd');
$this->load->model('penilaian/nilai_m', 'nilai');
$this->load->model('kurikulum/kkm_m', 'kkm');
}
function index() {
$this->getList();
}
public function getList($id_kelas='',$id_mapel = '',$semester = '') {
$data['content'] = 'penilaian/ulangan_harian/list';
$sessiondata = array(
SESS_PREFIK . 'id_mapel' => (!$this->input->post('id_mapel')) ? $id_mapel : $this-
>input->post('id_mapel'),
SESS_PREFIK . 'id_kelas' => (!$this->input->post('id_kelas')) ? $id_kelas : $this->input-
>post('id_kelas'),
113
SESS_PREFIK . 'semester' => (!$this->input->post('semester')) ? $id_kelas : $this->input-
>post('semester')
);
$sessiondata[SESS_PREFIK . 'tahun'] = ($sessiondata[SESS_PREFIK . 'tahun']) ?
$sessiondata[SESS_PREFIK . 'tahun'] : $this->config->item('tahun');
$sessiondata[SESS_PREFIK . 'semester'] = ($sessiondata[SESS_PREFIK . 'semester']) ?
$sessiondata[SESS_PREFIK . 'semester'] : $this->config->item('semester');
$data['listgurukelas'] = $this->kelasd->getgurupembimbing(
array(
'id_gurumapel'=>$this->session->userdata(SESS_PREFIK . 'id_pegawai'),
'tahun'=>$sessiondata[SESS_PREFIK . 'tahun'],
)
);
$data['listgurumapel'] = $this->kelasd->getgurupembimbing(
array(
'id_gurumapel'=>$this->session->userdata(SESS_PREFIK . 'id_pegawai'),
'id_kelas'=>$sessiondata[SESS_PREFIK . 'id_kelas'],
'tahun'=>$sessiondata[SESS_PREFIK . 'tahun'],
)
);
$sem = $sessiondata[SESS_PREFIK . 'semester'];
$sessiondata[SESS_PREFIK . 'tahun'] = ($sessiondata[SESS_PREFIK . 'tahun']) ?
$sessiondata[SESS_PREFIK . 'tahun'] : $this->config->item('tahun');
$sessiondata[SESS_PREFIK . 'semester'] = $sem[strtolower($data['listgurumapel'][0]-
>nama_kelas_m)];
$this->session->set_userdata($sessiondata);
$data['listtabel'] = $this->nilai->getListuh($this->session->userdata(SESS_PREFIK .
'id_kelas'),
$this->session->userdata(SESS_PREFIK . 'id_mapel'),
$this->session->userdata(SESS_PREFIK . 'semester')
);
$data['listkkm'] = $this->kkm->getListById(array('id_mapel' => $this->session-
>userdata(SESS_PREFIK . 'id_mapel'),
'tahun' => $this->session->userdata(SESS_PREFIK . 'tahun'))
);
$this->load->view('template', $data);
}
function insert() {
$postniluh1 = $this->input->post('nilai1');
$postremuh1 = $this->input->post('remidi1');
$postniluh2 = $this->input->post('nilai2');
$postremuh2 = $this->input->post('remidi2');
$postniluh3 = $this->input->post('nilai3');
$postremuh3 = $this->input->post('remidi3');
$postniluh4 = $this->input->post('nilai4');
$postremuh4 = $this->input->post('remidi4');
$data['id_mapel'] = $this->session->userdata(SESS_PREFIK . 'id_mapel');
$data['tgl'] = date('Y-m-d');
$data['time'] = date('Y-m-d h:i:s');
$data['id_pegawai'] = $this->session->userdata(SESS_PREFIK . 'id_pegawai');
$data['semester'] = $this->session->userdata(SESS_PREFIK . 'semester');
$data['jenis'] = 'uh';
$redirect = base_url('penilaian/ulangan_harian/getlist/' .
$this->session->userdata(SESS_PREFIK . 'id_kelas').'/'.
$this->session->userdata(SESS_PREFIK . 'id_mapel').'/'.
$this->session->userdata(SESS_PREFIK . 'semester')
);
114
if(false == $res = $this->nilai->insertniluh($data,$postniluh1,1)){
$error = $this->crud_m->result($res);
echo $this->fungsi->warning($error['message'], $redirect);
}
if(false == $res = $this->nilai->insertremuh($data,$postremuh1,1)){
$error = $this->crud_m->result($res);
echo $this->fungsi->warning($error['message'], $redirect);
}
if(false == $res = $this->nilai->insertniluh($data,$postniluh2,2)){
$error = $this->crud_m->result($res);
echo $this->fungsi->warning($error['message'], $redirect);
}
if(false == $res = $this->nilai->insertremuh($data,$postremuh2,2)){
$error = $this->crud_m->result($res);
echo $this->fungsi->warning($error['message'], $redirect);
}
if(false == $res = $this->nilai->insertniluh($data,$postniluh3,3)){
$error = $this->crud_m->result($res);
echo $this->fungsi->warning($error['message'], $redirect);
}
if(false == $res = $this->nilai->insertremuh($data,$postremuh3,3)){
$error = $this->crud_m->result($res);
echo $this->fungsi->warning($error['message'], $redirect);
}
if(false == $res = $this->nilai->insertniluh($data,$postniluh4,4)){
$error = $this->crud_m->result($res);
echo $this->fungsi->warning($error['message'], $redirect);
}
if(false == $res = $this->nilai->insertremuh($data,$postremuh4,4)){
$error = $this->crud_m->result($res);
echo $this->fungsi->warning($error['message'], $redirect);
}
echo $this->fungsi->warning('Data telah tersimpan', $redirect);
}
}
?>
K. Class Uts
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Uts extends CI_Controller {
function __construct() {
parent::__construct();
if(!$this->privileges->is_logged_in_siswa()){
$this->privileges->is_allowed_menu(43);
}
$this->load->model('kurikulum/jurusan_m', 'jurusan');
$this->load->model('pendidikan/kelasd_m', 'kelasd');
$this->load->model('penilaian/nilai_m', 'nilai');
$this->load->model('kurikulum/kkm_m', 'kkm');
}
function index() {
$this->getList();
}
public function getList($id_kelas=-1,$id_mapel = '',$semester = '') {
$data['content'] = 'penilaian/uts/list';
115
$sessiondata = array(
SESS_PREFIK . 'id_mapel' => (!$this->input->post('id_mapel')) ? $id_mapel : $this-
>input->post('id_mapel'),
SESS_PREFIK . 'id_kelas' => (!$this->input->post('id_kelas')) ? $id_kelas : $this->input-
>post('id_kelas'),
SESS_PREFIK . 'semester' => (!$this->input->post('semester')) ? $semester : $this->input-
>post('semester')
);
$sessiondata[SESS_PREFIK . 'tahun'] = ($sessiondata[SESS_PREFIK . 'tahun']) ?
$sessiondata[SESS_PREFIK . 'tahun'] : $this->config->item('tahun');
$sessiondata[SESS_PREFIK . 'semester'] = ($sessiondata[SESS_PREFIK . 'semester']) ?
$sessiondata[SESS_PREFIK . 'semester'] : $this->config->item('semester');
$data['listkelas'] = $this->kelasd->getwalikelas(
array(
'id_wali_kelas'=> $this->session->userdata(SESS_PREFIK . 'id_pegawai'),
'tahun'=>$sessiondata[SESS_PREFIK . 'tahun'],
)
);
$data['listkurikulum'] = $this->kelasd->getKurikulum(
array(
'id'=>$sessiondata[SESS_PREFIK . 'id_kelas'],
'tahun'=>$sessiondata[SESS_PREFIK . 'tahun'],
)
);
$sem = $sessiondata[SESS_PREFIK . 'semester'];
$sessiondata[SESS_PREFIK . 'tahun'] = ($sessiondata[SESS_PREFIK . 'tahun']) ?
$sessiondata[SESS_PREFIK . 'tahun'] : $this->config->item('tahun');
$sessiondata[SESS_PREFIK . 'semester'] = $sem[strtolower($data['listkurikulum'][0]-
>nama_kelas)];
$this->session->set_userdata($sessiondata);
$this->load->view('template', $data);
}
public function add($id_mapel = '',$semester = '') {
$data['content'] = 'penilaian/uts/add';
$sessiondata = array(
SESS_PREFIK . 'id_mapel' => (!$this->input->post('id_mapel')) ? $id_mapel : $this-
>input->post('id_mapel'),
SESS_PREFIK . 'semester' => (!$this->input->post('semester')) ? $id_kelas : $this->input-
>post('semester')
);
$sessiondata[SESS_PREFIK . 'tahun'] = ($sessiondata[SESS_PREFIK . 'tahun']) ?
$sessiondata[SESS_PREFIK . 'tahun'] : $this->config->item('tahun');
$sessiondata[SESS_PREFIK . 'semester'] = ($sessiondata[SESS_PREFIK . 'semester']) ?
$sessiondata[SESS_PREFIK . 'semester'] : $this->config->item('semester');
$data['listkelas'] = $this->kelasd->getwalikelas(
array(
'id'=> $this->session->userdata(SESS_PREFIK . 'id_kelas'),
'tahun'=>$sessiondata[SESS_PREFIK . 'tahun'],
)
);
$data['listkurikulum'] = $this->kelasd->getKurikulum(
array(
'id'=>$this->session->userdata(SESS_PREFIK . 'id_kelas'),
'parent !='=>0,
'tahun'=>$sessiondata[SESS_PREFIK . 'tahun'],
)
);
$sem = $sessiondata[SESS_PREFIK . 'semester'];
116
$sessiondata[SESS_PREFIK . 'tahun'] = ($sessiondata[SESS_PREFIK . 'tahun']) ?
$sessiondata[SESS_PREFIK . 'tahun'] : $this->config->item('tahun');
$sessiondata[SESS_PREFIK . 'semester'] = $sem[strtolower($data['listkurikulum'][0]-
>nama_kelas)];
$this->session->set_userdata($sessiondata);
$data['listtabel'] = $this->nilai->getListuts($this->session->userdata(SESS_PREFIK .
'id_kelas'),
$this->session->userdata(SESS_PREFIK . 'id_mapel'),
$this->session->userdata(SESS_PREFIK . 'semester')
);
$data['listkkm'] = $this->kkm->getListById(array('id_mapel' => $this->session-
>userdata(SESS_PREFIK . 'id_mapel'),
'tahun' => $this->session->userdata(SESS_PREFIK . 'tahun'))
);
$this->load->view('template', $data);
}
function insert() {
$postnilai = $this->input->post('nilai');
$postremidi = $this->input->post('remidi');
$data['id_mapel'] = $this->session->userdata(SESS_PREFIK . 'id_mapel');
$data['tgl'] = date('Y-m-d');
$data['time'] = date('Y-m-d h:i:s');
$data['id_pegawai'] = $this->session->userdata(SESS_PREFIK . 'id_pegawai');
$data['semester'] = $this->session->userdata(SESS_PREFIK . 'semester');
$data['jenis'] = 'uts';
$redirect = base_url('penilaian/uts/add/' .
$this->session->userdata(SESS_PREFIK . 'id_mapel').'/'.
$this->session->userdata(SESS_PREFIK . 'semester')
);
if(false == $res = $this->nilai->insertnilujian($data,$postnilai)){
$error = $this->crud_m->result($res);
echo $this->fungsi->warning($error['message'], $redirect);
}
if(false == $res = $this->nilai->insertremujian($data,$postremidi)){
$error = $this->crud_m->result($res);
echo $this->fungsi->warning($error['message'], $redirect);
}
echo $this->fungsi->warning('Data telah tersimpan', $redirect);
}
function view() {
$this->load->model('pendidikan/siswa_m', 'siswa');
$data['content'] = 'frontpage/uts';
$data['biodatasiswa'] = $this->siswa->getrombel(array('nis' => $this->session-
>userdata(SESS_PREFIK . 'nis')));
$arrsemester = $this->config->item('semester');
$data['semester'] = $arrsemester[strtolower($data['biodatasiswa'][0]->nama_kelas)];
$data['nilaiuts'] = $this->nilai->getnilutsbysiswa($data['biodatasiswa'][0]-
>id_kelas,$data['biodatasiswa'][0]->id);
$this->load->view('frontpage', $data);
}
}
?>
117
L. Class UAS
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Uas extends CI_Controller {
function __construct() {
parent::__construct();
if (!$this->privileges->is_logged_in_siswa()) {
$this->privileges->is_allowed_menu(44);
}
$this->load->model('kurikulum/jurusan_m', 'jurusan');
$this->load->model('pendidikan/kelasd_m', 'kelasd');
$this->load->model('penilaian/nilai_m', 'nilai');
$this->load->model('kurikulum/kkm_m', 'kkm');
}
function index() {
$this->getList();
}
public function getList($id_kelas = -1, $id_mapel = '', $semester = '') {
$data['content'] = 'penilaian/uas/list';
$sessiondata = array(
SESS_PREFIK . 'id_mapel' => (!$this->input->post('id_mapel')) ? $id_mapel : $this-
>input->post('id_mapel'),
SESS_PREFIK . 'id_kelas' => (!$this->input->post('id_kelas')) ? $id_kelas : $this->input-
>post('id_kelas'),
SESS_PREFIK . 'semester' => (!$this->input->post('semester')) ? $semester : $this->input-
>post('semester')
);
$sessiondata[SESS_PREFIK . 'tahun'] = ($sessiondata[SESS_PREFIK . 'tahun']) ?
$sessiondata[SESS_PREFIK . 'tahun'] : $this->config->item('tahun');
$sessiondata[SESS_PREFIK . 'semester'] = ($sessiondata[SESS_PREFIK . 'semester']) ?
$sessiondata[SESS_PREFIK . 'semester'] : $this->config->item('semester');
$data['listkelas'] = $this->kelasd->getwalikelas(
array(
'id_wali_kelas' => $this->session->userdata(SESS_PREFIK . 'id_pegawai'),
'tahun' => $sessiondata[SESS_PREFIK . 'tahun'],
)
);
$data['listkurikulum'] = $this->kelasd->getKurikulum(
array(
'id' => $sessiondata[SESS_PREFIK . 'id_kelas'],
'tahun' => $sessiondata[SESS_PREFIK . 'tahun'],
)
);
$sem = $sessiondata[SESS_PREFIK . 'semester'];
$sessiondata[SESS_PREFIK . 'tahun'] = ($sessiondata[SESS_PREFIK . 'tahun']) ?
$sessiondata[SESS_PREFIK . 'tahun'] : $this->config->item('tahun');
$sessiondata[SESS_PREFIK . 'semester'] = $sem[strtolower($data['listkurikulum'][0]-
>nama_kelas)];
$this->session->set_userdata($sessiondata);
$this->load->view('template', $data);
}
public function add($id_mapel = '', $semester = '') {
$data['content'] = 'penilaian/uas/add';
$sessiondata = array(
SESS_PREFIK . 'id_mapel' => (!$this->input->post('id_mapel')) ? $id_mapel : $this-
>input->post('id_mapel'),
);
118
$sessiondata[SESS_PREFIK . 'tahun'] = ($sessiondata[SESS_PREFIK . 'tahun']) ?
$sessiondata[SESS_PREFIK . 'tahun'] : $this->config->item('tahun');
$sessiondata[SESS_PREFIK . 'semester'] = ($sessiondata[SESS_PREFIK . 'semester']) ?
$sessiondata[SESS_PREFIK . 'semester'] : $this->config->item('semester');
$data['listkelas'] = $this->kelasd->getwalikelas(
array(
'id' => $this->session->userdata(SESS_PREFIK . 'id_kelas'),
'tahun' => $sessiondata[SESS_PREFIK . 'tahun'],
)
);
$data['listkurikulum'] = $this->kelasd->getKurikulum(
array(
'id' => $this->session->userdata(SESS_PREFIK . 'id_kelas'),
'parent !=' => 0,
'tahun' => $sessiondata[SESS_PREFIK . 'tahun'],
)
);
$sem = $sessiondata[SESS_PREFIK . 'semester'];
$sessiondata[SESS_PREFIK . 'tahun'] = ($sessiondata[SESS_PREFIK . 'tahun']) ?
$sessiondata[SESS_PREFIK . 'tahun'] : $this->config->item('tahun');
$sessiondata[SESS_PREFIK . 'semester'] = $sem[strtolower($data['listkurikulum'][0]-
>nama_kelas)];
$this->session->set_userdata($sessiondata);
$data['listtabel'] = $this->nilai->getListuas($this->session->userdata(SESS_PREFIK .
'id_kelas'), $this->session->userdata(SESS_PREFIK . 'id_mapel'), $this->session-
>userdata(SESS_PREFIK . 'semester')
);
$data['listkkm'] = $this->kkm->getListById(array('id_mapel' => $this->session-
>userdata(SESS_PREFIK . 'id_mapel'),
'tahun' => $this->session->userdata(SESS_PREFIK . 'tahun'))
);
$this->load->view('template', $data);
}
function insert() {
$postnilai = $this->input->post('nilai');
$postremidi = $this->input->post('remidi');
$data['id_mapel'] = $this->session->userdata(SESS_PREFIK . 'id_mapel');
$data['tgl'] = date('Y-m-d');
$data['time'] = date('Y-m-d h:i:s');
$data['id_pegawai'] = $this->session->userdata(SESS_PREFIK . 'id_pegawai');
$data['semester'] = $this->session->userdata(SESS_PREFIK . 'semester');
$data['jenis'] = 'uas';
$redirect = base_url('penilaian/uas/add/' .
$this->session->userdata(SESS_PREFIK . 'id_mapel') . '/' .
$this->session->userdata(SESS_PREFIK . 'semester')
);
if (false == $res = $this->nilai->insertnilujian($data, $postnilai)) {
$error = $this->crud_m->result($res);
echo $this->fungsi->warning($error['message'], $redirect);
}
if (false == $res = $this->nilai->insertremujian($data, $postremidi)) {
$error = $this->crud_m->result($res);
echo $this->fungsi->warning($error['message'], $redirect);
}
echo $this->fungsi->warning('Data telah tersimpan', $redirect);
}
function view() {
$this->load->model('pendidikan/siswa_m', 'siswa');
119
$data['content'] = 'frontpage/uas';
$data['biodatasiswa'] = $this->siswa->getrombel(array('nis' => $this->session-
>userdata(SESS_PREFIK . 'nis')));
$arrsemester = $this->config->item('semester');
$data['semester'] = $arrsemester[strtolower($data['biodatasiswa'][0]->nama_kelas)];
$this->db->where('tahun_ajaran', $this->config->item('tahun'));
$objthn = $this->db->get('tahunajaran')->row();
$data['tahunajaran'] = $objthn->alias;
$data['nilaiuts'] = $this->nilai->getniluasbysiswa($data['biodatasiswa'][0]->id_kelas,
$data['biodatasiswa'][0]->id);
$this->load->view('frontpage', $data);
}
}
?>
4.4. Testing
A. Form Login Siswa
Tabel IV.21
Hasil Pengujian Black Box Testing Form Login Siswa
No. Skenario
Pengujian Test case
Hasil yang
diharapkan
Hasil
Pengujian Kesimpulan
1. Mengosongkan
semua isian lalu klik
“submit”
Username :
(kosong)
Password :
(kosong)
Sistem akan
menampilkan pesan
“Username dan
Password tidak boleh
kosong”
Sesuai
Harapan
Valid
2. Hanya mengisi
username lalu klik
“submit”
Username :
diisi
Password :
(kosong)
Sistem akan
menampilkan pesan
“Username dan
Password tidak boleh
kosong”
Sesuai
Harapan
Valid
3. Hanya mengisi
password lalu klik
“submit”
Username :
kosong
Password :
diisi
Sistem akan
menampilkan pesan
“Username dan
Password tidak boleh
kosong”
Sesuai
Harapan
Valid
4. Mengisi data isian
dengan tidak benar
Username :
asal
Password :
asal
Sistem akan
menampilkan pesan
“Username dan
Password tidak
cocok”
Sesuai
Harapan
Valid
5. Mengisi data isian
dengan benar
Username :
admin
Password :
admin
Sistem akan
menampilkan
halaman admin
Sistem Informasi
Akademik
Sesuai
Harapan
Valid
120
B. Form Login Admin
Tabel IV.22
Hasil Pengujian Black Box Testing Form Login Admin
No. Skenario
Pengujian Test case
Hasil yang
diharapkan
Hasil
Pengujian Kesimpulan
1. Mengosongkan
semua isian lalu klik
“submit”
Username :
(kosong)
Password :
(kosong)
Sistem akan
menampilkan pesan
“Username dan
Password tidak boleh
kosong”
Sesuai
Harapan
Valid
2. Hanya mengisi
username lalu klik
“submit”
Username :
diisi
Password :
(kosong)
Sistem akan
menampilkan pesan
“Username dan
Password tidak boleh
kosong”
Sesuai
Harapan
Valid
3. Hanya mengisi
password lalu klik
“submit”
Username :
kosong
Password :
diisi
Sistem akan
menampilkan pesan
“Username dan
Password tidak boleh
kosong”
Sesuai
Harapan
Valid
4. Mengisi data isian
dengan tidak benar
Username :
asal
Password :
asal
Sistem akan
menampilkan pesan
“Username dan
Password tidak
cocok”
Sesuai
Harapan
Valid
5. Mengisi data isian
dengan benar
Username :
admin
Password :
admin
Sistem akan
menampilkan
halaman admin
Sistem Informasi
Akademik
Sesuai
Harapan
Valid
C. Form Input Nilai Tugas
Tabel IV.23
Hasil Pengujian Black Box Testing Form Input Nilai Tugas
No. Skenario
Pengujian Test case
Hasil yang
diharapkan
Hasil
Pengujian Kesimpulan
1. Mengisi isian nilai
dengan huruf
Tugas 1 : a Sistem akan menolak
isian selain angka dan
menampilkan pesan
“hanya boleh diisi
dengan angka”
Sesuai
Harapan
Valid
5. Mengisi data isian
dengan benar
Tugas 1 : 90 Sistem akan
menerima isian angka
Sesuai
Harapan
Valid
121
D. Form Input Nilai Ualangan Harian
Tabel IV.24
Hasil Pengujian Black Box Testing Form Input Nilai Ulangan Harian
No. Skenario
Pengujian Test case
Hasil yang
diharapkan
Hasil
Pengujian Kesimpulan
1. Mengisi isian nilai
dengan huruf
UH : a Sistem akan menolak
isian selain angka dan
menampilkan pesan
“hanya boleh diisi
dengan angka”
Sesuai
Harapan
Valid
5. Mengisi data isian
dengan benar
UH : 90 Sistem akan
menerima isian angka
Sesuai
Harapan
Valid
E. Form Input Nilai UTS
Tabel IV.25
Hasil Pengujian Black Box Testing Form Input Nilai UTS
No. Skenario
Pengujian Test case
Hasil yang
diharapkan
Hasil
Pengujian Kesimpulan
1. Mengisi isian nilai
dengan huruf
UTS : a Sistem akan menolak
isian selain angka dan
menampilkan pesan
“hanya boleh diisi
dengan angka”
Sesuai
Harapan
Valid
5. Mengisi data isian
dengan benar
UTS : 90 Sistem akan
menerima isian angka
Sesuai
Harapan
Valid
F. Form Input Nilai UAS
Tabel IV.26
Hasil Pengujian Black Box Testing Form Input Nilai UAS
No. Skenario
Pengujian Test case
Hasil yang
diharapkan
Hasil
Pengujian Kesimpulan
1. Mengisi isian nilai
dengan huruf
UAS : a Sistem akan menolak
isian selain angka dan
menampilkan pesan
“hanya boleh diisi
dengan angka”
Sesuai
Harapan
Valid
5. Mengisi data isian
dengan benar
UAS : 90 Sistem akan
menerima isian angka
Sesuai
Harapan
Valid
122
4.5. Support
4.5.1. Publikasi Web
Publikasi website sitem informasi akademik ini melalui jasa penyewaan
hosting pada sebuah penyedia jasa hosting dari http://www.rumahweb.com.
Proses publikasi website meliputi pendaftaran nama domain dan penyewaan ruang
hosting.
1. Nama Domain
Nama domain yang dipilih untuk didaftarkan adalah http://www.smk1n.id.
Untuk mendukung sistem informasi nilai akademik ini bisa diakses secara online
penulis memiliih sub domain dengan nama http://demosiakadsmk1n.smk1n.id
2. Hosting
Layanan hosting yang penulis sewa adalah Paket Personal Hosting dengan
kapasitas disk 1GB dengan menggunkan System Operasi Linux dan fasilitas
lainnya yang dapat dilihat di alamat https://www.rumahweb.com/hosting-murah/.
Biaya yang dibutuhkan untuk mendaftarkan nama domain dengan layanan
Paket Personal Hosting adalah sebagai berikut :
1. Registrasi domain selama 1 tahun : Rp. 0
2. Layanan sewa hosting PAKET PERSONAL 1 tahun Rp. 178.800
Sub Total Rp. 178. 800
PPN 10% Rp. 17. 880
Total Rp. 196. 680
123
4.5.2. Spesifikasi Hardware dan Software
Perangkat Hardware dan Software yang dimaksud disini adalah
seperangkat alat atau elemen elektronik yang dapat membantu sistem yang
diusulkan sehingga program yang diusulkan oleh penulis dapat bekerja dengan
baik.
A. Spesifikasi minimun Hardware dan Software untuk Web Server
1. Hardware
Tabel IV.27
Spesifikasi Hardware Web Server
No
. Kebutuhan Keterangan
1. Processor Pentium IV 2.4 Mhz
2. Memory Size (RAM) 2048 MB
3. Harddisk 500 GB
124
2. Software
Tabel IV.28
Spesifikasi Software Web Server
No
. Kebutuhan Keterangan
1. Operating System Linux
2. Database Server Mysql Server
3. Web Server Apache
4. Interpreter PHP
B. Spesifikasi minimun Hardware dan Software untuk Client
1. Hardware
Tabel IV.29
Spesifikasi Hardware Client
No
. Kebutuhan Keterangan
1. Processor Pentium IV 2.4 Mhz
2. Memory Size (RAM) 2048 MB
3. Harddisk 500 GB
4. Keyboard 107 key
5. Mouse Standart Mouse
6. Monitor SVGA
2. Software
Tabel IV.30
Spesifikasi Software Client
No
. Kebutuhan Keterangan
1. Operating System Windows 7 Or 8.1
2. Browser - Mozilla Firefox
- Chrome
- Internet Explorer
- Opera
- Safari
125
4.6. Spesifikasi Dokumen Sistem Usulan
1. Nama Dokumen : Laporan Hasil Belajar Siswa (UTS)
Fungsi : Untuk mengetahui nilai UTS Siswa
Sumber : Wali Kelas
Tujuan : Siswa
Media : Kertas
Frekuensi : Setiap tengah semester
Format : Lampiran B-1
2. Nama Dokumen : Laporan Hasil Belajar Siswa (UAS)
Fungsi : Untuk mengetahui nilai UAS Siswa
Sumber : Wali Kelas
Tujuan : Siswa
Media : Kertas
Frekuensi : Setiap akhir semester
Format : Lampiran B-2
3. Nama Dokumen : Status Pembayaran Siswa
Fungsi : Untuk mengetahui status pembayaran siswa
Sumber : TU
Tujuan : Siswa
Media : Kertas
Frekuensi : Setiap akhir semester
Format : Lampiran B-3
126
4. Nama Dokumen : Laporan Data Pegawai
Fungsi : Untuk mengetahui data pegawai
Sumber : TU
Tujuan : Kepala Sekolah
Media : Kertas
Frekuensi : Setiap akhir semester
Format : Lampiran B-4
5. Nama Dokumen : Laporan Data Siswa
Fungsi : Untuk mengetahui data siswa
Sumber : TU
Tujuan : Kepala Sekolah
Media : Kertas
Frekuensi : Setiap Akhir semester
Format : Lampiran B-5
6. Nama Dokumen : Laporan Nilai Siswa
Fungsi : Untuk mengetahui nilai Siswa
Sumber : TU
Tujuan : Kepala Sekolah
Media : Kertas
Frekuensi : Setiap akhir semester
Format : Lampiran B-6