NAMA : ANTHONY PEDRO NPM : 2022210123
MATKUL : PEMROGRAMAN BASIS DATA
DOSEN PENGAMPU : DHAMAYANTI, S.KOM., M.T.I.
Laporan Program Booking Tiket Kereta
1. Deskripsi Program
Program "Booking Tiket Kereta" adalah aplikasi berbasis Java yang dirancang untuk mengelola proses pemesanan tiket kereta. Program ini memungkinkan pengguna untuk menambah, mengedit, menghapus, dan melihat data booking tiket dengan berbagai pilihan tujuan, jam keberangkatan, serta harga tiket yang berbeda. Tujuannya adalah mempermudah pengelolaan data booking secara interaktif.
2. Penjelasan Fitur
1. Tambah Data Booking:
Fitur ini memungkinkan pengguna menambahkan data booking baru.
Pengguna harus memasukkan nama, memilih jam keberangkatan, dan tujuan.
Sistem akan memeriksa apakah nama yang dimasukkan sudah ada dalam daftar booking untuk menghindari duplikasi.
2. Edit Data Booking:
Fitur ini memungkinkan pengguna memperbarui informasi booking yang telah ada.
Pengguna dapat memilih untuk mengubah nama, jam keberangkatan, tujuan, atau semua data secara bersamaan.
3. Hapus Data Booking:
Fitur ini memungkinkan pengguna menghapus data booking tertentu.
Pengguna cukup memasukkan nomor data yang ingin dihapus.
4. Lihat Data Booking:
Fitur ini menampilkan semua data booking yang telah dimasukkan.
Data ditampilkan dalam format daftar, mencakup nama, jam, tujuan, dan harga.
5. Bayar Booking:
Pengguna dapat melakukan pembayaran untuk tiket yang sudah dipesan.
Sistem akan meminta pengguna memilih nomor data yang ingin dibayar.
Status tiket berubah menjadi "Sudah Dibayar" setelah pembayaran berhasil dilakukan.Terdapat Pilihan pembayaran, Yaitu Transfer atau Bayar di stasiun Terdekat
6. Keluar Program:
Fitur ini menghentikan program dan menampilkan pesan ucapan terima kasih kepada pengguna.
3. Atribut dan Method dalam Program Atribut Utama:
String[][] pesan: Array 2 dimensi untuk menyimpan data booking, yang mencakup nama, jam keberangkatan, tujuan, dan harga.
Scanner scanner: Objek untuk membaca input dari pengguna.
Method Utama:
1. tambahData():
Meminta input nama, jam, dan tujuan dari pengguna.
Memeriksa duplikasi nama sebelum menambahkan data baru.
2. editData():
Memungkinkan pengguna memperbarui data tertentu berdasarkan input nomor data.
Menyediakan opsi untuk mengedit nama, jam, tujuan, atau semua data.
3. hapusData():
Menghapus data booking berdasarkan nomor yang diberikan pengguna.
4. lihatData():
Menampilkan semua data booking yang tersimpan di array pesan.
5. bayarbooking():
Memproses pembayaran tiket.
Memvalidasi nomor data yang ingin dibayar.
Mengubah status tiket menjadi "sudah bayar" setelah pembayaran.
6. tampilkanAnimasi(String teks, int jeda):
Memberikan efek animasi dengan mencetak karakter satu per satu.
7. namaSudahTerdaftar(String nama):
Mengecek apakah nama tertentu sudah ada dalam data booking.
4. Alur Program
1. Mulai Program:
Program menampilkan pesan selamat datang menggunakan efek animasi.
Menu utama ditampilkan kepada pengguna.
2. Navigasi Menu:
Pengguna memilih salah satu dari lima opsi: Tambah Data, Edit Data, Hapus Data, Lihat Data, atau Keluar.
3. Proses Berdasarkan Pilihan:
Tambah Data:
Sistem memeriksa apakah masih ada ruang untuk menambah data.
Jika ada, pengguna memasukkan data baru yang akan dicek untuk menghindari duplikasi nama.
Edit Data:
Pengguna memilih data yang akan diedit dan menentukan bagian yang ingin diperbarui. Misalnya disini ingin mengedit jam kereta.
Hapus Data:
Pengguna memasukkan nomor data yang ingin dihapus.
Lihat Data:
Semua data booking yang tersimpan ditampilkan ke layar.
BayarBooking:
Jika Bayar Booking dipilih, pengguna dapat membayar tiket berdasarkan data yang valid. Sistem menghitung total harga dan mengonfirmasi pembayaran.
Jika Data sudah di bayar, maka akan muncul Pemberitahuan
4. Keluar Program:
Pengguna memilih opsi keluar, dan program berhenti dengan menampilkan pesan perpisahan.
5. Kesimpulan
Program "Booking Tiket Kereta" adalah solusi sederhana untuk mengelola data booking tiket kereta secara interaktif. Dengan fitur untuk menambah, mengedit, menghapus, dan melihat data, program ini memberikan fleksibilitas dalam pengelolaan informasi tiket. Pengecekan nama yang sudah terdaftar membantu mencegah data duplikasi, sementara struktur menu yang sederhana mempermudah pengguna dalam menjalankan program. Dengan perbaikan lebih lanjut, program ini dapat dikembangkan menjadi aplikasi untuk pengalaman pengguna yang lebih baik.