Minggu, 16 Januari 2011

Laporan Java IX

Ini adalah laporan java ke 9 tentang exception
Exception adalah objek error khusus yang dibuat ketika terjadi kesalahan pada suatu program. Pada excption ada 3 excepsi yaitu: try, catch dan finally.

1. Try adalah kode-kode program yang mungkin dapat menimbulkan exception
2. Catch (JenisException1 e) adalah kode-kode program yang harus dilakukan apabila terjadi exception JenisException1.
3. Catch (JenisException2 e) adalah kode-kode program yang harus dilakukan apabila terjadi exception JenisException2. Boleh terdapat lebih dari satu blok catch untuk menangani exception
4. Finally, finally bersifat opsional(boleh tidak menggunaan blok finally) yaitu sbuah kode yang tetap dilakukan baik terjadi exception maupun tidak terjadi exception.

Contoh program
class Eksepsi {
public static void main(String[] args) {
int a ;
System.out.println("Pembagian nol");
a = 30 / 0;
System.out.println("Hasilnya : "+ a);
System.out.println("Ini hanya contoh");// ini tidak akan dieksekusi
}
}

Terlihat dari contoh di atas bahwa baris perintah :
System.out.println("Ini hanya contoh");
tidak dieksekusi, ini karena telah terjadi eksepsi karena pembagian suatu bilangan dengan nol. Agar baris perintah tersebut dieksekusi maka kita harus menggunakan blok try dan catch.

class CobaEksepsi {
public static void main(String[] args) {
int a ;
System.out.println("Pembagian nol");
try {
a = 30 / 0;
System.out.println("Hasilnya : " + a);
} catch (ArithmeticException e) {
System.out.println("Ini hanya contoh");
}
}

Dengan menggunakan blok try catch maka baris perintah

System.out.println("Ini hanya contoh");

Dapat kita eksekusi. Untuk penjelasan program di atas akan kita uraikan satu-persatu.
Blok try untuk menempatkan statement atau pernyataan dari baris perintah yang sekiranya dapat menghasilkan eksepsi. Blok catch adalah untuk menangkap eksepsi tersebut, karena pembagian dengan nol merupakan eksepsi berupa aritmatika, maka parameter di dalam catch kita isikan sesuai tipe eksepsi tersebut.

Selanjutnya kita akan menggunakan blok catch lebih dari satu, ini digunakan agar eksepsi yang tidak ditangkap di blok catch sebelumnya dapat ditangkap di blok catch berikutnya.

class Eksepsi2 {
public static void main(String[] args) {
int a ;
System.out.println("Pembagian nol");
try {
a = 30 / 0;
System.out.println("Hasilnya : " + a);
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Blok catch pertama : " + e);
} catch (ArithmeticException ea) {
System.out.println("Blok catch kedua : " + ea);
}
}
}

class Eksepsi3 {
public static void main(String[] args) {
int a ;
System.out.println("Pembagian nol");
try {
a = 30 / 0;
System.out.println("Hasilnya : " + a);
} catch (ArithmeticException e) {
System.err.println("Eksepsi : " + e);
} finally {
System.err.println("Blok finally");
}
}
}

Statement atau pernyataan yang berada di dalam blok finally pasti akan dieksekusi, pada saat terjadi eksepsi maupun tidak terjadi eksepsi. Untuk membuktikannya anda dapat mengganti angka 0 dengan angka selain nol.

Sekian dan terimakasih...........

Wassalam..................

Minggu, 09 Januari 2011

Pertemuan VIII

Overloading

• Overloading adalah suatu keadaan dimana
beberapa method memiliki nama yang sama
tetapi fungsionalitasnya berbeda

• Contoh :
– titik(x,y);
– titik(x,y,z);

• Ciri Overloading :
– Nama method harus sama
– Daftar parameter harus berbeda
– Return type boleh sama, boleh berbeda

Contoh dari overloading:

class jualhandphone{
static public void handphone(String merek, String jenis)
{
System.out.println("merek : " + merek);
System.out.println("jenis : " + jenis);
}
static public void jualhandphone(String merek, String jenis)
{
System.out.println("Merek : " + merek);
System.out.println("jenis : " + jenis);
}
}

class handphone{
public static void main(String[] args) {
System.out.println("Spesisifikasi handphone 1 : ");
jualhandphone.handphone("BlackBerry", "Gemini");
System.out.println("------------");
System.out.println("Spesifikasi handphone 2 : ");
jualhandphone.handphone("BlackBerry", "Baru");
}
}

Overriding

• Overriding menyatakan suatu keadaan
dimana method pada subclass menolak
method pada parent class-nya.

• Ciri dari overriding :
– Nama method harus sama
– Daftar parameter harus sama
– Return type harus sama

Peraturan pada Overriding
• Method yang terkena Override (overriden
method) tidak boleh mempunyai modifier
yang lebih luas aksesnya daripada method
yang meng-override (overriding method).

Contoh program overriding:

Sepeda.java (yang merupakan superclass)

class Sepeda{

//deklarasi atribut

int kecepatan = 0;
int gir = 0;

// membuat method ubahGir dengan parameter pertambahanGir bertipe integer
void ubahGir(int pertambahanGir) {

gir= gir+ pertambahanGir;
System.out.println(“Gir:” + gir);

}

//membuat method tambahKecepatan dengan parameter pertambahanKecepatan
void tambahKecepatan(int pertambahanKecepatan) {

kecepatan = kecepatan+ pertambahanKecepatan;
System.out.println(“Kecepatan:” + kecepatan);

}

}

Selanjutnya kita buat class SepedaGunung yang meng-extends atau mewarisi class Sepeda. didalam class SepedaGunung terjadi overriding method dari class Sepeda. berikut source code class SepedaGunung.

SepedaGunung.java

class SepedaGunung extends Sepeda {

//deklarasi atribut atau variabel

int setSadel;

//overriding method ubahGir dari class Sepeda
void ubahGir(int pertambahanGir) {

gir= 2*(gir+ pertambahanGir );
System.out.println(“Gir:” + gir);

}

}

Selanjutnya kita akan membuat class SepedaGunungBeraksi untuk memanggil method dan mengisi nilai parameter.

SepedaGunungBeraksi.java

class SepedaGunungBeraksi {

public static void main(String[] args) {

// Membuat object dari class SepedaGunung
SepedaGunung sepedaku = new sepedaGunung();

// Memanggil method dan mengisi nilai parameter
sepedaku.tambahKecepatan(10);
sepedaku.ubahGir(2);
sepedaku.setSadel(20);

}

}

Nb: Jika ada kesalahan mohon dimaafkan.............