fork download
  1. import java.util.*;
  2.  
  3. class Film {
  4. private String judul;
  5. private String genre;
  6. private String jamTayang;
  7. private double hargaTiket;
  8.  
  9. public Film(String judul, String genre, String jamTayang, double hargaTiket) {
  10. this.judul = judul;
  11. this.genre = genre;
  12. this.jamTayang = jamTayang;
  13. this.hargaTiket = hargaTiket;
  14. }
  15.  
  16. public void tampilkanInfo() {
  17. System.out.println("Judul: " + judul);
  18. System.out.println("Genre: " + genre);
  19. System.out.println("Jam Tayang: " + jamTayang);
  20. System.out.println("Harga Tiket: Rp " + hargaTiket);
  21. }
  22. }
  23.  
  24. class Studio {
  25. private int nomorStudio;
  26. private int kapasitasKursi;
  27. private Film film;
  28.  
  29. public Studio(int nomorStudio, int kapasitasKursi, Film film) {
  30. this.nomorStudio = nomorStudio;
  31. this.kapasitasKursi = kapasitasKursi;
  32. this.film = film;
  33. }
  34.  
  35. public void tampilkanInfo() {
  36. System.out.println("Nomor Studio: " + nomorStudio);
  37. System.out.println("Kapasitas Kursi: " + kapasitasKursi);
  38. film.tampilkanInfo();
  39. }
  40.  
  41. public int getKapasitas() {
  42. return kapasitasKursi;
  43. }
  44. }
  45.  
  46. class Penonton {
  47. private String namaPenonton;
  48.  
  49. public Penonton(String namaPenonton) {
  50. this.namaPenonton = namaPenonton;
  51. }
  52.  
  53. public void tampilkanInfo() {
  54. System.out.println("Nama Penonton: " + namaPenonton);
  55. }
  56. }
  57.  
  58. class Tiket {
  59. private int nomorTiket;
  60. private Studio studio;
  61. private int kursi;
  62. private Penonton penonton;
  63.  
  64. public Tiket(int nomorTiket, Studio studio, int kursi, Penonton penonton) {
  65. this.nomorTiket = nomorTiket;
  66. this.studio = studio;
  67.  
  68. if (kursi > studio.getKapasitas()) {
  69. System.out.println("Kursi Melebihi Kapasitas");
  70. this.kursi = studio.getKapasitas();
  71. } else if (kursi < 1) {
  72. System.out.println("Kursi Tidak Boleh Dibawah Satu");
  73. this.kursi = 1;
  74. } else {
  75. this.kursi = kursi;
  76. }
  77.  
  78. this.penonton = penonton;
  79. }
  80.  
  81. public void tampilkanInfo() {
  82. System.out.println("\n-- Nomor Tiket: " + nomorTiket + " --");
  83. studio.tampilkanInfo();
  84. System.out.println("Kursi: " + kursi);
  85. penonton.tampilkanInfo();
  86. }
  87. }
  88.  
  89. class Ideone {
  90. public static void main(String[] args) {
  91.  
  92. Film film1 = new Film("Transformers", "Sci-Fi", "12:00", 45000.0);
  93. Film film2 = new Film("The Batman", "Action", "15:00", 50000.0);
  94. Film film3 = new Film("Scream", "Horror", "19:00", 40000.0);
  95.  
  96. Studio studio1 = new Studio(1, 40, film1);
  97. Studio studio2 = new Studio(2, 50, film2);
  98. Studio studio3 = new Studio(3, 45, film3);
  99.  
  100. System.out.println("=== Informasi Film ===");
  101. Tiket tiket1 = new Tiket(1, studio1, 1, new Penonton("Andre"));
  102. Tiket tiket2 = new Tiket(2, studio2, 2, new Penonton( "Bagas"));
  103. Tiket tiket3 = new Tiket(3, studio3, 3, new Penonton("Clara"));
  104.  
  105. tiket1.tampilkanInfo();
  106. tiket2.tampilkanInfo();
  107. tiket3.tampilkanInfo();
  108.  
  109. }
  110. }
  111.  
  112.  
  113.  
Success #stdin #stdout 0.17s 58136KB
stdin
Standard input is empty
stdout
=== Informasi Film ===

-- Nomor Tiket: 1 --
Nomor Studio: 1
Kapasitas Kursi: 40
Judul: Transformers
Genre: Sci-Fi
Jam Tayang: 12:00
Harga Tiket: Rp 45000.0
Kursi: 1
Nama Penonton: Andre

-- Nomor Tiket: 2 --
Nomor Studio: 2
Kapasitas Kursi: 50
Judul: The Batman
Genre: Action
Jam Tayang: 15:00
Harga Tiket: Rp 50000.0
Kursi: 2
Nama Penonton: Bagas

-- Nomor Tiket: 3 --
Nomor Studio: 3
Kapasitas Kursi: 45
Judul: Scream
Genre: Horror
Jam Tayang: 19:00
Harga Tiket: Rp 40000.0
Kursi: 3
Nama Penonton: Clara