Laporan Praktikum 6 OVERLOADING,OVERRIDING,DAN EXCEPTION.

 OVERLOADING,OVERRIDING,

         DAN EXCEPTION 





DASAR TEORI


A. OVERLOADING
      
      Overloading adalah suatu program yang dimana terdapat beberapa metode yang sama namun parameternya yang berbeda. Overloading memodifikasi secara horizontal method maupun konstruktor milik kelas super,maupun kelas yang sama.

B. OVERRIDING
    
       Overriding adalah suatu kemampuan dalam bahasa berorientasi object untuk mengubah implementasi (menimpa) suatu method yang dimiliki oleh kelas super ketika kelas super tersebut diturunkan. Overriding memodifikasi secara vertikal method milik kelas super. Ada dua alasan mengapa melakukan overriding :



  1. Mendefenisikan kembali method kelas induk secara total
  2. Menambahkan behaviour tertentu pada method kelas induk.

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 eception. Objek exception tersebut kemudian diterima oleh program,dan penanganan exception selanjutnya terserah pada program.

Kode program exception handling secara umum terdiri dari 3 bagian yaitu try,catch,dan finally.
   
   Kategori :



  • Syntax error

          Error terjadi apabila java compiler menemukan kesalahan pada syntax atau aturan-aturan lainnya pada program




  • 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.




  • 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 berbeda*/
      /*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("nVariabel = segitiganya sama sisi");
         System.out.println("Panjang = " +panjang);
         keliling(panjang);
   }

   public SegiTiga(double panjang,double sisiMiring) {
         System.out.println("n2Variabel = segitiganya sama kaki");
         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);
   }

}


Penjelasannya sebagai berikut :


  • Program diatas tidak dapat di-Run kan melainkan hanya bisa di compile karena program diatas tidak memiliki kelas utama yaitu public static void main (String []  args). Program yang bisa dijalankan itu hanya yang ada kelas utamanya.
  • Memiliki 5 Method : yakni 2 Method dengan nama Segitiga,tetapi jumlah parameternya yang berbeda, 2 Method dengan nama Keliling,tetapi dengan jumlah parameter yang berbeda juga,lalu 1 Method lagi yaitu TampilkanHasil.
  • Kode Program diatas menunjukkan adanya beberapa Method yang namanya sama dalam sebuah kelas,seperti nama Method Segitiga dan juga Keliling yang mana sama-sama meliki Parameter yang berbeda,yang berarti adanya Overloading.

B. Membuat Program MainSegiTiga.java

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


Penjelasannya sebagai berikut :



  • MainSegiTiga  merupakan kelas utama yang menjalankan Method yang terdapat di Class segitiga yang ditandai dengan adanya public static void main(String [] args).
  • new SegiTiga (7) = memanggil constructor SegiTiga di class SegiTiga yaitu : public SegiTiga (double panjang) yang memiliki 1 parameternya "Panjang".
  • Method dengan nama SegiTiga yang mempunyai parameter 1 (double panjang) dengan nilai yang diberikan =7. Ketika dieksekusi maka perintah yang dijalankan adalah seabgai berikut :
  • System.out,println ("n\Variabel = segitiganya sama sisi");//untuk mencetak Variabel = segitiganya sama sisi.
  • System.out.println ("Panjang =  +panjang);//untuk mencetak Panjang =7.0
  • Keliling (panjang);//memanggil method keliling dan menjalankannya
  • public void keliling (double panjang) {
  • tampilkanHasil (Panjang*3)=> itu memanggil method tampilkanHasil dengan mengirimkan perintah (Panjang*3)pada parameter H dimana panjang akan menampung nilai 7 (7*3) = 21,selanjutnya : System.out.println ("Hasil=" +h); => mencetak hasil 21
  • new SegiTiga (4,7) memanggil contructor segitiga di Class segitiga yaitu : public SegiTiga (double panjang,double sisi miring)// yang memiliki 2 Parameter
  • Method dengan nama SegiTiga mempunyai parameter 2  (double panjang,double sisi miring) dengan nilai yang diberikan = 4 dan 7.Ketika  dieksekusi maka perintah yang akan dijalankan sebagai berikut :
  • System.out.println("\nVariabel = SegiTiga sama kaki"); => untuk mencetak 2 variabel = segitiga sama kaki
  • System.out.println ("Panjang = "+panjang +"sisi miring  = "+sisiMiring) => untuk mencetak panjang 4(p) sisi miring = 7 (sM).
  • Keliling (panjang, sisiMiring); => memanggil method keliling dan akan menjalankan.
  • public void keliling (double panjang,double sisiMiring) {
  • tampilkanHasil (2*sM+p);memanggil method tampilkanHasil dengan mengirimkan perintah (2*sM+p) pada parameter H dimana Panjang akan menampung nilai 4 dan sisiMiring akan menampung nilai 7,Selanjutnya : System.out.println ("Hasil=" +h) ; => mencetak hasil = 21 dari perhitungan (2*7+4) = 18






C . Membuat Program Overriding.java




class OverRiding {

   public void MethodAsli() {

         System.out.println("Method  milik  class  OverRiding  dijalankan");
   }
   
   public static void main(String [] args) {
         OverRiding O = new OverRiding();
         O.MethodAsli();
   }
}

Penjelasannya sebagai berikut :
  • Memiliki kelas utama yaitu public static void main(String [] args) makanya ada outputnya System .out.println("Method milik class OverRiding dijalankan 
  • Public void MmethodAsli() { //memanggil method asli
  • OverRiding O = new OverRiding();//memanggil constructor OverRiding dari object baru o pada kelas OverRiding
  • o.MethodAsli ();// memanggil method Method Asli()

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();
   }
}



Penjelasannya sebagai berikut :

  • Class SubOverRiding extends OverRiding { => Pada class SubOverRiding,merupakan turunan dari class OverRiding,extends untuk menyatakan pewarisan/keturunan.
  • SubOverRiding SO =new SubOverRiding () yaitu untuk membuat object baru yaitu SO karena tidak ada maka diabaikan.
  • SO.MethodAsli () => Memanggil MethodAsli dari object SO yaitu :
  • public void MethodAsli () {
  • System.out.println ("Method yang sudah OverRiding dijalankan"); => Untuk mencetak Method yang sudah OverRiding dijalankan.
  • SO.Method AsliSuper (); => Memanggil MethodAsliSuper yaitu public void MethodAsliSuper()
  • System.out.println ("Method pemanggil MethodAsli dijalankan "); => Untuk mencetak Method pemanggil MethodAsli dijalankan.
  • super.MethodAsli(); =>untuk memanggil MethodAsli pada class OverRiding yaitu public void MethodAsli() {
  • System.out.println("Method yang sudah OverRiding diajalankan"); => untuk mencetak Method yang sudah OverRiding dijalankan.

E. Membuat Program TanpaException.java

class TanpaException {
   public static void main (String [] args) {
         int Nilai = Integer.parseInt (args[0]);
         System.out.println("Nilai yang diimasukkan : " +Nilai);
   }
}
  1. Klik start => 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

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  diimasukkan  :  "  +Nilai);
         }
         catch(Exception e) {
               System.out.println("Pasti  yang  diinput  bukan  Integer");
         }
         finally {
               System.out.println("Blok finally tetap dilakukan");
         }
   }
}




Penjelasannya sebagai berikut :
  • Tujuan Exception agar tidak banyak muncul komentar error
  • Int Nilai = Integer.parseInt(args [0] ); => Menginput Nilai dengan tipe Integer 
  • System.out.println ("Nilai yang dimasukkan : " +Nilai ); => Mencetak Nilai yang masukkan :
  • Jika input nilai Integer maka nilai nya = 50
  • Maka,mencetak Nilai yang dimasukkan = 50
  • Jika yang di input selain dari Nilai Integer maka akan muncul komentar Error.
  • Finally {=> kode-kode yang tetap dilakukan baik terjadi exception maupun tidak terjadi exception.
  • System.out.println("Blok Finally tetap dilakukan "); => Mencetak Blok Finally tetap dilakukan.

G. Membuat Program PembagianNol.java

class PembagianNol {
   public static void main (String [] args) {
         System.out.println("Sebelum pembagian");
         try {
               System.out.println(5/1);
         }
         catch(Throwable T) {
               System.out.println("Terjadi pembagian nol");
         }
         System.out.println("Sesudah pembagian");
   }
}

Penjelasannya sebagai berikut :

  • class PembagianNol {=> Menyatakan kelas PembagianNol
  • public static void main (String [] args){  => Menyatakan kelas utama
  • System.out.println ("Sebelum Pembagian"); => Mencetak sebelum pembagian
  • try { => Kode-kode program yang mungkin dapat menimbulkan exception 
  • System.out.println(5/0) ;  =>Mencetak  5/0 (tak hingga)
  • Catch ( Throwable T ) { => Masuk jika ada yang salah 
  • System.out.println ("Terjadi pembagian nol "); => Mencetak terjadinya pembagian nol
  • System.out.println (" Sesudah pembagian "); => Mencetak sesudah pembagian.

    H. Membuat Program TesInputData.java

    import 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);
             }
       }
    }


    Penjelasannya sebagai berikut :
    • Class TestInputData { => menyatakan kelas TesInputData
    • Public static void main (String []  args) { => Menyatakan kelas utama 
    • try { => Kode-kode program yang mungkin dapat menimbulkan exception 
    • System.out.println ("Masukkan Data : "); => Mencetak masukan data 
    • Finally { => Kode-kode yang tetap dilakukan baik terjadi exception maupun tidak terjadi exception (optional).

    Subscribe to receive free email updates:

    0 Response to "Laporan Praktikum 6 OVERLOADING,OVERRIDING,DAN EXCEPTION."

    Posting Komentar