Senin, 09 Juli 2012

BAB 6 Exception Heandling

,

BAB 6

Class Dasar , Exception Heandling


Teori  Class Dasar
Dalam pemrograman, suatu string adalah objek. Ada dua kelas string yang akan dibahas yaitu kelas String dan kelas StringBuffer.

Kelas String
Kelas String memodelkan deretan karakter. Kelas ini terdapat dalam java.lang.
Sesuai dengan kuantitas constructornya, ada 7 cara untuk membuat objek String:
String(); // cara1
String(String value); // cara2
String(char value[]); // cara3
String(byte ascii[], int hibyte); // cara4
String(char value[], int offset, int count); // cara5
String(byte ascii[], int hibyte, int offset, int count); //cara6
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


Ada 33 method yang digunakan untuk melakukan 8 macam operasi pada kelas
String, yaitu :
1. int length;
2. char charAt(int index);
3. boolean startsWith(String prefix);
4. boolean startsWith(String prefix, int tooffset);
5. boolean endsWith(String suffix);
6. int indexOf(int i);
7. int indexOf(int i, int mulaiIndex);
8. int indexOf(String str);
9. int indexOf(String str, int mulaiIndex);
10. int lastIndexOf(int i);
11. int lastIndexOf(int i, int mulaiIndex);
12. int lastIndexOf(String str);
13. int lastIndexOf(String str, int mulaiIndex);
14. String substring(int mulaiIndex);
15. String substring(int mulaiIndex, int sampaiIndex);
16. boolean equals(Object anObject);
17. boolean equalsIgnoreCase(String aString);
18. int compareTo(String str);
19. int compareTo(Object anObject);
20. String concat(String s);
21. String replace(char oldChar, char newChar);
22. String trim();
23. String toLowerCase();
24. String toUpperCase();
25. static String valueOf(Object anObject);
26. static String valueOf(char ch[]);
27. static String valueOf(char ch[], int offset, int count);
28. static String valueOf(boolean b);
29. static String valueOf(char ch);
30. static String valueOf(int i);
31. static String valueOf(long l);
32. static String valueOf(float f);
33. static String valueOf(double d);


Ada 8 operasi pada kelas String, yaitu :
1. Membuat dan menginisialisasi String
String saran = ”Raihlah scjp”;
String saran = new String(”Raihlah scjp”);

2. Membaca character dalam String
int len = saran.length(); // 12
char ch = saran.charAt(3); // h

3. Membandingkan dua String
String s1 = new String(”abcd”);
String s2 = new String(”abcdz”);
System.out.println(s1.equals(s2)); // true
System.out.println(s1.equalsIgnoreCase(”ABCFJ”);//true
System.out.println(s1.compareTo(s2);
hasilnya 0, jika s1 sama dengan s2
hasilnya < 0, jika s1 < s2
hasilnya > 0, jika s1 > s2
Catatan :
Membandingkan nilai-nilai di attribute int, long, float, dan double, harus
mengunakan operator ==, namun operator ini tidak berlaku untuk objekobjek
milik kelas String. Jika contoh di atas dilakukan s1==s2, maka
hasilnya selalu false.

4. Mengubah character kecil menjadi capital
String s1 = new String(”Raihlah scjp \n”);
String s2 = s2.trim(); // Raihlah scjp (tanpa spasi)
System.out.println(s2.toLowerCase());
System.out.println(s2.toUpperCase());

5. Concatenation dua String
String s1 = new String(”Saya belajar j2se”);
String s2 = new String(s1+ ” sendiri”);
String s3 = new String(s2+ ” di rumah”);
System.out.println(s3);

6. Mencari character dan substring
String aString = new String(”Nilai objek milik kelas String”);
int index1 = aString2.indexOf(’a’);
// index1 berisi posisi ’a’
int index2 = aString.indexOf(’a’,index1+1);
// index2 berisi posisi kemunculan kedua huruf ’a’
int index3 = aString.indexOf(”String”);
// index3 berisi lokasi karakter ’S’ pada aString
int index4 = aString.indexOf(”i”);
// index4 berisi lokasi karakter i pada aString
boolean hasil1 = aString.startWith(”Nilai”); // true
boolean hasil = aString.endsWith(”String”); // true

7. Mengambil suatu substring
String strAsli = new String(”Saya belajar j2se”);
String strBaru1 = strAsli.substring(12);
// strBaru1 berisi string mulai index ke-12, ”j2se””
String strBaru2 = strAsli.substring(5,11);
// strBaru2 berisi string mulai index ke-5 sampai index ke-11
// isinya ”belajar”

8. Menggantikan suatu character dalam String
String strBaru3 = strAsli.replace(’S’,’m’);
System.out.println(strBaru3);
// “maya belajar j2se”

Teori Singkat Exception Heandling



Pendahuluan
Error (kesalahan) dalam pemrograman dibagi dalam tiga katagori yaitu syntax
error (muncul saat kompilasi), run time error, dan logic error (ketika output belum
sesuai dengan yang diharapkan).
Exception digunakan sebagai sarana untuk melaporkan jenis kondisi kesalahan
saat program dijalankan, dan mengendalikannya agar run time error tersebut tidak
mengakibatkan eksekusi dihentikan (statement setelahnya tetap dieksekusi).

Jenis-Jenis Exception
Dalam java, exception merupakan objek dari subkelas yang diturunkan dari
kelas Throwable. Kelas Throwable ini terdapat dalam package java.lang.object.
Kelas ini mengandung dua sub kelas berikut :
a. Kelompok Kelas Error
Error ini bersifat fatal sehingga sistem tidak dapat dimanipulasi, contoh kelas:
LinkageError, VirtualMachineError, dan AWTError.
b. Kelompok Kelas Exception
Jenis error ini masih dapat diantisipasi dengan menyisipkan statement tambahan
untuk mendeteksi statement penyebab dan jenisnya.
Ada kelompok RuntimeException yang diperiksa oleh interpreter, apakah akan
ditangani atau dilempar, namun ada pula exception yang tidak diperiksa interpreter.
Disamping itu programmer dibolehkan membuat exception sendiri dengan cara
extends atau implements kelas Exception.

Tabel Checked Exception

Exception                                           Deskripsi
1 ClassNotFoundException                Kelas tidak ditemukan
2 CloneNotSupportedException          Melakukan clone objek yang tidak
mengimplementasikan interface Cloneable
3 IllegalAccessException                     Pengaksesan ke kelas ditolak
4 InstantiationException                      Menciptakan objek dari kelas abtract ataupun dari
interface
5 InterruptedException                        Thread telah diinterupsi oleh thread lain
6 NoSuchFieldException                     Field yang diminta tidak ada
7 NoSuchMethodException                 Method yang diminta tidak ada

Tabel Uncheked Exception

Exception                                           Deskripsi
1 AritmaticException                           Kesalahan Aritmatik seperti pembagian dengan nol
2 ArrayIndexOutBoundsException     Index array di luar batas
3 ArrayStoreException                        Pemberian nilai ke elemen array tidak sesuai dengan tipenya
4 ClassCastException                         Cast yang tidak sah
5 IllegalArgumentException                Argument illegal
6 IllegalMonitorStateException           Operasi monitor illegal seperti menunggu di thread yang tidak terkunci

7 IllegalStateException                        Lingkungan atau aplikasi state yang tidak benar
8 IllegalThreadStateException            Operasi yang diminta tidak kompatibel dengan state thread saat itu
9 IndexOutOfBoundException            Indeks di luar batas
10 NegativeArraySizeException          Array diciptakan dengan ukuran negatif
11 NullPointerException                     Penggunan null yang tidak sah
12 NumberFormatException              Konversi yang tidak sah dari string ke format numerik
13 SecurityException                           Melanggar aturan security
14 StringIndexOutOfBounds               Index di luar batas string
15 UnsupportedOperationException  Ditemukan operasi yang tidak didukung

Mengantisipasi Exception

Diperlukan tiga langkah berikut ini untuk mengantisipasi exception :
a. Mendeklarasikan Exception
Bentuk umum :
[modifier] returntype namaMethod() throws tipeException{
}
Contoh :
public void operasiMatematika() throws IOException,
ClassNotFoundException {
}
public void beriPinjaman() throws TolakException{
}

Menampilkan Pesan Exception

Beberapa method standard yang dapat digunakan untuk menampilkan pesan
exception merupakan anggota dari kelas java.lang.Throwable.
 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


Program Exception  pada Java .
package exception_java;
import java.util.Scanner;

public class Main
{
    public static Scanner input = new Scanner(System.in);
    public static void main(String[] args)
    {
        byte password;
        try
        {
            System.out.println("Internet Stikom Banyuwangi");
            System.out.print("Password :");
            password = input.nextByte();
        }
        catch(Exception e)
        {
            System.out.println("Password Anda salah...");
        }
    }
}

Program Exception  pada C++ .
using namespace std;

int main(int argc, char *argv[])
            {
                try
                {
                    int password;
                    cout<<"Internet Stikom Banyuwangi"<<endl;
                    cout<<"Password : ";
                    if(!(cin>>password))
                    {
                         throw password ;
                    }

                }
                catch(int a)
                {
                    cout<<"Password Anda Salah.."<<endl;
                }
                cout<<endl;
                return 0;
            }


Program Exception  pada C-Sharp .
using System;

namespace exception
{
       class Program
       {
              public static void Main(string[] args)
               {
                  byte nme;
                             
                  try
                  {
                     Console.WriteLine("Internet Stikom Banyuwangi");
                     Console.Write("Password : ");
                     nme = Convert.ToByte(Console.ReadLine());
                   }
                  catch(Exception)
                   {
                     Console.WriteLine("Password salah..");
                     Console.WriteLine();
                   }
                  
                  Console.Write("Press any key to continue . . . ");
                  Console.ReadKey(true);
               }
           }
       }


0 komentar to “BAB 6 Exception Heandling”

Posting Komentar