๐Ÿ“š Hafidz Rahadhianto - 17230741

๐Ÿ Sistem Penyewaan Lapangan Voli

Dokumentasi Perancangan Sistem

๐Ÿ“‹ Overview Sistem

Gambaran umum sistem penyewaan lapangan voli

๐Ÿ‘ฅ

Manajemen Pelanggan

Kelola data pelanggan dengan mudah dan efisien

๐Ÿ“…

Booking Lapangan

Sistem reservasi yang terintegrasi

๐Ÿ’ณ

Transaksi Pembayaran

Pencatatan pembayaran otomatis

๐Ÿ›ก๏ธ

Admin Dashboard

Kontrol penuh untuk administrator

Analisa Sistem - Hak Akses User

๐Ÿ” Admin

  • Mengelola data lapangan (CRUD)
  • Mengelola data pelanggan
  • Melihat & mengkonfirmasi reservasi
  • Melihat laporan transaksi
  • Mengatur harga sewa

๐Ÿ‘ค User/Pelanggan

  • Melihat ketersediaan lapangan
  • Melakukan reservasi lapangan
  • Melihat riwayat pemesanan
  • Melakukan pembayaran
  • Membatalkan reservasi

๐Ÿ—„๏ธ A. Perancangan Database

Struktur database dengan 3 tabel: 2 tabel master dan 1 tabel transaksi

Tabel Master pelanggan

Field Tipe Data Key Keterangan
id_pelanggan INT PK Primary Key, Auto Increment
nama VARCHAR(100) - Nama lengkap pelanggan
no_telepon VARCHAR(15) - Nomor telepon
email VARCHAR(100) - Alamat email
alamat TEXT - Alamat lengkap
created_at DATETIME - Tanggal registrasi

Tabel Master lapangan

Field Tipe Data Key Keterangan
id_lapangan INT PK Primary Key, Auto Increment
nama_lapangan VARCHAR(50) - Nama/kode lapangan
jenis ENUM('Indoor', 'Outdoor') - Jenis lapangan
harga_per_jam DECIMAL(10,2) - Harga sewa per jam
status ENUM('Tersedia', 'Tidak Tersedia') - Status ketersediaan
deskripsi TEXT - Deskripsi fasilitas

Tabel Transaksi transaksi_sewa

Field Tipe Data Key Keterangan
id_transaksi INT PK Primary Key, Auto Increment
id_pelanggan INT FK Foreign Key โ†’ pelanggan
id_lapangan INT FK Foreign Key โ†’ lapangan
tanggal_sewa DATE - Tanggal penyewaan
jam_mulai TIME - Jam mulai sewa
jam_selesai TIME - Jam selesai sewa
total_harga DECIMAL(10,2) - Total biaya sewa
status_bayar ENUM('Lunas', 'Belum Lunas') - Status pembayaran
created_at DATETIME - Waktu transaksi dibuat

SQL Create Statements

-- Tabel Pelanggan (Master)
CREATE TABLE pelanggan (
    id_pelanggan INT PRIMARY KEY AUTO_INCREMENT,
    nama VARCHAR(100) NOT NULL,
    no_telepon VARCHAR(15),
    email VARCHAR(100),
    alamat TEXT,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

-- Tabel Lapangan (Master)
CREATE TABLE lapangan (
    id_lapangan INT PRIMARY KEY AUTO_INCREMENT,
    nama_lapangan VARCHAR(50) NOT NULL,
    jenis ENUM('Indoor', 'Outdoor') NOT NULL,
    harga_per_jam DECIMAL(10,2) NOT NULL,
    status ENUM('Tersedia', 'Tidak Tersedia') DEFAULT 'Tersedia',
    deskripsi TEXT
);

-- Tabel Transaksi Sewa (Transaksi)
CREATE TABLE transaksi_sewa (
    id_transaksi INT PRIMARY KEY AUTO_INCREMENT,
    id_pelanggan INT NOT NULL,
    id_lapangan INT NOT NULL,
    tanggal_sewa DATE NOT NULL,
    jam_mulai TIME NOT NULL,
    jam_selesai TIME NOT NULL,
    total_harga DECIMAL(10,2) NOT NULL,
    status_bayar ENUM('Lunas', 'Belum Lunas') DEFAULT 'Belum Lunas',
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (id_pelanggan) REFERENCES pelanggan(id_pelanggan),
    FOREIGN KEY (id_lapangan) REFERENCES lapangan(id_lapangan)
);

๐Ÿ”— B. Entity Relationship Diagram (ERD)

Diagram hubungan antar entitas dalam sistem

PELANGGAN
PK id_pelanggan
nama
no_telepon
email
alamat
created_at
1
โžก๏ธ
N
TRANSAKSI_SEWA
PK id_transaksi
FK id_pelanggan
FK id_lapangan
tanggal_sewa
jam_mulai
jam_selesai
total_harga
status_bayar
N
โฌ…๏ธ
1
LAPANGAN
PK id_lapangan
nama_lapangan
jenis
harga_per_jam
status
deskripsi

Relasi Antar Entitas

Entitas 1 Relasi Entitas 2 Keterangan
pelanggan 1 : N transaksi_sewa Satu pelanggan dapat memiliki banyak transaksi sewa
lapangan 1 : N transaksi_sewa Satu lapangan dapat disewa dalam banyak transaksi

๐Ÿ“Š C. UML (Unified Modeling Language)

Use Case Diagram dan Activity Diagram

1. Use Case Diagram

๐Ÿ‘จโ€๐Ÿ’ผ
Admin
Sistem Penyewaan Lapangan Voli
Login
Login
Kelola Data Lapangan
Lihat Lapangan
Kelola Data Pelanggan
Booking Lapangan
Kelola Transaksi
Lihat Riwayat
Lihat Laporan
Bayar Sewa
Logout
Logout
๐Ÿ‘ค
User

2. Activity Diagram - Proses Booking Lapangan

User membuka aplikasi
User login ke sistem
Login valid?
User memilih lapangan
User memilih tanggal & jam
Tersedia?
User konfirmasi booking
Sistem menyimpan transaksi
User melakukan pembayaran
Sistem update status bayar

Keterangan Simbol

Initial Node (Start)
Activity (Aksi)
Decision (Keputusan)
Final Node (End)

๐Ÿ–ฅ๏ธ D. Rancangan Interface

Desain 3 halaman utama sistem

1. Dashboard Admin

admin.volleyrent.com/dashboard
๐Ÿ VolleyRent
๐Ÿ  Dashboard
๐Ÿ“‹ Lapangan
๐Ÿ‘ฅ Pelanggan
๐Ÿ“„ Transaksi
๐Ÿ“… Jadwal
๐Ÿšช Logout

Dashboard

6
Total Lapangan
124
Pelanggan
12
Booking Hari Ini
Rp 2.4jt
Pendapatan

Booking Terbaru

Budi S. Lap. A 15 Jan Lunas
Ani R. Lap. B 15 Jan Pending

2. Halaman Kelola Lapangan

admin.volleyrent.com/lapangan

Kelola Lapangan

ID Nama Lapangan Jenis Harga/Jam Status Aksi
L001 Lapangan A Indoor Rp 100.000 Tersedia โœ๏ธ ๐Ÿ—‘๏ธ
L002 Lapangan B Indoor Rp 100.000 Tersedia โœ๏ธ ๐Ÿ—‘๏ธ
L003 Lapangan C Outdoor Rp 75.000 Tidak Tersedia โœ๏ธ ๐Ÿ—‘๏ธ

3. Halaman Booking (User)

volleyrent.com/booking
๐Ÿ VolleyRent
Beranda Booking Riwayat ๐Ÿ‘ค Budi

Booking Lapangan

Pilih lapangan dan jadwal yang tersedia

๐Ÿ

Lapangan A

Indoor

Rp 100.000/jam

โœ“ Tersedia

๐Ÿ

Lapangan B

Indoor

Rp 100.000/jam

โœ“ Tersedia

Detail Booking

Lapangan

Lapangan A - Indoor

Tanggal

๐Ÿ“… 15 Januari 2025

Jam Mulai

๐Ÿ• 14:00

Jam Selesai

๐Ÿ• 16:00
Durasi 2 jam
Total Rp 200.000

๐Ÿงช E. Pengujian Sistem

Black Box Testing untuk validasi fungsionalitas

โœ“
6
Test Cases Passed
โœ—
0
Test Cases Failed
๐Ÿ“Š
100%
Success Rate

Pengujian Modul 1: Login Admin

ID Skenario Pengujian Input Output Diharapkan Hasil Status
TC001 Login dengan username dan password yang valid Username: admin, Password: admin123 Admin berhasil login dan masuk ke halaman dashboard Sesuai harapan โœ“ PASS
TC002 Login dengan password yang salah Username: admin, Password: wrongpass Menampilkan pesan error "Username atau password salah" Sesuai harapan โœ“ PASS
TC003 Login dengan field kosong Username: (kosong), Password: (kosong) Menampilkan pesan error "Field tidak boleh kosong" Sesuai harapan โœ“ PASS

Pengujian Modul 2: Tambah Lapangan

ID Skenario Pengujian Input Output Diharapkan Hasil Status
TC004 Menambahkan lapangan baru dengan data lengkap Nama: Lap. E, Jenis: Indoor, Harga: 100000 Data lapangan tersimpan dan muncul di daftar Sesuai harapan โœ“ PASS
TC005 Menambahkan lapangan dengan nama yang sudah ada Nama: Lap. A, Jenis: Indoor, Harga: 100000 Menampilkan pesan error "Nama lapangan sudah ada" Sesuai harapan โœ“ PASS
TC006 Menambahkan lapangan dengan harga kosong Nama: Lap. F, Jenis: Outdoor, Harga: (kosong) Menampilkan pesan error "Harga wajib diisi" Sesuai harapan โœ“ PASS

Metodologi Pengujian

๐Ÿ“‹ Black Box Testing

Metode pengujian yang berfokus pada fungsionalitas sistem tanpa melihat struktur internal kode. Pengujian dilakukan berdasarkan spesifikasi kebutuhan dengan memberikan input dan memverifikasi output.

๐Ÿ” Komponen yang Diuji

  • Validasi form input
  • Proses autentikasi
  • CRUD operasi data
  • Kalkulasi harga sewa
  • Status transaksi