Tugas Pertemuan 3 - 5025231186

Agym Kamil Ramadhan - 5025231186

Tugas Pertemuan 3 PBO A


MEMBUAT STRUKTUR TIKET MACHINE



Membuat struktur tiket machine dengan bahasa java, Class Ticket:

Mewakili entitas tiket dengan atribut category dan price.
Terdapat getter untuk mengakses atribut.
Class TicketMachine:

Berisi daftar tiket dalam bentuk array objek Ticket.
Metode displayTickets() untuk menampilkan daftar tiket.
Metode getTicket() untuk mendapatkan tiket berdasarkan pilihan pengguna.
Class ConcertTicketMachine:

Kelas utama untuk menjalankan program.
Menggunakan objek TicketMachine untuk memproses pembelian tiket.

import java.util.Scanner;

// Kelas untuk tiket
class Ticket {
private String category;
private int price;

public Ticket(String category, int price) {
this.category = category;
this.price = price;
}

public String getCategory() {
return category;
}

public int getPrice() {
return price;
}
}

// Kelas untuk mesin tiket
class TicketMachine {
private Ticket[] tickets;

public TicketMachine() {
// Inisialisasi kategori tiket dan harga
tickets = new Ticket[] {
new Ticket("Regular", 500000),
new Ticket("VIP", 1000000),
new Ticket("VVIP", 1500000)
};
}

public void displayTickets() {
System.out.println("Daftar Kategori Tiket:");
for (int i = 0; i < tickets.length; i++) {
System.out.printf("%d. %s - Rp %,d%n", i + 1, tickets[i].getCategory(), tickets[i].getPrice());
}
}

public Ticket getTicket(int choice) {
if (choice >= 1 && choice <= tickets.length) {
return tickets[choice - 1];
}
return null; // Jika pilihan tidak valid
}
}

// Kelas utama
public class ConcertTicketMachine {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
TicketMachine machine = new TicketMachine();

System.out.println("Selamat datang di Ticket Machine Konser!");

// Tampilkan tiket
machine.displayTickets();

// Pilih kategori tiket
System.out.print("Masukkan nomor kategori tiket pilihan Anda: ");
int choice = scanner.nextInt();
Ticket selectedTicket = machine.getTicket(choice);

if (selectedTicket == null) {
System.out.println("Pilihan tidak valid. Silakan coba lagi.");
return;
}

// Jumlah tiket
System.out.print("Masukkan jumlah tiket yang ingin dibeli: ");
int ticketCount = scanner.nextInt();

if (ticketCount <= 0) {
System.out.println("Jumlah tiket tidak valid.");
return;
}

// Hitung total
int totalPrice = selectedTicket.getPrice() * ticketCount;
System.out.printf("Total harga: Rp %,d%n", totalPrice);

// Pembayaran
System.out.print("Masukkan jumlah uang pembayaran: Rp ");
int payment = scanner.nextInt();

if (payment < totalPrice) {
System.out.println("Uang Anda tidak mencukupi. Transaksi dibatalkan.");
} else {
int change = payment - totalPrice;
System.out.printf("Pembayaran berhasil! Kembalian Anda: Rp %,d%n", change);
System.out.println("Terima kasih telah membeli tiket konser!");
}

scanner.close();
}
}

Komentar

Postingan populer dari blog ini

Pemrograman Berorientasi Objek A - ETS

Tugas Pertemuan 4 - 5025231186