OPERASI JUMP DAN EXCEPTION HANDLING

Slides:



Advertisements
Presentasi serupa
Flow Control & Exception Handling
Advertisements

REKURSIF Matakuliah : T0974 / Algoritma dan Metode Object Oriented Programming I Tahun : 2008 Versi : 1/0.
Flow Control & Exception Handling
Matakuliah : T0456 ~ Algoritma dan Metode Object Oriented Programming
1 Pertemuan 18 Matriks Matakuliah: T0016/Algoritma dan Pemrograman Tahun: 2005 Versi: versi 2.
Operator Overloading Pertemuan 20 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
Structure Data - Array Pertemuan 7 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
P ERULANGA N K OMPLEK S. BREAK Digunakan untuk menghentikan suatu proses perulangan yang sedang terjadi. Biasanya dikarenakan oleh suatu kondisi Break.
Gaya Geser Pada Penampang Beton Prategang Pertemuan 12
PANJANG PENYALURAN TULANGAN PERTEMUAN 16
STREAM INPUT/OUPUT Pertemuan 4 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
1 Pertemuan 5 STREAM INPUT/OUPUT Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
FUNCTIONS Pertemuan 9 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
Pertemuan 5-6 Metode pemulusan eksponential tunggal
1 Pertemuan 1 Algoritma Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
Pertemuan 9 Strukturisasi Control Flow pada Bahasa rakitan 8088
SORTING Matakuliah : T0974 / Algoritma dan Metode Object Oriented Programming I Tahun : 2008 Versi : 1/0.
PERNYATAAN PERULANGAN
Struktur Kendali Pengulangan Pertemuan 6 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
Matakuliah : T0456 ~ Algoritma dan Metode Object Oriented Programming
STRUKTUR BETON DI DALAM TEKAN PERTEMUAN 09
PERNYATAAN SELEKSI Matakuliah : Algoritma dan Metode Object Oriented Programming I Tahun : 2009 Versi : 1/0.
Matakuliah : T0456 / Algoritma dan Metode Object
Algoritma sorting dasar (lanjutan) Pertemuan 11
1 Pertemuan 7 Klasifikasi dan Rekognisi Pola (1) Matakuliah: T0283 – Computer Vision Tahun: 2005 Versi: Revisi 1.
Pertemuan 5 Balok Keran dan Balok Konsol
Fungsi Logaritma Pertemuan 12
1 Pertemuan 5 PPh PASAL 21 Matakuliah: A0572/ Perpajakan Tahun: 2005 Versi: Revisi 1.
Mengambar kurva fungsi linier Pertemuan 4
Fungsi Eksponensial Pertemuan 11 Matakuliah: J0174/Matematika I Tahun: 2008.
Matakuliah : R0022/Pengantar Arsitektur Tahun : Sept 2005 Versi : 1/1
1 Pertemuan 7 FINITE AUTOMATA DENGAN OUTPUT Matakuliah: T0162/Teori Bahasa dan Automata Tahun: 2005 Versi: 1/0.
1 Pertemuan 3 Pengenalan menu dasar 3D Matakuliah: R0374/Komputasi Desain Arsitektur II Tahun: 2005 Versi: V-1/R-0.
Matematika Keuangan Pertemuan 14
PERENCANAAN PENULANGAN PONDASI DALAM Pertemuan 26
1 Pertemuan 9 Integral Matakuliah: R0262/Matematika Tahun: September 2005 Versi: 1/1.
1 Pertemuan 7 Diferensial Matakuliah: R0262/Matematika Tahun: September 2005 Versi: 1/1.
Matakuliah : R0262/Matematika Tahun : September 2005 Versi : 1/1
1 Pertemuan 4 KONTROL ALUR EKSEKUSI PROGRAM Matakuliah: M0074/PROGRAMMING II Tahun: 2005 Versi: 1/0.
Pertemuan 04 Fungsi-fungsi Microsoft Excel
1 Pertemuan 19 Rendering perspektif mata burung Matakuliah: R0124 / Teknik Komunikasi Arsitektur Tahun: 2005 Versi: >/ >
Matakuliah : K0074/Kalkulus III Tahun : 2005 Versi : 1/0
Pertemuan 2 SINTAKS BAHASA, TIPE DATA, DAN OPERATOR
PERNYATAAN SELEKSI Matakuliah : T0974 / Algoritma dan Metode Object Oriented Programming I Tahun : 2008 Versi : 1/0.
Pertemuan 8 Data processing
Inheritance Pertemuan 21
PENYALURAN TULANGAN Pertemuan 23
Pertemuan 6 KONVERSI NFA MENJADI DFA Lanjutan..
Sebaran Peluang (II) Pertemuan 4
Regresi Dalam Lambang Matriks Pertemuan 09
KRITERIA DESAIN, STANDAR DESAIN, DAN METODE ANALISIS PERTEMUAN 6
DESAIN STRUKTUR BALOK BETON PERSEGI BERTULANGAN RANGKAP PERTEMUAN 14
Struktur Kontrol : Perulangan
Pertemuan 16 SISTEM AKUNTANSI UTANG
Pendahuluan PBO.
STRUKTUR BETON DI DALAM GESER DAN TORSI PERTEMUAN 08
PRESENTASI DAN EVALUASI Pertemuan 39
Flow Control & Exception Handling
PERENCANAAN PENULANGAN BALOK TPertemuan 10
DESAIN PONDASI DANGKAL GABUNGAN PERTEMUAN 22
Learning Outcomes Mahasiswa dapat menjelaskan definisi aljabar boole dan hukum-hukum aljabar boole,duality dan contoh pemakaian aljabar boole. Bina Nusantara.
Matakuliah : T0456 ~ Algoritma dan Metode Object Oriented Programming
Pertemuan 3 Diferensial
Matakuliah : I0014 / Biostatistika Tahun : 2005 Versi : V1 / R1
Tahun : <<2005>> Versi : <<1/2>>
KAPASITAS PENAMPANG MENAHAN GAYA LINTANG Pertemuan 13
Pertemuan 9 PENANGAN EKSEPSI
Prategang Pada Struktur Statis Tak Tentu Pertemuan 13
STRUKTUR KONTROL PERCABANGAN DAN STRUKTUR KONTROL LOMPATAN
Pengenalan Pemrograman 1
Transcript presentasi:

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

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

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

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

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

break Bina Nusantara

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

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

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

Label break 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 Bina Nusantara

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

Label continue Bina Nusantara

break, continue, dan label Bina Nusantara

break, continue, dan label Bina Nusantara

break, continue, dan label Bina Nusantara

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

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

Exception Handling Bina Nusantara

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

Exception Handling 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 Bina Nusantara

Exception Handling Bina Nusantara

Exception Handling 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 Bina Nusantara

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

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

Exception Handling Bina Nusantara

Exception Handling Bina Nusantara

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

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

Advanced Learning Statement dapat dieksekusi walaupun terjadi exception Keyword: finally Sintaks: try { tryStatements; } catch(Exception e) handling ex; finally finalStatements; 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 Bina Nusantara

Advanced Learning 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 { } catch(Exception e) System.out.println(“Kesalahan pembagian”); Bina Nusantara

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

Referensi Introduction to Java Programming. 7ed. Liang. 2009. p150-155, ch 18 The Complete Reference. 5ed. Herbert Schildt. 2005. ch 10 Dasar Pemrograman Java 2. 2004. Abdul Kadir. Ch 14 Operasi Jump: http://www.java2s.com/Code/Java/Language-Basics/ContinueWithLabelDemo.htm http://www.java2s.com/Code/Java/Language-Basics/BreakWithLabelDemo.htm Exception Handling: http://java.sun.com/docs/books/tutorial/essential/exceptions/index.html http://www.javabeginner.com/java-exceptions.htm http://rotterdam.ics.uci.edu/info/ExceptionHandler.htm Bina Nusantara