Pages

Silvia Takarina. Diberdayakan oleh Blogger.

Minggu, 22 April 2012

PEMOGRAMAN BERBASIS OBJEK Macam-macam Method dan Fungsi


PEMOGRAMAN BERBASIS OBJEK
Macam-macam Method dan Fungsi


SILVIA TAKARINA
MI 2B
1001091009






POLITEKNIK NEGERI PADANG

1.    INHERITENS (PEWARISAN)
Pewarisan adalah hubungan antara class dimana dalam satu class ada superclass atau class induk dari class yang lain. Pewarisan menunjuk pada properti dan behaviour yang diterima dari nenek moyang dari class Ini dikenal juga sebagai hubungan “is-a”. Perhatikan pada hirarki berikut

 













TI adalah superclass dari class Manajemen Informatika dan Teknik Komputer. CatatanTBahwa Manajemen Informatika “is-a” TI. Sebagaimana juga TEKNIK KOMPUTER  “is-a” TI

Untuk membuat class anak atau subclass berdasarkan class yang telah ada, kita gunakan kata kunci extend dalam mendeklarasikan class. Sebuah class hanya dapat meng-extend satu class induk. Sebagai contoh, class TI  adalah superclass dari class Manajemen Informatika.
Contoh

package Pewarisan;
public class TeknologiInformasi {
  String namaKajur ="ERWADI BAKAR";
  String namaSekjur="RONAL HADI";
  String KaprodiMI="YULHENIWATI";
  String warnalogo="orange";
 
  public String getNAMAKAJUR(){
      return namaKajur;
  }
  public String getNAMASEKJUR(){
      return namaSekjur;
  }
  public String getKAPRODIMI(){
      return KaprodiMI;
  }
  public String getWARNALOGO(){
      return warnalogo ;
     
  }
  public static void main(String[]args){
       TeknologiInformasi TI =new TeknologiInformasi ();
       System.out.println("\n NAMA KAJUR" + TI.getNAMAKAJUR()
               +"\n warna logo" +TI.getWARNALOGO());
  }                                          
}


package Pewarisan;
public class ManajemenInformatika extends TeknologiInformasi{
    String prodi="manajemen Informatika";
    int tingkat=3;
   
    public String getPRODI(){
        return prodi;
       
    }
    public int getTingkat(){
        return tingkat;
    }
   
     public static void main(String[]args){
           ManajemenInformatika MI=new ManajemenInformatika();
         
           System.out.println("\n PRODI" + MI.getPRODI()
                +”\n Nama Kajur” +MI.getNAMAKAJUR()
           +"\n warna logo" +MI.getWARNALOGO()
                +"\n Kode pos" + MI.getKodePos()
                 +"\n tingkat" + MI.getTingkat());
       }
}


2.    POLIMORFISME/POLIMORPHISM
Polimorfisme adalah kemampuan dari sebuah object untuk membolehkan mengambil beberapa bentuk yang berbeda. Secara harfiah, “poli” berarti banyak sementara “morph” berarti bentuk. Menunjuk pada contoh sebelumnya pada pewarisan, kita lihat bahwa object TI dapat juga menjadi object Manajemen Informatika  atau object Teknik Komputer


Contoh 1.

package projeeek5;
class Geometris {
    public void Geometris(){
        System.out.println("macam Rumus Luas dan sisi bangun Geometris");
    }
}
 class BujurSangkar extends Geometris{
    public void Geometris(){
        System.out.println("Luas Bujur Sangkar Adalah =P* L \n dan Sisinya=S*S");
    }
}
class Lingkaran extends Geometris {
    public void Geometris(){
        System.out.println("Luas lingkaran Adalah =phi*r *r \n dan Sisinya=a*phi*diameter");
    }
}

class Persegi extends Geometris {
    public void Geometris(){
        System.out.println("Luas Persegi adalah =p*L \n dan sisnya =S*S");  
    }
}
    public class Projeeek5{
    public static void main(String[] args){
    Geometris g=new Geometris();
    BujurSangkar bj=new BujurSangkar();
    Persegi p=new Persegi();
    Lingkaran l=new Lingkaran();
   
    g.Geometris();
    g=bj;
    g.Geometris();
    g=l;
    g.Geometris();
    g=p;
    g.Geometris();
    }
   
}

Contoh 2

Class Bunga{
Public void warnaBunga(){
System.out,println(“ macam2 warna bunga”);
}
}

Class mawar extends Bunga(){
Public void warnaBunga(){
System.out. println(“Merah”);
}
}

Class melati extends Bunga(){
Public void warnaBunga(){
System.out. println(“putih”);
}
}

Class Kertas extends Bunga(){
Public void warnaBunga(){
System.out. println(“Ungu”);
}
}
public class Projeeek5{
    public static void main(String[] args){
    Bunga b=new Bunga();
    Mawwar  mw=new Mawar();
    Melati ml=new Melati ();
    Kertas k=new Kertas();
   
    b.Bunga();
    b=mw;
    b.Bunga();
    b=ml;
    b.Bunga();
    b=k;
    g.Geometris();
   b.Bunga();

    }
   
}

1.    Method Overloading
Overloading  adalah mendefinisikan dua atau lebih method di dalam kelas yang sama, dengan nama yang sama, namun dengan deklarasi parameter yang berbeda.
Java interpreter mampu membedakan method mana yang dieksekusi dengan mengenali tipe parameter yang dilewatkan ke method, serta mengenali return valuenya.
Tugas dari method-method yang dioverloading tersebut berbeda.

public class Perkalian {
private double pangkat(int a, int b) {
double hasil = 1.0;
//kode program
return hasil;
}

public static void main(String[] args) {
Perkalian kali = new Perkalian();
System.out.println(kali.pangkat(10,308));
}
}
2.      Method Construktor
Konstruktor adalah Metode yang dapat digunakan untuk memberikan nilai awal saat objek di ciptakan. Metode ini di panggil secara otomatis oleh java ketika new dipakai untuk menciptakan instan kelas.
Telah tersirat pada pembahasan sebelumnya, Constructor sangatlah penting pada pembentukan sebuah object. Constructor adalah method dimana seluruh inisialisasi object ditempatkan.
Berikut ini adalah property dari Constructor :
·   Constructor memiliki nama yang sama dengan class
·   Sebuah Constructor mirip dengan method pada umumnya, namun hanya informasi – informasi berikut yang dapat ditempatkan pada header sebuah constructor, scope atau identifikasi pengaksesan (misal: public), nama dari konstuktor dan parameter.
·   Constructor tidak memiliki return value
·   Constructor tidak dapat dipanggil secara langsung, namun harus dipanggil dengan menggunakan operator new pada pembentukan sebuah class.

contoh konstruktor:
public class Construktor{
double gaji;
String idkaryawan,nama,bagian,jabatan,alamat;
int umur;

public Construktor(String idkaryawan,String nama,double gaji){
  this.idkaryawan=idkaryawan;
  this.nama=nama;
  this.gaji=gaji;
}

public Construktor(String idkaryawan,String nama,String bagian,String jabatan){
  this.idkaryawan=idkaryawan;
  this.nama=nama;
  this.bagian=bagian;
  this.jabatan=jabatan;
}

public Construktor(String idkaryawan,String nama,String bagian,String jabatan,String alamat,int umur){
  this.idkaryawan=idkaryawan;
  this.nama=nama;
  this.bagian=bagian;
  this.jabatan=jabatan;
  this.alamat=alamat;
  this.umur=umur;
}

public static void main(String[]args){
Construktor A=new Construktor("ID1234","SILVIA TAKARINA",2000000);
System.out.println("ID ANDA ADALAH="+A.idkaryawan +
"\n NAMA ANDA ADALAH=\n" +A.nama +
"\n DAN GAJI ANDA ADALAH=" +A.gaji);

Construktor B=new Construktor("ID1234","SILVIA TAKARINA","ADMINISTRATOR","KEPALA BIDANG");
System.out.println("ID ANDA ADALAH="+B.idkaryawan +
"\n NAMA ANDA ADALAH=" +B.nama +
"\n BAGIAN ANDA=" +B.bagian +
"\n JABATAN="+ B.jabatan );


Construktor C=new Construktor("ID1234","SILVIA TAKARINA","ADMINISTRATOR","KEPALA BIDANG","PADANG",20);
System.out.println("ID ANDA ADALAH="+C.idkaryawan +"\n NAMA ANDA ADALAH=" +C.nama +"\n BAGIAN ANDA=" +C.bagian +
"\n JABATAN="+ C.jabatan +"\n ALAMAT=" +C.alamat +"\n UMUR=" +C.umur);
}
}.

3.    Assesor dan Mutator
Untuk mengimplementasikan enkapsulasi, kita tidak menginginkan sembarang object dapat mengakses data kapan saja. Untuk itu, kita deklarasikan atribut dari class sebagai private. Namun, ada kalanya dimana kita menginginkan object lain untuk dapat mengakses data private. Dalam hal ini kita gunakan accessor methods. Accessor Methods digunakan untuk membaca nilai variabel pada class, baik berupa instance maupun static. Sebuah accessor method umumnya dimulai dengan penulisan get<namaInstanceVariable>. Method ini juga mempunyai sebuah return value.

Bagaimana jika kita menghendaki object lain untuk mengubah data? Yang dapat kita
lakukan adalah membuat method yang dapat memberi atau mengubah nilai variable dalam
class, baik itu berupa instance maupun static. Method semacam ini disebut dengan mutator
methods. Sebuah mutator method umumnya tertulis set<namaInstanceVariabel>.
Contoh 1.



Contoh 2:
4.      Construktor Overloading
Keyword yang digunakan pada method ini adalah this. Kata kunci this mengacu ke variabel instant dari kelas tersebut. Berguna untuk mengakses variabel instan yang didefinisikan di parameter. Biasanya digunakan dalam konstruktor atau method. Digunakan dalam untuk menyatakan objek yang sekarang.
Contoh:

public class Consoverload{
    String judulBuku,pengarang,Penerbit,thnTerbit,idBuku;
    int jumlah;
    double harga;
 public ConsOverload(String idBuku,String judulBuku,String pengarang,String penerbit){
 this.idBuku=idBuku;
 this.judulBuku=judulBuku;
 this.pengarang=pengarang;
 this.Penerbit=penerbit;
 }

public ConsOverload(String idBuku,String judulBuku,String pengarang,String penerbit,String thnTerbit){
 this.idBuku=idBuku;
 this.judulBuku=judulBuku;
 this.pengarang=pengarang;
 this.Penerbit=penerbit;
 this.thnTerbit=thnTerbit;
}

public ConsOverload(String idBuku,int jumlah,double harga){
this.idBuku=idBuku;
this.jumlah=jumlah;
this.harga=harga;
}

public static void main(String[]args){
  ConsOverload A=new ConsOverload("1234","Laskar Pelangi","A.FUADI","GRAMEDIA UTAMA");
    System.out.println("ID ANDA" + A.idBuku + "nama buku" +A.judulBuku +" pengarang" +A.pengarang +"Penerbit" +A.Penerbit);
  ConsOverload B=new ConsOverload("1234","Laskar Pelangi","A.FUADI","2002",50000);
    System.out.println("ID ANDA" + B.idBuku + "nama buku" +B.judulBuku +" pengarang" +B.pengarang +"tahun terbit" +B.thnTerbit+"harga="+B.harga);
  ConsOverload C=new ConsOverload("1234","3",50000);
    System.out.println("ID ANDA" + C.idBuku + "jumlah" +C.jumlah +" pengarang" +"harga="+B.harga);
}
}
5.      Method Overriding
Method subclass override terhadap method superclass ketika subclass mendeklarasikan method yang signaturenya serupa ke method dalam superclass. Signature dari method hanyalah informasi yang ditemukan dalam definisi method bagian atas. Signature mengikutkan tipe return, nama dan daftar parameter method tetapi itu tidak termasuk acces modifier dan tipe yang lain dari kata kunci seperti final dan static. Inilah perbedaan dari method overloading. Method overloading secara singkat didiskusikan dalam sub bagian pada kata kunci this.
class Superclass {
void display(int n) {
System.out.println("super: " + n);
}
}
class Subclass extends Superclass {
void display(int k) { //method overriding
System.out.println("sub: " + k);
}
}
class OverrideDemo {
public static void main(String args[]) {
Subclass SubObj = new Subclass();
Superclass SuperObj = SubObj;
SubObj.display(3);
((Superclass)SubObj).display(4);
}
}
6.      Method Biasa (Tanpa Parameter)
Contoh
public class ImplementasiMethodNonVoid {
public static void main(String[] args) {
//instantiasi objek KaryawanKaryawan
karyawan001 = new Karyawan();
//mengisi data pada objek Karyawan
karyawan001.ID = "K001";
karyawan001.nama = "Agus Ramadhan";
karyawan001.divisi = "Keuangan";
karyawan001.gaji = 1850000;/
/memanggil method
cetakDAta()karyawan001.cetakData();/
/memanggil method
hiungSumbanganZakat()
System.out.println("Sumbangan Zakat : " +karyawan001.hitungSumbanganZakat());
}}

7.      Method Berparameter
Dengan adanya parameter, sebuahmethod dapat bersifat dinamis dan general.Artinya, method  tersebut dapat mengembalikan nilai yang beragam sesuai dengan nilai parameter yang dilewatkannya.

   















3 komentar: