PBO 11

   muhammad rafi budi purnama

5025221307

PBO 11

code : https://github.com/mbahbud/PBO.git

Aplikasi Rental Mobil



class diagram tersebut menunjukan bahwa class Motor, Sepeda dan Mobil merupakan inheritence dari Kendaraan. Detail kode dari setiap class tersebut adalah seperti berikut.


Main.java

import java.util.Scanner;


public class Main {

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);

        Penyewaan penyewaan = new Penyewaan();


        // Membuat objek dari class turunan Kendaraan

        Sepeda sepeda = new Sepeda("Sepeda Gunung", 20000);

        Motor motor = new Motor("Honda Vario", 50000, 125);

        Mobil mobil = new Mobil("Toyota Avanza", 300000, 7);


        System.out.println("=== SISTEM PENYEWAAN KENDARAAN ===");

        System.out.println("1. Sepeda");

        System.out.println("2. Motor");

        System.out.println("3. Mobil");

        System.out.print("Pilih kendaraan: ");

        int pilihan = input.nextInt();


        System.out.print("Berapa hari ingin disewa? ");

        int hari = input.nextInt();


        switch (pilihan) {

            case 1:

                penyewaan.sewa(sepeda, hari);

                break;


            case 2:

                penyewaan.sewa(motor, hari);

                break;


            case 3:

                penyewaan.sewa(mobil, hari);

                break;


            default:

                System.out.println("Pilihan tidak valid!");

        }

    }

}


Penyewaan.java

public class Penyewaan {

    public void sewa(Kendaraan kendaraan, int hari) {

        System.out.println("\n=== DETAIL PENYEWAAN ===");

        kendaraan.info();

        System.out.println("Durasi sewa: " + hari + " hari");

        System.out.println("Total harga: Rp " + (kendaraan.getHargaSewa() * hari));

        System.out.println("=========================\n");

    }

}


Motor.java

public class Motor extends Kendaraan {

    private int cc;


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

        super(nama, hargaSewa);

        this.cc = cc;

    }


    public int getCc() {

        return cc;

    }


    @Override

    public void info() {

        System.out.println("=== MOTOR ===");

        super.info();

        System.out.println("CC: " + cc);

    }

}


Sepeda.java

public class Sepeda extends Kendaraan {


    public Sepeda(String nama, int hargaSewa) {

        super(nama, hargaSewa);

    }


    @Override

    public void info() {

        System.out.println("=== SEPeda ===");

        super.info();

    }

}


Mobil.java
public class Mobil extends Kendaraan {
    private int jumlahKursi;

    public Mobil(String nama, int hargaSewa, int jumlahKursi) {
        super(nama, hargaSewa);
        this.jumlahKursi = jumlahKursi;
    }

    public int getJumlahKursi() {
        return jumlahKursi;
    }

    @Override
    public void info() {
        System.out.println("=== MOBIL ===");
        super.info();
        System.out.println("Jumlah kursi: " + jumlahKursi);
    }
}

Kendaraan.java

public class Kendaraan {

    protected String nama;

    protected int hargaSewa;


    public Kendaraan(String nama, int hargaSewa) {

        this.nama = nama;

        this.hargaSewa = hargaSewa;

    }


    public String getNama() {

        return nama;

    }


    public int getHargaSewa() {

        return hargaSewa;

    }


    public void info() {

        System.out.println("Kendaraan: " + nama);

        System.out.println("Harga Sewa: Rp " + hargaSewa);

    }

}


Komentar

Postingan populer dari blog ini

TUGAS 2 : Jettpack compose : Hello, World!

Pertemuan 3 PPB (A) - Mengenal Composable Aplikasi Selamat Ulang Tahun

Pertemuan 5 - Aplikasi Kalkulator Sederhana