OVERLOADING, OVERRIDING DAN EXCAPTION
A. OVERLOADING
Overloading adalah suatu keadaan atau kemampuan dalam bahasa berorientasi objek dimana dalam satu kelas terdapat method yang memiliki nama sama, namun parameter masukan yang berbeda (tipe maupun jumlah parameter).
lebih Jelasnya Overloading secara singkat :
- Nama Method Boleh Sama , Tapi Jumlah Parameter Mesti berbeda
- Nilai Yang Di Return Harus memiliki Tipe yang sama
B. OVERRIDING
Overriding Merupakan Suatu Keadaan Dimana kelas anak dapat mengubah atau bisa kita bilang memodifikasi atau memperluas data dan method pada kelas induk
Keuntungan Overriding : dapat menambahkan sifat / atribut pada kelas induk nya
Keuntungan Overriding : dapat menambahkan sifat / atribut pada kelas induk nya
lebih Jelasnya Overloading secara singkat :
- Mendefinisikan method dengan nama sama pada class yang berbeda.
- Konsep dapat di manfaatkan dalam beberapa kasus inheritance, di mana menginginkan penamaan method dengan nama sama namunberbeda dalam impelementasinya.
Modifikasi hak akses pada overriding sangat berpengaruh. Perhatikan tabel di bawah ini
untuk lebih jelasnya :
C. EXCEPTION
Kesalahan atau error sering terjadi pada saat membuat program, ini yang membuat kesal para pemula programmer untuk itu menghindari dari kesalahan atau eror Java menyediakan fasilitas berupa mekanisme penanganan exception. Bisa di kata kan bahwa Exception adalah singkatan dari Exceptional Events atau dalam bahasa indonesianya kesalahan (error) yang terjadi pada saat pembuatan program dan saat runtime, mengakibatkan gangguan pada alur exekusi.
Kesalahan dalam program java terdapat beberapa tipe sebagai contoh kesalahan pembagian 0, mengakses elemen di luar jangkauan array dan input yang tidak benar. Exception merupakan sebuah subclasses baik secara langsung atau tidak langsung, sehingga exception di bagi 2 kategori class yaitu : Error Class dan Exception Class
Exception menunjukkan bahwa class tersebut dapat di terima oleh user program. Tetapi Exception class di gunakan untuk memperbaiki beberapa kesalahan pada kode program sebagai contoh Exception adalah pembagi oleh 0 dan error pada saat array melakukan tindakan di luar jangkauan. Error class menpunyai fungsi untuk menangani kesalahan atau error yang sering muncul pada saat program di jalankan. Tetapi kesalahan pada program merupakan di luar control user karena kemunculan di sebabkan oleh run-time environment. Sebagai contoh out of memory dan harddisk carsh.
Kesalahan dalam program java terdapat beberapa tipe sebagai contoh kesalahan pembagian 0, mengakses elemen di luar jangkauan array dan input yang tidak benar. Exception merupakan sebuah subclasses baik secara langsung atau tidak langsung, sehingga exception di bagi 2 kategori class yaitu : Error Class dan Exception Class
Exception menunjukkan bahwa class tersebut dapat di terima oleh user program. Tetapi Exception class di gunakan untuk memperbaiki beberapa kesalahan pada kode program sebagai contoh Exception adalah pembagi oleh 0 dan error pada saat array melakukan tindakan di luar jangkauan. Error class menpunyai fungsi untuk menangani kesalahan atau error yang sering muncul pada saat program di jalankan. Tetapi kesalahan pada program merupakan di luar control user karena kemunculan di sebabkan oleh run-time environment. Sebagai contoh out of memory dan harddisk carsh.
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 pemagian 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 program. Misalnya hasil pembagian
dua buah bilangan diberi tipe data int. Hal ini meyebabkan hasil tidak valid karena ada
bagian koma desimal yang hilang.
Contoh Program :
A. Membuat Program SegiTiga.java
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 ("\nVariabel=segitiganya sama sisi ");
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);
}
}
public static void main (String []args) {
new Segitiga(7);
new Segitiga(4,7);
}
}
Hasilnya
C. Membuat Program Overriding
public void MethodAsli() {
System.out.println("Method milik class OverRiding dijalankan");
}
public static void main (String []args) {
OverRiding O=new OverRiding();
O.MethodAsli();
}
}
Hasilnya
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();
}
}
Hasilnya
public static void main (String[]args) {
int Nilai=Integer.parseInt (args[0]);
System.out.println("Nilai yang dimasukkan : " + Nilai);
}
F. Membuat Program CobaException.java
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("Blk finally tetap dilakukan");
}
}
}
public static void main (String []args) {
System.out.println ("Sebelum pembagian");
try {
System.out.println(5/0);
}
catch (Throwable T) {
System.out.println("Terjadi pemabagian Nol"); }
System.out.println ("Sesudah pemabagian");
}
}