Bab 5: OVEERLOADING, OVERRIDING, DAN EXCEPTION
OVEERLOADING, OVERRIDING, DAN EXCEPTION
Tujuan :
1. Agar mahasiswa dan mempar aktekkan kosep overloading dan overriding.
2. Agar mahasiswa memahami perbedaan overloading dan overriding.
3. Agar mahasiswa memahami dan mempratekan penggunaan exception.
DASAR TEORI
A. OVERLOADING
Overloading adalah suatu kemampuan dalam bahasa berorientasi objek untuk menggunakan satu nama method untuk beberapa method yang memiliki parameter masukan yang berbeda 9 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 bahasas berorientasi objek untuk mengubah implementasi (menimpa) suatu method yang dimiliki oleh kelas super ketika kelas super terebut diturunkan. Overriding memodifikasi secara vertical method milik kelas super. Ada dua alas an mengapa melakukan overriding:
1. Mendifinisikan kembali method kelas induk secara total.
2. Menambahkan bahaviour tertentu pada method kelas induk
Memodikasi hak akses pada overriding sangat berpengaruh. Perhatikan table di bawah ini untuk lebih jelasnya:
2. Agar mahasiswa memahami perbedaan overloading dan overriding.
3. Agar mahasiswa memahami dan mempratekan penggunaan exception.
Akses method SuperClass
| ||||
default
|
protected
|
public
| ||
Dioveride ke akses method SubClass
|
privite
|
dilarang
|
dilarang
|
dilarang
|
default
|
boleh
|
dilarang
|
dilarang
| |
protected
|
boleh
|
boleh
|
dilarang
| |
public
|
boleh
|
boleh
|
boleh
| |
C. EXCEPTION
Exception merupakan suatu objek erro khusus yang dibuat ketika terjadi kesalahan pada suatu program. Setelah suatu objek exception dibuat oleh java, objek tersebut dikirim ke program, proses ini disebut thorowing an exception. Objek exception tersebut kemudian diterima oleh program, dan penangana exception selanjutnya terserah pada program.
Penanganan exception dalam java dibuat dengan menuliskan kode program eception handling pada source code. Exception handling berguna untuk mencegah program menjadi “hang”. Kode program exception handling secara umum terdiri dari 3 bagaian yaitu try, catch dan finally.
Kategori erro dalam program :
1. Syntax error
Error yang terjadi apabila java compiler menemukan kesalahan pada syntax atau aturan-aturan lainya pada program.
2. Runtime error
Error yang terjadi karena kesalahan logika pemprograman. Misalnya hasil pembagian dua buah blangan diberi tipe data int. hal ini menyebabkan hasil tidak valid karena ada bagian koma decimal yang akan hilang.
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 desimal yang akan hilang.
LANAGKAH-LANGKAH PRATIKUM
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+ " sisiMiring = " +sisisMiring);
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) ;
}
}
|
OUTPUTNYA
bukan fungsi utama
B. MembuatProgram MainSegiTiga.java
bukan fungsi utama
B. MembuatProgram MainSegiTiga.java
class MainSegiTigs {
public static void main (String [] args) {
new SegiTiga(7);
new SegiTiga(4,7);
}
}
|
OUTPUTNYA
Variabael = segitiga sama sisi
Panjang = 7.8
Hasil = 21.0
2variabel = 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 milik 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 pemanggil MethodAsli 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 dimasukkan : " +Nilai);
}
}
|
OUTPUTNYA
Exception in thead “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 dimaksukan : " +Nilai);
}
catch (Exception e) {
System.out.println("pasti yang diinput bukan Integer");
}
finally {
System.out.println("blok finally tetap dilakukan");
}
}
}
|
OUTPUTNYA
pasti diinputkan bukan integer
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");
}
}
|
OUTPUTNYA
Sebelum pembian
Terjadi pembagian nol
Sesudah pembagian
|
H. Membuat Program TesInput.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("masukan data : ");
Input = "salah";
}
finally {
System.out.println("Data yang anda masukan adalah " +Input);
}
}
}
|
OUTPUTNYA
Masukan data :
Data yang anda masukan adalah salah
|
Komentar
Posting Komentar