45
BAB IV
RANCANGAN SISTEM DAN PROGRAM USULAN
4.1 Analisa Kebutuhan Software 4.1.1 Tahapan Analisa
Analisa kebutuhan sistem merupakan langkah awal dalam merancang Sistem agenda guru piket agar mendapat gambaran awal pada sistem yang akan dibuat. Berawal dari analisa sistem berjalan yang ada pada sekolah saat ini yang nantinya akan akan didapat sebuah sistem yang sesuai dengan kebutuhan sehingga memudahkan guru piket dalam proses pengerjaan agenda piket setiap harinya. Serta memudahkan dalam penyajian laporan atau rekapan data agenda untuk bagian staff kesiswaan guna melihat daftar siswa-siswi yang sudah melewati batas tidak hadir atau kabur dalam setiap bulannya yang selanjutnya akan ada proses pemanggilan terhadap orang tua atau wali murid yang bersangkutan.
Berikut rincian kebutuhan software berdasarkan halaman level pengguna: Halaman admin:
A1. Admin dapat melakukan login terlebih dahulu
A2. Admin dapat mengelola data akademik (data guru, data siswa, data kelas, data mata pelajaran, data jurusan, data jadwal)
A3. Admin dapat mengelola data user A4. Admin dapat melakukan logout Halaman guru piket:
B2. Guru piket dapat menginput dan mengolah data siswa tidak hadir B3. Guru piket dapat mencetak data laporan pada rekapitulasi
B4. Guru piket dapat menginput data surat izin keluar untuk siswa atau surat dispensasi
B5. Guru piket dapat melihat dan mengelola laporan surat dispensasi B6. Guru piket dapat melakukan log out
Halaman staff kesiswaan:
C1. Kesiswaan dapat login terlebih dahulu
C2. Staf kesiswaan dapat melihat dan mencetak data rekapitulasi
C3. Staf kesiswaan dapat melihat dan mencetak surat panggilan untuk siswa yang ditindak lanjuti
C4. Staf kesiswaan dapat melakukan logout
4.1.2 Use case diagram
Use case diagram merupakan gambaran secara ringkas tentang siapa saja yang menggunakan sistem dan apa saja yang dilakukannya. Berikut adalah use case yang digunakan dalam rancangan sistem usulan:
1. Use Case Diagram
Gambar IV. 1
Use Case Diagram Sistem Guru Piket Admin
uc Use Case admin
sistem agenda piket
mengelola master data akademik login admin mengelola data user mengelola data sisw a mengelola data j urusan mengelola data mapel
mengelola data guru mengelola data
kelas
kelola data j adw al
«extend» «extend» «include» «extend» «extend» «extend» «extend» «include»
Gambar IV. 2
Use Case Diagram Sistem Agenda Piket Bagian Kesiswaan Dan Guru Piket
Tabel IV. 1
Deskripsi Use Case Master Data Akademik
Use Case Name Master data akademik
Requirement A1,A2,A4
Goal Pada halaman ini admin dapat menambahkan,
menghapus,mengedit data siswa, data guru, data kelas, data jurusan, data mapel, data jadwal
Pre-conditions Admin telah login
Post- conditions Data tersimpan, terupdate dan terhapus Failed.end
conditions
Gagal menyimpan, mengupdate dan menghapus
Primary action Admin
uc Use Case guru piket, kesisw aan
sistem agenda piket
guru piket
input data absen sisw a
rekapitulasi absensi sisw a
input surat dispen login mengelola laporan dispen kesisw aan «include» «include» «include» «extend»
Main flow / basic path
1. Admin dapat melihat form data siswa, data guru, data kelas, data jurusan, data mapel, data jadwal 2. Admin menginput data siswa, data guru, data kelas,
data jurusan, data mapel, data jadwal 3. Admin memilih tombol simpan 4. Sistem menyimpan data akademik
Alternate flow / Variant 1
1. Admin memilih data siswa, data guru, data kelas, data jurusan, data mapel, data jadwal
2. Admin memilih tombol edit
3. System menampilkan form yang telah dipilih 4. Guru piket mengedit data
Invariant 2 1. Admin memilih data siswa, data guru, data kelas,
data jurusan, data mapel, data jadwal 2. Admin memilih tombol hapus
3. System menghapus data yang terpilih
Tabel IV. 2
Deskripsi use case data user
Use Case Name Data user
Requirement A3
Goal Pada halaman ini admin dapat menambahkan,
menghapus, mengedit data user
Pre-conditions admin telah login
Post- conditions Data tersimpan, terupdate dan terhapus Failed.end
conditions
Gagal menyimpan, mngupdate dan menghapus
Primary action Admin
Main flow /
basic path
1. Guru piket dapat melihat form data user 2. Guru piket menginput data user
3. Guru piket memilih tombol simpan 4. Sistem menyimpan data user
Alternate flow / Variant 1
1. Admin memilih data user 2. Admin memilih tombol edit
3. System menampilkan form data user 4. Admin mengedit data user
Invariant 2 1. Admin memilih data user 2. Admin memilih tombol hapus 3. System menghapus data user
Tabel IV. 3
Deskripsi Use Case Absensi Siswa
Use Case Name Absensi siswa yang tidak masuk dan kabur
Requirement B1, B2
Goal Pada halaman ini guru piket dapat menambahkan data
absen siswa yang tidak hadir dan kabur
Pre-conditions Guru piket telah login
Post- conditions Data tersimpan, data terhapus Failed.end
conditions
Gagal menyimpan, gagal menghapus
Primary action Guru piket
Main flow /
basic path
1. Guru piket dapat melihat form absen 2. Guru piket menginput data absensi siswa 3. Guru piket memilih tombol simpan 4. Sistem menyimpan data absen siswa
Alternate flow / Variant 1
1. Guru Piket memilih data absen 2. Guru Piket memilih tombol hapus 3. System menghapus data absen
Tabel IV. 4
Deskripsi Use Case Rekapitulasi
Use Case Name Rekapitulasi
Requirement B3, C1,C2, C3, C4
Goal Pada halaman ini guru piket dan staf kesiswaan dapat
melihat serta mencetak data rekapitulasi absensi, mencetak surat panggilan bagi siswa yang membutuhkan tindak lanjut
Post- conditions Data rekapitulasi dan surat panggilan tercetak Failed.end
conditions
Data gagal tercetak
Primary action Guru piket, staff kesiswaan
Main flow /
basic path
1. Guru piket dan staf kesiswaan dapat melihat rekapitulasi
2. Guru piket dan staf kesiswaan memilih periode 3. Sistem menampilkan data rekapitulasi
4. Guru piket dan staf kesiswaan memilih tombol print data
5. Sistem mencetak data dalam bentuk pdf
Alternate flow / Variant 1
1. Guru piket dan staf kesiswaan dapat melihat daftar siswa yang membutuhkan proses tindak lanjut
2. Guru piket memilih periode rekapitulasi per bulan 3. System menampilkan data
4. Guru piket memilih data
5. Guru piket mengklik tombol cetak surat panggilan
Tabel IV. 5
Deskripsi Use Case Surat Dispen
Use Case Name Surat dispen
Requirement B4
Goal pada halaman ini guru piket dapat menginput data surat
dispen
Pre-conditions Guru piket telah login
Post- conditions Surat dispen berhasil simpan
Failed.end conditions
Surat dispen gagal tersimpan
Primary action Guru piket
Main flow /
basic path
1. Guru piket dapat melihat halaman utama 2. Guru piket dapat menginput data surat dispen 3. Guru piket mengklik tombol simpan
Tabel IV. 6
Deskripsi Use Case Laporan Surat Dispen
Use Case Name Laporan Surat dispen
Requirement B5
Goal Pada halaman ini guru piket dapat mengelola data surat
dispen dan mencetaknya
Pre-conditions Guru piket sudah login terlebih dahulu
Post- conditions Data surat izin berhasil terupdate, terhapus, tercetak Failed.end
conditions
Data gagal terupdate, terhapus, tercetak
Primary action Guru piket
Main flow /
basic path
1. Guru piket dapat melihat data surat dispen 2. Guru piket memilih data surat dispen 3. Guru piket memilih tombol cetak 4. Sistem mencetak surat
Alternate flow / Variant 1
1. Guru piket dapat melihat form surat dispen 2. Guru piket memilih data surat dispen 3. Guru piket memilih tombol edit
4. Sistem menampilkan form data laporan surat dispen
5. Guru piket mengedit data laporan surat dispen
Invariant 2 1. Guru piket memilih data surat dispen
2. Guru piket memilih tombol hapus 3. System menghapus data surat dispen
4.1.3 Activity diagram
Activity diagram merupakan diagram yang menggambarkan workflow (alur kerja) atau aktivitas dari sistem, berikut akan penggambaran activity diagram pada halaman pengguna yang diusulkan:
1. Activity Diagram Login
Gambar IV. 3 Activity Diagram Login
2. Activity Diagram Proses Admin Membuka Data Master Akademik
Gambar IV. 4
Activity Diagram Mengelola Master Data Akademik
act activ ity diagram login
user pengguna sistem
mulai mengisi form login v alidasi login tampilan menu utama selesai ya tidak
act activ ity master data akademik
sistem admin
mulai
masuk ke halaman utama
tampil halaman utama
memilih menu data yan akan dikelola
menampilkan menu yang akan dikelola
3. Activity Diagram Proses Admin Mengelola Data jurusan
Gambar IV. 5
Activity Diagram Mengelola Data Jurusan act activ ity data j urusan
admin sistem mulai masuk ke halaman utama menampilkan halaman utama
klik tambah data
menyimpan data
mengubah data
menghapus data mengahapus data
selesai pilih menu data j urusan
di menu master data akademik menampilkan halaman data j urusun mengelola data j urusan menampilkan halaman form tambah data
j urusan
menginput data j urusan dan klik simpan
hapus edit
4. Activity Diagram Proses admin mengelola data kelas
Gambar IV. 6
Activity Diagram Mengelola Data Kelas act activ ity data kelas
sistem admin mulai masuk ke halaman utama menampilkan halaman utama
klik tambah data
menyimpan data
mengubah data
menghapus data mengahapus data
selesai pilih menu data kelas di
menu master data akademik
menampilkan halaman data kelas
mengelola data kelas
menampilkan halaman form tambah data kelas
menginput data kelas dan klik simpan
edit hapus
5. Activity Diagram proses admin mengelola data siswa
Gambar IV. 7
Activity Diagram Mengelola Data Siswa act activ ity data sisw a
sistem admin mulai masuk ke halaman utama menampilkan halaman utama
pilih menu data sisw a di menu master data
akademik
menampilkan halaman data sisw a
mengelola data sisw a
klik tambah data
menampilkan halaman form tambah data sisw a
menginput data sisw a dan klik simpan
menyimpan data
mengubah data
menghapus data mengahapus data
selesai edit
6. Activity diagram proses guru admin mengelola data mata pelajaran
Gambar IV. 8
Activity Diagram Mengelola Data Mata Pelajaran act activ ity data mapel
admin sistem mulai masuk ke halaman utama menampilkan halaman utama
klik tambah data
menyimpan data
mengubah data
menghapus data mengahapus data
selesai pilih menu data mapel di
menu master data akademik
menampilan halaman data mapel
mengelola data mapel
menampilkan halaman form tambah data mapel
menginput data mapel dan klik simpan
hapus edit
7. Activity diagram proses admin mengelola data guru
Gambar IV. 9
Activity Diagram Mengelola Data Guru act activ ity data guru
admin sistem mulai masuk ke halaman utama menampilkan halaman utama
klik tambah data
menyimpan data
mengubah data
menghapus data mengahapus data
selesai pilih menu data guru di
menu master data akademik
menampilkan halaman data guru
mengelola data guru
menampilkan halaman form tambah data guru
menginput data guru dan klik simpan
edit hapus
8. Activity diagram proses admin mengelola data jadwal
Gambar IV. 10
Activity Diagram Mengelola Data Jadwal act activ ity data j adw al
sistem admin mulai masuk ke halaman utama menampilkan halaman utama
pilih menu data j adw al di menu master data
akademik
menampilkan halaman data j adw al
mengelola data j adw al
klik tambah data menampilkan halaman form tambah data j adw al
menginput data j adw al dan klik simpan
mengubah data menghapus data menyimpan data menghapus data selesai edit hapus
9. Activity diagram proses admin mengelola data user
Gambar IV. 11
Activity Diagram Mengelola Data User act activ ity data user
sistem admin
mulai masuk ke halaman
utama
tampil halaman utama
pilih menu data user tampil halaman data user
klik tambah tampil form tambah
data user
menginput data user baru dan klik simpan
menyimpan data baru
mengubah data
menghapus data menghapus data
selesai edit
10. Activity diagram proses guru piket pada halaman surat dispensasi
Gambar IV. 12
Activity Diagram Surat Dispensasi act activ ity surat dispen
guru piket sistem
mulai
pilih menu surat dispen tampil halaman surat dispen
input NIS sisw a
klik cari menampilkan nama dan
kelas sisw a
mengisikan j am ke berapa dan urusan
dispen
klik simpan menyimpan data dispen sisw a
11. Activity diagram halaman laporan dispensasi
Gambar IV. 13
Activity Diagram Laporan Dispensasi
act activ ity laporan dispen
sistem guru piket mulai masuk kehalaman utama tampil halaman utama
pilih menu laporan dispensasi
tampil halaman data dispensasi mengelola data dispen mencetak data menghapus data mencetak surat dispensasi klik rekap data
pilih periode klik tampilkan
print data laporan
tampil data laporan dispensasi mencetak laporan dispensasi menghapus data selesai selesai cetak hapus
12. Activity diagram proses absensi siswa
Gambar IV. 14
Activity Diagram Data Absensi Siswa act activ ity data absensi sisw a
guru piket sistem
mulai masuk ke halaman
utama tampil halaman utama
pilih menu data absen sisw a
tampil halaman absensi sisw a
menambah data
tampil form tambah data absensi sisw a
input NIS sisw a klik cari
menampilkan nama dan kelas
sisw a
pilih tanggal dan keterangan absensi lalu klik
simpan menyimpan data absen baru menghapus mengelola data absen menghapus data selesai sselesai hapus tambah data
13. Activity diagram proses guru piket rekapitulasi absensi siswa
Gambar IV. 15
Activity Diagram Rekapitulasi Absensi Siswa Guru Piket act activ ity rekapitulasi gurur piket absensi
guru piket sistem
masuk halaman utama tampil halaman utama
pilih menu rekapitulasi absen
tampil halaman rekapitulasi absen
pilih periode klik tampilkan
menampilkan data rekapitulasi absen
klik print data mencetak laporan
absensi sisw a
selesai mulai
14. Activity diagram proses staf kesiswaan rekapitulasi absensi siswa
Gambar IV. 16
Activity Diagram Rekapitulasi Absensi Siswa Staf Kesiswaan act activ ity rekapitulasi staff absensi sisw a
staff kesisw aan sistem
masuk halaman utama tampil halaman utama
pilih menu rekapitulasi absen
tampil halaman rekapitulasi absen
pilih periode klik tampilkan menampilkan data rekapitulasi absen mencetak laporan absensi sisw a selesai mencetak laporan mencetak surat panggilan mencetak surat panggilan selesai mulai print data printSP
4.2 Desain
Pada tahap ini akan menjelaskan tentang desain basis data. Desain arsitektur perangkat lunak dari sistem yang sedang dibangun.
4.2.1 Basis data
1. Entity Relationship Diagram (ERD)
Gambar IV. 17
Entity Relationship Diagram (ERD)
erd ERD absen siswa tb_sp kelas jurusan jadwal mapel guru guru_nip guru_nama guru_poto jadwal_id jam_ke jam kelas_id mapel_id guru_nip hari mapel_id mapel_nama jurusan_id jurusan_nama kelas_id kelas_nama jurusan_id siswa_nis siswa_nama kelas_id siswa_jenis_kelamin siswa_foto absen_id siswa_nis jadwal_id absen_tgl keterangan_absen tujuan id_sp no_sp nis tanggal 1 melakukan m m mempunyai 1 m mendapatkan 1 1 memiliki m m memiliki 1 1 memiliki m m mempunyai 1
2. Logical record structure (LRS) siswa siswa_nis PK siswa_nama kelas_id FK siswa_jenis_kelamin siswa_foto absen absen_id PK siswa_nis FK jadwal_id FK absen_tgl keterangan_absen tujuan jurusan jurusan_id PK jurusan_nama kelas kelas_id PK kelas_nama jurusan_id FK jadwal jadwal_id PK jam_ke jam kelas_id FK mapel_id FK guru_nip FK mapel mapel_id PK mapel_nama guru guru_nip PK guru_nama guru_foto Kelas_id Jurusan_id siswa_nis Kelas_id Mapel_id Guru_nip 1 tb_sp id_sp PK no_sp nis FK tanggal hari Siswa_nis m 1 m m 1 m 1 1 m m 1 m 1 Gambar IV. 18
Logical Record Structure (LRS)
3. Spesifikasi file
a. Spesifikasi Tabel Jurusan
Tabel ini berfungsi untuk menyimpan data jurusan. Tabel ini terdiri dari field- field sebagai berikut:
Nama File : Tabel jurusan
Akronim : jurusan
Kunci Field : jurusan_id
Tabel IV. 7 Spesifikasi Tabel Jurusan
No Elemen Data Akronim Type Size Keteran
gan
1 Id jurusan jurusan_id Int 11 Primary
Key
2 Nama jurusan Jurusan_nama Varchar 200
b. Spesifikasi Tabel Kelas
Tabel ini berfungsi untuk menyimpan data kelas. Tabel ini terdiri dari field- field sebagai berikut:
Nama Database : absen_sekolah Nama File : Tabel kelas
Akronim : kelas
Kunci Field : kelas_id
Tabel IV. 8 Spesifikasi Tabel Kelas
No Elemen Data Akronim Type Size Keterang
an
1 Id kelas kelas_id Int 11 Primary
Key
2 Nama kelas kelas_nama Varchar 80
3 Id jurusan jurusan_id Int 11 Foreign
key
c. Spesifikasi Tabel Siswa
Tabel ini berfungsi untuk menyimpan data siswa. Tabel ini terdiri dari field- field sebagai berikut:
Nama Database : absen sekolah Nama File : Tabel siswa
Akronim : siswa
Kunci Field : siswa_nis
Tabel IV. 9 Spesifikasi Tabel Siswa
No Elemen Data Akronim Type Size Keteran
gan
1 Nis siswa siswa_nis Int 11 Primary
Key
2 Nama siswa siswa_nama varchar 150
3 Id kelas kelas_id Int 11 Foreign
key 4 Jenis kelamin siswa siswa_jenis_ kelamin varchar 15
5 Foto siswa siswa_foto Text
d. Spesifikasi Tabel Absen
Nama Database : absen sekolah Nama File : Tabel absen
Akronim : absen
Kunci Field : absen_id
Tabel IV. 10 Spesifikasi Tabel Siswa
No Elemen Data Akronim Type Size Keteran
gan
1 Id absen absen_id int 11 Primary
Key
2 Nis absen absen_nis int 15 Foreign
key
3 Id jadwal absen absen_jadwal_
id
int 11 Foreign
key
4 Tanggal absen absen_tgl Date
5 Keterangan
absen
keterangan_ab sen
Enum
e. Spesifikasi Tabel Jadwal
Nama Database : absen sekolah Nama File : Tabel jadwal
Akronim : jadwal
Kunci Field : jadwal_id
Tabel IV. 11 Spesifikasi Tabel Jadwal
No Elemen Data Akronim Type Size Keteran
gan
1 Id jadwal jadwal_id Int 11 Primary
Key
2 Jam ke jam_ke Int 1
3 Jam Jam Date
4 Id kelas kelas_id Int 11 Foreign
key
5 Id mata
pelajaran
maple_id Int 11 Foreign
key
6 Nip guru guru_nip Int 11 Foreign
key
7 Hari hari Enum
f. Spesifikasi Tabel Mapel
Nama Database : absen sekolah Nama File : Tabel mapel
Akronim : mapel
Tabel IV. 12 Spesifikasi Tabel Mapel
No Elemen Data Akronim Type Size Keteran
gan
1 Id mata
pelajaran
mapel_id Int 11 Primary
Key 2 Nama mata pelajaran mapel_nama Varchar 200 g. Spesifikasi tabel tb_sp Nama Database : tb_sp Nama File : tb sp
Akronim : surat peringatan Kunci Field : id_sp
Tabel IV. 13 Spesifikasi Tabel tb_sp
No Elemen Data Akronim Type Size Keteran
gan
1 Id surat
peringatan
id_sp Int 10 Primary
Key
2 No surat
peringatan
no_sp varchar 10
3 Nis Nis Int 20 Foreign key
4.2.2 Arsitektur perangkat lunak 1. Class diagram
Gambar IV. 19 Class Diagram
class Class Model
siswa + siswa_nis: int + siswa_nama: varchar + kelas_id: int + siswa_jenis_kelamin: varchar + siswa_foto: text + tambah() + edit() + hapus() absen + absen_id: int + siswa_nis: int + jadwal_id: int + absen_tgl: date + keterangan_absen: enum + tujuan: varchar + tambah() + hapus() + print() jurusan + jurusan_id: int + jurusan_nama: varchar + tambah() + edit() + hapus() kelas + kelas_id: int + kelas_nama: varchar + jurusan_id: int + tambah() + edit() + hapus() jadwal + jadwal_id: int + jam_ke: int + jam: date + kelas_id: int + mapel_id: int + guru_nip: int + hari: enum + tambah() + edit() + hapus() guru + guru_nip: int + guru_nama: varchar + guru_foto: text + tambah() + edit() + hapus() mapel + mapel: int + mapel_nama: varchar + tambah() + edit() + hapus() tb_sp + id_sp: int + no_sp: varchar + nis: int + tanggal: date + tampilkan() + print data() + buat sp() 1 m m 1 1 m 1 m 1 m 1 m m 1
2. Sequence Diagram
a. Sequence Diagram Login
Gambar IV. 20 Sequence Diagram Login b. Sequence Diagram Absensi Siswa
Gambar IV. 21
Sequence Diagram Absensi Siswa
sd sequence login
pengguna
halaman login control login tabel akses halaman utama
kembali menampilkan()
data valid: menampilkan () validasi data login()
mengirim data login() klik login()
memasukan user dan password()
data invalid()
sd sequence absen
guru piket
halaman utama halaman absensi control absensi tabel absen
data tersimpan() mengirim data()
klik simpan()
menampilkan halaman() masuk ke halaman utama()
pilih menu data absensi siswa()
c. Sequence Diagram Laporan Absensi
Gambar IV. 22
Sequence Diagram Laporan Absensi
sd sequence laporan
kesiswaan
halaman utama halaman
rekapitulasi control
rekapitulasi tabel absen
klik print data ()
meminta data () laporan berhasil tampil() laporan tampil () masuk ke () menampilkan data rekapitulasi() mengirim data() meminta data() klik tampilkan() menampilkan() pilih halaman rekapitulasi()
d. Sequence Diagram Surat Dispensasi Siswa
Gambar IV. 23
Sequence Diagram Tambah Data Surat Dispensasi Siswa
e. Sequence Data Kelas
Gambar IV. 24
Sequence Diagram Hapus Data Kelas
sd sequence surat dispensasi
guru piket
halaman utama halaman form surat izin
kontrol surat izin tabel absen
data tersimpan () menmpilkan halaman()
memasukan data surat izin ()
menampilkan form surat dispen()
klik simpan () masuk ke ()
menyimpan data() klik tambah data()
pilih menu surat izin()
sd sequence data kelas
admin
halaman utama halaman data kontrol data kelas tabel kelas kelas
memilih menu master dan klik data kelas() masuk ke() menghapus data() menghapus data () data terhapus() data tehapus() menampilkan data di halaman() pilih data yang akan dihapus()
f. Sequence Diagram Surat Dispensasi
Gambar IV. 25
Sequence Diagram Cetak Surat Dispensasi
3. Deployment Diagram
Menggambarkan tata letak sistem secara fisik, yang menampakkan bagian bagian software yang berjalan pada hardware yang digunakan untuk mengimplementasikan sebuah sistem dan keterhubungan antara komponen hardware-hardware tersebut
sd sequence laporan dispen
guru piket
halaman utama kontrol laporan
dispen
tabel absen halaman laporan
dispen
klik print atau save pdf()
mencetak surat dispen() menampilkan data laporan
dispen()
menampilkan surat dispen()
menampilkan surat dispen() memilih menu laporan dispen()
mencetak surat dispen() masuk ke()
klik cetak()
menampilkan halaman()
Gambar IV. 26 Deployment Diagram
4. Component Diagram
Component diagram menggambarkan struktur dan hubungan antara komponen piranti lunak, termasuk ketergantungan diantaranya. Component Diagram juga dapat berupa interface yang berupa kumpulan layanan yang disesuaikan oleh komponen untuk lainnya
deployment Deployment Model
«device» QR Server Mysql.exe «executionEnvironment» server web server apache.exe php.exe mySQL Server mysql.exe
Gambar IV. 27 Component Diagram 4.2.3 Antarmuka Pengguna 1. Halaman Login Gambar IV. 28 Halaman Login
2. Halaman Utama
Gambar IV. 29 Halaman Utama Admin
Gambar IV. 30 Halaman Utama Guru Piket
Gambar IV. 31
Halaman Utama Staff Kesiswaan
3. Halaman Kelola Master Data Akademik
Gambar IV. 32
Gambar IV. 33
Halaman Menambah Data Kelas
4. Halaman Absensi
Gambar IV. 34 Halaman Data Absensi Siswa
5. Halaman Surat Dispen
Gambar IV. 35
Halaman Tambah Surat Dispen
6. Halaman Rekapitulasi Siswa
Gambar IV. 36 Halaman Rekapitulasi Siswa
4.3 Code Generation Halaman absensi siswa:
1. (controller/absen.php) <?php
/**
* Controller Absen */
defined('BASEPATH') OR exit('No direct script access allowed'); class Absen extends CI_Controller
{ function __construct() { parent::__construct(); date_default_timezone_set('Asia/Jakarta'); $this->load->model('m_data'); if ($this->session->userdata('status')!="telah_login") { redirect(base_url().'akses?alert=belum_login'); } }
public function index() { $data['absen'] = $this->m_data->getDataAbsen(null,null,false)->result(); $this->load->view('menu/v_header'); $this->load->view('absen/v_absen',$data); $this->load->view('menu/v_footer'); }
{ $data['siswa'] = $this->m_data->get_data('siswa')->result(); $kelas_id = null; if ($this->input->get('nis') != null) { $getData = $this->m_data->getSiswaJoin($this->input->get('nis'))->row(); if ($getData) { $siswa_nis = $getData->siswa_nis; $siswa_nama = $getData->siswa_nama; $kelas_nama = $getData->kelas_nama; $kelas_id = $getData->kelas_id; $jurusan_nama = $getData->jurusan_nama; }else{
$siswa_nis = 'TIDAK DITEMUKAN'; $siswa_nama = ' TIDAK DITEMUKAN'; $kelas_nama = ' TIDAK DITEMUKAN'; $jurusan_nama = ' TIDAK DITEMUKAN'; $kelas_id = null;
}
$hari = hari(); }
$data['nis'] = ($this->input->get('nis')) ? $siswa_nis : ''; $data['nama'] = ($this->input->get('nis')) ? $siswa_nama : ''; $data['kelas'] = ($this->input->get('nis')) ? $kelas_nama.' - '.$jurusan_nama : ''; $data['jam_ke'] = $this->m_data->getDataJadwal(null, strtoupper(hari()), $kelas_id)->result(); $this->load->view('menu/v_header',$data); $this->load->view('absen/v_tambah',$data); $this->load->view('menu/v_footer',$data); }
public function absen_aksi() {
$this->form_validation->set_rules('nis','nis','required'); $this->form_validation->set_rules('uraian','uraian','required'); if ($this->form_validation->run()!=false) { $nis = $this->input->post('nis'); $izin = $this->input->post('izin[]'); $uraian = $this->input->post('uraian'); $tgl = $this->input->post('tanggal');; $data = array( 'absen_nis' => $nis, 'keterangan_absen' => $uraian, 'absen_tgl' => $tgl, 'tujuan' => $uraian ); $this->m_data->insert_data($data,'absen'); redirect(base_url().'Absen'.'?alert=success'); }else{ $this->load->view('menu/v_header'); $this->load->view('dispen/v_tambah'); $this->load->view('menu/v_footer'); } }
public function absen_edit($id) {
$where = array (
'absen_id' => $id );
$data['absen']= $this->m_data->edit_data($where,'absen')->result(); $data['kelas'] = $this->m_data->get_data('kelas')->result(); $data['jurusan'] = $this->m_data->get_data('jurusan')->result(); $data['mapel'] = $this->m_data->get_data('mapel')->result(); $data['siswa'] = $this->m_data->get_data('siswa')->result(); $this->load->view('menu/v_header',$data); $this->load->view('absen/v_edit',$data); $this->load->view('menu/v_footer',$data); }
public function absen_update() { $this->form_validation->set_rules('id','mapel_id','required'); $this->form_validation->set_rules('nis','nis','required'); $this->form_validation->set_rules('kelas','kelas','required'); $this->form_validation->set_rules('jurusan','jurusan','required'); $this->form_validation->set_rules('pertemuan','pertemuan','required'); $this->form_validation->set_rules('mapel','mapel','required'); if ($this->form_validation->run()!=false) { $id = $this->input->post('id'); $nis = $this->input->post('nis'); $sakit = $this->input->post('sakit'); $izin = $this->input->post('izin'); $alfa = $this->input->post('alfa');
$kabur = $this->input->post('kabur'); $kelas = $this->input->post('kelas'); $jurusan = $this->input->post('jurusan'); $pertemuan = $this->input->post('pertemuan'); $mapel = $this->input->post('mapel'); $alasan = $this->input->post('alasan'); $tgl = date('Y-m-d'); $where = array( 'absen_id' => $id ); $data = array( 'absen_nis' => $nis, 'absen_sakit' => $sakit, 'absen_izin' => $izin, 'absen_alfa' => $alfa, 'absen_kabur' => $kabur, 'absen_kelas_id' => $kelas, 'absen_jurusan_id' => $jurusan, 'absen_pertemuan' => $pertemuan, 'absen_mapel_id' => $mapel, 'absen_tgl' => $tgl ); $this->m_data->update_data($where,$data,'absen'); redirect(base_url().'Absen'.'?alert=update'); }else{ $id = $this->input->post('id'); $where = array( 'absen_id' => $id );
$data['absen']=$this->m_data->edit_data($where,'absen')->result(); $this->load->view('menu/v_header'); $this->load->view('absen/v_edit',$data); $this->load->view('menu/v_footer'); } }
public function absen_hapus($id) { $where = array( 'absen_id' => $id ); //$this->m_data->delete_data($where,'absen'); redirect(base_url('Absen'.'?alert=hapus')); }
public function absen_print() { if (isset($_GET['tgl1'])) { $tgl1 = $_GET['tgl1']; $tgl2 = $_GET['tgl2']; }else{ $tgl1 = null; $tgl2 = null; } $data['absen'] = $this->m_data->getDataAbsen($tgl1, $tgl2)->result(); $this->load->view('absen/v_print',$data); }
public function rekapitulasi() {
if (isset($_GET['tgl1'])) { $tgl1 = $_GET['tgl1']; $tgl2 = $_GET['tgl2'];
}else{ $tgl1 = null; $tgl2 = null; } $data['absen'] = $this->m_data->getDataAbsen($tgl1, $tgl2)->result(); $this->load->view('menu/v_header'); $this->load->view('absen/v_rekap',$data); $this->load->view('menu/v_footer'); }
public function cetakSP(){
$nis = $this->input->post('nis'); $data = $this->m_data->getSiswaJoin($nis)->row(); $tgl = $this->input->post('tanggal'); if ($data) { $data_row = [ 'nama' => $data->siswa_nama,
'kelas'=> $data->kelas_nama.' - '.$data->jurusan_nama, 'tanggal' => $tgl, 'no_surat' => $this->m_data->nomorSP() ]; $input = [ 'no_sp' => $this->m_data->nomorSP(), 'nis' => $nis, 'tanggal' => $tgl ]; $this->m_data->insert_data($input,'tb_sp'); } $this->load->view('absen/v_sp', $data_row); }
} ?>
2. (model/M_data) <?php
class M_data extends CI_Model{
function cek_login($table,$where){
return $this->db->get_where($table,$where); }
// FUNGSI CRUD
// fungsi untuk mengambil data dari database function get_data($table){
return $this->db->get($table); }
// fungsi untuk menginput data ke database function insert_data($data,$table){
$this->db->insert($table,$data); }
// fungsi untuk mengedit data function edit_data($where,$table){
return $this->db->get_where($table,$where); }
// fungsi untuk mengupdate atau mengubah data di database function update_data($where,$data,$table){
$this->db->where($where); $this->db->update($table,$data); }
function delete_data($where,$table){ $this->db->delete($table,$where); }
// AKHIR FUNGSI CRUD public function getLogin($id = null)
{
if ($id === null) {
return $this->db->get('akses')->result_array(); }else{
return $this->db->get_where('akses', ['id' => $id])->result_array();
}
}
public function deletelogin($id) {
$this->db->delete('akses', ['id' => $id]); return $this->db->affected_rows(); }
public function createlogin($data) {
$this->db->insert('akses',$data); return $this->db->affected_rows(); }
public function updatelogin($data, $id) {
$this->db->update('akses', $data, ['id' => $id]); return $this->db->affected_rows();
}
//join kelas
if ($id_kelas != null) { $this->db->where('kelas_id', $id_kelas); } $this->db->join('jurusan','jurusan.jurusan_id = kelas.jurusan_id'); return $this->db->get('kelas'); } //join siswa
public function getSiswaJoin($id_siswa = null){ if ($id_siswa != null) {
$this->db->where('siswa_nis', $id_siswa); }
$this->db->join('kelas', 'kelas.kelas_id = siswa.kelas_id');
$this->db->join('jurusan','jurusan.jurusan_id = kelas.jurusan_id'); return $this->db->get('siswa');
}
public function getDataJadwal($jadwal_id = null, $hari = null, $kelas_id = null){ if ($jadwal_id != null) { $this->db->where('jadwal_id', $jadwal_id); } if ($hari != null) { $this->db->where('hari', $hari); } if ($kelas_id != null) { $this->db->where('jadwal.kelas_id', $kelas_id); }
$this->db->join('kelas', 'kelas.kelas_id = jadwal.kelas_id'); $this->db->join('jurusan','jurusan.jurusan_id = kelas.jurusan_id');
$this->db->join('mapel', 'jadwal.mapel_id = mapel.mapel_id'); $this->db->join('guru', 'jadwal.guru_nik = guru.guru_nik');
return $this->db->get('jadwal'); }
public function getDataDispen($absen = null, $id = null, $tgl_awal = null, $tgl_akhir = null){ if ($absen != null) { $this->db->where('keterangan_absen', $absen); } if ($id != null) { $this->db->where('absen_id', $id); }
if ($tgl_awal != null || $tgl_akhir != null) {
$this->db->where('absen_tgl >=', $tgl_awal); $this->db->where('absen_tgl <=', $tgl_akhir); }
$this->db->join('siswa', 'siswa.siswa_nis = absen.absen_nis'); $this->db->join('kelas', 'kelas.kelas_id = siswa.kelas_id');
$this->db->join('jurusan','jurusan.jurusan_id = kelas.jurusan_id');
return $this->db->get('absen'); }
public function getDataAbsen($tgl1 = null, $tgl2 = null, $rekap = true){ if ($tgl1 == null) {
$tgl1 = '2020-01-01'; }
if ($tgl2 == null) { $tgl2 = date('Y-m-d'); } if ($rekap == true) { $this->db->select( 'absen.*, siswa.*, kelas.kelas_nama, jurusan.jurusan_nama,
( SELECT COUNT( absen_id ) FROM absen WHERE keterangan_absen = "SAKIT" AND `absen_tgl` >= "'.$tgl1.'" AND `absen_tgl` <= "'.$tgl2.'") AS sakit,
( SELECT COUNT( absen_id ) FROM absen WHERE keterangan_absen = "IZIN" AND `absen_tgl` >= "'.$tgl1.'" AND `absen_tgl` <= "'.$tgl2.'") AS izin,
( SELECT COUNT( absen_id ) FROM absen WHERE keterangan_absen = "ALFA" AND `absen_tgl` >= "'.$tgl1.'" AND `absen_tgl` <= "'.$tgl2.'") AS alfa,
( SELECT COUNT( absen_id ) FROM absen WHERE keterangan_absen = "KABUR" AND `absen_tgl` >= "'.$tgl1.'" AND `absen_tgl` <= "'.$tgl2.'") AS kabur'
);
$this->db->group_by('absen.absen_nis'); }
$this->db->join('siswa', 'siswa.siswa_nis = absen.absen_nis'); $this->db->join('kelas', 'kelas.kelas_id = siswa.kelas_id');
$this->db->join('jurusan','jurusan.jurusan_id = kelas.jurusan_id');
if ($tgl1 != null || $tgl2 != null) {
$this->db->where('absen_tgl >=', $tgl1); $this->db->where('absen_tgl <=', $tgl2);
}
$this->db->where_in('keterangan_absen', ['SAKIT', 'IZIN', 'ALFA', 'KABUR']);
$this->db->order_by('absen_tgl', 'DESC'); $query = $this->db->get('absen');
return $query; }
public function nomorSP(){
$this->db->select("MAX(no_sp) as no_surat"); $data = $this->db->get('tb_sp')->row();
$no_sp = $data->no_surat; $no_sp = explode('-', $no_sp); $no_sp = $no_sp[1];
$no = sprintf("%03s", $no_sp+1); return "SP-".$no;
} } ?>
Cetak Sp
public function cetakSP(){
$nis = $this->input->post('nis');
$data = $this->m_data->getDataAbsen(null,null,true,$nis)->row();
$tgl = $this->input->post('tanggal'); if ($data) {
$text = "NO SURAT :
".$this->m_data->nomorSP()."\nTanggal Cetak : ".date('Y-m-d')."\nNAMA SISWA : ".$data->siswa_nama."\n \nSAKIT : ".$data->sakit."\nIZIN : ".$data->izin."\nALFA : ".$data->alfa."\nKABUR : ".$data->kabur;
$resi = chiper_encrypt('yulistiana', $text); $resi2 = chiper_encrypt('yogi', $resi);
$resi3 = chiper_encrypt ('syra', $resi2); $resi = base64_encode($resi3); $params['data'] = $resi; $params['level'] = 'H'; $params['size'] = 2; $params['savename'] = FCPATH.'/assets/img/qrcode.png'; $this->ciqrcode->generate($params); $data_row = [ 'nama' => $data->siswa_nama,
'kelas'=> $data->kelas_nama.' - '.$data->jurusan_nama, 'tanggal' => $tgl, 'no_surat' => $this->m_data->nomorSP(), 'qrcode' => base_url().'assets/img/qrcode.png' ]; $input = [ 'no_sp' => $this->m_data->nomorSP(), 'nis' => $nis, 'tanggal' => $tgl ]; $this->m_data->insert_data($input,'tb_sp'); } $this->load->view('absen/v_sp', $data_row); } } <?php $no = 1; foreach($absen as $pr){
echo $pr->siswa_nama; echo $no++; echo $pr->absen_nis; echo $pr->kelas_nama; echo $pr->jurusan_nama; echo $pr->sakit; echo $pr->izin; echo $pr->alfa; echo $pr->kabur; echo ($pr->izin+$pr->sakit+$pr->alfa+$pr->kabur) } ?>
4.4 Pengujian
1. Pengujian Form Login
Tabel IV. 14 Pengujian Form Login
No Scenario
Pengujian Test Case
Hasil yang Diinginkan Hasil Pengujian Kesimpulan 1 Mengosongkan semua isian data login pada form login, lalu klik
“login” Semua isian kosong Sistem akan menolak askes login Sesuai harapan Valid 2 Hanya mengisi Username dan password kosong, lalu mengklik tombol “login” menginput salah satu isian Sistem akan menolak askes login “maaf! User
name dan password salah” Sesuai harapan Valid 3 Menginput dengan salah satu data yang benar saja benar,
lalu klik tombol “login” Salah satu di input dengan data yang salah Sistem akan menolak akses login “maaf! User
name dan password salah” Sesuai harapan Valid 4 Menginput dengan data yang benar, lalu
“login” Menginput isian dengan data yang benar Sistem akan menerima dan bisa login untuk
mengakses
Sesuai
harapan Valid
2. Pengujian Halaman Admin a. Halaman mengelola data siswa
Tabel IV. 15
Pengujian Halaman Data Siswa
No Scenario
Pengujian Test Case
Hasil yang Diinginkan Hasil Pengujian Kesimpulan 1 Mengosongkan semua isian data siswa pada form data siswa, lalu
klik “simpan” Semua isian kosong Sistem akan menolak menyimpan data Sesuai harapan Valid 2 Hanya mengisi sebagian isian Isian pada form tidak Sistem akan menolak Sesuai harapan Valid
form pada form data siswa lalu
mengklik tombol “simpan”
lengkap menyimpan data
3 Menginput semua data dengan lengkap, lalu mengklik “simpan” Semua isian pada form terisi Sistem akan menerima dan bisa menyimpan
data siswa baru “selamat data berhasil disimpan” Sesuai harapan Valid 4 Mengklik “edit” untuk merubah data siswa, lalu klik “simpan” Isian form yang dirubah terisi Sistem akan menerima dan mengupdate data siswa “salamat data berhasil di update” Sesuai harapan Valid 5 Mengklik “edit” untuk merubah data siswa, dan
hanya menghapus isi pada isian form
lalu klik “simpan” Isian yang akan di ubah tidak di isi kembali Sistem akan menolak menyimpan data Sesuai harapan Valid 6 Mengklik “hapus” untuk menghapus data siswa Pilih data yang akan di hapus Sistem akan menerima dan menghapus data Sesuai harapan Valid
b. Halaman Mengelola Data Kelas
Tabel IV. 16
Pengujian Halaman Data Kelas
No Scenario
Pengujian Test Case
Hasil yang Diinginkan Hasil Pengujian Kesimpulan 1 Mengosongkan semua isian data kelas pada form data kelas, lalu
klik “simpan” Semua isian kosong Sistem akan menolak menyimpan data Sesuai harapan Valid 2 Hanya mengisi sebagian isian form pada form
data kelas lalu mengklik tombol “simpan” Isian pada form tidak lengkap Sistem akan menolak menyimpan data Sesuai harapan Valid
3 Menginput semua data dengan lengkap, lalu mengklik “simpan” Semua isian pada form terisi Sistem akan menerima dan bisa menyimpan
data kelas baru “selamat data berhasil disimpan” Sesuai harapan Valid 4 Mengklik “edit” untuk merubah data kelas, lalu klik “simpan” Isian form yang dirubah terisi Sistem akan menerima dan mengupdate data kelas “selamat data berhasil di update” Sesuai harapan Valid 5 Mengklik “edit” untuk merubah data kelas, dan
hanya menghapus isi pada isian form
lalu klik “simpan” Isian yang akan di ubah tidak di isi kembali Sistem akan menolak menyimpan data Sesuai harapan Valid 6 Mengklik “hapus” untuk menghapus data kelas Pilih data yang akan di hapus Sistem akan menerima dan menghapus data “ selamat data terhapus” Sesuai harapan Valid
c. Halaman Kelola Data Jurusan
Tabel IV. 17
Pengujian Halaman Data Jurusan
No Scenario
Pengujian Test Case
Hasil yang Diinginkan Hasil Pengujian Kesimpulan 1 Mengosongkan semua isian data
jurusan pada form tambah data jurusan, lalu klik “simpan” Semua isian kosong Sistem akan menolak menyimpan data Sesuai harapan Valid 2 Hanya mengisi sebagian isian form pada form data jurusan lalu
mengklik tombol “simpan” Isian pada form tidak lengkap Sistem akan menolak menyimpan data Sesuai harapan Valid 3 Menginput semua data Semua isian pada Sistem akan menerima dan Sesuai harapan Valid
dengan lengkap, lalu mengklik
“simpan”
form terisi bisa menyimpan data jurusan baru
4 Mengklik “edit” untuk merubah data jurusan, lalu klik “simpan” Isian form yang dirubah terisi Sistem akan menerima dan mengupdate data jurusan “selamat data berhasil di update” Sesuai harapan Valid 5 Mengklik “edit” untuk merubah data jurusan, dan
hanya menghapus isi pada isian form
lalu klik “simpan” Isian yang akan di ubah tidak di isi kembali Sistem akan menolak menyimpan data Sesuai harapan Valid 6 Mengklik “hapus” untuk menghapus data jurusan Pilih data yang akan di hapus Sistem akan menerima dan menghapus data “selamatdata berhasil di hapus” Sesuai harapan Valid
d. Halaman Kelola Data Guru
Tabel IV. 18 P
pengujian Halaman Data Guru
No Scenario
Pengujian Test Case
Hasil yang Diinginkan Hasil Pengujian Kesimpulan 1 Mengosongkan semua isian data
guru pada form data tambah data
guru, lalu klik “simpan” Semua isian kosong Sistem akan menolak menyimpan data Sesuai harapan Valid 2 Hanya mengisi sebagian isian form pada form
data guru lalu mengklik tombol “simpan” Isian pada form tidak lengkap Sistem akan menolak menyimpan data Sesuai harapan Valid 3 Menginput semua data dengan lengkap, lalu mengklik “simpan” Semua isian pada form terisi Sistem akan menerima dan bisa menyimpan
data guru baru “selamat data
berhasil disimpan”
Sesuai
4
Mengklik “edit” untuk merubah
data guru, lalu klik “simpan” Isian form yang dirubah terisi Sistem akan menerima dan mengupdate data guru Sesuai harapan Valid 5 Mengklik “edit” untuk merubah data guru, dan
hanya menghapus isi pada isian form
lalu klik “simpan” Isian yang akan di ubah tidak di isi kembali Sistem akan menolak menyimpan data “harap lengkapi semua isian pada
form” Sesuai harapan Valid 6 Mengklik “hapus” untuk menghapus data guru Pilih data yang akan di hapus Sistem akan menerima dan menghapus data Sesuai harapan Valid
e. Halaman Kelola Data Mata Pelajaran
Tabel IV. 19
Pengujian Halaman Data Mata Pelajaran
No Scenario
Pengujian Test Case
Hasil yang Diinginkan Hasil Pengujian Kesimpulan 1 Mengosongkan semua isian data siswa pada form
tambah data mapel, lalu klik
“simpan” Semua isian kosong Sistem akan menolak menyimpan data Sesuai harapan Valid 2 Menginput data dengan benar, lalu mengklik “simpan” Semua isian pada form terisi Sistem akan menerima dan bisa menyimpan
data mapel baru “selamat data berhasil di simpan” Sesuai harapan Valid 3 Mengklik “edit” untuk merubah data mapel, lalu
klik “simpan” Isian form yang dirubah terisi Sistem akan menerima dan mengupdate data mapel “selamat data berhasisl di update” Sesuai harapan Valid 4 Mengklik “edit” untuk merubah data mapel, dan
hanya menghapus isi pada isian form
lalu klik Isian yang akan di ubah tidak di isi kembali Sistem akan menolak menyimpan data Sesuai harapan Valid
“simpan” 5 Mengklik “hapus” untuk menghapus data mapel Pilih data yang akan di hapus Sistem akan menerima dan menghapus data Sesuai harapan Valid
f. Pengujian Halaman Kelola Data Jadwal
Tabel IV. 20
Pengujian Halaman Data Jadwal
No Scenario
Pengujian Test Case
Hasil yang Diinginkan Hasil Pengujian Kesimpulan 1 Mengosongkan semua isian data siswa pada form
tambah data jadwal, lalu klik
“simpan” Semua isian kosong Sistem akan menolak menyimpan data Sesuai harapan Valid 2 Hanya mengisi sebagian isian form pada form data jadwal lalu
mengklik tombol “simpan” Isian pada form tidak lengkap Sistem akan menolak menyimpan data Sesuai harapan Valid 3 Menginput semua data dengan lengkap, lalu mengklik “simpan” Semua isian pada form terisi Sistem akan menerima dan bisa menyimpan data jadwal baru “selamat data berhasil di simpan” Sesuai harapan Valid 4 Mengklik “edit” untuk merubah data jadwal, lalu
klik “simpan” Isian form yang dirubah terisi Sistem akan menerima dan mengupdate data jadwal “selamat data berhasil di simpan” Sesuai harapan Valid 5 Mengklik “edit” untuk merubah data jadwal, dan
hanya menghapus isi pada isian form
lalu klik “simpan” Isian yang akan di ubah tidak di isi kembali Sistem akan menolak menyimpan data Sesuai harapan Valid 6 Mengklik “hapus” untuk menghapus data Pilih data yang akan di hapus Sistem akan menerima dan menghapus data Sesuai harapan Valid
jadwal “selamat data berhasil di hapus”
3. Pengujian Halaman Kelola Data User
Tabel IV. 21 Pengujian Kelola Data User
No Scenario
Pengujian Test Case
Hasil yang Diinginkan Hasil Pengujian Kesimpulan 1 Mengosongkan semua isian data
user pada form tambah data user, lalu klik
“simpan” Semua isian kosong Sistem akan menolak menyimpan data Sesuai harapan Valid 2 Hanya mengisi sebagian isian form pada form
data user lalu mengklik tombol “simpan” Isian pada form tidak lengkap Sistem akan menolak menyimpan data Sesuai harapan Valid 3 Menginput semua data dengan lengkap, lalu mengklik “simpan” Semua isian pada form terisi Sistem akan menerima dan bisa menyimpan
data user baru “selamat data berhasil di simpan” Sesuai harapan Valid 4 Mengklik “edit” untuk merubah
data user, lalu klik “simpan” Isian form yang dirubah terisi Sistem akan menerima dan mengupdate data user “data berhasildi update” Sesuai harapan Valid 5 Mengklik “edit” untuk merubah
data user, dan hanya menghapus isi pada isian form
lalu klik “simpan” Isian yang akan di ubah tidak di isi kembali Sistem akan menolak menyimpan data Sesuai harapan Valid 6 Mengklik “hapus” untuk menghapus data user Pilih data yang akan di hapus Sistem akan menerima dan menghapus data “data berhasil di hapus” Sesuai harapan Valid
4. Pengujian Halaman Kelola Data Absensi Siswa
Tabel IV. 22
Pengujian Halaman Data Absensi Siswa
No Scenario
Pengujian Test Case
Hasil yang Diinginkan Hasil Pengujian Kesimpulan 1 Menginput NIS salah lalu klik
“simpan” Input isian nim salah Sistem akan menolak “Tidak ditemukan” Sesuai Harapan Valid 2 Mengosongkan isian Nis lalu klik “simpan” Isian Nim kosong Sistem akan menolak menyimpan data Sesuai harapan Valid 3 Menginput semua data dengan lengkap, lalu mengklik “simpan” Semua isian pada form terisi Sistem akan menerima dan bisa menyimpan
data absen baru “selamat data berhasil di simpan” Sesuai harapan Valid 4 Mengklik “hapus” untuk menghapus data absensi siswa Pilih data yang akan di hapus Sistem akan menerima dan menghapus data Sesuai harapan Valid
5. Pengujian Halaman halaman surat dispensasi
Tabel IV. 23
Pengujian Halaman Surat Dispen
No Scenario
Pengujian Test Case
Hasil yang Diinginkan Hasil Pengujian Kesimpulan 1 Menginput NIS salah lalu klik
simpan Input isian nim salah Sistem akan menolak “Tidak ditemukan” Sesuai Harapan Valid 2 Mengosongkan isian Nis lalu
klik simpan Isian Nim kosong Sistem akan menolak menyimpan data Sesuai harapan Valid 3 Mengosongkan salah isian pada
form surat dispen Salah satu isian kosong Sistem akan menolak menyimpan data Sesuai harapan Valid 4 Menginput semua data dengan lengkap, lalu mengklik “simpan” Semua isian pada form terisi Sistem akan menerima dan bisa menyimpan
data absen baru “selamat data
berhasil di
Sesuai
simpan”
4.5 Pendukung
4.5.1 Publikasi Web
Publikasi website Sistem Informasi agenda piket dilakukan dengan sistem intranet sekolah yang memanfaatkan jaringan local, dengan mempublikasikannya dilingkungan sekolah SMK Negeri 1 Gergerbitung hanya dapat di akses oleh lingkungan sekolah saja. Selain itu dibutuhkan juga perangkat keras untuk menunjang kinerja website sistem informasi agenda piket.
4.5.2 Spesifikasi Hardware dan Software
Suatu sistem pada program tidak dapat berdiri sendiri, melainkan membutuhkan sarana pendukung untuk dapat berjalan dengan baik. Sarana pendukung yang dibutuhkan antara lain adalah sebagai berikut perangkat keras dan perangkat lunak dan pengguna
1. Spesifikasi Hardware
Perangkat keras 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. Processor : xeon x5450 3.00Ghz b. Motherboard : asus lga775
c. Memory : 4Gb
d. Monitor : spc 19inch 1440 x 900 e. hard disk : 500gb
f. keyboard : standart keyboard g. mouse : Standart mouse
h. printer : Epson L120 2. Spesifikasi software
Keberadaan perangkat lunak selalu menyertai perangkat keras yang ada. Perangkat lunak yang dibutuhkan sebagai berikut:
a. sistem operasi : win 7
b. software aplikasi : XAMPP (7.4.7) c. software database : mySql server
4.6 Spesifikasi Dokumen Sistem Usulan Dokumen masukan
dari sistem yang diusulkan sebagai berikut: 1. Form dispensasi
Form surat dispensasi
Nama Dokumen : form dispensasi
Fungsi : Sebagai surat dispensasi
Sumber : siswa
Tujuan : guru piket
Frekuensi : Setiap ada permintaan dispensasi
Media : Monitor
Bentuk : Lampiran B.1 2. Data absensi siswa
Form absensi siswa
Nama Dokumen : form absen siswa
Fungsi : untuk mencatat absen siswa yang tidak hadir Sumber : sekretaris kelas
Frekuensi : Setiap pelajaran jam pertama dan jam terakhir Media : tampilan layar
Bentuk : Lampiran B.2
Dokumen keluaran
1. Surat dispensasi
Halaman laporan dispensasi
Nama Dokumen : surat dispensasi
Fungsi : Sebagai surat dispensasi Sumber : guru piket
Tujuan : siswa
Frekuensi : Setiap ada permintaan dispensasi Media : tampilan layar
Bentuk : Lampiran B.3 2. Laporan surat dispensasi
Halaman laporan dispensasi
Nama Dokumen : laporan surat dispensasi Fungsi : Sebagai laporan dispensasi Sumber : guru piket
Tujuan : siswa
Frekuensi : Setiap ada permintaan dispensasi Media : tampilan layar
Bentuk : Lampiran B.4 3. Laporan absensi
Halaman rekapitulasi
Fungsi : untuk menyusun laporan Sumber : guru piket
Tujuan : kepala sekolah
Frekuensi : per hari ini, per minggu, dan perbulan Media : tampilan layar
Bentuk : Lampiran B.5 4. Surat panggilan
surat panggilan di halaman rekapitulasi Nama Dokumen : surat panggilan
Fungsi : Sebagai surat panggilan kepada orang tua murid
Sumber : kesiswaan
Tujuan : memanggil orang tua murid ke sekolah
Frekuensi : Setiap ada siswa-siswi yang perlu di tindak lanjuti Media : tampilan layar