SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
TUGAS
PRAKTIKUM
EXCEPTION HANDLING
PEMROGRAMAN BERORIENTASI
OBJECT
DISUSUN OLEH :
MELINA KRISNAWATI
12.12.0328
SI 12 F
STMIK AMIKOM PURWOKERTO
TAHUN AJARAN 2012/2013
SOAL (KASUS)
 Membuat program yang menggunakan Exception Handling.
 Membuat rangkuman praktikum tentang Exception Handling.
LANDASAN TEORI
PENGERTIAN
 Exception adalah setiap kejadian yang abnormal, tidak diharapkan, dan kondisi
yang tidak umum yang mungkin terjadi pada saat run – time program.
 Exception adalah event yang tejadi ketika program menemui kesalahan saat
instruksi program dijalankan.
 Exception adalah singkatan dari Exceptional Events. Menurut definisi umum,
exception adalah kondisi abnormal yang terjadi saat run-time. Runtime error atau
kesalahan – kesalahan yang terjadi pada saat program berjalan dan exception.
Exception dapat dibangkitkan secara otomatis oleh system Java runtime maupun
sengaja kita buat melalui pernyataan tertentu untuk tujuan tertentu.
Nah dapat kita simpulkan dari pengertian diatas, exception handling adalah suatu
penanganan saat terjadi kesalahan pada sebuah program akan terjadi suatu bentuk
penanganan oleh Java runtime ataupun dilakukan oleh kita yang sering disebut dengan
exception handling dan exception handling sudah berjalan otomatis oleh java runtime atau
dijalankan oleh kita melalui sebuah prosedur untuk mendapatkan suatu hasil tertentu atau
dalam arti lain yaitu suatu cara untuk mengatasi kesalahan user.
FUNGSI EXCEPTION HANDLING
Apa sih fungsi dari exception handling ?
Fungsi dari exception handling adalah untuk mengatasi suatu kesalahan inputan user
dengan suatu metode kita akan memberikan pesan pada saat user salah memasukan
inputan dengan ini program tidak akan tertutup dengan sendirinya.
JENIS - JENIS EXCEPTION (ERROR) HANDLING
Berdasarkan jenisnya kesalahan dalam pemrograman terbagi menjadi 3, yaitu :
1. Runtime Error
Adalah exception yang bisa saja tidak ditangani tanpa menyebabkan program
berhenti kecuali jika propogasi exceptionnya sampai k main, maka akan
menyebabkan terminasi program secara subnormal. Checked exception adalah
exception yang ditangani secara explicit didalam throws. Programmer harus
membuat catch untuk menangani exception yang terjadi. Sedangkan error adalah
kesalahan yang tidak unrecoverable exception artinya tidak bisa ditangani oleh
catch.
Atau pengertian lain, Runtime error adalah kesalahan yang disebabkan oleh tidak
tersedianya sumber daya atau kondisi yang normal bagi program untuk berjalan
dengan baik, misalnya kekurangan memori computer, disk full, atau pintu drive
tidak terkunci, dll.
2. Logical Error
Adalah kesalahan yang disebabkan oleh kesalahan logika maupun model atau
metode yang digunakan untuk pemrosesan data, sehingga menyebabkan informasi
yang dihasilkan menjadi salah. Kesalahan ini tidak dapat dideteksi oleh compiler
maupun interpreter, kesalahan ini disadari setelah melihat penyimpanan pada saat
proses maupun hasil proses.
3. Syntax Error
Adalah kesalahan yang disebabkan oleh kesalahan tata cara penulisan tanda baca,
kesalahan pemakaian operator dan nilai. Kesalahan jenis ini akan dengan mudah
dideteksi oleh compiler maupun interpreter.
KEYWORD PENTING PADA EXCEPTION HANDLING
Ada 5 keyword penting dalam java dalam hal exception handling :
1. Try
Keyword ini biasanya digunakan dalam suatu block program. Keyword ini
digunakan untuk mencoba menjalankan block program kemudian mengenai dimana
munculnya kesalahan yang ingin diproses. Keyword ini juga harus dipasangkan
dengan keyword catch atau keyword finally.
2. Catch
Kegunaan keyword ini adalah menangkap kesalahan atau bug yagn terjadi dalam
block try. Setelah mengangkap kesalahan yang terjadi maka developer dapat
melakukan hal apapun pada block catch sesuai keinginan developer.
3. Finally
Keyword ini merupakan keyword yang menunjukan bahwa block program tersebut
akan selalu dieksekusi meskipun adanya kesalahan yang muncul ataupun tidak ada.
4. Throw
Keyword ini digunakan untuk melemparkan suatu bug yang dibuat secara manual.
5. Throws
Keyword throws digunakan dalam suatu method atau kelas yang mungkin
menghasilkan suatu kesalahan perlu ditangkap errornya. Cara mendefinisikannya
adalah sebagai berikut : <method modifier> type method-name throws exception-
lis1,exception-list2,…..{}.
Throw dan throws
Tujuan dari penggunaan throw adalah untuk menerbitkan exception yang diberikan
kepada method yang dipanggil. Sedangkan throws digunakan untuk Checked
Exception agar dapat dipropogasikan sampai ke main.
PEMBAHASAN
Pembahasan contoh try :
Perhatikan contoh try, ada beberapa hal penting yang perlu dilihat. Pertama, block
program yang diyakini menimbulkan kesalahan maka ada di dalam block try and catch.
Kedua, kesalahan yang muncul akan dianggap sebagai object dan ditangkap catch
kemudian di assign ke variable kesalahan dengan tipe Exception. Ketiga, perintah setelah
munculnya kesalahan pada block try tidak akan dieksekusi.
Pembahasan contoh catch :
Jika sudah melihat contoh try, maka secara tidak langsung , kita sudah memahami
kegunaan keyword catch. Dalam java, keyword catch harus dipasangkan dengan try.
Kegunaan keyword ini adalah menangkap kesalahan atau bug yang terjadi dalam block try.
Setelah menangkap kesalahan yang terjadi maka developer dapat melakukan hal apapun
pada block catch sesuai keinginan developer. Keyword catch juga dapat diletakan berulang
– ulang sesuai dengan kebutuhan, seperti yang ada pada contoh.
Pembahasan contoh finally :
Perhatikan kedua contoh finally dibawah ini, block finally akan selalu dieksekusi meskipun
adanya kesalahan atau tidak pada block try. Berbeda dengan keyword catch, keyword
finally hanya dapat diletakkan 1 kali setelah keyword try.
Pembahasan contoh throw :
Seperti yang sudah dilihat pada contoh program, pada keyword throw new Exception
(“Kesalahan terjadi”); akan melempar object bertipe exception yang merupakan subclass
dari class Exception sehingga akan dianggap sebagai suatu kesalahan yang harus dianggap
oleh keyword catch.
Pada contoh program, telah mendefinisikan suatu kelas B mengextends dari kelas
Exception. Ketika kita melakukan throw new B(); maka object dari kelas bertipe B ini akan
dianggap kesalahan dan ditangkap oleh block catch.
Pembahasan contoh throws :
Perhatikan pada kedua contoh program menggunakan throws pada method. Ketika method
tersebut dipanggil dalam block try. Maka method tersebut akan membuat object yang
merupakan subclass dari class Throwable dan method tersebut akan melemparkan
kesalahan yang ada dalam block method ke dalam block try. Di dalam block try, kesalahan
tersebut kemudian ditangkap kedalam block catch.
Pembahasan contoh Exception1 :
Error pada saat kompilasi terjadi karena FileReader() yang merupakan salah satu objek
pada paket java.io, memiliki aturan bahwa ketika dia menerima parameter nama file untuk
dibaca, jika file yang bersangkutan tidak ada, akan dilemparkan sebuah exception yang
bernama java.io.FileNotFoundException. exception ini harus dikelola oleh sebuah fungsi
yang menjadi exception-handler-nya.
Pembahasan contoh Divide dan Contoh1 :
Kedua program tersebut adalah menggunakan keyword try dan catch. Keyword try
digunakan pada suatu block program yang diperkirakan block tersebut terjadi exception.
Keyword try harus dipasangkan dengan keyword catch. Keyword catch tersebut digunakan
untuk menangkap dan memproses bila terjadi exception. Sedangkan finally ini merupakan
keyword yang menunjukan bahwa blok program tersebut akan selalu dieksekusi meskipun
adanya kesalahan yang muncul ataupun tidak ada, keyword ini bersifat optional semacam
default pada switch-case.
LISTING PROGRAM & HASIL RUNNING
Contoh penggunaan Try :
package pkgtry;
/**
*
* @author azuura
*/
public class Try {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
try {
int a = 1 / 0; // berpotensi untuk menimbulkan kesalahan
//yaitu pembagian dengan bilangan 0
System.out.println("Perintah selanjutnya");
} catch (Exception kesalahanException) {
System.err.println(kesalahanException);
}
}
}
Contoh penggunaan Catch :
public class Contoh_Catch {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
try {
int a = 1 / 0; //berpotensi untuk menimbulkan kesalahan
//yaitu pembagian dengan bilangan 0
System.out.println("Perintah Selanjutnya");
} catch (NullPointerException e) {
} catch (ArrayIndexOutOfBoundsException e) {
} catch (Exception e) {
}
}
}
Contoh penggunaan finally :
public class Contoh_finally {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
try {
//int a = 1/0;
}
finally
{
System.out.println("Terima kasih telah menjalankan program");
}
}
}
Contoh modifikasi dari finally :
public class Modifikasi_contoh_finally {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
try {
int a = 1/0;
} catch (Exception e) {
System.out.println("Ada kesalahan yang muncul");
}
finally {
System.out.println("Terima kasih telah menjalankan program");
}
}
}
Contoh penggunaan Throw :
public class Throw {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
try {
throw new Exception("Kesalahan Terjadi");
} catch (Exception e) {
System.out.println(e);
}
}
}
Contoh modifikasi dari throw
public class Modifikasi_throw {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
try {
throw new B();//cobalah ganti baris ini dengan a new B();
} catch (Exception e) {
System.out.println(e);
}
}
}
class B extends Exception
{
B()
{
}
public String toString()
{
return "object dengan tipe kelas B";
}
}
Contoh penggunaan Throws :
Outputnya :
Contoh modifikasi dari throws
Outputnya :
Contoh penggunaan Exception Handling (dari modul) :
public class Exception1 {
private FileReader in;
public Exception1 (String filename){
in = new FileReader(filename);
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Exception1 ex = new Exception1("/etc/passwd");
}
}
Contoh modifikasinya :
package exception1;
import java.io.FileNotFoundException;
import java.io.FileReader;
/**
*
* @author azuura
*/
public class Exception1 {
private FileReader in;
public Exception1 (String filename){
try {
in = new FileReader(filename);
} catch (java.io.FileNotFoundException ex) {
System.err.println("File tidak ditemukan");
System.exit(0);
}
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Exception1 ex = new Exception1("/etc/passwd");
}
}
Contoh program menggunakan exception :
package divide;
import java.util.Scanner;
/**
*
* @author azuura
*/
public class Divide {
public static void main(String[] args) {
// TODO code application logic here
float a, b, hasil = 0;
System.out.print("Bilangan Penyebut : ");
Scanner input = new Scanner(System.in);
a = input.nextFloat();
System.out.print("Bilangan Pembagi : ");
input = new Scanner(System.in);
b = input.nextFloat();
try {
hasil = a / b;
} catch (ArithmeticException e) {
System.out.println(e.getMessage());
} catch (Exception e) {
System.out.println(e.toString());
} finally {
System.out.println("ext");
System.out.println("Hasil : " + hasil);
}
}
}
Contoh program menggunakan exception :
package contoh1;
import java.util.InputMismatchException;
import java.util.Scanner;
import org.omg.PortableInterceptor.SYSTEM_EXCEPTION;
/**
*
* @author azuura
*/
public class Contoh1 {
public static void main(String[] args) {
// TODO code application logic here
float a, b;
System.out.print("Bilangan Penyebut : ");
Scanner input = new Scanner(System.in);
a = input.nextInt();
System.out.print("Bilangan Pembagi : ");
input = new Scanner(System.in);
b = input.nextInt();
try {
float hitung = a / b;
System.out.println("Hasil : " + hitung);
} catch (ArithmeticException e) {
System.out.println(e.toString());
} catch (InputMismatchException e) {
System.out.println(e.toString());
}
}
}
KESIMPULAN
Kesimpulannya adalah bahwa Exception merupakan kondisi yang menyebabkan program
menjadi hang atau error atau quit dari alur normal yang telah ditentukan pada saat
program dijalankan. Exception ini dipicu oleh Runtime Error, yaitu error yang terjadi saat
program dieksekusi. Pada dasarnya Exception merupakan subclass dari kelas Throwable,
kelas ini terdapat pada package java.lang.object yang merupakan default library dari java.
Class Exception mempunyai beberapa subclass yaitu :
ClassNotFoundException, terjadi bila kita menggunakan class yang tidak ada.
CloneNotSupportedException, terjadi bila kita mencoba untuk menggandakan suatu class
yang tidak didukung oleh method clone.
DAFTAR PUSTAKA
Deitel, H; Deitel, M. 2002. Java How to Program, 3rd Ed. Pretince Hall, New York.
Weiss, Mark Allen. Data Structures and Problem Solving Using Java.
http://www.aw-bc.com/cssupport
http://www.netbeans.org
Astuti, Tri. 2013. Modul Praktikum 3 “Exception Handling”.

Contenu connexe

Tendances

Program transpose matriks
Program transpose matriksProgram transpose matriks
Program transpose matriksSimon Patabang
 
Makalah Kegunaan Matematika Diskrit pada Teknik Informatika
Makalah Kegunaan Matematika Diskrit pada Teknik InformatikaMakalah Kegunaan Matematika Diskrit pada Teknik Informatika
Makalah Kegunaan Matematika Diskrit pada Teknik Informatikasaid zulhelmi
 
Analisis Leksikal - P4
Analisis Leksikal - P4Analisis Leksikal - P4
Analisis Leksikal - P4ahmad haidaroh
 
Makalah array
Makalah arrayMakalah array
Makalah arrayAnanda II
 
Makalah sistem-operasi
Makalah sistem-operasiMakalah sistem-operasi
Makalah sistem-operasiIKHSAN MAHRURI
 
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAri Septiawan
 
Ch 04 (Siklus Instruksi dan Interrupt)
Ch 04 (Siklus Instruksi dan Interrupt)Ch 04 (Siklus Instruksi dan Interrupt)
Ch 04 (Siklus Instruksi dan Interrupt)Tri Sugihartono
 
Pertemuan 9 pengalamatan
Pertemuan 9 pengalamatanPertemuan 9 pengalamatan
Pertemuan 9 pengalamatanBuhori Muslim
 
Jenis dan proses interupsi
Jenis dan proses interupsiJenis dan proses interupsi
Jenis dan proses interupsilaurensius08
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)Kelinci Coklat
 
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1BAIDILAH Baidilah
 
Materi pemrograman dasar 5 percabangan
Materi pemrograman dasar 5 percabanganMateri pemrograman dasar 5 percabangan
Materi pemrograman dasar 5 percabanganAsepSunandar12
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Rakhmat Dedi Gunawan
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomataBanta Cut
 
Logika informatika-8 (1)
Logika informatika-8 (1)Logika informatika-8 (1)
Logika informatika-8 (1)Jackzid
 
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman TerstrukturKelinci Coklat
 

Tendances (20)

Program transpose matriks
Program transpose matriksProgram transpose matriks
Program transpose matriks
 
Power Point \ PPT - Memori Eksternal
Power Point \ PPT - Memori EksternalPower Point \ PPT - Memori Eksternal
Power Point \ PPT - Memori Eksternal
 
Resume praktikum 6 stack
Resume praktikum 6 stackResume praktikum 6 stack
Resume praktikum 6 stack
 
Makalah Kegunaan Matematika Diskrit pada Teknik Informatika
Makalah Kegunaan Matematika Diskrit pada Teknik InformatikaMakalah Kegunaan Matematika Diskrit pada Teknik Informatika
Makalah Kegunaan Matematika Diskrit pada Teknik Informatika
 
Flip-Flop
Flip-FlopFlip-Flop
Flip-Flop
 
Analisis Leksikal - P4
Analisis Leksikal - P4Analisis Leksikal - P4
Analisis Leksikal - P4
 
Makalah array
Makalah arrayMakalah array
Makalah array
 
Makalah sistem-operasi
Makalah sistem-operasiMakalah sistem-operasi
Makalah sistem-operasi
 
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
 
Ch 04 (Siklus Instruksi dan Interrupt)
Ch 04 (Siklus Instruksi dan Interrupt)Ch 04 (Siklus Instruksi dan Interrupt)
Ch 04 (Siklus Instruksi dan Interrupt)
 
Topik 8 Perulangan
Topik 8 PerulanganTopik 8 Perulangan
Topik 8 Perulangan
 
Pertemuan 9 pengalamatan
Pertemuan 9 pengalamatanPertemuan 9 pengalamatan
Pertemuan 9 pengalamatan
 
Jenis dan proses interupsi
Jenis dan proses interupsiJenis dan proses interupsi
Jenis dan proses interupsi
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
 
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1Menyederhanakan fungsi boolean dengan menggunakan metode quin1
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
 
Materi pemrograman dasar 5 percabangan
Materi pemrograman dasar 5 percabanganMateri pemrograman dasar 5 percabangan
Materi pemrograman dasar 5 percabangan
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomata
 
Logika informatika-8 (1)
Logika informatika-8 (1)Logika informatika-8 (1)
Logika informatika-8 (1)
 
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
 

Similaire à Exception Handling

OOP - Exception
OOP - ExceptionOOP - Exception
OOP - ExceptionKuliahKita
 
4. Materi Java Eclipse 4
4. Materi Java Eclipse 44. Materi Java Eclipse 4
4. Materi Java Eclipse 4Ismail Akbar
 
Tugas praktek 3 Pemrograman Berorientasi Objek
Tugas praktek 3 Pemrograman Berorientasi ObjekTugas praktek 3 Pemrograman Berorientasi Objek
Tugas praktek 3 Pemrograman Berorientasi ObjekPungkas Soebarkah
 
8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdf8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdfJurnal IT
 
8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdf8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdfJurnal IT
 
Jeni intro1-bab12-dasar exception handling
Jeni intro1-bab12-dasar exception handlingJeni intro1-bab12-dasar exception handling
Jeni intro1-bab12-dasar exception handlingKristanto Wijaya
 
Jeni Intro1 Bab12 Dasar Exception Handling
Jeni Intro1 Bab12 Dasar Exception HandlingJeni Intro1 Bab12 Dasar Exception Handling
Jeni Intro1 Bab12 Dasar Exception HandlingIndividual Consultants
 
Jeni Intro2 Bab02 Exception Dan Assertion
Jeni Intro2 Bab02 Exception Dan AssertionJeni Intro2 Bab02 Exception Dan Assertion
Jeni Intro2 Bab02 Exception Dan AssertionIndividual Consultants
 
Exception Handling
Exception HandlingException Handling
Exception HandlingDany Liu's
 
[PBO] Pertemuan 10 - Exception & Error Handling
[PBO] Pertemuan 10 - Exception & Error Handling[PBO] Pertemuan 10 - Exception & Error Handling
[PBO] Pertemuan 10 - Exception & Error Handlingrizki adam kurniawan
 
PBO - Pert 8, Mengenal dan Memahami Konsep Jump Pada Perulangan dan Percabang...
PBO - Pert 8, Mengenal dan Memahami Konsep Jump Pada Perulangan dan Percabang...PBO - Pert 8, Mengenal dan Memahami Konsep Jump Pada Perulangan dan Percabang...
PBO - Pert 8, Mengenal dan Memahami Konsep Jump Pada Perulangan dan Percabang...RUDISELAMAT2
 

Similaire à Exception Handling (20)

OOP - Exception
OOP - ExceptionOOP - Exception
OOP - Exception
 
14741 9 exception & assertion
14741 9 exception & assertion14741 9 exception & assertion
14741 9 exception & assertion
 
4. Materi Java Eclipse 4
4. Materi Java Eclipse 44. Materi Java Eclipse 4
4. Materi Java Eclipse 4
 
Tugas praktek 3 Pemrograman Berorientasi Objek
Tugas praktek 3 Pemrograman Berorientasi ObjekTugas praktek 3 Pemrograman Berorientasi Objek
Tugas praktek 3 Pemrograman Berorientasi Objek
 
16. error handling
16. error handling16. error handling
16. error handling
 
8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdf8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdf
 
8 penangan eksepsi
8 penangan eksepsi8 penangan eksepsi
8 penangan eksepsi
 
8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdf8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdf
 
Jeni intro1-bab12-dasar exception handling
Jeni intro1-bab12-dasar exception handlingJeni intro1-bab12-dasar exception handling
Jeni intro1-bab12-dasar exception handling
 
Jeni Intro1 Bab12 Dasar Exception Handling
Jeni Intro1 Bab12 Dasar Exception HandlingJeni Intro1 Bab12 Dasar Exception Handling
Jeni Intro1 Bab12 Dasar Exception Handling
 
Jeni Intro2 Bab02 Exception Dan Assertion
Jeni Intro2 Bab02 Exception Dan AssertionJeni Intro2 Bab02 Exception Dan Assertion
Jeni Intro2 Bab02 Exception Dan Assertion
 
Java7
Java7Java7
Java7
 
6497 13 penanganan pesan exception
6497 13 penanganan pesan exception6497 13 penanganan pesan exception
6497 13 penanganan pesan exception
 
Exception Handling
Exception HandlingException Handling
Exception Handling
 
Laporan pboii 2yosa
Laporan pboii 2yosaLaporan pboii 2yosa
Laporan pboii 2yosa
 
[PBO] Pertemuan 10 - Exception & Error Handling
[PBO] Pertemuan 10 - Exception & Error Handling[PBO] Pertemuan 10 - Exception & Error Handling
[PBO] Pertemuan 10 - Exception & Error Handling
 
PBO - Pert 8, Mengenal dan Memahami Konsep Jump Pada Perulangan dan Percabang...
PBO - Pert 8, Mengenal dan Memahami Konsep Jump Pada Perulangan dan Percabang...PBO - Pert 8, Mengenal dan Memahami Konsep Jump Pada Perulangan dan Percabang...
PBO - Pert 8, Mengenal dan Memahami Konsep Jump Pada Perulangan dan Percabang...
 
29934 materi dan tugas pbo lanjut exception_
29934 materi dan tugas pbo lanjut  exception_29934 materi dan tugas pbo lanjut  exception_
29934 materi dan tugas pbo lanjut exception_
 
Penanganan kesalahan menangkap exception
Penanganan kesalahan menangkap exceptionPenanganan kesalahan menangkap exception
Penanganan kesalahan menangkap exception
 
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
 

Plus de Melina Krisnawati

makalah sistem operasi - android vd ios
makalah sistem operasi - android vd iosmakalah sistem operasi - android vd ios
makalah sistem operasi - android vd iosMelina Krisnawati
 
Kode program layout xml dan tampilan ui graphical (menggunakan eclipse)
Kode program layout xml dan tampilan ui graphical (menggunakan eclipse)Kode program layout xml dan tampilan ui graphical (menggunakan eclipse)
Kode program layout xml dan tampilan ui graphical (menggunakan eclipse)Melina Krisnawati
 
Aplikasi sistem informasi pada fungsi fungsi organisasi
Aplikasi sistem informasi pada fungsi   fungsi organisasiAplikasi sistem informasi pada fungsi   fungsi organisasi
Aplikasi sistem informasi pada fungsi fungsi organisasiMelina Krisnawati
 
Laporan Final Project - Aplikasi Sistem Informasi Rental CD - Netbeans
Laporan Final Project - Aplikasi Sistem Informasi Rental CD - NetbeansLaporan Final Project - Aplikasi Sistem Informasi Rental CD - Netbeans
Laporan Final Project - Aplikasi Sistem Informasi Rental CD - NetbeansMelina Krisnawati
 
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented ProgrammingJava (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented ProgrammingMelina Krisnawati
 
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)Melina Krisnawati
 
Java (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented ProgrammingJava (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented ProgrammingMelina Krisnawati
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Melina Krisnawati
 
Laporan pembuatan Final Project (Java - Netbeans) "Rental CD"
Laporan pembuatan Final Project (Java - Netbeans) "Rental CD"Laporan pembuatan Final Project (Java - Netbeans) "Rental CD"
Laporan pembuatan Final Project (Java - Netbeans) "Rental CD"Melina Krisnawati
 
Konsep & storyboard game multimedia (puzzle alphabet)
Konsep & storyboard game multimedia (puzzle alphabet)Konsep & storyboard game multimedia (puzzle alphabet)
Konsep & storyboard game multimedia (puzzle alphabet)Melina Krisnawati
 
Multimedia 2D (Game) - Puzzle alphabet
Multimedia 2D (Game) - Puzzle alphabetMultimedia 2D (Game) - Puzzle alphabet
Multimedia 2D (Game) - Puzzle alphabetMelina Krisnawati
 
Pemrograman Mobile - Try Catch
Pemrograman Mobile - Try CatchPemrograman Mobile - Try Catch
Pemrograman Mobile - Try CatchMelina Krisnawati
 
Laporan praktikum 4 Sistem Operasi - External Command (mem, xcopy, system, l...
Laporan praktikum 4  Sistem Operasi - External Command (mem, xcopy, system, l...Laporan praktikum 4  Sistem Operasi - External Command (mem, xcopy, system, l...
Laporan praktikum 4 Sistem Operasi - External Command (mem, xcopy, system, l...Melina Krisnawati
 
Laporan praktikum 3 - Sistem Operasi Internal & External Command (Lanjutan)
Laporan praktikum 3 - Sistem Operasi Internal & External Command (Lanjutan)Laporan praktikum 3 - Sistem Operasi Internal & External Command (Lanjutan)
Laporan praktikum 3 - Sistem Operasi Internal & External Command (Lanjutan)Melina Krisnawati
 
Laporan praktikum 2 - Sistem Operasi - internal command - copy con, rename,...
Laporan praktikum 2  - Sistem Operasi -  internal command - copy con, rename,...Laporan praktikum 2  - Sistem Operasi -  internal command - copy con, rename,...
Laporan praktikum 2 - Sistem Operasi - internal command - copy con, rename,...Melina Krisnawati
 
Laporan Praktikum - Sistem Operasi - Perintah Internal Command
Laporan Praktikum - Sistem Operasi - Perintah Internal CommandLaporan Praktikum - Sistem Operasi - Perintah Internal Command
Laporan Praktikum - Sistem Operasi - Perintah Internal CommandMelina Krisnawati
 

Plus de Melina Krisnawati (20)

makalah sistem operasi - android vd ios
makalah sistem operasi - android vd iosmakalah sistem operasi - android vd ios
makalah sistem operasi - android vd ios
 
Kode program layout xml dan tampilan ui graphical (menggunakan eclipse)
Kode program layout xml dan tampilan ui graphical (menggunakan eclipse)Kode program layout xml dan tampilan ui graphical (menggunakan eclipse)
Kode program layout xml dan tampilan ui graphical (menggunakan eclipse)
 
menu strip - visual basic
menu strip - visual basicmenu strip - visual basic
menu strip - visual basic
 
Tugas algoritma fibonacci
Tugas algoritma   fibonacciTugas algoritma   fibonacci
Tugas algoritma fibonacci
 
Tugas algoritma faktorial
Tugas algoritma   faktorialTugas algoritma   faktorial
Tugas algoritma faktorial
 
Algoritma - Array
Algoritma - ArrayAlgoritma - Array
Algoritma - Array
 
Aplikasi sistem informasi pada fungsi fungsi organisasi
Aplikasi sistem informasi pada fungsi   fungsi organisasiAplikasi sistem informasi pada fungsi   fungsi organisasi
Aplikasi sistem informasi pada fungsi fungsi organisasi
 
Laporan Final Project - Aplikasi Sistem Informasi Rental CD - Netbeans
Laporan Final Project - Aplikasi Sistem Informasi Rental CD - NetbeansLaporan Final Project - Aplikasi Sistem Informasi Rental CD - Netbeans
Laporan Final Project - Aplikasi Sistem Informasi Rental CD - Netbeans
 
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented ProgrammingJava (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
 
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
 
Java (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented ProgrammingJava (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented Programming
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
 
Laporan pembuatan Final Project (Java - Netbeans) "Rental CD"
Laporan pembuatan Final Project (Java - Netbeans) "Rental CD"Laporan pembuatan Final Project (Java - Netbeans) "Rental CD"
Laporan pembuatan Final Project (Java - Netbeans) "Rental CD"
 
Konsep & storyboard game multimedia (puzzle alphabet)
Konsep & storyboard game multimedia (puzzle alphabet)Konsep & storyboard game multimedia (puzzle alphabet)
Konsep & storyboard game multimedia (puzzle alphabet)
 
Multimedia 2D (Game) - Puzzle alphabet
Multimedia 2D (Game) - Puzzle alphabetMultimedia 2D (Game) - Puzzle alphabet
Multimedia 2D (Game) - Puzzle alphabet
 
Pemrograman Mobile - Try Catch
Pemrograman Mobile - Try CatchPemrograman Mobile - Try Catch
Pemrograman Mobile - Try Catch
 
Laporan praktikum 4 Sistem Operasi - External Command (mem, xcopy, system, l...
Laporan praktikum 4  Sistem Operasi - External Command (mem, xcopy, system, l...Laporan praktikum 4  Sistem Operasi - External Command (mem, xcopy, system, l...
Laporan praktikum 4 Sistem Operasi - External Command (mem, xcopy, system, l...
 
Laporan praktikum 3 - Sistem Operasi Internal & External Command (Lanjutan)
Laporan praktikum 3 - Sistem Operasi Internal & External Command (Lanjutan)Laporan praktikum 3 - Sistem Operasi Internal & External Command (Lanjutan)
Laporan praktikum 3 - Sistem Operasi Internal & External Command (Lanjutan)
 
Laporan praktikum 2 - Sistem Operasi - internal command - copy con, rename,...
Laporan praktikum 2  - Sistem Operasi -  internal command - copy con, rename,...Laporan praktikum 2  - Sistem Operasi -  internal command - copy con, rename,...
Laporan praktikum 2 - Sistem Operasi - internal command - copy con, rename,...
 
Laporan Praktikum - Sistem Operasi - Perintah Internal Command
Laporan Praktikum - Sistem Operasi - Perintah Internal CommandLaporan Praktikum - Sistem Operasi - Perintah Internal Command
Laporan Praktikum - Sistem Operasi - Perintah Internal Command
 

Exception Handling

  • 1. TUGAS PRAKTIKUM EXCEPTION HANDLING PEMROGRAMAN BERORIENTASI OBJECT DISUSUN OLEH : MELINA KRISNAWATI 12.12.0328 SI 12 F STMIK AMIKOM PURWOKERTO TAHUN AJARAN 2012/2013
  • 2. SOAL (KASUS)  Membuat program yang menggunakan Exception Handling.  Membuat rangkuman praktikum tentang Exception Handling. LANDASAN TEORI PENGERTIAN  Exception adalah setiap kejadian yang abnormal, tidak diharapkan, dan kondisi yang tidak umum yang mungkin terjadi pada saat run – time program.  Exception adalah event yang tejadi ketika program menemui kesalahan saat instruksi program dijalankan.  Exception adalah singkatan dari Exceptional Events. Menurut definisi umum, exception adalah kondisi abnormal yang terjadi saat run-time. Runtime error atau kesalahan – kesalahan yang terjadi pada saat program berjalan dan exception. Exception dapat dibangkitkan secara otomatis oleh system Java runtime maupun sengaja kita buat melalui pernyataan tertentu untuk tujuan tertentu. Nah dapat kita simpulkan dari pengertian diatas, exception handling adalah suatu penanganan saat terjadi kesalahan pada sebuah program akan terjadi suatu bentuk penanganan oleh Java runtime ataupun dilakukan oleh kita yang sering disebut dengan exception handling dan exception handling sudah berjalan otomatis oleh java runtime atau dijalankan oleh kita melalui sebuah prosedur untuk mendapatkan suatu hasil tertentu atau dalam arti lain yaitu suatu cara untuk mengatasi kesalahan user. FUNGSI EXCEPTION HANDLING Apa sih fungsi dari exception handling ? Fungsi dari exception handling adalah untuk mengatasi suatu kesalahan inputan user dengan suatu metode kita akan memberikan pesan pada saat user salah memasukan inputan dengan ini program tidak akan tertutup dengan sendirinya.
  • 3. JENIS - JENIS EXCEPTION (ERROR) HANDLING Berdasarkan jenisnya kesalahan dalam pemrograman terbagi menjadi 3, yaitu : 1. Runtime Error Adalah exception yang bisa saja tidak ditangani tanpa menyebabkan program berhenti kecuali jika propogasi exceptionnya sampai k main, maka akan menyebabkan terminasi program secara subnormal. Checked exception adalah exception yang ditangani secara explicit didalam throws. Programmer harus membuat catch untuk menangani exception yang terjadi. Sedangkan error adalah kesalahan yang tidak unrecoverable exception artinya tidak bisa ditangani oleh catch. Atau pengertian lain, Runtime error adalah kesalahan yang disebabkan oleh tidak tersedianya sumber daya atau kondisi yang normal bagi program untuk berjalan dengan baik, misalnya kekurangan memori computer, disk full, atau pintu drive tidak terkunci, dll. 2. Logical Error Adalah kesalahan yang disebabkan oleh kesalahan logika maupun model atau metode yang digunakan untuk pemrosesan data, sehingga menyebabkan informasi yang dihasilkan menjadi salah. Kesalahan ini tidak dapat dideteksi oleh compiler maupun interpreter, kesalahan ini disadari setelah melihat penyimpanan pada saat proses maupun hasil proses. 3. Syntax Error Adalah kesalahan yang disebabkan oleh kesalahan tata cara penulisan tanda baca, kesalahan pemakaian operator dan nilai. Kesalahan jenis ini akan dengan mudah dideteksi oleh compiler maupun interpreter. KEYWORD PENTING PADA EXCEPTION HANDLING Ada 5 keyword penting dalam java dalam hal exception handling : 1. Try Keyword ini biasanya digunakan dalam suatu block program. Keyword ini digunakan untuk mencoba menjalankan block program kemudian mengenai dimana munculnya kesalahan yang ingin diproses. Keyword ini juga harus dipasangkan dengan keyword catch atau keyword finally.
  • 4. 2. Catch Kegunaan keyword ini adalah menangkap kesalahan atau bug yagn terjadi dalam block try. Setelah mengangkap kesalahan yang terjadi maka developer dapat melakukan hal apapun pada block catch sesuai keinginan developer. 3. Finally Keyword ini merupakan keyword yang menunjukan bahwa block program tersebut akan selalu dieksekusi meskipun adanya kesalahan yang muncul ataupun tidak ada. 4. Throw Keyword ini digunakan untuk melemparkan suatu bug yang dibuat secara manual. 5. Throws Keyword throws digunakan dalam suatu method atau kelas yang mungkin menghasilkan suatu kesalahan perlu ditangkap errornya. Cara mendefinisikannya adalah sebagai berikut : <method modifier> type method-name throws exception- lis1,exception-list2,…..{}. Throw dan throws Tujuan dari penggunaan throw adalah untuk menerbitkan exception yang diberikan kepada method yang dipanggil. Sedangkan throws digunakan untuk Checked Exception agar dapat dipropogasikan sampai ke main.
  • 5. PEMBAHASAN Pembahasan contoh try : Perhatikan contoh try, ada beberapa hal penting yang perlu dilihat. Pertama, block program yang diyakini menimbulkan kesalahan maka ada di dalam block try and catch. Kedua, kesalahan yang muncul akan dianggap sebagai object dan ditangkap catch kemudian di assign ke variable kesalahan dengan tipe Exception. Ketiga, perintah setelah munculnya kesalahan pada block try tidak akan dieksekusi. Pembahasan contoh catch : Jika sudah melihat contoh try, maka secara tidak langsung , kita sudah memahami kegunaan keyword catch. Dalam java, keyword catch harus dipasangkan dengan try. Kegunaan keyword ini adalah menangkap kesalahan atau bug yang terjadi dalam block try. Setelah menangkap kesalahan yang terjadi maka developer dapat melakukan hal apapun pada block catch sesuai keinginan developer. Keyword catch juga dapat diletakan berulang – ulang sesuai dengan kebutuhan, seperti yang ada pada contoh. Pembahasan contoh finally : Perhatikan kedua contoh finally dibawah ini, block finally akan selalu dieksekusi meskipun adanya kesalahan atau tidak pada block try. Berbeda dengan keyword catch, keyword finally hanya dapat diletakkan 1 kali setelah keyword try. Pembahasan contoh throw : Seperti yang sudah dilihat pada contoh program, pada keyword throw new Exception (“Kesalahan terjadi”); akan melempar object bertipe exception yang merupakan subclass dari class Exception sehingga akan dianggap sebagai suatu kesalahan yang harus dianggap oleh keyword catch. Pada contoh program, telah mendefinisikan suatu kelas B mengextends dari kelas Exception. Ketika kita melakukan throw new B(); maka object dari kelas bertipe B ini akan dianggap kesalahan dan ditangkap oleh block catch.
  • 6. Pembahasan contoh throws : Perhatikan pada kedua contoh program menggunakan throws pada method. Ketika method tersebut dipanggil dalam block try. Maka method tersebut akan membuat object yang merupakan subclass dari class Throwable dan method tersebut akan melemparkan kesalahan yang ada dalam block method ke dalam block try. Di dalam block try, kesalahan tersebut kemudian ditangkap kedalam block catch. Pembahasan contoh Exception1 : Error pada saat kompilasi terjadi karena FileReader() yang merupakan salah satu objek pada paket java.io, memiliki aturan bahwa ketika dia menerima parameter nama file untuk dibaca, jika file yang bersangkutan tidak ada, akan dilemparkan sebuah exception yang bernama java.io.FileNotFoundException. exception ini harus dikelola oleh sebuah fungsi yang menjadi exception-handler-nya. Pembahasan contoh Divide dan Contoh1 : Kedua program tersebut adalah menggunakan keyword try dan catch. Keyword try digunakan pada suatu block program yang diperkirakan block tersebut terjadi exception. Keyword try harus dipasangkan dengan keyword catch. Keyword catch tersebut digunakan untuk menangkap dan memproses bila terjadi exception. Sedangkan finally ini merupakan keyword yang menunjukan bahwa blok program tersebut akan selalu dieksekusi meskipun adanya kesalahan yang muncul ataupun tidak ada, keyword ini bersifat optional semacam default pada switch-case.
  • 7. LISTING PROGRAM & HASIL RUNNING Contoh penggunaan Try : package pkgtry; /** * * @author azuura */ public class Try { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here try { int a = 1 / 0; // berpotensi untuk menimbulkan kesalahan //yaitu pembagian dengan bilangan 0 System.out.println("Perintah selanjutnya"); } catch (Exception kesalahanException) { System.err.println(kesalahanException); } } } Contoh penggunaan Catch : public class Contoh_Catch { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here try { int a = 1 / 0; //berpotensi untuk menimbulkan kesalahan //yaitu pembagian dengan bilangan 0 System.out.println("Perintah Selanjutnya"); } catch (NullPointerException e) { } catch (ArrayIndexOutOfBoundsException e) { } catch (Exception e) {
  • 8. } } } Contoh penggunaan finally : public class Contoh_finally { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here try { //int a = 1/0; } finally { System.out.println("Terima kasih telah menjalankan program"); } } } Contoh modifikasi dari finally : public class Modifikasi_contoh_finally { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here try { int a = 1/0; } catch (Exception e) { System.out.println("Ada kesalahan yang muncul"); } finally { System.out.println("Terima kasih telah menjalankan program"); } } }
  • 9. Contoh penggunaan Throw : public class Throw { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here try { throw new Exception("Kesalahan Terjadi"); } catch (Exception e) { System.out.println(e); } } } Contoh modifikasi dari throw public class Modifikasi_throw { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here try { throw new B();//cobalah ganti baris ini dengan a new B(); } catch (Exception e) { System.out.println(e); } } } class B extends Exception { B() { } public String toString() { return "object dengan tipe kelas B";
  • 11. Contoh modifikasi dari throws Outputnya :
  • 12. Contoh penggunaan Exception Handling (dari modul) : public class Exception1 { private FileReader in; public Exception1 (String filename){ in = new FileReader(filename); } /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Exception1 ex = new Exception1("/etc/passwd"); } } Contoh modifikasinya : package exception1; import java.io.FileNotFoundException; import java.io.FileReader; /** * * @author azuura */ public class Exception1 { private FileReader in; public Exception1 (String filename){ try { in = new FileReader(filename); } catch (java.io.FileNotFoundException ex) { System.err.println("File tidak ditemukan"); System.exit(0); } } /**
  • 13. * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Exception1 ex = new Exception1("/etc/passwd"); } } Contoh program menggunakan exception : package divide; import java.util.Scanner; /** * * @author azuura */ public class Divide { public static void main(String[] args) { // TODO code application logic here float a, b, hasil = 0; System.out.print("Bilangan Penyebut : "); Scanner input = new Scanner(System.in); a = input.nextFloat(); System.out.print("Bilangan Pembagi : "); input = new Scanner(System.in); b = input.nextFloat(); try { hasil = a / b; } catch (ArithmeticException e) { System.out.println(e.getMessage()); } catch (Exception e) { System.out.println(e.toString()); } finally { System.out.println("ext"); System.out.println("Hasil : " + hasil); } } }
  • 14. Contoh program menggunakan exception : package contoh1; import java.util.InputMismatchException; import java.util.Scanner; import org.omg.PortableInterceptor.SYSTEM_EXCEPTION; /** * * @author azuura */ public class Contoh1 { public static void main(String[] args) { // TODO code application logic here float a, b; System.out.print("Bilangan Penyebut : "); Scanner input = new Scanner(System.in); a = input.nextInt(); System.out.print("Bilangan Pembagi : "); input = new Scanner(System.in); b = input.nextInt(); try { float hitung = a / b; System.out.println("Hasil : " + hitung); } catch (ArithmeticException e) { System.out.println(e.toString()); } catch (InputMismatchException e) { System.out.println(e.toString()); } } }
  • 15. KESIMPULAN Kesimpulannya adalah bahwa Exception merupakan kondisi yang menyebabkan program menjadi hang atau error atau quit dari alur normal yang telah ditentukan pada saat program dijalankan. Exception ini dipicu oleh Runtime Error, yaitu error yang terjadi saat program dieksekusi. Pada dasarnya Exception merupakan subclass dari kelas Throwable, kelas ini terdapat pada package java.lang.object yang merupakan default library dari java. Class Exception mempunyai beberapa subclass yaitu : ClassNotFoundException, terjadi bila kita menggunakan class yang tidak ada. CloneNotSupportedException, terjadi bila kita mencoba untuk menggandakan suatu class yang tidak didukung oleh method clone. DAFTAR PUSTAKA Deitel, H; Deitel, M. 2002. Java How to Program, 3rd Ed. Pretince Hall, New York. Weiss, Mark Allen. Data Structures and Problem Solving Using Java. http://www.aw-bc.com/cssupport http://www.netbeans.org Astuti, Tri. 2013. Modul Praktikum 3 “Exception Handling”.