Tugas Pertemuan 3 Pemrograman Berbasis Objek (PBO) A 2024

Nama : Amadeo Yesa

NRP : 5025231160

Kelas : A

Tahun : 2024


Pada pertemuan 3, telah diberikan salah satu contoh penggunaan OOP, yaitu dalam kasus Ticket Machine. Suatu Ticket Machine dapat menjual suatu tiket dengan harga yang tetap. Selain itu, Ticket Machine dapat menerima uang dan dapat menyimpan saldo di dalamnya.

Dalam class TicketMachine, terdapat 3 atribut, yaitu price, balance, dan total.

class TicketMachine{
    private int price;
    private int balance;
    private int total;
}

Penjelasan atribut-atribut:

  • Price: Harga tiket
  • Balance: Saldo yang ada dalam mesin
  • Total: Total jumlah uang yang telah diterima dari penjualan tiket

Class TicketMachine juga memiliki constructor method.
public TicketMachine(int price){
    if(price > 0){
        this.price = price;
    }else{
        System.out.println("Ticket price have to be greater than 0!");
    }
    this.balance = 0;
    this.total = 0;
}

Constructor method menerima argumen price, yang adalah harga tiket pada mesin tersebut. Pada method tersebut, apabila argumen yang diberikan lebih besar dari 0, maka harga tiket ditetapkan. Namun apabila harga yang dimasukkan tidak valid, akan ada warning. Selain itu akan ditetapkan balance dan total menjadi 0.

Selain itu, ada juga beberapa method-method untuk mendapatkan value dari atribut-atribut class TicketMachine.

public int getPrice(){
    return price;
}

public int getBalance(){
    return balance;
}

public int getTotal(){
    return total;
}

Method getPrice() untuk memperoleh price, getBalance() untuk memperoleh balance, dan getTotal() untuk memperoleh total.

Terdapat method untuk memasukkan uang ke dalam mesin.

public void insertMoney(int amount){
    if(amount > 0){
        balance += amount;
        System.out.println("Inserted Money: " + amount);
    }else{
        System.out.println("Insert a positive amount of money!");
    }
}

Method insertMoney(int amount) menerima argumen amount berupa integer yang merupakan uang yang akan dimasukkan ke dalam mesin. Di dalam method tersebut dilakukan pengecekan apabila nominal yang dimasukkan tidak valid (0 atau kurang dari 0), akan menghasilkan pesan bahwa nominal tidak valid. Apabila nominal valid, balance atau saldo akan ditambahkan sejumlah nominal.

Terdapat method untuk membeli tiket.

public void getTicket(){
    if(balance >= price){
        balance -= price;
        total += price;

        System.out.println("---Ticket--- Price: " + price);
    }else{
        System.out.println("Insufficient balance.");
    }
}

Method getTicket() akan melakukan pengecekan apabila balance atau saldo mencukupi price atau harga tiket, maka tiket akan dikeluarkan disertai dengan pengurangan saldo dan penambahan total. Apabila balance tidak mencukupi akan dikeluarkan pesan bahwa saldo tidak mencukupi.

Terakhir, pada Main adalah penggunaan dari class TicketMachine.

public class Main {
    public static void main(String[] args){

        TicketMachine ngeng = new TicketMachine(10);

        ngeng.insertMoney(30);
        ngeng.getTicket();
        System.out.println("Balance: " + ngeng.getBalance());

    }
}


Link Source Code:

Github

Comments

Popular posts from this blog

Evaluasi Tengah Semester Pemrograman Berbasis Objek (PBO) A 2024

Tugas Pertemuan 7 Pemrograman Berbasis Objek (PBO) A 2024

Evaluasi Akhir Semester Pemrograman Berbasis Objek (PBO) A 2024