Selasa, 12 Maret 2019

PERTEMUAN 5 OVERLOADING, OVERRIDING DAN EXCEPTION


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

PERTEMUAN 11 KOMPONEN KOMPONEN SWING LANJUTAN.

KOMPONEN – KOMPONEN SWING LANJUTAN Swing merupakan alternatif lain untuk mengimplementasikan pemprograman window. Walaupun diimplement...