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 parameter). Overloading
memodifikasi secara horizontal method maupun konstructor milik class super,
maupun class yang sama.
B.
OVERRIDING
Overriding adalah suatu kemampuan dalam bahasa berorientasi
objek untuk mengubah implementasi (menimpa) suatu method yang dimiliki oleh
class super ketika class super tersebut diturunkan. Overriding memodifikasi
secara vertical method milik kelas super.
Ada dua alasan mengapa melakukan overriding :
1.
Mendefensikan
kembali method kelas induk secara total.
2.
Menambah
behavior 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 pogram, proses ini disebut throwing an exception.
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 dari 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 factor 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 decimal 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
JenisExceptioin1*/
}
catch
(JenisException2 e) {
/*boleh terdapat lebih dari satu
blok catch untuk menangani exception yang berbeda*/
/*kode-kode program yang harus
dilakukan apabila terjadi exception
JenisExceptioin1*/
}
finally {
//finally bersifat opsional (boleh
tidak menggunakan blok finally)
/*kode-kode yang tetap dilakukan
baik terjadi exception maupun tidak terjadi exception*/
}
LANGKAH-LANGKAH
PRAKTIKUM
Contoh 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);
}
}
Contoh Program MainSegiTiga.java
class MainSegiTiga {
public static void
main(String [] args) {
new
SegiTiga(7);
new
SegiTiga(4,7);
}
}
Contoh 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();
}
}
Contoh 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();
}
}
Contoh Program TanpaException.java
class TanpaException {
public static void
main(String [] args) {
int Nilai =
Integer.parseInt (args[0]);
System.out.println("Nilai
yang dimasukkan : " +Nilai);
}
}
Contoh 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 di input bukan Integer");
}
finally {
System.out.println("Blok
finally tetap dilakukan");
}
}
}
Contoh Program PembagianNol.java
class PembagianNo1 {
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");
}
}
Contoh 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);
}
}
}
Tidak ada komentar:
Posting Komentar