Anda di halaman 1dari 15

LAPORAN PRAKTIKUM 2

PEMOGRAMAN LANJUTAN
Exceptions dan Assertions

Disusun Oleh

Nama : Isnani

Nim : 1957301025

Kelas : 2C

Program Studi : Teknik Informatika

No.Praktikum : 02/PL/TI/2021

Dosen : Musta’inul Abdi, SST.,M.Kom.

KEMENTERIAN RISET TEKNOLOGI DAN PERGURUAN TINGGI

POLITEKNIK NEGERI LHOKSEUMAWE

TAHUN AJARAN 2021


LEMBAR PENGESAHAN

No.Praktikum : 02/PBO/2.C/TI/2019

Nama Praktikum : Pemograman Web Lanjutan

Judul Praktikum : Exception dan Assort

Tanggal Praktikum : 4 Maret 2021

Tanggal Penyerahan : 9 Maret 2021

Nama Praktikan : Isnani

NIM/Kelas : 1957301025/TI.2.C

Nilai :

Keterangan :

Buketrata, 9 Maret 2021

Dosen Pembimbing,

Musta’inul Abdi, SST.,M.Kom.

NIP. 199110302019031015
DAFTAR ISI

LEMBAR PENGESAHAN ....................................................................................................... 2


DAFTAR ISI.............................................................................................................................. 3
BAB I ......................................................................................................................................... 1
1.1 Tujuan.......................................................................................................................... 1
1.2 Landasan Teori ............................................................................................................ 1
1.3 Alat dan bahan ............................................................................................................. 4
BAB II........................................................................................................................................ 5
2.1 Praktikum ....................................................................................................................... 5
BAB III .................................................................................................................................... 11
3.1 Kesimpulan ................................................................................................................... 11
DAFTAR PUSTAKA .............................................................................................................. 12
BAB I
PENDAHULUAN

1.1 Tujuan
Dasar penanganan exception telah dikenalkan pada anda di kursus pemrograman
pertama. Bab ini membahas secara lebih dalam mengenai exception dan jugasedikitmenyinggung
tentang assertion.
Setelah menyelesaikan pembahasan, anda diharapkan dapat :

1. Menangani exception dengan menggunakan try, catch dan finally


2. Membedakan penggunaan antara throw dengan throws
3. Menggunakan exception class yang berbeda – beda
4. Membedakan antara checked exceptions dan unchecked exceptions
5. Membuat exception class tersendiri
6. Menjelaskan keunggulan penggunaan assertions
7. Menggunakan assertions
1.2 Landasan Teori

Bugs dan error dalam sebuah program sangat sering muncul meskipun program tersebut dibuat oleh
programmer berkemampuan tinggi. Untuk menghindari pemborosan waktu pada proses error-checking, Java
menyediakan mekanisme penanganan exception.
Exception adalah singkatan dari Exceptional Events. Kesalahan (errors) yang terjadi saat runtime,
menyebabkan gangguan pada alur eksekusi program. Terdapat beberapa tipe error yang dapat muncul.
Sebagai contoh adalah error pembagian 0, mengakses elemen di luar jangkauan sebuah array, input yang
tidak benar dan membuka file yang tidak ada.
Seluruh exceptions adalah subclasses, baik secara langsung maupun tidak langsung, dari sebuah root
class Throwable. Kemudian, dalam class ini terdapat dua kategori umum : Error class dan Exception class.
Exception class menunjukkan kondisi yang dapat diterima oleh user program. Umumnya hal tersebut
disebabkan oleh beberapa kesalahan pada kode program. Contohdari exceptions adalah pembagian oleh 0
dan error di luar jangkauan array.
Error class digunakan oleh Java run-time untuk menangani error yang muncul pada saatdijalankan.
Secara umum hal ini di luar control user karena kemunculannya disebabkan oleh run-time environment.
Sebagai contoh adalah out of memory dan harddisk crash. Sebuah Contoh Perhatikan contoh program
berikut :

1
Jika kode tersebut dijalankan, akan didapatkan pesan kesalahan sebagai berikut :

Pesan tersebut menginformasikan tipe exception yang terjadi pada baris dimana exception itu berasal. Inilah
aksi default yang terjadi bila terjadi exception yang tidak tertangani. Jika tidak terdapat kode yang
menangani exception yang terjadi, aksi default akan bekerja otomatis. Aksi tersebut pertama-tama akan
menampilkan deskripsi exception yang terjadi. Kemudian akan ditampilkan stack trace yang
mengindentifikasi method dimana exception terjadi. Pada bagian akhir, aksi default tersebut akan
menghentikan program secara paksa. Bagaimana jika Anda ingin melakukan penanganan atas exception
dengan cara yang berbeda? Untungnya, bahasa pemrograman Java memiliki 3 keywords penting dalam
penanganan exception, yaitu try, catch dan finally.

Menangkap Exception
Try – Catch
Seperti yang telah dijelaskan sebelumnya, keyword try, catch dan finally digunakan dalam menangani
bermacam tipe exception. 3 Keyword tersebut digunakan bersama, namun finally bersifat opsional. Akan
lebih baik jika memfokuskan pada dua keyword pertama, kemudian membahas finally pada bagian akhir.
Berikut ini adalah penulisan try-catch secara umum :

Gunakan contoh kode tersebut pada program DivByZero yang telah dibuat sebelumnya :

2
Kesalahan pembagian dengan bilangan 0 adalah salah satu contoh dari ArithmethicException. Tipe
exception kemudian mengindikasikan klausa catch pada class ini. Program tersebut menangani kesalahan
yang terjadi dengan menampilkan deskripsi dari permasalahan.

Output program saat eksekusi akan terlihat sebagai berikut :

Bagian kode yang terdapat pada blok try dapat menyebabkan lebih dari satu tipe exception. Dalam
hal ini, terjadinya bermacam tipe kesalahan dapat ditangani menggunakan beberapa blok catch. Perlu dicatat
bahwa blok try dapat hanya
menyebabkan sebuah exception pada satu waktu, namun dapat pula menampikan tipe exception yang
berbeda di lain waktu.
Berikut adalah contoh kode yang menangani lebih dari satu exception :

Pada contoh ini, baris ke-4 akan menghasilkan kesalahan berupa Array Index Out Of Bounds
Exception bilamana seorang user alpa dalam memasukkan argument, sedang baris ke-5 akan menghasilkan
kesalahan Arithmethic Exception jika pengguna memasukkan nilai 0 sebagai sebuah argument. Pelajari
apakah yang akan terjadi terhadap program bila argumen – argumen

3
berikut dimasukkan oleh user :

Tidak ada argument1


0
Penggunaan try bersarang diperbolehkan dalam pemrograman Java.

1.3 Alat dan bahan


 Netbeans 8.0
 Java Development Kit 8
 Laptop

4
BAB II
PRAKTIKUM

2.1 Praktikum

Divide By Zero Jika pada sebuah pembagian, pembagi bernilai 0, maka program akan
terhenti dan mengalami error.

 Menangani lebih dari satu exception:

 public class Multiple adalah class utama karena fungsi main() terdapat pada
class ini, class harus mempunyai nama yang sama dengan file penyimpannya.
public adalah akses modifier yang menunjukan class dapat diakses oleh publik.

 Output jika tidak ada argument:

5
 Output jika argument adalah 1

 Output jika argument adalah 0

 Penggunaan try bersarang dalam pemrograman Java:

class NestedTryDemo untuk mencoba try bersarang pada java. Membuat method main yang
berfungsi sebagai method yang pertama dijalankan saat file di run. Pada try jika argument yang
diinputkan adalah tidak ada atau alpa maka catch yang terakhir dijalankan dan mencetak string ke
command line seperti gambar pada output di bawah. Jika yang diinputkan pada argument adalah
15 maka akan dijalankan catch yang terakhir dan akan mencetak string pemberitahuan menangani
error lewat command line. Jika yang diinputkan pada argument adalah
15 dan 3 maka catch tidak di eksekusi dikarenakan argument yang dibutuhkan sesuai dan terpenuhi
maka akan di cetak hasil dari pembagian 15 dengan 3. Jika yang diinputkan adalah 15 dan 0 maka
akan dijalankan catch yang pertama diakrenakan devide by zero atau java tidak bisa melakukan
pembagian dengan angka 0 dan ini adalah arithmetic exception.

Output:

- Jika argumentnya alpa atau kosong:

- Jika argumentnya adalah 15:

- Jika argumentnya adalah 15 dan 3:

6
- Jika argument yang diinputkan adalah 15 dan 0

7
1. Menggunakan try bersarang tergabung dengan penggunaan method:
Code:

Analisis:

Jika argument yang di inputkan adalah tidak ada / alpa maka catch Array Index out
Of Bounds Exception dijalankan karena argument tidak terpenuhi dan akan mencetak string
penjelasan error ke command line. Jika argument yang di inputkan adalah 15 akan keluar error
yang sama dengan jika tidak ada argument karena yang dibutuhkan adalah 2 argument maka
ini tidak terpenuhi. Jika argument yang diinputkan adalah 15 dan 3 maka ini terpenuhi jumlah
index argument yang di butuhkan maka akan di cetak output hasil pembagian melalui command
line dan catch tidak akan dieksekusi. Jika yang argument diinputkan adalah 15 dan 0 maka tidak
bisa mencetak hasil pembagian karena error jika pebagian dengan 0 dan dijalankan exception
arithmeticException.
Output:

- Jika argumentnya alpa atau kosong:

8
- Jika argumentnya adalah 15:

- Jika argumentnya adalah 15 dan 3:

- Jika argument yang diinputkan adalah 15 dan 0

2. Contoh penerapan keyword finally pada java:

Code:

Analisis:

Pada semua case yang mendapatkan nilai dari looping semuanya akan menjalankanbaris
code finally setelah melakukan return menjalankan baris code finally.

9
Kemudian setelah menjalankan baris code finally terdapat increment main saat looping di lakukan maka
akan kembali di cek nilai melalui case dan di jalankan dan kemudian baris code finally eksekusi lagi.
Berhentinya program ini adalah ketika looping selesai dan case tidak terdeteksi lagi maka finally juga
tidak di eksekusi lagi.

Output:

3. Contoh penggunaan assertion pada java:


Code:

Analisis:

Inputkan pada argument bernilai lebih besar dari 0 maka baris pengkondisian if di jalankan
dan kemudian pada if dilakukan pengecekan apakah nilai age dari inputan argument tersebut lebih besar
sama dengan 18 jika akan di jalankan soutnya yang akan mencetak string info jika tidak terpenuhi
programakan berhenti tanpa output.

10
BAB III
PENUTUP

3.1 Kesimpulan
Kesalahan atau error merupakan bagian normal dari pemrograman. Kesalahan dapat
terjadi pada saat program dikompilasi ataupun saat program dijalankan.
Semua kelas exception adalah subclass dari java.langException. Kelas exception
sendiri merupakan kelas turunan dari kelas Throwable. Selain kelas exceptiom, ada juga
kelas error yang juga diturunkan dari kelas Throwable.
Exception Handling adalah mekanisme yang digunakan jika ada suatu kondisi yang
tidak diinginkan terjadi ketika program sudah dijalankan (kondisi abnormal) yang
kemudian dapat diproses lebih lanjut oleh fungsi-fungsi yang siap menangani kesalahan
tersebut.Pada prinsipnya, eksepsi adalah suatu objek, yang diturunkan dari kelas
java.lang.Throwable.Ketika error terjadi di suatu method, maka method tersebut akan
membuat object yang kemudian dikirim ke runtime system. Object ini yang disebut
sebagai exception objek, mengandung informasi tentang error yang terjadi, termasuk tipe
dan kondisi program pada saat error terjadi. Proses pembuatan exception object dan
kemudian mengirimnya ke runtime system ini disebut sebagai “throwing an exception
(melemparkan exception) ”. Setelah method melemparkan exception, runtime system akan
berusaha untuk mencari solusi untuk menangani masalah yang ada. Solusi yang ada bisa
jadi lebih dari satu. Oleh karena itu, runtime system akan memilih berdasarkan suatu
urutan yang berdasar pada method tempat terjadinya error dan atau method lain yang
memanggil method tersebut.

11
DAFTAR PUSTAKA
1. Tim Asisten Dosen. 2015. Modul 6 Exception Handling. Malang : Unversitas Negeri
Malang.
2. Naughton, Patrick. 2002. Java Handbook Konsep Dasar Pemrograman
Java.Yogyakarta : Andi Offset
3. Sanchez, Julio & Maria P. Canton. 2010. Java 2 Weekend Crash Course. Jakarta :
PT. Elex Media Komputindo

12

Anda mungkin juga menyukai