Anda di halaman 1dari 9

LAPORAN PRAKTIKUM

PENGENALAN JAVA
MODUL VI
KONSEP DASAR PBO LANJUT
“EXCEPTION HANDLING”

NAMA : EKA PUTRI MAHARANI


KELAS : S1-SI-04-C
NIM : 20103109

PROGRAM STUDI S1 SISTEM INFORMASI


FAKULTAS INFORMATIKA
INSTITUT TEKNOLOGI TELKOM
PURWOKERTO
2021
DASAR TEORI

• Exception

Sebuah program / aplikasi tidak akan terlepas dari kesalahan / error. Program
yang baik bukanlah program yang bebas dari kesalahan akan tetapi memiliki kesalahan
dengan jumlah yang minim serta memiliki penanganan kesalahan yang baik. Kesalahan
pada umumnya ditangani pada waktu program dikompilasi, namun tidak semua
kesalahan dapat terdeteksi pada saat itu. Kesalahan dapat pula terjadi pada saat program
dijalankan.

Java menyediakan berbagai macam kelas eksepsi untuk menangani kesalahan


sesuai dengan jenis kesalahan yang terjadi. Kelas tertinggi yang berhubungan dengan
eksepsi (superclass) yang kelas Throwable. Terdapat subkelas Error dan Exception dari
kelas Throwable ini.

Subkelas Error biasanya menangani kesalahan yang tidak perlu ditangani oleh
programmer atau dengan kata lain program akan otomatis menutup atau berakhir
seketika terjadi kesalahan. Contoh kesalahan dalam otoritas sub-kelas Error seperti
memori habis (OutOfMemoryError) atau stack habis (StackOverflowError).

Subkelas Exception, dipanggil untuk menangani kesalahan agar program tidak


berakhir ketika terjadi kesalahan. Contoh kesalahan yang dapat ditangani oleh kelas
Exception misalnya subskrip array yang tidak valid (IndexOutOfBoundsException) dan
kesalahan aritmetika (ArithmeticException).

Pernyataan penanganan kesalahan pada Java diantaranya try, catch, finally,


throw, throws.
GUIDED

1. Latihan 1

package Latihan1;

public class Penanganankesalahan {


public static void main(String [] args){
System.out.println("Sebelum Pembagian");
System.out.println("Hasi Bagi : " + 5/0);
System.out.println("Setelah Pembagian");
}
}

2. Latihan 2

package Latihan2;

public class PenangananKesalahanTC {


public static void main(String [] args){
System.out.println("Sebelum Pembagian");
try{
System.out.println("Hasi Bagi :" +5/0);
}catch(Throwable e){
System.out.println("Ada Kesalahan :" + e);
}
System.out.println("Setelah Pembagian");
}
}

3. Latihan 3
package Latihan3;

public class PenangananKesalahanTf {


public static void main(String [] args){
System.out.println("Sebelum Pembagian");
try{
System.out.println("Hasi Bagi : " + 5/0);
}catch(Throwable e){
System.out.println("Ada Kesalahan : " + e);
}finally{
System.out.println("Hi... finally");
}
System.out.println("Setelah Pembagian");
}
}

4. Latihan 4

package Latihan4;

public class MultipleCatch {


public static void main(String[] args){
try{
int a[]=new int[5];
a[5]=30/0;
}catch (ArithmeticException e){
System.out.println("Ada Kesalahan : Arithmetic Exception");
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("Ada Kesalahan : Array Index Out Of Bounds Exception");
}
System.out.println("Setelah Exeeption");
}
}
5. Latihan 5

package Latihan5;

public class MultipleCatch2 {


public static void main(String[] args){
try{
int a[]=new int[5];
System.out.println(a[10]);
}catch (ArithmeticException e){
System.out.println("Ada Kesalahan : Arithmetic Exception");
}catch (ArrayIndexOutOfBoundsException e){
System.out.println("Ada Kesalahan : Array Index Out Of Bounds Exception");
}
System.out.println("Setelah Exception");
}
}

6. Latihan 6

package Latihan6;

public class TesThrow {


public static void validate(int age){
if(age<18){
throw new ArithmeticException("Tidak Berhak Melakukan To Vote");
}
else{
System.out.println("Berhak Melakukan Vote!!");
}
}

public static void main(String[] args){


validate(13);
System.out.println("Sisa Code...");
}
}
7. Latihan 7

package Latihan7;

import java.util.ArrayList;
import java.util.List;

public class TesThrows {


private static List<Integer> integers = new ArrayList<Integer>();

public static void addInteger(Integer value) throws IllegalArgumentException{


if(integers.contains(value)){
throw new IllegalArgumentException("Integer already added.");
}
integers.add(value);
}
public static void main(String[] args){
try{
addInteger(1);
addInteger(2);
addInteger(3);
addInteger(1);
}catch (IllegalArgumentException iae){
//iae.printStackTrace ();
System.out.println("Terjadi Kesalahan : " + iae);
}

for(int i=0; i<integers.size(); i++){


System.out.print(integers.get(i) + " ");
}
}
}
UNGUIDED

• Buatlah 2 buah contoh penanganan kesalahan dengan kasus yang berbeda


menggunakan keyword throw dan throws.
Jawab :

1. Throw

package Unguided;

import java.util.Scanner;

public class Throw {


public static void main(String[] args){
Scanner input = new Scanner(System.in);
int nilai;
System.out.println("Nilai Mata Kuliah Pemrograman Berorientasi Objek");
System.out.println("Lulus Jika Nilai >= 78");
try{
System.out.print("Nilai Pemrograman Berorientasi Objek : ");
nilai = input.nextInt();
if(nilai <78){
throw new Exception("Anda Belum Lulus, Tetap Semangat");
}else{
System.out.println("Selamat, Anda Lulus");
}
}catch(Exception e){
e.printStackTrace();
}
}
}
2. Throws
package Unguided;

public class Throws {


static void apaanNi()throws ClassNotFoundException{
System.out.println("Error detected...");
throw new ClassNotFoundException("Succes");
}

public static void main(String[] args){


try{
apaanNi();
}catch(Exception e){
e.printStackTrace();
}
}
}

Anda mungkin juga menyukai