SlideShare a Scribd company logo
1 of 6
Download to read offline
Hak Cipta © pada Inggih Permana



Modul 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 yang
belajar Java. Exception adalah salah satu bentuk penangan kesalahan dalam Java. Kesalahan di Java bisa
terjadi karena pengguna ataupun programmer. Meskipun kesalahan di Java tidak hanya bisa ditangani
dengan exception, tetapi exception mempermudah menangani kesalahan di Java.

Exception Sederhana
Sebuah exception menggunakan sintaks try{ ... } catch(Excrption e){ ... }. Di dalam kalang tyr berisi aksi
normal yang dibuat, sedangkan didalam kalang catch{} berisi aksi yang terjadi jika sebuah kesalahan
terjadi.

    try{
            aksi normal
    }
    catch(jenisException e){
            aksi jika kesalahan terjadi
    }


Contoh

public 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;
        }

       }
}
Hak Cipta © pada Inggih Permana



Pada kode diatas jika nilai besar dari 100 atau kecil dari 0 maka aksi akan dilempar ke dalam
pengucalian. Jenis exception yang digunakan adalah ;exception’, yang berada dalam hirarki paling atas
dalam jenis exception.

Contoh penggunaan
public class TesException {

     public static void main(String[] args){

          Mahasiswa mhs = new Mahasiswa();
          String nilai = mhs.nilaiHuruf(-10);
          System.out.println("Nilai = "+nilai);

     }

}


Jenis-Jenis Exception
Berikut 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
              SecurityException

Semua yang ada di daftar diatas adalah jenis-jenis exception, dan tentunya semua bisa dipakai dalam
pembuatan sebuah exception. Untuk fungsi masing exception tersebut silahkan anda explore sendiri.
Hak Cipta © pada Inggih Permana


Contoh
public 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 yang
dibagi dengan 0, dan hasilnya tidak akan terdefenisi.

Contoh penggunaan
public class TesException2 {

        public static void main(String[] args){
            ContohExecption ce = new ContohExecption();
            ce.tesException();
        }

}


Multiple Exception
Anda bisa menggunakan lebih dari satu jenis exception secara bersamaan. Caranya adalah hanya dengan
menambahkan 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
    }
Hak Cipta © pada Inggih Permana


Contoh
public 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    dan
ArrayIndexOutOfBoundsException. Berikut contoh penggunaannya.

public class TesException2 {

       public static void main(String[] args){
           ContohExecption ce = new ContohExecption();
           ce.tesException();
       }

}


finally
finally 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
    }
Hak Cipta © pada Inggih Permana


Contoh
public 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();
       }
}

throws
Throws adalah sintaks untuk membuat sebuah method mempunyai beberapa exception. Nanti
statement yang menggunakan method tersebut harus menerapkan try{} dan catch(){}.

    return_value nama_method() throws exception1, exception2, …, exception n{
           isi method
    }


Contoh
public class ContohException4 {

    void tesException() throws ArithmeticException,
ArrayIndexOutOfBoundsException{

                 double x = 3/0;
                 double[] y = new double[3];
                 y[4] = x;

       }

}
Hak Cipta © pada Inggih Permana


public 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");
        }
    }
}

More Related Content

Similar to Modul 8 pbo (17)

18314 minggu 12 penanganan kesalahan menangkap exception
18314 minggu 12 penanganan kesalahan menangkap exception18314 minggu 12 penanganan kesalahan menangkap exception
18314 minggu 12 penanganan kesalahan menangkap exception
 
17728 minggu 12 penanganan kesalahan menangkap exception
17728 minggu 12 penanganan kesalahan menangkap exception17728 minggu 12 penanganan kesalahan menangkap exception
17728 minggu 12 penanganan kesalahan menangkap exception
 
Penanganan kesalahan menangkap exception
Penanganan kesalahan menangkap exceptionPenanganan kesalahan menangkap exception
Penanganan kesalahan menangkap exception
 
Exception Handling
Exception HandlingException Handling
Exception Handling
 
pbo 8 ervan
pbo 8 ervanpbo 8 ervan
pbo 8 ervan
 
14741 9 exception & assertion
14741 9 exception & assertion14741 9 exception & assertion
14741 9 exception & assertion
 
Jeni intro1-bab12-dasar exception handling
Jeni intro1-bab12-dasar exception handlingJeni intro1-bab12-dasar exception handling
Jeni intro1-bab12-dasar exception handling
 
Ii java input ouput
Ii   java input ouputIi   java input ouput
Ii java input ouput
 
Jeni Intro2 Bab04 Tour Dari Package Java.Lang
Jeni Intro2 Bab04 Tour Dari Package Java.LangJeni Intro2 Bab04 Tour Dari Package Java.Lang
Jeni Intro2 Bab04 Tour Dari Package Java.Lang
 
1 exception handling
1 exception handling1 exception handling
1 exception handling
 
Modul 4 pbo
Modul 4 pboModul 4 pbo
Modul 4 pbo
 
4. Materi Java Eclipse 4
4. Materi Java Eclipse 44. Materi Java Eclipse 4
4. Materi Java Eclipse 4
 
Array
ArrayArray
Array
 
OOP - Exception
OOP - ExceptionOOP - Exception
OOP - Exception
 
Arrays c++
Arrays c++Arrays c++
Arrays c++
 
Ringkasan materi teori algoritma
Ringkasan materi teori algoritmaRingkasan materi teori algoritma
Ringkasan materi teori algoritma
 
Algoritma - Array
Algoritma - ArrayAlgoritma - Array
Algoritma - Array
 

More from arrofikzulkarnaen (6)

Modul 7 pbo
Modul 7 pboModul 7 pbo
Modul 7 pbo
 
Modul 6 pbo
Modul 6 pboModul 6 pbo
Modul 6 pbo
 
Modul 5 pbo
Modul 5 pboModul 5 pbo
Modul 5 pbo
 
Modul 3 pbo(1)
Modul 3 pbo(1)Modul 3 pbo(1)
Modul 3 pbo(1)
 
Modul 2 pbo
Modul 2 pboModul 2 pbo
Modul 2 pbo
 
Modul 1 pbo
Modul 1 pboModul 1 pbo
Modul 1 pbo
 

Modul 8 pbo

  • 1. Hak Cipta © pada Inggih Permana Modul 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 yang belajar Java. Exception adalah salah satu bentuk penangan kesalahan dalam Java. Kesalahan di Java bisa terjadi karena pengguna ataupun programmer. Meskipun kesalahan di Java tidak hanya bisa ditangani dengan exception, tetapi exception mempermudah menangani kesalahan di Java. Exception Sederhana Sebuah exception menggunakan sintaks try{ ... } catch(Excrption e){ ... }. Di dalam kalang tyr berisi aksi normal yang dibuat, sedangkan didalam kalang catch{} berisi aksi yang terjadi jika sebuah kesalahan terjadi. try{ aksi normal } catch(jenisException e){ aksi jika kesalahan terjadi } Contoh public 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 Permana Pada kode diatas jika nilai besar dari 100 atau kecil dari 0 maka aksi akan dilempar ke dalam pengucalian. Jenis exception yang digunakan adalah ;exception’, yang berada dalam hirarki paling atas dalam jenis exception. Contoh penggunaan public class TesException { public static void main(String[] args){ Mahasiswa mhs = new Mahasiswa(); String nilai = mhs.nilaiHuruf(-10); System.out.println("Nilai = "+nilai); } } Jenis-Jenis Exception Berikut 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  SecurityException Semua yang ada di daftar diatas adalah jenis-jenis exception, dan tentunya semua bisa dipakai dalam pembuatan sebuah exception. Untuk fungsi masing exception tersebut silahkan anda explore sendiri.
  • 3. Hak Cipta © pada Inggih Permana Contoh public 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 yang dibagi dengan 0, dan hasilnya tidak akan terdefenisi. Contoh penggunaan public class TesException2 { public static void main(String[] args){ ContohExecption ce = new ContohExecption(); ce.tesException(); } } Multiple Exception Anda bisa menggunakan lebih dari satu jenis exception secara bersamaan. Caranya adalah hanya dengan menambahkan 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 Permana Contoh public 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 dan ArrayIndexOutOfBoundsException. Berikut contoh penggunaannya. public class TesException2 { public static void main(String[] args){ ContohExecption ce = new ContohExecption(); ce.tesException(); } } finally finally 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 Permana Contoh public 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(); } } throws Throws adalah sintaks untuk membuat sebuah method mempunyai beberapa exception. Nanti statement yang menggunakan method tersebut harus menerapkan try{} dan catch(){}. return_value nama_method() throws exception1, exception2, …, exception n{ isi method } Contoh public class ContohException4 { void tesException() throws ArithmeticException, ArrayIndexOutOfBoundsException{ double x = 3/0; double[] y = new double[3]; y[4] = x; } }
  • 6. Hak Cipta © pada Inggih Permana public 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"); } } }