Anda di halaman 1dari 12

NAMA : Afi Faridatul Haq Faqih

NIM : 205150607111008
KELAS : PBO-A
TANGGAL : 1 April 2021

1. Soal

• Pembuatan objek Mobil dilakukan bersamaan dengan penambahan objek Mobil pada
ArrayList listMobil.
• Method daftarMobil pada class DataMobil menampilkan informasi seluruh data objek
mobil pada ArrayList listMobil.
• Method sewa pada class ArsipRental harus mengecek status Mobil, artinya jika mobil
berstatus true, maka tampilkan informasi “Mobil berhasil disewa” dan ubah stasus
mobil tersebut menjadi false kemudian dimasukkan pada ArrayList dataRental. Namun,
ketika status mobil false, maka tampilkan informasi “Maaf, mobil sudah disewa”.
• Method info pada class ArsipRental menampilkan informasi seluruh data objek
RentalMobil pada ArrayList dataRental.
• Pada public class eksekusi kode (Output boleh dirapikan).
• Setelah berhasil, boleh bereksplorasi memanipulasi data menggunakan ArrayList.

2. Gambar class diagram

Laporan Praktikum PBO – Afi Faridatul Haq Faqih – 205150607111008 1


3. Kode program
• Class Main

1 package prak05_arraylist;

2 public class Main {

3 public static void main(String[] args) {

4 Peminjam erlina = new Peminjam("Erlina", 20, "081111111111");

5 Peminjam bagus = new Peminjam("Bagus", 31, "081222222222");

6 Peminjam fikri = new Peminjam("Fikri", 25, "081333333333");

7 DataMobil datmob = new DataMobil();

8 datmob.tambahMobil("SUV", "N 1111 AB", "Honda");

9 datmob.tambahMobil("TRUCK", "N 2222 AB", "Suzuki");

10 datmob.tambahMobil("SEDAN", "N 3333 AB", "Toyota");

11 datmob.tambahMobil("SEDAN", "N 4444 AB", "Tesla");

12 datmob.tambahMobil("SUV", "N 5555 AB", "Honda");

13 datmob.daftarMobil();

14 System.out.println("");

15 ArsipRental arsip = new ArsipRental();

16 arsip.sewa(erlina, datmob.listMobil.get(0), 3);

17 arsip.sewa(bagus, datmob.listMobil.get(4), 2);

18 arsip.sewa(fikri, datmob.listMobil.get(4), 1);

19 arsip.sewa(fikri, datmob.listMobil.get(3), 1);

Laporan Praktikum PBO – Afi Faridatul Haq Faqih – 205150607111008 2


20 System.out.println("");

21 arsip.info();

22 }

23 }

• Class RentalMobil

1 package prak05_arraylist;

2 public class RentalMobil {

3 private Peminjam peminjam;

4 private Mobil mobil;

5 private int lamaRental;

6 public RentalMobil(Peminjam peminjam, Mobil mobil, int lamaRental) {

7 this.peminjam = peminjam;

8 this.mobil = mobil;

9 this.lamaRental = lamaRental;

10 }

11 public Peminjam getPeminjam() {

12 return peminjam;

13 }

Laporan Praktikum PBO – Afi Faridatul Haq Faqih – 205150607111008 3


14 public Mobil getMobil() {

15 return mobil;

16 }

17 public int getLamaRental() {

18 return lamaRental;

19 }

20 }

• Class ArsipRental

1 package prak05_arraylist;

2 import java.util.ArrayList;

3 public class ArsipRental {

4 ArrayList<RentalMobil> dataRental = new ArrayList<RentalMobil>();

5 public void sewa(Peminjam peminjam, Mobil mobil, int lamaRental) {

6 if (mobil.getStatus() == true) {

7 dataRental.add(new RentalMobil(peminjam, mobil,


lamaRental));

8 System.out.println("Mobil berhasil disewa");

9 mobil.setStatus(false);

10 } else {

Laporan Praktikum PBO – Afi Faridatul Haq Faqih – 205150607111008 4


11 System.out.println("Maaf, mobil sudah disewa");

12 }

13 }

14 public void info() {

15 for (int i = 0; i < dataRental.size(); i++) {

16 System.out.println("--------------------------------");

17 System.out.println("Data ke-" + (i + 1));

18 System.out.println("Nama Peminjam : " +


dataRental.get(i).getPeminjam().getNama());

19 System.out.println("Tipe Mobil : " +


dataRental.get(i).getMobil().getTipeMobil());

20 System.out.println("Nopol Mobil : " +


dataRental.get(i).getMobil().getNopol());

21 System.out.println("Lama Peminjaman : " +


dataRental.get(i).getLamaRental());

22 System.out.println("--------------------------------");

23 System.out.println("");

24 }

25 }

26 }

Laporan Praktikum PBO – Afi Faridatul Haq Faqih – 205150607111008 5


• Class Peminjam

1 package prak05_arraylist;

2 public class Peminjam {

3 private String nama;

4 private int umur;

5 private String noHP;

6 public Peminjam(String nama, int umur, String noHP) {

7 this.nama = nama;

8 this.umur = umur;

9 this.noHP = noHP;

10 }

11 public String getNama() {

12 return nama;

13 }

14 public int getUmur() {

15 return umur;

16 }

17 public String getNoHP() {

18 return noHP;

19 }

20 }

Laporan Praktikum PBO – Afi Faridatul Haq Faqih – 205150607111008 6


• Class Mobil

1 package prak05_arraylist;

2 public class Mobil {

3 private String tipeMobil;

4 private String nopol;

5 private String merk;

6 private boolean status;

7 public Mobil(String tipeMobil, String nopol, String merk, boolean


status) {

8 this.tipeMobil = tipeMobil;

9 this.nopol = nopol;

10 this.merk = merk;

11 this.status = status;

12 }

13 public String getTipeMobil() {

14 return tipeMobil;

15 }

16 public String getNopol() {

17 return nopol;

18 }

19 public String getMerk() {

Laporan Praktikum PBO – Afi Faridatul Haq Faqih – 205150607111008 7


20 return merk;

21 }

22 public boolean getStatus() {

23 return status;

24 }

25 public void setStatus(boolean status) {

26 this.status = status;

27 }

28 }

• Class DataMobil

1 package prak05_arraylist;

2 import java.util.ArrayList;

3 public class DataMobil {

4 ArrayList<Mobil> listMobil = new ArrayList<Mobil>();

5 public void tambahMobil(String tipeMobil, String nopol, String


merk){

6 listMobil.add(new Mobil(tipeMobil, nopol, merk, true));

7 }

8 public void daftarMobil(){

9 System.out.println("Daftar Mobil:");

Laporan Praktikum PBO – Afi Faridatul Haq Faqih – 205150607111008 8


10 System.out.println("--------------------------------");

11 for(Mobil daftarMobil : listMobil){

12 System.out.println("NOPOL : " + daftarMobil.getNopol());

13 }

14 }

15 }

4. Screenshot Program
A. Program
• Class Main

Laporan Praktikum PBO – Afi Faridatul Haq Faqih – 205150607111008 9


• Class RentalMobil

• Class ArsipRental

Laporan Praktikum PBO – Afi Faridatul Haq Faqih – 205150607111008 10


• Class Peminjam

• Class Mobil

Laporan Praktikum PBO – Afi Faridatul Haq Faqih – 205150607111008 11


• Class DataMobil

B. Run

Laporan Praktikum PBO – Afi Faridatul Haq Faqih – 205150607111008 12

Anda mungkin juga menyukai