PBO-4 Interaksi Objek Clock

Laporan mata kuliah Pemrograman Berorientasi Objek (A) - Pertemuan 4

Nama: Nabil Irawan

NRP: 5025241231

Kelas: Pemrograman Berorientasi Objek (A)

Laporan

Membuat Implementasi kodenya untuk studi kasus Clock Display

Pada laporan ini saya telah berhasil mengimplementasikan jam digital sederhana. Objekifnya adalah program dapat menampilkan waktu dalam format HH:MM dengan kenaikan satu menit per tick, rollover menit 59 ke 00 dan rollover jam 23 ke 00.

ClockDisplay.java

Class jam sederhana yang menyusun dua NumberDisplay, hours (batas 24) dan minutes (batas 60). Kemudian menyimpan string tampilan (displayString) dan menyediakan konstruktor default 00:00 serta konstruktor dengan parameter (jam, menit).

  • setTime(int hour, int minute) untuk mengatur nilai kedua display,

  • getTime() untuk mengambil teks waktu seperti HH:MM, dan

  • updateDisplay() yang membentuk teks tersebut dari getDisplayValue() milik masing-masing display.

Code:

NumberDisplay.java

Komponen angka umum yang menyimpan batas rollover dan value.

  • getValue() untuk angka raw,

  • getDisplayValue() yang memformat dua digit,

  • setValue(int replacementValue) yang hanya menerima nilai dalam rentang [0, limit), dan

  • increment() yang menambah nilai satu langkah dengan rollover menggunakan operasi modulo terhadap limit.

Code:

ClockDemo.java

Class yang menggunakan ClockDisplay dan NumberDisplay. demoClock(startHour, startMinute, steps) men-tick waktu per menit secara manual dan mencetak getTime() tiap langkah. demoNumberDisplay(limit, steps) membuat NumberDisplay dengan batas tertentu, lalu menampilkan getValue() serta getDisplayValue() sambil memanggil increment() berulang untuk memperlihatkan rollover.

Proof:

Menginputkan 23 sebagai jam, 50 sebagai menit, 15 sebagai stepnya.

Last updated