Skip to main content

Java Exception Handling

Postingan ini membahas sebuah program tambahan tentang exception handling. Disini seolah-olah bertindak sebagai tester. Dan program yang akan dimodifikasi adalah program SimpleCalculator. Program SimpleCalculator adalah sebuah program kalkulator sederhana yang menggunakan switch..case dalam Java. Program bisa melakukan operasi pertambahan, pengurangan, perkalian, dan pembagian.

Program SimpleCalculator ini dibuat menggunakan bahasa pemrograman Java dan bisa di-compile menggunakan IDE BlueJ. Dalam aplikasi ini, dicoba untuk ditambahkan catch exception untuk mengetes bagimana pembagian suatu angka dengan angka nol. Dicari modul kelas yang merupakan operasi pembagian dan dimodifikasi agar bisa mengetes operasi pembagian dengan penyebut angka nol.

Exception Handling

Exception Handling adalah sebuah proses menanggapi terjadinya exception, menangani runtime error seperti ClassNotFound, IO, SQL, Remote, dsb. Exception adalah suatu kondisi tidak normal yang membutuhkan pemrosesan khusus selama eksekusi program. Ketika error terjadi dalam suatu method, method membuat sebuah objek dan menyerahkannya ke sistem runtime. Thowing an exception adalah sebutan untuk membuat sebuah objek exception dan menyerahkannya ke sistem runtime.

Tipe-Tipe Exception

  • Checked exception

Checked exception di cek saat kompilasi. Contohnya adalah SQLException, IOException, InvocationTargetException, dan ClassNotFoundException.

  • Unchecked exception

Unchecked exception tidak dicek saat kompilasi, namun dicek saat runtime atau eksekusi sebuah program. Disebut juga sebagai Runtime exception. Contohnya adalah bug pemrograman seperti logical errors, dan menggunakan API yang salah.

  • Error

Error adalah keadaan fatal yang terjadi. Contohnya OutOfMemoryError, VirtualMachineError, AssertionError.

Blok Try-Catch

Blok Try-Catch adalah sebuah blok yang digunakan untuk menghandle exception.

  • Try berisi bagian yang akan menghasilkan exception
  • Catch jika muncul exception di try block, maka exception tersebut ditangkap dan dihandle

SimpleCalculator terdiri dari kelas-kelas sebagai berikut:

  • SimpleCalculator

Berikut ini adalah gambar diagram kelas dari SimpleCalculator.


The SimpleCalculator Class

Kelas SimpleCalculator adalah kelas utama untuk program kalkulator sederhana yang menggunakan switch..case dalam bahasa pemrograman Java. Disini kita ini bisa  melakukan operasi pertambahan, pengurangan, perkalian, dan pembagian dua angka. Disini ditambahkan exception handler try-catch untuk mengatasi pembagian suatu bilangan dengan bilangan nol.

Implementation of The SimpleCalculator Class

import java.util.Scanner;

/**
 * class SimpleCalculator adalah kelas utama untuk program kalkulator sederhana
 * menggunakan switch..case dalam bahasa pemrograman Java. Disini kita ini bisa
 * melakukan operasi pertambahan, pengurangan, perkalian, dan pembagian dua angka.
 *
 * @author Ramadhan Arif Hardijansyah
 * @version 0.1 20 December 2020
 */
public class SimpleCalculator
{
    public static void main(String[] args) {
        
        Scanner scanner = new Scanner(System.in);
        
        while (true) {
            System.out.print("Enter two numbers: ");

            try {
                double first = scanner.nextDouble();
                double second = scanner.nextDouble();
    
                System.out.print("Enter an operator (+, -, *, /): ");
                char operator = scanner.next().charAt(0);
    
                double result;
    
                switch (operator) {
                    case '+':
                        result = first + second;
                        break;
                    
                    case '-':
                        result = first - second;
                        break;
    
                    case '*':
                        result = first * second;
                        break;
    
                    case '/':
                        if (second == 0) {
                            throw new ArithmeticException("Exception: Division by zero");
                        }
                        result = first / second;
                        break;
                
                    default:
                        System.out.println("Error! operator is not corret");
                        return;
                }
    
                System.out.println(first + " " + operator + " " + second + " = " + result);
                
            } catch (ArithmeticException e) {
                System.out.println(e.getMessage());
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }
        }
    }
}

Berikut ini adalah langkah-langkah untuk mencoba SimpleCalculator.

1. Klik kanan kelas SimpleCalculator, dan panggil method main.

2. Muncul jendela terminal SimpleCalculator. Untuk mencoba, ketik dua bilangan dan tekan Enter.

3. Masukkan operator yang diinginkan.

4. Jika dilakukan pembagian dengan bilangan nol, makan muncul pemberitahuan exception: division by zero.

Sekian post tentang SimpleCalculator ini. Semoga bermanfaat.

Comments

Popular posts from this blog

Website Catalog Product

 Postingan berikut menjelaskan dokumentasi proses pembuatan website catalog. Website di-hosting menggunakan github pages yang dapat meng-host  static webpages . Link Website Catalog Product:  https://dani-ramadhan7.github.io/catalog_product/index.html# Cascading Style Sheets adalah bahasa style sheet yang digunakan untuk menggambarkan presentasi dokumen yang ditulis dalam bahasa markup seperti HTML. CSS adalah teknologi landasan World Wide Web, di samping HTML dan JavaScript.  CSS (n.d.). Wikipedia. Retrieved September 28, 2021.  Prosedur Pembuatan Website Catalog Product 1. Ikuti langkah-langkah pada modul pembelajaran yang sudah tersedia. Coba untuk menulis ulang contoh kode pada modul pembelajaran atau langsung memilih bagian-bagian kode yang diinginkan untuk digunakan. 2. Buat file html baru, buat page html dengan acuan modul pembelajaran. Lakukan modifikasi dan penambahan. 3. Untuk desain, dapat meniru juga file css pada modul pembelajaran. Tambahkan bagian...

Website Registrasi Kuliah Tatap Muka

  Postingan berikut menjelaskan dokumentasi proses pembuatan website registrasi kuliah tatap muka. Website di-hosting menggunakan github pages yang dapat meng-host  static webpages . Link Website Catalog Product:  https://dani-ramadhan7.github.io/registrasi/index.html Langkah-Langkah Pembuatan Website Registrasi Kuliah Tatap Muka 1. Ikuti langkah-langkah pada website pembelajaran. Salah satu website yang cukup bagus untuk dipelajari adalah  belajarphp.net/tutorial-validasi-form-menggunakan-html-dan-javascript/ . Coba untuk menulis ulang contoh kode pada modul pembelajaran atau langsung memilih bagian-bagian kode yang diinginkan untuk digunakan. 2. Buat file html baru, buat page html dengan acuan modul pembelajaran. Lakukan modifikasi dan penambahan. HTML JavaScript 3. Untuk desain, digunakan file css sebagaimana yang digunakan pada website, yakni menggunakan  https://stackpath.boo...

Java Classes and Objects: A Deeper Look

Pada post kali ini, kita ingin melihat lebih dalam pada pembuatan class , mengontrol akses kepada member dari sebuah class dan membuat constructors . Kita juga ingin mendiskusikan composition - sebuah kemampuan yang bisa membuat suatu kelas memiliki referensi kepada objek dari kelas-kelas lainnya sebagai member. 8.2 TIME CLASS CASE STUDY Time1 Class Declaration Contoh awal ini kita memiliki 2 kelas, Time1 dan Time1Test. Kelas Time1 merepresentasikan waktu hari ini. Kelas Time1Test adalah kelas aplikasi dimana main  membuat satu objek kelas Time1 dan memanggil method -nya. Fig. 8.1. Time1 class declaration maintains the time in a 24-hour format. /** * // Fig. 8.1: Time.java * // Time1 class declaratoin maintains the time in 24-hour format. * * @author Ramadhan Arif Hardijansyah * @version 0.1 10 October 2020 */ public class Time1 { private int hour; // 0 - 23 private int minute; // 0 - 59 private int second; // 0 - 59 /* set a new time value using univers...