Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
OPERASI JUMP DAN EXCEPTION HANDLING
Matakuliah : T0974 / Algoritma dan Metode Object Oriented Programming I Tahun : 2008 Versi : 1/0
2
Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu:
Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu: Menjelaskan pengertian operasi jump Menerapkan penulisan program dengan operasi jump Menjelaskan pengertian exception handling Menerapkan penulisan program dengan exception handling Bina Nusantara
3
Operasi label pada break Operasi label pada continue
Outline Materi Definisi Operasi Jump Operasi break Operasi continue Operasi label pada break Operasi label pada continue Definisi Exception Handling try and catch finally Bina Nusantara
4
Kontrol tambahan pada perulangan 3 operasi jump:
break: berhenti (dan keluar) dari perulangan terdalam, umumnya digunakan bersamaan if continue: berhenti (tidak keluar) dari perulangan saat itu, umumnya digunakan bersamaan if label: mengontrol tempat keluar untuk break dan continue break telah digunakan pada switch-case Bina Nusantara
5
break Contoh: Saat j==2, eksekusi keluar dari perulangan terdalam
for(int i=1; i<=3; i++) { for(int j=1; j<=3; j++) if(j==2) break; System.out.println("i="+i+" dan j="+j); } Saat j==2, eksekusi keluar dari perulangan terdalam Nilai j==2, dan j==3 tidak dicetak Perulangan dilanjutkan di i++ Bina Nusantara
6
break Bina Nusantara
7
continue Contoh: Saat j==2, eksekusi tidak keluar dari perulangan
for(int i=1; i<=3; i++) { for(int j=1; j<=3; j++) if(j==2) continue; System.out.println("i="+i+" dan j="+j); } Saat j==2, eksekusi tidak keluar dari perulangan Statement berikutnya diabaikan Nilai j==2 (statement berikutnya) tidak dicetak Perulangan dilanjutkan di j++ Nilai j==3 (statement berikutnya) dicetak Bina Nusantara
8
continue Bina Nusantara
9
Label break Contoh: outerA: for(int i=1; i<=3; i++) { innerA: for(int j=1; j<=3; j++) if(j==2) break outerA; System.out.println("i="+i+" dan j="+j); } Saat j==2, eksekusi keluar dari perulangan menuju outerA Perulangan tidak dilanjutkan baik di i++ ataupun j++ Bina Nusantara
10
Label dideklarasikan sebelum break
Label break Label dideklarasikan sebelum break Label diakhiri dengan titik dua ( : ) Pada contoh di atas: Jika break outerA diganti dengan break innerA, maka sama dengan break tanpa label break outerA perulangan i++ tidak dilanjutkan dan mengeksekusi statement setelah perulangan i++ Bina Nusantara
11
Label break Bina Nusantara
12
Label continue Contoh:
outerB: for(int i=1; i<=3; i++) { innerB: for(int j=1; j<=3; j++) if(j==2) continue outerB; System.out.println("i="+i+" dan j="+j); } Saat j==2, eksekusi keluar dari perulangan menuju outerB Perulangan i++ dilanjutkan Bina Nusantara
13
Label dideklarasikan sebelum continue
Label continue Label dideklarasikan sebelum continue Label diakhiri dengan titik dua ( : ) Pada contoh di atas: Statement continue outerB memiliki arti sama dengan break tanpa label Jika continue outerB diganti dengan continue innerB, maka sama dengan statement continue tanpa label continue outerB perulangan j++ tidak dilanjutkan dan kembali ke perulangan i++ Bina Nusantara
14
Label continue Bina Nusantara
15
break, continue, dan label
Bina Nusantara
16
break, continue, dan label
Bina Nusantara
17
break, continue, dan label
Bina Nusantara
18
Exception Handling 3 jenis error: Runtime errors : exception
Syntax errors (compile errors) melanggar aturan sintaks bahasa pemrograman, ditemukan saat kompilasi oleh kompiler Logic errors (bug) kesalahan logika, menghasilkan output/performa yang menyimpang Runtime errors operasi yang salah saat eksekusi program, program berakhir Runtime errors : exception Exception menyebabkan program terminate (berakhir) Contoh: Nasabah A mentransfer uang ke rekening nasabah B, saat rekening A berkurang dan rekening B belum bertambah, terjadi exception dan program terminate. Nasabah A kehilangan uang. Bina Nusantara
19
Exception Handling Menangkap/penanganan runtime errors (exception handling) Menggunakan try and catch Jenis kesalahan yang umum terjadi: Inputan yang salah Aritmetika (pembagian dengan nol) Melewati batas array yang dipesan Object yang belum diinisialisasi Jika kesalahan tidak ditangani/ditangkap (catch), maka kesalahan akan diteruskan ke penanganan berikutnya Kesalahan yang tidak ditangani akan menyebabkan program berakhir Bina Nusantara
20
Exception Handling Bina Nusantara
21
ExceptionDemo.main(ExceptionDemo.java:11) kesalahan ada di baris 11
Exception Handling Pesan errors: Exception in thread "main" java.util.InputMismatchException at java.util.Scanner.throwFor(Scanner.java:840) at java.util.Scanner.next(Scanner.java:1461) at java.util.Scanner.nextInt(Scanner.java:2091) at java.util.Scanner.nextInt(Scanner.java:2050) at ExceptionDemo.main(ExceptionDemo.java:11) ExceptionDemo.main(ExceptionDemo.java:11) kesalahan ada di baris 11 Progam berakhir (terminate) dan statement berikutnya tidak dijalankan Bina Nusantara
22
Exception Handling Bina Nusantara
23
Exception Handling Statement yang bisa menyebabkan exception berada pada lingkup try Exception ditangkap ada lingkup catch Statement pada lingkup catch merupakan operasi yang dilakukan jika terjadi exception Exception ditangkap pada catch(Exception e) Setelah catch, maka program kembali normal Statement berikutnya akan berjalan normal Bina Nusantara
24
Exception Handling Bina Nusantara
25
Exception Handling Bina Nusantara
26
Exception Handling Pada: try { kata[100]='a'; }
Maka hasil exception merupakan ArrayIndexOutOfBoundsException, sehingga tidak akan masuk ke ArithmeticException Jika ArrayIndexOutOfBoundsException tidak dideklarasikan, maka akan masuk ke Exception Exception merupakan jenis umum letakkan diakhir Bina Nusantara
27
Mencetak pesan kesalahan:
Exception Handling Mencetak pesan kesalahan: catch(Exception e) { … } System.out.println(e); e.printStackTrace(); Hasil output: Bina Nusantara
28
Inputan salah pada Scanner menyebabkan exception Contoh:
Exception Handling Inputan salah pada Scanner menyebabkan exception Contoh: bilangan = input.nextInt(); Jika inputan bukan bilangan bulat, maka Scanner akan menghasilkan exception Scanner perlu diinisialisasi ulang pada catch agar dapat menerima inputan lagi Bina Nusantara
29
Exception Handling Bina Nusantara
30
Exception Handling Bina Nusantara
31
Operasi jump (break dan continue) hanya pada label yang terjangkau
Did You Know? Operasi jump (break dan continue) hanya pada label yang terjangkau Contoh: Bina Nusantara
32
break hanya dapat pada outerA atau innerA
Did You Know? break hanya dapat pada outerA atau innerA Tidak dapat ke outerB atau innerB karena dideklarasikan di bawah continue hanya dapat pada outerB atau innerB Tidak dapat ke outerA atau innerA karena tidak pada area jangkauan Bina Nusantara
33
Advanced Learning Statement dapat dieksekusi walaupun terjadi exception Keyword: finally Sintaks: try { tryStatements; } catch(Exception e) handling ex; finally finalStatements; Bina Nusantara
34
Advanced Learning Statements pada finally akan dieksekusi:
Tidak terjadi exception Terjadi exception pada statements try, dan exception di-catch Terjadi exception pada statements try, dan exception tidak di-catch finally dapat dideklarasikan tanpa catch Deklarasi try perlu disertakan dengan catch atau finally Contoh: try { … } finally Bina Nusantara
35
Advanced Learning Bina Nusantara
36
Advanced Learning try and catch sebaiknya untuk penanganan kesalahan yang tidak diharapkan Jangan gunakan jika dapat ditangani manual Contoh: if(pembagi==0) System.out.println(“Pembagi tidak boleh nol”); else hasil = bilangan / pembagi; Akan lebih baik daripada: try { } catch(Exception e) System.out.println(“Kesalahan pembagian”); Bina Nusantara
37
Kerugian try and catch:
Advanced Learning Kerugian try and catch: Memerlukan waktu lebih saat dieksekusi Memerlukan memori yang lebih banyak Memerlukan pencarian handler Keuntungan try and catch: Menangkap kesalahan yang kompleks Mudah untuk dibaca dan dimodifikasi Bina Nusantara
38
Referensi Introduction to Java Programming. 7ed. Liang p , ch 18 The Complete Reference. 5ed. Herbert Schildt ch 10 Dasar Pemrograman Java Abdul Kadir. Ch 14 Operasi Jump: Exception Handling: Bina Nusantara
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.