FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

dokumen-dokumen yang mirip
public class Test { int i = 6; int j = 3; System.out.println(i/j); } Output :

EXCEPTION HANDLING. Bug : kesalahan yang merupakan kelemahan dari perancangan atau implementasi

PRAKTIKUM 6 EXCEPTION

Percobaan 6 Exception

PERCOBAAN 6 EXCEPTION

Pemrograman Berorientasi Object

PRAKTIKUM 17 MENANGANI EXCEPTION

Pemrograman Berorientasi Obyek. Exception Handling. Politeknik Elektronika Negeri Surabaya

Pemrograman Berorientasi. Exception Handling

Exception adalah penanda bahwa kondisi/kejadian yang tidak diinginkan telah terjadi pada program kita. Ada 2 jenis exception (+1 Error):

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

Exception Handling. Topik

Topik. Penanganan Eksepsi. Menangkap Eksepsi. Catch Secara bertingkat. Melontarkan Eksepsi. Melontarkan kembali Eksepsi.

Definisi Eksepsi (exception)

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

Pemrograman Berbasis Objek. Exception Handling. Politeknik Elektronika Negeri Surabaya

Bahasa Pemrograman 2.

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

Tujuan Intruksional. Mampu menjelaskan tentang event handling Mampu menjelaskan tentang method Mampu menggunakan event handling Mampu membuat method

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

Pemrograman Lanjut Exception Handling PTIIK

A. TUJUAN PEMBELAJARAN 1. Mengetahui cara menangani exception dengan cara melempar exception. 2. Mengetahui cara membuat sendiri class exception.

Sesi 8. Event Handling & Exception Handling. Tujuan Intruksional

IKG2I4 / Software Project I

Exception. Oleh: Mike Yuliana PENS-ITS

Exception Handling. Prepared by Viska Mutiawani. 1

1.Tujuan. 2. Latar Belakang

Exception Handling. Oleh : Agus Priyanto, M.Kom

Penjebakan Eksepsi. Nur hasanah, M.Cs

Variabel tersebut seharusnya bisa dideklarasikan didalam try block dan block catch

2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo.

PRAKTIKUM I EXCEPTION HANDLING

1. Apa yang harus dilakukan oleh programmer untuk menangani user-defined exception? Menuliskan exception sebagai start method

Waktu Sisa : 0:43:4. Sukses. Kesalahan pada URL. File tidak lengkap. Kesalahan umum. Mengerjakan finally. Diluar block

Praktikum Exception Handling

Tidak ada satupun dari pilihan di atas yang benar karena checked exception tidak bisa ditulis

IF PEMROGRAMAN LANJUT EXCEPTION. Oleh : Andri Heryandi, M.T.

Sukses. Kesalahan pada URL. File tidak lengkap. Kesalahan umum

EXCEPTION. 2. Pada kondisi bagaimana klausa finally tidak akan dieksekusi? Kode didalam block try memiliki statement return

4/11/2013. Topik. Exceptions dan Assertions Pengenalan Pemrograman 2. Topik. Topik EXCEPTIONS. Class Error dan Exception

Modul 4 Exception, I/O, dan Operasi File

BAB Tujuan. 2.2 Apa itu Exception? Pendahuluan Error dan Exception Classes

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

MODUL 7 - EXCEPTION HANDLING

PRAKTIKUM PEMROGRAMAN OBJEK DENGAN JAVA MODUL KE-5 EXCEPTION HANDLING

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

PEMROGRAMAN JAVA : EXCEPTION

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

03/04/2018. Pemrograman Berorientasi Object

EXCEPTION HANDLING. 1. Mampu menangani eksepsi 2. Mengetahui dan memahami tentang multithreading 3. Dapat membuat program tentang exception handling

MODUL 9 EXCEPTION HANDLING

Exception Handling Lanjutan

PERTEMUAN 3 OBJEK DAN CLASS

Exception Handling and Multithreading

Penanganan Kesalahan

Modul Praktikum 4 Pemograman Berorientasi Objek

JAVA BASIC PROGRAMMING Joobshet

Abstract Class dan Interface. Viska Mutiawani, M.Sc

PEMOGRAMAN JAVA. Yoannita. Tipe Data (ii) : Array Exception Handling

PENANGANAN EKSEPSI. class Exc0 { public static void main (String args[]) { int d = 0; int a = 42 / d; } }

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

BAB 5 Mendapatkan Input dari Keyboard

TPI4202 e-tp.ub.ac.id. Lecture 4 Mas ud Effendi

Menangkap Kesalahan (Error Handling)

BAB 8 Argumen dari Command-line

BAHASA PEMROGRAMAN JAVA

Pemograman Java. Yoannita, S.Kom. Argumen Command Line Exception Handling Package

BAB II VARIABEL DAN TIPE DATA

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

IT652 Pemrograman Berorientasi Aspek. Ramos Somya

2 TIPE DATA DAN VARIABEL

Overriding, Overloading, Polymorphism. Pertemuan 10 Pemrograman Berbasis Obyek Dr. Rodiah

PEMROGRAMAN JAVA. Petunjuk Penulisan Program Token Aturan Penamaan Identifier Lingkungan /Scope dari variabel Tipe Data (i) Yoannita

PEMAHAMAN DASAR DASAR JAVA

Praktikum 9 Exception Handling

BAB 2 INPUT DARI KEYBOARD

//PROGRAM 9-8. int[] A = new int[5]; // SALAH, karena tidak terdapat. class BanyakEksepsi { indeks ke-5. public static void test(int a, int b) { try {

BAB 8 Argumen dari Command-line

Modul Tutorial C# 2 DASAR PEMROGRAMAN C# : STATEMENT DAN OPERATOR ENRICO BUDIANTO MICROSOFT INNOVATION CENTER UNIVERSITAS INDONESIA

SUMBER BELAJAR PENUNJANG PLPG

PEMROGRAMAN JAVA. Yoannita, S.Kom. Input Kondisi (IF-ELSE, SWITCH)

BAB 5 Mendapatkan Input dari Keyboard

LAPORAN PRAKTIKUM PERTENGAHAN SEMESTER (LAB. ACTIVITY) ALGORITMA & PEMROGRAMAN TEKNIK INFORMATIKA. Oleh: NIM : Materi:

PRAKTIKUM 7 DASAR INPUT OUTPUT

CHAPTER #5 DEBUGGING AND EXCEPTION HANDLING

PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

Penggunaan Netbeans IDE, Hello World, variable dan Operator aritmetika.

Tabel 1. Instruksi untuk menampilkan teks No. Bahasa Pemrograman Instruksi 1. Pascal WRITE ( Bahasa pemrograman itu mudah );

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

Modul ini mengenalkan Anda konsep dasar mengenai Java generic types.

Modul Praktikum Pemrograman

Java Application. Menampilkan Tulisan

Pemrograman Berorientasi Obyek (IT251) Ramos Somya, S.Kom., M.Cs.

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

Pendahuluan Dasar Pemrograman Java

Pertemuan 4 Array pada Java

Array Multidimensi. Pemrograman Dasar. Java

Transkripsi:

No. LST/EKA/PTI208/13 Revisi : 02 Mei 2010 Hal 1 dari 5 A. Kompetensi Setelah mengikuti praktikum ini, mahasiswa diharapkan mampu menangani exception dan error dalam pemrograman java. B. Dasar Teori Ada 3 kategori error 1. Syntax error Terjadi karena ada aturan bahasa pemrograman yang tidak ditaati, error ini akan di deteksi oleh kompiler. Error jenis ini mudah untuk dicari dan diperbaiki karena kompiler akan memberitahukan dimana error terjadi dan mengapa error bisa terjadi. 2. Logic error Terjadi ketika program bekerja tidak sesuai dengan tujuan dari pembuatan program itu. Error jenis ini ditangani dengan debugging. 3. Runtime error Terjadi ketika program dijalankan. Misal user memasukkan input yang salah, program mengakses elemen array diluar indexnya, dan kesalahan external lain. Exception adalah runtime error. Jika sebuah program tidak menyediakan kode untuk menangani exception maka program akan berhenti dengan tidak lazim, dan bisa mengakibatkan kesalahan fatal. Misal sebuah program untuk transfer uang antar rekening, jika terjadi error ketika uang sudah dikurangi dari rekening asal tetapi uang tersebut belum ditambahkan ke rekening tujuan, maka nasabah akan kehilangan uangnya. Exception dalam java adalah instance dari kelas turunan Throwable. Kelas Throwable memiliki dua kelas turunan yaitu Exception dan Error. Error yang diberikan oleh JVM yang direpresentasikan dalam kelas Error tidak bisa di-handle. Error ini terjadi karena kesalahan sistem internal dan jarang terjadi. Exception direpresentasikan dalam kelas Exception terjadi karena kesalahan program dan kondisi external lain. Exception bisa di-handle di dalam program. Try Catch Bentuk exception handling dalam java // blok kode yang dimonitor errornya catch (ExceptionType1 exob) { // penanganan exception untuk ExceptionType1 catch (ExceptionType2 exob) { // penanganan exception untuk ExceptionType2

No. LST/EKA/PTI208/13 Revisi : 02 Mei 2010 Hal 2 dari 5 //... Kode yang dimonitor errornya dimasukkan dalam blok try jika terjadi exception maka blok try akan melempar (throw) exception objek. Jika exception objek memiliki tipe yang sama dengan parameter blok catch maka kode di dalam blok catch akan dijalankan. Kita bisa membuat lebih dari satu blok catch untuk tipe exception yg berbeda-beda Contoh exception handling public class TestException { public static void main(string[] args) { System.out.println(sum(new int[] {1, 2, 3, 4, 5)); catch (Exception ex) { ex.printstacktrace(); System.out.println("\n" + ex.getmessage()); System.out.println("\n" + ex.tostring()); System.out.println("\nTrace Info Obtained from getstacktrace"); StackTraceElement[] traceelements = ex.getstacktrace(); for (int i = 0; i < traceelements.length; i++) { System.out.print("method " + traceelements[i].getmethodname()); System.out.print("(" + traceelements[i].getclassname() + ":"); System.out.println(traceElements[i].getLineNumber() + ")"); private static int sum(int[] list) { int result = 0; for (int i = 0; i <= list.length; i++) result += list[i]; return result; Finally Ketika sebuah exception dilempar/terjadi maka sebuah method akan berjalan tidak sebagai mana mestinya. Tergantung bagaimana method itu dibuat, sebuah method dapat berhenti secara prematur. Misal ada sebuah method yang membuka dan memodifikasi sebuah file kemudian menutup file tersebut. Kita tentu tidak menginginkan langkah menutup file di bypass oleh exception handling. Disinilah manfaatnya blok finally. Kode yang ada di dalam blok finally akan dieksekusi setelah blok try-catch dijalankan. Contoh blok finally public class FinallyDemo { public static void main(string[] args) { java.io.printwriter output = null;

No. LST/EKA/PTI208/13 Revisi : 02 Mei 2010 Hal 3 dari 5 // Create a file output = new java.io.printwriter("text.txt"); // Write formatted output to the file output.println("welcome to Java"); catch (java.io.ioexception ex) { ex.printstacktrace(); finally { // Close the file if (output!= null) output.close(); Throws Jika sebuah method dapat menyebabkan sebuah exception yang tidak bisa dihandle oleh method itu sendiri, maka method tersebut harus mendefinisikan sifat ini agar method yang memanggilnya dapat melindungi diri dari exception yang terjadi. Kita bisa melakukan ini dengan menggunakan kata kunci throws pada deklarasi method. Kata kunci throws akan diikuti daftar tipe exception yang mungkin dilempar oleh sebuah method. Kata kunci ini perlu dipakai untuk semua exception kecuali exception dari kelas Exception dan RuntimeException termasuk turunannya. Bentuk penggunaan kata kunci throws type method-name(parameter-list) throws exception-list { // body of method Disini exception-list bisa lebih dari satu tipe exception yang dipisahkan dengan tanda koma. Tipe exception yang membutuhkan kata kunci throws disebut dengan checked exception. Sedangkan exception yg tidak membutuhkan kata kunci throws disebut unchecked exception Exception ArithmeticException ArrayIndexOutOfBoundsException ArrayStoreException ClassCastException IllegalArgumentException IllegalMonitorStateException. Maksudnya Arithmetic error, such as divide-by-zero. Array index is out-of-bounds. Assignment to an array element of an incompatible type. Invalid cast. Illegal argument used to invoke a method. Illegal monitor operation, such as waiting on an

No. LST/EKA/PTI208/13 Revisi : 02 Mei 2010 Hal 4 dari 5 IllegalStateException IllegalThreadStateException IndexOutOfBoundsException NegativeArraySizeException NullPointerException NumberFormatException SecurityException StringIndexOutOfBounds UnsupportedOperationException Exception ClassNotFoundException CloneNotSupportedException IllegalAccessException InstantiationException InterruptedException NoSuchFieldException NoSuchMethodException unlocked thread Environment or application is in incorrect state. Requested operation not compatible with current thread state. Some type of index is out-of-bounds. Array created with a negative size Invalid use of a null reference. Invalid conversion of a string to a numeric format. Attempt to violate security. Attempt to index outside the bounds of a string. An unsupported operation was encountered. Tabel 1. Unchecked Exception Maksudnya Class not found. Attempt to clone an object that does not implement the Cloneable interface. Access to a class is denied. Attempt to create an object of an abstract class or interface. One thread has been interrupted by another thread. A requested field does not exist. A requested method does not exist. Tabel 2. Checked Exception C. Alat/ Bahan 1. Lab. Sheet Pemrograman Java no 13 2. PC / Laptop with OS installed 3. JDK 1.5 or latest 4. J-Creator or text editor D. Langkah Kerja 1. Baca dan pahami dasar teori di atas. 2. Lakukan kompilasi dan eksekusi terhadap contoh-contoh source code atau program yang ada di dasar teori dan LAMPIRAN. 3. Kerjakan tugas individu di bawah. E. Tugas Individu Buatlah aplikasi Java GUI yang memenuhi kriteria sebagai berikut. ü Buatlah array yang berisi 100 bilangan integer acak.

No. LST/EKA/PTI208/13 Revisi : 02 Mei 2010 Hal 5 dari 5 ü Buatlah sebuah text field untuk memasukkan index dari array tersebut, dan sebuah text field lain untuk menampilkan elemen pada index yang telah ditentukan. ü Buat tombol tampilkan data untuk menampilkan elemen array pada index yang telah ditentukan. Jika index yang ditentukan out of bound maka tampilkan Out of bound (lihat gambar) ü Jika input tidak sah (misal input bilangan desimal atau angka atau tanda baca) maka tampilkan jendela peringatan (lihat gambar) F. Lampiran CH 80 (Introduction to Computer Science using Java, Java 5.0 version, January 2006, Bradley Kjell, Central Connecticut State University http://chortle.ccsu.edu/cs151/cs151java.html) Java Swing, 2nd Edition, Brian Cole, Robert Eckstein, James Elliott, Marc Loy, David Wood