Project Java: Sistem Bioskop Sederhana
Nama: Hosea Felix Sanjaya
Kelas: PBO - A
NRP: 5025241177
Deskripsi Project
Sistem ini memodelkan sebuah bioskop yang memiliki beberapa studio, dan setiap studio memutar beberapa film. Kita akan menggunakan empat class utama:
- Film → objek film dengan judul dan durasi
- Studio → ruangan di bioskop yang memutar beberapa film
- Bioskop → kumpulan studio dalam satu gedung
- Main → class utama untuk menjalankan program
Struktur Project
BioskopProject/
├── Film.java
├── Studio.java
├── Bioskop.java
└── Main.java
Kode Program
🔹 Film.java
public class Film {
private String title;
private int duration; // dalam menit
public Film(String title, int duration) {
this.title = title;
this.duration = duration;
}
public String getTitle() { return title; }
public int getDuration() { return duration; }
@Override
public String toString() {
return title + " (" + duration + " menit)";
}
}
🔹 Studio.java
import java.util.*;
public class Studio {
private String studioName;
private List<Film> films = new ArrayList<>();
public Studio(String studioName) {
this.studioName = studioName;
}
public void addFilm(Film f) {
films.add(f);
}
public void showStudioInfo() {
System.out.println("Studio: " + studioName);
for (Film f : films) {
System.out.println(" - " + f);
}
System.out.println();
}
}
🔹 Bioskop.java
import java.util.*;
public class Bioskop {
private String cinemaName;
private List<Studio> studios = new ArrayList<>();
public Bioskop(String cinemaName) {
this.cinemaName = cinemaName;
}
public void addStudio(Studio s) {
studios.add(s);
}
public void showBioskopInfo() {
System.out.println("=== " + cinemaName + " ===\\n");
for (Studio s : studios) {
s.showStudioInfo();
}
}
}
🔹 Main.java
public class Main {
public static void main(String[] args) {
// Buat film
Film f1 = new Film("Avengers: Endgame", 181);
Film f2 = new Film("Spider-Man: No Way Home", 148);
Film f3 = new Film("The Batman", 176);
Film f4 = new Film("Interstellar", 169);
// Buat studio
Studio s1 = new Studio("Studio 1");
s1.addFilm(f1);
s1.addFilm(f2);
Studio s2 = new Studio("Studio 2");
s2.addFilm(f3);
s2.addFilm(f4);
// Buat bioskop
Bioskop cgv = new Bioskop("CGV - Mall Kota");
cgv.addStudio(s1);
cgv.addStudio(s2);
// Tampilkan informasi
cgv.showBioskopInfo();
}
}
Contoh Output
=== CGV - Mall Kota ===
Studio: Studio 1
- Avengers: Endgame (181 menit)
- Spider-Man: No Way Home (148 menit)
Studio: Studio 2
- The Batman (176 menit)
- Interstellar (169 menit)
Tidak ada komentar:
Posting Komentar