SlideShare a Scribd company logo
1 of 10
MENANGANI EXCEPTION
A. TUJUAN PEMBELAJARAN
1 Memahami mengenai exception
2 Memahami tipe exception yaitu Checked Exception dan Unchecked Exception.
3 Mengetahui cara menggunakan exception menggunakan blok try catch.
B. DASAR TEORI
Exception adalah suatu kondisi abnormal yang terjadi pada saat menjalankan program.
Karena dalam java segala sesuatu merupakan objek, maka exception juga
direpresentasikan dalam sebuah objek yang menjelaskan tentang exception tersebut.
Contoh exception adalah pembagian bilangan dengan 0, pengisian elemen array diluar
ukuran array, kegagalan koneksi database, file yang akan dibuka tidak ada, dan
mengakses objek yang belum diinisialisasi.
Terdapat dua penanganan exception yaitu:
· Menangani sendiri exception tersebut.
· Meneruskannya ke luar dengan cara membuat objek tentang exception tersebut
dan melemparkannya (throw) keluar agar ditangani oleh kode yang memanggil
method(method yang didalamnya terdapat exception) tersebut.
Ada lima keyword yang digunakan oleh Java untuk menangani exception yaitu try, catch,
finally, throw dan throws.
B.1 Tipe-Tipe Exception
Pada exception, superclass tertinggi adalah class Throwable, tetapi kita hampir tidak
pernah menggunakan class ini secara langsung. Dibawah class Throwable terdapat dua
subclass yaitu class Error dan class Exception. Class Error merupakan tipe exception
yang tidak ditangani dengan blok try-catch, karena berhubungan dengan Java run-time
system/environment. Untuk exception dengan tipe class Exception, merupakan exception
yang dapat ditangani oleh program. Terdapat subclass dari class Exception diantaranya
RunTimeException, IOException, AWTException dan lain-lain.
Semua exception bertipe RunTimeException dan turunannya tidak harus secara eksplisit
ditangani dalam program (Unchecked Exception). Contoh subclass dari
RunTimeException adalah ArrayIndexOutOfBoundsException, ArithmeticException,
NullPointerException dan lain-lain.
Semua tipe exception yang bukan turunan dari class RuntimeException merupakan
exception yang harus ditangani atau jika tidak ditangani menyebab error. Dibawah ini
adalah hirarki dari exception.
B.2 Penggunaan Blok try-catch
Untuk menangani exception dalam program, dengan meletakkan kode program yang
memungkinkan terjadinya exception didalam blok try, diikuti dengan blok catch yang
menentukan jenis exception yang ingin ditangani. Contoh :
public class Percobaan2 {
public static void main(String[] args) {
int a[] = new int[5];
try{
a[5] = 100 ;
}catch (ArrayIndexOutOfBoundsException e){
System.out.println("Indeks Array melebihi batas");
}
System.out.println("Setelah blok try-catch");
}
}
Output :
Terjadi exception karena Indeks Array melebihi batas
Setelah blok try-catch
Dapat terjadi kode yang terdapat dalam blok try mengakibatkan lebih dari satu exception.
Dalam hal ini, kita dapat menuliskan lebih dari satu blok catch. Contoh :
public class Percobaan5 {
public static void main(String[] args)
{ int bil=10;
String b [] = {"a", "b",
"c"}; try{
System. out .println
(bil/0); System. out
.println (b [3]);
}catch(ArithmeticException e){
System.out.println("Error
Aritmetik");
}catch (ArrayIndexOutOfBoundsException e){
System.out.println("Error Kapasitas Array Melebihi Batas");
}catch(Exception e){
System.out.println("Terdapat Error");
}
}
Blok catch yang dijalankan tergantung dengan exception yang terjadi. Java akan
menjalankan blok catch yang sesuai dengan tipe exceptionnya saja. Dalam
penggunaannya, blok catch dengan tipe subclass harus ditulis lebih dahulu baru diikuti
dengan blok catch dengan tipe data superclassnya.
B.3 Menggunakan Keyword ”finally”
Terdapat kode yang harus dijalankan walaupun terjadi atau tidak terjadi exception,
misalkan kita membuka file, hal ini memungkinkan terjadinya exception misal file tidak
ada, file tidak bisa dibuka, selanjutnya yang harus dilakukan adalah menutup file
tersebut.
public class Percobaan2 {
public static void main(String[] args)
{ int a[] = new int[5];
try{
a[5] = 100 ;
}catch (ArrayIndexOutOfBoundsException e){
System.out.println("Terjadi exception karena Indeks Array
melebihi batas");
}finally{
System.out.println("Selalu Dijalankan");
}
System.out.println("Setelah blok try-catch");
}
}
B.4 Menggunakan Keyword ”throw ” dan ”throws”
Secara eksplisit, kita dapat melempar (throw) exception dari program menggunakan
keyword throw. Jika exception tersebut adalah checked exception, maka pada method
harus ditambahkan throws. Jika exception tersebut adalah unchecked exception, maka
pada method tidak perlu ditambahkan throws.
public class Percobaan6 {
public static void method1() throws FileNotFoundException{
throw new FileNotFoundException("File Tidak Ada");
}
public static void main(String[] args)
{ try {
method1 ();
} catch (FileNotFoundException ex) {
System. out .println (ex . getMessage
() ); }
}
}
B.5 Membuat sendiri Subclass dari Exception
Untuk melakukan ini, kita cukup membuat class baru yang merupakan subclass
Exception. Didalam class ini kita cukup mendeklarasikan konstruktor.
class Salah extends
Exception{ public
Salah(){}
public Salah(String pesan)
{ super (pesan);
}
C(TUGAS PENDAHULUAN
Buatlah review mengenai definisi exception, jenis exception, dan berikan 2 contoh
program yang menyebabkan exception beserta cara penangannya.
D( PERCOBAAN
Percobaan 1 : Jalankan program di bawah ini ! Bagaimana output program ?
Jelaskan !
public class Percobaan1 {
public static void main(String[] args)
{ int a[] = new int[5];
a[5] = 100 ;
}
}
Percobaan 2 : Memahami cara menangkap Exception dengan tipe
ArrayIndexOutOfBoundsException
public class Percobaan2 {
public static void main(String[] args) {
int a[] = new int[5];
try{
a[5] = 100 ;
}catch (ArrayIndexOutOfBoundsException e){
System.out.println("Indeks Array melebihi
batas"); }
}
}
Percobaan 3 : Jalankan percobaan 3, bagaimana output program ? Perbaiki dengan
Percobaan32 untuk menangani exception.
public class Percobaan3 {
public static void main(String[] args)
{ int bil = 10 ;
System.out.println(bil/0);
}
}
public class Percobaan32 {
public static void main(String[] args)
{ int bil = 10 ;
try{
System. out .println (bil/0);
}catch(ArithmeticException e){
System.out.println("Tidak boleh membagi bilangan dengan
0");
}
}
}
Percobaan 4 : Memahami try bertingkat.
public class Percobaan4 {
public static void main(String[] args)
{ int bil = 10 ;
try{
System. out .println (bil/0);
}catch(ArithmeticException e){
System.out.println("Terjadi exception karena tidak boleh
membagi bilangan dengan 0");
}catch(Exception e){
System.out.println("Terdapat Error");
}
}
}
Percobaan 5 : Bandingkan output dua program di bawah ini ! Jelaskan !
public class Percobaan5 {
public static void main(String[] args)
{ int bil=10;
String b [] = {"a", "b",
"c"}; try{
System. out .println
(bil/0); System. out
.println (b [3]);
}catch(ArithmeticException e){
System.out.println("Error
Aritmetik");
}catch (ArrayIndexOutOfBoundsException e){
System.out.println("Error Kapasitas Array Melebihi Batas");
}catch(Exception e){
System.out.println("Terdapat Error");
}
}
public class Percobaan52 {
public static void main(String[] args)
{ int bil=10;
String b [] = {"a", "b",
"c"}; try{
System. out .println (b
[3]); System. out .println
(bil/0);
}catch(ArithmeticException e){
System.out.println("Error
Aritmetik");
}catch (ArrayIndexOutOfBoundsException e){
System.out.println("Error Kapasitas Array Melebihi Batas");
}catch(Exception e){
System.out.println("Terdapat Error");
}
}
Percobaan 6 : Penggunaan finally
public class ExcepTest{
public static void main(String args[]){
int a[] = new int[2];
try{
System.out.println("Access element three :" + a[3]);
}catch (ArrayIndexOutOfBoundsException e){
System.out.println("Exception thrown :" +
e);
}
finall
y{
a[0] = 6;
System.out.println("First element value: " +a[0]);
System.out.println("The finally statement is
executed");
}
E. LATIHAN
1 Semua exception yang berasal dari java.lang.RuntimeException adalah unchecked
exceptions, sedangkan exception lainnya yang tidak berasal dari
java.lang.RuntimeException adalah checked exceptions. Jelaskan mengenai
unchecked exceptions dan checked exceptions ,berikan contoh !
2 Buatlah contoh program untuk menangani exception dengan cara menangkap
exception seperti di bawah ini :
· ArithmeticException
· ArrayStoreException
· ClassCastException
· ArrayIndexOutOfBoundsException
· StringIndexOutOfBoundsException
· NegativeArraySizeException
· NoSuchElementException
· NullPointerException,
· NumberFormatException
F. TUGAS
1. Terdapat dua cara untuk menangani Exception yaitu dengan menangkap Exception
dan melempar Exception. Lakukan penanganan exception dengan menangkap
Exception menggunakan blok try-catch. Berilah penjelasan (apakah program
termasuk unchecked exceptions atau checked exceptions) !
public class ReadFile {
public static void main (String args[]){
File file = new File("Data.txt");
BufferedReader fileReader ;
fileReader = new BufferedReader(new
FileReader(file)); while (true){
String line = fileReader.readLine();
if (line == null)
break ;
System.out.println (line);
}
}
}
G. LAPORAN RESMI
Kerjakan hasil percobaan(D), latihan(E) dan tugas(F) di atas dan tambahkan analisa.

More Related Content

Viewers also liked

Campanha Final de Ano - Hospital Mãe de Deus
Campanha Final de Ano - Hospital Mãe de DeusCampanha Final de Ano - Hospital Mãe de Deus
Campanha Final de Ano - Hospital Mãe de DeusMaikel Rosa
 
De Computer Doorheen De Tijd
De Computer Doorheen De TijdDe Computer Doorheen De Tijd
De Computer Doorheen De Tijdemyl
 
Horner Capstone Presentation
Horner Capstone PresentationHorner Capstone Presentation
Horner Capstone Presentationkimahorner
 
Hello! nice to meet you!
Hello! nice to meet you!Hello! nice to meet you!
Hello! nice to meet you!Maria Borges
 
«Роль почётных граждан в истории города Ирбита»
«Роль почётных граждан в истории города Ирбита»«Роль почётных граждан в истории города Ирбита»
«Роль почётных граждан в истории города Ирбита»Site365.ru
 
Avner allgom IGT-DLD International event
Avner allgom IGT-DLD International eventAvner allgom IGT-DLD International event
Avner allgom IGT-DLD International eventAvner Algom
 
Oedipus Rex according to Freytag’s pyramid
Oedipus Rex according to Freytag’s pyramidOedipus Rex according to Freytag’s pyramid
Oedipus Rex according to Freytag’s pyramidMasuda Akter
 
Mantra quarterly newsletter january 2016
Mantra quarterly newsletter january 2016Mantra quarterly newsletter january 2016
Mantra quarterly newsletter january 2016Khushboo Awasthi
 
Campanha promocional
Campanha promocionalCampanha promocional
Campanha promocionaldriana466
 
Www.heartwayusa.com
Www.heartwayusa.comWww.heartwayusa.com
Www.heartwayusa.comalicefelton
 
PPT - PLANO DE COMUNICAÇÃO COM FOCO EM REDES SOCIAIS DE IMAGENS/MY SELFIE: ET...
PPT - PLANO DE COMUNICAÇÃO COM FOCO EM REDES SOCIAIS DE IMAGENS/MY SELFIE: ET...PPT - PLANO DE COMUNICAÇÃO COM FOCO EM REDES SOCIAIS DE IMAGENS/MY SELFIE: ET...
PPT - PLANO DE COMUNICAÇÃO COM FOCO EM REDES SOCIAIS DE IMAGENS/MY SELFIE: ET...CURSO DE PP NA ZUMBI DOS PALMARES
 
APRESENTAÇÃO SOBRE RÁDIOS COMUNITÁRIAS
APRESENTAÇÃO SOBRE RÁDIOS COMUNITÁRIASAPRESENTAÇÃO SOBRE RÁDIOS COMUNITÁRIAS
APRESENTAÇÃO SOBRE RÁDIOS COMUNITÁRIASINSTITUTO VOZ POPULAR
 
Planejamento e Diversidade na Comunicação Digital
 Planejamento e Diversidade na Comunicação Digital  Planejamento e Diversidade na Comunicação Digital
Planejamento e Diversidade na Comunicação Digital Taís Oliveira
 
Recette de Samoussa à la viande hachée
Recette de Samoussa à la viande hachéeRecette de Samoussa à la viande hachée
Recette de Samoussa à la viande hachéeCuisine deMoni
 
EWMA 2013-Ep441-IN VITRO EVALUATION OF THE DEBRIDEMENT PERFORMANCE OF A NEW D...
EWMA 2013-Ep441-IN VITRO EVALUATION OF THE DEBRIDEMENT PERFORMANCE OF A NEW D...EWMA 2013-Ep441-IN VITRO EVALUATION OF THE DEBRIDEMENT PERFORMANCE OF A NEW D...
EWMA 2013-Ep441-IN VITRO EVALUATION OF THE DEBRIDEMENT PERFORMANCE OF A NEW D...EWMAConference
 

Viewers also liked (20)

Ptolineaplanos
PtolineaplanosPtolineaplanos
Ptolineaplanos
 
Campanha Final de Ano - Hospital Mãe de Deus
Campanha Final de Ano - Hospital Mãe de DeusCampanha Final de Ano - Hospital Mãe de Deus
Campanha Final de Ano - Hospital Mãe de Deus
 
De Computer Doorheen De Tijd
De Computer Doorheen De TijdDe Computer Doorheen De Tijd
De Computer Doorheen De Tijd
 
Horner Capstone Presentation
Horner Capstone PresentationHorner Capstone Presentation
Horner Capstone Presentation
 
Corp Pres Eng
Corp Pres EngCorp Pres Eng
Corp Pres Eng
 
Hello! nice to meet you!
Hello! nice to meet you!Hello! nice to meet you!
Hello! nice to meet you!
 
«Роль почётных граждан в истории города Ирбита»
«Роль почётных граждан в истории города Ирбита»«Роль почётных граждан в истории города Ирбита»
«Роль почётных граждан в истории города Ирбита»
 
Avner allgom IGT-DLD International event
Avner allgom IGT-DLD International eventAvner allgom IGT-DLD International event
Avner allgom IGT-DLD International event
 
Oedipus Rex according to Freytag’s pyramid
Oedipus Rex according to Freytag’s pyramidOedipus Rex according to Freytag’s pyramid
Oedipus Rex according to Freytag’s pyramid
 
Mantra quarterly newsletter january 2016
Mantra quarterly newsletter january 2016Mantra quarterly newsletter january 2016
Mantra quarterly newsletter january 2016
 
Campanha promocional
Campanha promocionalCampanha promocional
Campanha promocional
 
MarthaSchmidt
MarthaSchmidtMarthaSchmidt
MarthaSchmidt
 
Www.heartwayusa.com
Www.heartwayusa.comWww.heartwayusa.com
Www.heartwayusa.com
 
PPT - PLANO DE COMUNICAÇÃO COM FOCO EM REDES SOCIAIS DE IMAGENS/MY SELFIE: ET...
PPT - PLANO DE COMUNICAÇÃO COM FOCO EM REDES SOCIAIS DE IMAGENS/MY SELFIE: ET...PPT - PLANO DE COMUNICAÇÃO COM FOCO EM REDES SOCIAIS DE IMAGENS/MY SELFIE: ET...
PPT - PLANO DE COMUNICAÇÃO COM FOCO EM REDES SOCIAIS DE IMAGENS/MY SELFIE: ET...
 
APRESENTAÇÃO SOBRE RÁDIOS COMUNITÁRIAS
APRESENTAÇÃO SOBRE RÁDIOS COMUNITÁRIASAPRESENTAÇÃO SOBRE RÁDIOS COMUNITÁRIAS
APRESENTAÇÃO SOBRE RÁDIOS COMUNITÁRIAS
 
Planejamento e Diversidade na Comunicação Digital
 Planejamento e Diversidade na Comunicação Digital  Planejamento e Diversidade na Comunicação Digital
Planejamento e Diversidade na Comunicação Digital
 
Fast-track the end of AIDS global
Fast-track the end of AIDS globalFast-track the end of AIDS global
Fast-track the end of AIDS global
 
Recette de Samoussa à la viande hachée
Recette de Samoussa à la viande hachéeRecette de Samoussa à la viande hachée
Recette de Samoussa à la viande hachée
 
Prothalamion
ProthalamionProthalamion
Prothalamion
 
EWMA 2013-Ep441-IN VITRO EVALUATION OF THE DEBRIDEMENT PERFORMANCE OF A NEW D...
EWMA 2013-Ep441-IN VITRO EVALUATION OF THE DEBRIDEMENT PERFORMANCE OF A NEW D...EWMA 2013-Ep441-IN VITRO EVALUATION OF THE DEBRIDEMENT PERFORMANCE OF A NEW D...
EWMA 2013-Ep441-IN VITRO EVALUATION OF THE DEBRIDEMENT PERFORMANCE OF A NEW D...
 

Similar to MENANGANI_EXCEPTION

Exception Handling
Exception HandlingException Handling
Exception HandlingDany Liu's
 
Jeni intro1-bab12-dasar exception handling
Jeni intro1-bab12-dasar exception handlingJeni intro1-bab12-dasar exception handling
Jeni intro1-bab12-dasar exception handlingKristanto Wijaya
 
4. Materi Java Eclipse 4
4. Materi Java Eclipse 44. Materi Java Eclipse 4
4. Materi Java Eclipse 4Ismail Akbar
 
Java (Netbeans) - Exception handling - Object Oriented Programming
Java (Netbeans) - Exception handling - Object Oriented ProgrammingJava (Netbeans) - Exception handling - Object Oriented Programming
Java (Netbeans) - Exception handling - Object Oriented ProgrammingMelina Krisnawati
 
pbo 8 ervan
pbo 8 ervanpbo 8 ervan
pbo 8 ervanaris
 
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
 
Soal UKK pbo smk kelas 11 esmester genap
Soal UKK pbo smk kelas 11 esmester genapSoal UKK pbo smk kelas 11 esmester genap
Soal UKK pbo smk kelas 11 esmester genapSaprudin Eskom
 
Tugas praktek 3 Pemrograman Berorientasi Objek
Tugas praktek 3 Pemrograman Berorientasi ObjekTugas praktek 3 Pemrograman Berorientasi Objek
Tugas praktek 3 Pemrograman Berorientasi ObjekPungkas Soebarkah
 
[PUBLIC] quiz-01-midterm-solutions.pdf
[PUBLIC] quiz-01-midterm-solutions.pdf[PUBLIC] quiz-01-midterm-solutions.pdf
[PUBLIC] quiz-01-midterm-solutions.pdfFariz Darari
 
1 exception handling
1 exception handling1 exception handling
1 exception handlingFajar Baskoro
 
Modul6 1225443461187631-8
Modul6 1225443461187631-8Modul6 1225443461187631-8
Modul6 1225443461187631-8aan_junior147
 

Similar to MENANGANI_EXCEPTION (20)

Exception Handling
Exception HandlingException Handling
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
 
4. Materi Java Eclipse 4
4. Materi Java Eclipse 44. Materi Java Eclipse 4
4. Materi Java Eclipse 4
 
6497 13 penanganan pesan exception
6497 13 penanganan pesan exception6497 13 penanganan pesan exception
6497 13 penanganan pesan exception
 
Java (Netbeans) - Exception handling - Object Oriented Programming
Java (Netbeans) - Exception handling - Object Oriented ProgrammingJava (Netbeans) - Exception handling - Object Oriented Programming
Java (Netbeans) - Exception handling - Object Oriented Programming
 
pbo 8 ervan
pbo 8 ervanpbo 8 ervan
pbo 8 ervan
 
Laporan pboii 2yosa
Laporan pboii 2yosaLaporan pboii 2yosa
Laporan pboii 2yosa
 
8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdf8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdf
 
8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdf8_Penangan Eksepsi.pdf
8_Penangan Eksepsi.pdf
 
Modul 8 pbo
Modul 8 pboModul 8 pbo
Modul 8 pbo
 
Soal UKK pbo smk kelas 11 esmester genap
Soal UKK pbo smk kelas 11 esmester genapSoal UKK pbo smk kelas 11 esmester genap
Soal UKK pbo smk kelas 11 esmester genap
 
Tugas praktek 3 Pemrograman Berorientasi Objek
Tugas praktek 3 Pemrograman Berorientasi ObjekTugas praktek 3 Pemrograman Berorientasi Objek
Tugas praktek 3 Pemrograman Berorientasi Objek
 
[PUBLIC] quiz-01-midterm-solutions.pdf
[PUBLIC] quiz-01-midterm-solutions.pdf[PUBLIC] quiz-01-midterm-solutions.pdf
[PUBLIC] quiz-01-midterm-solutions.pdf
 
Modul Object Oriented Programming
Modul Object Oriented ProgrammingModul Object Oriented Programming
Modul Object Oriented Programming
 
Ii java input ouput
Ii   java input ouputIi   java input ouput
Ii java input ouput
 
1 exception handling
1 exception handling1 exception handling
1 exception handling
 
PBO Pratikum 1
PBO Pratikum 1PBO Pratikum 1
PBO Pratikum 1
 
Java
JavaJava
Java
 
Modul belajar java I/O (Input/Ouptut)
Modul belajar java I/O (Input/Ouptut)Modul belajar java I/O (Input/Ouptut)
Modul belajar java I/O (Input/Ouptut)
 
Modul6 1225443461187631-8
Modul6 1225443461187631-8Modul6 1225443461187631-8
Modul6 1225443461187631-8
 

More from Universitas Bina Darma Palembang

More from Universitas Bina Darma Palembang (20)

30448 pertemuan1
30448 pertemuan130448 pertemuan1
30448 pertemuan1
 
29510 pertemuan18(form method-get-post-dan-session(1))
29510 pertemuan18(form method-get-post-dan-session(1))29510 pertemuan18(form method-get-post-dan-session(1))
29510 pertemuan18(form method-get-post-dan-session(1))
 
28501 pertemuan14(php)
28501 pertemuan14(php)28501 pertemuan14(php)
28501 pertemuan14(php)
 
28500 pertemuan22(header dokumen html dgn tag title)
28500 pertemuan22(header dokumen html dgn tag title)28500 pertemuan22(header dokumen html dgn tag title)
28500 pertemuan22(header dokumen html dgn tag title)
 
25437 pertemuan25(hitcounter)
25437 pertemuan25(hitcounter)25437 pertemuan25(hitcounter)
25437 pertemuan25(hitcounter)
 
23921 pertemuan 3
23921 pertemuan 323921 pertemuan 3
23921 pertemuan 3
 
19313 pertemuan6
19313 pertemuan619313 pertemuan6
19313 pertemuan6
 
18759 pertemuan20(web html editor)
18759 pertemuan20(web html editor)18759 pertemuan20(web html editor)
18759 pertemuan20(web html editor)
 
18040 pertemuan13(css)
18040 pertemuan13(css)18040 pertemuan13(css)
18040 pertemuan13(css)
 
17945 pertemuan5
17945 pertemuan517945 pertemuan5
17945 pertemuan5
 
16406 pertemuan17(konsep basis-data-di-web)
16406 pertemuan17(konsep basis-data-di-web)16406 pertemuan17(konsep basis-data-di-web)
16406 pertemuan17(konsep basis-data-di-web)
 
15294 pertemuan9(eksplorasi &defenisi masalah0
15294 pertemuan9(eksplorasi &defenisi masalah015294 pertemuan9(eksplorasi &defenisi masalah0
15294 pertemuan9(eksplorasi &defenisi masalah0
 
13926 pertemuan4
13926 pertemuan413926 pertemuan4
13926 pertemuan4
 
12738 pertemuan 15(php lanjutan)
12738 pertemuan 15(php lanjutan)12738 pertemuan 15(php lanjutan)
12738 pertemuan 15(php lanjutan)
 
6346 pertemuan21(web statis dengan struktur html)
6346 pertemuan21(web statis dengan struktur html)6346 pertemuan21(web statis dengan struktur html)
6346 pertemuan21(web statis dengan struktur html)
 
5623 pertemuan11(html1)
5623 pertemuan11(html1)5623 pertemuan11(html1)
5623 pertemuan11(html1)
 
4740 pertemuan8(komponen dalam web)
4740 pertemuan8(komponen dalam web)4740 pertemuan8(komponen dalam web)
4740 pertemuan8(komponen dalam web)
 
4075 pertemuan10 (analisa kebutuhan)
4075 pertemuan10 (analisa kebutuhan)4075 pertemuan10 (analisa kebutuhan)
4075 pertemuan10 (analisa kebutuhan)
 
2670 pertemuan12(html lanjut)
2670 pertemuan12(html lanjut)2670 pertemuan12(html lanjut)
2670 pertemuan12(html lanjut)
 
2190 pertemuan24(polling)
2190 pertemuan24(polling)2190 pertemuan24(polling)
2190 pertemuan24(polling)
 

Recently uploaded

2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptxAnnisaNurHasanah27
 
05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.pptSonyGobang1
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptxMuhararAhmad
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studiossuser52d6bf
 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxmuhammadrizky331164
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaRenaYunita2
 

Recently uploaded (6)

2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
 
05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di Indonesia
 

MENANGANI_EXCEPTION

  • 1. MENANGANI EXCEPTION A. TUJUAN PEMBELAJARAN 1 Memahami mengenai exception 2 Memahami tipe exception yaitu Checked Exception dan Unchecked Exception. 3 Mengetahui cara menggunakan exception menggunakan blok try catch. B. DASAR TEORI Exception adalah suatu kondisi abnormal yang terjadi pada saat menjalankan program. Karena dalam java segala sesuatu merupakan objek, maka exception juga direpresentasikan dalam sebuah objek yang menjelaskan tentang exception tersebut. Contoh exception adalah pembagian bilangan dengan 0, pengisian elemen array diluar ukuran array, kegagalan koneksi database, file yang akan dibuka tidak ada, dan mengakses objek yang belum diinisialisasi. Terdapat dua penanganan exception yaitu: · Menangani sendiri exception tersebut. · Meneruskannya ke luar dengan cara membuat objek tentang exception tersebut dan melemparkannya (throw) keluar agar ditangani oleh kode yang memanggil method(method yang didalamnya terdapat exception) tersebut. Ada lima keyword yang digunakan oleh Java untuk menangani exception yaitu try, catch, finally, throw dan throws. B.1 Tipe-Tipe Exception Pada exception, superclass tertinggi adalah class Throwable, tetapi kita hampir tidak pernah menggunakan class ini secara langsung. Dibawah class Throwable terdapat dua subclass yaitu class Error dan class Exception. Class Error merupakan tipe exception yang tidak ditangani dengan blok try-catch, karena berhubungan dengan Java run-time
  • 2. system/environment. Untuk exception dengan tipe class Exception, merupakan exception
  • 3. yang dapat ditangani oleh program. Terdapat subclass dari class Exception diantaranya RunTimeException, IOException, AWTException dan lain-lain. Semua exception bertipe RunTimeException dan turunannya tidak harus secara eksplisit ditangani dalam program (Unchecked Exception). Contoh subclass dari RunTimeException adalah ArrayIndexOutOfBoundsException, ArithmeticException, NullPointerException dan lain-lain. Semua tipe exception yang bukan turunan dari class RuntimeException merupakan exception yang harus ditangani atau jika tidak ditangani menyebab error. Dibawah ini adalah hirarki dari exception. B.2 Penggunaan Blok try-catch Untuk menangani exception dalam program, dengan meletakkan kode program yang memungkinkan terjadinya exception didalam blok try, diikuti dengan blok catch yang menentukan jenis exception yang ingin ditangani. Contoh : public class Percobaan2 { public static void main(String[] args) { int a[] = new int[5]; try{ a[5] = 100 ; }catch (ArrayIndexOutOfBoundsException e){ System.out.println("Indeks Array melebihi batas"); } System.out.println("Setelah blok try-catch");
  • 4. } } Output : Terjadi exception karena Indeks Array melebihi batas Setelah blok try-catch Dapat terjadi kode yang terdapat dalam blok try mengakibatkan lebih dari satu exception. Dalam hal ini, kita dapat menuliskan lebih dari satu blok catch. Contoh : public class Percobaan5 { public static void main(String[] args) { int bil=10; String b [] = {"a", "b", "c"}; try{ System. out .println (bil/0); System. out .println (b [3]); }catch(ArithmeticException e){ System.out.println("Error Aritmetik"); }catch (ArrayIndexOutOfBoundsException e){ System.out.println("Error Kapasitas Array Melebihi Batas"); }catch(Exception e){ System.out.println("Terdapat Error"); } } Blok catch yang dijalankan tergantung dengan exception yang terjadi. Java akan menjalankan blok catch yang sesuai dengan tipe exceptionnya saja. Dalam penggunaannya, blok catch dengan tipe subclass harus ditulis lebih dahulu baru diikuti dengan blok catch dengan tipe data superclassnya. B.3 Menggunakan Keyword ”finally” Terdapat kode yang harus dijalankan walaupun terjadi atau tidak terjadi exception, misalkan kita membuka file, hal ini memungkinkan terjadinya exception misal file tidak ada, file tidak bisa dibuka, selanjutnya yang harus dilakukan adalah menutup file tersebut.
  • 5. public class Percobaan2 { public static void main(String[] args) { int a[] = new int[5]; try{ a[5] = 100 ; }catch (ArrayIndexOutOfBoundsException e){ System.out.println("Terjadi exception karena Indeks Array melebihi batas"); }finally{ System.out.println("Selalu Dijalankan"); } System.out.println("Setelah blok try-catch"); } } B.4 Menggunakan Keyword ”throw ” dan ”throws” Secara eksplisit, kita dapat melempar (throw) exception dari program menggunakan keyword throw. Jika exception tersebut adalah checked exception, maka pada method harus ditambahkan throws. Jika exception tersebut adalah unchecked exception, maka pada method tidak perlu ditambahkan throws. public class Percobaan6 { public static void method1() throws FileNotFoundException{ throw new FileNotFoundException("File Tidak Ada"); } public static void main(String[] args) { try { method1 (); } catch (FileNotFoundException ex) { System. out .println (ex . getMessage () ); } } } B.5 Membuat sendiri Subclass dari Exception Untuk melakukan ini, kita cukup membuat class baru yang merupakan subclass Exception. Didalam class ini kita cukup mendeklarasikan konstruktor. class Salah extends Exception{ public Salah(){} public Salah(String pesan) { super (pesan); } C(TUGAS PENDAHULUAN
  • 6. Buatlah review mengenai definisi exception, jenis exception, dan berikan 2 contoh program yang menyebabkan exception beserta cara penangannya. D( PERCOBAAN
  • 7. Percobaan 1 : Jalankan program di bawah ini ! Bagaimana output program ? Jelaskan ! public class Percobaan1 { public static void main(String[] args) { int a[] = new int[5]; a[5] = 100 ; } } Percobaan 2 : Memahami cara menangkap Exception dengan tipe ArrayIndexOutOfBoundsException public class Percobaan2 { public static void main(String[] args) { int a[] = new int[5]; try{ a[5] = 100 ; }catch (ArrayIndexOutOfBoundsException e){ System.out.println("Indeks Array melebihi batas"); } } } Percobaan 3 : Jalankan percobaan 3, bagaimana output program ? Perbaiki dengan Percobaan32 untuk menangani exception. public class Percobaan3 { public static void main(String[] args) { int bil = 10 ; System.out.println(bil/0); } } public class Percobaan32 { public static void main(String[] args) { int bil = 10 ; try{ System. out .println (bil/0); }catch(ArithmeticException e){ System.out.println("Tidak boleh membagi bilangan dengan 0"); } } } Percobaan 4 : Memahami try bertingkat. public class Percobaan4 {
  • 8. public static void main(String[] args) { int bil = 10 ; try{ System. out .println (bil/0); }catch(ArithmeticException e){ System.out.println("Terjadi exception karena tidak boleh membagi bilangan dengan 0"); }catch(Exception e){ System.out.println("Terdapat Error"); } } } Percobaan 5 : Bandingkan output dua program di bawah ini ! Jelaskan ! public class Percobaan5 { public static void main(String[] args) { int bil=10; String b [] = {"a", "b", "c"}; try{ System. out .println (bil/0); System. out .println (b [3]); }catch(ArithmeticException e){ System.out.println("Error Aritmetik"); }catch (ArrayIndexOutOfBoundsException e){ System.out.println("Error Kapasitas Array Melebihi Batas"); }catch(Exception e){ System.out.println("Terdapat Error"); } } public class Percobaan52 { public static void main(String[] args) { int bil=10; String b [] = {"a", "b", "c"}; try{ System. out .println (b [3]); System. out .println (bil/0); }catch(ArithmeticException e){ System.out.println("Error Aritmetik"); }catch (ArrayIndexOutOfBoundsException e){ System.out.println("Error Kapasitas Array Melebihi Batas"); }catch(Exception e){ System.out.println("Terdapat Error"); } } Percobaan 6 : Penggunaan finally public class ExcepTest{ public static void main(String args[]){
  • 9. int a[] = new int[2]; try{ System.out.println("Access element three :" + a[3]); }catch (ArrayIndexOutOfBoundsException e){ System.out.println("Exception thrown :" + e); } finall y{ a[0] = 6; System.out.println("First element value: " +a[0]); System.out.println("The finally statement is executed"); } E. LATIHAN 1 Semua exception yang berasal dari java.lang.RuntimeException adalah unchecked exceptions, sedangkan exception lainnya yang tidak berasal dari java.lang.RuntimeException adalah checked exceptions. Jelaskan mengenai unchecked exceptions dan checked exceptions ,berikan contoh ! 2 Buatlah contoh program untuk menangani exception dengan cara menangkap exception seperti di bawah ini : · ArithmeticException · ArrayStoreException · ClassCastException · ArrayIndexOutOfBoundsException · StringIndexOutOfBoundsException · NegativeArraySizeException · NoSuchElementException · NullPointerException, · NumberFormatException F. TUGAS 1. Terdapat dua cara untuk menangani Exception yaitu dengan menangkap Exception dan melempar Exception. Lakukan penanganan exception dengan menangkap Exception menggunakan blok try-catch. Berilah penjelasan (apakah program termasuk unchecked exceptions atau checked exceptions) ! public class ReadFile { public static void main (String args[]){ File file = new File("Data.txt"); BufferedReader fileReader ;
  • 10. fileReader = new BufferedReader(new FileReader(file)); while (true){ String line = fileReader.readLine(); if (line == null) break ; System.out.println (line); } } } G. LAPORAN RESMI Kerjakan hasil percobaan(D), latihan(E) dan tugas(F) di atas dan tambahkan analisa.