Selasa, 08 November 2011

Overriding, Overloading dan Exception (Pertyemuan 6)


 Pertemuan 6



Overriding, Overloading dan Exception
Syarat Overloading :
1.Nama method harus sama
2. Terjadi dalam sebuah kelas
3. Harus ada perbedaan parameter dari segi tipe data

Beda Overloading & Overriding
Overloading
Overriding
Method terjadi dalam satu kelas
Method terjadi dari dua kelas
Parameter berbeda
Parameter sama
Merubah Horizontal
Merubah Vertikal

Overloading constructor adalah Overloading yang berulang/ atau constructor yang lebih dari satu



Program SegiTiga.java

Ini bukan kelas utama
class SegiTiga {
//Nama kelas yaitu kelas Segitiga
     public SegiTiga(double panjang) {
// method overloading
     //konstruktor Segitiga dengan tipe data double dan parameter panjang
            // method Segitiga dengan tipe data double dan parameter panjang
           System.out.println ("\nVariabel= segitiganya sama sisi")
           System.out.println("Panjang= " +panjang);
           keliling(panjang);
           //memanggil method keliling & mengirimkan nilai panjang
     }
     public SegiTiga(double panjang,double sisiMiring) {
     //konsturktor Segitiga
//method Segitiga tipe data double parameter panjang,tipe data double parameter sisiMiring
           System.out.println ("\nVariabel= segitiganya sama kaki");
           System.out.println("Panjang=" +panjang+ "  sisi miring= " +sisiMiring);
           keliling(panjang, sisiMiring);
           //memanggil method keliling &mengirimkan nilai panjang dan sisiMiring
     }
     public void keliling(double panjang) {
            //method keliling dengan tipe data double parameter panjang
           tampilkanHasil(panjang*3);
           //memanggil method tampilkanHasil & mengirimkan nilai panjang *3
     }
     public void keliling(double p,double sM) {
//memanggil method keliling tipe data double parameter p, tipe data double parameter sM
           tampilkanHasil(2*sM+p);
           //memanggil method tampilkanHasil & mengirimkan nilai 2*sM+p
     }
     protected void tampilkanHasil(double h) {
     //memanggil method tampilkanHasil tipe data double parameter h
           System.out.println("Hasil=" +h);
     }
}


Program MainSegiTiga.java
class MainSegiTiga {
//kelas MainSegiTiga
     public static void main (String [] args) {
     //fungsi utama
           new SegiTiga(7);
          //memanggil konstruktor SegiTiga yang parameter 1yaitu panjang &mengirimkan nilai 7
           new SegiTiga(4,7);
//memanggil konstruktor SegiTiga yang parameter 2 yaitu panjang  & sisiMiring &mengirimkan nilai 4,7

     }
}

 


Program OverRiding.java
class OverRiding {
//Kelas OverRiding
     public void MethodAsli () {
     //Method MethodAsli
           System.out.println("Method milik  class OverRiding dijalankan");
           }
     public static void main (String [] args) {
     //fungsi utama
           OverRiding O =new OverRiding();
          //membuat objek baru dari kelas OverRiding yaitu o
           O.MethodAsli();
           //memanggil method objek o dan MethodAsli
     }
}

Program SubOverRiding
class SubOverRiding extends OverRiding {
//kelas SubOverRiding turunan dari kelas OverRiding
public void MethodAsli () {
//memanggil method MethodAsli
     System.out.println("Method yang sudah OverRiding dijalankan");
     }
     public void MethodAsliSuper() {
     //memanggil method kelas induk
     System.out.println("Method pemanggil MethodAsli dijalankan");
     super.MethodAsli();
     //memanggil method kelas induk
}
public static void main (String [] args) {
//fungsi utama
     SubOverRiding SO = new SubOverRiding();
     //membuat objek baru dari kelas SubOverRiding yaitu SO
     SO.MethodAsli();
     //memanggil objek SO & method MethodAsli
     SO.MethodAsliSuper();
     //memanggil objek SO & method MethodAsli dari kelas induk
     }
}
Program TanpaException.java
class TanpaException {
//kelas TanpaException
     public static void main (String [] args) {
//fungsi utama
           int Nilai = Integer.parseInt (args[0]);
           System.out.println("Nilai yang dimasukkan : " +Nilai);
     }
}
Program CobaException.java
class CobaException {
//kelas CobaException
     public static void main (String [] args) {
     //fungsi utama
     int nilai = 0;
     //tipe data integer atribut nilai dengan nilai =0
     try {
           int Nilai =Integer.parseInt (args[0]);
           System.out.println("Nilai yang dimasukkan: "+Nilai);
     }
     catch (Exception e) {
           System.out.println("Pasti yang diinput    bukan Integer");
         }
     finally {
           System .out.println("Blok finally tetap dilakuka");
           }
     }
}
Program PembagianNol.java
class PembagianNol {
//kelas PembagianNol
     public static void main(String [] args) {
     //fungsi utama
           System.out.println("Sebelum pembagian");
           try {
                System.out.println(5/0);
           }
           catch(Throwable T) {
                System.out.println("Terjadi pembagian nol");
           }
           System.out.println("Sesudah pembagian");
     }
}
Program TesInputData.java
import java.io.*;
class TesInputData {
//kelas TesInputData
     public static void main (String[] args) {
     //fungsi utama
           BufferedReader  BR   =    new BufferedReader(new
InputStreamReader(System.in));
     String Input =" ";
     //tipe data String atribut Input dengan nlai spasi
     try {
           System.out.println("Masukkan data: ");
           Input ="Salah";
           }
           finally {
           System.out.println("Data yang anda masukkan adalah "+Input);
           }
     }
}


Tidak ada komentar:

Posting Komentar