• Tidak ada hasil yang ditemukan

BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN. Berikut ini spesifikasi kebutuhan (system requirement) dari sistem pendaftaran di

N/A
N/A
Protected

Academic year: 2022

Membagikan "BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN. Berikut ini spesifikasi kebutuhan (system requirement) dari sistem pendaftaran di"

Copied!
63
0
0

Teks penuh

(1)

21 BAB IV

RANCANGAN SISTEM DAN PROGRAM USULAN

4.1 Analisis Kebutuhan Software A. Tahapan Analisis

Pada sistem pendaftaran pondok Utrujjah ini, hak akses tertinggi sebagai pengurus diberikan kepada admin untuk mengelola pendaftaran di pondok Utrujjah.

Berikut ini spesifikasi kebutuhan (system requirement) dari sistem pendaftaran di Pondok Utrujjah.

Halaman Administrasi:

A1. Admin login menggunakan username dan password A2. Admin dapat mengelola dashboard

A3. Admin dapat mengelola data pengaturan

A4. Admin dapat mengelola data jenjang pendidikan A5. Admin dapat mengelola pendaftaran santri A6. Admin dapat mengelola data orangtua A7. Admin dapat mengelola laporan pendaftaran A8. Admin dapat mengelola laporan pembayaran A9. Admin dapat melakukan logout

(2)

22

B. Use Case Diagram

1. Use Case Diagram Admin

Gambar IV. 1

Gambar Use Case Diagram Admin

Deskripsi Use Case Diagram admin melakukan login Tabel IV. 1

Deskripsi Use Case Diagram Admin Melakukan Login Use Case Name Login

Requirements A1

Goal Admin dapat melakukan login

Pre-condition Admin menginput username dan password Post-condition Login berhasil dilakukan

(3)

Failed end condition Gagal melakukan login, kembali ke form login Primary Actors Admin

Main Flow/Basic Path Admin dapat melakukan login dengan username dan password

Invariant A -

Deskripsi Use Case Diagram admin melakukan logout Tabel IV. 2

Deskripsi Use Case Diagram Logout

Use Case Name Logout

Requirement A7

Goal Admin dapat melakukan logout

Pre-conditionts Admin akan melakukan logout Post-conditionts Logout berhasil dilakukan Failed End Condition Gagal melakukan logout Primary Actors Admin

Main Flow/ Bassic Path Admin dapat melakukan logout

Invariant -

(4)

1. Package Diagram Halaman Admin

Gambar IV. 2

Package Diagram Use Case Halaman Admin

(5)

2. Use Case Diagram Mengelola Pengaturan

Gambar IV. 3

Detail Use Case Diagram Mengelola Data Pengturan

Deskripsi Use Case Diagram Mengelola Data Pengaturan Tabel IV. 3

Deskripsi Use Case Diagram Mengelola Data Pengaturan Use Case Name Pengaturan

Requirements A3

Goal Admin dapat mengelola data pengaturan (mengubah)

Pre-conditions Admin sudah melakukan login Post-conditions Pengaturan berhasil disimpan Failed end conition Gagal mengelola data pengaturan Primary Actors Admin

Main Flow/ Bassic Path 1. Admin melihat data pengaturan 2. Admin mengubah data pengaturan

(6)

3. Admin menyimpan data pengaturan

Invariant -

3. Use Case Diagram Mengelola Data Jenjang Pendidikan

Gambar IV. 4

Detail Use Case Diagram Mengelola Data Jenjang Pedidikan

Deskripsi Use Case Diagram Mengelola Data Jenjang Pendidikan

Tabel IV. 4

Deskripsi Use Case Diagram Mengelola Data Jenjang Pendidikan Use Case Name Data Jenjang Pendidikan

Requirement A4

Goal Admin dapat mengelola data jenjang pendidikan (menambah, mengubah, menghapus)

Pre-conditionts Admin telah melakukan login

(7)

Post-conditionts Data jenjang pendidikan berhasil disimpan Failed end condition Gagal menambahkan, mengubah, menghapus

jenjang pendidikan

Primary Actors Admin

Main Flow/ Bassic Path 1. Admin dapat melihat data jenjang pendidikan 2. Admin dapat menambahkan data jenjang pendidikan

3. Admin dapat mengubah data jenjang pendidikan

4. Admin dapat menghapus data jenjang pendidikan

Invariant -

4. Use Case Diagram Mengelola Pendaftaran Santri

Gambar IV. 5

Detail Use Case Diagram Mengelola Pendaftaran Santri

Desksripsi Use Case Diagram Mengelola Pendaftaran Santri

(8)

Tabel IV. 5

Desksripsi Use Case Diagram Mengelola Pendaftaran Santri Use Case Name Pendaftaran Santri

Requirement A5

Goal Admin dapat mengelola pendaftaran santri Pre-conditionts Admin sudah melakukan login

Post-conditionts Data calon santri berhasil disimpan Failed End Condition Gagal mengelola data santri

Primary Actors Admin

Main Flow/ Bassic Path 1. Admin dapat mengisi profil santri

2. Admin dapat mengisi data orangtua santri 3. Admin dapat memilih jenjang pendidikan yang diambil

4. Admin dapat menyimpan data pendaftaran santri

Invariant -

(9)

5. Use Case Diagram Mengelola Data Orangtua

Gambar IV. 6

Detail Use Case Diagram Mengelola Data Orangtua

Deskripsi Use Case Diagram Mengelola Data Orangtua

Tabel IV. 6

Deskripsi Use Case Diagram Mengelola Data Orangtua Use Case Name Data Orangtua

Requirement A6

Goal Admin dapat mengelola data orangtua Pre-conditionts Admin sudah melakukan login

Post-conditionts Data orangtua berhasil disimpan Failed End Condition Gagal mengubah data orangtua Primary Actors Admin

Main Flow/ Bassic Path 1. Admin dapat melihat data orangtua

(10)

2. Admin dapat mengubah data orangtua 3. Admin dapat menyimpan data orangtua

Invariant -

6. Use Case Diagram Mengelola Laporan Pendaftaran

Gambar IV. 7

Detail Use Case Diagram Mengelola Laporan Pendaftaran

Deskripsi Use Case Diagram Mengelola Laporan Pendaftaran

Tabel IV. 7

Deskripsi Use Case Diagram Mengelola Laporan Pendaftaran Use Case Name Laporan Pendaftaran

Requirement A7

Goal Admin dapat mengelola dan mencetak data laporan pendaftaran

Pre-conditionts Admin telah melakukan login

(11)

Post-conditionts Admin dapat mencetak data laporan pendaftaran Failed End Condition Admin tidak mengubah dan mencetak laporan

pendaftaran

Primary Actors Admin

Main Flow/ Bassic Path 1. Admin dapat melihat data laporan pendaftaran 2. Admin dapat menambahkan data pendaftaran 3. Admin dapat mengubah data pendaftaran 4. Admin dapat menghapus data pendaftaran 5. Admin dapat mencetak laporan pendaftaran

Invariant -

7. Use Case Diagram Mengelola Laporan Pembayaran

Gambar IV. 8

Detail Use Case Diagram Mengelola Laporan Pembayaran

Deskripsi Use Case Diagram Mengelola Laporan Pembayaran

Tabel IV. 8

(12)

Deskripsi Use Case Diagram Mengelola Laporan Pembayaran Use Case Name Laporan Pembayaran

Requirement A8

Goal Admin dapat mengelola dan mencetak data laporan pembayaran

Pre-conditionts Admin telah melakukan login

Post-conditionts Laporan Pembayaran berhasil disimpan dan dicetaak

Failed End Condition Admin tidak mengubah dan mencetak laporan pembayaran

Primary Actors Admin

Main Flow/ Bassic Path 1. Admin dapat melihat data laporan pembayaran 2. Admin dapat melihat riwayat(rincian) data pembayaran

3. Admin dapat melakukan pembayaran 4. Admin dapat mencetak laporan pembayaran

Invariant -

C. Activity Diagram

1. Activity Diagram Admin Mengelola Data Pengaturan

(13)

Gambar IV. 9

Activity Diagram Admin Mengelola Data Pengaturan

(14)

2. Activity Diagram Admin Mengelola Data Jenjang Pendidikan

Gambar IV. 10

Activity Diagram Mengelola Data Jenjang Pendidikan

(15)

3. Activity Diagram Admin Mengelola Data Pendaftaran Santri

Gambar IV. 11

Gambar Activity Diagram Mengelola Pendaftaran Santri

(16)

4. Activity Diagram Admin Mengelola Data Orangtua

Gambar IV. 12

Gambar Activity Diagram Mengelola Data Orangtua

(17)

5. Activity Diagram Admin Mengelola Laporan Pendaftaran

Gambar IV. 13

Gambar Activitty Diagram Mengelola Laporan Pendaftaran

(18)

6. Activity Diagram Admin Mengelola Laporan Pembayaran

Gambar IV. 14

Gambar Activity Diagram Mengelola Laporan Pembayaran

(19)

4.2 Desain

4.2.1 Database (Basis Data)

1. Entity Relationship Diagram (ERD)

Gambar IV. 15

Gambar ERD Pendaftaran Utrujjah

(20)

2. LRS

Gambar IV. 16

Logical Record Structure (LRS)

3. Spesifikasi File

Rancangan yang diusulkan terdapat beberapa tabel yang tersimpan di database. Berikut tahapan spesifikasi file yang akan dijelaskan nama file, jenis, panjang record dan primary key dari setiap tabel yang diusulkan.

a. Spesifikasi File Tabel Admin

(21)

Nama Database : db_utrujjah

Nama File : Admin

Akronim : user

Tipe File : File Master

Akses File : Random

Panjang Record : 84 karakter

Kunci Field : id

Tabel IV. 9 Spesifikasi File Admin

No Elemen Data Nama Field Type Size Keterangan

1. id Id int 2 Primary Key

2. Nama Nama varchar 20

3. Username Username varchar 30

4. Password Password varchar 12

5. Terakhir Login terakhir_login datetime

6. Level Level varchar 20

b. Spesifikasi File Tabel Pendaftaran Nama Database : db_utrujjah

Nama File : Pendaftaran

Akronim : pendaftaran

Tipe File : File Master

Akses File : Random

Panjang Record : 208 karakter

Kunci Field : id

(22)

Tabel IV. 10

Spesifikasi File Pendaftaran

No Elemen Data Nama Field Type Size Keterangan

1. id Id int 6 Primary Key

2. Id Orangtua Id_orangtua int 6

3. Nama Nama varchar 40

4. Tempat Lahir tempat_lahir varchar 30

5. Tanggal lahir tgl_lahir date

6. Jenis Kelamin jenis_kelamin enum

7. Agama Agama enum

8. Status Keluarga status_keluarga varchar 30

9. Anak Ke anak_ke int 2

10. Alamat Alamat varchar 40

11. No Hp Hp char 12

12. Sekolah Asal sekolah_asal varchar 30

13. Jenjang pendidikan id_jenjang int 2

14. Tahun Ajaran tahun_ajaran char 10

c. Spesifikasi File Orangtua

Nama Database : db_utrujjah

Nama File : Orangtua

Akronim : orang_tua

Tipe File : File Master

Akses File : Random

Panjang Record : 178 karakter

Kunci Field : id

(23)

Tabel IV. 11 Spesifikasi File Orangtua

No Elemen Data Nama Field Type Size Keterangan

1. Id Id int 6 Primary Key

2. Nama Ayah nama_ayah varchar 30

3. Nama Ibu nama_ibu varchar 30

4. Pekerjaan Ayah pekerjaan_ayah varchar 30 5. Pekerjaan Ibu pekerjaan_ibu varchar 30

6. Agama Agama enum

7. Alamat Alamat varchar 40

8. No Hp Hp char 12

d. Spesifikasi File Tabel Jenjang Pendidikan Nama Database : db_utrujjah

Nama File : Jenjang Pendidikan

Akronim : jenjang_pendidikan

Tipe File : File Master

Akses File : Random

Panjang Record : 62 karakter

Kunci Field : id

Tabel IV. 12

Spesifikasi File Jenjang Pendidikan

No Elemen Data Nama Field Type Size Keterangan

1. Id id int 2 Primary Key

2. Jenjang jenjang varchar 20

3. Keterangan keterangan varchar 40

(24)

e. Spesifikasi File Tabel Pembayaran Nama Database : db_utrujjah

Nama File : Pembayaran

Akronim : pembayaran

Tipe File : File Master

Akses File : Random

Panjang Record : 12 karakter

Kunci Field : id

Tabel IV. 13

Spesifikasi File Pembayaran

No Elemen Data Nama Field Type Size Keterangan

1. Id Id int 6 Primary Key

2. Id Pendaftaran id_pendaftaran int 6

3. Bayar Bayar double

4. Sisa Sisa double

5. Status Status enum

f. Spesifikasi File Tabel Detail Pembayaran Nama Database : db_utrujjah

Nama File : Detail Pembayaran

Akronim : detail_pembayaran

Tipe File : File Master

Akses File : Random

Panjang Record : 12 karakter

Kunci Field : id

(25)

Tabel IV. 14

Spesifikasi File Detail Pembayaran

No Elemen Data Nama Field Type Size Keterangan

1. Id Id int 6 Primary Key

2. Id Pembayaran id_pembayaran int 6

3. Bayar Bayar double

4. Tanggal Bayar tgl_bayar datetime

g. Spesifikasi File Tabel Pengaturan Nama Database : db_utrujjah

Nama File : Pengaturan

Akronim : pengaturan

Tipe File : File Master

Akses File : Random

Panjang Record : 62 karakter

Kunci Field : id

Tabel IV. 15

Spesifikasi File Pengaturan

No Elemen Data Nama Field Type Size Keterangan

1. Id Id int 2 Primary Key

2. Pengaturan Pengaturan varchar 30

3. Value Value text 30 Primary Key

(26)

4. 2. 2 Software Architecture A. Class Diagram

Gambar IV. 17

Gambar Class Diagram Pendaftaran Urtujjah

(27)

B. Sequence Diagram

Gambar IV. 18 Sequence Diagram

(28)

C. Component Diagram

Gambar IV. 18 Component Diagram

D. Deployment Diagram

Gambar IV. 19 Deployment Diagram

(29)

4. 2. 3 User Interface a. Tampilan Login

Gambar IV. 20 Tampilan Login Admin

b. Tampilan Dashboard

Gambar IV. 21

Tampilan Halaman Dashboard

(30)

c. Tampilan Pengaturan

Gambar IV. 22

Tampilan Halaman Pengaturan

d. Tampilan Jenjang Pendidikan

Gambar IV. 23

Tampilan Halaman Jenjang Pendidikan

(31)

e. Tampilan Tambah Jenjang Pendidikan

Gambar IV. 24

Tampilan Halaman Tambah Jenjang Pendidikan

f. Tampilan Ubah Jenjang Pendidikan

Gambar IV. 25

Tampilan Halaman Ubah Jenjang Pendidikan

(32)

g. Tampilan Hapus Jenjang Pendidikan

Gambar IV. 26

Tampilan Halaman Hapus Jenjang Pendidikan

g. Tampilan Pendaftaran Santri

Gambar IV. 27

Tampilan Halaman Pendaftaran

(33)

h. Tampilan Pendaftaran Santri

Gambar IV. 28

Tampilan Halaman Pendaftaran

i. Tampilan Pendaftaran Santri

Gambar IV. 29

Tampilan Halaman Pendaftaran

(34)

j. Tampilan Data Orangtua

Gambar IV. 30

Tampilan Halaman Data Orangtua

k. Tampilan Ubah Data Orangtua

Gambar IV. 31

Tampilan Halaman Ubah Data Orangtua

(35)

l. Tampilan Laporan Pendaftaran

Gambar IV. 32

Tampilan Halaman Laporan Pendaftaran

j. Tampilan Cetak Pendaftaran

Gambar IV. 33

Tampilan Halaman Cetak Pendaftaran

(36)

k. Tampilan Cetak Bukti Pendaftaran

Gambar IV. 34

Tampilan Halaman Cetak Bukti Pendaftaran

l. Tampilan Rekap Pendaftaran

Gambar IV. 35

Tampilan Halaman Rekap Pendaftaran

(37)

l. Tampilan Ubah Laporan Pendaftaran

Gambar IV. 36

Tampilan Halaman Ubah Laporan Pendaftaran

m. Tampilan Hapus Data Pendaftaran

Gambar IV. 37

Tampilan Halaman Hapus Data Pendaftaran

(38)

n. Tampilan Laporan Pembayaran

Gambar IV. 38

Tampilan Halaman Laporan Pembayaran

o. Tampilan Cetak Pembayaran

Gambar IV. 39

Tampilan Halaman Cetak Pembayaran

(39)

p. Tampilan Cetak Riwayat Pembayaran

Gambar IV. 40

Tampilan Halaman Cetak Riwayat Pembayaran

q. Tampilan Bukti Pembayaran

Gambar IV. 41

Tampilan Halaman Bukti Pembayaran

(40)

r. Tampilan Bayar

Gambar IV. 42 Tampilan Halaman Bayar

4. 3 Code Generation a. Model

pendaftaran_model.php

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Pendaftaran_model extends CI_Model { var $table = 'pendaftaran';

public function count_all($tahun) {

$this->db->from($this->table);

$this->db->where('tahun_ajaran', $tahun);

return $this->db->count_all_results();

}

public function get_by_id($id) {

(41)

$this->db->from($this->table);

$this->db->where('id',$id);

$query = $this->db->get();

return $query->row();

}

public function save($data) {

$this->db->insert($this->table, $data);

return $this->db->insert_id();

}

public function update($where, $data) {

$this->db->update($this->table, $data, $where);

return $this->db->affected_rows();

}

public function delete_by_id($id) {

$this->db->where('id', $id);

$this->db->delete($this->table);

}

public function getData($tahun) { $this->db->from($this->table);

$query = $this->db->where('tahun_ajaran',$tahun)->get();

return $query->result();

}

}

(42)

b. View

pendaftaran.php

<?php

$cek = $this->db->query("SELECT COUNT(id) AS total FROM pendaftaran")->row();

$num = $cek->total;

?>

<div class="row">

<div class="col-lg-12">

<div class="card">

<form action="<?= base_url() ?>pendaftaran/simpan"

method="post" class="form-horizontal">

<input type="hidden" name="tahun_ajaran"

value="<?= $tahun_ajaran->value ?>">

<input type="hidden" name="id" value="<?= $num+1

?>">

<div class="card-header">

PROFIL

</div>

<div class="card-body">

<?php if ($this->session->flashdata('pesan')) {?>

<div class="alert alert-success"><i class="fas fa-check"></i> <?= $this->session->flashdata('pesan') ?></div>

<?php } ?>

<div class="row">

<div class="col-lg-6 col-md-6 col-12">

<div class="form-group">

<label class="form-

(43)

control-label col-sm-3">Nama lengkap</label>

<div class="col-sm-12 col-12">

<input type="text" name="nama" placeholder="Nama lengkap" required class="form- control" autocomplete="off">

</div>

</div>

<div class="form-group">

<label class="form- control-label col-sm-3">Tempat lahir</label>

<div class="col-sm-12 col-12">

<input

type="text" name="tempat_lahir" placeholder="Tempat lahir" required class="form- control" autocomplete="off">

</div>

</div>

<div class="form-group">

<label class="form- control-label col-sm-9">Tanggal Lahir

<small>(bulan/tanggal/tahun)</small></label>

<div class="col-sm-12 col-12">

<input

type="date" name="tgl_lahir" required class="form-control" autocomplete="off">

</div>

</div>

<div class="form-group">

<label class="form- control-label col-sm-3">Jenis kelamin</label>

<div class="col-sm-12 col-12">

(44)

<input type="radio" name="jenis_kelamin" value="L" id="l"> <label for="l">Laki- laki</label>

<input type="radio" name="jenis_kelamin" value="P" id="p"> <label

for="p">Perempuan</label>

</div>

</div>

<div class="form-group">

<label class="form- control-label col-sm-3">Agama</label>

<div class="col-sm-12 col-12">

<select name="agama" class="form-control">

<option value="Islam">Islam</option>

<option value="Kristen">Kristen</option>

<option value="Hindu">Hindu</option>

<option value="Buddha">Buddha</option>

<option value="Konghucu">Konghucu</option>

</select>

</div>

</div>

</div>

<div class="col-lg-6 col-md-6 col-12">

(45)

<div class="form-group">

<label class="form- control-label col-sm-6">Status dalam keluarga</label>

<div class="col-sm-12 col-12">

<select name="status_keluarga" class="form-control">

<option value="Anak kandung">Anak kandung</option>

<option value="Bukan anak kandung">Bukan anak kandung</option>

</select>

</div>

</div>

<div class="form-group">

<label class="form- control-label col-sm-3">Anak ke</label>

<div class="col-sm-12 col-12">

<input type="number" value="1" name="anak_ke" class="form-control"

autocomplete="off">

</div>

</div>

<div class="form-group">

<label class="form- control-label col-sm-3">Alamat</label>

<div class="col-sm-12 col-12">

<textarea class="form-control" autocomplete="off" name="alamat"

placeholder="Alamat"></textarea>

</div>

(46)

</div>

<div class="form-group">

<label class="form- control-label col-sm-3">Nomor hp</label>

<div class="col-sm-12 col-12">

<input type="tel"

maxlength="12" placeholder="08xx" name="hp" required class="form-control"

autocomplete="off">

</div>

</div>

<div class="form-group">

<label class="form- control-label col-sm-3">Sekolah asal</label>

<div class="col-sm-12 col-12">

<input type="text" name="sekolah_asal" class="form-control" autocomplete="off"

placeholder="Sekolah asal">

</div>

</div>

</div>

</div>

</div>

<div class="card-header" style="border-top: 1px solid

#DDD;">

DATA ORANG TUA

</div>

<div class="card-body">

<div class="row">

<div class="col-lg-6 col-md-6 col-12">

(47)

<div class="form-group">

<label class="form- control-label col-sm-3">Nama Ayah</label>

<div class="col-sm-12 col-12">

<input type="text" name="nama_ayah" class="form-control" autocomplete="off"

placeholder="Nama ayah">

</div>

</div>

<div class="form-group">

<label class="form- control-label col-sm-3">Pekerjaan ayah</label>

<div class="col-sm-12 col-12">

<select name="pekerjaan_ayah" required class="form-control">

<option value="">- PILIH -</option>

<option value="Guru">Guru</option>

<option value="Polisi">Polisi</option>

<option value="Tentara">Tentara</option>

<option value="Wiraswasta">Wiraswasta</option>

<option value="Buruh">Buruh</option>

<option value="Lainnya">Lainnya</option>

</select>

</div>

(48)

</div>

<div class="form-group">

<label class="form- control-label col-sm-5">Pendidikan ayah</label>

<div class="col-sm-12 col-12">

<select name="pendidikan_ayah" class="form-control" required>

<option value="SD/Sederajat">SD / Sederajat</option>

<option value="SLTP/Sederajat">SLTP / Sederajat</option>

<option value="SLTA/Sederajat">SLTA / Sederajat</option>

<option value="D3">D3</option>

<option value="S1">S1</option>

<option value="S2">S2</option>

<option value="S3">S3</option>

</select>

</div>

</div>

<div class="form-group">

<label class="form- control-label col-sm-3">Agama</label>

<div class="col-sm-12 col-12">

<select name="agama_ortu" class="form-control">

<option

(49)

value="Islam">Islam</option>

<option value="Kristen">Kristen</option>

<option value="Hindu">Hindu</option>

<option value="Buddha">Buddha</option>

<option value="Konghucu">Konghucu</option>

</select>

</div>

</div>

<div class="form-group">

<label class="form- control-label col-sm-6">Alamat orang tua</label>

<div class="col-sm-12 col-12">

<textarea class="form-control" autocomplete="off" name="alamat_ortu"

placeholder="Alamat"></textarea>

</div>

</div>

<div class="form-group">

<label class="form- control-label col-sm-3">Nomor hp</label>

<div class="col-sm-12 col-12">

<input type="tel"

maxlength="12" name="no_hp" placeholder="08xx" class="form-control"

autocomplete="off">

</div>

</div>

</div>

(50)

<div class="col-lg-6 col-md-6 col-12">

<div class="form-group">

<label class="form- control-label col-sm-3">Nama Ibu</label>

<div class="col-sm-12 col-12">

<input type="text" name="nama_ibu" class="form-control" autocomplete="off"

placeholder="Nama ibu">

</div>

</div>

<div class="form-group">

<label class="form- control-label col-sm-3">Pekerjaan ibu</label>

<div class="col-sm-12 col-12">

<select name="pekerjaan_ibu" required class="form-control">

<option value="">- PILIH -</option>

<option value="Guru">Guru</option>

<option value="Polisi">Polisi</option>

<option value="Buruh">Ibu rumah tangga</option>

<option value="Wiraswasta">Wiraswasta</option>

<option value="Buruh">Buruh</option>

<option value="Lainnya">Lainnya</option>

</select>

(51)

</div>

</div>

<div class="form-group">

<label class="form- control-label col-sm-3">Pendidikan ibu</label>

<div class="col-sm-12 col-12">

<select name="pendidikan_ibu" class="form-control" required>

<option value="SD/Sederajat">SD / Sederajat</option>

<option value="SLTP/Sederajat">SLTP / Sederajat</option>

<option value="SLTA/Sederajat">SLTA / Sederajat</option>

<option value="D3">D3</option>

<option value="S1">S1</option>

<option value="S2">S2</option>

<option value="S3">S3</option>

</select>

</div>

</div>

</div>

</div>

</div>

<div class="card-header" style="border-top: 1px solid

#DDD">

<div class="form-group">

<label>Pilih Jenjang

(52)

Pendidikan</label>

<select class="form-control"

name="jenjang_pendidikan" required>

<option value="">- Pilih -

</option>

<?php

$fetch = $this->db-

>query("SELECT * FROM jenjang_pendidikan WHERE status='1'")->result();

foreach ($fetch as $row) {

echo '<option value="'.$row->id.'">'.$row->jenjang.' ('.$row->keterangan.')</option>';

}

?>

</select>

</div>

</div>

<div class="card-footer">

<button class="btn btn-primary btn-md"

type="submit">Simpan pendaftaran</button>

</div>

</form>

</div>

</div>

</div>

(53)

c. Controller pendaftaran.php

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Pendaftaran extends CI_Controller {

public function index() {

$id = $this->session->userdata('ut_id');

if ($id == "") {

$this->session->set_flashdata('pesan','Session login Anda tidak terdaftar, silahkan login terlebih dahulu');

redirect(base_url());

}

$data['nama_pontren'] = $this->pengaturanModel->getvalue(1);

$data['alamat_pontren'] = $this->pengaturanModel->getvalue(2);

$data['telp_pontren'] = $this->pengaturanModel->getvalue(3);

$data['biaya'] = $this->pengaturanModel->getvalue(4);

$data['tahun_ajaran'] = $this->pengaturanModel->getvalue(5);

$tahun = $this->pengaturanModel->getvalue(5);

$data['judul'] = 'Pendaftaran tahun ajaran '.$tahun->value;

$data['subjudul'] = 'Pendaftaran santri';

$data['content'] = 'admin/pendaftaran';

$data['list'] = $this->pendaftaranModel->getData($tahun->value);

$data['menu3'] =

'active';$data['menu2']=$data['menu7']=$data['menu4']=$data['menu5']=$data['menu 6']=$data['menu1'] = '';

(54)

$this->load->view('layout/wrapper', $data);

}

public function tambah() {

$id = $this->session->userdata('ut_id');

if ($id == "") {

$this->session->set_flashdata('pesan','Session login Anda tidak terdaftar, silahkan login terlebih dahulu');

redirect(base_url());

}

$data['nama_pontren'] = $this->pengaturanModel->getvalue(1);

$data['alamat_pontren'] = $this->pengaturanModel->getvalue(2);

$data['telp_pontren'] = $this->pengaturanModel->getvalue(3);

$data['biaya'] = $this->pengaturanModel->getvalue(4);

$data['tahun_ajaran'] = $this->pengaturanModel->getvalue(5);

$data['judul'] = 'Formulir pendaftaran';

$data['subjudul'] = 'Pendaftaran santri';

$data['content'] = 'admin/pendaftaran_tambah';

$data['menu3'] =

'active';$data['menu2']=$data['menu7']=$data['menu4']=$data['menu5']=$data['menu 6']=$data['menu1'] = '';

$this->load->view('layout/wrapper', $data);

}

public function simpan() {

(55)

date_default_timezone_set('Asia/Jakarta');

$data = [

'nama' => $this->input->post('nama'), 'id_orangtua' => $this->input->post('id'),

'tempat_lahir' => $this->input->post('tempat_lahir'), 'tgl_lahir' => $this->input->post('tgl_lahir'),

'jenis_kelamin' => $this->input->post('jenis_kelamin'), 'agama' => $this->input->post('agama'),

'status_keluarga' => $this->input->post('status_keluarga'), 'anak_ke' => $this->input->post('anak_ke'),

'alamat' => $this->input->post('alamat'), 'hp' => $this->input->post('hp'),

'sekolah_asal' => $this->input->post('sekolah_asal'), 'id_jenjang' => $this->input->post('jenjang_pendidikan'), 'tahun_ajaran' => $this->input->post('tahun_ajaran'), 'created_at' => date('Y-m-d H:i:s'),

'updated_at' => date('Y-m-d H:i:s'), ];

$data2 = [

'id' => $this->input->post('id'),

'nama_ayah' => $this->input->post('nama_ayah'), 'nama_ibu' => $this->input->post('nama_ibu'),

'pekerjaan_ayah' => $this->input->post('pekerjaan_ayah'), 'pekerjaan_ibu' => $this->input->post('pekerjaan_ibu'), 'pendidikan_ayah' => $this->input->post('pendidikan_ayah'), 'pendidikan_ibu' => $this->input->post('pendidikan_ibu'), 'agama' => $this->input->post('agama_ortu'),

'alamat' => $this->input->post('alamat_ortu'), 'hp' => $this->input->post('no_hp'),

'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')

(56)

];

$this->pendaftaranModel->save($data);

$this->ortuModel->save($data2);

$this->session->set_flashdata('pesan','Data berhasil disimpan');

redirect(base_url().'laporan');

}

public function update() {

date_default_timezone_set('Asia/Jakarta');

$id = $this->input->post('id');

$data = [

'nama' => $this->input->post('nama'), 'id_orangtua' => $this->input->post('id'),

'tempat_lahir' => $this->input->post('tempat_lahir'), 'tgl_lahir' => $this->input->post('tgl_lahir'),

'agama' => $this->input->post('agama'),

'status_keluarga' => $this->input->post('status_keluarga'), 'anak_ke' => $this->input->post('anak_ke'),

'alamat' => $this->input->post('alamat'), 'hp' => $this->input->post('hp'),

'sekolah_asal' => $this->input->post('sekolah_asal'), 'id_jenjang' => $this->input->post('jenjang_pendidikan'), 'tahun_ajaran' => $this->input->post('tahun_ajaran'), 'updated_at' => date('Y-m-d H:i:s'),

];

$data2 = [

'nama_ayah' => $this->input->post('nama_ayah'),

(57)

'nama_ibu' => $this->input->post('nama_ibu'),

'pekerjaan_ayah' => $this->input->post('pekerjaan_ayah'), 'pekerjaan_ibu' => $this->input->post('pekerjaan_ibu'), 'pendidikan_ayah' => $this->input->post('pendidikan_ayah'), 'pendidikan_ibu' => $this->input->post('pendidikan_ibu'), 'agama' => $this->input->post('agama_ortu'),

'alamat' => $this->input->post('alamat_ortu'), 'hp' => $this->input->post('no_hp'),

'updated_at' => date('Y-m-d H:i:s') ];

$this->pendaftaranModel->update(array('id' => $id),$data);

$this->ortuModel->update(array('id' => $id),$data2);

$this->session->set_flashdata('pesan','Data berhasil disimpan');

redirect(base_url().'laporan');

}

public function lihat($idp) {

$id = $this->session->userdata('ut_id');

if ($id == "") {

$this->session->set_flashdata('pesan','Session login Anda tidak terdaftar, silahkan login terlebih dahulu');

redirect(base_url());

}

$data['nama_pontren'] = $this->pengaturanModel->getvalue(1);

$data['alamat_pontren'] = $this->pengaturanModel->getvalue(2);

$data['telp_pontren'] = $this->pengaturanModel->getvalue(3);

$data['biaya'] = $this->pengaturanModel->getvalue(4);

$data['tahun_ajaran'] = $this->pengaturanModel->getvalue(5);

(58)

$data['judul'] = 'Ubah data pendaftaran';

$data['subjudul'] = 'Pendaftaran santri';

$data['content'] = 'admin/pendaftaran_edit';

$data['list'] = $this->pendaftaranModel->get_by_id($idp);

$data['result'] = $this->ortuModel->get_by_id($idp);

$data['menu6'] =

'active';$data['menu2']=$data['menu7']=$data['menu4']=$data['menu5']=$data['menu 3']=$data['menu1'] = '';

$this->load->view('layout/wrapper', $data);

}

public function hapus($id) {

$this->pendaftaranModel->delete_by_id($id);

$this->db->query("DELETE FROM orang_tua WHERE id='$id'");

$this->session->set_flashdata('pesan','Data berhasil dihapus');

redirect(base_url().'laporan');

}

}

4. 4 Testing

Pengujian web dalam penelitian ini dilaksanakan oleh pihak pembuat, sedangkan untuk metode pengujian yang digunakan adalah pengujian black box.

(59)

Tabel IV. 16

Hasil Pengujian Black Box Testing Form Login

No. Skenario

pengujian Test case Hasil yang

diharapkan

Hasil

pengujian Kesimpulan 1. Username dan

password tidak diisi kemudian klik tombol login

Username:

(kosong) Password:

(kosong)

Sistem akan menolak akses

admin dan

menampilkan

“please fill out this field”

Sesuai

harapan Valid

2. Mengetikkan username dan password tidak

diisi atau

kosong

kemudian klik tombol login

Username:

admin Password:

(kosong)

Sistem akan menolak akses

admin dan

menampilkan

“please fill out

this field” Sesuai

harapan Valid

3. Username tidak diisi (kosong) dan password diisi kemudian klik tombol login

Username:

(kosong) Password:

123

Sistem akan menolak akses

admin dan

menampilkan

“please fill out this field”

Sesuai

harapan Valid

4. Mengetikkan salah satu kondisi salah pada

Username atau password kemudian klik tombol login

Username:

admin (benar) Password:

321 (salah)

Sistem akan menolak akses admin dan menampilkan

“login gagal, username dan password tidak cocok”.

Sesuai harapan

Valid

5. Mengetikkan Username dan password dengan data yang benar

Username:

admin (benar) Password:

123 (benar)

Sistem menerima akses login dan kemudian langsung menampilkan

Sesuai harapan

Valid

(60)

kemudian klik tombol login

halaman dashboard.

Tabel IV. 17

Hasil Pengujian Black Box Testing Form Pendaftaran Santri

No. Skenario

pengujian Test case Hasil yang

diharapkan

Hasil

pengujian Kesimpulan 1. Mengosongkan

tempat lahir kemudian mengklik

“simpan pedaftaran”

Nama:

Sandra Dewi Tempat Lahir:

(kosong) Tanggal Lahir: 29- 07-2000 Jenis Kelamin:

Perempuan Agama:

Islam

Sistem akan menolak akses

admin dan

menampilkan

“please fill out this field”

Sesuai

harapan Valid

2. Mengisi tempat lahir kemudian mengklik

“simpan pendaftaran”

Nama:

Sandra Dewi Tempat Lahir:

Banjarmasin Tanggal Lahir: 29- 07-2000 Jenis Kelamin:

Perempuan Agama:

Islam

Sistem akan menerima akses pendaftaran dan menampilkan pesan “Data Berhasil

Disimpan” Sesuai

harapan Valid

(61)

Tabel IV. 18

Hasil Pengujian Black Box Testing Form Pembayaran

No. Skenario

pengujian Test case Hasil yang

diharapkan

Hasil

pengujian Kesimpulan 1. Mengosongkan

jumlah transaksi pembayaran

pada kolom

“Aksi”

Nama:

Dimas A Bayar: 500 Sisa:

599.500 Tanggal:

16/07/21 Status:

Belum Lunas Aksi:

(kosong)

Sistem akan menolak akses

admin dan

menampilkan

“please enter a

number” Sesuai

harapan Valid

2. Mengisi jumlah transaksi

pembayaran

pada kolom

“Aksi”

Nama:

Dimas A Bayar: 500 Sisa:

599.500 Tanggal:

16/07/21 Status:

Belum Lunas Aksi: 500

Sistem akan menerima akses pendaftaran dan menampilkan pesan

“Pembayaran Berhasil Disimpan”

Sesuai

harapan Valid

4. 5 Support

4. 5. 1 Spesifikasi Hardware dan Software

Tabel IV. 19

Spesifikasi Hardware dan Software

Kebutuhan Keterangan

Sistem Operasi Windows 10 Version 20H2

Processor Intel(R) Core™ i3-6006 CPU @ 2.00GHz 1.99 GHz

RAM 4.00 GB (3.89 GB usable)

Hardisk 320 GB

Monitor 14 inch

(62)

Keyboard QWERTY

Printer -

Mouse Standard Mouse

Browser Mozilla Firefox dan Google Chrome

Software Sistem Operasi: windows 10 enterprise Bahasa Script Programming: PHP, SQL

Web Server: XAMPP

DBMS: MYSQL Text editor: Atom

4. 6 Spesifikasi Dokumen Sistem Usulan

Merupakan semua bentuk dokumen yang terlibat dengan sistem informasi pendaftaran di Pondok Utrujjah.

a. Nama dokumen : Laporan Pendaftaran

Fungsi : Sebagai rekapitulasi santri didik baru

Sumber : Admin

Tujuan : Laporan untuk lembaga

Frekuensi : Setiap tahun ajaran baru

Bentuk : Lihat Lampiran B1

b. Nama dokumen : Bukti Pendaftaran

Fungsi : Sebagai bukti pendaftaran santri baru

Sumber : Admin

Tujuan : Laporan untuk pendaftar

Frekuensi : Setiap terjadi pendaftaran seorang santri

Bentuk : Lihat Lampiran B2

(63)

c. Nama dokumen : Laporan Pembayaran

Fungsi : Sebagai rekapitulasi pembayaran santri baru

Sumber : Admin

Tujuan : Laporan untuk lembaga

Frekuensi : Setiap tahun ajaran baru

Bentuk : Lihat Lampiran B3

d. Nama dokumen : Laporan Riwayat Pembayaran

Fungsi : Sebagai laporan pembayaran santri baru

Sumber : Admin

Tujuan : Laporan untuk pendaftar

Frekuensi : Setiap terjadi transaksi pembayaran santri

Bentuk : Lihat Lampiran

Gambar

Gambar IV. 8
Gambar IV. 9
Gambar IV. 10
Gambar IV. 11
+7

Referensi

Dokumen terkait

Goal Admin dapat mengelola data master, yaitu: data barang supplier, data pemesanan PO, mencetak laporan PO Pre-conditions Admin supplier telah login. Post-conditions

Penelitian tindakan kelas bersifat reflektif yaitu kegiatan penelitian berangkat dari permasalahan riil yang dihadapi oleh guru dalam proses belajar mengajar,

Goal Admin dapat mengelola data barang Pre-Conditions Admin memilih menu data barang Post-Conditions Data barang berhasil tersimpan Failed

Deskripsi : admin dapat melakukan pelunasan data pembelian dan cetak nota penjualan. Pre-kondisi : admin melakukan login untuk dapat mengakses halaman admin. Post-kondisi

Goal User dan Admin dapat melakukan login Pre-condition User atau Admin memilih menu login Post-condition Tampil form login. Failed end condition User atau Admin tidak

Pre-condition Admin telah melakukan login kemudian memilih menu data laporan kemudian pilih print laporan Post-condition Data laporan bisa dicetak2. Failed condition Admin

Pre-condition Admin memilih menu tambah data konsultan Post-condition Sistem menampilkan halaman input data diri Failed end condition Sistem tidak menampilkan halaman input

Failed end Condition Calon anggota tidak melakukan login dan tidak bisa mengisi form pendaftaran.. Actor