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
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
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 -
1. Package Diagram Halaman Admin
Gambar IV. 2
Package Diagram Use Case Halaman Admin
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
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
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
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 -
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
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
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
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
Gambar IV. 9
Activity Diagram Admin Mengelola Data Pengaturan
2. Activity Diagram Admin Mengelola Data Jenjang Pendidikan
Gambar IV. 10
Activity Diagram Mengelola Data Jenjang Pendidikan
3. Activity Diagram Admin Mengelola Data Pendaftaran Santri
Gambar IV. 11
Gambar Activity Diagram Mengelola Pendaftaran Santri
4. Activity Diagram Admin Mengelola Data Orangtua
Gambar IV. 12
Gambar Activity Diagram Mengelola Data Orangtua
5. Activity Diagram Admin Mengelola Laporan Pendaftaran
Gambar IV. 13
Gambar Activitty Diagram Mengelola Laporan Pendaftaran
6. Activity Diagram Admin Mengelola Laporan Pembayaran
Gambar IV. 14
Gambar Activity Diagram Mengelola Laporan Pembayaran
4.2 Desain
4.2.1 Database (Basis Data)
1. Entity Relationship Diagram (ERD)
Gambar IV. 15
Gambar ERD Pendaftaran Utrujjah
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
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
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
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
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
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
4. 2. 2 Software Architecture A. Class Diagram
Gambar IV. 17
Gambar Class Diagram Pendaftaran Urtujjah
B. Sequence Diagram
Gambar IV. 18 Sequence Diagram
C. Component Diagram
Gambar IV. 18 Component Diagram
D. Deployment Diagram
Gambar IV. 19 Deployment Diagram
4. 2. 3 User Interface a. Tampilan Login
Gambar IV. 20 Tampilan Login Admin
b. Tampilan Dashboard
Gambar IV. 21
Tampilan Halaman Dashboard
c. Tampilan Pengaturan
Gambar IV. 22
Tampilan Halaman Pengaturan
d. Tampilan Jenjang Pendidikan
Gambar IV. 23
Tampilan Halaman Jenjang Pendidikan
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
g. Tampilan Hapus Jenjang Pendidikan
Gambar IV. 26
Tampilan Halaman Hapus Jenjang Pendidikan
g. Tampilan Pendaftaran Santri
Gambar IV. 27
Tampilan Halaman Pendaftaran
h. Tampilan Pendaftaran Santri
Gambar IV. 28
Tampilan Halaman Pendaftaran
i. Tampilan Pendaftaran Santri
Gambar IV. 29
Tampilan Halaman Pendaftaran
j. Tampilan Data Orangtua
Gambar IV. 30
Tampilan Halaman Data Orangtua
k. Tampilan Ubah Data Orangtua
Gambar IV. 31
Tampilan Halaman Ubah Data Orangtua
l. Tampilan Laporan Pendaftaran
Gambar IV. 32
Tampilan Halaman Laporan Pendaftaran
j. Tampilan Cetak Pendaftaran
Gambar IV. 33
Tampilan Halaman Cetak Pendaftaran
k. Tampilan Cetak Bukti Pendaftaran
Gambar IV. 34
Tampilan Halaman Cetak Bukti Pendaftaran
l. Tampilan Rekap Pendaftaran
Gambar IV. 35
Tampilan Halaman Rekap Pendaftaran
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
n. Tampilan Laporan Pembayaran
Gambar IV. 38
Tampilan Halaman Laporan Pembayaran
o. Tampilan Cetak Pembayaran
Gambar IV. 39
Tampilan Halaman Cetak Pembayaran
p. Tampilan Cetak Riwayat Pembayaran
Gambar IV. 40
Tampilan Halaman Cetak Riwayat Pembayaran
q. Tampilan Bukti Pembayaran
Gambar IV. 41
Tampilan Halaman Bukti Pembayaran
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) {
$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();
}
}
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-
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">
<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">
<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>
</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">
<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>
</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
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>
<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>
</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
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>
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'] = '';
$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() {
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')
];
$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'),
'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);
$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.
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
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
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
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
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