Sabtu, 02 Juni 2012

Class Dasar dan Exception Handling


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