Senin, 08 September 2025

Pertemuan 3 - Membuat Class Ticket Machine

Pertemuan 3 - Membuat Class Ticket Machine

Nama : Hosea Felix Sanjaya

NRP : 5025241177

Kelas : A

Tahun : 2025
Pada pertemuan kali ini, kita akan belajar tentang pembuatan class sederhana di Java dengan studi kasus Ticket Machine. Program ini mensimulasikan sebuah mesin tiket sederhana yang menerima uang, memeriksa apakah saldo mencukupi, lalu mencetak tiket jika syarat terpenuhi.


Apa itu TicketMachine?

TicketMachine adalah sebuah class di Java yang merepresentasikan sebuah mesin penjual tiket otomatis. Mesin ini bekerja dengan konsep sederhana:

  1. Setiap tiket memiliki harga tetap (flat-fare).
  2. Pengguna memasukkan sejumlah uang.
  3. Jika saldo mencukupi, tiket akan dicetak.
  4. Jika saldo tidak mencukupi, sistem akan menampilkan pesan error.
  5. Pengguna bisa meminta refund jika ingin menarik kembali uang yang sudah dimasukkan.

Kode Lengkap TicketMachine


/**
* TicketMachine models a ticket machine that issues
* flat-fare tickets.
* The price of a ticket is specified via the constructor.
* Instances will check to ensure that a user only enters
* sensible amounts of money, and will only print a ticket
* if enough money has been input.
* @author ...
*/
public class TicketMachine
{
    private int price;
    private int balance;
    private int total;

    public TicketMachine(int cost) {
        price = cost;
        balance = 0;
        total = 0;
    }

    public int getPrice() {
        return price;
    }

    public int getBalance() {
        return balance;
    }

    public void insertMoney(int amount) {
        if(amount > 0) {
            balance = balance + amount;
        }
        else {
            System.out.println("Use a positive amount rather than: " + amount);
        }
    }

    public void printTicket() {
        if(balance >= price) {
            System.out.println("##################");
            System.out.println("# The BlueJ Line");
            System.out.println("# Ticket");
            System.out.println("# " + price + " cents.");
            System.out.println("##################");
            System.out.println();

            total = total + price;
            balance = balance - price;
        }
        else {
            System.out.println("You must insert at least: " +
                               (price - balance) + " cents.");
        }
    }

    public int refundBalance() {
        int amountToRefund = balance;
        balance = 0;
        return amountToRefund;
    }
}

Penjelasan Kode

1. Variabel Instans


private int price;
private int balance;
private int total;

2. Constructor


public TicketMachine(int cost) {
    price = cost;
    balance = 0;
    total = 0;
}

3. Method Getter


public int getPrice() { return price; }
public int getBalance() { return balance; }

4. Memasukkan Uang


public void insertMoney(int amount) {
    if(amount > 0) {
        balance = balance + amount;
    }
    else {
        System.out.println("Use a positive amount rather than: " + amount);
    }
}

5. Mencetak Tiket


public void printTicket() {
    if(balance >= price) {
        ...
        total = total + price;
        balance = balance - price;
    }
    else {
        System.out.println("You must insert at least: " +
                           (price - balance) + " cents.");
    }
}

6. Refund Uang


public int refundBalance() {
    int amountToRefund = balance;
    balance = 0;
    return amountToRefund;
}

Contoh Penggunaan


public class Main {
    public static void main(String[] args) {
        TicketMachine mesin = new TicketMachine(5000);

        System.out.println("Harga tiket: " + mesin.getPrice());

        mesin.insertMoney(2000);
        mesin.printTicket(); // saldo kurang

        mesin.insertMoney(5000);
        mesin.printTicket(); // tiket tercetak

        int refund = mesin.refundBalance();
        System.out.println("Uang dikembalikan: " + refund);
    }
}

Output:


Harga tiket: 5000
You must insert at least: 3000 cents.
##################
# The BlueJ Line
# Ticket
# 5000 cents.
##################

Uang dikembalikan: 2000

Kesimpulan

Pada pertemuan ini, kita sudah belajar cara membuat sebuah class sederhana di Java dengan contoh TicketMachine. Konsep penting yang bisa kita ambil adalah:

  1. Encapsulation → variabel dibuat private, hanya bisa diakses lewat method.
  2. Constructor → digunakan untuk inisialisasi objek.
  3. Method → tempat menuliskan perilaku/aksi dari objek.

TicketMachine adalah contoh bagus bagaimana sebuah objek nyata (mesin tiket) bisa dimodelkan dalam program menggunakan Object-Oriented Programming (OOP).


👉 Pertemuan selanjutnya kita bisa kembangkan program ini, misalnya menambahkan fitur cek total penjualan, atau bahkan membuat mesin tiket dengan banyak jenis tiket berbeda.

Dokumentasi :

1 komentar:

Pertemuan 15 : Aplikasi CRUD JAVA

Pertemuan 15 - Java CRUD Database Tanggal: 9 Desember 2025 Nama: Hosea Felix Sanjaya NRP: 5025241177 a. Setup & Persiapan Envi...