BenitoDannes

PBO-3.2-ClockDisplay

Mar 11th, 2017
277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.19 KB | None | 0 0
  1. /**
  2.  * Class ClockDisplay menampilkan jam digital
  3.  * berformat 24-jam. Jam ini menunjukkan jam
  4.  * dan menit.
  5.  * Jarak yang ditampilkan jam adalah 00:00 (tengah malam) ke 23:59
  6.  * (satu menit sebelum tengah malam).
  7.  *
  8.  * Jam menerima "detik" (lewat method timeTick)
  9.  * setiap menitnya dan bereaksi dengan menaikkan
  10.  * menit sebanyak 1.
  11.  * Nilai jam juga akan bertambah satu jika nilai menit kembali ke nol.
  12.  */
  13.  
  14. public class ClockDisplay
  15. {
  16.     private NumberDisplay hours;
  17.     private NumberDisplay minutes;
  18.     private String displayString; // mensimulasikan tampilan sebenarnya.
  19.    
  20.     /**
  21.      * Konstruktor untuk objek ClockDisplay.
  22.      * Konstruktor ini membuat jam baru yang mulai dari 00:00.
  23.      */
  24.     public ClockDisplay()
  25.     {
  26.         hours = new NumberDisplay(24);
  27.         minutes = new NumberDisplay(60);
  28.         updateDisplay();
  29.     }
  30.    
  31.     /**
  32.      * Konstruktor untuk objek ClockDisplay. Konstruktor ini
  33.      * membuat jam baru yang waktunya diatur
  34.      * oleh parameter tertentu.
  35.      */
  36.     public ClockDisplay (int hour, int minute)
  37.     {
  38.         hours = new NumberDisplay(24);
  39.         minutes = new NumberDisplay(60);
  40.         setTime (hour, minute);
  41.     }
  42.    
  43.     /**
  44.      * Method ini harus dipanggil sekali tiap menit
  45.      * Membuat tampilan jam maju satu menit.
  46.      */
  47.     public void timeTick()
  48.     {
  49.         minutes.increment();
  50.         if (minutes.getValue() == 0)
  51.         {
  52.             // nilai menit kembali menjadi nol!
  53.             hours.increment();
  54.         }
  55.         updateDisplay();
  56.     }
  57.    
  58.     /**
  59.      * Mengatur waktu tampilan ke jam
  60.      * dan menit tertentu.
  61.      */
  62.     public void setTime (int hour, int minute)
  63.     {
  64.         hours.setValue (hour);
  65.         minutes.setValue (minute);
  66.         updateDisplay();
  67.     }
  68.    
  69.     /**
  70.      * Return waktu saat ini pada display dalam format
  71.      * HH:MM.
  72.      */
  73.     public String getTime()
  74.     {
  75.         return displayString;
  76.     }
  77.    
  78.     /**
  79.      * Update string internal yang mewakili
  80.      * tampilan.
  81.      */
  82.     private void updateDisplay()
  83.     {
  84.         displayString = hours.getDisplayValue() + ":" +
  85.                         minutes.getDisplayValue();
  86.     }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment