Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

OPERASI JUMP DAN EXCEPTION HANDLING Matakuliah: T0974 / Algoritma dan Metode Object Oriented Programming I Tahun: 2008 Versi: 1/0.

Presentasi serupa


Presentasi berjudul: "OPERASI JUMP DAN EXCEPTION HANDLING Matakuliah: T0974 / Algoritma dan Metode Object Oriented Programming I Tahun: 2008 Versi: 1/0."— Transcript presentasi:

1 OPERASI JUMP DAN EXCEPTION HANDLING Matakuliah: T0974 / Algoritma dan Metode Object Oriented Programming I Tahun: 2008 Versi: 1/0

2 Bina Nusantara 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

3 Bina Nusantara Outline Materi Definisi Operasi Jump Operasi break Operasi continue Operasi label pada break Operasi label pada continue Definisi Exception Handling try and catch finally

4 Bina Nusantara Operasi Jump 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

5 Bina Nusantara break Contoh: 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++

6 Bina Nusantara break

7 Bina Nusantara continue Contoh: 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

8 Bina Nusantara continue

9 Bina Nusantara 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++

10 Bina Nusantara 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++

11 Bina Nusantara Label break

12 Bina Nusantara 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

13 Bina Nusantara 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++

14 Bina Nusantara Label continue

15 Bina Nusantara break, continue, dan label

16 Bina Nusantara break, continue, dan label

17 Bina Nusantara break, continue, dan label

18 Bina Nusantara Exception Handling 3 jenis error: –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.

19 Bina Nusantara 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

20 Bina Nusantara Exception Handling

21 Bina Nusantara 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.jav a:11)  kesalahan ada di baris 11 Progam berakhir (terminate) dan statement berikutnya tidak dijalankan

22 Bina Nusantara Exception Handling

23 Bina Nusantara 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

24 Bina Nusantara Exception Handling

25 Bina Nusantara Exception Handling

26 Bina Nusantara 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

27 Bina Nusantara Exception Handling Mencetak pesan kesalahan: catch(Exception e) { … } –System.out.println(e); –e.printStackTrace(); Hasil output: System.out.println(e); e.printStackTrace();

28 Bina Nusantara 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

29 Bina Nusantara Exception Handling

30 Bina Nusantara Exception Handling

31 Bina Nusantara Did You Know? Operasi jump (break dan continue) hanya pada label yang terjangkau Contoh:

32 Bina Nusantara 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

33 Bina Nusantara Advanced Learning Statement dapat dieksekusi walaupun terjadi exception Keyword: finally Sintaks: try { tryStatements; } catch(Exception e) { handling ex; } finally { finalStatements; }

34 Bina Nusantara 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 { … }

35 Bina Nusantara Advanced Learning

36 Bina Nusantara 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 { hasil = bilangan / pembagi; } catch(Exception e) { System.out.println(“Kesalahan pembagian”); }

37 Bina Nusantara 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

38 Bina Nusantara 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: –http://www.java2s.com/Code/Java/Language- Basics/ContinueWithLabelDemo.htmhttp://www.java2s.com/Code/Java/Language- Basics/ContinueWithLabelDemo.htm –http://www.java2s.com/Code/Java/Language- Basics/BreakWithLabelDemo.htmhttp://www.java2s.com/Code/Java/Language- Basics/BreakWithLabelDemo.htm Exception Handling: –http://java.sun.com/docs/books/tutorial/essential/exceptions/index.htmlhttp://java.sun.com/docs/books/tutorial/essential/exceptions/index.html –http://www.javabeginner.com/java-exceptions.htmhttp://www.javabeginner.com/java-exceptions.htm –http://rotterdam.ics.uci.edu/info/ExceptionHandler.htmhttp://rotterdam.ics.uci.edu/info/ExceptionHandler.htm


Download ppt "OPERASI JUMP DAN EXCEPTION HANDLING Matakuliah: T0974 / Algoritma dan Metode Object Oriented Programming I Tahun: 2008 Versi: 1/0."

Presentasi serupa


Iklan oleh Google