TUGAS
6
Class
Dasar dan Exception Handling
1.1. Class Dasar
Ingat
di java, suatu string adalah objek. Ada dua kelas string yang akan dibahas
yaitu kelas String, kelas StringBuffer.
1.2. Kelas String
Kelas String memodelkan
deretan karakter. Kelas ini terdapat dalam java.lang. Sesuai dengan kuantitas
constructornya, ada 7 cara untuk membuat objek String :
1.
String(); // cara1
2.
String(String value); // cara2
3.
String(char value[]); // cara3
4.
String(byte ascii[], int hibyte); // cara4
5.
String(char value[], int offset, int
count); // cara5
6.
String(byte ascii[], int hibyte, int
offset, int count); //cara6
7.
String(StringBuffer buffer); // cara7
Contoh
penggunaan Constructor tersebut :
String aString1
= new String(); // cara1
String aString2
= new String(”haii…”); // cara2
char aArray[] =
{’H’,’E’,’L’,’L’,’O’};
String aString3
= new String(aArray); // cara3
String aString4
= new String(aArray,0,4); // cara5
System.out.println(aString4); // HELL
1.3. Kelas
StringBuffer
Kelas ini bisa
menciptakan objek berupa string yang dapat berubah (padahal objek pada kelas
String berupa konstanta).
Method-method pada kelas ini, dapat
beroperasi langsung pada buffer yang berisi string.
Ada tiga constructor milik kelas
StringBuffer :
1.
public StringBuffer();
2.
public StringBuffer(int n);
3.
public StringBuffer(String str);
Contoh penggunaan constructor :
String s1 = new String(”Belajar
StringBuffer”);
// menciptakan objek StringBuffer yang
kosong
// dengan karakter inisial sebanyak 16
karakter
String sb1 = new StringBuffer();
// menciptakan objek StringBuffer yg
panjangnya 32 char
// diinisialisasi dengan spasi
String sb2 = new StringBuffer(32);
// menciptakan objek StringBuffer
sepanjang String s1
// dengan karakter inisial 16 karakter
String sb3 = new StringBuffer(s1);
2.
Exception Handling
Exception Handling adalah suatu mekanisme penanganan eror yang mungkin
terjadi dalam suatu program. Misalnya sebuah program yang memiliki operasi
pembagian, dimana suatu ketika user menginputkan bilangan pembagi atau
denumerator 0, maka program tersebut harus memiliki suatu Exception Handling untuk kasus
tersebut. Selain contoh diatas exception handling disini juga berguna saat
program kita membutuhkan akses ke CD ROM, USB, Audio&Video File, Internet
dll, sehingga apabila alat alat yang kita butuhkan dalam program kita tersebut
tiba tiba terputus aksesnya maka program kita tidak secara tiba tiba mati dan
agar program kita bisa terus berjalan.
Error
dalam pemrograman dibagi dalam tiga katagori yaitu :
1.
syntax error (saat kompilasi)
2.
run time error, dan
3.
logic error (output belum sesuai dengan
yang diharapkan).
Exception dipicu oleh
run time error dan digunakan sebagai sarana melaporkan kondisi-kondisi
kesalahan.
Jenis-Jenis
Exception
Dalam java, exception
merupakan objek dari subkelas yang diturunkan dari kelas Throwable. Kelas
Throwable ini terdapat dalam package java.lang.object.
Kelompok
Kelas Error
Error ini bersifat
fatal sehingga sistem tidak dapat dimanipulasi untuk diperbaiki, contoh kelas:
LinkageError, VirtualMachineError, dan AWTError.
Kelompok
Kelas Exception
Jenis
error ini masih dapat diantisipasi dengan menyisipkan statement tambahan untuk
mendeteksi data yang berpotensi menimbulkan error.
Ada
kelompok exception yang diperiksa oleh interpreter, apakah akan ditangani atau
dilempar, namun ada pula exception yang akan tidak diperiksa interpreter.
Disamping itu
programmer dibolehkan membuat exception sendiri dengan cara extends atau
implements kelas Exception.
Mengantisipasi
Exception
Diperlukan
tiga langkah berikut ini untuk mengantisipasi exception :
1.
Mendeklarasikan Exception
Bentuk
umum :
[modifier]
returntype namaMethod() throws tipeException{
}
Contoh
:
public
void operasiMatematika() throws IOException,
ClassNotFoundException {
}
public
void beriPinjaman() throws TolakException{
}
2.
Melempar Exception
Bentuk
umum :
TipeException namaObjek = new
TipeException;
throw
namaObjek;
Diringkas
menjadi :
throw namaObjek TipeException;
atau
throw new TipeException();
Contoh
:
TolakException
t = new TolakException(”lagi pelit”);
throw t;
Diringkas
menjadi :
throw new TolakException(”lagi pelit!”);
3.
Menangkap Exception
Penangkapan
runtime error, dapat mempunyai beberapa blok yang menangkap setiap jenis
exception.
Bentuk
umum :
try {
// pemanggilan method yg mungkin
menghasilkan exception
// blok statement yg mungkin menghasilkan
exception
}
catch(TipeException1
namaObjek) {
// penanganan salah-satu jenis exception
}
catch(TipeException2
namaObjek) {
// penanganan salah-satu jenis exception
}
catch(TipeExceptionN
namaObjek) {
// penanganan salah-satu jenis exception
}
finally {
// blok yang harus dieksekusi
}
Jika
pada blok try tidak terjadi exception, maka blok catch tidak ada yang
dieksekusi dan segera blok finally yang dieksekusi.
Jika
terjadi exception pada blok try, maka salah satu blok catch dieksekusi,
kemudian blok finally dieksekusi.
Mekanisme
Mengantisipasi Exception
Ada
tiga kemungkinan skenario exception, pertama jika tidak terjadi exception
(tidak ada blok catch yang dieksekusi), kedua jika exception terjadi pada blok
method tunggal (salah-satu blok catch dieksekusi), ketiga jika terjadi
exception pada blok tersarang.
Menampilkan
Pesan Exception
Beberapa method
standard yang dapat digunakan untuk menampilkan pesan exception merupakan
anggota dari kelas java.lang.Throwable.
No
|
Method
Pesan Exception
|
Deskripsi
|
1
|
getMessage()
|
Mengembalikan
nilai string yang berisi pesan rinci tentang objek Throwable yang mengalami
exception
|
2
|
toString()
|
Mengembalikan
nilai string yang berisi pesan singkat tentang objek yang mengalami exception
|
3
|
getLocalizedMessage()
|
Menampilkan
pesan exception lokal (yang terjadi pada subkelas saja)
|
4
|
printStackTrace()
|
Method
ini bersifat void, dan hanya mencetak informasi tentang objek Throwable
|
PEMBAHASAN
3.1. Contoh Pemrogaman Java
package
Exception.Handling;
import
java.util.*;
public
class ExceptionHandling {
public static Scanner input = new Scanner(System.in);
public static void main(String args[]) {
int a,b,c;
try
{
System.out.println("Masukkan
Angka Pertama :");
a = input.nextByte();
System.out.println("Masukkan
Angka Kedua :");
b = input.nextByte();
c = a/b;
System.out.println("Hasil
Pembagian Angka = "+c);
}
catch (Exception e)
{
System.out.println("Fix");
}
}
}
3.2. Contoh Pemrograman C#
using
System;
namespace
ExceptionHandling
{
class
Program {
public static void Main(string[] args) {
try
{
byte a,b,c;
int tanya;
do
{
Console.Write("Masukkan Angka Pertama : ");
a = Convert.ToByte(Console.ReadLine());
Console.Write("Masukkan Angka Kedua : ");
b = Convert.ToByte(Console.ReadLine());
c = Convert.ToByte(a+b);
Console.WriteLine("Hasil Penjumlahan Angka = "+c);
Console.WriteLine("Apakah ingin mengulang ?");
Console.WriteLine("Jika iya tekan 1 jika tidak tekan
2");
Console.Write("Jawaban Anda = ");
tanya = Convert.ToInt32(Console.ReadLine());
}
while(tanya==1);
}
catch (Exception e)
{
Console.WriteLine("Fix");
}
finally
{
Console.WriteLine();
Console.WriteLine("Example of Exception Handling");
}
Console.Write("Press any key to continue . . .
");
Console.ReadKey(true);
}
}
}
3.3. Contoh Perograman C++
#include <iostream>
using namespace std;
double division(int a, int b) {
if( b == 0 )
{
throw "Division";
}
return (a/b);
}
int main () {
int x = 50;
int y = 0;
double z = 0;
try
{
z = division(x, y);
cout << z << endl;
}
catch (const char* msg)
{
cerr << msg << endl;
}
return 0;
}
Tidak ada komentar:
Posting Komentar