Senin, 27 Februari 2017

JAVA TIME PRACTICE



Dibawah ini adalah beberapa program Latihan Bahasa JAVA untuk time practice yang di ambil dari buku "Java How To Program - Ninth Edition (2012)"

program 1 (Time)
/**
 * Write a description of class Time here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Time
{
    
    private int hour;
    private int minute;
    private int second;


    public void  setTime(int h, int m, int s)
    {
      if ( ( h >= 0 && h < 24 ) && ( m >= 0 && m < 60 ) &&( s >= 0 && s < 60 ) )
        {
         hour = h;
         minute = m;
         second = s;
        }
      else
        throw new IllegalArgumentException("hour, minute and/or second was out of range" );
    
    }
    public String toUniversalString()
    {
        return String.format( "%02d:%02d:%02d", hour, minute, second );
    } 
    public String toString()
    {
        return String.format( "%d:%02d:%02d %s",
        ( ( hour == 0 || hour == 12 ) ? 12 : hour % 12 ),
        minute, second, ( hour < 12 ? "AM" : "PM" ) );
    
    }
    

}

Program 2 (TimeTest)


/**
 * Write a description of class TimeTest here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class TimeTest
{
    public static void main( String [] args )
    {
        Time time = new 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  ();
        
        time.setTime(13, 27, 6);
        System.out.print    (" Universal time after selfTime: ");
        System.out.println  ( time.toUniversalString() );
        System.out.print    (" Standard time after selfTime is: ");
        System.out.println  ( time.toString() );
        System.out.println();
        
        try
        {
            time.setTime(99, 99, 99);
        }
        catch (IllegalArgumentException e)
        {
            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() );
        }

   }
}

Program 3 (MemberAccesTest)


/**
 * Write a description of class MemberAccessTest here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class MemberAccessTest
{
 public static void main( String[] args )
   {
     Time time = new Time(); 
     time.hour = 7; // error: hour has private access in Time1
     time.minute = 15; // error: minute has private access in Time1
     time.second = 30; // error: second has private access in Time1
   }
}

Program 4 (ThisTest)


/**
 * Write a description of class ThisTest here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class ThisTest
{
    public static void main( String[] args )
    {
        SimpleTime time = new SimpleTime( 15, 30, 19 );
        System.out.println( time.buildString() );
    }
    
}
class SimpleTime
{
    private int hour;
    private int minute;
    private int second;
    
    public SimpleTime( int hour, int minute, int second )
    {
        this.hour = hour;
        this.minute = minute;
        this.second = second;
    }
    
    public String buildString()
    {
     return String.format( "%24s: %s\n%24s: %s","this.toUniversalString()", this.toUniversalString(),
     "toUniversalString()", toUniversalString());
    }
    public String toUniversalString()
    {
        return String.format( "%02d:%02d:%02d",this.hour, this.minute, this.second);

    }
}

Program 5 (Time2)


/**
 * Write a description of class Time2 here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Time2
{
       private int hour;
       private int minute;
       private int second;
       public Time2()
       {
          this( 0, 0, 0 );
       } 
       public Time2( int h )
       {
          this( h, 0, 0 );
       }
    
       public Time2( int h, int m )
       {
           this( h, m, 0 );
       }
        public Time2( int h, int m, int s )
       {
            setTime( h, m, s );
       }
       public Time2( Time2 time )
       {
           this( time.getHour(), time.getMinute(), time.getSecond() );
       }
       public void setTime( int h, int m, int s )
       {
           setHour( h );
           setMinute( m );
           setSecond( s );
        } 
       public void setHour( int h )
        {
           if ( h >= 0 && h < 24 )
           hour = h;
           else
           throw new IllegalArgumentException( "hour must be 0-23" );
        }
        // 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" );
        }
       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" );
        }
       public int getHour()
       {
           return hour;
       }
       public int getMinute()
       {
           return minute;
       }
       public int getSecond()
       {
           return second;
       }
       public String toUniversalString()
       {
           return String.format("%02d:%02d:%02d", getHour(), getMinute(), getSecond() );
       }
       public String toString()
       {
        return String.format( "%d:%02d:%02d %s",
        ( (getHour() == 0 || getHour() == 12) ? 12 : getHour() % 12 ),
        getMinute(), getSecond(), ( getHour() < 12 ? "AM" : "PM" ) );
       }
}

Program 6 (Time2Test)


/**
 * Write a description of class Time2Test here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Time2Test
{
    public static void main( String[] args )
    {
        Time2 t1 = new Time2();
        Time2 t2 = new Time2( 2 );
        Time2 t3 = new Time2( 21, 34 );
        Time2 t4 = new Time2( 12, 25, 42 );
        Time2 t5 = new Time2( t4 );
        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() );
        
       try
       {
           Time2 t6 = new Time2( 27, 74, 99 );
       }
       catch ( IllegalArgumentException e )
       {
       System.out.printf( "\nException while initializing t6: %s\n",e.getMessage() );
       }
    }
}

untuk output, silahkan dicoba sendiri, Karena dengan mencoba kita akan sekaligus belajar.

Senin, 20 Februari 2017

Pemrograman Berorientasi Objek (OOT)



A. KONSEP PEMROGRAMAN BERORIENTASI OBJEK (OOT)      
     
 Dalam kuliah teknik informatika, ada mata kuliah yang bernama pemrograman berorientasi objek,dimana di amata kuliah ini  menjelaskan tentang  paradigma pemrograman yang memandang sistem yang akan dibangun berdasarkan objek objek yang terlibat dan interaksinya dalam sistem.  Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya,
Sistem dibangun dengan membuat objek objek dan menginteraksikannya untuk menyelesaikan suatu pekerjaan, dengan kata lain Program adalah serangkaian object yang berinteraksi untuk menyelesaikan suatu masalah. Jadi banyak sekali paradigma yang bisa kita gunakan dalam menyelesaikan masalah dalam pemrograman, sekarang paradigma pemrograman berorientasi object yang sering digunakan oleh programer. Pemrograman berorientasi object berputar pada konsep dari obyek yang merupakan elemen dasar dari program. Penggunaan pemrograman berorientasi objek sangat benyak sekali, contoh : java, php, perl, c#, cobol, dan lainnya.
komponen dasar dalam pemrograman berorientasi objek :


1. Class
Kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh ‘class of mobil’ adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari mobil. Dalam pemrograman class adalah struktur dalam program yang berisi satu atau beberapa metode (dapat berupa fungsi dan/atau prosedur) dan atribut (dapat berupa data ataupun variabel yang akan dioperasikan dalam metode), dengan demikian atribut merupakan anggota kelas yang bersifat statis, sedangkan metode merupakan anggota kelas yang bersifat dinamis.

2. Object
Secara definisi bahwa yang dimaksud dengan Object adalah sekumpulan data (atribut) yang disebut variabel untuk menjabarkan karakteristik khusus dari obyek, dan juga terdiri dari sekumpulan method yang menjabarkan tingkah laku dari obyek, bisa dikatan juga bahwa object adalah sebuah perangkat lunak yang berisi sekumpulan variabel dan method yang berhubungan. Sebuah obyek adalah sebuah instance (keturunan) dari class. Dari penjelasan tersebut bisa disimpulkan bahwa hubungan antara class dan object yaitu, Class adalah suatu template/blueprint/rancangan dari object yang akan dibuat dan Object adalah sesuatu yang diciptakan dari Class. khusus dari obyek, dan juga terdiri dari sekumpulan method yang menjabarkan tingkah laku dari obyek, bisa dikatan juga bahwa object adalah sebuah perangkat lunak yang berisi sekumpulan variabel dan method yang berhubungan. Sebuah obyek adalah sebuah instance (keturunan) dari class.

3. Attribute / Atribut 
merupakan nilai data yang terdapat pada suatu object di dalam class. Attribute mempunyai karakterisitik yang membedakan object yang satu dengan object yang lainya. Contoh : pada Class Buah terdapat attribute:warna, berat. Misalkan pada object mangga: warna berisi kuning dan berat 0.5 kg dan pada object apel : warna merah dan berat 0.6 kg
4. Abstraksi 
kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.

5. Enkapsulasi 
memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.

6. Polimorfisme 
melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
Dalam pemrograman hubungan class dan object bisa kita misalkan, kita memiliki sebuah class mobil dimana dapat digunakan untuk medefinisikan beberapa obyek mobil. Pada tabel dibawah, mobil A dan mobil B adalah obyek dari class mobil. Class memiliki field nomor, plat, warna, manufaktur dan kecepatan yang diisi dengan nilai pada obyek mobil A dan mobil B. Mobil juga dapat berakselerasi, berbelok dan melakukan rem.

B. CONTOH PROGRAM CLASS

1. Class Barang


2. Class Mahasiswa



sumber :

  • pengalaman
  • wikipedia
  • http://pbo-re.blogspot.co.id/2010/03/pengertian-class-attribute-object.html
  • http://auliarosalinda.blogspot.co.id/2013/03/konsep-dasar-pemograman-berorientasi.html