Tugas 4 PBO - Clock Display

Nama : Rafie Zaidan Umara
NRP: 5025231245
Kelas: PBO (A)

Studi Kasus Clock Display


Clock Display



                                                                                                                                                                            

1. Class NumberDisplay
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:

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

Popular posts from this blog

Tugas Eksplorasi Perkembangan Teknologi Rafie Zaidan Umara 5025231245

PPB - Pertemuan 10 dan 11 - Marketplace Siswa