exception handling, inheritance, abstract class, interface ... · untuk menangani exception dalam...

30
Review PBO Ramos Somya

Upload: phungkhanh

Post on 16-Aug-2019

241 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

Review PBO

Ramos Somya

Page 2: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

Exception handling adalah suatu mekanisme penanganan erroryang mungkin terjadi dalam suatu program.

Misalnya sebuah program yang memiliki operasi pembagian, dimana suatu ketika user menginputkan bilangan pembagi ataudenumerator 0, maka program tersebut harus memiliki suatuexception handling untuk kasus tersebut.

Contoh kasus lain: Akses keyboard

Akses CD ROM

Akses File

Akses Database

sehingga apabila alat-alat yang kita butuhkan dalam program kita tersebut tiba-tibaterputus aksesnya maka program kita tidak secara tiba-tiba mati dan agar programkita bisa terus berjalan

Page 3: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

Tidak Menggunakan Exception Handling

Menggunakan Exception Handling

Menjalankan perintah Menjalankan perintah

Jika dalam menjalankan perintah menemui error

Jika dalam menjalankan perintah menemui error

Program berhenti Exception akan melemparkan error tersebut

Catch akan menerima dan memproseserror tersebut

Program menjalankan perintahselanjutnya

Page 4: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

Sehingga dengan menggunakan Exception Handling kitadapat memprevent terjadinya runtime error yangmenyebabkan program kita berhenti di tengah tengah jalan.

Contoh exception yang bisa terjadi: java.lang.ArithmeticException terjadi jika kita melakukan

pembagian bilangan dengan 0.

exception ArrayIndexOutOfBounds terjadi jika kita mencobamengakses elemen array yang tidak ada.

NumberFormatException terjadi ketika kita mencoba melaluiparameter bukan angka dalam method integer.

Dsb…

Page 5: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

Untuk menangani exception dalam Java, kita gunakan blok try-catchmenempatkan pernyataan yang mungkin menghasilkan exception di dalam blok ini.

Bentuk umum dari blok try-catch adalah:

Page 6: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan
Page 7: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

Dalam pewarisan semua properti (variabel dan metode) yang dimiliki oleh super kelas otomatis akan dimiliki pula oleh sub kelas kecuali untuk properti yang akses modifiernya private atau default (Jika sub kelas tidak berada dalam paket yang sama).

Membuat suatu kelas dengan memanfaatkan kelas yang sudah ada.

Mewarisi semua metoda dan variabelnya.

Page 8: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

Kelas A disebut Super Class(Parent Class). Kelas B disebut Sub Class(Child Class).

Page 9: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

Cara Pewarisan:

class KelasTurunan extends KelasDasar{

tubuh kelas

}

Page 10: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

public class Manusia {

public String nama;

public Manusia(String n) {this.nama = n;

}

public String tampilkanNama() {return nama;

}

public void makan() {System.out.println("Nyam... nyam... nyam...");

}

public void kerja() {System.out.println("Kerja...kerjaaa...");

}}

Page 11: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

public class Programmer extends Manusia {

public Programmer(String n) {super(n);

}

public void kerja() {System.out.println("Tak…Tak…Klik..");

}

public void bersantai() {System.out.println("Game over, You lose...");

}}

Page 12: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

class Tentara extends Manusia {

public String pangkat;

public Tentara(String n, String p) {super(n);this.pangkat = p;

}

public String tampilkanPangkat() {return pangkat;

}

public void kerja() {System.out.println("Dor... Dor... Dor..");

}}

Page 13: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

public class Test {

public static void main(String[] args) {Programmer andi = new Programmer("Andi");System.out.println("Nama= " + andi.tampilkanNama());andi.makan();andi.kerja();andi.bersantai();

Tentara badu = new Tentara("Badu", "Kopral");System.out.println("Nama= " + badu.tampilkanNama());System.out.println("Pangkat= " + badu.tampilkanPangkat());badu.makan();badu.kerja();

}}

Page 14: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan
Page 15: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan
Page 16: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

Kita dapat membuat superclass yang mempunyai beberapamethod dengan implementasi sedangkan yang lain tidak.Class jenis ini yang disebut dengan class abstract.

Sebuah class abstract adalah class yang tidak dapat di-instantiate.

Method ini dalam class abstract yang tidak mempunyaiimplementasi dinamakan method abstract. Untuk membuatmethod abstract, tinggal menulis deklarasi method tanpatubuh class dan digunakan menggunakan kata kunciabstract.public abstract void someMethod();

Page 17: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

public abstract class LivingThing{

public void breath(){System.out.println("Living Thing breathing...");

}

public void eat(){System.out.println("Living Thing eating...");

}

/*** abstract method walk* Kita ingin method ini di-overridden oleh subclasses*/public abstract void walk();

}

Page 18: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

Ketika class meng-extend class abstract LivingThing,dibutuhkan untuk override method abstract walk(), ataulainnya, juga subclass akan menjadi class abstract, olehkarena itu tidak dapat di-instantiate. Contohnya:

public class Human extends LivingThing{

public void walk(){System.out.println("Human walks...");

}}

Page 19: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

Jika class Human tidak dapat overridde method walk, kita akan menemui pesan error:

Human.java:1: Human is not abstract and does not overrideabstract method walk() in LivingThingpublic class Human extends LivingThing

^1 error

Page 20: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

Buatlah sebuah abstract class dengan nama Bangun2D denganatribut panjang dan lebar.

Pada class Bangun2D tambahkan method getNama yangmenginformasikan “Nama Masih Abstract” dan tambahkan methodabstract getLuas();

Buat 2 buah class: Persegi dan Segitiga yang merupakan turunan dariclass Bangun2D.

Pada kedua class tersebut tambahkan method getNama dan getLuasyang berisi operasi perhitungan luas.

Buat class Demo yang di dalamnya terdapat method Main danlakukan instansiasi dari class yang sudah dibuat sehingga munculoutputnya.

Page 21: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

Untuk membuat class, dapat kita gunakan konseppewarisan.

Masalah: bagaimana jika kita ingin mewariskan sifat daribeberapa super class ke base class?

Misalkan kita akan membuat kelas Superman yang diabisa membuat program layaknya Programmer, dia jugaahli menggunakan senjata layaknya Tentara, bahkan diabisa terbang seperti Elang (keturunan binatang)?

Caranya adalah dengan pewarisan ganda. Tetapi dalamJava tidak dikenal pewarisan ganda, sehingga digunakaninterface.

Page 22: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

class superman extends programmer, tentara, burung{

}

Page 23: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

Interface merupakan kumpulan definisi method dan nilaikonstanta.

Merupakan kerangka yang hanya berisi konstanta danprototype method.

Seluruh definisi method dan konstanta nantinya dapatdiimplementasi di class yang mendefinisikan interfacetersebut menggunakan kata kunci implements

Page 24: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan
Page 25: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

interface programmer {void memrogram();

}interface tentara {

void menembak();}interface burung {

void terbang();void buangKotoran();

}

Page 26: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

class superman implements programmer, tentara , burung{public void memrogram(){};public void menembak(){};public void terbang(){};public void buangKotoran(){};}

Page 27: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

public class bejo{public static void main(String arg[]){

superman bj= new superman();bj.memrogram();

{System.out.println("Implementasi memrogram ...tak..tik");

}bj.menembak();{

System.out.println("Implementasi menembak ...dor..dor");}bj.terbang();{

System.out.println("Implementasi terbang......Zap....");}}}

Page 28: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

interface Lari{public void berlari(String vLari);

}

interface Lompat{public void melompat(String vLompat);

}

interface Sekolah{public void pergiSekolah(String vSekolah);

}

Page 29: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

public class Manusia implements Lari, Lompat, Sekolah {

String kecepatanLari;String tinggiLompat;String pendidikan;

public void berlari(String vLari) {kecepatanLari = vLari;

}

public void melompat(String vLompat) {tinggiLompat = vLompat;

}

public void pergiSekolah(String vSekolah) {pendidikan = vSekolah;

}

Page 30: Exception Handling, Inheritance, Abstract Class, Interface ... · Untuk menangani exception dalam Java, kita gunakan blok try-catch menempatkan pernyataan yang mungkin menghasilkan

public void tampil() {System.out.println("Manusia berlari = " + kecepatanLari);System.out.println("Tinggi lompatan = " + tinggiLompat);System.out.println("Pendidikan = " + pendidikan);

}

public static void main(String[] args) {Manusia man = new Manusia();man.berlari("100 Km/jam");man.melompat("10 meter");man.pergiSekolah("SMA N 1 Salatiga");man.tampil();

}}