Tugas PBO pertemuan 3

Nama: Mochamad Kolbi Nuron

Nrp: 5025231183

Ticket Machine

pada tugas ketiga kali ini kita ditugaskan untuk membuat implementasi program dari studi kasus tiket machine 


1. Class TicketMachine
Kelas ini merupakan cetak biru untuk menciptakan objek mesin tiket. Kelas ini memiliki beberapa atribut dan metode yang memungkinkan simulasi pembelian tiket.

2. Method _init_(self, ticket_price)
Ini adalah constructor yang digunakan untuk menginisialisasi objek kelas.
Parameter ticket_price digunakan untuk menentukan harga tiket yang ditetapkan.
self.ticket_price menyimpan harga tiket, dan self.balance adalah saldo uang yang dimasukkan oleh pengguna, yang diinisialisasi menjadi 0.

3. Method insert_money(self, amount)
Metode ini digunakan untuk memasukkan uang ke dalam mesin tiket.
Jika jumlah uang yang dimasukkan (amount) lebih besar dari 0, uang tersebut ditambahkan ke saldo (self.balance). Saldo diperbarui dan dicetak sebagai umpan balik kepada pengguna.
Jika jumlah uang yang dimasukkan tidak valid (<= 0), program akan memberi tahu pengguna untuk memasukkan jumlah yang valid. 

4. Method print_ticket(self)
Fungsi ini digunakan untuk mencetak tiket jika saldo pengguna cukup untuk membeli tiket.
Jika saldo (self.balance) cukup besar (lebih besar atau sama dengan harga tiket), tiket akan dicetak.
Mesin akan menghitung kembalian (change) dengan mengurangi harga tiket dari saldo.
Jika ada kembalian, mesin akan mengembalikan uang kepada pengguna dan mencetak keterangan kembalian.
Jika saldo tidak cukup, mesin akan memberi tahu berapa jumlah uang yang masih harus ditambahkan agar pengguna bisa membeli tiket.


6. Cancel_transaction(self)
Fungsi ini bertujuan untuk membatalkan transaksi yang sedang berjalan dan mengembalikan jumlah saldo yang telah dimasukkan ke dalam mesin tiket.
Jika kondisi self.balance > 0 terpenuhi, artinya pengguna sudah memasukkan sejumlah uang ke mesin tiket. Maka, program akan mencetak pesan bahwa transaksi dibatalkan dan mengembalikan saldo (self.balance). Setelah itu, saldo di-reset menjadi 0 (self.balance = 0).
Jika tidak ada uang yang dimasukkan, artinya saldo sama dengan 0, maka program akan menampilkan pesan bahwa tidak ada uang yang dimasukkan untuk transaksi.

Alur Program:

  1. Inisialisasi Mesin Tiket:

    • Mesin tiket diinisialisasi dengan harga tiket tertentu (misalnya Rp 10.000).
    • Saldo awal pengguna diatur menjadi 0.
  2. Pengguna Memasukkan Uang:

    • Pengguna memasukkan sejumlah uang melalui metode insert_money(amount).
    • Jika uang yang dimasukkan valid (lebih dari 0), saldo pengguna bertambah.
    • Program mencetak saldo yang telah diperbarui.
  3. Pengecekan Saldo:

    • Setelah memasukkan uang, program akan memeriksa apakah saldo yang dimasukkan cukup untuk membeli tiket melalui metode print_ticket().
    • Jika saldo cukup (saldo >= harga tiket):
      • Mesin mencetak tiket.
      • Jika ada sisa uang (saldo lebih besar dari harga tiket), kembalian diberikan.
      • Setelah tiket dicetak, saldo di-reset menjadi 0.
    • Jika saldo tidak cukup:
      • Mesin memberi tahu pengguna berapa uang tambahan yang perlu dimasukkan untuk membeli tiket.
  4. Pembatalan Transaksi (Opsional):

    • Jika pengguna ingin membatalkan transaksi sebelum tiket dicetak, mereka dapat menggunakan metode cancel_transaction().
    • Program memeriksa apakah saldo lebih dari 0:
      • Jika saldo ada, mesin mengembalikan seluruh uang dan mengosongkan saldo (reset ke 0).
      • Jika saldo 0, mesin menampilkan pesan bahwa tidak ada uang untuk dikembalikan.

Komentar

Postingan populer dari blog ini

Mochamad Kolbi Nuron_5025231183_ETS PBO A

tugas PBOA pengertian dan konsep OOP

Mochamad Kolbi Nuron_5025231183_Tugas PBO 8