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

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

ETS PEMROGRAMAN BERORIENTASI OBJEK (B) - Mesin ATM

1. Tuliskan skenario fungsionalitas aplikasi berdasarkan tayangan tersebut! Pada video yang ada, ditampilkan proses setor tunai pada mesin ATM. Jadi, awalnya nasabah memasukkan kartu ATM ke dalam mesin. Lalu, memasukkan nomor pin sebanyak 6 digit sesuai yang telah didaftarkan. Jika pin salah, maka mesin akan meminta mengulangi agar memasukkan pin yang benar. Nah, di mesin ATM ini sendiri ada beberapa fitur yaitu setor tunai, penarikan tunai, dan transaksi lainnya (seperti transfer, pembayaran listrik, dll.). Dalam video, nasabah ingin melakukan proses setor tunai. Perlu diketahui di beberapa mesin, setor tunai ada yang menerima pecahan uang Rp100.000,00 saja, ada juga yang juga menerima Rp50.000,00, di video sepertinya hanya menerima Rp100.000,00. Lalu, juga ada batas maksimal berapa nominal atau jumlah uang yang dimasukkan, di video batasnya adalah 50 lembar. Jika lebih, maka kelebihannya akan dikembalikan oleh mesin. Setelah memasukkan uang ke dalam mesin, mesin akan memproses dan ke...

TUGAS 3 REKAYASA KEBUTUHAN (A) - Elisitasi Kebutuhan SI Evaluasi Kegiatan Sekretariat ITS

Tugas kali ini melakukan elisitasi kebutuhan dari salah satu  Spesifikasi Kebutuhan Perangkat Lunak  (SPKL) dari aplikasi  SI Evaluasi Kegiatan Sekretariat ITS (SIETS)   yang dibuat oleh Insitut Teknologi Sepuluh Nopember (ITS) Surabaya . Sistem Informasi ini merupakan sistem yang diwacanakan untuk memenuhi kebutuhan ITS akan penerimaan masukan dari berbagai kegiatan ITS yang bersifat daring akibat pandemi COVID-19 agar nantinya semasa transisi dari luring ke daring sistem dapat berjalan dengan lancar. Untuk SKPL-nya sendiri dapat dilihat di bawah ini: Elisitasi Elisitasi adalah teknik untuk memperoleh informasi melalui percakapan dengan sesorang dimana orang tersebut tidak sadar sedang digali informasi yang dimiliki. Proses elisitasi digunakan untuk menentukan kebutuhan suatu sistem dengan cara berkomunikasi dengan pengguna tentang perkembangan kebutuhan sistem yang akan dibangun. Ada beberapa hal yang dapat dianalisis sebagai tahap penjajakan dalam memban...