0% menganggap dokumen ini bermanfaat (0 suara)
40 tayangan5 halaman

Sistem Penyewaan Kendaraan Java

Dokumen ini adalah kode program Java untuk sistem penyewaan kendaraan yang mencakup kelas abstrak Kendaraan dan implementasinya untuk Mobil, Motor, dan Bus. Program ini memungkinkan pengguna untuk menambah, menampilkan, menyewa kendaraan, serta menyimpan dan memuat daftar kendaraan dari file. Selain itu, terdapat kelas Penyewaan untuk menghitung total biaya dan mencetak struk penyewaan.

Diunggah oleh

rsamuda3
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai TXT, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
40 tayangan5 halaman

Sistem Penyewaan Kendaraan Java

Dokumen ini adalah kode program Java untuk sistem penyewaan kendaraan yang mencakup kelas abstrak Kendaraan dan implementasinya untuk Mobil, Motor, dan Bus. Program ini memungkinkan pengguna untuk menambah, menampilkan, menyewa kendaraan, serta menyimpan dan memuat daftar kendaraan dari file. Selain itu, terdapat kelas Penyewaan untuk menghitung total biaya dan mencetak struk penyewaan.

Diunggah oleh

rsamuda3
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai TXT, PDF, TXT atau baca online di Scribd

import [Link].

*;
import [Link];
import [Link];

// Kelas Abstrak Kendaraan


abstract class Kendaraan {
private String nama;
private double hargaSewa;
private String jenis;
private boolean status;

public Kendaraan(String nama, double hargaSewa, String jenis) {


[Link] = nama;
[Link] = hargaSewa;
[Link] = jenis;
[Link] = true; // Kendaraan baru tersedia
}

public String getNama() {


return nama;
}

public double getHargaSewa() {


return hargaSewa;
}

public String getJenis() {


return jenis;
}

public boolean isStatus() {


return status;
}

public void setStatus(boolean status) {


[Link] = status;
}

public abstract void tampilKendaraan();


}

// Kelas Mobil
class Mobil extends Kendaraan {
private int kapasitasPenumpang;

public Mobil(String nama, double hargaSewa, int kapasitasPenumpang) {


super(nama, hargaSewa, "Mobil");
[Link] = kapasitasPenumpang;
}

@Override
public void tampilKendaraan() {
[Link]("Nama: " + getNama() + ", Jenis: " + getJenis() + ",
Harga Sewa: " + getHargaSewa() + ", Kapasitas Penumpang: " + kapasitasPenumpang +
", Status: " + (isStatus() ? "Tersedia" : "Tidak Tersedia"));
}
}

// Kelas Motor
class Motor extends Kendaraan {
private int cc;

public Motor(String nama, double hargaSewa, int cc) {


super(nama, hargaSewa, "Motor");
[Link] = cc;
}

@Override
public void tampilKendaraan() {
[Link]("Nama: " + getNama() + ", Jenis: " + getJenis() + ",
Harga Sewa: " + getHargaSewa() + ", CC: " + cc + ", Status: " + (isStatus() ?
"Tersedia" : "Tidak Tersedia"));
}
}

// Kelas Bus
class Bus extends Kendaraan {
private int kapasitasPenumpang;

public Bus(String nama, double hargaSewa, int kapasitasPenumpang) {


super(nama, hargaSewa, "Bus");
[Link] = kapasitasPenumpang;
}

@Override
public void tampilKendaraan() {
[Link]("Nama: " + getNama() + ", Jenis: " + getJenis() + ",
Harga Sewa: " + getHargaSewa() + ", Kapasitas Penumpang: " + kapasitasPenumpang +
", Status: " + (isStatus() ? "Tersedia" : "Tidak Tersedia"));
}
}

// Kelas RentalKendaraan
class RentalKendaraan {
private ArrayList<Kendaraan> daftarKendaraan;

public RentalKendaraan() {
daftarKendaraan = new ArrayList<>();
}

public void tambahKendaraan(Kendaraan kendaraan) {


[Link](kendaraan);
}

public void tampilDaftarKendaraan() {


for (Kendaraan kendaraan : daftarKendaraan) {
[Link]();
}
}

public Kendaraan sewaKendaraan(String nama) throws Exception {


for (Kendaraan kendaraan : daftarKendaraan) {
if ([Link]().equalsIgnoreCase(nama) && [Link]())
{
[Link](false); // Tandai kendaraan sebagai tidak
tersedia
return kendaraan;
}
}
throw new Exception("Kendaraan tidak tersedia atau tidak ditemukan.");
}

public void simpanDaftarKendaraan(String filename) throws IOException {


try (BufferedWriter writer = new BufferedWriter(new FileWriter(filename)))
{
for (Kendaraan kendaraan : daftarKendaraan) {
[Link]([Link]() + "," + [Link]() +
"," + [Link]() + "," + [Link]());
[Link]();
}
}
}

public void muatDaftarKendaraan(String filename) throws IOException {


try (BufferedReader reader = new BufferedReader(new FileReader(filename)))
{
String line;
while ((line = [Link]()) != null) {
String[] data = [Link](",");
String nama = data[0];
double hargaSewa = [Link](data[1]);
String jenis = data[2];
boolean status = [Link](data[3]);

Kendaraan kendaraan;
switch (jenis) {
case "Mobil":
kendaraan = new Mobil(nama, hargaSewa, 5); // Default
kapasitas
break;
case "Motor":
kendaraan = new Motor(nama, hargaSewa, 150); // Default cc
break;
case "Bus":
kendaraan = new Bus(nama, hargaSewa, 30); // Default
kapasitas
break;
default:
continue;
}
[Link](status);
tambahKendaraan(kendaraan);
}
}
}
}

// Kelas Penyewaan
class Penyewaan {
private ArrayList<Kendaraan> kendaraanDisewa;

public Penyewaan() {
kendaraanDisewa = new ArrayList<>();
}

public void tambahKendaraan(Kendaraan kendaraan) {


[Link](kendaraan);
}

public double hitungTotalBiaya() {


double total = 0;
for (Kendaraan kendaraan : kendaraanDisewa) {
total += [Link]();
}
return total;
}

public void cetakStruk() {


[Link]("Struk Penyewaan:");
for (Kendaraan kendaraan : kendaraanDisewa) {
[Link]();
}
[Link]("Total Biaya: " + hitungTotalBiaya());
}
}

// Kelas Utama
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner([Link]);
RentalKendaraan rentalKendaraan = new RentalKendaraan();
Penyewaan penyewaan = new Penyewaan();

while (true) {
[Link]("Menu:");
[Link]("1. Tambah Kendaraan");
[Link]("2. Tampilkan Daftar Kendaraan");
[Link]("3. Sewa Kendaraan");
[Link]("4. Cetak Struk Penyewaan");
[Link]("5. Simpan Daftar Kendaraan");
[Link]("6. Muat Daftar Kendaraan");
[Link]("7. Keluar");
[Link]("Pilih menu: ");
int pilihan = [Link]();
[Link](); // Mengkonsumsi newline

try {
switch (pilihan) {
case 1:
[Link]("Masukkan jenis kendaraan
(Mobil/Motor/Bus): ");
String jenis = [Link]();
[Link]("Masukkan nama kendaraan: ");
String nama = [Link]();
[Link]("Masukkan harga sewa: ");
double hargaSewa = [Link]();
if ([Link]("Mobil")) {
[Link]("Masukkan kapasitas penumpang: ");
int kapasitas = [Link]();
[Link](new Mobil(nama,
hargaSewa, kapasitas));
} else if ([Link]("Motor")) {
[Link]("Masukkan cc: ");
int cc = [Link]();
[Link](new Motor(nama,
hargaSewa, cc));
} else if ([Link]("Bus")) {
[Link]("Masukkan kapasitas penumpang: ");
int kapasitasBus = [Link]();
[Link](new Bus(nama,
hargaSewa, kapasitasBus));
} else {
[Link]("Jenis kendaraan tidak valid.");
}
break;
case 2:
[Link]();
break;
case 3:
[Link]("Masukkan nama kendaraan yang ingin
disewa: ");
String namaSewa = [Link]();
Kendaraan kendaraanDisewa =
[Link](namaSewa);
[Link](kendaraanDisewa);
[Link]("Kendaraan berhasil disewa.");
break;
case 4:
[Link]();
break;
case 5:
[Link]("Masukkan nama file untuk menyimpan daftar
kendaraan: ");
String saveFile = [Link]();
[Link](saveFile);
[Link]("Daftar kendaraan berhasil disimpan.");
break;
case 6:
[Link]("Masukkan nama file untuk memuat daftar
kendaraan: ");
String loadFile = [Link]();
[Link](loadFile);
[Link]("Daftar kendaraan berhasil dimuat.");
break;
case 7:
[Link]("Keluar dari program.");
[Link]();
return;
default:
[Link]("Pilihan tidak valid.");
}
} catch (Exception e) {
[Link]("Terjadi kesalahan: " + [Link]());
}
}
}
}

Anda mungkin juga menyukai