PENGANTAR REKAYASA SOFTWARE
ACHMAD YUAN FADHILLAH 2024018060
WANGGA GRIYA KUSUMA 2024018061
DWI AHMAD FIRDAUS 2024018050
FAUZAN 2024018054
JESHUA EFRAEL 2024018099
Pemrograman Berbasis Web - Studi Kasus Aplikasi Rental Mobil
1. Pendahuluan
Definisi Pemrograman Web:
Pemrograman berbasis web adalah proses membuat aplikasi yang dapat diakses melalui browser
dengan teknologi seperti HTML, CSS, JavaScript, dan bahasa backend seperti PHP, [Link], atau
Python.
Studi Kasus:
Kita akan membuat aplikasi Rental Mobil Online yang memungkinkan pelanggan memesan mobil
secara online, dan admin mengelola data mobil dan transaksi.
2. Fitur Utama Aplikasi Rental Mobil
1. Autentikasi: Login Admin dan Pelanggan
Fitur ini memungkinkan pengguna untuk masuk ke sistem sesuai peran mereka. Admin memiliki
akses penuh untuk mengelola sistem, sedangkan pelanggan hanya bisa melihat dan memesan mobil.
Proses login menggunakan email dan password yang tersimpan di database dan dilindungi oleh sistem
keamanan.
2. Manajemen Mobil: Tambah/Edit/Hapus Data Mobil
Admin dapat menambahkan data mobil baru, mengedit informasi mobil yang sudah ada, atau
menghapus mobil yang tidak lagi digunakan. Informasi seperti merek, plat nomor, harga sewa, dan
status mobil dikelola melalui antarmuka yang mudah digunakan.
3. Pemesanan: Pelanggan Bisa Booking Mobil
Pelanggan dapat memilih mobil yang tersedia, mengisi formulir pemesanan, dan sistem akan
menghitung total biaya sewa otomatis. Data pemesanan tersimpan dan dapat dilihat oleh admin untuk
diverifikasi. Fitur ini mendukung proses penyewaan yang cepat dan praktis.
4. Pengembalian: Admin Mencatat Pengembalian
Setelah mobil dikembalikan, admin mencatat waktu pengembalian, memeriksa kondisi mobil, dan
memperbarui status mobil di sistem. Jika ada denda atau kerusakan, akan ditambahkan ke transaksi.
Proses ini menjaga rotasi mobil tetap efisien.
5. Laporan: Daftar Pemesanan, Pendapatan, dan Lainnya
Admin dapat melihat laporan transaksi, pemesanan, dan pendapatan dalam bentuk tabel atau grafik.
Laporan ini berguna untuk evaluasi kinerja, perencanaan bisnis, dan pengambilan keputusan. Data
bisa diekspor untuk keperluan dokumentasi.
3. Struktur Teknologi yang Digunakan
Aplikasi rental mobil memiliki lima fitur utama. Pertama, autentikasi, yang memungkinkan admin
dan pelanggan login ke sistem dengan akun masing-masing. Admin memiliki akses penuh, sedangkan
pelanggan bisa melihat mobil dan melakukan pemesanan. Sistem dilengkapi keamanan seperti
validasi dan enkripsi password.
Kedua, manajemen mobil, yang memungkinkan admin untuk menambah, mengedit, dan menghapus
data mobil. Informasi seperti merek, harga sewa, plat nomor, dan status mobil dapat dikelola dengan
mudah melalui antarmuka yang mendukung pencarian dan filter.
Ketiga, pemesanan, di mana pelanggan dapat memilih mobil, menentukan tanggal sewa, dan
melakukan booking. Sistem akan menghitung biaya otomatis dan menyimpan riwayat pemesanan.
Admin akan menerima notifikasi untuk memverifikasi pesanan.
Keempat, pengembalian, yang digunakan admin untuk mencatat mobil yang telah dikembalikan,
memeriksa kondisinya, dan menghitung denda jika ada keterlambatan atau kerusakan. Status mobil
akan diperbarui agar bisa disewa kembali.
Kelima, laporan, yang memungkinkan admin melihat data transaksi, pendapatan, dan statistik mobil
secara lengkap. Laporan dapat diekspor dan digunakan untuk analisis kinerja usaha. Fitur ini hanya
dapat diakses oleh admin.
4. Perancangan SQA (Software Quality Assurance) – Aplikasi Rental Mobil
1. Tujuan SQA
Tujuan utama dari SQA adalah memastikan bahwa aplikasi rental mobil yang dikembangkan
memenuhi standar kualitas perangkat lunak, berfungsi sesuai kebutuhan pengguna, bebas dari
kesalahan kritis, aman, dan mudah digunakan. Selain itu, SQA juga bertujuan untuk meminimalkan
risiko kegagalan sistem setelah rilis.
2. Ruang Lingkup SQA
Perancangan SQA mencakup seluruh proses pengembangan aplikasi, mulai dari analisis kebutuhan,
perancangan sistem, implementasi kode, pengujian, hingga pemeliharaan. Fokus utama meliputi:
Fitur utama: autentikasi, manajemen mobil, pemesanan, pengembalian, dan laporan.
Performa sistem: kecepatan akses dan respon aplikasi.
Keamanan: validasi input dan enkripsi data.
Kegunaan: tampilan dan pengalaman pengguna.
3. Standar dan Metodologi
Perancangan mengikuti standar kualitas seperti:
ISO/IEC 25010 (model kualitas perangkat lunak),
IEEE 829 (standar dokumentasi pengujian),
dan prinsip pengembangan Agile/Scrum.
Metode pengujian yang digunakan meliputi:
White-box testing (unit testing oleh developer),
Black-box testing (pengujian fungsional oleh QA),
dan Acceptance testing (pengujian oleh pengguna akhir).
4. Proses Pengujian
Pengujian dibagi dalam beberapa tahap:
Unit Testing: Menguji masing-masing modul, seperti form login, proses booking, dan
pengembalian.
Integration Testing: Menguji alur antar modul, seperti login → booking → laporan.
System Testing: Menguji keseluruhan sistem secara menyeluruh di lingkungan simulasi.
User Acceptance Testing (UAT): Melibatkan pengguna untuk mengevaluasi apakah aplikasi
sesuai kebutuhan.
Regression Testing: Menguji kembali sistem setelah ada perubahan kode untuk memastikan
tidak ada fitur lain yang rusak.
5. Dokumentasi SQA
Semua proses dan hasil pengujian akan didokumentasikan, meliputi:
Test Plan (rencana pengujian),
Test Case (kasus pengujian setiap fitur),
Test Result (hasil pengujian, termasuk bug),
Bug Report (laporan kesalahan dan status perbaikannya),
Review & Audit Report (hasil evaluasi kualitas dari tim QA).
6. Alat Bantu SQA
Beberapa tools yang bisa digunakan:
Trello/Jira: untuk manajemen pengujian dan pelacakan bug,
Postman: untuk menguji API (jika aplikasi memiliki backend RESTful),
Selenium: untuk automasi pengujian antarmuka,
Git: untuk kontrol versi dan audit perubahan kode.
7. Tim QA dan Tanggung Jawab
QA Engineer: membuat dan menjalankan test plan & test case.
Developer: memperbaiki bug berdasarkan laporan QA.
Project Manager: memantau hasil pengujian dan menyetujui rilis.
User/Pelanggan: memberi umpan balik pada tahap UAT.
5. Desain Antarmuka (UI)
Desain Antarmuka UI Aplikasi Rental Mobil
1. Halaman Login
Elemen:
o Logo aplikasi
o Form login (Email, Password)
o Tombol “Login”
o Link “Daftar” (untuk pelanggan baru)
o Link “Lupa Password”
Catatan: Validasi input dan feedback error tampil real-time.
2. Dashboard (Admin)
Elemen:
o Navigasi samping (sidebar): Dashboard, Data Mobil, Pemesanan, Pengembalian,
Laporan, Logout
o Ringkasan statistik (jumlah mobil, pemesanan hari ini, mobil aktif, total pendapatan)
o Grafik pemesanan (bulanan)
Catatan: Desain clean, warna netral dengan aksen biru atau hijau.
3. Halaman Data Mobil (Admin)
Elemen:
o Tabel data mobil (Kolom: Foto, Merek, Plat, Status, Harga, Aksi)
o Tombol “Tambah Mobil”
o Modal/form tambah/edit mobil
o Pencarian dan filter berdasarkan status
Aksi: Edit & Hapus via ikon.
4. Halaman Booking (Pelanggan)
Elemen:
o Daftar mobil (grid dengan foto, nama, harga, tombol “Sewa”)
o Filter (jenis mobil, harga, ketersediaan)
o Formulir booking saat klik “Sewa” (tanggal sewa, tanggal kembali, catatan)
o Total harga otomatis muncul
Catatan: Responsif untuk tampilan mobile.
5. Halaman Pengembalian (Admin)
Elemen:
o Tabel pengembalian (Kolom: Nama pelanggan, Mobil, Tanggal kembali, Status,
Denda)
o Tombol “Proses Pengembalian”
o Formulir cek kondisi & denda
Aksi: Tandai selesai & update status mobil.
6. Halaman Laporan
Elemen:
o Pilih periode laporan (harian/bulanan)
o Tabel transaksi
o Grafik pendapatan
o Tombol “Export PDF/Excel”
Catatan: Fitur hanya untuk admin.
7. Header dan Footer (Global)
Header: Logo, nama pengguna, notifikasi
Footer: Hak cipta, tautan kebijakan privasi
6. Alur Proses Sistem
1. Pelanggan mendaftar/login → pilih mobil → isi tanggal sewa → konfirmasi booking.
2. Admin login → kelola mobil → verifikasi pemesanan → catat pengembalian.
3. Sistem menghitung total harga otomatis berdasarkan lama sewa.
7. Contoh Kode: Menampilkan Daftar Mobil (PHP + MySQL)
<?php
$conn = new mysqli("localhost", "root", "", "rental_mobil");
$sql = "SELECT * FROM mobil WHERE status='tersedia'";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
echo "<div>";
echo "<h3>" . $row['merk'] . "</h3>";
echo "<p>Plat: " . $row['plat_nomor'] . "</p>";
echo "<p>Harga: Rp" . $row['harga_per_hari'] . "/hari</p>";
echo "</div>";
}
?>
8. Pengujian & Deployment
Pengujian: Uji login, pemesanan, validasi input, dsb.
Deployment: Upload ke hosting atau gunakan XAMPP untuk lokal.
Backup: Pastikan backup database berkala.
9. Penutup
Dengan pemrograman web, aplikasi rental mobil dapat dibuat lebih efisien, mudah diakses, dan
mempermudah operasional bisnis rental.