47
RANCANGAN SISTEM DAN PROGRAM USULAN
4.1. Analisa Kebutuhan Software A. Tahap Analisis
Analisa kebutuhan merupakan langkah awal yang dilakukan agar didapat gambaran dari sebuah sistem yang akan dibuat. Dengan adanya analisa sistem yang berjalan pada sebuah sekolahan nantinya akan didapat sebuah sistem yang sesuai dengan keadaan sistem yang berjalan saat ini sehingga calon peminjam tidak merasa kebingungan dalam penggunaan aplikasi ini nantinya. Sistem Peminjaman Buku Perpustakaan calon peminjam yang berbasis web ini dibuat untuk membantu proses Peminjaman buku perpustakaan pada sekolah SMP Negeri 10 Jakarta agar lebih mudah, cepat dan dapat diakses dimana saja dan kapan saja. Berikut rincian pembagian halaman berdasarkan level pengguna:
Halaman Calon Peminjam :
A1. Calon peminjam dapat melakukan login
A2. Calon peminjam dapat melihat daftar katalog buku dihalaman website Perpustakaan.
A3. Calon peminjam dapat melakukan transaksi peminjaman buku lewat website Perpustakaan SMP Negeri 10 Jakarta.
A4. Calon peminjam dapat melihat data riwayat transaksi yang telah dilakukan.
A5. Calon peminjam dapat melakukan logout.
Halaman Petugas:
B1. Petugas dapat melakukan login.
B2. Petugas dapat mengolah data anggota.
B3. Petugas dapat mengelola data buku.
B4. Petugas dapat mengelola data transaksi peminjaman.
B5. Petugas dapat mengelola data transaksi pengembalian.
B6. Petugas dapat mengelola dan mencetak laporan peminjaman B7. Petugas dapat mengelola dan mencetak laporan pengembalian B8. Petugas dapat mengelola data petugas.
B9. Petugas dapat melakukan logout.
B. Use Case Diagram.
Berikut adalah rancangan Use case diagram pada sistem perpustakaan SMP Negeri 10 Jakarta. Penggambaran Use Case Diagram Model Pertama :
Penggambaran dengan melihat secara keseluruhan fungsi-fungsi yang ada pada sistem.
1. Use Case Diagram Halaman Calon peminjam
uc Use Case Calon Peminj ...
Use Case Diagram Calon Peminjam
Calon Peminj am
Login
Melihat Katalog Buku
Melihat History Peminj aman
Logout
Meminj am buku
Menambahkan daftar buku
Menghapus daftar buku
Memproses peminj aman
Membatalkan peminj aman
Mencetak Bukti Peminj aman
«include»
«include»
«include»
«include»
«extend»
«extend»
«extend»
«extend»
«include»
Gambar IV.1.
Use Case Diagram Halaman Calon peminjam
Deskripsi Use Case Diagram Halaman Calon peminjam:
Tabel IV.1
Deskripsi Use Case Diagram Halaman Calon peminjam
Use Case Name Pendafataran
Requirements A1-A5
Goal Calon peminjam dapat melakukan login, melihat
katalog buku, melakukan transaksi peminjaman buku, dan melihat atau mencetak bukti riwayat transaksi peminjaman, serta melakukan logout Pre-Conditions Calon peminjam telah login
Post-Conditions Sistem menampilkan keranjang peminjaman buku dan dapat dicetak.
Failed end condition 1. Calon peminjam gagal login
2. Calon peminjam gagal meminjam buku.
Primary Actors Calon peminjam
Main Flow / Basic patch 1. Calon peminjam memilih buku yang akan dipinjam
2. Calon peminjam memilih tombol “pinjam”
3. Sistem menyimpan dan menampilkan data transaksi peminjaman buku
4. Calon peminjam mengecek kembali data buku yang akan dipinjam dengan sebernar- benarnya.
5. Calon Peminjam memilih tombol “proses”
6. Sistem menampilkan form bukti peminjaman 7. Calon peminjam dapat mencetak bukti
peminjaman.
Invariant A 1. Calon peminjam memilih buku yang akan dipinjam
2. Calon peminjam memilih tombol “Lihat Buku Lain”
3. Sistem menyimpan daftar katalog buku lainnya.
4. Calon peminjam memilih kembali buku yang akan dipinjam.
5. Calon peminjam dapat menambahkan daftar buku yang ingin dipinjam.
6. Calon peminjam dapat menghapus daftar buku yang ingin dibatalkan.
7. Calon peminjam dapat “meng-cancel” daftar buku yang dipinjam
2. Use Case Diagram Halaman Petugas
uc Use Case Halaman Petugas
Use Case Petugas
Petugas
Login
Mengelola data siswa
Mengelola data buku
Mengelola data transaksi
Mengelola laporan
Mengelola data petugas
Logout
Menambahkan
Mengubah
Menghapus
Mencetak kartu perpustakaan
Menambahkan
Mengubah
Menghapus
Memproses Peminjaman
Memproses Pengembalian
Menyetujui proses pinjaman
Mengembalikan ke menu utama
Menyimpan data pengembalian
Membatalkan proses Melihat laporan
peminjaman
Melihat laporan pengembalian
melihat laporan mingguan
melihat laporan bulanan
melihat laporan bulanan Menambahkan
data petugas
Mengubah data petugas Menghapus data
petugas
Mencetak laporan
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«extend»
«include»
«include»
«include»
«include»
«include»
«include»
«include»
«include»
«include»
«include»
«include»
«include»
Gambar IV.2.
Use Case Diagram Halaman Petugas
a. Deskripsi Use Case Diagram Petugas Login Tabel IV.2.
Deskripsi Use Case Diagram Petugas Login dan Logout
Use Case Name Petugas Login
Requirements B1 dan B8
Goal Petugas dapat melakukan login ke sistem
Pre-condition Terhubung dengan server Post-condition Petugas dapat login Failed end condition Gagal Login
Primary Actors Petugas
Main Flow / Basic Path 1. Masuk ke halaman petugas login 2. Input username dan password 3.Klik Login
4. Logout
InvariantB 1. Petugas memilih “Logout”
2. Keluar dari sistem
3. Petugas melakukan login kembali
b. Deskripsi Use Case Diagram Mengelola Data Anggota dan Buku Tabel IV.3.
Deskripsi Use Case Diagram Mengelola Data Anggota, Buku, dan Petugas Use Case Name Mengelola Data Anggota dan Buku
Requirements B2-B3-B7
Goal Petugas dapat menambahkan, mengubah dan
menghapus data buku, data anggota, dan data petugas
Pre-condition Petugas telah login
Post-condition Data tersimpan,terubah, dan terhapus
Failed end condition Gagal menyimpan, mengubah, dan menghapus
Primary Actors Petugas
Main Flow / Basic Path 1.Petugas memilih menu anggota atau buku atau petugas
2. Petugas memilih tombol “Tambah”
3. Sistem menampilkan form input baru.
4. Petugas mengisi data anggota atau buku atau petugas baru
5. Klik tombol “Simpan”
6. Sistem menyimpan data anggota atau buku baru.
Invariant B 1. Petugas memilih tombol ”Ubah”.
2. Sistem menampilkan form edit 3. Petugas mengubah data
4. Petugas memilih tombol “Simpan”
5. Sistem menyimpan data terbaru.
6. Petugas memilih tombol hapus
7. Sistem menampilkan dialog penghapusan 8. Petugas memilih tombol “Oke”
9. Sistem menghapus data yang dihapus
c. Deskripsi Use Case Diagram Mengelola Data Transaksi peminjaman dan pengembalian
Tabel IV.4.
Deskripsi Use Case Diagram Mengelola Data Transaksi Peminjaman dan Pengembalian.
Use Case Name Mengelola Data Transaksi peminjaman
Requirements B4-B5
Goal Petugas dapat mengubah status data transaksi
peminjam dan pengembalian Pre-condition Petugas telah login
Post-condition Data tersimpan dan terubah Failed end condition Gagal menyimpan, mengubah
Primary Actors Petugas
Main Flow / Basic Path 1. Petugas memilih menu transaksi peminjaman 2. Petugas memilih tombol “Proses”
3.Sistem menampilkan status “sedang dipinjam”
4. Sistem menyimpan data transaksi baru.
Invariant B 1. Petugas memilih menu transaksi 2. Petugas memilih pengembalian
3.Sistem menampilkan form pengembalian buku.
4.Petugas memilih “Simpan”
5.Sistem menyimpan data terbaru.
d. Deskripsi Use Case Diagram Mengelola Data Laporan Peminjaman dan Laporan Pengembalian
Tabel IV.5.
Deskripsi Use Case Diagram Mengelola Data Laporan Peminjaman dan Laporan Pengembalian
Use Case Name Mengelola Data Laporan
Requirements B6 – B7
Goal Petugas dapat melihat dan mencetak laporan
Peminjaman dan Laporan Pengembalian mingguan, bulanan, dan tahunan
Pre-condition Petugas telah login
Post-condition Laporan dapat dicetak dan disimpan Failed end condition Gagal tampil, menyimpan dan mencetak
Primary Actors Petugas
Main Flow / Basic Path 1. Petugas memilih menu Laporan.
2. Petugas memilih laporan mana yang akan dicetak atau dilihat
3.Sistem menampilkan laporan.
4. Petugas meilih aksi “simpan”
5. Petugas akan menyimpan data laporan.
Invariant B 1. Petugas memilih tombol”Print”.
2. Petugas melakukan print laporan.
C. Activity Diagram
Berikut merupakan gambaran dari diagram activity perpustakaan SMP Negeri 10 Jakarta.
1. Activiy Diagram Peminjaman Buku
Gambar IV.3
Activiy Diagram Peminjaman Buku
2. Activity Diagram Melihat History Peminjaman
act Activ ity Diagram Melihat History Peminj aman
Sistem
Masuk halaman w eb Mulai
Calon Peminj am
Menampilkan data buku
Memilih History Peminj aman
Menampilkan history peminj aman calon
peminj am
Melihat History
Memilih Logout Mengeluarkan dari sistem
Tampil halaman login
Selesai
Gambar IV.4
Activity Diagram Melihat History Peminjaman
3. Activity Diagram Halaman Petugas Mengelola Data Siswa
Gambar IV.5
Activity Diagram Halaman Petugas Mengelola Data Siswa
4. Activity Diagram Halaman Petugas Mengelola Data Buku
Gambar IV.6
Activity Diagram Halaman Petugas Mengelola Data Buku
5. Activity Diagram Halaman Petugas Mengelola Data Petugas
Petugas Sistem
Masuk ke halaman petugas
Menambah Data Petugas
Memilih menu data petugas
Menampilkan form tambah petugas Ya
Tidak
Menampilkan data petugas
Mengisi data petugas Menyimpan data
petugas
Simpan data petugas
Tidak Ya
Ubah Data Petugas
Menampilkan form ubah data petugas Ya
Tidak
Mengubah data petugas
Menyimpan data petugas
Simpan data petugas
Tidak Ya
Hapus Data Petugas
Menghapus data petugas Ya
Tidak
Gambar IV.7
Activity Diagram Halaman Petugas Mengelola Data Petugas
6. Activity Diagram Halaman Petugas Mengelola Transaksi Peminjaman
act Activ ity Diagram Petugas Mengelola Transaksi Peminj aman
Sistem Petugas
Mulai
Masuk Ke halaman Petugas
Memilih menu Transaksi Peminj aman
Menampilkan data transaksi peminj aman
Mengubah status peminj aman
Menampilkan halaman yang telah berubah status
peminj aman
Selesai
Gambar IV.8
Activity Diagram Halaman Petugas Mengelola Transaksi Peminjaman
7. Activity Diagram Halaman Petugas Mengelola Transaksi Pengembalian
act Activ ity Diagram Petugas Mengelola Transaksi Pemngembalian
Sistem Petugas
Mulai
Masuk Ke halaman Petugas
Memilih menu Transaksi Pengembalian
Menampilkanform input transaksi pengembalian
Mengisi form input pengembalian buku
Menyimpan data
Selesai
Gambar IV.9
Activity Diagram Halaman Petugas Mengelola Transaksi Pengembalian
8. Activity Diagram Halaman Petugas Menampilkan Laporan
act Laporan
Sistem Admin
Start
Pilih menu laporan Menampilkan data laporan
Pilih data laporan
Menampilkan data laporan yang dipilih
Finish
Gambar IV.10
Activity Diagram Halaman Petugas Menampilkan Laporan
4.2. Desain Sistem
Dalam membuat sebuah sistem perpustakaan online, dibutuhkan tahap desain yang akan menggambarkan design database, desain software architecthure dan disain interface dari sistem yang akan di buat.
4.2.1. Database
Di dalam database terdapat beberapa tabel yang saling berelasi (berhubungan) maka dari itu penulis mencoba menggambarkanya menggunakan ERD. Diagram hubungan entitas merupakan diagram yang berfungsi untuk menggambarkan hubungan antara entitas dalam suatu sistem, dimana diagram menjelaskan hubungan antara entitas yang ada melalui atribut yang dimiliki oleh entitas tersebut. Penggambaran database pada Sekolahan SMP Negeri 10 Jakarta adalah sebagai berikut:
1. Entity Relationship Diagram
Gambar IV.11
Entity Relationship Diagram Perpustakaan SMP Negeri 10 Jakarta
2. Logical Record Structure
Gambar IV.12.
Logical record Structure Perpustakaan SMP Negeri 10 Jakarta
3. Spesifikasi File
a. Spesifikasi File Tabel Siswa Nama Database : perpustakaan Nama File : siswa
Akronim : siswa.myd
Tipe File : File Master Akses file : Random Panjang Record : 135 Byte Kunci Field : nis
Tabel IV.6.
Spesifikasi File Tabel Anggota No Elemen Data Nama
Field
Tipe Size Ket
1. NIS Nis Varchar 10 Primary Key
2. Nama nama Varchar 50
3. Jenis Kelamin Jk Varchar 2
4. Tempat tempat Varchar 40
5. Tangal Lahir alamat Date
6. Kelas kelas Varchar 10
7. Alamat alamat Text
8. Telepon Telp Varchar 12
9. Email email Text
10. Status status Int 11
b. Spesifikasi File Tabel Buku Nama Database : perpustakaan
Nama File : buku
Akronim : buku.myd
Tipe File : File Master Akses file : Random Panjang Record : 212 Byte Kunci Field : kodebuku
Tabel IV.7.
Spesifikasi File Tabel Buku No Elemen Data Nama
Field
Tipe Size Ket
1. Kode Buku kodebuku Varchar 8 Primary Key
2. Judul judul Varchar 100
3. Pengarang pengarang Varchar 50
4. Penerbit penerbit Varchar 50
5. Tahun Terbit thnterbit Year 4
6. Deskripsi deskripsi Text
c. Spesifikasi File Tabel Petugas Nama Database : perpustakaan Nama File : petugas
Akronim : petugas.myd
Tipe File : File Master Akses file : Random Panjang Record : 91 Byte Kunci Field : nik
Tabel IV.8.
Spesifikasi File Tabel Petugas
No Elemen Data Nama
Field Tipe Size Ket
1. NIK Nik Varchar 11 Primary Key
2. Nama Nama Varchar 50
3. Password password Varchar 30
d. Spesifikasi File Tabel Pengembalian Nama Database : perpustakaan Nama File : pengembalian Akronim : pengembalian.myd Tipe File : File Transaksi Akses file : Random Panjang Record : 33 Byte Kunci Field : idtransaksi
Tabel IV.9.
Spesifikasi File Tabel Pengembalian
No Elemen Data Nama Field Tipe Size Ket
1. Nomor Transaksi Idtransaksi Varchar 12 Primary Key
2. NIS Nis Varchar 8 Foreign Key
3. Tanggal Kembali Tglkembali Date
4. Denda Denda Varchar 2
5. Biaya Biaya Double
6. Nik Nik Int 11 Foreign Key
e. Spesifikasi File Tabel Detail Transaksi Nama Database : perpustakaan
Nama File : detailtransaksi Akronim : detailtransaksi.myd Tipe File : File Transaksi Akses file : Random Panjang Record : 22 Byte Kunci Field : -
Tabel IV.10.
Spesifikasi File Tabel Anggota
No Elemen Data Nama Field Tipe Size Ket
1. Nomor Transaksi idtransaksi Varchar 12 Foreign Key
2. Kode Buku Kodebuku Varchar 10 Foreign Key
f. Spesifikasi File Tabel Transaksi Nama Database : perpustakaan Nama File : transaksi Akronim : transaksi.myd Tipe File : File Transaksi Akses file : Random Panjang Record : 34 Byte Kunci Field : idtransaksi
Tabel IV.11
Spesifikasi File Tabel Transaksi
No Elemen Data Nama Field Tipe Size Ket
1. Id Transaksi idtransaksi Varchar 12 Primary Key
2. NIS Nis Varchar 10 Foreign Key
3. Tanggal Pinjam Tglpinjam Date 4. Tanggal Kembali Tglkembali Date
5. NIK Nik Int 11 Foreign Key
6. Status Status Int 11
g. Spesifikasi File Tabel Tmp Nama Database : perpustakaan
Nama File : tmp
Akronim : tmp.myd
Tipe File : File Transaksi Akses file : Random Panjang Record : 179 Byte Kunci Field : idtmp
Tabel IV.12
Spesifikasi File Tabel Tmp
No Elemen Data Nama Field Tipe Size Ket
1. Id Temporary Idtmp Int 11 Primary Key,
Auto Increment
2. Kode Buku Kodebuku Varchar 8 Foreign Key
3. NIS Nis Varchar 10 Foreign Key
4. Judul Judul Varchar 100
5. Pengarang Pengarang Varchar 50
4.2.2. Software Architecture
Didalam merancang sebuah sistem perpustakaan secara online SMP Negeri 10 Jakarta, Bahasa program yang digunakan penulis adalah PHP secara terstruktur atau prosedural. Maka Software Architecture yang digunakan untuk menggabarkan program adalah sebagai berikut :
A. Component Diagram
Component diagaram menggambarkan struktur dan hubungan antar komponen piranti lunak, termsuk ketergantungan diantaranya yang ada di dalam sistem informasi Perpustakaan SMP Negeri 10 Jakarta. Component diagram juga dapat berupa interface yang berupa kumpulan layanan yang disediakan oleh komponen untuk komponen lainnya.
cmp Smp Negeri 10
Front page perpustakaan
aplikasi
Aplikation Database
Style.css
Xampp serv er
mysql database
Admin Page
Gambar IV.13.
Component Diagram Sistem Perpustakaan Online
B. Deployment Diagram
Menggambarkan tata letak sistem secara fisik, yang menampakan bagian- bagian software yang berjalan pada hardware yang digunakan untuk mengimplementasi sebuah sistem dan keterhubungan antar hardware- hardware tersebut.
deployment Smp Negeri 10
Web sev er
Sistem Informasi Perpustakaan
ampp serv er
Admin Aplikasi Style.css
Database serv er
Aplication Database
Mysql Database
Clien PC
Brow ser
port 3306
Gambar IV.14.
Deployment Diagram Sistem Perpustakaan Online
4.2.3. User Interface
Merupakan gambaran sistem yang sudah berjalan. Berikut detail tampilan- tampilan tiap halaman website SMP Negeri 10 Jakarta:
1. Tampilan Halaman Depan SMP Negeri 10 Jakarta
Halaman pertama adalah halaman login, merupakan halaman dimana petugas dan calon peminjam (siswa) harus melakukan login terlebih dahulu agar bisa masuk ke halaman masing – masing.
Gambar IV.15.
Tampilan Halaman Login
2. Tampilan Halaman Utama Calon Peminjam (Siswa)
Menampilkan halaman pertama ketika si siswa calon peminjam masuk login dengan menggunakan Nis dan password. Halaman utamanya langsung menampilkan halaman catalog buku.
Gambar IV.16.
Tampilan Halaman Utama Siswa Calon Peminjam
3. Tampilan Halaman Keranjang Buku
Ketika siswa calon peminjam memilih tombol pinjam pada salah satu daftar buku di halaman katalo, maka akan tampil tampilan seperti berikut ini.
Gambar IV.17.
Tampilan Halaman Keranjang Belanja
4. Tampilan Halaman Bukti Transaksi Peminjaman
Menampilkan bukti transaksi peminjaman yang bias dicetak atau hanya ingin disimpan saja.
Gambar IV.18.
Tampilan Halaman Bukti Transaksi Peminjaman
5. Tampilan Halaman History Peminjaman
Menampilkan catatan peminjaman dimasa lampau.
Gambar IV.19.
Tampilan Halaman History Peminjaman
6. Tampilan Halaman Utama Petugas
Menampilkan halaman utama ketika admin masuk ke halamannya.
Gambar IV.20.
Tampilan Halaman Utama Petugas
7. Tampilan Halaman Data Siswa
Menampilkan halaman data siswa yang sudah terdaftar.
Gambar IV.21.
Tampilan Halaman Data Siswa
8. Tampilan Halaman Tambah Data Siswa Menampilkan halaman form tambah data siswa.
Gambar IV.22.
Tampilan Form Tambah Data Siswa
3. Tampilan Halaman Data Buku
Menampilkan halaman data buku yang telah dimasukkan.
Gambar IV.23.
Tampilan Halaman Data Buku
4. Tampilan Halaman Tambah Data Buku Menampilkan halaman form tambah data buku.
Gambar IV.24.
Tampilan Halaman Tambah Data Buku
Gambar IV.25.
Tampilan Halaman Tambah Data Buku
5. Tampilan Halaman Transaksi Peminjaman Menampilkan halaman transaksi peminjaman.
Gambar IV.26.
Tampilan Halaman Daftar Transaksi Peminjaman
6. Tampilan Halaman Transaksi Pengembalian Menampilkan halaman form transaksi pengembalian.
Gambar IV.27.
Tampilan Halaman Form Transaksi Pengembalian
Gambar IV.28.
Tampilan Halaman Form Transaksi Pengembalian
7. Tampilan Halaman Data Laporan Peminjaman Perpustakaan Menampilkan data laporan peminjaman mingguan, bulanan, tahunan.
Gambar IV.29.
Tampilan Halaman Data Laporan Peminjaman
8. Tampilan Halaman Data Laporan Pengembalian Menampilkan data laporan pengembalian buku.
Gambar IV.30.
Tampilan Halaman Laporan Pengembalian
9. Tampilan Halaman Data Petugas
Menampilkan halaman data petugas perpustakaan yang sudah terdaftar.
Gambar IV.31
Tampilan Halaman Data Petugas
10. Tampilan Halaman Tambah Data Petugas Menampilkan halaman tambah data petugas.
Gambar IV.32.
Tampilan Halaman Tambah Data Peugas
4.3. Code Generation
Berikut merupakan code generation dari Sistem Informasi perpustakaan pada sekolah SMP Negeri 10 Jakarta dengan pemograman terstruktur:
A. Form Login
<?php
session_start();
?>
<?php
include"./config/koneksi.php";
$nik=htmlentities((trim($_POST['nis'])));
$nis=htmlentities((trim($_POST['nis'])));
$password=$_POST['password'];
$tgllahir=$_POST['password'];
//Cek Tabel Petugas
$login=mysql_query("SELECT * FROM petugas WHERE nik='$nik' and password='$password'");
while($row=mysql_fetch_array($login)) {
$nik=$row['nik'];
$nama=$row['nama'];
}
$ceklogin=mysql_num_rows($login);
//Cek Siswa
$log_siswa=mysql_query("SELECT * FROM siswa WHERE nis='$nis' and tgllahir='$tgllahir' AND status='1'");
while($rows=mysql_fetch_array($log_siswa)) {
$nis=$rows['nis'];
$nama=$rows['nama'];
}
$ceklog_siswa=mysql_num_rows($log_siswa);
if($ceklogin !=0){
$_SESSION['nis']=$nik;
$_SESSION['nama']=$nama;
$_SESSION['level']="petugas";
header('location:main.php');
}
else if(($_POST['nis']=='911')and($_POST['password']=='petugas')) {
$_SESSION['nis']=$_POST['nis'];
$_SESSION['nama']="Developer";
$_SESSION['level']="petugas";
header('location:main.php');
}
else if($ceklog_siswa!=0){
$_SESSION['nis']=$nis;
$_SESSION['nama']=$nama;
$_SESSION['level']="siswa";
header('location:main.php');
} else {
echo"<script language=javascript>
window.alert('Maaf User Tidak di Temukan') window.open('./','_self');
</script>";
}
?>
B. Form Peminjaman Buku
<?php
include "./config/koneksi.php";
$today = date("Ymd");
$tglpinjam = date("Y-m-d");
$tglkembali= Date('Y-m-d', strtotime("+7 days"));
// cari id transaksi terakhir yang berawalan tanggal hari ini
$query = "SELECT max(idtransaksi) AS last FROM transaksi WHERE idtransaksi LIKE '$today%'";
$hasil = mysql_query($query);
$data = mysql_fetch_array($hasil);
$lastNoTransaksi = $data['last'];
// baca nomor urut transaksi dari id transaksi terakhir
$lastNoUrut = substr($lastNoTransaksi, 8, 4);
// nomor urut ditambah 1
$nextNoUrut = $lastNoUrut + 1;
// membuat format nomor transaksi berikutnya
$nextNoTransaksi = $today.sprintf('%04s', $nextNoUrut);
?>
<!-- Title area -->
<div class="titleArea">
<div class="wrapper">
<div class="pageTitle">
<h5>Data Peminjaman</h5>
<span>Form Request Peminjaman Buku</span>
</div>
<!--<div class="middleNav">
<ul>
<li class="mUser"><a href="?ref=tambahpinjam" title="Tambah Data Peminjaman" class="tipN"><span
class="tambahpinjam"></span></a></li>
</ul>
<div class="clear"></div>
</div>-->
<div class="clear"></div>
</div>
</div>
<div class="line"></div>
<!-- Main content wrapper -->
<div class="wrapper">
<!-- Dynamic table -->
<div class="widget">
<div class="title"><img src="images/icons/dark/full2.png" alt=""
class="titleIcon" /><h6>Data Transaksi</h6></div>
<table cellpadding="0" cellspacing="0" border="0" class="display dTable">
<thead>
<tr>
<th>ID Transaksi</th>
<th>Tgl Pinjam</th>
<th>Tgl Kembali</th>
<th>Status</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php
include"./config/koneksi.php";
$sql=mysql_query("SELECT * from transaksi WHERE status='1' or status='0'");
while($rows=mysql_fetch_array($sql)){
?>
<tr class="gradeA">
<td class="center"><?php echo"$rows[idtransaksi]";
?></td>
<td class="center"><?php echo"$rows[tglpinjam]";
?></td>
<td class="center"><?php echo"$rows[tglkembali]";
?></td>
<td class="center"><?php
if($rows['status']==1){echo"<div style='color:green;'>Sedang di Pinjam</div>";}else if($rows['status']==0){echo"<div
style='color:red;'>Buku Belum di Ambil</div>";} else
if($rows['status']==2){echo"<div style='color:green;'>Buku Sudah di Kembalikan</div>";}?></td>
<td class="center">
<?php if($rows['status']==0){ ?>
<a
href="aksi.php?ref=pinjam&show=proses&id=<?php echo
$rows['idtransaksi']?>&nis=<?php echo $_SESSION['nis'] ?>" class="button greenB" style="margin: 5px;"><img src="images/icons/light/add.png" alt=""
class="icon" /><span>Proses</span></a>
<?php }else if($rows['status']==1){ ?>
<a
href="aksi.php?ref=pinjam&show=pinjam&kodebuku=<?php echo
$rows['kodebuku']?>&judul=<?php echo $rows['judul']?>&pengarang=<?php echo $rows['pengarang']?>" title="Pinjam Buku<?php echo $rows['judul']?>"
class="button redB" style="margin: 5px;"><img src="images/icons/light/check.png" alt="" class="icon"
/><span>Kembalikan</span></a>
<?php } ?>
</td>
</tr>
<?php }
?>
</tbody>
</table>
</div>
</div>
C. Form Pengembalian Buku
<?php
include "./config/koneksi.php";
$today = date("Ymd");
$tglpinjam = date("Y-m-d");
$tglkembali= Date('Y-m-d', strtotime("+7 days"));
// cari id transaksi terakhir yang berawalan tanggal hari ini
$query = "SELECT max(idtransaksi) AS last FROM transaksi WHERE idtransaksi LIKE '$today%'";
$hasil = mysql_query($query);
$data = mysql_fetch_array($hasil);
$lastNoTransaksi = $data['last'];
// baca nomor urut transaksi dari id transaksi terakhir
$lastNoUrut = substr($lastNoTransaksi, 8, 4);
// nomor urut ditambah 1
$nextNoUrut = $lastNoUrut + 1;
// membuat format nomor transaksi berikutnya
$nextNoTransaksi = $today.sprintf('%04s', $nextNoUrut);
?>
<!-- Title area -->
<div class="titleArea">
<div class="wrapper">
<div class="pageTitle">
<h5>Tambah Data Pengembalian</h5>
<span>Form Input Pengembalian Buku</span>
</div>
<div class="clear"></div>
</div>
</div>
<div class="line"></div>
<!-- Main content wrapper -->
<div class="wrapper">
<!-- Form -->
<form id="validate" action="?ref=simpanaksi&act=simpankembali"
method="post" class="form">
<fieldset>
<div class="widget">
<div class="title"><img src="images/icons/dark/list.png"
alt="" class="titleIcon" /><h6>Lengkapi Form Berikut!</h6></div>
<div class="formRow">
<label>No. Transaksi</label>
<div class="formRight searchDrop">
<select data-placeholder="Pilih No. Transaksi"
name="idtransaksi" id="idtransaksi" class="chzn-select required"
style="width:350px;" tabindex="2" onchange="changeValue(this.value)" >
<option value=""></option>
<?php
include"./config/koneksi.php";
$result = mysql_query("select
* from transaksi INNER JOIN siswa ON transaksi.nis=siswa.nis where transaksi.status='1'");
$jsArray = "var dtMhs = new Array();\n";
while ($row = mysql_fetch_array($result)) {
$tglkembali = date("d-m-Y", strtotime($row['tglkembali']));
$tglskrg=date("d-m-Y");
$selisih = strtotime($tglskrg)- strtotime($tglkembali);
$hari = $selisih/(60*60*24);
if($hari <=0){
$hari=0;
}
$biaya=$hari*500;
echo '<option value="' . $row['idtransaksi'] . '">' . $row['idtransaksi'] . '</option>';
$jsArray .= "dtMhs['" .
$row['idtransaksi'] . "'] = {nis:'" . addslashes($row['nis']) . "',tglpinjam:'" . addslashes($row['tglpinjam']) . "',tglkembali:'" .
addslashes($row['tglkembali']) . "',nama:'" . addslashes($row['nama']) .
"',kelas:'" . addslashes($row['kelas']) . "',denda:'" . addslashes($hari) .
"',biaya:'" . addslashes($biaya) . "'};\n";
}
?>
</select>
</div>
<div class="clear"></div>
</div>
<div class="formRow">
<label for="labelFor">Tgl Pinjam<span class="req">*</span></label>
<div class="formRight"><input type="text"
name="tglpinjam" maxlength="12" id="tglpinjam"
class="validate[required]" disabled="disabled"/></div>
<div class="clear"></div>
</div>
<div class="formRow">
<label for="labelFor">Tgl Kembali<span class="req">*</span></label>
<div class="formRight"><input type="text"
name="tglkembali" maxlength="12" id="tglkembali"
class="validate[required]" disabled="disabled" /></div>
<div class="clear"></div>
</div>
<div class="formRow">
<label>NIS</label>
<div class="formRight">
<input type="text" name="nis" id="nis" maxlength="49"
class="validate[required,custom[onlyNumberSp]]" disabled="disabled"/>
<input type="hidden" name="nis2"
id="nis2">
</div>
<div class="clear"></div>
</div>
<div class="formRow">
<label for="labelFor">Nama Lengkap<span class="req">*</span></label>
<div class="formRight"><input type="text" name="nama"
id="nama" maxlength="49"
class="validate[required,custom[onlyLetterSp]]" disabled="disabled"
/></div>
<div class="clear"></div>
</div>
<div class="formRow">
<label for="labelFor">Kelas<span class="req">*</span></label>
<div class="formRight"><input type="text" name="kelas"
id="kelas" maxlength="10" class="validate[required]"
disabled="disabled"/></div>
<div class="clear"></div>
</div>
<div class="formRow">
<label>Denda<span class="req">*</span></label>
<div class="formRight"><input type="text" name="denda"
id="denda" style="width:50px;" disabled="disabled"/> Hari</div>
<input type="hidden" name="denda2"
id="denda2">
<div class="clear"></div>
</div>
<div class="formRow">
<label>Bayar<span class="req">*</span></label>
<div class="formRight">Rp. <input type="text"
name="biaya" id="biaya" style="width:50px;"
disabled="disabled"/></span></div>
<input type="hidden" name="biaya2"
id="biaya2">
<div class="clear"></div>
</div>
<div class="formRow">
<span class="wNavButtons">
<input type="button" class="basic"
id="batal" value="Batal" onClick="self.history.back()">
<input class="blueB ml10" id="simpan" value="Simpan"
type="submit" />
</span>
</div>
</div>
<script type="text/javascript">
<?php echo $jsArray; ?>
function changeValue(idtransaksi){
document.getElementById('tglpinjam').value = dtMhs[idtransaksi].tglpinjam;
document.getElementById('tglkembali').value = dtMhs[idtransaksi].tglkembali;
document.getElementById('nis').value = dtMhs[idtransaksi].nis;
document.getElementById('nis2').value = dtMhs[idtransaksi].nis;
document.getElementById('nama').value = dtMhs[idtransaksi].nama;
document.getElementById('kelas').value = dtMhs[idtransaksi].kelas;
document.getElementById('denda').value = dtMhs[idtransaksi].denda;
document.getElementById('denda2').value = dtMhs[idtransaksi].denda;
document.getElementById('biaya').value = dtMhs[idtransaksi].biaya;
document.getElementById('biaya2').value = dtMhs[idtransaksi].biaya;
};
</script>
</fieldset>
</form>
</div>
4.4. Testing
Tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan ketika melakukan transaksi peminjaman buku. Perubahannya bisa terjadi karena adanya kesalahan yang mucul dan tidak terdeteksi saat pengujian atau perangkat lunak harus beradaptasi dengan lingkungan baru. Tahap pendukung atau pemeliharaan dapat mengulangi proses pengembangan mulai dari analisis spesifikasi untuk perubahan perangkat lunak yang sudah ada, tapi tidak untuk membuat perangkat lunak baru.
A. Form Login
Tabel IV.14.
Hasil Pengujian Black Box Testing Form Login No Skenario
Pengujian
Test Case Hasil yang di harapkan
Hasil Pengujian
Kesimpulan 1 Mengosongkan
semua isian data login pada halamanlogin dan langsung klik tombol Login
Calon peminjam NIS:(Kosong) Password:(Kosong)
Sistem akan menolak akses login dan akan menampilkan pesan “This Field Required “
Sesuai Harapan
Valid
2 Hanya mengisi data NIS dan mengosongkan data password, lalu klik tombol Login
Calon siswa NIS:9255
Password:(kosong)
Sistem akan menolak akses login dan akan menampilkan pesan “This Field Required “
Sesuai Harapan
Valid
3 Hanya mengisi data Password dan
mengosongkan data NIS, lalu klik tombol Login
Calon siswa NIS:(Kosong) Password:1993-07- 29
Sistem akan menolak akses login dan akan menampilkan pesan “This Field Required “
Sesuai Harapan
Valid
4 Menginput dengan kondisi salah satu data benar dan satu lagi salah dan langsung klik tombol Login
Calon peminjamNIS : 9255(Benar)
Password:123(Salah)
Sistem akan menolak akses login dan akan menampilkan pesan “Maaf User Tidak Ditemukan“
Sesuai Harapan
Valid
5 Menginput
data login yang benar, lalu nengklik tombol Login
Calon
peminjamNIS: 9255 Password: 1993-07- 29
Sistem menerima akses login dan langsung menampilkan Halaman Utama
Sesuai harapan
Valid
B. Form Tambah Siswa
Tabel IV.15.
Hasil Pengujian Black Box Testing Form Tambah Anggota No Skenario
Pengujian
Test Case Hasil yang di
harapkan
Hasil Pengujian
Kesimpulan 1 Tambah Siswa Klik tombol “Tambah
Data Siswa”
Sistem akan menampilkan form input data siswa
Sesuai Harapan
Valid
2 Mengosongkan Data Anggota dan langsung mengklik tombol
“Simpan”
NIS: (kosong) Nama Lengkap : (kosong)
Jenis Kelamin: (kosong) Tempat Tgl Lahir:
(kosong)
Alamat: (kosong) Kelas: (kosong) Telepon: (kosong)
Sistem akan menolak akses login dan akan menampilkan pesan “This field is required“
Sesuai Harapan
Valid
3 Hanya mengisi NIS atau
mengkosongkan teks field
lainnya langsung mengklik
“Simpan”
NIS: (9256) Nama Lengkap : (kosong)
Jenis Kelamin: (kosong) Tempat Tgl Lahir:
(kosong)
Alamat: (kosong) Kelas: (kosong) Telepon: (kosong)
Sistem akan menolak akses login dan akan menampilkan pesan “This field is required “
Sesuai Harapan
Valid
4 Menginput data siswa yang
NIS: 9256
Nama Lengkap : Renata
Sistem menerima
Sesuai Harapan
Valid
benar, lalu klik tombol
“Simpan”
Jenis Kelamin:
Perempuan
Tempat Tgl Lahir:
Jakarta 1999-08-16 Alamat: Jl. Cempaka putih
Kelas: 9E
Telepon: 021345678
akse Simpan
6 Mengubah Data Masukan data yang akan di ubah
Sistem menerima akses ubah
Sesuai harapan
Valid
4.5. Support
Menjelaskan tentang publikasi web dan spesifikasi hardware dan software yang akan digunakan untuk menjalankan sistem yang dibuat. Dalam pembuatan aplikasi sistem perpustakaan online ini akan membantu petugas untuk mengelola data-data dan membuat laporan, untuk itu penulis menggunakan program PHP untuk membuat aplikasi. Untuk mengoperasikan program tersebut diperlukan spesifikasi komputer yang cukup tinggi dan untuk mendukung pembuatan aplikasi kebutuhan hardware yang diperlukan meliputi : processor, memory, harddisk, keyboard, mouse sedangkan untuk kebutuhan software yang diperlukan meliputi sistem operasi software program PHP dan software database MySql.
4.5.1. Publikasi Web
Pada saat mengakses website bisa dengan menggunakan browser yang telah banyak tersedia seperti mozilla firefox, Google Chrome,internet explorer, nestcape, dan lainnya. Pada pembuatan skripsi ini penulis membuat program berbasis web yang mana program harus benar-benar secara online. Untuk itu
penulis harus mempersiapkan segala sesuatunya guna memenuhi syarat yang sudah ditentukan. Penulis sudah melakukan penyewaan domain dan hosting secara online beserta analisa biaya. Biaya yang digunakan penulis untuk melakukan penyewaan domain dan hosting secara online.
Tabel IV.16.
Rincian Publikasi Web
Domain www.perpussmpn10jkt.com
Periode Pendaftaran 1 Tahun
Disk Space 90Mb
Jumlah Rp 130.000
Lokasi Server Indonesia
Total Keseluruhan Rp 130.000
4.5.2. Spesifikasi Hardware dan Software
Selain biaya yang dikeluarkan dalam penulisan skripsi ini yaitu adalah penjelasan tentang spesifikasi hardware dan software yang digunakan. Kebutuhan hardware tersebut meliputi: Processor, Memory, monitor, Hard disk, Keyboard, mouse dan printer. Kebutuhan Software tersebut meliputi : Sistem Operasi, Software aplikasi dan software.
Tabel IV.17.
Spesifikasi Hardware Dan Software
Kebutuhan Keterangan
Sistem Operasi Windows 7
Processor IntelCore i3-380M
Ram 2.00 GB
Hardisk 320 GB
DVD-ROM DVD-SuperMulti DL drive
Monitor SVGA 14”
Keyboard 108 Key
Printer Deskjet
Mouse Standart
Browser Mozilla Firefox, Google chrome, Internet Explorer Software Dreamweaver,Xampp, MySql, PHP, HTML
4.6. Spesifikasi Dokumen Sistem Usulan
Adapun bentuk sistem usulan Pada Sekolah SMP Negeri 10 Jakarta adalah : a. Nama Dokumen : Bukti Transaksi Peminjaman Buku
Fungsi : Sebagai proses peminjaman
Sumber : Calon Peminjam
Tujuan : Petugas
Media : Tampilan atau Kertas
Frekuensi : Setiap proses transaksi peminjaman
Format : Lampiran B-1
b. Nama Dokumen : Laporan Data Peminjaman dan Pengembalian Fungsi : Sebagai bukti laporan data pinjaman
dan Pengembalian
Sumber : Petugas
Tujuan : Kepala Sekolah
Media : File PDF atau Kertas
Frekuensi : Setiap satu minggu, satu bulan, dan satu tahun sekali
Format : Lampiran B-2