Selasa, 19 Maret 2019

OVERLOADING , OVERRIDING DAN EXCEPTION

Pertemuan 6 :

A. OVERLOADING
     Overloading adalah suatu kemampuan dalam bahasa berorientasi objek untuk menggunakan satu nama method untuk beberapa method yang memiliki parameter secara horizontal method maupun konstruktor milik kelas super, maupun kelas yang sama.

B.OVERRIDING
    Overriding adalah suatu kemampuan dalam bahasa berorientasi objek untuk kelas super tersebut. Overriding memodifikasi secara vertikal method milik kelas super. Ada 2 alasan mengapa melakukan overriding :
1. Mendefenisikan kembali method kelas induk secara total.
2. Menambahkan behavior tertentu pada method kelas induk.

(Nb : Terjadi dalam kelas induk & kelas anak dan tidak boleh ada perbedaan parameter) 

C. EXCEPTION
     Exception merupakan suatu objek error khusus yang dibuat ketika terjadi kesalahan pada suatu program. Setelah suatu objek exception dibuat oleh Java,objek tersebut dikirimkan ke program, proses ini disebut throwing an exception. Objek exception tersebut kemudian diterima oleh program,  dan penanganan exception selanjutnya terserah pada program.
    Penanganan exception dalam Java dibuat dengan menuliskan kode program exception handling pada source code. Exception handling berguna untuk mencegah program menjadi “hang”. Kode  program exception handling secara umum  terdiri 3 bagian yaitu try,  catch dan finally. 
Kategori error dalam program :
 1. Syntax error 
      Error yang terjadi apabila java compiler menemukan kesalahan pada syntax atau aturan-aturan lainnya pada program.
2.Runtime error
    Error yang terjadi karena faktor eksternal, seperti adanya pembagian dengan nol, input yang tidak sesuai dengan tipe yang diminta dan sebagainya. Kondisi ini dikenal sebagai exception.
3.Logic error
   Error yang terjadi karena kesalahan logika pemrograman. Misalnya hasil pembagian dua buah bilangan diberi tipe data int. Hal ini menyebabkan hasil tidak valid karena ada bagian koma desimal yang akan hilang.

Blok suatu exception :

try {
       //kode-kode program yang mungkin dapat menimbulkan exception
}
catch (JenisException1 e) {
          /*kode-kode program yang harus dilakukan apabila terjadi exception
            JenisException1*/
}
catch (JenisException2 e) {
           /*boleh terdapat lebih dari satu blok catch untuk menangani exception yang berada*/
           /*kode-kode program yang harus dilakukan apabila terjadi exception
           JenisException1*/
}
finally {
          //finally bersifat opsional (boleh tidak menggunakan blok finally)
         /*kode-kode yang tetap dilakukan baik terjadi exception maupun tidak terjadi exception*/
}

LANGKAH - LANGKAH PRAKTIKUM           

A.  MEMBUAT PROGRAM SegiTiga.java

class SegiTiga {
      public SegiTiga (double panjang)  {
                System.out.println("\nVariabel1 = segitiganya sama sisi");
               System.out.println("Panjang = "  +panjang); 
               keliling(panjang);
}

public SegiTiga(double panjang,  double sisiMiring)  {
             System.out.println("Panjang = "   +panjang+  "  sisi miring =  "   +sisiMiring);
             keliling(panjang, sisiMiring); 
}

public void keliling(double panjang)  {
         tampilkanHasil(panjang*3);
}

public void keliling(double p,  double sM) {
    tampilkanHasil(2*sM+p);
}

protected void tampilkanHasil(double h)  {
           System.out.println("Hasil = " +h); 

Nb : Tidak memiliki output, karena tidak memiliki  fungsi utama,  yaitu :
public static void main(String [] args) {

B. MEMBUAT PROGRAM MainSegiTiga. java

class MainSegiTiga {
      public static void main(String [] args) {
               new SegiTiga(7);
               new SegiTiga(4,7);
     }
}

Output:
Variabel = segitiga sama sisi
Panjang = 7.0
Hasil = 21.01
2 variabel = segitiga sama kaki
Panjang = 4.0
Sisi miring = 7.0
Hasil = 18.0

C. MEMBUAT PROGRAM Overriding.java

class SubOverRiding extends {
      public void MethodAsli() {
               System.out.println("Method milik class OverRiding dijalankan");
      }

      public static void main(String [] args) {
                OverRiding O = new OverRiding();
                O. MethodAsli();
     }
}


Output:
Method ini class Overriding dijalankan
D. MEMBUAT PROGRAM SubOverriding. java

class SubOverRiding extends OverRiding {
     public void MethodAsli() {
               System.out.println("Method yang sudah OverRiding dijalankan");
    }

    public void MethodAsliSuper() {
              System.out.println("Method  pemanggil MethodAsli dijalankan");
                    super.MethodAsli();
   }
   public static void main(String [] args)  {
             SubOverRiding SO = new SubOverRiding();
             SO.MethodAsli();
             SO.MethodAsliSuper();
   }

}

Output:
Method yang sudah Overriding dijalankan
Method memanggil Method Asli dijalankan
Method milik class Overriding dijalankan

E.  MEMBUAT PROGRAM CobaException.java

class CobaException {
     public static void main (String [] args) {
               int Nilai = Integer.parseInt (args[0]);
                System.out.println("Nilai yang dimasukkan : " +Nilai); 
    }
}



  1. Klik star ➡ run lalu ketik cmd untuk membuka command prompt
  2. Ketik perintah cd (change directory) untuk menuju direktori untuk menuju direktori tempat TanpaException. class berada
  3. Ketik java TanpaException 50 untuk menjalankan program. 

Output:

Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 0
At TanpaException.main<TanpaException.java:3>


F.  MEMBUAT PROGRAM CobaException.java

class CobaException {
      public static void main (String [] args)  {
                int 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 dilakukan");
                }
    }
}
             
Output :

Pasti diinput bukan integer
Blok finally dilakukan


G. MEMBUAT PROGRAM PembagianNol.java

class PembagianNol {
      public static void main (String [] args)  {
                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");
     }
}

Output:

Sebelum pembagian
terjadi pembagian nol
sesudah pembagian


H.  MEMBUAT PROGRAM TesInputData.java

impor java.io.*;
class TesInputData {
      public static void main (String[] args)  {
                BufferedReader   BR    =     new       BufferedReader(new InputStreamReader(System.in));
                String Input = "  ";
                 try {
                          System.out.println("Masukkan data :  ");
                           Input = "Salah";
                 }
                 finally {
                            System.out.println("Data yang anda masukkan adalah  "+Input);   
                }
        }
}


Output:

Data yang anda masukkan adalah salah
            








Tidak ada komentar:

Posting Komentar

KOMPONEN - KOMPONEN SWING LANJUTAN

Pertemuan 11 : Dasar Teori  Swing  merupakan alternatif lain untuk mengimplementasikan pemograman Wndows. Walaupun diimplementasikan ber...