OVERLOADING,
OVERRIDING DAN EXCEPTION
A. OVERLOADING
Overloading
adalah suatu kemampuan dalam bahasa berorientasi objek untuk menggunakan satu
nama method untuk beberapaa method yang memiliki parameter masukan yang berbeda
(tipe maupun jumlah parameter).
B.
OVERRIDING
Overriding
adalah suatu kemampuan dalam bahasa berorientasi objek untuk mengubah
implementasi (menimpa) suatu method yang dimiliki oleh kelas super ketika kelas
super tersebut diturunkan. Ada dua alasan dilakukanya Overriding :
1.
Mendefinisikan
kembali method kelas induk scara total.
2.
Menambahkan
behaviour tertentu pada method kelas induk.
C.
EXCEPTION
Exception
merupakan objek error khusus yang dibuat ketika terjadi kesalahan pada suatu
program. Setelah objek exception dibuat oleh java, objek tersebut dikirimkan ke
program, proses ini disebut throwing an exception. Penanganan exception dalam
java dibuat dengan menuliskan kode program ecxception handling pada source
kode, yang berguna untuk mencegah program menjadi “hang”. Kode program exception handling terdiri dari
3 bagian yaitu : try, cacth dan finally.
Kategori
error dalamprogram :
1. Syntax error : Error yang terjadi
apabila java compiler menemukan kesalahan pada syntax.
2. Runtime error : Error yang
terjadi karena faktor eksternal, se[perti adanya pembagian denagan nol, input
yang tidak sesuai dengan type yang dimainta.
3. Logic error : Error karena
kesalahan pemrograman. Seperti hasil pembagia dua buah bilangan diberi type
data int. Ini akan menyebabkan hasil tidak valid karena ada bagian koma desimal
yang akan hilang.
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 ("\n2Variable = 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);
}
}
B. MEMBUAT
PROGRAM MainSegita.java
class MainSegiTiga {
public static void main (String[] args) {
new SegiTiga(7);
new SegiTiga(4,7);
}
}
OUTPUT :
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();
}
}
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 :
E. MEMBUAT PROGRAM TanpaException.java
class TanpaException {
public static void main(String[] args) {
int Nilai = Integer.parseInt (args[0]);
System.out.println("Nilai yang dimasukkan : " +Nilai);
}
}
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");
}
}
}
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 :
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);
}
}
}
Kesimpulan :
*Overloading bisa memiliki nama method yang sama dalam satu kelas, sedangkan Overriding memiliki nama method yang sama tapi berbeda kelasnya. Yang membedakan hanya pada jumlah parameternya.









