Senin, 27 Februari 2017

Java Time Class

ini adalah hasilnnya :

 **  
  * Time1.java  
  * Time1 class declaration maintains the time in 24-hour format.  
  *  
  * @Ari Setyaji  
  * @28 February 2017  
  */  
 public class Time1  
 {  
   private int hour; // 0 - 23  
   private int minute; // 0 - 59  
   private int second; // 0 - 59  
   // set a new time value using universal time; throw an  
   // exception if the hour, minute or second is invalid.  
   public void setTime (int h, int m, int s)  
   {  
     // validate hour, minute and second  
     if ((h >= 0 && h < 24) && ( m >= 0 && m < 60) && (s >= 0 && s < 60))  
     {  
       hour = h;  
       minute = m;  
       second = s;  
     } // end if  
     else  
     {  
       throw new IllegalArgumentException  
       ("hour, minute and/or second was out of range");  
     }  
   } // end method setTime  
   // convert to String in universal-time format (HH:MM:SS)  
   public String toUniversalString()  
   {  
     return String.format ("%02d:%02d:%02d", hour, minute, second);  
   } // end method toUniversalString  
   // convert to String in standard-time format (H:MM:SS AM or PM)  
   public String toString()  
   {  
     return String.format ("%d:%02d:%02d %s",  
       (( hour == 0 || hour == 12 ) ? 12 : hour % 12),  
       minute, second, (hour < 12 ? "AM" : "PM"));  
   } // end method toString  
 } // end class Time1  




 /**  
  * Time1Test.java  
  *  
  * Ari setyaji  
  * 28 February 2017  
  */  
 public class Time1Test  
 {  
   public static void main (String[] args)  
   {  
     // create and initialize a Time1 object  
     Time1 time = new Time1(); // invokes Time1 constructor  
     // output string representations of the time  
     System.out.print ("The initial universal time is: ");  
     System.out.println (time.toUniversalString());  
     System.out.print ("The initial standard time is: ");  
     System.out.println (time.toString());  
     System.out.println(); // output a blank line  
     // change time and output updated time  
     time.setTime (13, 27, 6);  
     System.out.print ("Universal time after setTime is: ");  
     System.out.println (time.toUniversalString());  
     System.out.print ("Standard time after setTime is: ");  
     System.out.println (time.toString());  
     System.out.println(); // output a blank line  
     // attempt to set time with invalid values  
     try  
     {  
       time.setTime (99, 99, 99); // all values out of range  
     } // end try  
     catch (IllegalArgumentException e)  
     {  
       System.out.printf ("Exception: %s\n\n", e.getMessage());  
     } // end catch  
     // display time after attempt to set invalid values  
     System.out.println ("After attempting invalid settings:" );  
     System.out.print ("Universal time: ");  
     System.out.println (time.toUniversalString());  
     System.out.print ("Standard time: ");  
     System.out.println (time.toString());  
   } // end main  
 } // end class Time1Test  
Hasil output adalah :

 The initial universal time is: 00:00:00  
 The initial standard time is: 12:00:00 AM  
 Universal time after setTime is: 13:27:06  
 Standard time after setTime is: 1:27:06 PM  
 Exception: hour, minute and/or second was out of range  
 After attempting invalid settings:  
 Universal time: 13:27:06  
 Standard time: 1:27:06 PM  



 /**  
  * ThisTest.java  
  * this used implicitly and explicitly to refer to members of an object.  
  *  
  * Ari Setyaji  
  * 28 February 2017  
  */  
 public class ThisTest  
 {  
   public static void main (String[] args)  
   {  
    SimpleTime time = new SimpleTime (15, 30, 19);  
    System.out.println (time.buildString());  
   } // end main  
 } // end class ThisTest  
 // class SimpleTime demonstrates the "this" reference  
 class SimpleTime  
 {  
   private int hour; // 0 - 23  
   private int minute; // 0 - 59  
   private int second; // 0 - 59  
   // if the constructor uses parameter names identical to  
   // instance variable names the "this" reference is  
   // required to distinguish between the names  
   public SimpleTime (int hour, int minute, int second)  
   {  
     this.hour = hour; // set "this" object's hour  
     this.minute = minute; // set "this" object's minute  
     this.second = second; // set "this" object's second  
   } // end SimpleTime constructor  
   // use explicit and implicit "this" to call toUniversalString  
   public String buildString()  
   {  
     return String.format ("%24s: %s\n%24s: %s",  
       "this.toUniversalString()", this.toUniversalString(),  
       "toUniversalString()", toUniversalString());  
   } // end method buildString  
   // convert to String in universal-time format (HH:MM:SS)  
   public String toUniversalString()  
   {  
     // "this" is not required here to access instance variables,  
     // because method does not have local variables with same  
     // names as instance variables  
     return String.format ("%02d:%02d:%02d",  
       this.hour, this.minute, this.second);  
   } // end method toUniversalString  
 } // end class SimpleTime  
Hasil output adalah :

 this.toUniversalString(): 15:30:19  
 toUniversalString(): 15:30:19  


 /**  
  * Time2.java  
  * Time2 class declaration with overloaded constructors.  
  *  
  * Ari setyaji  
  * 28 February 2017  
  */  
 public class Time2  
 {  
   private int hour; // 0 - 23  
   private int minute; // 0 - 59  
   private int second; // 0 - 59  
   // Time2 no-argument constructor:  
   // initializes each instance variable to zer  
   public Time2()  
   {  
     this (0, 0, 0); // invoke Time2 constructor with three arguments  
   } // end Time2 no-argument constructor  
   // Time2 constructor: hour supplied, minute and second defaulted to 0  
   public Time2 (int h)  
   {  
     this (h, 0, 0); // invoke Time2 constructor with three arguments  
   } // end Time2 one-argument constructor  
   // Time2 constructor: hour and minute supplied, second defaulted to 0  
   public Time2 (int h, int m)  
   {  
     this (h, m, 0); // invoke Time2 constructor with three arguments  
   } // end Time2 two-argument constructor  
   // Time2 constructor: hour, minute and second supplied  
   public Time2 (int h, int m, int s)  
   {  
     setTime (h, m, s); // invoke setTime to validate time  
   } // end Time2 three-argument constructor  
   // Time2 constructor: another Time2 object supplied  
   public Time2 (Time2 time)  
   {  
     // invoke Time2 three-argument constructor  
     this (time.getHour(), time.getMinute(), time.getSecond());  
   } // end Time2 constructor with a Time2 object argument  
   // Set Methods  
   // Set a new time value using universal time;  
   // validate the data  
   public void setTime (int h, int m, int s)  
   {  
     setHour (h); // set the hour  
     setMinute (m); // set the minute  
     setSecond (s); // set the second  
   } // end method setTime  
   // validate and set hour  
   public void setHour (int h)  
   {  
     if (h >= 0 && h < 24)  
       hour = h;  
     else  
       throw new IllegalArgumentException ("hour must be 0 - 23");  
   } // end method setHour  
   // validate and set minute  
   public void setMinute (int m)  
   {  
     if (m >= 0 && m < 60)  
       minute = m;  
     else  
       throw new IllegalArgumentException ("minute must be 0 - 59");  
   } // end method setMinute  
   // validate and set second  
   public void setSecond (int s)  
   {  
     if (s >= 0 && s < 60)  
       second = ((s >= 0 && s < 60) ? s : 0);  
     else  
       throw new IllegalArgumentException ("second must be 0 - 59");  
   } // end method setSecond  
   // Get Methods  
   // get hour value  
   public int getHour()  
   {  
     return hour;  
   } // end method getHour  
   // get minute value  
   public int getMinute()  
   {  
     return minute;  
   } // end method getMinute  
   // get second value  
   public int getSecond()  
   {  
     return second;  
   } // end method getSecond  
   // convert to String in universal-time format (HH:MM:SS)  
   public String toUniversalString()  
   {  
     return String.format ("%02d:%02d:%02d", getHour(), getMinute(), getSecond());  
   } // end method toUniversalString  
   // convert to String in standard-time format (H:MM:SS AM or PM)  
   public String toString()  
   {  
     return String.format ("%d:%02d:%02d %s",  
       ((getHour() == 0 || getHour() == 12) ? 12 : getHour() % 12),  
       getMinute(), getSecond(), (getHour() < 12 ? "AM" : "PM"));  
   } // end method toString  
 } // end class Time2  


 /**  
  * Time2Test.java  
  * Overloaded constructors used to initialize Time2 objects.  
  *  
  * Ari Setyaji  
  * 28 February 2017  
  */  
 public class Time2Test  
 {  
   public static void main (String[] args)  
   {  
     Time2 t1 = new Time2(); // 00:00:00  
     Time2 t2 = new Time2(2); // 02:00:00  
     Time2 t3 = new Time2(21, 34); // 21:34:00  
     Time2 t4 = new Time2(12, 25, 42); // 12:25:42  
     Time2 t5 = new Time2(t4); // 12:25:42  
     System.out.println ("Constructed with:");  
     System.out.println ("t1: all arguments defaulted");  
     System.out.printf ("  %s\n", t1.toUniversalString());  
     System.out.printf ("  %s\n", t1.toString());  
     System.out.println ("t2: hour specified; minute and second defaulted");  
     System.out.printf ("  %s\n", t2.toUniversalString());  
     System.out.printf ("  %s\n", t2.toString());  
     System.out.println ("t3: hour and minute specified; second defaulted");  
     System.out.printf ("  %s\n", t3.toUniversalString());  
     System.out.printf ("  %s\n", t3.toString());  
     System.out.println ("t4: hour, minute and second specified");  
     System.out.printf ("  %s\n", t4.toUniversalString());  
     System.out.printf ("  %s\n", t4.toString());  
     System.out.println ("t5: Time2 object t4 specified");  
     System.out.printf ("  %s\n", t5.toUniversalString());  
     System.out.printf ("  %s\n", t5.toString());  
     // attempt to initialize t6 with invalid values  
     try  
     {  
       Time2 t6 = new Time2 (27,74,99); // invalid value  
     } // end try  
     catch (IllegalArgumentException e)  
     {  
       System.out.printf ("\nException while initializing t6: %s\n", e.getMessage());  
     } // end catch  
   } // end main  
 } // end class Time2Test  
Hasil output adalah :
 Constructed with:  
 t1: all arguments defaulted  
 00:00:00  
 12:00:00 AM  
 t2: hour specified; minute and second defaulted  
 02:00:00  
 2:00:00 AM  
 t3: hour and minute specified; second defaulted  
 21:34:00  
 9:34:00 PM  
 t4: hour, minute and second specified  
 12:25:42  
 12:25:42 PM  
 t5: Time2 object t4 specified  
 12:25:42  
 12:25:42 PM  
 Exception while initializing t6: hour must be 0-23  

Senin, 20 Februari 2017

 Object, Property, Methode, Class, State, Instantiation, dan Instance

-Object
Yang dimaksud dengan objek adalah sekumpulan software yang terdiri dari variable dan method-method yang terkait. Objek juga merupakan benda nyata yang di buat berdasarkan rancangan yang di definisikan di dalam class. Object adalah instance dari class.
Jika class secara umum mepresentasikan (template) sebuah object, sebuah instance adalah representasi nyata dari class itu sendiri.
Contoh : Dari class Fruit kita dapat membuat object Mangga, Pisang, Apel, dan lain-lain.

-Property
disebut juga dengan atribut adalah data yang terdapat dalam sebuah class.
contoh property dari laptop bisa berupa merk, warna, jenis processor, ukuran layar, dan lain-lain.
Jika anda sudah terbiasa dengan program PHP, property ini sebenarnya hanyalah variabel yang terletak di dalam class.
Seluruh aturan dan tipe data yang biasa diinput kedalam variabel, bisa juga diinput kedalam property.
Aturan tata cara penamaan property sama dengan aturan penamaan variabel.

-Methode
Method adalah tindakan yang bisa dilakukan didalam class, Jika menggunakan analogi class laptop kita. Method pada dasarnya adalah function yang berada di dalam class.
Seluruh fungsi dan sifat function bisa diterapkan kedalam method, seperti argumen/parameter, mengembalikan nilai (dengan keyword return), dan lain-lain.
contoh method adalah: menghidupkan laptop, mematikan laptop, mengganti cover laptop, dan berbagai tindakan lain.

-Class
Instantiation adalah proses pembuatan obyek spesifik yang merupakan anggota atau instan dari kelas.
Instance adalah sebuah object yang dibuat oleh sebuah class Instantiation adalah pembuatan instance

-State
State (instance variables) –> variable2 yang dideklarasikan di dalam class.
contoh di atas nama dan umur disebut dengan state.

-Instantiation
Proses pembuatan obyek spesifik yang merupakan anggota atau instan dari kelas.
Instance adalah sebuah object yang dibuat oleh sebuah class Instantiation adalah pembuatan instance

-Instance
disebut juga variable tidak statis. Dalam bahasa pemrograman berorientasi objek, objek menyimpan variabel yang tidak dideklarasikan dengan kata kunci static dalam kategori non-statis, atau dapat berubah-ubah. Suatu kelas dapat dijelmakan ke dalam beberapa objek.
Nilai yang terkandung dalam variabel tak-statis ini berbeda untuk setiap objeknya. adalah atribut untuk tiap obyek dari class yang sama. Instance variable adalah variabel yang memiliki nilai yang berbeda di setiap objek Instance Variable, adalah atribut untuk tiap objek dari class yang sama.
Jadi, objek-objek di dalam sebuah class kemungkinan mempunyai nilai (value) yang berbeda karena atribut diberikan kepada masing-masing objek.