Aplikasi berbasis Java yang digunakan untuk melakukan simulasi pemesanan tiket bus antarprovinsi di Indonesia. Aplikasi ini bekerja melalui interaksi konsol dan menghitung total harga tiket berdasarkan kota asal dan tujuan, kelas layanan, serta jumlah penumpang.
- Input data penumpang (nama, nomor kursi, nomor urut)
- Pemilihan kota asal dan kota tujuan
- Validasi rute (asal ≠ tujuan)
- Pemilihan kelas bus: Ekonomi, Bisnis, Eksekutif
- Hitung tarif berdasarkan jarak dan kelas
- Diskon untuk jumlah penumpang ≥ 3 orang
- Tambahan biaya layanan tetap
- Output nota tiket dengan format profesional
- Tanggal dan waktu otomatis
Berikut adalah alur kerja sistem Nusantara Ekspres:
-
Input Data Pengguna:
- Nomor urut
- Nomor kursi
- Nama penumpang
-
Pilih Kota Asal dan Tujuan:
- Sistem menampilkan 6 pilihan kota.
- Validasi: kota asal dan tujuan tidak boleh sama.
-
Pilih Kelas Bus:
- Ekonomi
- Bisnis
- Eksekutif
-
Input Jumlah Penumpang
-
Hitung Jarak Tempuh:
- Jarak antar kota ditentukan dengan if-else majemuk.
-
Hitung Tarif per Kilometer:
- Berdasarkan kelas yang dipilih.
-
Hitung Harga Tiket:
- Tarif per km × Jarak × Jumlah penumpang
-
Hitung Diskon (Jika Berlaku):
- Jumlah penumpang ≥ 3 → diskon berdasarkan kelas.
-
Tambahkan Biaya Layanan Tetap
- Rp2.000 per transaksi
-
Hitung Total Pembayaran:
- Harga tiket × jumlah penumpang - diskon + biaya layanan
-
Tampilkan Nota Pembayaran
- Informasi lengkap ditampilkan di konsol.
Kelas | Tarif per km | Diskon (Penumpang ≥ 3) |
---|---|---|
Ekonomi | Rp400 | 5% |
Bisnis | Rp600 | 10% |
Eksekutif | Rp800 | 15% |
Biaya layanan: Rp2.000 (tetap)
- Bahasa: Java
- Library:
java.util.Scanner
untuk inputjava.text.NumberFormat
untuk format rupiahjava.time.LocalDateTime
danDateTimeFormatter
untuk tanggal dan waktu
- Clone atau Download Proyek dari GitHub
git clone https://github.com/muriha094/nusantara-ekspres.git
- Buka IDE Java seperti IntelliJ, Eclipse, NetBeans, Vs Code.
- Pilih folder yang sudah didownloa/clone tadi
- Kemudian, jalankan program.
- Ikuti petunjuk input di terminal.
- Program akan mencetak nota tiket setelah input lengkap dan valid.