Senin, 15 Oktober 2012

Program menghitung Luas PersegiPanjang (Overloading)


Program menghitung Luas PersegiPanjang (Overloading)
1.  Class Pertama
public class PersegiPanjangOverloading  //mendeklarasikan kelas dengan nama PersegiPanjangOverloading
{ //Awal dari sebuah class
    private double panjang ; //menginisialisasi nilai panjang dengan tipe double yang hanya bisa diakses oleh panjang dan turunannya
    private double lebar ; //menginisialisasi nilai lebar dengan tipe double yang hanya bisa diakses oleh lebar dan turunannya
   
    PersegiPanjangOverloading(){ //memanggil nama kelas PersegiPanjangOverloading dengan fungsi Overloading (satu nama memiliki akses yang berbeda)
        panjang = 10; //menginisialisai nilai panjang yaitu 10
        lebar = 2; //menginisialisasi nilai lebar yaitu 2
    }
   
    PersegiPanjangOverloading (double panjang, double lebar){ //kelas yg didalamnya mendklarasikan panjang dan lebar dengan tipe data double
        this.panjang = panjang ; //memanggil variabel panjang
        this.lebar = lebar; //memanggil variabel lebar
    }
   
    public void setpanjang (double panjang){
        this.panjang = panjang ;
    }
   
    public void setlebar (double lebar) {
        this.lebar = lebar ;
    }
   
    public double getpanjang (){ //memanggil nilai panjang dengan tipe data double
        return panjang ; //kembali ke nilai panjang
    }  
    public double getlebar (){ //memanggil nilai lebar dengan tipe data double
        return lebar ; //kembali ke nilai lebar
    }
   
   
    public void hitungluas (){ //perintah untuk menghitung luas
    System.out.println (panjang*lebar); //mencetak hasil menghitung luas yaitu dengan rumus panjang kali lebar
    }
   
    public void hitungluas (double panjang, double lebar) //perintah menghitung luas dengan nilai panjang dan lebar bertipe double
{//Awal dari sebuah method
        setpanjang (panjang); //menginputkan panjang dengan nilai panjang
        setlebar (lebar); //menginputkan lebar dengan nilai lebar
        hitungluas (); //menghitung luas
    }
}
2.  Class Kedua
public class methodPPOverloading //mendeklarasikan kelas, dengan nama methodPPOverloading
{
    public static void main (String []args)  //method utama untuk mengeksekusi program dibawahnya
    {
        PersegiPanjangOverloading A = new PersegiPanjangOverloading(); //merupakan objek baru A dari kelas PersepiPanjangOverloading
        A.hitungluas (); //perintah untuk menghitung luas pada objek A dengan nilai yg sudah ditentukan dari kelas PersepiPanjangOverloading
        A.hitungluas (5,3); //menghitung luas dengan panjang dan lebar yang sudah ditentukan program pada objek A
    PersegiPanjangOverloading B = new PersegiPanjangOverloading(); //merupakan objek baru B dari kelas PersepiPanjangOverloading
        B.hitungluas(); //perintah untuk menghitung luas pada objek B dengan nilai yg sudah ditentukan dari kelas PersepiPanjangOverloading
    PersegiPanjangOverloading C = new PersegiPanjangOverloading (); //merupakan objek baru C dari kelas PersepiPanjangOverloading
        C.setpanjang(8); //menginputkan panjang dengan nilai 8
        C.setlebar (4); //menginputkan lebar dengan nilai 4
        C.hitungluas (); //perintah menghitung luas pada objek c dengan memanggil nilai yg ada pada objek C yaitu 8 dan 4
        C.hitungluas(A.getpanjang(), B.getlebar()); //menghitung luas dari objek C dengan memanggil panjang dari objek A dan lebar dari objek B
    }
}
3.  Penjelasan Program
Program tersebut mempunyai class yang bernama PersegiPanjangOverloading dan memiliki method yaitu pada class MethodPPOverloading. Yang berisi beberapa fungsi yaitu sebagai berikut :
PersegiPanjangOverloading (double panjang, double lebar){ //kelas yg didalamnya mendklarasikan panjang dan lebar dengan tipe data double public void setpanjang (double panjang) digunakan untuk mengisi variable panjang dengan tipe data double.
public void setlebar (double lebar)untuk mengisi variable lebar dengan tipe data double.
public double getpanjang ()untuk mengambil data dari variable panjang dengan tipe data double
public double getlebar ()untuk mengambil data dari variable lebar  dengan tipe data double.
public void hitungluas (double panjang, double lebar)untuk menghitung variable luas.

public static void main (String []args)  //method utama untuk mengeksekusi program dibawahnya (class main pada MethodPPOverloading
PersegiPanjangOverloading A = new PersegiPanjangOverloading //merupakan objek baru A dari kelas PersepiPanjangOverloading
Dalam program tersebut ada 3 kali perintah tersebut, namaun objek baru pada setiap perintah yang dipanggil berbeda-beda. Yaitu menggunakan objek A, B dan C. nama objek tersebut bersifat bebas tetapi harus mempunyai implementasi dari overloading (new overloading).
Program tersebut menggunakan perintah overloading yaitu satu nama yang sama tapi menghasilkan suatu aksi yang berbeda.
Perintahnya sebagai berikut :
PersegiPanjangOverloading()
Penggunaannya hampir sama dengan constrktor, yaitu menggunakan perintah dengan nama sesuai dengan nama classnya yaitu PersegiPanjangOverloading. Overloading method dapat digunakan ketika kita mempunyai operasi yang sama namun berbeda implementasinya.
Dan saat kita menggunakan Overloading, hal yang harus diiperhatikan yaitu :
a.    Nama method sama
b.    Parameter berbeda (baik tipe maupun jumlahnya)
c.    Tipe data nilai kembalian dapat berbeda atau sama
Output Program

Program Menghitung Luas Bujur Sangkar


Program menghitung Luas BujurSangkar (Construktor)
1.  Class Pertama
public class cobaBujurSangkar //mendeklarasikan kelas dengan nama cobaBujurSangkar
{ //awal dari sebuah class
    private double sisi ;//menginisialisasi nilai sisi dengan tipe double yang hanya bisa diakses oleh sisi dan turunannya
    cobaBujurSangkar(){ //perintah construktur
        System.out.println("Construktor dijalankan");//mencetak hasil yaitu Construktor dijalankan
        sisi = 1;//agar jika user tidak menginputkan nilai, maka program akan mengeluarkan hasil 1
    }
    public void setsisi (double sisi){
        if (sisi>0){ //perintah agar sisi harus bernilai lebih dari 0
            this.sisi = sisi ;//untuk memanggil variabel sisi
        }
    }
    public void hitungluas() { //Perintah menghitung luas
         System.out.println (sisi*sisi); //mencetak hasil yaitu dengan sisi kali sisi
    }

    void hitunghasil() {
    }
} //akhir dari sebuah class
2.  Class Kedua

public class methodcobabujursangkar //mendeklarasikan kelas, dengan nama methodcobabujursangkar
{ //awal dari sebuah blok baru
    public static void main (String []args) { //method utama untuk mengeksekusi program dibawahnya
    cobaBujurSangkar jklm = new cobaBujurSangkar(); //merupakan objek baru jklm dari kelas cobaBujurSangkar
    jklm.setsisi(4); //menginputkan sisi dengan nilai 4
    jklm.hitunghasil();//perintah untuk menghitung luas pada objek jklm
    }
}//akhir dari sebuah class

3.  Penjelasan Program
Program tersebut mempunyai class yang bernama cobaBujurSangkar dan memiliki method yaitu pada class methodcobabujursangkar. Yang berisi beberapa fungsi yaitu sebagai berikut :
  
   public void setsisi (double sisi) //untuk mengisi variable sisi dengan tipe data double
   public void hitungluas() //untuk menghitung variable luas
   public static void main (String []args) //class main pada methodcobabujursangkar
jklm.setsisi(4); //memanggil class cobabujursangkar dengan nama bujursangkar jklm  dengan menjalankan method setsisi(4), yang berisi nilai 4 yg bertipe data integer

jklm adalah sebuah nama bujur sangkar yang bersifat bebas (jadi dapat digantikan dengan nama lain). Tapu harus mempunyai pernyataan bahwa jklm adalah sebuah implementasi dari cobabujursangkar (new cobapersegipanjang).
Dalam program ini menggunakan perintah Construktor yaitu perintahnya sebagai berikut :
cobaBujurSangkar(){ //perintah construktur
System.out.println("Construktor dijalankan");//mencetak hasil yaitu Construktor dijalankan

Pada perintah constructor tersebut harus menggunakan nama sesuai dengan nama class yang telah dibuat. Dalam program ini yaitu cobaBujurSangkar. Lalu diikuti dengan perintah mencetak hasil yaitu “Construktor dijalankan”

Output Program