Modul 4 Exception, I/O, dan Operasi File

dokumen-dokumen yang mirip
Tujuan Intruksional. Mampu menjelaskan tentang event handling Mampu menjelaskan tentang method Mampu menggunakan event handling Mampu membuat method

Sesi 8. Event Handling & Exception Handling. Tujuan Intruksional

PRAKTIKUM 17 MENANGANI EXCEPTION

MODUL 9 EXCEPTION HANDLING

PRAKTIKUM 6 EXCEPTION

03/04/2018. Pemrograman Berorientasi Object

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

Exception. Oleh: Mike Yuliana PENS-ITS

Percobaan 6 Exception

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

Penjebakan Eksepsi. Nur hasanah, M.Cs

Variabel tersebut seharusnya bisa dideklarasikan didalam try block dan block catch

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

Pemrograman Lanjut Exception Handling PTIIK

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

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

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

PERCOBAAN 6 EXCEPTION

PEMROGRAMAN JAVA : EXCEPTION

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

Definisi Eksepsi (exception)

Pemrograman Berorientasi Object

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

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

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

Exception Handling. Oleh : Agus Priyanto, M.Kom

PERTEMUAN 3 OBJEK DAN CLASS

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

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

Exception Handling. Prepared by Viska Mutiawani. 1

SUMBER BELAJAR PENUNJANG PLPG

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

//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 {

Penanganan Kesalahan

1.Tujuan. 2. Latar Belakang

Praktikum 9 Exception Handling

IKG2I4 / Software Project I

MODUL 7 - EXCEPTION HANDLING

Pemrograman Berorientasi Obyek. Exception Handling. Politeknik Elektronika Negeri Surabaya

PRAKTIKUM PEMROGRAMAN OBJEK DENGAN JAVA MODUL KE-5 EXCEPTION HANDLING

I/O (Input dan Output)

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

Modul Praktikum 4 Pemograman Berorientasi Objek

2 TIPE DATA DAN VARIABEL

MODUL VIII Exception, I/O, dan Operasi File

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

Pemrograman Berorientasi. Exception Handling

Exception Handling. Topik

BAB II VARIABEL DAN TIPE DATA

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

Pemrograman Berbasis Objek. Exception Handling. Politeknik Elektronika Negeri Surabaya

Algoritma Pemrograman 1

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

BAB VI ARRAY Mendeklarasikan Variabel Array int[ ] bilangan; int bilangan[ ]; Mendefinisikan Array Bilangan = new int[5]; Latihan 21. ArrSatu.

Struktur Kontrol Pemrograman Java : PERCABANGAN

PEMROGRAMAN BERORIENTASI OBJEK

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

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

JAVA BASIC PROGRAMMING Joobshet

Exception Handling Lanjutan

6 Modul Praktikum Pemrograman Berorientasi Objek Common Laboratory 2009/2010

BAB 8 Argumen dari Command-line

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

Modul Praktikum Bahasa Pemrograman 1

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

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

Paket dan Interface. 15 th week Estu Sinduningrum ST,MT

Pemrograman Berorientasi. Class dan Obyek 2

Cara Membaca File Text di JAVA

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

Bahasa Pemrograman 2.

IT652 Pemrograman Berorientasi Aspek. Ramos Somya

BAB 5 Mendapatkan Input dari Keyboard

Exception Handling and Multithreading

PEMAHAMAN DASAR DASAR JAVA

Modul Praktikum Pemrograman

BAB 8 Argumen dari Command-line

Dasar Pemrograman Java

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

Array. Pengantar. int a, b, c, d, e;

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR

Praktikum Exception Handling

PRAKTIKUM 7 DASAR INPUT OUTPUT

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

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

Pertemuan 2 Struktur Kontrol Percabangan

TIPE DATA PADA JAVA. Pertemuan (K-04/L-04)

Array Sebagai Parameter Method

BAB IV HASIL PENELITIAN DAN PENERAPAN

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

Bahasa Pemrograman 2.

Tabel Informasi. Hal di atas dapat dilakukan dengan menambah dan mengambil atribut identifier yang digunakan pada program, melalui tabel informasi.

PRAKTIKUM I EXCEPTION HANDLING

BAB 7 Java Array. Sebagai contoh, kita memiliki tiga variabel dengan tipe data int yang memiliki identifier yang berbeda untuk tiap variabel.

Modul Praktikum 3 Pemograman Berorientasi Objek

BAB 4 ARRAY. number1 = 10; number2 = 20; number3 = 30;

PEMROGRAMAN JAVA : ARRAY

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

BAB 7. Sebagai contoh, kita memiliki tiga variabel dengan tipe data int yang memiliki identifier berbeda untuk tiap variabel.

Transkripsi:

Modul 4 Exception, I/O, dan Operasi File Tujuan: 1. Mengerti konsep exception, I/O, dan operasi file. 2. Bisa implementasiin konsep exception dan I/O dalam sebuah pemrograman sederhana untuk operasi file dengan tepat. Kesalahan itu ada apa aja sih? Sering kali, ketika menjalankan sebuah program kita menemukan kesalahan. Kesalahan itu bisa berasal dari hardware, software, atau bahkan dalam algoritma atau kesalahan logika itu sendiri. Nah, jadi masing-masing kesalahan punya solusi yang beda-beda dan teknik penanganannya juga berbeda-beda untuk kesalahan yang satu dengan yang lain. Untuk itu, mari kita bahas satu-satu kesalahan yang ada. Kesalahan Hardware dan Software Hardware saja Jika sebuah aplikasi berusaha membuka sebuah file yang gak ada, misalnya ngirimin karakter ke printer yang belom kita nyalain atau ketika berkomunikasi dengan port serial yang gak merespon. Biasanya, kesalahan menyangkut hardware dideteksi dan dilaporkan oleh sistem. Software saja Ketika kode berusaha mengakses sebuah elemen yang di luar ikatan array atau berusaha nyimpen nilai yang ngelewatin kapasitas format data. Kesalahan yang terkait sama software, dipihak lain, harus dideteksi sama kode Hardware dan Software sebuah aplikasi mungkin memeriksa operan pembagi untuk memastikan bahwa sebuah pembagi dengan nol tidak dicoba. Bagaimanapun juga, jika sebuah pembagian oleh nol terjadi, perangkat-keras dalam sebagaian besar sistem komputer menghasilkan sebuah respon kesalahan. 42 Modul Praktikum Pemrograman Berorientasi Objek

Kesalahan Algoritma berhubungan dengan kesalahan atau keterbatasan intrinsik dari pemodelan dunianyata yang dilakukan oleh komputer. Untuk mengatasi kesalahan pembulatan dan pemotongan pada berbagai algoritma muncullah disiplin ilmu bernama analisa numerik. Jenis kesalahan ini adalah yang paling sering diabaikan oleh programmer. konversi decimal binary Menggunakan perkiraan binary terbaik untuk pecahan decimal menurut panjang kata mesin tersebut. Perkiraan yang dilakukan oleh komputer bisa menyebabkan kesalahan pembulatan yang bisa menyebar dalam perhitungan dan mengakibatkan kesalahan hasil. Exception Exception adalah kondisi abnormal / tidak wajar yang terjadi pada saat pengeksekusian suatu perintah. Dalam java ada lima keywords yang digunakan untuk menangani eksepsi ini yaitu : try, catch, finally, throw, dan throws. Tidak ditangani dengan menggunakan block try-catch karena berhubungan dengan java run-time system. Superclass tertinggi Eksepsi yang sebaiknya ditangani oleh program kita secara langsung. Semua class exception terdapat dalam package java.lang. Exception yang tidak dicek Semua yang bertipe Runtime Exception dan turunannya tidak harus ditangani dalam program kita. Outputnya: class RuntimeException { public static void main (String [] args) { int[] arr = new int[1]; System.out.println(arr[1]); Exception in thread "main" java.lang.arrayindexoutofboundsexception: 1 at RuntimeException.main(RuntimeException.java:6) Terjadi kesalahan ArrayIndexOutOfBoundsException karena array pada contoh diatas Cuma punya 1 record arr[0], tapi program minta nampilin arr[1]. Modul Praktikum Pemrograman Berorientasi Objek 43

Exception yang dicek Semua tipe eksepsi yang bukan turunan dari class RuntimeException merupakan eksepsi yang harus ditangani oleh program anda. Java bahkan tidak mengijinkan anda mengompilasi program yang anda buat, jika tidak menangani eksepsi tersebut. (BIASANYA YANG BERHUBUNGAN DENGAN PENGAKSESAN I/O). Penggunaan Try Catch Untuk menangani eksepsi yang terjadi dalam program, Anda cukup meletakkan kode yang ingin anda inspeksi terhadap kemungkinan eksepsi di dalam blok try, diikuti dengan blok catch yang menentukan jenis eksepsi apa yang ingin Anda tangani. Struktur penulisan: catch (tipeexception e) { Try menyatakan bahwa dalam blok program dapat terjadi suatu eksepsi dan bila itu terjadi, maka eksekusi program berlanjut dalam blok catch sesuai dengan tipe eksepsi yang terjadi. Variabel obyek e dari tipe exception dapat digunakan sebagai referensi / informasi untuk mengetahui penyebab exception tersebut. public class TryCatch { public static void main (String[] args){ int[] arr = new int[1]; Perhatikan baris ini! System.out.println(arr[1]); System.out.println("Baris ini tidak akan dieksekusi, karena statement baris diatas terkadi exception"); catch (ArrayIndexOutOfBoundsException e){ System.out.println("Terjadi exception karena indeks di luar kapasitas array"); System.out.println("Setelah blok try catch"); Outputnya: Terjadi exception karena indeks di luar kapasitas array Setelah blok try catch Dapat terjadi code yang terdapat dalam blok try mengakibatkan lebih dari satu jenis eksepsi. Dalam hal ini, kita dapat menuliskan lebih dari satu blok catch untuk setiap blok try. Kira-kira seperti apa ya bentuk kodenya?? 44 Modul Praktikum Pemrograman Berorientasi Objek

public class TryCatch2 { public static void main (String [] args){ int x = args.length; //banyak argumen int y = 100/x; int[] arr = {10,11; y = arr[x]; System.out.println("Tidak terjadi exception"); catch (ArithmeticException e){ System.out.println("Terjadi exeption karena pembagian dengan nol"); catch (ArrayIndexOutOfBoundsException e){ System.out.println("Terjadi exeption karena indeks di luar kapasitas array"); System.out.println("Setelah blok try catch"); C:\Java_projects >java TryCatch2 Terjadi exception karena pembagian dengan nol Outputnya jika tanpa parameter Outputnya jika dengan sebuah parameter C:\Java_projects >java TryCatch2 param1 Tidak terjadi exception C:\Java_projects >java TryCatch2 param1 param2 Terjadi exception karena indeks di luar kapasitas array Outputnya jika dengan 2 parameter Penggunaan Throw Mekanisme throw memungkinkan program untuk mengirim / melempar exception untuk kemudian program menyikapi (bereaksi) atas exception tersebut. Cara penulisan: Throw ObjekEksepsi; ObjekEksepsi adalah semua objek yang merupakan turunan dari class Throwable. Salah satu contoh objek eksepsi adalah ArrayIndexOutOfBounds. Seperti apa kira-kira bentuk programnya? Modul Praktikum Pemrograman Berorientasi Objek 45

public class CobaThrow{ public static void methodlain() { throw new ArrayIndexOutOfBoundsException(1); catch(arrayindexoutofboundsexception e) { System.out.println("Penanganan exception dalam method methodlain()"); throw e; Outputnya: public static void main (String [] args){ methodlain(); catch (ArrayIndexOutOfBoundsException e) { System.out.println("Penanganan exception dalam method main()"); obyek dari class ArrayIndexOutOfBoundsException, yang kemudian dikreasi dengan konstruktor plus Penanganan exception dalam method methodlain() Penanganan exception dalam method main() parameter integer sebagai identitas obyek tersebut. Eksepsi juga dapat dibangkitkan secara manual melalui kode yang kita tulis. Kita dapat melakukan hal tersebut dengan kata kunci throw ini, seperti pada contoh diatas. int[] arr = new int[1]; System.out.println(arr[1]); Eksepsi ini gak perlu ditulis lagi, karena kita udah pake throw Penggunaan Throws Sangat erat hubungannya dengan penggunaan exception yang dicek oleh Java. Keyword ini dipake kalo misalnya ada method yang mungkin menyebabkan exception tapi dia gak menangani exception tersebut. Exception akan dilempar ke luar, maka dari itu ketika keyword throws digunakan saat pendeklarasian method. Cara penulisan: class NamaClass throws Exception{... atau fungsi / prosedur int f1() throws Exception{... Masih bingung? Let s see the code.. 46 Modul Praktikum Pemrograman Berorientasi Objek

Outputnya: Lebih kecil 5 Program selesai Karena ada ini, makanya gak ada blok try-catch nya public class CobaThrows{ public void tampil() throws Exception { int x=0; if (x<5) throw new Exception ("Lebih kecil 5"); public class DemoThrows{ public static void main (String [] args){ CobaThrows c = new CobaThrows (); Nah pas method di atas try { dipanggil di sini, makanya, c.tampil(); catch (Exception e) { method itu ada di antara System.out.println(e.getMessage()); blok try-catch System.out.println ("Program selesai"); Penanganan Dengan Finally Apa itu Finally? Penggunaan blok try catch terkadang membingungkan karena kita tidak dapat menentukan dengan pasti alur mana yang akan dieksekusi. Apalagi penggunaan throw yang mengakibatkan kode setelah throw tidak akan dieksekusi atau justru terjadi kesalahan pada blok catch, menyebabkan program akan berhenti. Untuk mengatasi problem ini, Java memperkenalkan keyword finally. Dimana semua kode yang ada dalam blok finally pasti akan dieksekusi apapun yang terjadi di dalam blok try catch. Cara penulisan: catch (tipeexception1 e) { untuk TipeException1 catch (tipeexception2 e) { untuk TipeException2 finally { Supaya output yang terjadi seperti ini, bagaimana kah kodenya? Terjadi exception Program Selesai Exception in thread "main" java.lang.arrayindexoutofboundsexception: -1 at DemoFinally.main(DemoFinally.java:11) Modul Praktikum Pemrograman Berorientasi Objek 47