Minggu, 13 November 2011

Laporan Praktek Pertemuan 7


Hi… temen-temen…
Pada pertemuan ini, pokok pembahasannya adalah Package dan Java Kelas.
A.    Package
Package adalah sebuah sarana untuk mengelompokkan atau mengorganisasikan kelas (*.class) yang terkait (karena jenisnya, fungsinya atau karena alasan lainnya) pada direktori yang sama, dimana di dalam setiap kelasnya terdapat directive (statement java dalam source code yang digunakan untuk membuat kelas) package yang mengacu pada direktori tersebut.
Ada tiga langkah dalam membuat package yaitu :
1.      Mendeklarasikan dan memberi nama package.
2.      Membuat struktur dan nama folder yang sesuai dengan struktur dan nama package.
3.      Mengkompilasikan kelas-kelas sesuai dengan nama package masing-masing.


B.     Java Kelas
Sun Microsystem, Inc. selaku pengembang utama java menyediakan banyak kelas yang dapat digunakan untuk mempermudah pembuatan aplikasi, antara lain :
1.      Kelas string
Merupakan kelas yang menangani deretan karakter. Beberapa method dalam kelas string  seperti : char, boolean, int, string.
2.      Kelas math
Math adalah kelas yang terdapat pada paket java.lang yang berguna untuk melakukan berbagai operasi matematika. Beberapa method dalam kelas math adalah : double abs, double ceil, double floor, long round, double sqrt.

Berikut ini adalah beberapa contoh program dari penggunaan package dan kelas java!
Sebelum menyimpan kode, kita membuat sebuah direktori dengan nama folder Meet6\makhlukhidup\hewan
Manusia.java
//file Manusia harus berada dalam folder makhlukhidup
package makhlukhidup;
public class Manusia {
public String nama = "";
public Manusia(String nama){
this.nama = nama;
}
}


Hasil:
Tumbuhan.java
//file Tumbuhan harus berada dalam folder makhlukhidup
package makhlukhidup;
public class Tumbuhan {
public String nama = "";
public Tumbuhan (String nama){
this.nama = nama;
}
}

Hasil:

Burung.java
//file Burung harus berada dalam folder makhlukhidup/hewan
package makhlukhidup.hewan;
public class Burung {
public static final boolean bisaTerbang = true;
public String nama ="";
public Burung (String nama) {
this.nama = nama;
System.out.println("Nama burung: "+nama);
}
}

 
Hasil:


MainMakhlukHidup.java
//file MainMakhlukHidup harus berada dalam folder Meet6
 public class MainMakhlukHidup {
 public static void main (String [] args){
 makhlukhidup.Manusia m = new makhlukhidup.Manusia ("Sayuti");
 System.out.println("nama : "+m.nama);
 makhlukhidup.Tumbuhan t = new makhlukhidup.Tumbuhan("Palem");
 System.out.println("nama : "+t.nama);
 System.out.println("Semua burung pasti bisa terbang?"+makhlukhidup.hewan.Burung.bisaTerbang);
 makhlukhidup.hewan.Burung b = new makhlukhidup.hewan.Burung("Beo");
 }
 }

Hasil:


MainMakhlukHidupPakeImport.java
//file MainMakhlukHidup harus berada dalam folder Meet6
import makhlukhidup.*;
import makhlukhidup.hewan.*;
public class MainMakhlukHidupPakeImport{
public static void main(String [] args) {
Manusia m = new Manusia ("Sayuti");
System.out.println("nama : "+m.nama);
Tumbuhan t = new Tumbuhan("Palem");
 System.out.println("nama : "+t.nama);
 System.out.println ("Semua burung pasti bisa terbang?"+Burung.bisaTerbang);
 Burung b = new Burung ("Beo");
 }
 }

Hasil:


ContohString.java
public class ContohString {
public static void main (String[]args) {
String Kalimat = "Selamat belajar JAVA";
System.out.println("toUpperCase : "
+Kalimat.toUpperCase());
System.out.println("toLowerCase : "
+Kalimat.toLowerCase());
System.out.println("Jumlah karakter : " +Kalimat.length());
System.out.println("Karakter index ke 0 : "+Kalimat.charAt(0));
System.out.println("substring(16,20) : " +Kalimat.substring(16,20));
System.out.println("Karakter index ke 0 : " +Kalimat.trim());
}
}

Hasil:


OpMatematika.java
public class OpMatematika {
public static void main (String [] args) {
System.out.println("E                           = " +Math.E);
System.out.println("PI                          = " +Math.PI);
System.out.println("Ln 20        = " +Math.log(20.0));
System.out.println("ceil(-5.6)   = " +Math.ceil(-5.6));
System.out.println("floor(-5.6)             = " +Math.floor(-5.6));
System.out.println("round(-5.6)            = " +Math.round(-5.6));
System.out.println("sqrt(25)     = " +Math.sqrt(25));
System.out.println("pow(25,0.5) = " +Math.pow(25,0.5));
}
}

Hasil:



Itulah sedikit penjelasan tentang package dan java kelas. Semoga bermanfaat untuk kita semua.

Thank’s……….

NB : Dalam penyimpanan nama Package harus sama dengan nama  folder.


Minggu, 06 November 2011

Laporan Praktek 6 (Overloading, Overriding, Exception)

Ehmmmmmmm……………………  JJJ
Temen-temen…. ketemu  lagi untuk penjelasan tentang bahasa pemrograman java. Pada pembahasan ini kita akan membahas tentang Overloading, Overriding dan Exception. Tapi sebelumnya kita mengetahui tentang apa itu pengertian Overloading, Overriding, dan Exception.
1.   Overloading
Overloading adalah suatu kemampuan dalam bahasa berorientasi objek untuk menggunakan satu nama  method untuk beberapa method yang memiliki parameter yang masukannya berbeda (tipe maupun jumlah parameter). Atau dalam bahasa kita “Dalam sebuah kelas terdapat beberapa method yang namanya sama, yang membedakan hanya tipe data dan jumlah parameternya”.
2.  Overriding
Overriding adalah suatu kemampuan dalam bahasa berorientasi objek untuk mengubah implementasi (menimpa) suatu method yang dimiliki oleh kelas super ketika kelas super tersebut diturunkan.
Alasan melakukan overriding :
1.      Mendefenisikan kembalimethod kelas induk secara total
2.      Menambahkan behaviour tertentu pada method kelas induk.
3.  Exception
Exception merupakan suatu objek error khusus yang dibuat ketika terjadi kesalahan pada suatu program. Penanganan exception dalam java dibuat dengan menuliskan kode program exception handling pada source code. Exception handling berguna untuk  mencegah program “hang”. Kode program exception handling secara umum terdiri dari 3 bagian yaitu try, catch, dan finally.
Kategori error dalam program :
1.      Syntax error
Error yang terjadi apabila java compiler menemukan kesalahan pada syntax atau aturan-aturan lainnya pada program.
2.      Runtime error
Error yang terjadi karena faktor eksternal, seperti adanya pembagian dengan nol, input yang tidak sesuai dengan tipe yang diminta dan sebagiannya. Kondisi ini dikenal sebagai exception.
3.      Logic error
Error yang terjadi karena kesalahan logika pemrograman. Misalnya hasil pembagian dua  buah bilangan diberi tipe data int. Hal ini menyebabkan hasil tidak valid karena ada bagian koma desimal yang akan hilang.
Untuk bisa lebih memahami tentang penggunaan Overloading, Overriding dan Exception ini, mari kita  melihat contoh program di bawah ini! 
class SegiTiga {
public SegiTiga(double panjang) {
System.out.println("\nVariabel = segitiganya sama sisi");
System.out.println("Panjang = " +panjang);
keliling(panjang);
}
public SegiTiga(double panjang, double sisiMiring) {
System.out.println("\n2Variabel = segitiganya sama kaki");
System.out.println("panjang = " +panjang+ " sisi miring = "+sisiMiring);
keliling(panjang, sisiMiring);
}
public void keliling(double panjang) {
tampilkanHasil(panjang*3);
}
public void keliling(double p, double sM) {
tampilkanHasil(2*sM+p);
}
protected void tampilkanHasil(double h) {
System.out.println("Hasil = " +h);
}
}


Penjelasan kode:
·         Memiliki 5 method yaitu: method dengan nama Segitiga ada 2, method dengan nama Keliling juga ada 2,  yang membedakan parameternya, dan method TampilkanHasil.
·         Kode program di atas menunjukkan adanya beberapa method yang namanya sama dalam sebuah kelas, seperti nama method segitiga dan keliling  yang berarti adanya Overloading pada kode program di atas.
Jika di jalankan hasilnya sbb:


class MainSegiTiga {
public static void main (String [] args) {
new SegiTiga(7);
new SegiTiga(4,7);
}
}
Penjelasan Kode:
·         Nama kelasnya adalah MainSegitiga.
·         MainSegitiga merupakan kelas utama yang menjalankan method yang terdapat di class segitiga yang ditandai dengan adanya void main yang berarti fungsi utama.
·         Method dengan nama Segitiga yang mempunyai  parameter satu (double panjang) dengan nilai yang diberikan = 7. Ketika dieksekusi maka perintah yang dijalankan adalah sebagai berikut :
System.out.println ("\nVariabel = segitiganya sama sisi");
System.out.println ("Panjang = "+panjang);
Dan akan menjalankan method :
public void keliling (double panjang) {
tampilkanHasil(panjang*3);
Panjang akan menampung  nilai 7, maka kelilingnya adalah 7 x  3 = 21.
·         Method Segitiga dengan parameter dua (double p, double sM) dengan nilai yang diberikan = 4 dan 7. Ketika dijalankan  maka perintah yang dijalankan adalah:
public SegiTiga (double panjang, double sisiMiring) {
System.out.println ("\n2Variabel = segitiganya sama kaki");
System.out.println ("Panjang = "+panjang+" sisi miring = "+sisiMiring);
keliling (panjang, sisiMiring);                                                   
·         Arti dari new Segitiga  adalah memanggil konstruktor Segitiga

Hasilnya adalah sbb :


class OverRiding {
public void MethodAsli() {
System.out.println("Method milik class OverRiding dijalankan");
}
public static void main (String [] args) {
OverRiding o = new OverRiding();
o.MethodAsli();
}
}
Penjelasan Kode:
·         Nama Kelasnya adaalah OverRiding
·         Memiliki fungsi utama yg ditandai dengan void main  yang berarti pada kode program di atas adanya nilai(value) dari hasil program di atas.
Hasilnya sbb:




class SubOverRiding extends OverRiding {
public void MethodAsli() {
System.out.println("Method yang sudah OverRiding dijalankan");
}
public void MethodAsliSuper() {
System.out.println("Method pemanggil MethodAsli dijalankan");
super.MethodAsli();
}
public static void main (String [] args) {
SubOverRiding So = new SubOverRiding();
So.MethodAsli();
So.MethodAsliSuper();
}
}
Program di atas adalah merupakan kelas turunan dari kelas OverRiding dengan nama kelas SubOverRiding yang di tandai dengan adanya kata extends . Yang berarti perintah method-method yang di turunkan dari kelas OverRiding akan di eksekusi pada kelas SubOverRiding.
Hasilnya akan tampil sbb:
e
            Program  dibawah  ini adalah contoh program TanpaException. Akan tetapi sebelum kita mengetik kode programnya kita harus melakukan tahapan sbb:
§  Klik start → run lalu ketik cmd untuk membuka command prompt
§  Ketik perintah cd (change directory) untuk menuju direktori tempat TanpaException.class berada
§  Ketik java TanpaException 50 untuk menjalankan program
class TanpaException {
public static void main (String [] args) {
int Nilai = Integer.parseInt (args[0]);
System.out.println("Nilai yang dimasukkan : " +Nilai);
}
}
Hasilnya sbb:


class CobaException {
public static void main (String [] args) {
int nilai = 0;
try {
int Nilai = Integer.parseInt (args[0]);
System.out.println("Nilai yang dimasukkan : " +Nilai);
}
catch(Exception e) {
System.out.println("Pasti yang diinput bukan Integer");
}
finally {
System.out.println("Blok finally tetap dilakukan");
}
}
}
Hasilnya sbb:

class PembagianNol {
public static void main (String [] args) {
System.out.println("Sebelum Pembagian");
try {
            System.out.println(5/0);
}
catch (Throwable T) {
            System.out.println("Terjadi pembagian nol");
}

System.out.println("Sesudah pembagian");
}
}

Hasil:

import java.io.*;
class TesInputData {
public static void main (String [] args) {
            BufferedReader BR = new BufferedReader(new InputStreamReader(System.in));
String Input = "";
try {
System.out.println("Masukkan data : ");
Input = "Salah";
}
finally {
System.out.println("Data yang anda masukkan adalah " +Input);
}
}
}
Hasil:


Itulah contoh-contoh program dari pembahasan tentang OverRiding, OverLoad dan Exception.
Semoga temen-temen semua bisa memahami dengan penjelasan yang saya berikan ya…….:)
Thank’s…… !!! JJJ

NB: Jika pada kode program tidak  ada kata void main, maka jika di eksekusi hasilnya tidak mempunyai nilai (value).