OVERLOADING,
OVERRIDING DAN EXCEPTION
A. OVERLOADING
Overloading
adalah suatu kemampuan dalam bahasa berorientasi objek untuk menggunakan satu
nama method untuk beberapa method yang memiliki parameter masukan yang berbeda
(tipe maupun jumlah parameter).
Overloading
memodifikasi secara horizontal method maupun konstruktor milik kelas super,
maupun kelas yang sama.
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. Overriding memodifikasi secara vertikal method yang
dimiliki kelas super.
Ada 2
alasan melakukan overriding :
1.
Mendefenisikan
kembali method kelas induk secara total
2.
Menambahkan
behaviour tertentu pada method kelas induk
C. EXCEPTION
Exception
adalah suatu objek error khusus yang dibuat ketika terjadi kesalahan pada suatu
program. Setelah suatu objek exception dibuat oleh java., objek tersebut
dikirim ke program, proses ini disebut throwing
an exception.
Objek
exception tersebut kemudian diterima oleh program dan penanganan exception
selanjutnya terserah kepada program.
Penanganan
exception dalam java dengan menuliskan kode proogram exception handling pada
source kode.
Exception
handling berguna untuk mencegah program menjadi “hang’. Kode program exception
handling secara umum terdiri dari 3 bagian yaitu : try, catch dan finally
Kategory
error dalam program :
1.
Syntax error : error yang terjadi apabila
java compiler menemukan kesalahan pada sintax atau aturan lainnya pada program.
2.
Runtime error : error yang terjadi karena
faktor external, seperti adanya pembagian dengan nol, input yang tidak sesuai
dengan tipe yang dimintak dan sebagainya.
3.
Logic error : error yang terjadi karena
kesalahan logika pemprograman. Misalnya hasil pembagian 2 buah bilangan diberi
tipe data int. Hal ini menyebabkan hasil tidak valid karena ada pembagian koma
desemal yang akan hilang
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);
}
}
Tidak memiliki output karena
tidak memiliki fungsi utama.
B. MEMBUAT
PROGRAM MainSegiTiga.java
class MainSegiTiga {
public static void main(String[] args) {
new SegiTiga(7);
new SegiTiga(4,7);
}
}
Outputnya :
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 OverRiding {
public void MethodAsli() {
System.out.println("Method milik class OverRiding
dijalankan");
}
public static void main(String[] args){
OverRiding O = new OverRiding();
O.MethodAsli();
}
}
Outputnya :
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();
}
}
Outputnya :
Method yang sudah Overriding
dijalankan
Method memanggil Method Asli
dijalankan
Method milik class 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);
}
}
Outputnya :
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 diimasukkan :
"+Nilai);
}
catch (Exception e) {
System.out.println("Pasti yang diinput bukan
Integer");
}
finally {
System.out.println("Blok finally dilakukan");
}
}
}
Outputnya :
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");
}
}
Outputnya :
Sebelum pembagian
terjadi pembagian nol
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);
}
}
}
Outputnya :
Data yang anda masukkan adalah
salah
Tidak ada komentar:
Posting Komentar