17
BAB IV SISTEM USULAN
4.1. Tahapan Perancangan Sistem 4.1.1. Analisis Kebutuhan
A. Kebutuhan Pengguna
Analisis kebutuhan pengguna sistem pendaftaran siswa baru pada MTs. Al- Hibsiyah sebagai berikut:
1) Skenario kebutuhan Petugas/Admin
A1. Petugas/Admin dapat melakukan login dengan memasukan username dan password
A2. Petugas/Admin dapat mengelola data pendaftaran calon siswa (menghapus dan memperbaharui data)
A3. Petugas/Admin dapat mengelola informasi sekolah A4. Petugas/Admin dapat mengelola informasi pendaftaran A5. Petugas/Admin dapat melihat laporan data pendaftaran A6. Petugas/Admin dapat melakukan logout
2) Skenario kebutuhan Calon Siswa
B1. Calon siswa dapat melakukan login dengan memasukan nomor hp dan password
B2. Calon siswa dapat melakukan registrasi akun B3. Calon siswa dapat melihat informasi sekolah B4. Calon siswa dapat melihat informasi pendaftaran B5. Calon siswa dapat melakukan pendaftaran siswa baru B6. Calon siswa dapat mencetak bukti pendaftaran
B7. Calon siswa dapat melihat hasil penerimaan siswa baru B8. Calon siswa dapat melakukan logout
B. Kebutuhan Sistem
Analisis kebutuhan sistem pendaftaran siswa baru pada MTs. Al-Hibsiyah sebagai berikut:
1) Setiap pengguna harus melakukan login terlebih dahulu untuk mengakses sistem dengan menggunakan username dan password masing-masing pengguna agar tetap terjaga keamanannya.
2) Setiap pengguna mendapatkan hak akses untuk menggunakan sistem pendaftaran siswa baru.
3) Setelah menggunakan sistem tersebut pengguna diwajibkan untuk logout.
4) Sistem akan mengakumulasi data pendaftaran siswa baru MTs. Al-Hibsiyah.
4.2. Perancangan Perangkat Lunak
A. Diagram Use Case Pemilik Petugas/Admin
Sumber: Data Olahan, 2021
Gambar IV.1 Rancangan Diagram Use Case Petugas/Admin Tabel VI.1 Deskripsi Use Case Melakukan Login
Use Case Name Melakukan login
Requirements A1, B1
Goal Petugas/Admin dan Calon Siswa berhasil login Pre-Conditions Memasukan username dan password
Post-Conditions
Petugas/Admin dan Calon Siswa mengakses halaman beranda
uc Actors
Petugas/Admin
Login
Kelola Data Pendafataran
Kelola Informasi Sekolah
Kelola Informasi Pendaftaran
Lihat Laporan
Logout
username dan passw ord
Cetak Laporan
«include»
«extend»
Failed end Condition
Petugas/Admin dan Calon Siswa gagal mengakses halaman beranda
Actors Petugas/Admin dan Calon Siswa
Main Flow/ Basic Path
1. Petugas/Admin dan Calon Siswa melakukan login
2. Kedua pengguna memasukan username dan password
3. Kedua pengguna masuk ke halaman utama
Alternative Flow/ Invariant A
Kedua pengguna berhasil masuk ke halaman utama
Invariant B
1. Kedua pengguna melakukan login 2. Kedua pengguna memasukan username
dan password
3. Kedua pengguna gagal melakukan login 4. Kedua pengguna diminta login kembali
Tabel IV.2 Deskripsi Diagram Use Case Mengelola Data Pendaftaran Use Case Name Mengelola data pendaftaran
Requirements A2
Goal
Petugas/Admin berhasil mengelola data pendaftaran
Pre-Conditions Mengubah dan menghapus data pendaftaran Post-Conditions Memperbarui data pendaftaran
Failed end Condition Data pendaftaran gagal dikelola
Actors Petugas/Admin
Main Flow/ Basic Path
1. Petugas/Admin melakuka login
2. Petugas/Admin masuk pada menu data pendaftaran
3. Petugas/Admin mengelola data pendaftaran
4. Petugas/Admin memperbarui data pendaftaran
Alternative Flow/ Invariant A
Petugas/Admin memilih menu data pendaftaran kemudian diperbaharui
Invariant B
1. Petugas/Admin melakukan login 2. Petugas/Admin masuk pada menu data
pendaftaran
3. Petugas/Admin mengelola data pendaftaran
4. Petugas/Admin gagal memperbarui data pendaftaran, kemudian diminta ulang untuk mengelola data pendaftaran
Tabel IV.3 Deskripsi Diagram Use Case Mengelola Informasi Sekolah Use Case Name Mengelola informasi sekolah
Requirements A3
Goal
Petugas/Admin berhasil mengelola informasi sekolah pada sistem
Pre-Conditions
Menambah, memperbaharui dan menghapus informasi sekolah
Post-Conditions Memilih menu informasi sekolah
Failed end Condition Gagal masuk ke menu informasi sekolah
Actors Petugas/Admin
Main Flow/ Basic Path
1. Petugas/Admin melakukan login 2. Petugas/Admin masuk ke menu
informasi sekolah
3. Petugas/Admin mengelola informasi sekolah
4. Petugas/Admin memperbaharui informasi sekolah
Alternative Flow/ Invariant A
Petugas/Admin memilih menu informasi sekolah kemudian diperbaharui
Invariant B
1. Petugas/Admin melakukan login 2. Petugas/Admin masuk pada menu
informasi sekolah
3. Petugas/Admin gagal memperbaharui informasi sekolah kemudian diminta untuk mengelola informasi sekolah kembali
Tabel IV. 4. Deskripsi Diagram Use Case Mengelola Informasi Pendaftaran Use Case Name Mengelola informasi pendaftaran
Requirements A4
Goal
Petugas/Admin berhasil mengelola informasi pendaftaran pada sistem
Pre-Conditions
Menambah, memperbaharui dan menghapus informasi pendaftaran
Post-Conditions Memilih menu informasi pendaftaran
Failed end Condition Gagal masuk ke menu informasi pendaftaran
Actors Petugas/Admin
Main Flow/ Basic Path
1. Petugas/Admin melakukan login 2. Petugas/Admin masuk ke menu
informasi pendaftaran
3. Petugas/Admin mengelola informasi pendaftaran
4. Petugas/Admin memperbaharui informasi pendaftaran
Alternative Flow/ Invariant A
Petugas/Admin memilih menu informasi pendaftaran kemudian diperbaharui
Invariant B
1. Petugas/Admin melakukan login 2. Petugas/Admin masuk pada menu
informasi pendaftaran
3. Petugas/Admin gagal memperbaharui
informasi pendaftaran kemudian diminta untuk mengelola informasi sekolah kembali
Tabel IV.5 Deskripsi Diagram Use Case Melihat Laporan Data Pendaftaran
Use Case Name
Melihat laporan data pendaftaran
Requirements A5
Goal Dapat melihat laporan data pendaftaran
Pre-Conditions
Petugas/Admin berhasil melihat dan mencetak laporan data pendaftaran pada sistem
Post-Conditions Dapat mencetak laporan data pendaftaran Failed end Condition Gagal melihat laporan data pendaftaran
Actors Petugas/Admin
Main Flow/ Basic Path
1. Petugas/Admin melakukan login 2. Petugas/Admin dapat melihat laporan
data pendaftaran
3. Petugas/Admin dapat mencetak laporan data pendaftaran
Alternate Flow/ Invariant A
Petugas/Admin memilih menu laporan data pendaftaran dan mencetaknya
Invariant B
1. Petugas/Admin melakukan login 2. Petugas/Admin masuk pada menu
laporan data pendaftaran
3. Petugas/Admin melihat laporan data pendaftaran
4. Petugas/Admin gagal mencetak laporan data pendaftaran, kemudian diminta ulang memilih menu laporan data pendaftaran
B. Diagram Use Case Calon Siswa
Sumber: Data Olahan, 2021
Gambar IV.2 Rancangan Diagram Use Case Calon Siswa
uc Actors
Calon Sisw a
Login
Daftar Akun
Daftar Sisw a Baru
Lihat Informasi Pendaftaran
Lihat Hasil Penerimaan Sisw a
Logout
nomor hp dan passw ord
Cetak Bukti Pendaftaran
Lihat Informasi Sekolah
«include»
«extend»
«extend»
Tabel IV.6 Deskripsi Diagram Use Case Daftar Akun
Use Case Name Daftar Akun
Requirements B2
Goal
Calon Siswa berhasil mengakses form daftar akun
Pre-Conditions Menginput data akun Post-Conditions Menyimpan data akun Failed end Condition Data akun gagal dibuat
Actors Calon Siswa
Main Flow/ Basic Path
1. Calon Siswa masuk ke sistem 2. Calon Siswa memilih menu daftar 3. Calon Siswa mengisi data akun 4. Sistem menyimpan data akun
Alternative Flow/ Invariant A
Calon Siswa menginput data akun kemudian data disimpan
Invariant B
1. Calon Siswa masuk ke sistem 2. Calon Siswa memilih menu daftar 3. Calon Siswa mengisi data akun 4. Calon Siswa gagal menyimpan data
registrasi akun, kemudian diminta ulang mengel mengisi data akun ola data barang
Tabel IV.7 Deskripsi Diagram Use Case Daftar Siswa Baru Use Case Name Daftar Siswa Baru
Requirements B3
Goal
Calon Siswa berhasil melakukan pendaftaran calon siswa
Pre-Conditions Melengkapi data pendaftaran Post-Conditions Menyimpan data calon siswa
Failed end Condition
Form pendaftaran gagal menyimpan data calon siswa
Actors Calon Siswa
Main Flow/ Basic Path
1. Calon Siswa melakukan login 2. Calon Siswa masuk ke menu daftar 3. Calon Siswa melengkapi data pendaftaran 4. Sistem menyimpan data pendaftaran Alternative Flow/ Invariant
A
Calon Siswa melengkapi data pendaftaran, kemudian data tersimpan
Invariant B
1. Calon Siswa melakukan login 2. Calon Siswa masuk ke menu daftar 3. Calon Siswa melengkapi data
pendaftaran
4. Sistem gagal menyimpan data pendafaran, kemudian calon siswa diminta melengkapi form pendaftaran kembali
C. Class Diagram
userclient +id +no_telp +spassword
created_at() : void updated_at() : void
info_pendaftaran +id
+prosedur +syarat
created_at() : void updated_at() : void
users +id +name +username + password +remember_token
created_at() : void updated_at() : void
data_pendaftar +id
+id_client +nama +tempat_lahir +tgl_lahir +alamat +KK +ijazah +nilai_rapot
created_at() : void updated_at() : void
Sumber: Data Olahan, 2021
Gambar IV. 3. Class Diagram
4.3. Perancangan Basis Data
A. Entity Relationship Diagram (ERD)
userclient mengakses data_pendaftar
*id no_telp password
*id
id_client
nama
alamat tgl_lahir
tempat_lahir
info_pendaftaran
1 1
*id prosedur
1
syarat
KK
users
*id name username
megelola N
1
password remember_token ijazah nilai_rapot
1
Sumber: Data Olahan, 2021
Gambar IV.4. Entity Relationship Diagram B. Spesifikasi File
Spesifikasi yang menjelaskan file yang terbentuk dari transformasi ERD dan file-file penujang web. File ini tersimpan pada sistem pendaftaran siswa dengan parameter-parameter sebagai berikut :
1) Spesifikasi File Info Pendaftaran
Nama File : info_pendaftaran Akronim : info_pendaftaran
Fungsi : Untuk mengetahui syarat dan prosedur pendaftaran Tipe File : File Master
Organisasi File : Index Sequental
Akses File : Random
Media : Harddisk
Panjang Record : 20 karakter Kunci File : id
Tabel IV.8 Spesifikasi File Info Pendaftaran
No Elemen Data Nama Field Tipe Size Keterangan
1. Id id BigInt 20 Primary Key
2. Prosedur prosedur Long Text
3. Syarat syarat Long Text
2) Spesifikasi File User Client Nama File : userclient Akronim : userclient
Fungsi : Untuk menyimpan data calon siswa/pendaftar Tipe File : File Master
Organisasi File : Index Sequental Akses File : Random
Media : Harddisk
Panjang Record : 530 karakter Kunci File : id
Tabel IV.9 Spesifikasi File User Client
No Elemen Data Nama Field Tipe Size Keterangan
1. Id id BigInt 20 Primary Key
2. No Telepon no_telp Varchar 255
3. Password password Varchar 255
3) Spesifikasi File Users Nama File : users
Akronim : users
Fungsi : Untuk mengetahui data admin Tipe File : File Master
Organisasi File : Index Sequental Akses File : Random
Media : Harddisk
Panjang Record : 885 karakter Kunci File : id
Tabel IV.10 Spesifikasi File Users
No Elemen Data Nama Field Tipe Size Keterangan
1. Id id BigInt 20 Primary Key
2. Name name Varchar 255
3. Username username Varchar 255
4. Password password Varchar 255
5. Remember Token remember_token Varchar 100
4) Spesifikasi File Data Pendaftar
Nama File : data_pendaftar Akronim : data_pendaftar
Fungsi : Untuk mengetahui data calon siswa baru
Tipe File : File Master Organisasi File : Index Sequental Akses File : Random
Media : Harddisk
Panjang Record : 1330 karakter Kunci File : id
Tabel IV.11 Spesifikasi File Data Pendaftar
No Elemen Data Nama Field Tipe Size Keterangan
1. Id id BigInt 20 Primary Key
2. Id Client id_client Varchar 10
3. Nama nama Varchar 200
4. Tempat tempat Varchar 100
5 Tgl Lahir tgl_lahir Date
6 Alamat alamat Varchar 250
7 Kk kk Varchar 250
8 Ijazah ijazah Varchar 250
9 Nilai_Rapot nilai_rapot Varchar 250
4.4. Implementasi dan Pengujian Unit 4.4.1. Implementasi
A. Halaman Login Calon Siswa
Sumber: Sistem Pendaftaran Siswa Baru, 2021
Gambar IV.5. Halaman Login B. Halaman Utama (Dashboard)
Sumber: Sistem Pendaftaran Siswa Baru, 2021
Gambar IV.6. Halaman Utama (Dashboard)
C. Halaman Registrasi Akun Calon Siswa
Sumber: Sistem Pendaftaran Siswa Baru, 2021
Gambar IV.7. Halaman Registrasi Akun Calon Siswa D. Halaman Pendaftaran Siswa Baru
Sumber: Sistem Pendaftaran Siswa Baru, 2021
Gambar IV.8. Halaman Pendaftaran Siswa Baru
E. Halaman Bukti Pendaftaran
Sumber: Sistem Pendaftaran Siswa Baru, 2021
Gambar IV.9. Halaman Cetak Bukti Pendaftaran
F. Halaman Data Pendaftar (Admin)
Sumber: Sistem Pendaftaran Siswa Baru, 2021
Gambar IV.10. Halaman Data Pendaftar (Admin)
1) Controller Pendaftaran
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class InfopController extends Controller {
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response */
public function index() {
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response */
public function create() {
//
} /**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response
*/
public function store(Request $request) {
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response */
public function show($id) {
//
} /**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response */
public function edit($id) {
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request * @param int $id
* @return \Illuminate\Http\Response */
public function update(Request $request, $id) {
//
} /**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response */
public function destroy($id) {
//
} }
2) Controller Pengecekan Login dan Registrasi
<?php
namespace App\Http\Controllers;
use App\Models\Userclient;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Hash;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class Authcontroller extends Controller {
public function index_login_admin() {
if (Auth::guard('web')->check()) { return redirect()->route('index.admin');
} else {
return view('login.login');
} }
function login_web_post(Request $request) {
$rules = [
'username' => 'required', 'password' => 'required' ];
$validator = Validator::make($request->all(), $rules);
if ($validator->fails()) {
return response()->json(['status' => false, 'mssg' => 'Masukan data dengan benar']);
}
$data = [
'username' => $request->username, 'password' => $request->password, ];
Auth::guard('web')->attempt($data);
// dd($a);
if (Auth::guard('web')->check()) { // true sekalian session field di users nanti bisa dipanggil via Auth //Login Success
return redirect()->route('index.admin');
} else { // false
return redirect()->route('login.admin.index')->with('error', true);
} }
function post_register(Request $request) {
// dd($request->all());
$rules = [
'no' => 'required|min:3|max:35', 'password' => 'required', ];
$validator = Validator::make($request->all(), $rules);
if ($validator->fails()) {
return redirect()->route('register.index')->with(['status' => true, 'mssg' => 'Masukan data dengan benar', 'jdl' => 'Gagal!', 'icon' => 'error']);
}
$checke = Userclient::select('*')->whereemail($request->email)->first();
if ($checke) {
return redirect()->route('register.index')->with(['status' => true, 'mssg' => 'Registrasi gagal! Email telah digunakan', 'jdl' => 'Gagal!', 'icon' => 'error']);
}
// $user = new Userclient();
$pass = Hash::make($request->password);
$simpan = Userclient::insert([
'no_hp' => $request->no, 'password' => $pass ]);
if ($simpan) {
return redirect()->route('register.index')->with(['status' => true, 'mssg' => 'Registrasi berhasil!', 'jdl' =>
'Berhasil!', 'icon' => 'success']);
} else {
return redirect()->route('register.index')->with(['status' => true, 'mssg' => 'Registrasi gagal!', 'jdl' =>
'Gagal!', 'icon' => 'error']);
} }
function post_login(Request $request) {
$rules = [
'no' => 'required',
'password' => 'required' ];
$validator = Validator::make($request->all(), $rules);
if ($validator->fails()) {
return redirect()->route('login.index')->with(['status' => true, 'mssg' => 'Masukan data dengan benar']);
} $data = [
'no_hp' => $request->no, 'password' => $request->password, ];
Auth::guard('client')->attempt($data);
// dd($a);
if (Auth::guard('client')->check()) { return redirect()->route('index');
} else {
return redirect()->route('login.index')->with(['status' => true, 'mssg' => 'Masukan data dengan benar']);
} } }
4.4.2. Pengujian Unit
Pada pengujian kali ini menggunakan pengujian black box yaitu pengujian yang dilakukan untuk mengamati hasil eksekusi melalui data uji dan memeriksa fungsional dari perangkat lunak
a. Pengujian Interface Users
Tabel 4.12 Pengujian Interface Users
No Skenario
Pengujian Test Case Hasil yang diharapkan
Hasil
Pengujian Kesimpulan 1 Username dan
Password tidak diisi atau salah kemudian di klik tombol login
Username:
(kosong atau salah) Password:
(Kosong atau salah)
Sistem akan menolak akses user dan menampilkan
“LOGIN GAGAL
!, username atau password anda tidak benar”
Sesuai Harapan
Valid
2 Mengetikkan username dan password dengan data yang benar kemudian klik tombol login.
Username:
user (Benar) Password:
12345 (Benar)
Sistem menerima akses login dan menampilkan halaman admin
Sesuai Harapan
Valid
3 Menampilkan data pendaftar/calon siswa
Klik Menu Data Pendaftar
Sistem
menampilkan data pendaftar/calon siswa baru
Sesuai Harapan
Valid
4 Menampilkan laporan data pendaftar/calon siswa
Klik Menu Laporan
Sistem menampilkan laporan data pendaftar/calon siswa
Sesuai Harapan
Valid
b. Pengujian Interface User Client
Tabel 4.13 Pengujian Interface User Client
No Skenario
Pengujian Test Case Hasil yang diharapkan
Hasil
Pengujian Kesimpulan 1 No telepon dan
Password tidak diisi atau salah kemudian di klik tombol login
no_telp:
(kosong atau salah) Password:
(Kosong atau salah)
Sistem akan menolak akses user dan menampilkan
“LOGIN GAGAL
!, username atau password anda tidak benar”
Sesuai Harapan
Valid
2 Mengetikkan No telepon dan password dengan data yang benar kemudian klik tombol login.
no_telp:
0987654321 (Benar) Password:
12345 (Benar)
Sistem menerima akses login dan menampilkan halaman admin
Sesuai Harapan
Valid
3 Menampilkan form pendaftaran siswa
Klik Menu Pendaftaran
Sistem
menampilkan form pendaftaran
Sesuai Harapan
Valid