Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. public class TicketMachine
  2. {
  3. //Harga tiket dari mesin ini
  4. private int price;
  5. //Banyaknya uang yang dimasukkan oleh pembeli
  6. private int balance;
  7. private int newbalance;
  8. //Total uang yang dikumpulkan mesin ini
  9. private int total;
  10. //Jumlah tiket
  11. private int tickets;
  12. // Total kembalian
  13. private int refund;
  14.  
  15. /*
  16. * Buat mesin yang mengeluarkan tiket dari harga yang diberikan.
  17. * Perhatikan bahwa harganya harus lebih besar dari nol, dan di sana
  18. * tidak ada pemeriksaan untuk memastikan ini
  19. */
  20. public TicketMachine(int ticketCost)
  21. {
  22. price = ticketCost;
  23. balance = 0;
  24. total = 0;
  25. refund = 0;
  26. }
  27. //mengembalikan nilai dari harga tiket
  28. public int getPrice(){
  29. return price;
  30. }
  31. /*mengembalikan nilai dari banyaknya uang yang telah dimasukkan
  32. untuk tiket selanjutnya*/
  33. public int getBalance(){
  34. return balance;
  35. }
  36. //Mengembalikan jumlah uang yang diinginkan
  37. public void getTickets(int tiket)
  38. {
  39. if(tiket >= 1)
  40. {
  41. tickets = tiket;
  42. }
  43. else
  44. {
  45. System.out.println("masukkan jumlah tiket yang benar.");
  46. System.out.println();
  47. }
  48. }
  49. //pembeli memasukkan sejumlah uang
  50. public void insertMoney(int jumlah)
  51. {
  52. if (jumlah > 0){
  53. balance = balance + jumlah;
  54. newbalance = balance;
  55. }
  56. else{
  57. System.out.println("Please insert the right amount of money");
  58. System.out.println();
  59. }
  60. }
  61. //cetak tiket, update uang total dan jadikan balance ke nol
  62. public void printTickets(){
  63. // Simulasi penyetakan tiket
  64. for(int i = 1; i <= tickets; i++){
  65. System.out.println("###################################");
  66. System.out.println("# ARJUNA TRAIN TICKET #");
  67. System.out.println("# Tiket per Orang #");
  68. System.out.println("# Harga Tiket: "+ price +" cents. #");
  69. System.out.println("###################################");
  70. System.out.println();
  71. }
  72. // Simulasi penyetakan struk
  73. System.out.println("########################################");
  74. System.out.println("# STRUK TIKET #");
  75. System.out.println("# ARJUNA TRAIN #");
  76. System.out.println("# Harga Tiket : "+ price +". #");
  77. System.out.println("# Jumlah Tiket : "+tickets+" #");
  78. System.out.println("# Total Harga : "+price*tickets+". #");
  79. System.out.println("########################################");
  80. System.out.println();
  81.  
  82. // update uang yang tersimpan
  83. total = total + balance;
  84. // mereset nilai balance.
  85. balance = 0;
  86. }
  87. //kembalian dari pembeli
  88. public int refundBalance()
  89. {
  90. int refundable;
  91. refundable = newbalance - price*tickets;
  92. newbalance = 0;
  93. return refundable;
  94. }
  95. }