Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

OPERASI JUMP DAN EXCEPTION HANDLING

Presentasi serupa


Presentasi berjudul: "OPERASI JUMP DAN EXCEPTION HANDLING"— Transcript presentasi:

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


Download ppt "OPERASI JUMP DAN EXCEPTION HANDLING"

Presentasi serupa


Iklan oleh Google