Rabu, 01 Oktober 2025

Pertemuan 6 - Grouping Object

Project Java: Sistem Bioskop Sederhana

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

Pertemuan 15 : Aplikasi CRUD JAVA

Pertemuan 15 - Java CRUD Database Tanggal: 9 Desember 2025 Nama: Hosea Felix Sanjaya NRP: 5025241177 a. Setup & Persiapan Envi...