Your SlideShare is downloading. ×
Modul 8 pbo
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Modul 8 pbo

647
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
647
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
29
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Hak Cipta © pada Inggih PermanaModul 8 Exception “Jangan bekerja dengan hati, tetapi biarkanlah hati yang bekerja (Nasihat Sufi)”Exception merupakan salah satu bagian penting dari Java yang harus dikuasai oleh setiap orang yangbelajar Java. Exception adalah salah satu bentuk penangan kesalahan dalam Java. Kesalahan di Java bisaterjadi karena pengguna ataupun programmer. Meskipun kesalahan di Java tidak hanya bisa ditanganidengan exception, tetapi exception mempermudah menangani kesalahan di Java.Exception SederhanaSebuah exception menggunakan sintaks try{ ... } catch(Excrption e){ ... }. Di dalam kalang tyr berisi aksinormal yang dibuat, sedangkan didalam kalang catch{} berisi aksi yang terjadi jika sebuah kesalahanterjadi. try{ aksi normal } catch(jenisException e){ aksi jika kesalahan terjadi }Contohpublic class Mahasiswa { String nilaiHuruf(double nilaiAngka){ try{ if (nilaiAngka > 100){ throw new Exception("Inputan nilai besar dari 100"); } if (nilaiAngka < 0){ throw new Exception("Inputan nilai kecil dari 0"); } String huruf = ""; if (nilaiAngka <= 100 && nilaiAngka >= 80){ huruf = "A"; } else if (nilaiAngka < 80 && nilaiAngka >= 0){ huruf = "B"; } return huruf; } catch(Exception e){ String pesan = e.getMessage(); return pesan; } }}
  • 2. Hak Cipta © pada Inggih PermanaPada kode diatas jika nilai besar dari 100 atau kecil dari 0 maka aksi akan dilempar ke dalampengucalian. Jenis exception yang digunakan adalah ;exception’, yang berada dalam hirarki paling atasdalam jenis exception.Contoh penggunaanpublic class TesException { public static void main(String[] args){ Mahasiswa mhs = new Mahasiswa(); String nilai = mhs.nilaiHuruf(-10); System.out.println("Nilai = "+nilai); }}Jenis-Jenis ExceptionBerikut jenis-jenis exception yang digambarkan secara hirarki.  Exception  ClassNotFoundException  CloneNotSupportedException  IllegalAccessException  InstantiationException  InterruptedException  NoSuchMethodException  NoSuchFieldException  RunTimeException  ArithmeticException  ArrayStoreException  ClassCastException  IllegalArgumentException - IllegalThreadStateException - NumberFormatException  IllegalStateException  IllegalMonitorStateException  IndexoutOfBoundsException - ArrayIndexoutOfBoundsException - StringIndexoutOfBoundsException  NegativeArraySizeException  NullPointerException  SecurityExceptionSemua yang ada di daftar diatas adalah jenis-jenis exception, dan tentunya semua bisa dipakai dalampembuatan sebuah exception. Untuk fungsi masing exception tersebut silahkan anda explore sendiri.
  • 3. Hak Cipta © pada Inggih PermanaContohpublic class ContohExecption { void tesException(){ try{ double x = 3/0; } catch(ArithmeticException ae){ System.out.println("Ada kesalahan dalam perhitungan matematis"); } }}Pada kode diatas digunakan exception jenis ArithmeticException. Tipe ini akan menangani masalah-masalah kesalaha aritmatika. Pada contoh diatas terjadi kesalahan aritmatika, yaitu ada bilangan yangdibagi dengan 0, dan hasilnya tidak akan terdefenisi.Contoh penggunaanpublic class TesException2 { public static void main(String[] args){ ContohExecption ce = new ContohExecption(); ce.tesException(); }}Multiple ExceptionAnda bisa menggunakan lebih dari satu jenis exception secara bersamaan. Caranya adalah hanya denganmenambahkan catch nya. Untuk lebih jelasnya perhatikan ilustrasi berikut. try{ aksi normal } catch(jenisException_1 e){ aksi jika kesalahan terjadi } catch(jenisException_2 e){ aksi jika kesalahan terjadi } ... … … catch(jenisException_n e){ aksi jika kesalahan terjadi }
  • 4. Hak Cipta © pada Inggih PermanaContohpublic class ContohExecption { void tesException(){ try{ double x = 3/0; double[] y = new double[3]; y[4] = x; } catch(ArithmeticException ae){ System.out.println("Ada kesalahan dalam perhitungan matematis"); } catch(ArrayIndexOutOfBoundsException aie){ System.out.println("Indeks array melebihi batas"); } }}Pada contoh diatas dipakai dua buah exception, yaitu ArithmeticException danArrayIndexOutOfBoundsException. Berikut contoh penggunaannya.public class TesException2 { public static void main(String[] args){ ContohExecption ce = new ContohExecption(); ce.tesException(); }}finallyfinally adalah aksi yang dilakukan setelah statement di dalam kalang try{} atau catch(){} dieksekusi.Untuk lebih jelasnya perhatikan ilustrasi di bawah ini. try{ aksi normal } catch(jenisException_1 e){ aksi jika kesalahan terjadi } catch(jenisException_2 e){ aksi jika kesalahan terjadi } catch(jenisException_n e){ aksi jika kesalahan terjadi } finally{ aksi yang dilakukan setelah try atau catch dieksekusi }
  • 5. Hak Cipta © pada Inggih PermanaContohpublic class ContohException2 { void tesException(){ try{ double x = 3/0; double[] y = new double[3]; y[4] = x; } catch(ArithmeticException ae){ System.out.println("Ada kesalahan dalam perhitungan matematis"); } catch(ArrayIndexOutOfBoundsException aie){ System.out.println("Indeks array melebihi batas"); } finally{ System.out.println("Kode sudah dieksekusi"); } }}public class TesException3 { public static void main(String[] args){ ContohException2 ce = new ContohException2(); ce.tesException(); }}throwsThrows adalah sintaks untuk membuat sebuah method mempunyai beberapa exception. Nantistatement yang menggunakan method tersebut harus menerapkan try{} dan catch(){}. return_value nama_method() throws exception1, exception2, …, exception n{ isi method }Contohpublic class ContohException4 { void tesException() throws ArithmeticException,ArrayIndexOutOfBoundsException{ double x = 3/0; double[] y = new double[3]; y[4] = x; }}
  • 6. Hak Cipta © pada Inggih Permanapublic class TesException4 { public static void main(String[] args){ try{ ContohException4 ce = new ContohException4(); ce.tesException(); } catch(ArithmeticException ae){ System.out.println("Ada kesalahan dalam perhitungan matematis"); } catch(ArrayIndexOutOfBoundsException aie){ System.out.println("Indeks array melebihi batas"); } }}