Langsung ke konten utama

TUGAS 10 PEMROGRAMAN BERORIENTASI OBJEK (B) - Exception Handling


Dalam membuat atau mengembangkan suatu aplikasi, seorang programmer dapat menemui kesalahan dalam pengkodean program, entah itu logic error, syntax error, atau runtime error. Logic error terjadi karena program berjalan tidak sesuai harapan. Hal ini bisa diatasi dengan debugging. Syntax error terjadi karena aturan penulisan bahasa program yang tidak diikuti. Syntax error cenderung mudah diperbaiki karena compiler akan memberi tahu letak kesalahan. Runtime error terjadi ketika program sedang berjalan mendeteksi adanya operasi yang tidak mungkin dilaksanakan. Error yang terjadi saat program sedang running disebut dengan eksepsi (exception).


Exception

Exception adalah sebuah alur peristiwa yang menjalankan proses pada program, perisitwa tersebut berupa kesalahan atau error pada program yang dibuat dan terjadi karena beberapa faktor antara lain: kesalahan inputan, jenis format data yang dimasukkan salah, penggunaan array yang melebihi batas, dsb.


Ada beberapa exception yang sering muncul dalam aplikasi Java:

  1. IllegalArgumentException
    • Muncul saat memanggil method dengan mengirimkan parameter yang tidak sesuai sehingga method tersebut tidak dapat memproses parameter yang dikirim.
  2. NumberFormatException
    • Muncul saat mencoba mengubah string menjadi angka atau integer (casting), tapi string tersebut tidak terformat dengan benar.
  3. ArithmeticException
    • Muncul saat perhitungan aritmetika error. Contohnya ketika membagi suatu angka dengan 0.
  4. IllegalStateException
    • Muncul saat mencoba memanggil method di waktu yang salah. Misalnya saat menggunakan URLConnection untuk terhubung kembali ke alamat yang sudah terhubung.
  5. IOException
    • Muncul saat menginput string, padahal yang diminta angka atau integer.

Exception Handling

Java memberikan akses kepada developer untuk mengambil objek bug yang terjadi dengan mekanisme yang dikenal sebagai exception handling. Exception handling merupakan fasilitas Java yang memberikan fleksibilitas kepada developer untuk menangkap bug atau error yang terjadi ketika program berjalan.


Ada beberapa keyword penting dalam exception handling Java:

1. try
Digunakan untuk menentukan bagian statement program di mana akan terjadi exception. Blok dari try ini harus diikuti dengan catch atau finally.

2. catch
Digunakan untuk menangani error atau exception yang terjadi. Blok catch ini tidak dapat berdiri sendiri tanpa blok try. Block catch dapat diikuti oleh blok finally.

3. finally
Digunakan untuk mengeksekusi bagian code yang penting dari program. Bagian ini akan tetap dijalankan baik terjadi exception maupun tidak.

4. throw
Digunakan untuk melempar exception yang terjadi di mana throw digunakan dalam body dari code yang ada.

5. throws
Digunakan untuk mendeklarasikan exception yang akan terjadi pada bagian fungsi tersebut.

Implementasi

Berikut ini adalah contoh menangani InputMismatchException ketika membaca sebuah input menggunakan try dan catch.

Ketika mengeksekusi input.nextInt(), InputMismatchException akan muncul jika user memasukkan inputan selain integer.

Output yang valid:

Misalkan nilai 6,9 diinput, maka InputMismatchException terjadi dan kontrol program akan dipindahkan ke blok catch. Pernyataan di dalam blok tersebut akan dieksekusi.

Pernyataan input.nextLine() akan memusnahkan input line saat ini dan kemudian user dapat memasukkan input pada line baru.

Variabel lanjutkanInput mengontrol loop. Nilai inisialnya adalah true dan kemudian diubah menjadi false ketika nilai valid diterima sehingga tidak perlu lagi untuk melanjutkan input angka.


Berikut ini adalah contoh menangani exception  menggunakan trycatch, dan throw.

Output yang valid:

Pada program tersebut, jika user menginputkan nilai badak lebih dari 5, maka akan terjadi error. Exception/error yang telah ditangkap oleh blok try akan diubah menjadi objek e pada pernyataan catch, lalu menampilkan pesan error tersebut menggunakan printStackTrace().

Komentar

Postingan populer dari blog ini

ETS REKAYASA KEBUTUHAN (A) - GoToko

Pada Evaluasi Tengah Semester (ETS) kali ini melakukan analisis kebutuhan aplikasi GoToko . Sebelum kita menganalisis lebih jauh tentang GoToko, kita perlu mengetahui terlebih dahulu apa saja kebutuhan yang harus digali untuk sebuah aplikasi perangkat lunak. Kebutuhan Fungsional Kebutuhan fungsional adalah kebutuhan dari penggunaan software yang harus dibangun oleh developer ke dalam produk agar pengguna dapat menyelesaikan tugas mereka, sehingga memenuhi persyaratan bisnis. Kebutuhan fungsional menyatakan apa yang harus dilakukan oleh sistem. Kebutuhan fungsional juga sangat bergantung dari jenis perangkat lunak, pengguna sistem, dan jenis sistem yang perangkat lunak tersebut gunakan. Kebutuhan Non-Fungsional Kebutuhan non fungsional merupakan kebutuhan yang menggambarkan bagaimana sistem berkerja ke depannya.  Kebutuhan non-fungsional menjelaskan tentang constraint atau standar yang harus dipatuhi oleh sistem. Kebutuhan non-fungsional juga mendefinisikan karakteristik dari kuali...

TUGAS 3 PEMROGRAMAN WEB (D) - Warung Tegal

Tugas kali ini membuat website Warung Makan Tegal. Dalam proses pengerjaannya, menggunakan  HTML ,   CSS ,   dan JavaScript serta  VSCode  sebagai  text editor . Di website ini, saya mengaplikasikan penggunaan embed video dari Youtube dan image carousel atau slideshow . Laman website-nya dapat diakses pada  link berikut . Untuk  hosting  web sendiri memakai  Netlify . Konten dari website: Main page , berisi daftar makanan, masakan populer, kontak dari warung tegal, serta menu apa saja yang tersedia di dalam website. Tampilan Website Main page Source Code index.html style.css

TUGAS 8 PEMROGRAMAN WEB (D) - jQuery Sederhana

Tugas kali ini membuat website yang mengimplementasikan jQuery . jQuery adalah sebuah library JavaScript yang diperlukan sebagai solusi karena terdapat beberapa perbedaan implementasi JavaScript dari satu web browser dengan web browser lain. Di sini terdapat 2 aplikasi, yaitu tambah data ke dalam sebuah kolom select , dan satu lagi validasi form. Dalam proses pengerjaannya, menggunakan HTML , CSS (Bootstrap & Custom) , dan JavaScript (internal) . Laman website-nya dapat diakses pada link berikut . Untuk hosting web sendiri memakai Netlify . Konten dari website: Main page , berisi halaman untuk redirect aplikasi implementasi jQuery mana yang akan dicoba/dipilih. Tambah page , berisi halaman aplikasi tambah data untuk suatu kolom select . Validasi page , berisi halaman aplikasi validasi form. Tampilan Website Main page Tambah page (sebelum ditambah) Tambah page (setelah ditambah) Setelah buku dientri, maka datanya akan masuk ke list kolom select "Daftar Buku". Jika e...