Selasa, 29 Oktober 2013

Pengertian Abstrak class,interface, inner class



ABSTRACT CLASS,INTERFACE,INNER CLASS
A. ABSTRACT CLASS

     Abstract Class adalah suatu kelas yang dinyatakan abstract, umumnya memiliki suatu atau lebih abstract
method. Abstract method adalah nama method yang memiliki implementasi dan menggunakan modifier abstract. Abstract class biasanya dijadikan parent/ super class dari kelas-kelas yang dapat membuat objek, abstract class tidak dapat diintansiasi. Defenisi kelas diletakkan dalam masing-masing kelas turunan. Dalam hal ini setiap kelas turunan harus mendefenisikan metode-metode yang tergolong sebagai metode abstract.

B. INTERFACE
    Interface adalah suatu kelas yang berisi method-method tanpa implementasi, namun tanpa modifier abstract, apabla suatu interface memiliki atribut, maka atributnya akan berlaku sebagai konstanta. Interface menyerupai kelas. Perbedaanya, kata kunci interface menggantikan kedudukan kata kunci class. Bentuk deklrasinya adalah sebagai berikut:
     Penentu akses public biasa digunakan dengan tujuan agar interface dapat diakses oleh kelas manapun. Jika tak ada penentu akses public, interface hanya dapat diakses oleh kelas-kelas yang berada dalam paket yang sama.

C. INNER CLASS
     Inner Class adalah kelas yang disisipkan di dlam kelas yang lain. fungsi kelas sisipan ini adalah mendukung suatu proses yang akan dijalankan oleh suatu kelas utamanya. Inner class bersifat terserang terhadap kelas-kelas utamnya

CONTOH :
public abstract class MakhlukHidup{

 protected boolean BisaTerbang = false
protected String Nama;
protected int JlhKaki;

public MakhlukHidup(String Nama1, int JlhKaki1, boolean BisaTerbang1) {
this. Nama = Nama1;
this. JlhKaki = JlhKaki1;
this. BisaTerbang = BisaTerbang1;

abstract void bernafas();
public void status(){
System.out.println(Nama+" bernafas dengan menghirup CO2");
System.out.println("------------------------------------");
            System.out.println("Nama : " +Nama);
System.out.println("Jumlah Kaki : " +JlhKaki);
System.out.println("BisaTerbang : " +BisaTerbang);

             }
    }

PENJELASAN :
Kelas mahluk hidup ini merupakan kelas abstract yang minimal memiliki 1 method abstract yaitu method mahluk hidup 
dalam kelas mahluk hidup ini memiliki 3 method yaitu : method mahluk hidup, bernafas, status.
this. Nama = Nama1;
this. JlhKaki = JlhKaki1;
            this. BisaTerbang = BisaTerbang1;
} --> merupakan pengimplementasian dari method abstract.
Kelas abstract  akan selalu menjadi kelas induk dan pada kelas anak akan diimplementasikan kembali.
output :



public class Manusia extends MakhlukHidup{

     Manusia(String nama){

     super(nama,2,false);

     }

     public void bernafas(){

     System.out.println(Nama+" bernafas dengan menghirup O2");

    }

    public static void main(String[]arg){

    Manusia m = new Manusia ("Sayuti");

    m.status();

    m.bernafas();

   }

   }



MEMBUAT PROGRAM Tumbuhan.java
     public class Tumbuhan extends MakhlukHidup{

    Tumbuhan(String nama){

    super(nama,0,false);

   }

   public void bernafas(){


  }

  public static void main(String[]arg){

 Tumbuhan t = new Tumbuhan ("Bayam");

 t.status();
 t.bernafas();
 }
 }





interface Pekerjaan {

    public void namaPekerjaan() ;

    public void gaji ();

   }
   



public class Sasya extends Manusia implements Pekerjaan{
     public Sasya() {
    super("Sasya");
    }
    public void namaPekerjaan(){
   System.out.println("Pekerjaan : Sekretaris");
   }
   public  void gaji(){
   System.out.println ("Gaji : Rp. 3.000.000");
   }
   public static void main(String[]arg){
   Sasya s = new Sasya ();
   s.status();
   s.bernafas();
   s.namaPekerjaan();
   s.gaji();
  }
  }


 class Orang{
    private int jumlKaki = 2;

    public void dengarBunyiJantung() {
          Jantung j = new Jantung();
          j.bunyiJantung();
    }
    public void tahanNafas(){
    System.out.println("Jantung berhenti berdetak!");
    }
    //inner class
   class Jantung{
    public void bunyiJantung(){
        System.out.println("deg.....deg..deg...");
        }
    public void istrahat(){
        System.out.println("silangkan ke "+jumlKaki+" kaki.");
        tahanNafas();
        }
        }
        }
   class JantungManusia{
    public static void main(String[]arg){
    Orang o = new Orang();
    Orang.Jantung p = o.new Jantung();
    o.dengarBunyiJantung();
    p.istrahat();
    }
    }




Information Hiding, Inheriratance, Encapsulation dan Polymorphism

Kali ini kita akan mencoba membuat contoh program sederhana dari java yang menggunakan Polymorphisme. Polymorphisme adalah modul yang memiliki nama yang sama, namun memiliki tingkah laku yang berbeda sehingga implementasinya berbeda.

Kita mulai dari class karyawan. Pada class karyawan modifier yang digunakan adalah Abstract class yaitu class yang dinyatakan abstrak, umumnya memiliki implementasi. Abstract class biasa juga digunakan sebagai parent/superclass dari class-class yang dapat membuat objek.

Ketikkan Code berikut dengan file name : karyawan.java

abstract class Karyawan{
int gaji;
Karyawan(){
gaji=1000000;
}
int getGaji(){
return gaji;
}
abstract void naikGaji();
}


Penjelasan :


abstract class Karyawan{ --> Abstract class adalah kelas yang terletak pada posisi tertinggi pada hierarki kelas.Kelas ini digunakan sebagai basis bagi penurunan kelas lainnya, sehingga abstract class tidak dapat diinstansiasi secara langsung menjadi object. Suatu abstract class bisa mengandung method kongkrit dan/atau method abstract.

int gaji; --> merupakan suatu atribut dengan nama gaji
Karyawan(){ --> merupakan sebuah method konstruktor karena nama kelas dan method nya sama

Setelah itu ketikkan kode berikut dengan filename : manager.java

class Manager extends Karyawan{
   Manager(){
          gaji +=2000000;
   }
   void naikGaji() { gaji+=3000000; }
}  


Lalu juga code berikut dengan filename : receptionist.java


class Receptionist extends Karyawan{
  Receptionist() {
            gaji +=1000000;
  }
  void naikGaji() {gaji+=1000000; }
} 

Dan yang terakhir code berikut dengan filename : Polymorphisme.java
class Polymorphisme{
  public static void main(String[] args) {
    Karyawan K[] = new Karyawan[3];
    K[0] = new Manager();
    K[1] = new Receptionist();
    K[2] = new Manager();
    for (int i=0;i<3 font="" i="">
        System.out.println("Gaji karyawan "+i+" adalah "+K[i].getGaji());
    for (int i=0;i<3 font="" i="">
        K[i].naikGaji();
    for (int i=0;i<3 font="" i="">
        System.out.println("Gaji sekarang "+i+" adalah "+K[i].getGaji());
}
}


Penjelasan

1.       Pada class Polymorphisme memiliki fungsi utama yang nantinya akan menghasilkan output.
2.       Dalam program ini terjadi penggabungan 3 class dimana 1 parent dan 2 sub class
3.       Untuk memanggil method pada sub class maka di buat sebuah objek baru berdasarkan indeks yaitu “ K[]” dengan total indeks sebanyak 3 data :
·         a. K[0] bernilai Manager
·         b. K[1] bernilai Resepsionist
·         c. K[2] bernilai Manager

Dengan menggunakan program keputusan, data akan di cetak dengan perintah "System.out.println”. Dimana nilai gaji karyawan yang awalnya bernilai 1000.000 dan pada objek indeks K[0]nilai data akan diulang dan ditambah 1000.000 setiap perulangannya 0=3 hingga nilai 3=3 yaitu 3000.000. Begitu juga indeks K[1], 1=3 hingga 3=3 yaitu 2000.000. Terakhir K[2] gaji karyawan yang awalnya bernilai 2000.000, 2=3 hingga 3=3 yaitu 3000.000.



Hasil Akhir

Untuk method naik gaji

a. Indeks K[0] dengan nilai terakhir 3000.000 akan di tambah 3000.000 = 6000.000

b. Indeks K[1] dengan nilai terakhir 2000.000 akan di tambah 1000.000 = 3000.000

c. Indeks K[2] dengan nilai terakhir 3000.000 akan di tambah 3000.000 = 6000.000
Description: C:\Documents and Settings\Personal\Desktop\tumbuhan.jpgDescription: C:\Documents and Settings\Personal\Desktop\pekerjaan.jpgDescription: C:\Documents and Settings\Personal\Desktop\saysa.jpgDescription: C:\Documents and Settings\Personal\Desktop\akir.jpgDescription: C:\Documents and Settings\Personal\Desktop\6.jpgDescription: C:\Documents and Settings\Personal\Desktop\1.jpgDescription: C:\Documents and Settings\Personal\Desktop\manusia.jpg

Senin, 14 Oktober 2013

Pengertian Class, Method, Constructor, Modifier & Object Pada Java

1.    Pengertian Class
Class merupakan suatu blueprint atau cetakan untuk menciptakan suatu instant dari object. Class juga merupakan grup suatu object dengan kemiripan attributes/properties, behaviour dan relasi ke object lain.
Contoh sintaknya:
[modifier1] class NamaKamar [modifier2]{
Class body;
2.    Pengertian Method
       Method merupakan suatu operasi berupa fungsi-fungsi yang dapat dikerjakan oleh suatu object. Method didefinisikan pada class akan tetapi dipanggil melalui object. Metode menentukan perilaku objek, yakni apa yang terjadi ketika objek itu dibuat serta berbagai operasi yang dapat dilakukan objek sepanjang hidupnya. Ada 4 (Empat) bagian dasar yang dimiliki metode antara lain:
1.Nama metode
2.Tipe Objek atau tipe primitive yang dikembalikan metode.
3. Daftar parameter.
4. Badan atau isi metode.

Tiga bagian pertama mengindikasikan informasi penting tentang metode itu sendiri. Dengan kata lain, nama metode tersebut=metode lain dalam program. Dalam java kita dapat memiliki metode-metode berbeda yang memiliki nama sama tetapi berbeda tipe kembalian atau daftar argumennya, sehingga bagian-bagian definisi metode ini menjadi penting. Ini disebut overloading metode(proses yang berlebihan pada suatu metode).
Untuk menjalankan program yang memiliki sifat polymorphism tersebut, diperlukan suatu kemampuan overloading, yaitu suatu kemampuan untuk menentukan fungsi yang mana yang harus digunakan atau dijalankan jika terdapat nama fungsi yang sama. Polimorfisme bisa diartikan seperti kemampuan suatu variable untuk mengubah perangai sesuai dengan objek hasil instansiasi yang digunakan. Polimorfisme membiarkan lebih dari 1 objek dari sub class sub class dan diperlakukan sebagai objek dari super class tunggal.

Contoh:
Mahasiswa cowok = new anakSI();
cowok.methodKU( Bernaz );
Mahasiswa cewek = new anakTI();
cewek.mothodKU( Amelia );

3.    Pengertian Constructor
            Construktor adalah Constructor merupakan suatu method yang akan memberikan nilai awal pada saat suatu objek dibuat. Pada saat program dijalankan, constructor akan bekerja dengan constructor, hal mendasar yang perlu diperhatikan, yaitu :
1.      Nama Constructor sama dengan nama Class.  
2. Tidak ada return type yang diberikan kedalam Constructor Signature.
3.      Tidak ada return stetement, didalam tubuh constructor.

Contoh programnya dengan menghitung volum kotak.
class Kotak {
     double panjang;
     double lebar;
     double tinggi;

     //Mendefenisikan constructor dengan parameter
    kotak(double p, double l, double t) {
       panjang = p;
       lebar = l;
       tinggi = t;
      }
      double hitungVolume() {
        return (panjang * lebar * tinggi)
       }
}
class DemoConstructor2 {
       public static void main(String[] args) {
      
         kotak k1, k2;
         k1 = new kotak(4, 3, 2)
         k2 = new kotak (6, 5, 4)
       
      system.out.println(“volume k1 = “ + k1.hitungVolume() }
      system.out.println(“volume k2 = “ + k2.hitungVolume() }
     }
}   

4.    Pengertian Modifier
    Modifier  adalah kata,phrase , atau clause yang berfungsi sebagai adjective atau adverb yang menerangkan kata atau kelompok kata lain. Sebagai adjective dan adverb ketika  berfungsi  sebagai  adjective  ( dapat berupa simple adjective, adjective phrase, clause participle, infinitive ),  modifier  menerangkan  noun,  sedangkan  ketika  berfungsi   sebagai adverb  (  dapat  berupa  simple  adverb , adverb phrase, clause, preposition phrase,infinitive), kata ini menerangkan verb, adjective atau adverb lain.
Contoh Program Modifier
Public class bank balance
{
public String owner
public int balance

public bank_balance(String name, int dollars )
{
owner = name;

if(dollars > = 0)
balance = dollars;
else
dollars =0;
}
}

5.    Pengertian Object
       Object adalah  instance dari class. Jika class secara umum merepresentasikan (template) sebuah object, sebuah instance adalah representasi nyata dari class itu sendiri.
Contoh : Dari class Fruit kita dapat membuat object Mangga, Pisang, Apel dan lainlain.
       Untuk membuat object, kita menggunakan perintah new dengan sebuah nama class
yang akan dibuat sebagai instance dari class tersebut.
String str = new String();
Random r = new Random();
Pegawai p2 = new PEgawai();
Date hari = new Date();

hari adalah object reference dari class Date yang akan digunakan untuk mengakses class Date. Sedangkan operator new adalah operator yang akan menghasilkan hari sebagai reference ke instance dari class Date().