PERCOBAAN 6 EXCEPTION

dokumen-dokumen yang mirip
Percobaan 6 Exception

PRAKTIKUM 6 EXCEPTION

Pemrograman Berorientasi Obyek. Exception Handling. Politeknik Elektronika Negeri Surabaya

Topik. Penanganan Eksepsi. Menangkap Eksepsi. Catch Secara bertingkat. Melontarkan Eksepsi. Melontarkan kembali Eksepsi.

Exception Handling. Topik

Pemrograman Berbasis Objek. Exception Handling. Politeknik Elektronika Negeri Surabaya

PRAKTIKUM 17 MENANGANI EXCEPTION

Sesi 8. Event Handling & Exception Handling. Tujuan Intruksional

Exception. Oleh: Mike Yuliana PENS-ITS

Exception adalah penanda bahwa kondisi/kejadian yang tidak diinginkan telah terjadi pada program kita. Ada 2 jenis exception (+1 Error):

Tujuan Intruksional. Mampu menjelaskan tentang event handling Mampu menjelaskan tentang method Mampu menggunakan event handling Mampu membuat method

A. TUJUAN PEMBELAJARAN 1. Mengetahui cara menangani exception dengan cara melempar exception. 2. Mengetahui cara membuat sendiri class exception.

Pemrograman Berorientasi Object

Exception Handling. Oleh : Agus Priyanto, M.Kom

public class Test { int i = 6; int j = 3; System.out.println(i/j); } Output :

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

IKG2I4 / Software Project I

Exception Handling. Prepared by Viska Mutiawani. 1

Praktikum 9 Exception Handling

PRAKTIKUM I EXCEPTION HANDLING

Exception Handling Lanjutan

EXCEPTION HANDLING. Bug : kesalahan yang merupakan kelemahan dari perancangan atau implementasi

PERTEMUAN 3 OBJEK DAN CLASS

1. Apa yang harus dilakukan oleh programmer untuk menangani user-defined exception? Menuliskan exception sebagai start method

Sukses. Kesalahan pada URL. File tidak lengkap. Kesalahan umum

Modul 4 Exception, I/O, dan Operasi File

Penanganan Kesalahan

Variabel tersebut seharusnya bisa dideklarasikan didalam try block dan block catch

Waktu Sisa : 0:43:4. Sukses. Kesalahan pada URL. File tidak lengkap. Kesalahan umum. Mengerjakan finally. Diluar block

EXCEPTION. 2. Pada kondisi bagaimana klausa finally tidak akan dieksekusi? Kode didalam block try memiliki statement return

Penjebakan Eksepsi. Nur hasanah, M.Cs

Definisi Eksepsi (exception)

IF PEMROGRAMAN LANJUT EXCEPTION. Oleh : Andri Heryandi, M.T.

PRAKTIKUM PEMROGRAMAN OBJEK DENGAN JAVA MODUL KE-5 EXCEPTION HANDLING

MODUL 9 EXCEPTION HANDLING

Tidak ada satupun dari pilihan di atas yang benar karena checked exception tidak bisa ditulis

03/04/2018. Pemrograman Berorientasi Object

Praktikum Exception Handling

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

Bahasa Pemrograman 2.

Pemrograman Berorientasi. Exception Handling

Pemrograman Lanjut Exception Handling PTIIK

PEMROGRAMAN JAVA : EXCEPTION

Exception Handling and Multithreading

MODUL 7 - EXCEPTION HANDLING

4/11/2013. Topik. Exceptions dan Assertions Pengenalan Pemrograman 2. Topik. Topik EXCEPTIONS. Class Error dan Exception

1.Tujuan. 2. Latar Belakang

BAB Tujuan. 2.2 Apa itu Exception? Pendahuluan Error dan Exception Classes

Abstract Class dan Interface. Viska Mutiawani, M.Sc

2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo.

Inheritance (Pewarisan) Pengertian dasar inheritance

PEMOGRAMAN JAVA. Yoannita. Tipe Data (ii) : Array Exception Handling

EXCEPTION HANDLING. 1. Mampu menangani eksepsi 2. Mengetahui dan memahami tentang multithreading 3. Dapat membuat program tentang exception handling

1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini:

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference ke atribut turunan dari objek? super

CHAPTER #5 DEBUGGING AND EXCEPTION HANDLING

Pemograman Java. Yoannita, S.Kom. Argumen Command Line Exception Handling Package

Overriding. Subclass yang berusaha memodifikasi tingkah laku yang diwarisi dari superclass. Tujuan: subclass memiliki tingkah laku yang lebih

Cara Membaca File Text di JAVA

//PROGRAM 9-8. int[] A = new int[5]; // SALAH, karena tidak terdapat. class BanyakEksepsi { indeks ke-5. public static void test(int a, int b) { try {

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak

Array Multidimensi. Pemrograman Dasar. Java

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

Paket dan Interface. 15 th week Estu Sinduningrum ST,MT

PENANGANAN EKSEPSI. class Exc0 { public static void main (String args[]) { int d = 0; int a = 42 / d; } }

Menangkap Kesalahan (Error Handling)

PEMAHAMAN DASAR DASAR JAVA

Overriding, Overloading, Polymorphism. Pertemuan 10 Pemrograman Berbasis Obyek Dr. Rodiah

Modul Praktikum 4 Pemograman Berorientasi Objek

Obyektif : KONTROL ALUR PROGRAM

Input Nilai tanpa Case String di Java

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?

IT652 Pemrograman Berorientasi Aspek. Ramos Somya

2 TIPE DATA DAN VARIABEL

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

SUMBER BELAJAR PENUNJANG PLPG

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut:

Algoritma Pemrograman 1

BAB II VARIABEL DAN TIPE DATA

MODUL 3. Inheritance, Abstract Class, Interface TUJUAN PRAKTIKUM LANDASAN TEORI. A. Inheritance

Gambar 1: Hirarki class

PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman Berorientasi. Class dan Obyek 2

BAB 8 Argumen dari Command-line

I/O (Input dan Output)

Modul Praktikum Bahasa Pemrograman 1

IT210 Pemrograman Visual. Ramos Somya

Topik. Stream I/O Cara menggunakan Stream Hierarchy Java I/O Membaca File Menulis File Menghapus File Cara membaca isi Direktori dalam file

TIPE DATA PADA JAVA. Pertemuan (K-04/L-04)

PEMROGRAMAN JAVA. Yoannita, S.Kom. Input Kondisi (IF-ELSE, SWITCH)

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

BAB 5 Mendapatkan Input dari Keyboard

Pertemuan 2 Struktur Kontrol Percabangan

Pemrograman Berorientasi Objek 2

Pemrograman I. By : Sri Rezeki Candra Nursari SKS

BAHASA PEMROGRAMAN JAVA

Modul Tutorial C# 2 DASAR PEMROGRAMAN C# : STATEMENT DAN OPERATOR ENRICO BUDIANTO MICROSOFT INNOVATION CENTER UNIVERSITAS INDONESIA

Transkripsi:

PERCOBAAN 6 EXCEPTION Pokok Bahasan Penanganan Eksepsi Menangkap Eksepsi Catch Secara bertingkat Melontarkan Eksepsi Melontarkan kembali Eksepsi Klausa Throws Tujuan Belajar Dengan praktikum ini mahasiswa diharapkan dapat: Dapat memahami cara penanganan Eksepsi Memahamkan cara Menangkap Eksepsi Dapat menjelaskan konsep catch secara bertingkat Memahamkan cara melontarkan eksepsi Memahamkan cara melontarkan kembali eksepsi Dapat menjelaskan tentang klausa throws Dasar Teori A. Pemahaman Dasar Eksepsi (exeption) adalah suatu mekanisme yang digunakan oleh beberapa bahasa pemrograman untuk mendeskripsikan apa yang harus dilakukan jika ada suatu kondisi yang tidak diinginkan terjadi. Eksepsi dapat dijumpai saat: Mengakses method dengan argumen yang tidak sesuai Membuka file yang tidak ada Koneksi jaringan yang terganggu Manipulasi operan yang nilainya keluar dari batasan yang didefinisikan Pemanggilan class yang tidak ada Java menyediakan dua kategori besar untuk eksepsi yang disebut sebagai checked exception dan unchecked exception. Checked Exception adalah eksepsi yang diantisipasi oleh programmer untuk dihandle dalam program dan terjadi dikarenakan oleh kondisi luar yang siap muncul saat program berjalan. Misalnya membuka file yang tidak ada atau gangguan jaringan. Unchecked Exception bisa muncul dari kondisi yang merepresentasikan adanya bug atau situasi yang secara umum dianggap terlalu sulit bagi program untuk menghandlenya. Disebut sebagai unchecked karena kita tidak perlu mengeceknya atau melakukan sesuatu jika kondisi ini terjadi. Eksepsi yang muncul dari kategori situasi yang merepresentasikan bug ini disebut sebagai runtime exception. Misalnya mengakses array melebihi size yang dimilikinya. Sedangkan eksepsi yang muncul sebagai akibat dari isu environment software yang ini jarang sekali atau sulit sekali untuk dihandle- disebut sebagai error, misalnya running out memory. Jadi, class Exception mendefinisikan kondisi error yang ringan yang dijumpai oleh program.

Sedangkan untuk kondisi error yang berat didefinisikan dengan Error. Class Exception adalah sebuah class dasar yang merepresentasikan checked exception. Dalam hal ini, bukannya membiarkan terjadinya penghentian program, sebaliknya Anda harus menuliskan beberapa kode untuk menghandle eksepsi dan berikutnya melanjutkan program. Class Error adalah class dasar yang digunakan untuk kondisi error serius yang tidak terdeteksi. Dalam banyak kasus, Anda harus membiarkan program diterminasi. Class adalah class dasar yang digunakan untuk unchecked exception yang bisa muncul sebagai akibat dari bug program. Pada banyak kasus, Anda harus membiarkan program dihentikan. Ketika dalam program terjadi eksepsi, method yang menemukan error tersebut bisa menghandle sendiri atau melemparkannya ("throw") kembali kepada pemanggilnya untuk memberi sinyal bahwa telah terjadi suatu masalah. Sebagai contoh, Coba jalankan program ini. Apa hasilnya? public class Eksepsi { public static void main (String[] args) { int i = 0; String myarray[] = {"Array pertama", "Array kedua", "Array ketiga" ; while (i < 4) { System.out.println (myarray[i]); i++; Menghandle Eksepsi (Exception Handling) Jika tidak diberikan kode untuk menghandle situasi, maka Program akan diterminasi dengan sebuah pesan kesalahan seperti contoh hasil runtime program di atas. Upaya menghandle eksepsi memungkinkan program untuk menangkap eksepsi, menghandlenya kemudian melanjutkan eksekusi program. Dalam hal ini digunakan statemen try dan catch. Dengan perincian sbb : Blok try adalah kode yang memungkinkan terjadinya pelemparan (throw) eksepsi tertentu Blok catch adalah kode yang akan dieksekusi jika sebuah tipe eksepsi dilemparkan try { //code that might throw a particular exception catch(myexceptiontype myexcept) { //code to execute if MyExceptionType exception is thrown catch(exception otherexcept) { //code to execute if a general Exception exception is thrown

Dimungkinkan ada beberapa blok catch setelah sebuah blok try, yang masing-masing akan menghandle tipe eksepsi yang berbeda Statemen finally Statemen finally digunakan untuk mendefinisikan sebuah blok kode yang akan senantiasa dieksekusi jika eksepsi berhasil ditangkap dalam blok catch. Perhatikan contoh di bawah ini public class Eksepsi2 { public static void main(string[] args) { int i = 0; String myarray[] = {"Array pertama","array kedua","array ketiga"; while (i < 4) { try { System.out.println(myarray[i]); i++; catch (ArrayIndexOutOfBoundsException e){ System.out.println("Re-setting Index Value"); i = 0; finally { System.out.println("This is always printed"); Pengesetan indeks kembali menjadi 0 mengakibatkan program dieksekusi dalam infinite loop. Kategori eksepsi Di bawah ini adalah hirarki class yang merepresentasikan pengkategorian eksepsi. Dalam hal ini class java.lang.throwable merupakan class parent dari seluruh objek yang bisa dilempar dan ditangkap menggunakan mekanisme exception handling.

StackOveflowError Error VirtualMachineError AWTError OutOfMemoryError Throwable ArithmeticException NullPointerException Exception IndexOutOfBoundsException IOException EOFException FileNotFoundException Sehingga dalam contoh di atas terdapat statemen : catch (ArrayIndexOutOfBoundsException e) merupakan jenis. Jika Anda tidak hafal jenis eksepsinya secara pasti, bisa mengambil parent classnya. Eksepsi yang umum Java menyediakan beberapa eksepsi yang telah didefinisikan. Beberapa eksepsi yang umum, di antaranya adalah : ArithmeticException hasil dari operasi divide-by-zero terhadap integer Contoh : int i = 12 / 0; NullPointerException mengakses membernya (atribut atau method) ketika referencenya masih menunjuk ke null, misalnya ketika belum dicreate instance objectnya Contoh : Date d = null; //tanpa membuat instance object System.out.println(d.toString()); NegativeArraySizeException membuat array dengan size yang diset negatif ArrayIndexOutOfBoundsException mengakses array melebihi indeks terbesarnya SecurityException biasanya terjadi pada sebuah browser, ketika class SecurityManager melempar eksepsi kepada applet yang melakukan operasi yang membahayakan host atau file-filenya (tidak berhak mengaksesnya), misalnya mengakses file system lokal, membuka soket ke sebuah host yang berbeda dengan host yang melayani applet, dll Overriding method & eksepsi Ketika meng-override method yang melempar eksepsi, maka method yang mengoverride hanya bisa mendeklarasikan eksepsi yang sama classnya atau subclass dari eksepsi yang dilemparkan oleh metode yang di-override. Perhatikan contoh berikut ini :

public class TestA { public void methoda() throws { public class TestB1 extends TestA { public void methoda() throws ArithmeticException { Bisa karena ArithmeticException adalah subclass dari public class TestB2 extends TestA { public void methoda() throws Exception { Gagal karena Exception adalah class induk dari Tugas Pendahuluan 1. Apa perbedaan antara error dan eksepsi! 2. Apakah try dapat mengandung except dan finally sekaligus? Beri contoh programnya!