Pembahasan
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 paramater). Overloading memodifikasi secara horisontal method maupun
konstruktor milik kelas super, maupun kelas yang sama.
Dalam sebuah kelas diperbolehkan ada lebih dari satu
method dengan nama yang sama dengan catatan methods dapat dibedakan berdasarkan
banyaknya parameter atau tipe data parameter formal.
Overloading method dapat digunakan ketika kita mempunyai operasi yang sama
namun berbeda implementasinya. Yang terpenting dalam melakukan ini, nama method
harus sama, tapi mempunyai parameter yang berbeda. Terserah berbeda dari segi
tipe datanya atau jumlah parameternya.Tergantung kebutuhan untuk implementasi
dan nilai kembaliannya. Jadi yang perlu diingat saat melakukan overloading
method:
v Nama method
sama
v Parameter
berbeda (baik tipe maupun jumlahnya)
v Tipe data nilai
kembalian dapat berbeda atau sama
Overloading itu
mendeklarasikan lebih dari satu kali dengan syarat-syarat tertentu. baik
overloading method ataupun konstruktor.
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 mengapa
melakukan overriding :
1
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 program, proses ini disebut Throwing an
exception.
Setelah sebuah metode melemparkan
exception, sistem runtime akan berusaha mencari sesuatu untuk menangani
exception tersebut. Maksud dari "sesuatu" yang menangani exception adalah daftar metode yang
sudah diurutkan yang sudah dipanggil agar sampai ke motode dimana error
terjadi. Daftar metode tersebut biasanya disebut call stack (tumpukan
pemanggilan).
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.
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