Tugas 4 PBO - Clock Display
Nama : Rafie Zaidan Umara




NRP: 5025231245
Kelas: PBO (A)
Studi Kasus Clock Display
Clock Display
1. Class NumberDisplay
Fungsi:
Fungsi:
Class ini bertanggung jawab untuk mengelola angka, seperti jam, menit, atau detik, dengan batasan tertentu.
Anggota Class:
- Attributes:
- private int value: Menyimpan nilai saat ini (jam, menit, atau detik).
- private int limit: Batas maksimum untuk nilai yang dapat disimpan (misalnya, 24 untuk jam, 60 untuk menit dan detik).
- Constructor:
- public NumberDisplay(int limit): Menginisialisasi limit dan mengatur value ke 0.
- Methods:
- public int getValue(): Mengembalikan nilai saat ini.
- public String getDisplayValue(): Mengembalikan nilai dalam format dua digit (misalnya "09").
- public void increment(): Menambah nilai. Jika mencapai limit, nilai akan kembali ke 0.
- public void setValue(int value): Mengatur nilai tertentu jika berada dalam batasan yang valid.
2. Class ClockDisplay
Fungsi:
Fungsi:
Class ini mengelola jam, menit, dan detik menggunakan tiga objek NumberDisplay.
Anggota Class:
- Attributes:
- private NumberDisplay hours: Objek NumberDisplay untuk jam.
- private NumberDisplay minutes: Objek NumberDisplay untuk menit.
- private NumberDisplay seconds: Objek NumberDisplay untuk detik.
- Constructor:
- public ClockDisplay(): Menginisialisasi objek NumberDisplay untuk jam, menit, dan detik dengan batasan yang sesuai.
- Methods:
- public void setTime(int hour, int minute, int second): Mengatur waktu awal.
- public void timeTick(): Memperbarui waktu dengan menambah satu detik. Jika detik mencapai 0, menit ditambah, dan jika menit mencapai 0, jam ditambah.
- public String getTime(): Mengembalikan waktu dalam format "HH:mm
3. Class ClockGui
Fungsi:
Class ini membuat antarmuka pengguna grafis (GUI) untuk menampilkan jam digital.
Anggota Class:
- Attributes:
- private ClockDisplay clockDisplay: Objek ClockDisplay untuk mengelola waktu.
- private JLabel timeLabel: Label yang digunakan untuk menampilkan waktu di GUI.
- private Timer timer: Timer yang digunakan untuk memperbarui tampilan setiap detik.
- Constructor:
- public ClockGUI(): Menginisialisasi objek ClockDisplay, menyiapkan label untuk menampilkan waktu, dan mengatur dan memulai Timer untuk memperbarui waktu setiap detik.
- Methods:
- public void actionPerformed(ActionEvent e): Dipanggil setiap kali timer berfungsi. Mengupdate waktu dengan memanggil updateCurrentTime() dan memperbarui teks pada timeLabel.
- Main Method:
- public static void main(String[] args): Menggunakan SwingUtilities.invokeLater() untuk memastikan GUI dibangun di thread event dispatching.
Comments
Post a Comment