22
BAB III
PEMBAHASAN
3.1. Analisa Kebutuhan Software
3.1.1. Analisa Kebutuhan
1. Halaman Admin (backend)
Ruang admin ini dapat digunakan untuk mengelola data internal perusahaan,
halaman admin meliputi:
a. Halaman Login, berisi tampilan sebelum membuka ruang admin, dengan
memasukan username dan password yang benar maka akan masuk ke dalam
ruang administrator.
b. Halaman Master Data, berisi:
1) Data User, dapat mengelola data user
2) Data Paket, dapat mengelola data jadwal
3) Data Member, dapat mengelola data member
c. Halaman Transaksi, berisi:
1) Pendaftaran Member, dapat mengelola transaksi pendaftaran member
2) Pembayaran Member, dapat mengelola transaksi pembayaran member
d. Halaman Rekap Data, berisi tampilan rekap data
1) Pendaftaran Member
2) Pembayaran Member
23
e. Halaman Cetak, berisi tampilan rekap data atau laporan
1) Cetak Bukti Pembayaran
2) Cetak Kartu Member
f. Halaman Akuntansi, berisi tampilan menu akuntansi
1) Data Akun
2) Jurnal Umum
3) Kas Masuk
4) Laporan Jurnal Umum
5) Laporan Kas Masuk
g. Halaman Logout, menu untuk keluar dari halaman admin.
2. Halaman Pengunjung (front-end)
Ruang tampilan halaman pengunjung dapat diakses oleh seluruh calon
member sehingga mempermudah calon member dalam melakukan pendaftaran,
halaman pengunjung meliputi:
a. Halaman Home, berisi tampilan utama pada halaman pengunjung.
b. Halaman Tentang Kami, berisi tujuan adanya halaman pengunjung
c. Halaman Layanan, menampilkan layanan yang ditawarkan.
d. Halaman Harga Paket, menampilkan harga-harga yang tersedia.
e. Halaman Registrasi, berisi :
1) Data Diri, menampilkan form untuk mengisi data diri menjadi member.
2) Form Pendaftaran, menampilkan form untuk melakukan pendaftaran
3) Cetak Bukti Pendaftaran, menampilkan halaman cetak bukti pendaftaran
f. Halaman Hubungi Kami, berisi contact person serta beberapa media sosial
24
3.1.2. Use Case Diagram
A. Halaman Admin
Sumber : Hasil Penelitian, 2019
Gambar III.1. Use Case Halaman Admin
B. Halaman Pengunjung
Sumber : Hasil Penelitian, 2019
Gambar III.2. Use Case Halaman Pengunjung
25
3.1.3. Activity Diagram
A. Admin
1. Halaman Login
Sumber : Hasil Penelitian, 2019
Gambar III.3. Activity Diagram Halaman Login
2. Halaman Master Data
Sumber : Hasil Penelitian, 2019
Gambar III.4. Activity Diagram Halaman Master Data
26
2.a. Halaman Data User
Sumber : Hasil Penelitian, 2019
Gambar III.5. Activity Diagram Data User
2.b. Halaman Data Paket
Sumber : Hasil Penelitian, 2019
Gambar III.6. Activity Diagram Data Paket
27
2.c. Halaman Data Member
Sumber : Hasil Penelitian, 2019
Gambar III.7. Activity Diagram Data Member
3. Halaman Transaksi
Sumber : Hasil Penelitian, 2019
Gambar III.8. Activity Diagram Halaman Transaksi
28
3.a. Halaman Transaksi Pendaftaran Member
Sumber : Hasil Penelitian, 2019
Gambar III.9. Activity Diagram Transaksi Pendaftaran Member
3.b. Halaman Transaksi Pembayaran Member
Sumber : Hasil Penelitian, 2019
Gambar III.10. Activity Diagram Transaksi Pembayaran Member
29
4. Halaman Rekap Data
Sumber : Hasil Penelitian, 2019
Gambar III.11. Activity Diagram Halaman Rekap Data
4.a. Halaman Rekap Data Pendaftaran Member
Sumber : Hasil Penelitian, 2019
Gambar III.12. Activity Diagram Rekap Data Pendaftaran Member
30
4.b. Halaman Rekap Data Pembayaran Member
Sumber : Hasil Penelitian, 2019
Gambar III.13. Activity Diagram Rekap Data Pembayaran Member
5. Halaman Cetak
Sumber : Hasil Penelitian, 2019
Gambar III.14. Activity Diagram Halaman Cetak
31
5.a. Halaman Cetak Bukti Pembayaran
Sumber : Hasil Penelitian, 2019
Gambar III.15. Activity Diagram Cetak Bukti Pembayaran
5.b. Halaman Cetak Kartu Member
Sumber : Hasil Penelitian, 2019
Gambar III.16. Activity Diagram Cetak Kartu Member
32
6. Halaman Akuntansi
Sumber : Hasil Penelitian, 2019
Gambar III.17. Activity Diagram Halaman Akuntansi
6.a. Halaman Data Akun
Sumber : Hasil Penelitian, 2019
Gambar III.18. Activity Diagram Data Akun
33
6.b. Halaman Kas Masuk
Sumber : Hasil Penelitian, 2019
Gambar III.19. Activity Diagram Kas Masuk
6.c. Halaman Jurnal Umum
Sumber : Hasil Penelitian, 2019
Gambar III.20. Activity Diagram Jurnal Umum
34
6.d. Halaman Laporan Kas Masuk
Sumber : Hasil Penelitian, 2019
Gambar III.21. Activity Diagram Laporan Kas Masuk
6.e. Halaman Laporan Jurnal Umum
Sumber : Hasil Penelitian, 2019
Gambar III.22. Activity Diagram Laporan Jurnal Umum
35
7. Halaman Logout
Sumber : Hasil Penelitian, 2019
Gambar III.23. Activity Diagram Halaman Logout
B. Pengunjung
1. Halaman Pengunjung
Sumber : Hasil Penelitian, 2019
Gambar III.24. Activity Diagram Halaman Pengunjung
36
2. Halaman Registrasi
Sumber : Hasil Penelitian, 2019
Gambar III.25. Activity Diagram Halaman Registrasi
3. Halaman Data Diri
Sumber : Hasil Penelitian, 2019
Gambar III.26. Activity Diagram Data Diri
37
4. Halaman Formulir Pendaftaran
Sumber : Hasil Penelitian, 2019
Gambar III.27. Activity Diagram Formulir Pendaftaran
5. Halaman Cetak Bukti Pendaftaran
Sumber : Hasil Penelitian, 2019
Gambar III.28. Activity Diagram Cetak Bukti Pendaftaran
38
3.1.4. Rancangan Dokumen Masukan
1. Nama Dokumen : Bukti Pendaftaran
Fungsi : Sebagai bukti pendaftaran calon member
Sumber : Calon member
Tujuan : Admin
Media : Kertas
Jumlah : 1 halaman
Frekuensi : Setiap pendaftaran calon member baru.
Bentuk : Lampiran A.1.
3.1.5. Rancangan Dokumen Keluaran
1. Nama Dokumen : Bukti Pembayaran
Fungsi : Sebagai bukti pembayaran member
Sumber : Admin
Tujuan : Member
Media : Kertas
Jumlah : 1 halaman
Frekuensi : Setiap pembayaran member baru.
Bentuk : Lampiran B.1.
2. Nama Dokumen : Rekap Data Pendaftaran
Fungsi : Sebagai bukti rincian tiap transaksi yang dilakukan
Sumber : Admin
Tujuan : Manajemen / Pimpinan
Media : Kertas
Jumlah : 1 halaman
39
Frekuensi : Setiap terjadinya transaksi
Bentuk : Lampiran B.2.
3. Nama Dokumen : Rekap Data Pembayaran
Fungsi : Sebagai bukti rincian tiap transaksi yang dilakukan
Sumber : Admin
Tujuan : Manajemen / Pimpinan
Media : Kertas
Jumlah : 1 halaman
Frekuensi : Setiap terjadinya transaksi
Bentuk : Lampiran B.3.
4. Nama Dokumen : Member Card
Fungsi : Sebagai bukti sah menjadi member
Sumber : Admin
Tujuan : Member
Media : Kertas
Jumlah : 1 halaman
Frekuensi : Setiap cetak kartu member baru.
Bentuk : Lampiran B.4.
5. Nama Dokumen : Laporan Jurnal Umum
Fungsi : Sebagai bukti rincian tiap transaksi yang dilakukan
Sumber : Admin
Tujuan : Manajemen / Pimpinan
40
Media : Kertas
Jumlah : 1 halaman
Frekuensi : Setiap terjadinya transaksi
Bentuk : Lampiran B.5.
6. Nama Dokumen : Laporan Kas Masuk
Fungsi : Sebagai bukti rincian tiap transaksi yang dilakukan
Sumber : Admin
Tujuan : Manajemen / Pimpinan
Media : Kertas
Jumlah : 1 halaman
Frekuensi : Setiap terjadinya transaksi
Bentuk : Lampiran B.6.
41
3.2. Desain
3.2.1. Struktur Navigasi
Rancangan struktur navigasi untuk menggambarkan struktur atau alur dari
suatu web
1. Struktur Navigasi Admin
Sumber : Hasil Penelitian, 2019
Gambar III.29. Struktur Navigasi Admin
2. Struktur Navigasi Halaman Pengunjung
Sumber : Hasil Penelitian, 2019
Gambar III.30. Struktur Navigasi Pengunjung
3.2.2. Entity Relationship Diagram (ERD)
Perancangan basis data menghasilkan pemetaan tabel-tabel yang
digambarkan dengan Entity Relationship Diagram (ERD).
42
Sumber : Hasil Penelitian, 2019
Gambar III.31. Entity Relationship Diagram (ERD)
3.2.3. Logical Record Structure (LRS)
Sumber : Hasil Penelitian, 2019
Gambar III.32. Logical Record Structure (LRS)
3.2.4. Spesifikasi File
Spesifikasi file menjelaskan file-file apa saja yang digunakan dalam
pengolahan database yang diperlukan dalam proses pengolahan data, adapun file-file
tersebut adalah :
43
a. Spesifikasi File Tabel User
Nama Database : fitness
Nama Tabel : user
Akses File : Random
Tipe File : File Master
Panjang Record : 53 karakter
Field key : user_name
Tabel III.1.
Spesifikasi File Tabel User
Sumber : Hasil Penelitian, 2019
b. Spesifikasi File Tabel Paket
Nama Database : fitness
Nama Tabel : paket
Akses File : Random
Tipe File : File Master
Panjang Record : 160 karakter
Field key : kode_paket
Tabel III.2.
Spesifikasi File Tabel Paket
Sumber : Hasil Penelitian, 2019
44
c. Spesifikasi File Tabel Member
Nama Database : fitness
Nama Tabel : member
Akses File : Random
Tipe File : File Master
Panjang Record : 190 karakter
Field key : id_member
Tabel III.3.
Spesifikasi File Tabel Member
Sumber : Hasil Penelitian, 2019
d. Spesifikasi File Tabel Pendaftaran
Nama Database : fitness
Nama Tabel : daftar
Akses File : Random
Tipe File : File Transaksi
Panjang Record : 90 karakter
Field key : no_pd
45
Tabel III.4.
Spesifikasi File Tabel Pendaftaran
Sumber : Hasil Penelitian, 2019
e. Spesifikasi File Tabel Pembayaran
Nama Database : fitness
Nama Tabel : bayarmember
Akses File : Random
Tipe File : File Transaksi
Panjang Record : 110 karakter
Field key : no_pb
Tabel III.5.
Spesifikasi File Tabel Pembayaran
Sumber : Hasil Penelitian, 2019
f. Spesifikasi File Master Akun
Nama Database : fitness
46
Nama Tabel : master_akun
Akses File : Random
Tipe File : File Akuntansi
Panjang Record : 80 karakter
Field key : kode_akun
Tabel III.6.
Spesifikasi File Tabel Master Akun
Sumber : Hasil Penelitian, 2019
g. Spesifikasi File Jurnal
Nama Database : fitness
Nama Tabel : jurnal
Akses File : Random
Tipe File : File Akuntansi
Panjang Record : 80 karakter
Field key : no_referensi
Tabel III.7.
Spesifikasi File Tabel Jurnal
Sumber : Hasil Penelitian, 2019
47
h. Spesifikasi File Jurnal Detail
Nama Database : fitness
Nama Tabel : jurnal_detail
Akses File : Random
Tipe File : File Akuntansi
Panjang Record : 70 karakter
Field key : no_referensi
Tabel III.8.
Spesifikasi File Tabel Jurnal Detail
Sumber : Hasil Penelitian, 2019
i. Spesifikasi File Kas Masuk
Nama Database : fitness
Nama Tabel : kas_in
Akses File : Random
Tipe File : File Akuntansi
Panjang Record : 60 karakter
Field key : no_km
Tabel III.9.
Spesifikasi File Tabel Kas Masuk
Sumber : Hasil Penelitian, 2019
48
j. Spesifikasi File Kas Masuk Detail
Nama Database : fitness
Nama Tabel : kas_in_detail
Akses File : Random
Tipe File : File Akuntansi
Panjang Record : 26 karakter
Field key : no_km
Tabel III.10.
Spesifikasi File Tabel Kas Masuk Detail
Sumber : Hasil Penelitian, 2019
3.2.5. Pengkodean
1. ID Member
Keterangan :
Tahun : 2019
Nomor Urut : 001
49
2. ID Paket
Keterangan :
Identitas Paket : P
Nomor Urut : 001
3. ID Pendaftaran
Keterangan :
Identitas Pendaftaran : PD
Tahun : 19
Nomor Urut : 001
4. ID Pendaftaran Online
Keterangan :
Identitas Pendaftaran : PD
50
Kode Online : ON
Tahun : 19
Nomor Urut : 001
5. ID Pembayaran
Keterangan :
Identitas Pendaftaran : PBM
Tahun : 19
Nomor Urut : 001
6. ID Jurnal Umum
Keterangan :
Identitas Jurnal Umum : JU
Tahun : 19
Nomor Urut : 001
51
7. ID Kas Masuk
Keterangan :
Identitas Kas Masuk : KM
Tahun : 19
Nomor Urut : 001
3.2.6. User Interface
1. Halaman Login Admin
Sumber : Hasil Penelitian, 2019
Gambar III.33. Halaman Login Admin
52
2. Halaman Admin
Sumber : Hasil Penelitian, 2019
Gambar III.34. Halaman Admin
3. Halaman Master Data Data User
Sumber : Hasil Penelitian, 2019
Gambar III.35. Halaman Data User
53
4. Halaman Master Data Tambah Data User
Sumber : Hasil Penelitian, 2019
Gambar III.36. Halaman Tambah Data User
5. Halaman Master Data Data Paket
Sumber : Hasil Penelitian, 2019
Gambar III.37. Halaman Data Paket
6. Halaman Master Data Tambah Data Paket
54
Sumber : Hasil Penelitian, 2019
Gambar III.38. Halaman Tambah Data Paket
7. Halaman Master Data Data Member
Sumber : Hasil Penelitian, 2019
Gambar III.39. Halaman Data Member
8. Halaman Master Data Tambah Data Member
55
Sumber : Hasil Penelitian, 2019
Gambar III.40. Halaman Tambah Data Member
9. Halaman Transaksi Transaksi Pendaftaran
Sumber : Hasil Penelitian, 2019
Gambar III.41. Halaman Transaksi Pendaftaran
10. Halaman Transaksi Tambah Transaksi Pendaftaran
56
Sumber : Hasil Penelitian, 2019
Gambar III.42. Halaman Tambah Transaksi Pendaftaran
11. Halaman Transaksi Transaksi Pembayaran
Sumber : Hasil Penelitian, 2019
Gambar III.43. Halaman Transaksi Pembayaran
12. Halaman Rekap Data Rekap Data Pendaftaran
57
Sumber : Hasil Penelitian, 2019
Gambar III.44. Halaman Rekap Data Pendaftaran
13. Halaman Rekap Data Rekap Data Pembayaran
Sumber : Hasil Penelitian, 2019
Gambar III.45. Halaman Rekap Data Pembayaran
58
14. Halaman Cetak Cetak Bukti Pembayaran
Sumber : Hasil Penelitian, 2019
Gambar III.46. Halaman Cetak Bukti Pembayaran
15. Halaman Cetak Cetak Kartu Member
Sumber : Hasil Penelitian, 2019
Gambar III.47. Halaman Cetak Kartu Member
59
16. Halaman Akuntansi Data Akun
Sumber : Hasil Penelitian, 2019
Gambar III.48. Halaman Data Akun
17. Halaman Akuntansi Tambah Data Akun
Sumber : Hasil Penelitian, 2019
Gambar III.49. Halaman Tambah Data Akun
60
18. Halaman Akuntansi Jurnal Umum
Sumber : Hasil Penelitian, 2019
Gambar III.50. Halaman Jurnal Umum
19. Halaman Akuntansi Laporan Jurnal Umum
Sumber : Hasil Penelitian, 2019
Gambar III.51. Halaman Laporan Jurnal Umum
61
20. Halaman Akuntansi Kas Masuk
Sumber : Hasil Penelitian, 2019
Gambar III.52. Halaman Kas Masuk
21. Halaman Akuntansi Laporan Kas Masuk
Sumber : Hasil Penelitian, 2019
Gambar III.53. Halaman Laporan Kas Masuk
62
22. Halaman Pengunjung
Sumber : Hasil Penelitian, 2019
Gambar III.54. Halaman Pengunjung
63
23. Halaman Registrasi
Sumber : Hasil Penelitian, 2019
Gambar III.55. Halaman Registrasi
24. Halaman Data Diri
Sumber : Hasil Penelitian, 2019
Gambar III.56. Halaman Data Diri
64
25. Halaman Formulir Pendaftaran
Sumber : Hasil Penelitian, 2019
Gambar III.57. Halaman Formulir Pendaftaran
26. Halaman Cetak Bukti Pendaftaran
Sumber : Hasil Penelitian, 2019
Gambar III.58. Halaman Cetak Bukti Pendaftaran
65
3.3. Implementasi
3.3.1. Code Generation
A. Halaman Admin
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Halaman Admin</title>
<link rel="shortcut icon" href="img/logo.png"/>
<link rel="stylesheet" href="style/style_1.css">
<link rel="stylesheet" href="css/bootstrap.min.css">
</head>
<body>
<div class="left-side">
<div class="logo">
<img src="img/logo.png" alt="" />
</div>
<div class="middle">
<div class="menu">
<div class="item" id="master">
<a href="#master" class="button"><i class="far fa-user"></i>Master
Data</a>
<div class="smenu">
<a href="HOME.jsp?halaman=user">Data User</a>
<a href="HOME.jsp?halaman=paket">Data Paket</a>
<a href="HOME.jsp?halaman=member">Data Member</a>
</div>
</div>
<div class="item" id="transaksi">
<a href="#transaksi" class="button"><i class="fas fa-list"></i>Transaksi</a>
<div class="smenu">
<a href="HOME.jsp?halaman=daftar">Pendaftaran Member</a>
<a href="HOME.jsp?halaman=bayarmember">Pembayaran Member</a>
</div>
</div>
<div class="item" id="rekap">
<a href="#rekap" class="button"><i class="fas fa-file"></i>Rekap Data</a>
<div class="smenu">
<a href="HOME.jsp?halaman=rekappendaftaran">Rekap Data
Pendaftaran</a>
<a href="HOME.jsp?halaman=rekappembayaran">Rekap Data
Pembayaran</a>
</div>
</div>
<div class="item" id="cetak">
<a href="#cetak" class="button"><i class="fas fa-print"></i>Cetak</a>
66
<div class="smenu">
<a href="HOME.jsp?halaman=buktipembayaran">Cetak Bukti
Pembayaran</a>
<a href="HOME.jsp?halaman=cetakkartu">Cetak Kartu Member</a>
</div>
</div>
<div class="item" id="akuntansi">
<a href="#akuntansi" class="button"><i class="fas fa-file-invoice-
dollar"></i>Akuntansi</a>
<div class="smenu">
<a href="HOME.jsp?halaman=akun">Data Akun</a>
<a href="HOME.jsp?halaman=jurnalumum">Jurnal Umum</a>
<a href="HOME.jsp?halaman=laporanju">Laporan Jurnal Umum</a>
<a href="HOME.jsp?halaman=kasmasuk">Kas Masuk</a>
<a href="HOME.jsp?halaman=laporankm">Laporan Kas Masuk</a>
</div>
</div>
<div class="item">
<a class="button" href="logout.jsp"><i class="fas fa-sign-out-
alt"></i>Logout</a>
</div>
</div>
</div>
<div class="copyright">
<p>Copyright © SJ'19 </p>
</div>
</div>
<div class="right-side">
<div class="right-content">
<c:choose>
<c:when test="${param.halaman=='member'}">
<%@include file="member.jsp" %>
</c:when>
<c:when test="${param.halaman=='edit_member'}">
<%@include file="edit_member.jsp" %>
</c:when>
<c:when test="${param.halaman=='paket'}">
<%@include file="paket.jsp" %>
</c:when>
<c:when test="${param.halaman=='edit_paket'}">
<%@include file="edit_paket.jsp" %>
</c:when>
<c:when test="${param.halaman=='daftar'}">
<%@include file="daftar.jsp" %>
</c:when>
<c:when test="${param.halaman=='bayarmember'}">
<%@include file="bayarmember.jsp" %>
</c:when>
<c:when test="${param.halaman=='user'}">
<%@include file="user.jsp" %>
</c:when>
67
<c:when test="${param.halaman=='edit-user'}">
<%@include file="edit_user.jsp" %>
</c:when>
<c:when test="${param.halaman=='buktipembayaran'}">
<%@include file="buktipembayaran.jsp" %>
</c:when>
<c:when test="${param.halaman=='cetakkartu'}">
<%@include file="cetakkartu.jsp" %>
</c:when>
<c:when test="${param.halaman=='rekappendaftaran'}">
<%@include file="rekappendaftaran.jsp" %>
</c:when>
<c:when test="${param.halaman=='rekappembayaran'}">
<%@include file="rekappembayaran.jsp" %>
</c:when>
<c:when test="${param.halaman=='akun'}">
<%@include file="akun.jsp" %>
</c:when>
<c:when test="${param.halaman=='edit_akun'}">
<%@include file="edit_akun.jsp" %>
</c:when>
<c:when test="${param.halaman=='jurnalumum'}">
<%@include file="jurnalumum.jsp" %>
</c:when>
<c:when test="${param.halaman=='laporanju'}">
<%@include file="laporanju.jsp" %>
</c:when>
<c:when test="${param.halaman=='kasmasuk'}">
<%@include file="kasmasuk.jsp" %>
</c:when>
<c:when test="${param.halaman=='laporankm'}">
<%@include file="laporankm.jsp" %>
</c:when>
<c:otherwise>
<%@include file="artikel.jsp" %>
</c:otherwise>
</c:choose>
</div>
</div>
</body>
</html>
B. Halaman Data User
<%@page import="java.sql.*" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%
//--koneksi database--
Connection koneksi = null;
Statement stmt = null;
ResultSet rs = null;
ResultSet qryuser = null;
ResultSet qrymasuk = null;
68
Class.forName("com.mysql.jdbc.Driver");
koneksi = DriverManager.getConnection("jdbc:mysql://localhost/fitness","root", "");
stmt = koneksi.createStatement();
rs = stmt.executeQuery("SELECT * FROM user" + " ORDER BY user_name");
%>
<html lang="en">
<head>
<style>
.content h1 {
text-transform: uppercase;
font-weight: 700;
padding-bottom: 35px;
margin-bottom: 35px;
border-bottom: 1px solid #333;
font-family: courier;
}
#one span {
color: #00c292;
}
.normal-table-list .table{
margin-bottom:0px;
}
.table.table-bordered>tbody>tr>td, .table.table-bordered>tbody>tr>th,
.table.table-bordered>tfoot>tr>td, .table.table-bordered>tfoot>tr>th, .table.table-
bordered>thead>tr>td, .table.table-bordered>thead>tr>th{
border: 1px solid #F5F5F5;
font-size:14px;
color:#333;
padding:15px;
}
.table-bordered, .table-bordered>tbody>tr>td, .table-bordered>tbody>tr>th,
.table-bordered>tfoot>tr>td, .table-bordered>tfoot>tr>th, .table-
bordered>thead>tr>td, .table-bordered>thead>tr>th {
border: 1px solid #F5F5F5;
}
.table.table-bordered>thead>tr>th {
border-bottom: 0px solid #ddd;
}
.login-form{
padding: 10px;
}
.login-form label{
margin-bottom: 5px;
margin-top: 5px;
margin-left: 25px;
font-size: 17px;
color: black;
font-family: cursive;
}
.login-form h1
{
padding: 20px;
font-size: 25px;
69
font-family: berlin sans fb;
color: #00c292;
text-align: center;
}
.form-control
{
font-size: 15px!important;
border-radius: 0!important;
color: black!important;
background: transparent!important;
box-shadow: none!important;
width: 90%
}
input, select, option
{
width: 90%;
padding: 12px 20px;
margin: 8px 26px;
display: inline-block;
border: 1px solid #ccc;
box-sizing: border-box;
font-size:16px;
}
.cancel
{
margin: 24px 0 12px 0;
position: relative;
}
.modal
{
display:none;
position: fixed;
z-index: 1;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: linear-gradient(rgba(0,0,0,0.8),rgba(0,0,0,0.8));
}
.modal-content
{
background-color: #efefef;
margin: 10% auto 15% auto;
border: 1px solid #888;
width: 40%;
}
.close
{
position: absolute;
right: 25px;
top: 0;
color: #000;
font-size: 35px;
70
font-weight: bold;
}
.close:hover,.close:focus
{
color: red;
cursor: pointer;
}
.animate
{
animation: zoom 0.6s
}
.btn-primary{
box-shadow: none;
padding: 8px 25px;
border: none;
border-radius: 20px;
background-color: #00c292;
color: white;
font-family: sans-serif;
cursor: pointer;
}
.btn-secondary{
margin: 0 25px 0 125px;
box-shadow: none;
padding: 8px 25px;
border: none;
border-radius: 20px;
background-color: #00c292;
color: white;
font-family: sans-serif;
cursor: pointer;
}
@keyframes zoom
{
from {transform: scale(0)}
to {transform: scale(1)}
}
.search-box {
position: relative;
float: right;
}
.search-box .input-group {
min-width: 300px;
right: 0;
}
.search-box .input-group-addon, .search-box input {
border-color: transparent;
border: 1px solid #F5F5F5;
border-radius: 0;
}
.search-box input {
height: 34px;
padding-right: 35px;
background: transparent;
71
border: 1px solid #F5F5F5;
border-radius: 2px !important;
}
.search-box input:focus {
background: transparent;
border: 1px solid #F5F5F5;
}
.search-box input::placeholder {
font-style: italic;
color: white;
}
.search-box .input-group-addon {
min-width: 50px;
border: none;
background: transparent;
position: absolute;
right: 0;
z-index: 9;
padding: 13px 0;
}
.search-box i {
color: #a0a5b1;
font-size: 19px;
position: relative;
top: 2px;
}
#table tr.header, #table tr:hover {
background-color: #cccccc;
}
</style>
</head>
<body>
<div class="row">
<div id="one" class="content active in">
<h1><span>Master Data</span> - Data User</h1>
</div>
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<button onclick="document.getElementById('modal-
wrapper').style.display='block'" class="btn-primary">Tambah User</button>
</div>
<br>
<div class="search-box">
<div class="input-group">
<input type="text" id="search" onkeyup="myFunction()"
placeholder="Search Data">
<span class="input-group-addon"><i class="fas fa-
search"></i></span>
</div>
</div>
<br>
<div class="bsc-tbl-bdr">
<table id="table" class="table table-bordered">
<thead>
72
<tr>
<th>Username</th>
<th>Nama Lengkap User</th>
<th>Password</th>
<th>Hak Akses</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<%
Class.forName("com.mysql.jdbc.Driver");
koneksi = DriverManager.getConnection("jdbc:mysql://localhost/fitness",
"root", "");
stmt = koneksi.createStatement();
rs = stmt.executeQuery("SELECT * FROM user ORDER BY user_name");
int isi = rs.getRow();
if (isi > 0){
out.println("<tr>"
+ "<td colspan=5> "
+ "- Data User Kosong -"
+ "</td>"
+ "</tr>");
} else {
while (rs.next()){
out.println("<tr>"
+ "<td>" + rs.getString("user_name") + "</td>"
+ "<td>" + rs.getString("nama_user") + "</td>"
+ "<td>" + rs.getString("password") + "</td>"
+ "<td>" + rs.getString("hak_akses") + "</td>"
+ "<td><a href=HOME.jsp?halaman=edit-user&user_name=" +
rs.getString("user_name") + ">Edit</a> | "
+ "<a href=userServlet?aksi=Delete&user_name=" +
rs.getString("user_name") + ">Hapus</a></td>"
+ "</tr>");
}
}
%>
</tr>
</tbody>
</table>
</div>
</div>
<div id="modal-wrapper" class="modal">
<form class="modal-content animate" action="userServlet">
<div class="cancel">
<span onclick="document.getElementById('modal-
wrapper').style.display='none'" class="close">×</span>
</div>
<div class="login-form">
<h1>TAMBAH DATA USER</h1>
<label>Username</label>
<input type="text" class="form-control" name="user_name">
73
<label>Nama Lengkap</label>
<input type="text" class="form-control" name="nama_user">
<label>Password</label>
<input type="text" class="form-control" name="password">
<label>Hak Akses</label>
<input type="text" class="form-control" value="Admin" name="hak_akses"
readonly='readonly'>
<br><br>
<button type="submit" name="aksi" value="INSERT" class="btn-
secondary">SIMPAN</button>
<button type="reset" value="RESET" name="batal" class="btn-
secondary">RESET</button>
<br>
</div>
</form>
</div>
<script>
var modal = document.getElementById('modal-wrapper');
window.onclick = function(event) {
if (event.target == modal) {
modal.style.display = "none";
}
}
</script>
<script>
function myFunction() {
var input, filter, table, tr, td, i, txtValue;
input = document.getElementById("search");
filter = input.value.toUpperCase();
table = document.getElementById("table");
tr = table.getElementsByTagName("tr");
for (i = 0; i < tr.length; i++) {
td = tr[i].getElementsByTagName("td")[0];
if (td) {
txtValue = td.textContent || td.innerText;
if (txtValue.toUpperCase().indexOf(filter) > -1) {
tr[i].style.display = "";
} else {
tr[i].style.display = "none";
}
}
}
}
</script>
</body>
</html>
74
C. Halaman Transaksi Pendaftaran
<%@page import="java.sql.*, model.member, model.paket, model.daftar" %>
<%
daftar daftar = new daftar();
paket paket = new paket();
member member = new member();
//--koneksi database--
Connection koneksi = null;
Statement stmt = null;
Statement perintah = null;
ResultSet rs = null;
ResultSet no = null;
ResultSet qrypaket = null;
ResultSet qrymasuk = null;
Class.forName("com.mysql.jdbc.Driver");
koneksi = DriverManager.getConnection("jdbc:mysql://localhost/fitness", "root",
"");
stmt = koneksi.createStatement();
perintah = koneksi.createStatement();
rs = stmt.executeQuery("SELECT * FROM daftar"
+ " ORDER BY no_pd");
%>
<html lang="en">
<head>
<style>
.content h1 {
text-transform: uppercase;
font-weight: 700;
padding-bottom: 35px;
margin-bottom: 35px;
border-bottom: 1px solid #333;
font-family: courier;
}
#one span {
color: #00c292;
}
.normal-table-list .table{
margin-bottom:0px;
}
.table.table-bordered>tbody>tr>td, .table.table-bordered>tbody>tr>th,
.table.table-bordered>tfoot>tr>td, .table.table-bordered>tfoot>tr>th, .table.table-
bordered>thead>tr>td, .table.table-bordered>thead>tr>th{
border: 1px solid #F5F5F5;
font-size:14px;
color:#333;
padding:15px;
}
.table-bordered, .table-bordered>tbody>tr>td, .table-bordered>tbody>tr>th,
.table-bordered>tfoot>tr>td, .table-bordered>tfoot>tr>th, .table-
bordered>thead>tr>td, .table-bordered>thead>tr>th {
75
border: 1px solid #F5F5F5;
}
.table.table-bordered>thead>tr>th {
border-bottom: 0px solid #ddd;
}
.login-form{
padding: 10px;
}
.login-form label{
margin-bottom: 5px;
margin-top: 5px;
margin-left: 25px;
font-size: 17px;
color: black;
font-family: cursive;
}
.login-form h1
{
padding: 20px;
font-size: 25px;
font-family: berlin sans fb;
color: #00c292;
text-align: center;
}
.form-control
{
font-size: 15px!important;
border-radius: 0!important;
color: black!important;
background: transparent!important;
box-shadow: none!important;
width: 90%
}
input, select, option
{
width: 90%;
padding: 12px 20px;
margin: 8px 26px;
display: inline-block;
border: 1px solid #ccc;
box-sizing: border-box;
font-size:16px;
}
.cancel
{
margin: 24px 0 12px 0;
position: relative;
}
.modal
{
display:none;
position: fixed;
z-index: 1;
left: 0;
76
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: linear-gradient(rgba(0,0,0,0.8),rgba(0,0,0,0.8));
}
.modal-content
{
background-color: #efefef;
margin: 10% auto 15% auto;
border: 1px solid #888;
width: 40%;
}
.close
{
position: absolute;
right: 25px;
top: 0;
color: #000;
font-size: 35px;
font-weight: bold;
}
.close:hover,.close:focus
{
color: red;
cursor: pointer;
}
.animate
{
animation: zoom 0.6s
}
.btn-primary{
box-shadow: none;
padding: 8px 25px;
border: none;
border-radius: 20px;
background-color: #00c292;
color: white;
font-family: sans-serif;
cursor: pointer;
}
.btn-secondary{
margin: 0 25px 0 125px;
box-shadow: none;
padding: 8px 25px;
border: none;
border-radius: 20px;
background-color: #00c292;
color: white;
font-family: sans-serif;
cursor: pointer;
}
@keyframes zoom
{
77
from {transform: scale(0)}
to {transform: scale(1)}
}
.search-box {
position: relative;
float: right;
}
.search-box .input-group {
min-width: 300px;
right: 0;
}
.search-box .input-group-addon, .search-box input {
border-color: transparent;
border: 1px solid #F5F5F5;
border-radius: 0;
}
.search-box input {
height: 34px;
padding-right: 35px;
background: transparent;
border: 1px solid #F5F5F5;
border-radius: 2px !important;
}
.search-box input:focus {
background: transparent;
border: 1px solid #F5F5F5;
}
.search-box input::placeholder {
font-style: italic;
color: white;
}
.search-box .input-group-addon {
min-width: 50px;
border: none;
background: transparent;
position: absolute;
right: 0;
z-index: 9;
padding: 13px 0;
}
.search-box i {
color: #a0a5b1;
font-size: 19px;
position: relative;
top: 2px;
}
#table tr.header, #table tr:hover {
background-color: #cccccc;
}
</style>
</head>
<body>
<div class="row">
<div id="one" class="content active in">
78
<h1><span>Transaksi</span> - Transaksi Pendaftaran</h1>
</div>
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<button onclick="document.getElementById('modal-
wrapper').style.display='block'" class="btn-primary">Tambah Pendaftaran</button>
</div>
<br>
<div class="search-box">
<div class="input-group">
<input type="text" id="search" onkeyup="myFunction()"
placeholder="Search Data">
<span class="input-group-addon"><i class="fas fa-
search"></i></span>
</div>
</div>
<br>
<div class="bsc-tbl-bdr">
<table id="table" class="table table-bordered">
<thead>
<tr>
<th>No. Pendaftaran</th>
<th>Tanggal Pendaftaran</th>
<th>ID Member</th>
<th>Paket</th>
<th>Harga Paket</th>
<th>Biaya Pendaftaran</th>
<th>Total Pembayaran</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<%
Class.forName("com.mysql.jdbc.Driver");
koneksi = DriverManager.getConnection("jdbc:mysql://localhost/fitness",
"root", "");
stmt = koneksi.createStatement();
rs = stmt.executeQuery("SELECT * FROM daftar ORDER BY no_pd");
int isi = rs.getRow();
if (isi > 0){
out.println("<tr>"
+ "<td colspan=5> "
+ "- Transaksi Pendaftaran Kosong -"
+ "</td>"
+ "</tr>");
} else {
while (rs.next()){
out.println("<tr>"
+ "<td>" + rs.getString("no_pd") + "</td>"
+ "<td>" + rs.getString("tgl_pd") + "</td>"
+ "<td>" + rs.getString("id_member") + "</td>"
+ "<td>" + rs.getString("paket") + "</td>"
+ "<td>" + rs.getString("harga") + "</td>"
79
+ "<td>" + rs.getString("biaya") + "</td>"
+ "<td>" + rs.getString("total") + "</td>"
+ "<td><a href=HOME.jsp?halaman=bayarmember&no_pd=" +
rs.getString(1) + ">Bayar</a> | "
+ "<a href=daftarServlet?aksi=Delete&no_pd=" + rs.getString(1) +
">Hapus</a></td>"
+ "</tr>");
}
}
%>
</tr>
</tbody>
</table>
</div>
</div>
<div id="modal-wrapper" class="modal">
<form class="modal-content animate" action="daftarServlet">
<div class="cancel">
<span onclick="document.getElementById('modal-
wrapper').style.display='none'" class="close">×</span>
</div>
<div class="login-form">
<h1>TAMBAH TRANSAKSI PENDAFTARAN</h1>
<label>No. Pendaftaran</label>
<% try {
rs = perintah.executeQuery("Select max(right(no_pd,3)) as no
FROM daftar");
while (rs.next()) {
if (rs.first() == false) {
out.println("<input type='hidden' name='no_pd'
value='PD001'/>");
out.println("<input type='text' value='PD001'
readonly='readonly'/>");
} else {
rs.last();
int autono = rs.getInt(1) + 1;
String nomor = String.valueOf(autono);
int noLong = nomor.length();
for (int a = 1; a < 4 - noLong; a++) {
nomor = "0" + nomor;
}
String nomer = "PD19" + nomor;
out.println("<input type='hidden' name='no_pd' value='" +
nomer + "'/>");
out.println("<input type='text' value='" + nomer + "'
readonly='readonly'/>");
}
}
} catch (Exception e) {
out.println(e);
}
%>
80
<label>Tanggal Pendaftaran</label>
<input type="date" class="form-control" name="tgl_pd">
<label>ID Member</label>
<select name="id_member">
<%
qrymasuk = stmt.executeQuery("SELECT id_member, nama_member
FROM member");
while (qrymasuk.next()) {
member.setId_member(qrymasuk.getString("id_member"));
member.setNama_member(qrymasuk.getString("nama_member"));
%><option
value="<%=member.getId_member()%>"><%=member.getId_member()%>
<%=member.getNama_member()%></option>
<% } %>
</select>
<label>Paket</label>
<select name="paket">
<%
qrymasuk = stmt.executeQuery("SELECT kode_paket, nama_paket
FROM paket");
while (qrymasuk.next()) {
paket.setKode_paket(qrymasuk.getString("kode_paket"));
paket.setNama_paket(qrymasuk.getString("nama_paket"));
%><option
value="<%=paket.getKode_paket()%>"><%=paket.getKode_paket()%>
<%=paket.getNama_paket()%></option>
<% } %>
</select>
<label>Harga Paket</label>
<select id="harga" name="harga" onchange="math()">
<%
qrymasuk = stmt.executeQuery("SELECT kode_paket, harga FROM
paket");
while (qrymasuk.next()) {
paket.setKode_paket(qrymasuk.getString("kode_paket"));
paket.setHarga(qrymasuk.getInt("harga"));
%><option
value="<%=paket.getHarga()%>"><%=paket.getKode_paket()%> --
<%=paket.getHarga()%></option>
<% } %>
</select>
<label>Biaya Pendaftaran</label>
<input name="biaya" type="text" value="20000" id="biaya"
onchange="math()" readonly>
<label>Total Pembayaran</label>
<input type="text" name="total" id="total" readonly="readonly">
<br><br>
<button type="submit" name="aksi" value="SIMPAN" class="btn-
secondary">SIMPAN</button>
<button type="reset" value="RESET" name="batal" class="btn-
secondary">RESET</button>
<br>
</div>
</form>
81
</div>
<script>
function math() {
var txtFirstNumberValue = document.getElementById('biaya').value;
var txtSecondNumberValue = document.getElementById('harga').value;
var result = parseInt(txtFirstNumberValue) + parseInt(txtSecondNumberValue);
if (!isNaN(result))
{
document.getElementById('total').value = result;
}
}
</script>
<script>
var modal = document.getElementById('modal-wrapper');
window.onclick = function(event) {
if (event.target == modal) {
modal.style.display = "none";
}
}
</script>
<script>
function myFunction() {
var input, filter, table, tr, td, i, txtValue;
input = document.getElementById("search");
filter = input.value.toUpperCase();
table = document.getElementById("table");
tr = table.getElementsByTagName("tr");
for (i = 0; i < tr.length; i++) {
td = tr[i].getElementsByTagName("td")[0];
if (td) {
txtValue = td.textContent || td.innerText;
if (txtValue.toUpperCase().indexOf(filter) > -1) {
tr[i].style.display = "";
} else {
tr[i].style.display = "none";
}
}
}
}
</script>
</body>
</html>
82
3.3.2. Black Box Testing
A. Pengujian Black Box Form Login
Tabel III.11.
Pengujian Black Box Form Login
No Skenario Pengujian Test Case Hasil yang
diharapkan
Hasil
Pengujian Kesimpulan
1 Username dan
password tidak diisi
kemudian klik
tombol masuk
Nama user:
(kosong)
Sistem akan
menolak
akses user
Sesuai
harapan
Valid
Kata sandi:
(kosong)
2 Hanya mengisi
salah satu form
kemudian klik
tombol Login
Nama user: Sistem akan
menolak
akses user
Sesuai
harapan
Valid
(diisi)
Kata sandi:
(kosong)
3 Mengetikkan
username dan
password yang
benar kemudian
klik tombol masuk
Nama user: Sistem akan
menerima
akses user
Sesuai
harapan
Valid
(diisi)
Kata sandi:
(diisi)
Sumber : Hasil Penelitian, 2019
B. Pengujian Black Box Form Data User
Tabel III.12.
Pengujian Black Box Form Data User
No Skenario
Pengujian Test Case
Hasil yang
diharapkan
Hasil
Pengujian Kesimpulan
1 Username, nama
lengkap,
password, hak
akses tidak diisi
kemudian klik
Simpan
Username:
(kosong)
Sistem akan
menolak
akses simpan
dan akan
menampilkan
pesan “Data
User Gagal
Input”
Sesuai
harapan
Valid
Nama
lengkap:
(kosong)
Password:
(kosong)
Hak Akses:
(otomatis)
2 Mengisi
beberapa form
username, nama
lengkap
administrator,
Username: Sistem akan
menolak
akses simpan
dan akan
menampilkan
Sesuai
harapan
Valid
(diisi)
Nama
lengkap:
(diisi)
83
password dan
hak akses diisi
kemudian klik
tombol simpan
Password: pesan “Data
User Gagal
Input” (kosong)
Hak Akses:
(otomatis)
3 Menginput Data
User dengan
benar dan
lengkap,
kemudian klik
Simpan
Username: Sistem akan
menerima
akses simpan
dan
menampilkan
pesan “Data
User berhasil
ditambahkan"
Sesuai
harapan
Valid
(diisi)
Nama
lengkap:
(diisi)
Password:
(diisi)
Hak Akses:
(otomatis)
Sumber : Hasil Penelitian, 2019
C. Pengujian Black Box Form Data Paket
Tabel III.13.
Pengujian Black Box Form Data Paket
No Skenario
Pengujian Test Case
Hasil yang
diharapkan
Hasil
Pengujian Kesimpulan
1 Kode paket, nama
paket, iuran,
harga dan
deskripsi tidak
diisi kemudian
klik Simpan
Kode Paket:
(otomatis)
Sistem akan
menolak
akses simpan
dan akan
menampilkan
pesan “Data
Paket Gagal
Input”
Sesuai
harapan
Valid
Nama paket:
(kosong)
Iuran:
(kosong)
Harga:
(kosong)
Deskripsi:
(kosong)
2 Mengisi beberapa
form kode paket,
nama paket,
iuran, harga dan
deskripsi
kemudian klik
Simpan
Kode Paket:
(otomatis)
Sistem akan
menolak
akses simpan
dan akan
menampilkan
pesan “Data
Paket Gagal
Input”
Sesuai
harapan
Valid
Nama paket:
(diisi)
Iuran:
(kosong)
Harga:
(kosong)
Deskripsi:
(kosong)
3 Mengisi data user
dengan lengkap
Kode Paket:
(otomatis)
Sistem akan
menerima
Sesuai
harapan
Valid
84
dan benar
kemudian klik
Simpan
Nama paket:
(diisi)
akses simpan
dan akan
menampilkan
pesan “Data
Paket Berhasil
Ditambahkan”
Iuran:
(diisi)
Harga:
(diisi)
Deskripsi:
(diisi)
Sumber : Hasil Penelitian, 2019
D. Pengujian Black Box Form Data Member
Tabel III.14.
Pengujian Black Box Form Data Member
No Skenario
Pengujian Test Case
Hasil yang
diharapkan
Hasil
Pengujian Kesimpulan
1 ID Member,
Nama Member,
Nomor KTP,
Jenis Kelamin,
Alamat, No Telp
tidak diisi
kemudian klik
Simpan
ID Member:
(otomatis)
Sistem akan
menolak
akses simpan
dan akan
menampilkan
pesan “Data
Member
Gagal Input”
Sesuai
harapan
Valid
Nama
member:
(kosong)
Nomor KTP
(kosong)
Jenis
Kelamin:
(kosong)
Alamat
(kosong)
No. Telp:
(kosong)
2 Mengisi beberapa
form ID Member,
Nama Member,
Nomor KTP,
Jenis Kelamin,
Alamat, No Telp
kemudian klik
Simpan
ID Member:
(otomatis)
Sistem akan
menolak
akses simpan
dan akan
menampilkan
pesan “Data
Member
Gagal Input”
Sesuai
harapan
Valid
Nama
member:
(diisi)
Nomor KTP
(diisi)
Jenis
Kelamin:
(diisi)
Alamat
(kosong)
No. Telp:
85
(kosong)
3 Mengisi Data
Member dengan
lengkap dan
benar, kemudian
klik Simpan
ID Member:
(otomatis)
Sistem akan
menerima
akses simpan
dan akan
menampilkan
pesan “Data
Member
Berhasil
Ditambahkan”
Sesuai
harapan
Valid
Nama
member:
(diisi)
Nomor KTP
(diisi)
Jenis
Kelamin:
(diisi)
Alamat
(diisi)
No. Telp:
(diisi)
Sumber : Hasil Penelitian, 2019
E. Pengujian Black Box Form Transaksi Pendaftaran Member
Tabel III.15.
Pengujian Black Box Form Transaksi Pendaftaran Member
No Skenario
Pengujian Test Case
Hasil yang
diharapkan
Hasil
Pengujian Kesimpulan
1 Nomor
Pendaftaran,
Tanggal
Pendaftaran, ID
Member, Paket,
Harga Paket,
Biaya
Pendaftaran dan
Total
Pembayaran
tidak diisi
kemudian klik
Simpan
Nomor
Pendaftaran:
(otomatis)
Sistem akan
menolak
akses simpan
dan akan
menampilkan
pesan “Gagal
masih ada
data yang
belum terisi,
Silahkan
Ulangi”
Sesuai
harapan
Valid
Tanggal
Pendaftaran:
(kosong)
ID Member:
(kosong)
Paket:
(kosong)
Harga Paket:
(kosong)
Biaya
Pendaftaran:
(kosong)
Total
Pembayaran:
(kosong)
2 Mengisi
beberapa form
Nomor
Pendaftaran:
Sistem akan
menolak
Sesuai
harapan
Valid
86
Nomor
Pendaftaran,
Tanggal
Pendaftaran, ID
Member, Paket,
Harga Paket,
Biaya
Pendaftaran dan
Total
Pembayaran
kemudian klik
Simpan
(otomatis) akses simpan
dan akan
menampilkan
pesan “Gagal
masih ada
data yang
belum terisi,
Silahkan
Ulangi”
Tanggal
Pendaftaran:
(kosong)
ID Member:
(diisi)
Paket:
(kosong)
Harga Paket:
(kosong)
Biaya
Pendaftaran:
(diisi)
Total
Pembayaran:
(kosong)
3 Mengisi
transaksi
pendaftaran
dengan lengkap
dan benar,
kemudian klik
Simpan
Nomor
Pendaftaran:
(otomatis)
Sistem akan
menerima
akses simpan
dan akan
menampilkan
pesan
“Transaksi
Pendaftaran
Berhasil
Ditambahkan”
Sesuai
harapan
Valid
Tanggal
Pendaftaran:
(diisi)
ID Member:
(diisi)
Paket:
(diisi)
Harga Paket:
(diisi)
Biaya
Pendaftaran:
(diisi)
Total
Pembayaran:
(diisi)
Sumber : Hasil Penelitian, 2019
87
F. Pengujian Black Box Form Transaksi Pembayaran Member
Tabel III.16.
Pengujian Black Box Form Transaksi Pembayaran Member
No Skenario
Pengujian Test Case
Hasil yang
diharapkan
Hasil
Pengujian Kesimpulan
1 Nomor
Pembayaran,
Tanggal
Pembayaran,
Nomor
Pendaftaran,
ID Member,
Total
Pembayaran,
Uang Bayar,
Uang
Kembali,
Nama User
tidak diisi
kemudian
klik Simpan
Nomor
Pembayaran:
(otomatis)
Sistem akan
menolak
akses simpan
dan akan
menampilkan
pesan “Gagal
masih ada
data yang
belum terisi,
Silahkan
Ulangi”
Sesuai
harapan
Valid
Tanggal
Pembayaran:
(kosong)
Nomor
Pembayaran:
(kosong)
ID Member:
(kosong)
Total
Pembayaran:
(kosong)
Uang Bayar:
(kosong)
Uang
Kembali:
(kosong)
Nama User:
(kosong)
2 Mengisi
beberapa
form Nomor
Pembayaran,
Tanggal
Pembayaran,
Nomor
Pendaftaran,
ID Member,
Total
Pembayaran,
Uang Bayar,
Uang
Kembali,
Nama User
kemudian
klik Simpan
Nomor
Pembayaran:
(otomatis)
Sistem akan
menolak
akses simpan
dan akan
menampilkan
pesan “Gagal
masih ada
data yang
belum terisi,
Silahkan
Ulangi”
Sesuai
harapan
Valid
Tanggal
Pembayaran:
(kosong)
Nomor
Pendaftaran:
(kosong)
ID Member:
(diisi)
Total
Pembayaran:
(kosong)
Uang Bayar:
(kosong)
Uang
88
Kembali:
(kosong)
Nama User:
(diisi)
3 Mengisi
transaksi
pembayaran
dengan
lengkap dan
benar,
kemudian
klik Simpan
Nomor
Pembayaran:
(otomatis)
Sistem akan
menerima
akses simpan
dan akan
menampilkan
pesan
“Transaksi
Pembayaran
Berhasil
Ditambahkan”
Sesuai
harapan
Valid
Tanggal
Pembayaran:
(diisi)
Nomor
Pembayaran:
(diisi)
ID Member:
(diisi)
Total
Pembayaran:
(diisi)
Uang Bayar:
(diisi)
Uang
Kembali:
(diisi)
Nama User:
(diisi)
Sumber : Hasil Penelitian, 2019
G. Pengujian Black Box Form Data Akun
Tabel III.17.
Pengujian Black Box Form Data Akun
No Skenario
Pengujian Test Case
Hasil yang
diharapkan
Hasil
Pengujian Kesimpulan
1 Kode akun,
nama akun,
jenis akun dan
saldo normal
tidak diisi
kemudian klik
Simpan
Kode Akun:
(kosong)
Sistem akan
menolak akses
simpan dan
akan
menampilkan
pesan “Data
Master Akun
Gagal Input”
Sesuai
harapan
Valid
Nama akun:
(kosong)
Jenis Akun:
(kosong)
Saldo
Normal:
(kosong)
2 Mengisi
beberapa form
kode akun,
Kode Akun:
(diisi)
Sistem akan
menolak akses
simpan dan
Sesuai
harapan
Valid
Nama akun:
89
nama akun,
jenis akun dan
saldo norma
kemudian klik
Simpan
(diisi) akan
menampilkan
pesan “Data
Master Akun
Gagal Input”
Jenis Akun:
(kosong)
Saldo
Normal:
(kosong)
3 Mengisi data
akun dengan
lengkap dan
benar kemudian
klik Simpan
Kode Akun:
(kosong)
Sistem akan
menerima akses
simpan dan
akan
menampilkan
pesan “Data
Master Akun
Berhasil
Ditambahkan”
Sesuai
harapan
Valid
Nama akun:
(kosong)
Jenis Akun:
(kosong)
Saldo
Normal:
(kosong)
Sumber : Hasil Penelitian, 2019
H. Pengujian Black Box Form Jurnal Umum
Tabel III.18.
Pengujian Black Box Form Jurnal Umum
No Skenario
Pengujian Test Case
Hasil yang
diharapkan
Hasil
Pengujia
n
Kesimpulan
1 No. Referensi,
Tanggal
Transaksi, No.
Bukti
Transaksi,
Keterangan,
Kode
Akun&Nama
Akun, Debet,
Kredit tidak
diisi kemudian
klik Simpan
No.
Referensi:
(otomatis)
Sistem akan
menolak
akses simpan
dan akan
menampilkan
pesan “Jurnal
Umum Gagal
Input”
Sesuai
harapan
Valid
Tanggal
Transaksi:
(kosong)
No. Bukti
Transaksi:
(kosong)
Keterangan:
(kosong)
Kode
Akun&Nama
Akun:
(kosong)
Debet:
(kosong)
Kredit:
(kosong)
2 Mengisi No. Sistem akan Sesuai Valid
90
beberapa form
No. Referensi,
Tanggal
Transaksi, No.
Bukti
Transaksi,
Keterangan,
Kode
Akun&Nama
Akun, Debet,
Kredit
kemudian klik
Simpan
Referensi:
(otomatis)
menolak
akses simpan
dan akan
menampilkan
pesan “Jurnal
Umum Gagal
Input”
harapan
Tanggal
Transaksi:
(kosong)
No. Bukti
Transaksi:
(diisi)
Keterangan:
(diisi)
Kode
Akun&Nama
Akun:
(kosong)
Debet:
(kosong)
Kredit:
(kosong)
3 Mengisi data
jurnal umum
dengan
lengkap dan
benar
kemudian klik
Simpan
No.
Referensi:
(otomatis)
Sistem akan
menerima
akses simpan
dan akan
menampilkan
pesan “Jurnal
Umum
Berhasil
Ditambahkan
”
Sesuai
harapan
Valid
Tanggal
Transaksi:
(diisi)
No. Bukti
Transaksi:
(diisi)
Keterangan:
(diisi)
Kode
Akun&Nama
Akun:
(diisi)
Debet:
(diisi)
Kredit:
(diisi)
Sumber : Hasil Penelitian, 2019
91
I. Pengujian Black Box Form Kas Masuk
Tabel III.19.
Pengujian Black Box Form Kas Masuk
No Skenario
Pengujian Test Case
Hasil yang
diharapkan
Hasil
Pengujian Kesimpulan
1 No. Kas
Masuk,
Tanggal Kas
Masuk, Akun
Debet, Akun
Kredit,
Keterangan
dan Nominal
tidak diisi
kemudian klik
Simpan
No. Kas
Masuk:
(otomatis)
Sistem akan
menolak
akses simpan
dan akan
menampilkan
pesan “Kas
Masuk Gagal
Input”
Sesuai
harapan
Valid
Tanggal Kas
Masuk:
(kosong)
Akun Debet:
(kosong)
Akun Kredit:
(kosong)
Keterangan:
(kosong)
Nominal:
(kosong)
2 Mengisi
beberapa form
No. Kas
Masuk,
Tanggal Kas
Masuk, Akun
Debet, Akun
Kredit,
Keterangan
dan Nominal
kemudian klik
Simpan
No. Kas
Masuk:
(otomatis)
Sistem akan
menolak
akses simpan
dan akan
menampilkan
pesan “Kas
Masuk Gagal
Input”
Sesuai
harapan
Valid
Tanggal Kas
Masuk:
(diisi)
Akun Debet:
(diisi)
Akun Kredit:
(kosong)
Keterangan:
(kosong)
Nominal:
(kosong)
3 Mengisi data
kas masuk
dengan
lengkap dan
benar
kemudian klik
Simpan
No. Kas
Masuk:
(otomatis)
Sistem akan
menerima
akses simpan
dan akan
menampilkan
pesan “Kas
Masuk
Berhasil
Ditambahkan
”
Sesuai
harapan
Valid
Tanggal Kas
Masuk:
(diisi)
Akun Debet:
(diisi)
Akun Kredit:
(diisi)
92
Keterangan:
(diisi)
Nominal:
(diisi)
Sumber : Hasil Penelitian, 2019
J. Pengujian Black Box Form Data Diri
Tabel III.20.
Pengujian Black Box Form Data Diri
No Skenario
Pengujian Test Case
Hasil yang
diharapkan
Hasil
Pengujian Kesimpulan
1 ID Member,
Nama Member,
Nomor KTP,
Jenis Kelamin,
Alamat, No Telp
tidak diisi
kemudian klik
Simpan
ID Member:
(otomatis)
Sistem akan
menolak
akses simpan
dan akan
menampilkan
pesan “Data
Gagal Input”
Sesuai
harapan
Valid
Nama
member:
(kosong)
Nomor KTP
(kosong)
Jenis
Kelamin:
(kosong)
Alamat
(kosong)
No. Telp:
(kosong)
2 Mengisi
beberapa form ID
Member, Nama
Member, Nomor
KTP, Jenis
Kelamin,
Alamat, No Telp
kemudian klik
Simpan
ID Member:
(otomatis)
Sistem akan
menolak
akses simpan
dan akan
menampilkan
pesan “Data
Gagal Input”
Sesuai
harapan
Valid
Nama
member:
(diisi)
Nomor KTP
(diisi)
Jenis
Kelamin:
(kosong)
Alamat
(kosong)
No. Telp:
(kosong)
3 Mengisi Data
Diri dengan
lengkap dan
benar, kemudian
klik Simpan
ID Member:
(otomatis)
Sistem akan
menerima
akses simpan
dan akan
menampilkan
pesan “Data
Sesuai
harapan
Valid
Nama
member:
(diisi)
Nomor KTP
93
(diisi) Diri Anda
Berhasil
Ditambahkan” Jenis
Kelamin:
(diisi)
Alamat
(diisi)
No. Telp:
(diisi)
Sumber : Hasil Penelitian, 2019
K. Pengujian Black Box Form Registrasi
Tabel III.21.
Pengujian Black Box Form Registrasi
No Skenario
Pengujian Test Case
Hasil yang
diharapkan
Hasil
Pengujian Kesimpulan
1 Nomor
Pendaftaran,
Tanggal
Pendaftaran, ID
Member, Paket,
Harga Paket,
Biaya
Pendaftaran dan
Total
Pembayaran
tidak diisi
kemudian klik
Simpan
Nomor
Pendaftaran:
(otomatis)
Sistem akan
menolak
akses simpan
dan akan
menampilkan
pesan “Data
Pendaftaran
Gagal Input”
Sesuai
harapan
Valid
Tanggal
Pendaftaran:
(kosong)
ID Member:
(kosong)
Paket:
(kosong)
Harga Paket:
(kosong)
Biaya
Pendaftaran:
(kosong)
Total
Pembayaran:
(kosong)
2 Mengisi
beberapa form
Nomor
Pendaftaran,
Tanggal
Pendaftaran, ID
Member, Paket,
Harga Paket,
Biaya
Pendaftaran dan
Total
Pembayaran
Nomor
Pendaftaran:
(otomatis)
Sistem akan
menolak
akses simpan
dan akan
menampilkan
pesan “Data
Pendaftaran
Gagal Input”
Sesuai
harapan
Valid
Tanggal
Pendaftaran:
(kosong)
ID Member:
(diisi)
Paket:
(kosong)
Harga Paket:
(diisi)
94
kemudian klik
Simpan
Biaya
Pendaftaran:
(kosong)
Total
Pembayaran:
(diisi)
3 Mengisi form
registrasi
dengan lengkap
dan benar,
kemudian klik
Simpan
Nomor
Pendaftaran:
(otomatis)
Sistem akan
menerima
akses simpan
dan akan
menampilkan
pesan “Data
Pendaftaran
Berhasil.
Silahkan
lakukan
pembayaran
ke cabang
kami
terdekat.
Terimakasih”
Sesuai
harapan
Valid
Tanggal
Pendaftaran:
(diisi)
ID Member:
(diisi)
Paket:
(diisi)
Harga Paket:
(diisi)
Biaya
Pendaftaran:
(otomatis)
Total
Pembayaran:
(diisi)
Sumber : Hasil Penelitian, 2019
3.3.3. Spesifikasi Hardware dan Software
A. Spesifikasi Perangkat Keras (Hardware)
1. Server
a) Laptop
1) Processor : AMD E1-6010 APU with AMD Radeon R2 Graphics
2) RAM : 4 GB
3) Harddisk : 500 GB
b) Mouse : Lenovo M20 Optical USB Mouse
c) Keyboard
d) Monitor : Resolusi layar minimum 1366x768
95
e) Koneksi internet dengan kecepatan 72.0 Mbps
2. Client
a) CPU
1) Processor
2) RAM : 4 GB
3) Harddisk : 500 GB
b) Mouse
c) Keyboard
d) Monitor : Resolusi layar minimum 1366x768
B. Spesifikasi Perangkat Lunak (Software)
1. Server
a) Sistem Operasi : Microsoft Windows 10
b) Aplikasi web server seperti : XAMPP, dari beberapa komponen,
diantaranya:
1) Aplikasi Apache Server
2) Aplikasi MySQL
3) Aplikasi PhpMyAdmin
c) Aplikasi web browser seperti Google Chrome, Mozilla Firefox, Internet
Explorer
2. Client
a) Sistem operasi yang umum digunakan seperti : Microsoft Windows 7
b) Aplikasi web browser seperti Google Chrome, Mozilla Firefox, Internet
Explorer