SlideShare a Scribd company logo
1 of 4
Download to read offline
J.E.N.I.
BAB 12
Dasar Exception Handling
12.1 Tujuan
Dalam bagian ini, kita akan mempelajari teknik yang dipakai dalam Java dalam menangani kondisi
yang tidak biasa dalam menjalankan operasi normal dalam program. Teknik ini dinamakan
exception handling.
Pada akhir pembelajaran, siswa mampu untuk:
• Mendefinisikan exception
• Menangani exception menggunakan blok try-catch-finally
12.2 Apa itu Exception?
Exception adalah sebuah peristiwa yang menjalankan alur proses normal pada program. Peristiwa
ini biasanya berupa kesalahan(error) dari beberapa bentuk. Ini disebabkan program kita berakhir
tidak normal.
Beberapa contoh dari exception yang Anda mungkin jumpai pada latihan-latihan sebelumnya
adalah: exception ArrayIndexOutOfBounds, yang terjadi jika kita mencoba mengakses elemen
array yang tidak ada, atau NumberFormatException, yang terjadi ketika kita mencoba melalui
parameter bukan angka dalam method Integer.parseInt.
12.3 Menangani Exception
Untuk menangani exception dalam Java, kita gunakan blok try-catch-finally. Apa yang kita
lakukan dalam program kita adalah kita menempatkan pernyataan yang mungkin menghasilkan
exception dalam blok ini.
Bentuk umum dari blok try-catch-finally adalah,
try{
//tulis pernyataan yang dapat mengakibatkan exception
//dalam blok ini
}
catch( <exceptionType1> <varName1> ){
//tulis aksi apa dari program Anda yang dijalankan jika ada
//exception tipe tertentu terjadi
}
. . .
Pengenalan Pemrograman 1 1
J.E.N.I.
catch( <exceptionTypen> <varNamen> ){
//tulis aksi apa dari program Anda yang dijalankan jika ada
//exception tipe tertentu terjadi
}
finally{
//tambahkan kode terakhir di sini
}
Exception dilemparkan selama eksekusi dari blok try dapat ditangkap dan ditangani dalam blok
catch. Kode dalam blok finally selalu di-eksekusi.
Berikut ini adalah aspek kunci tentang sintak dari konstruksi try-catch-finally:
• Notasi blok bersifat perintah
• Setiap blok try, terdapat satu atau lebih blok catch, tetapi hanya satu blok finally.
• Blok catch dan blok finally harus selalu muncul dalam konjungsi dengan blok try, dan
diatas urutan
• Blok try harus diikuti oleh paling sedikit satu blok catch ATAU satu blok finally, atau
keduanya.
• Setiap blok catch mendefinisikan sebuah penanganan exception. Header dari blok catch
harus membawa satu argumen, dimana exception pada blok tersebut akan ditangani.
Exception harus menjadi class pelempar atau satu dari subclassesnya.
Pengenalan Pemrograman 1 2
Gambar 1: Alur kejadian blok try-catch-finally
J.E.N.I.
Marilah mengambil contoh kode yang mencetak argumen kedua ketika kita mencoba menjalankan
kode menggunakan argumen command-line. Perkirakan, tidak ada pengecekan dalam kode Anda
untuk angka dari argumen dan kita hanya mengakses argumen kedua args[1] segera, kita akan
mendapatkan exception berikut.
Exception in thread "main"
java.lang.ArrayIndexOutOfBoundsException: 1
at ExceptionExample.main(ExceptionExample.java:5)
Untuk mencegah kejadian ini, kita dapat menempatkan kode ke dalam blok try-catch. Blok finally
hanya sebagai pilihan lain saja. Sebagai contoh, kita tidak akan menggunakan blok finally.
public class ExceptionExample
{
public static void main( String[] args ){
try{
System.out.println( args[1] );
}catch( ArrayIndexOutOfBoundsException exp ){
System.out.println("Exception caught!");
}
}
}
Jadi kita akan menjalankan program lagi tanpa argumen, keluarannya akan menjadi,
Exception caught!
Pengenalan Pemrograman 1 3
J.E.N.I.
12.4 Latihan
12.4.1 Menangkap Exception 1
Diberikan kode berikut:
public class TestExceptions{
public static void main( String[] args ){
for( int i=0; true; i++ ){
System.out.println("args["+i+"]="+
args[i]);
}
}
}
Compile dan jalankan program TestExceptions. Keluarannya akan tampak seperti ini:
javac TestExceptions one two three
args[0]=one
args[1]=two
args[2]=three
Exception in thread "main"
java.lang.ArrayIndexOutOfBoundsException: 3
at TestExceptions.main(1.java:4)
Ubah program TestExceptions untuk menangani exception, keluaran program setelah ditangkap
exception-nya akan seperti ini:
javac TestExceptions one two three
args[0]=one
args[1]=two
args[2]=three
Exception caught:
java.lang.ArrayIndexOutOfBoundsException: 3
Quiting...
12.4.2 Menangkap Exception 2
Melakukan percobaan pada beberapa program yang telah Anda tulis adalah hal yang baik sebelum
menghadapi exception. Karena pada program di atas Anda tidak menangkap exception, maka
eksekusi dengan mudahnya berhenti mengeksekusi program Anda. Kembali kepada program
diatas dan gunakan penanganan exception.
Pengenalan Pemrograman 1 4

More Related Content

What's hot

Exception Handling
Exception HandlingException Handling
Exception HandlingDany Liu's
 
JENI Slides-Intro1-Bab06-Struktur kontrol
JENI Slides-Intro1-Bab06-Struktur kontrolJENI Slides-Intro1-Bab06-Struktur kontrol
JENI Slides-Intro1-Bab06-Struktur kontrolDimara Hakim
 
Java (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented ProgrammingJava (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented ProgrammingMelina Krisnawati
 
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
 
OOP - Exception
OOP - ExceptionOOP - Exception
OOP - ExceptionKuliahKita
 
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
 
Struktur kontrol dalam c++
Struktur kontrol dalam c++Struktur kontrol dalam c++
Struktur kontrol dalam c++Alvin Setiawan
 
Materi Pemrograman Dasar - Struktur Kontrol Percabangan
Materi Pemrograman Dasar - Struktur Kontrol PercabanganMateri Pemrograman Dasar - Struktur Kontrol Percabangan
Materi Pemrograman Dasar - Struktur Kontrol PercabanganHendri Winarto
 
P 2 programming_paradigm
P 2 programming_paradigmP 2 programming_paradigm
P 2 programming_paradigmIrfan Wahyudin
 
Sintaks Penulsian Percabangan If-Else
Sintaks Penulsian Percabangan If-ElseSintaks Penulsian Percabangan If-Else
Sintaks Penulsian Percabangan If-ElseIlham Muhkarom
 
Pemrograman Web - Statement Javascript
Pemrograman Web - Statement JavascriptPemrograman Web - Statement Javascript
Pemrograman Web - Statement JavascriptKuliahKita
 

What's hot (17)

Exception Handling
Exception HandlingException Handling
Exception Handling
 
JENI Slides-Intro1-Bab06-Struktur kontrol
JENI Slides-Intro1-Bab06-Struktur kontrolJENI Slides-Intro1-Bab06-Struktur kontrol
JENI Slides-Intro1-Bab06-Struktur kontrol
 
GoLang_3
GoLang_3GoLang_3
GoLang_3
 
Clean Method
Clean MethodClean Method
Clean Method
 
Java (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented ProgrammingJava (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented Programming
 
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
 
OOP - Exception
OOP - ExceptionOOP - Exception
OOP - 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
 
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_
 
Struktur kontrol dalam c++
Struktur kontrol dalam c++Struktur kontrol dalam c++
Struktur kontrol dalam c++
 
Materi Pemrograman Dasar - Struktur Kontrol Percabangan
Materi Pemrograman Dasar - Struktur Kontrol PercabanganMateri Pemrograman Dasar - Struktur Kontrol Percabangan
Materi Pemrograman Dasar - Struktur Kontrol Percabangan
 
modul6
modul6modul6
modul6
 
P 2 programming_paradigm
P 2 programming_paradigmP 2 programming_paradigm
P 2 programming_paradigm
 
Sintaks Penulsian Percabangan If-Else
Sintaks Penulsian Percabangan If-ElseSintaks Penulsian Percabangan If-Else
Sintaks Penulsian Percabangan If-Else
 
Pemrograman Web - Statement Javascript
Pemrograman Web - Statement JavascriptPemrograman Web - Statement Javascript
Pemrograman Web - Statement Javascript
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 

Viewers also liked

Pemanfaatan sistem informasi akademik di universitas islam indonesia
Pemanfaatan sistem informasi akademik di universitas islam indonesiaPemanfaatan sistem informasi akademik di universitas islam indonesia
Pemanfaatan sistem informasi akademik di universitas islam indonesiaUniversitas Bina Darma Palembang
 
Assessment and evaluation
Assessment and evaluationAssessment and evaluation
Assessment and evaluationgagegigagu
 
Quest - Crescenzo eBrochure
Quest - Crescenzo eBrochureQuest - Crescenzo eBrochure
Quest - Crescenzo eBrochurePaneesh Rao
 
Una vida haciendo reír que no es poco
Una vida haciendo reír que no es pocoUna vida haciendo reír que no es poco
Una vida haciendo reír que no es pocoJulio Nieto Berrocal
 
Bourne supremacy Opening 2 minutes analysis
Bourne supremacy Opening 2 minutes analysisBourne supremacy Opening 2 minutes analysis
Bourne supremacy Opening 2 minutes analysisSolo Hickey
 
RestForTheWearySleepMedicineStory
RestForTheWearySleepMedicineStoryRestForTheWearySleepMedicineStory
RestForTheWearySleepMedicineStoryAlan Gintzler
 
Phamthithi baigiangestelop12cb
Phamthithi baigiangestelop12cbPhamthithi baigiangestelop12cb
Phamthithi baigiangestelop12cbPhamthithi1994
 
Escasa comprension lectora
Escasa comprension lectoraEscasa comprension lectora
Escasa comprension lectoraflorsitasud
 
Medimos con litros. Medida de Capacidad en Primer Ciclo de Primaria.
Medimos con litros. Medida de Capacidad en Primer Ciclo de Primaria.Medimos con litros. Medida de Capacidad en Primer Ciclo de Primaria.
Medimos con litros. Medida de Capacidad en Primer Ciclo de Primaria.anaburduliz
 
Recreo charrúa cantado
Recreo charrúa cantadoRecreo charrúa cantado
Recreo charrúa cantadoTacún Lazarte
 

Viewers also liked (20)

365 4 inheritance
365 4 inheritance365 4 inheritance
365 4 inheritance
 
15749 5 pengelompokkan data mining
15749 5 pengelompokkan data mining15749 5 pengelompokkan data mining
15749 5 pengelompokkan data mining
 
15015 2 konsep dasar data mining
15015 2 konsep dasar data mining15015 2 konsep dasar data mining
15015 2 konsep dasar data mining
 
9349 12 supervised dan-unsupervised-learning
9349 12 supervised dan-unsupervised-learning9349 12 supervised dan-unsupervised-learning
9349 12 supervised dan-unsupervised-learning
 
Pemanfaatan sistem informasi akademik di universitas islam indonesia
Pemanfaatan sistem informasi akademik di universitas islam indonesiaPemanfaatan sistem informasi akademik di universitas islam indonesia
Pemanfaatan sistem informasi akademik di universitas islam indonesia
 
27543 normalisasi
27543 normalisasi27543 normalisasi
27543 normalisasi
 
28431 3 enkapsulasi
28431 3 enkapsulasi28431 3 enkapsulasi
28431 3 enkapsulasi
 
18560 lecture6
18560 lecture618560 lecture6
18560 lecture6
 
Assessment and evaluation
Assessment and evaluationAssessment and evaluation
Assessment and evaluation
 
Quest - Crescenzo eBrochure
Quest - Crescenzo eBrochureQuest - Crescenzo eBrochure
Quest - Crescenzo eBrochure
 
Una vida haciendo reír que no es poco
Una vida haciendo reír que no es pocoUna vida haciendo reír que no es poco
Una vida haciendo reír que no es poco
 
Talde gorria 4
Talde gorria 4Talde gorria 4
Talde gorria 4
 
Lista cencoex
Lista cencoexLista cencoex
Lista cencoex
 
Bourne supremacy Opening 2 minutes analysis
Bourne supremacy Opening 2 minutes analysisBourne supremacy Opening 2 minutes analysis
Bourne supremacy Opening 2 minutes analysis
 
Gacetilla de prensa 17 12-2014
Gacetilla de prensa 17 12-2014Gacetilla de prensa 17 12-2014
Gacetilla de prensa 17 12-2014
 
RestForTheWearySleepMedicineStory
RestForTheWearySleepMedicineStoryRestForTheWearySleepMedicineStory
RestForTheWearySleepMedicineStory
 
Phamthithi baigiangestelop12cb
Phamthithi baigiangestelop12cbPhamthithi baigiangestelop12cb
Phamthithi baigiangestelop12cb
 
Escasa comprension lectora
Escasa comprension lectoraEscasa comprension lectora
Escasa comprension lectora
 
Medimos con litros. Medida de Capacidad en Primer Ciclo de Primaria.
Medimos con litros. Medida de Capacidad en Primer Ciclo de Primaria.Medimos con litros. Medida de Capacidad en Primer Ciclo de Primaria.
Medimos con litros. Medida de Capacidad en Primer Ciclo de Primaria.
 
Recreo charrúa cantado
Recreo charrúa cantadoRecreo charrúa cantado
Recreo charrúa cantado
 

Similar to MENGENALI EXCEPTION

Jeni intro1-bab12-dasar exception handling
Jeni intro1-bab12-dasar exception handlingJeni intro1-bab12-dasar exception handling
Jeni intro1-bab12-dasar exception handlingKristanto Wijaya
 
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
 
1 exception handling
1 exception handling1 exception handling
1 exception handlingFajar Baskoro
 
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
 
pbo 8 ervan
pbo 8 ervanpbo 8 ervan
pbo 8 ervanaris
 
Flow control, exception handling array
Flow control, exception handling arrayFlow control, exception handling array
Flow control, exception handling arrayRangga Ananto
 
Modul6 1225443461187631-8
Modul6 1225443461187631-8Modul6 1225443461187631-8
Modul6 1225443461187631-8aan_junior147
 
Jeni intro1-bab06-struktur kontrol
Jeni intro1-bab06-struktur kontrolJeni intro1-bab06-struktur kontrol
Jeni intro1-bab06-struktur kontrolKristanto Wijaya
 
JENI-Intro1-Bab06-Struktur Kontrol.pdf
JENI-Intro1-Bab06-Struktur Kontrol.pdfJENI-Intro1-Bab06-Struktur Kontrol.pdf
JENI-Intro1-Bab06-Struktur Kontrol.pdfJurnal IT
 
2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdf2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdfJurnal IT
 
2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdf2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdfJurnal IT
 
Modul PBO Bab-10 - Event & Exception Handling
Modul PBO Bab-10 - Event & Exception HandlingModul PBO Bab-10 - Event & Exception Handling
Modul PBO Bab-10 - Event & Exception HandlingRakhmat Dedi Gunawan
 

Similar to MENGENALI EXCEPTION (20)

Jeni intro1-bab12-dasar exception handling
Jeni intro1-bab12-dasar exception handlingJeni intro1-bab12-dasar exception handling
Jeni intro1-bab12-dasar exception handling
 
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
 
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
 
16. error handling
16. error handling16. error handling
16. error handling
 
1 exception handling
1 exception handling1 exception handling
1 exception 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...
 
pbo 8 ervan
pbo 8 ervanpbo 8 ervan
pbo 8 ervan
 
Flow control, exception handling array
Flow control, exception handling arrayFlow control, exception handling array
Flow control, exception handling array
 
Jeni Intro2 Bab11 Applet
Jeni Intro2 Bab11 AppletJeni Intro2 Bab11 Applet
Jeni Intro2 Bab11 Applet
 
Modul6 1225443461187631-8
Modul6 1225443461187631-8Modul6 1225443461187631-8
Modul6 1225443461187631-8
 
Jeni Intro1 Bab06 Struktur Kontrol
Jeni Intro1 Bab06 Struktur KontrolJeni Intro1 Bab06 Struktur Kontrol
Jeni Intro1 Bab06 Struktur Kontrol
 
Jeni intro1-bab06-struktur kontrol
Jeni intro1-bab06-struktur kontrolJeni intro1-bab06-struktur kontrol
Jeni intro1-bab06-struktur kontrol
 
JENI-Intro1-Bab06-Struktur Kontrol.pdf
JENI-Intro1-Bab06-Struktur Kontrol.pdfJENI-Intro1-Bab06-Struktur Kontrol.pdf
JENI-Intro1-Bab06-Struktur Kontrol.pdf
 
Modul Object Oriented Programming
Modul Object Oriented ProgrammingModul Object Oriented Programming
Modul Object Oriented Programming
 
2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdf2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdf
 
2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdf2_Struktur_kontrol.pdf
2_Struktur_kontrol.pdf
 
Modul PBO Bab-10 - Event & Exception Handling
Modul PBO Bab-10 - Event & Exception HandlingModul PBO Bab-10 - Event & Exception Handling
Modul PBO Bab-10 - Event & Exception Handling
 

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
 
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
 
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptxAnnisaNurHasanah27
 
rekayasa struktur beton prategang - 2_compressed (1).pdf
rekayasa struktur beton prategang - 2_compressed (1).pdfrekayasa struktur beton prategang - 2_compressed (1).pdf
rekayasa struktur beton prategang - 2_compressed (1).pdfssuser40d8e3
 
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
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaRenaYunita2
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++FujiAdam
 
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
 

Recently uploaded (9)

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
 
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
 
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
2021 - 12 - 10 PAPARAN AKHIR LEGGER JALAN.pptx
 
rekayasa struktur beton prategang - 2_compressed (1).pdf
rekayasa struktur beton prategang - 2_compressed (1).pdfrekayasa struktur beton prategang - 2_compressed (1).pdf
rekayasa struktur beton prategang - 2_compressed (1).pdf
 
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
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di Indonesia
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++
 
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
 

MENGENALI EXCEPTION

  • 1. J.E.N.I. BAB 12 Dasar Exception Handling 12.1 Tujuan Dalam bagian ini, kita akan mempelajari teknik yang dipakai dalam Java dalam menangani kondisi yang tidak biasa dalam menjalankan operasi normal dalam program. Teknik ini dinamakan exception handling. Pada akhir pembelajaran, siswa mampu untuk: • Mendefinisikan exception • Menangani exception menggunakan blok try-catch-finally 12.2 Apa itu Exception? Exception adalah sebuah peristiwa yang menjalankan alur proses normal pada program. Peristiwa ini biasanya berupa kesalahan(error) dari beberapa bentuk. Ini disebabkan program kita berakhir tidak normal. Beberapa contoh dari exception yang Anda mungkin jumpai pada latihan-latihan sebelumnya adalah: exception ArrayIndexOutOfBounds, yang terjadi jika kita mencoba mengakses elemen array yang tidak ada, atau NumberFormatException, yang terjadi ketika kita mencoba melalui parameter bukan angka dalam method Integer.parseInt. 12.3 Menangani Exception Untuk menangani exception dalam Java, kita gunakan blok try-catch-finally. Apa yang kita lakukan dalam program kita adalah kita menempatkan pernyataan yang mungkin menghasilkan exception dalam blok ini. Bentuk umum dari blok try-catch-finally adalah, try{ //tulis pernyataan yang dapat mengakibatkan exception //dalam blok ini } catch( <exceptionType1> <varName1> ){ //tulis aksi apa dari program Anda yang dijalankan jika ada //exception tipe tertentu terjadi } . . . Pengenalan Pemrograman 1 1
  • 2. J.E.N.I. catch( <exceptionTypen> <varNamen> ){ //tulis aksi apa dari program Anda yang dijalankan jika ada //exception tipe tertentu terjadi } finally{ //tambahkan kode terakhir di sini } Exception dilemparkan selama eksekusi dari blok try dapat ditangkap dan ditangani dalam blok catch. Kode dalam blok finally selalu di-eksekusi. Berikut ini adalah aspek kunci tentang sintak dari konstruksi try-catch-finally: • Notasi blok bersifat perintah • Setiap blok try, terdapat satu atau lebih blok catch, tetapi hanya satu blok finally. • Blok catch dan blok finally harus selalu muncul dalam konjungsi dengan blok try, dan diatas urutan • Blok try harus diikuti oleh paling sedikit satu blok catch ATAU satu blok finally, atau keduanya. • Setiap blok catch mendefinisikan sebuah penanganan exception. Header dari blok catch harus membawa satu argumen, dimana exception pada blok tersebut akan ditangani. Exception harus menjadi class pelempar atau satu dari subclassesnya. Pengenalan Pemrograman 1 2 Gambar 1: Alur kejadian blok try-catch-finally
  • 3. J.E.N.I. Marilah mengambil contoh kode yang mencetak argumen kedua ketika kita mencoba menjalankan kode menggunakan argumen command-line. Perkirakan, tidak ada pengecekan dalam kode Anda untuk angka dari argumen dan kita hanya mengakses argumen kedua args[1] segera, kita akan mendapatkan exception berikut. Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1 at ExceptionExample.main(ExceptionExample.java:5) Untuk mencegah kejadian ini, kita dapat menempatkan kode ke dalam blok try-catch. Blok finally hanya sebagai pilihan lain saja. Sebagai contoh, kita tidak akan menggunakan blok finally. public class ExceptionExample { public static void main( String[] args ){ try{ System.out.println( args[1] ); }catch( ArrayIndexOutOfBoundsException exp ){ System.out.println("Exception caught!"); } } } Jadi kita akan menjalankan program lagi tanpa argumen, keluarannya akan menjadi, Exception caught! Pengenalan Pemrograman 1 3
  • 4. J.E.N.I. 12.4 Latihan 12.4.1 Menangkap Exception 1 Diberikan kode berikut: public class TestExceptions{ public static void main( String[] args ){ for( int i=0; true; i++ ){ System.out.println("args["+i+"]="+ args[i]); } } } Compile dan jalankan program TestExceptions. Keluarannya akan tampak seperti ini: javac TestExceptions one two three args[0]=one args[1]=two args[2]=three Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3 at TestExceptions.main(1.java:4) Ubah program TestExceptions untuk menangani exception, keluaran program setelah ditangkap exception-nya akan seperti ini: javac TestExceptions one two three args[0]=one args[1]=two args[2]=three Exception caught: java.lang.ArrayIndexOutOfBoundsException: 3 Quiting... 12.4.2 Menangkap Exception 2 Melakukan percobaan pada beberapa program yang telah Anda tulis adalah hal yang baik sebelum menghadapi exception. Karena pada program di atas Anda tidak menangkap exception, maka eksekusi dengan mudahnya berhenti mengeksekusi program Anda. Kembali kepada program diatas dan gunakan penanganan exception. Pengenalan Pemrograman 1 4