Minggu, 06 November 2011

Overloading Dan Overriding Pada Pemrograman Java

Membuat Program Overriding.java
class OverRiding {
            public void MethodAsli () {
                        System.out.println("Method Milik class OverRiding dijalankan");
                        }
            public static void main (String [] arqs) {
                        OverRiding O = new OverRiding();
                        O.MethodAsli();
                        }
            }
 
output :
 
 
 
 
Membuat Program SubOverriding.java
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 [] arqs) {
            SubOverRiding SO= new SubOverRiding ();
            SO.MethodAsli();
            SO.MethodAsliSuper();
            }
}
 
output :
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Overloading dan Overriding, keduanya merupakan class yang memiliki nama method yang sama. Namun pada overloading dan overriding memiliki kesamaan dan perbedaan yang dapat dilihat dari parameternya.

A. OVERLOADING
     Overloading adalah suatu kemampuan dalam bahasa berorientasi objek untuk menggunakan suatu nama method untuk beberapa method yang memiliki parameter masukan yang berbeda (tipe maupun jumlah parameter). Overloading memodifikasi secara horizontal method maupun konstruktor milik kelas super, maupun kelas yang sama.
B. 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. Overriding memodifikasi secara vertikal method milik kelas super. Ada dua alasan mengapa melakukan overriding :
              1. Mendefenisikan kembali method kelas induk secara total.
              2. Menambahkan behaviour tertentu pada method kelas induk.
C. EXCEPTION
       Exception merupakan suatu objek error khusus yang dibuat ketika terjadi kesalahan pada suatu program. Setelah suatu objek exception dibuat oleh java, objek tersebut dikirimkan ke program, proses ini disebut throwing an exception.
             Kategori error dalam program :
              1. Syntax error
              2. Runtime error
              3. Logic error
Bahan Pratikum
A. Membuat Program SegiTiga.java
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);
  }
}














B. Membuat Program MainSegiTiga.java
Class MainSegitiga {
            Public static void main(string [] arqs) {
                        new Segitiga(7);
                        new Segitiga(4, 7);
}
}

output :
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Keterangan : Baris 2, 3 dan 4 di dapat dari perintah new Segitiga(7); yang artinya memanggil konstruktor Segitiga yang memiliki 1 parameter pada class Segitiga yang mana perintah  pertama dari konstruktor Segitiga adalah System.out.println("\nVariabel = segitiganya sama sisi"); yakni menampilkan kalimat Variabel = segitiganya sama sisi. Kemudian perintah keduanya adalah  System.out.println("panjang = " +panjang); yakni menampilkan kata panjang = 7, yang sebelumnya adalah kembali pada perintah new Segitiga(7); yaitu memasukkan nilai 7 pada parameter panjang, sehingga didapat hasil : panjang = 7 dari perintah kedua. Pada perintah ketiga adalah keliling(panjang); yakni memanggil method keliling yang memilki 1 parameter, untuk mengirimkan nilai 7 pada parameter panjang, sedangkan perintah dari method keliling itu sendiri adalah tampilkanHasil (panjang*3); yakni memanggil method tampilkanHasil dengan mengirim panjang*3 pada paremeter h, yang mana perintah dari method tampilkanHasil adalah System.out.println("Hasil = " +h); yakni menampilkan kalimat Hasil = 7*3,  sehingga didapat hasil = 21.
Baris 5, 7 dan 8 di dapat dari perintah new Segitiga(4,7); yang artinya memanggil konstruktor Segitiga yang memiliki 2 parameter pada class Segitiga yang mana perintah  pertama dari konstruktor Segitiga adalah System.out.println("\n2Variabel = segitiganya sama kaki"); yakni menampilkan kalimat 2Variabel = segitiganya sama kaki. Kemudian perintah keduanya adalah  System.out.println("panjang = " +panjang+ " sisi miring = " +sisiMiring); yakni menampilkan kata panjang = 4 sisi miring = 7, yang sebelumnya adalah kembali pada perintah new Segitiga(4,7); yaitu memasukkan nilai 4 pada parameter panjang dan nilai 7 pada parameter sisiMiring, sehingga didapat hasil : panjang = 4 sisi miring = 7 dari perintah kedua. Pada perintah ketiga adalah keliling(panjang, sisiMiring); yakni memanggil method keliling yang memilki 2 parameter, untuk mengirimkan nilai 4 pada parameter panjang dan nilai 7 pada parameter sisiMiring, sedangkan perintah dari method keliling itu sendiri adalah tampilkanHasil (2*sM+p); yakni memanggil method tampilkanHasil dengan mengirim perintah 2*sM+p pada parameter h, yang mana perintah dari method tampilkanHasil adalah System.out.println("Hasil = " +h); yakni menampilkan kalimat Hasil = 2*7+4,  sehingga didapat hasil = 18
 
 
 Membuat Program CobaException.java
class CobaException {
public static void main (String [] arqs) {
int nilai=0;
try {
            int Nilai = Integer.parseInt (arqs[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");
                        }
            }
} 

output :
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Membuat Program PembagianNol.java

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");
   }
}
 
output :
Membuat Program TesInputData.java
 
import java.io.*;
class TextInputData {
public static void main (String [] arqs) {
BufferedReader BR = new BufferedReader (new
InputStreamReader (System.in));
String Input ="";
try {
System.out.println ("Masukan data : ");
Input = "Salah";
}
finally {
System.out.println ("Data yang anda masukan adalah " +Input);
}
     }
}
 output :














catatan :
 
Perbedaan antar override dengan overload
Override
  1. Mendefinisikan method dengan nama sama pada class yang berbeda.
  2. Konsep dapat di manfaatkan dalam beberapa kasus inheritance, di mana menginginkan penamaan method dengan nama sama namunberbeda dalam impelementasinya.
Overload
  1. mendefinisikan method dengan nama sama dalam satu class.
  2. Konsep sering di gunakan dalam penggunaan constructor.
 

Minggu, 30 Oktober 2011

ABSTRACT CLASS, INTERFACE, INNER CLASS

A. ABSTRACT CLASS
     Abstract Class adalah suatu kelas yang dinyatakan abstract, umumnya memiliki suatu atau lebih abstract 
method. Abstract method adalah nama method yang memiliki implementasi dan menggunakan modifier abstract. Abstract class biasanya dijadikan parent/ super class dari kelas-kelas yang dapat membuat objek, abstract class tidak dapat diintansiasi. Defenisi kelas diletakkan dalam masing-masing kelas turunan. Dalam hal ini setiap kelas turunan harus mendefenisikan metode-metode yang tergolong sebagai metode abstract.

B. INTERFACE
     Interface adalah suatu kelas yang berisi method-method tanpa implementasi, namun tanpa modifier abstract, apabla suatu interface memiliki atribut, maka atributnya akan berlaku sebagai konstanta. Interface menyerupai kelas. Perbedaanya, kata kunci interface menggantikan kedudukan kata kunci class. Bentuk deklrasinya adalah sebagai berikut:
     Penentu akses public biasa digunakan dengan tujuan agar interface dapat diakses oleh kelas manapun. Jika tak ada penentu akses public, interface hanya dapat diakses oleh kelas-kelas yang berada dalam paket yang sama.

C. INNER CLASS
     Inner Class adalah kelas yang disisipkan di dlam kelas yang lain. fungsi kelas sisipan ini adalah mendukung suatu proses yang akan dijalankan oleh suatu kelas utamanya. Inner class bersifat terserang terhadap kelas-kelas utamnya


LANGKAH-LANGKAH PRAKTIKUM
==========================================================================

A. MEMBUAT PROGRAM MakhlukHidup.java
     public abstract class MakhlukHidup{
    protected boolean BisaTerbang = false;
    protected String Nama;
    protected int JlhKaki;

    public MakhlukHidup(String Nama1, int JlhKaki1, boolean BisaTerbang1) {
    this. Nama = Nama1;
    this. JlhKaki = JlhKaki1;
    this. BisaTerbang = BisaTerbang1;
    }
    abstract void bernafas();

     public void status(){
    System.out.println(Nama+" bernafas dengan menghirup CO2");
    System.out.println("------------------------------------");
    System.out.println("Nama : " +Nama);
    System.out.println("Jumlah Kaki : " +JlhKaki);
    System.out.println("BisaTerbang : " +BisaTerbang);
    }
    }

    Compile dengan menekan CTR:+1 jika tidak terjadi kesalahan, jalankan program dengan menekan
    CTRL+2, maka hasilnya akan seperti ini :

















B. MEMBUAT PROGRAM Manusia.java
     public class Manusia extends MakhlukHidup{
     Manusia(String nama){
     super(nama,2,false);
     }
     public void bernafas(){
     System.out.println(Nama+" bernafas dengan menghirup O2");
    }
    public static void main(String[]arg){
    Manusia m = new Manusia ("Sayuti");
    m.status();
    m.bernafas();
   }
   }
Compile dengan menekan CTR:+1 jika tidak terjadi kesalahan, jalankan program dengan menekan    CTRL+2, maka hasilnya akan seperti ini :















C. MEMBUAT PROGRAM Tumbuhan.java
     public class Tumbuhan extends MakhlukHidup{
    Tumbuhan(String nama){
    super(nama,0,false);
   }
   public void bernafas(){

  }
  public static void main(String[]arg){
 Tumbuhan t = new Tumbuhan ("Bayam");
 t.status();
 t.bernafas();
 }
 } 

Compile dengan menekan CTR:+1 jika tidak terjadi kesalahan, jalankan program dengan menekan    CTRL+2, maka hasilnya akan seperti ini :















D. MEMBUAT PROGRAM Pekerjaan.java
     interface Pekerjaan {
    public void namaPekerjaan() ;
    public void gaji ();
   }
    
Compile dengan menekan CTR:+1 jika tidak terjadi kesalahan, jalankan program dengan menekan    CTRL+2, maka hasilnya akan seperti ini :

 














E. MEMBUAT PROGRAM Sasya.java
     public class Sasya extends Manusia implements Pekerjaan{
     public Sasya() {
    super("Sasya");
    }
    public void namaPekerjaan(){
   System.out.println("Pekerjaan : Sekretaris");
   }
   public  void gaji(){
   System.out.println ("Gaji : Rp. 3.000.000");
   }
   public static void main(String[]arg){
   Sasya s = new Sasya ();
   s.status();
   s.bernafas();
   s.namaPekerjaan();
   s.gaji();
  }
  }

Compile dengan menekan CTR:+1 jika tidak terjadi kesalahan, jalankan program dengan menekan    CTRL+2, maka hasilnya akan seperti ini :





















F. MEMBUAT PROGRAM JantungManusia.java
    class Orang{
    private int jumlKaki = 2;

    public void dengarBunyiJantung() {
          Jantung j = new Jantung();
          j.bunyiJantung();
    }
    public void tahanNafas(){
    System.out.println("Jantung berhenti berdetak!");
    }
    //inner class
   class Jantung{
    public void bunyiJantung(){
        System.out.println("deg.....deg..deg...");
        }
    public void istrahat(){
        System.out.println("silangkan ke "+jumlKaki+" kaki.");
        tahanNafas();
        }
        }
        }
   class JantungManusia{
    public static void main(String[]arg){
    Orang o = new Orang();
    Orang.Jantung p = o.new Jantung();
    o.dengarBunyiJantung();
    p.istrahat();
    }
    }

Compile dengan menekan CTR:+1 jika tidak terjadi kesalahan, jalankan program dengan menekan    CTRL+2, maka hasilnya akan seperti ini :


Minggu, 23 Oktober 2011

Information Hiding,Inferitance,Encapsulation dan Polymorphism

1. INHERITANCE 
INHERITANCE  adalah penurunan atribut dan method dari suatu kelas super/kelas induk ke sub kelas/kelas anak.
Contoh
[modifier] class NamaSubKelas extends NamaKelasSuper {
              class body;
Keterangan : Kata kunci extends digunakan untuk menyatakan pewarisan.
 
2. ENCAPSULATION 
Encapsulation atau pengkapsulan adalah suatu kemampuan dalam pemrograman berorientasi objek untuk meyembunyikan atribut dan method suatu objek dari objek lain.
Pengkapsulan dilakukan dengan cara memberikan modifier private pada suatu method dan pada variabel.
Method untuk memberikan nilai pada suatu atribut privat biasanya diawali dengan kata "set", sedangkan method untuk mengambil nilai dari suatu atribut privat biasanya diawali dengan kata "get".

3.POLYMORPHISM
 Secara leksikal, POLYMORPHISM(polimorfisme) bermakna satu kata yang memiliki banyak arti. Polymerfisme dapat diilustrasikan sebagai berikut. Perhatikan penggunaan kata "mentah" dalam beberapaa kalimat berikut
  1.  "Sayuran itu masih mentah"
  2. "Pukulan pemain tinju itu berhasil dimentahkan lawannya"
  3. "gagasan itu masih mentah, sehingga perlu dibahas kembali"
Istilah ini dapat diartikan sebagai modul yang memiliki nama yang sama, namun memiliki tingkah laku yang berbeda sehingga implementasinya berbeda.

 LANGKAH-LANGKAH PRAKTIKUM 


A. MEMBUAT PROGRAM SuperClass.Java
public class SuperClass {
    public SuperClass (){
        System.out.println("Ini konstruktor milik Superclass");
    }

    public void methodSuperClass(){
        System.out.println("Ini method milik superClass");
    }
}


Nb: Compile program dengan menekan CTRL+1, jalankan kan program dengan menekan CTRL+2, maka hasilnya sebagai berikut :










Lanjut ke program selanjutnya


B. MEMBUAT PROGRAM SubClass.java
public class SubClass extends SuperClass {
    public SubClass (){
        super();
    }

    public void methodSubClass (){
        super.methodSuperClass() ;
    }
}

Compile program dengan menekan CTRL+1, jalankan kan program dengan menekan CTRL+2, maka hasilnya sebagai berikut :










Lanjut yaaaAaa!!


C. MEMBUAT PROGRAM DemoInheritance.java
public class DemoInheritance {
    public static void main (String[]args) {
    SubClass sc = new SubClass ();
    sc.methodSubClass () ;
    }
}

Compile program dengan menekan CTRL+1, jalankan kan program dengan menekan CTRL+2, maka hasilnya sebagai berikut :














D. MEMBUAT PROGRAM Persegi.java
public class Persegi {
    private double panjang ;        //atribut yang disembunyikan
    private double lebar ;            //atribut yang disembunyikan
    private double tinggi ;            //atribut yang disembunyikan

    public Persegi () {
        panjang = 0;
        lebar = 0;
    }

    private double luas ( double p, double l) {
        return p*l;
    }

    public void setPanjang(double panjang1 ) {
         this.panjang = panjang1;
    }

    public void setLebar(double lebar1 ) {
             this.lebar = lebar1;
    }

    public double getPanjang () {
        return panjang ;
    }

    public double getLebar () {
        return lebar ;
    }

    public double getLuas () {
        return luas (panjang, lebar);
    }
}

Compile program dengan menekan CTRL+1, jalankan kan program dengan menekan CTRL+2, maka hasilnya sebagai berikut :










Lanjut ke Program selanjuutnya ......


E. MEMBUAT PROGRAM MainPersegi.java
public class MainPersegi {
    public static void main(String[] args) {
        Persegi pg = new Persegi () ;
        pg.setPanjang(10);
        pg.setLebar(20);

        System.out.println("Panjang : "+pg.getPanjang());
        System.out.println("Lebar     : "+pg.getLebar());
        System.out.println("Luas     : "+pg.getLuas());
    }
}
Compile program dengan menekan CTRL+1, jalankan kan program dengan menekan CTRL+2, maka hasilnya sebagai berikut :












lanjuuut ke program selanjutnya ......


F. MEMBUAT PROGRAM Karyawan.java
abstract class Karyawan {
    int gaji;
    Karyawan () {
        gaji =1000000;
}

int getGaji () {
    return gaji;
    }
abstract void naikGaji();}

Compile program dengan menekan CTRL+1, jalankan kan program dengan menekan CTRL+2, maka hasilnya sebagai berikut :
 










G. MEMBUAT PROGRAM Manager.java
class Manager extends Karyawan {
    Manager () {
        gaji +=2000000;
    }
   
    void naikGaji () { gaji+=3000000;}
}

Compile program dengan menekan CTRL+1, jalankan kan program dengan menekan CTRL+2, maka hasilnya sebagai berikut :











 H. MEMBUAT PROGRAM Receptionist.java
class Receptionist extends Karyawan {
    Receptionist () {
        gaji +=1000000;
    }

    void naikGaji() { gaji +=1000000; }
}


Compile program dengan menekan CTRL+1, jalankan kan program dengan menekan CTRL+2, maka hasilnya sebagai berikut :











I. MEMBUAT PROGRAM Polymorphisme.java
class Polymorhisme {
    public static void main (String[] args) {
        Karyawan K []= new Karyawan[3];

        K[0] = new Manager ();
        K[1] = new Receptionist();
        K[2] = new Manager ();

        for (int i=0;i<3;i++)
            System.out.println("Gaji karyawan "+i+" adalah "+K[i].getGaji());

        for (int i=0;i<3;i++)
            K[i].naikGaji();

        for (int i=0;i<3;i++)
            System.out.println("Gaji sekarang "+i+" adalah "+K[i].getGaji());
    }
}


Compile program dengan menekan CTRL+1, jalankan kan program dengan menekan CTRL+2, maka hasilnya sebagai berikut :












Minggu, 16 Oktober 2011

LANGKAH-LANGKAH PRAKTIKUM


A.      MEMBUAT PROGRAM Disket.java
Setelah selesai mengetik program tersebut ke dalam TexPad,
Compile program dengan menekan tombol pada Keyboard CTRL+1 ..
Pastikan tidak errror.
Lalu  simpanlah dengan nama file “Disket.java” tanpa tanda (“) dan pastikan filetypenya adalah java.

B.      MEMBUAT PROGRAM MainDisket.java
                Setelah selesai mengetik program tersebut ke dalam TexPad,
Compile program dengan menekan tombol pada Keyboard CTRL+1 ,Pastikan tidak errror.
Lalu  simpanlah dengan nama file “MainDisket.java” tanpa tanda (“) dan pastikan filetypenya adalah java. Kemudian , jalankan program dengan menekan tombol CTRL+2
Maka hasilnya seperti gambar berikut

 C.      Mengimplementasikan konstruktor pada class Disket
1.       Buka File Disket.java
2.       Ketik source kode di bawah ini pada baris ke 7  dari dokumen Disket.java setelah diketikkan , simpan , compile, dan jalankan Disket.Java

D.  




 
Ubah Source kode pada baris ke 3 dari MainDisket.java dengan source kode di bawah ini
     
            Disket disk1 = new Disket (50);

                                                                                                                                                    

Compile dan jalankan program , maka hasilnya akan seperti ini

Minggu, 25 September 2011

Program Dasar Java

Sebelumnya penulis ingin memberitahukan, bahwa program dasar java ini di buat dengan menggunakan Software TextPad.dan Java JDK Versi 5.1.
langsung aja ke TKP (tempat kejadian program) ...
ha,haaaa 

Program Dasar Java yang Pertama 
  1. Instal terlebih dahulu dong program texPad dan javanya 
  2. mari kita lihat gambar berikut ini !!

 ini scriptnya :
public class HelloWord {
           public static void main (String [] orgs) {
                    System.out.println ("Aldi Prasetya") ;
}
}

  • sesuai dengan gambar di atas, ketikkan laa script tersebut di TexPad kamu.
  • kalau sudah , di simpan tekan tombol pada keyboard CTRL+S (da tau dong semuanya kalo nyimpan file gimana). :)
  • setelah itu, muncul menu  Save As nya perhatikan  script di texPad kamu public class HelloWord, pada file name nya harus kamu beri nama "HelloWord" itu berarti, file name nya harus sama dengan script program setelah public class, 
  • Untuk Save As type nya, pilih java (*java.) 
  • Lanjut yaa!!
  • tekan pada keyboard tombol CTRL+1 (ini bertujuan untuk meng-compile (cek kesalahan pada script program), setelah berhasil .
  • tekan pada keyboard tombol CTRL+2 untuk menjalankan program.
  • SELAMAT, kamu telah berhasil menjalankan program.
  • :)

Masih ada satu program sederhana lagi nih ...
Perhatikan Gambar,
Program Dasar Java yang Kedua


    masih sama dengan program pertama, tapi hasilnya beda. ini scriptnya :
public class HelloAldi {
           public static void main (String [] orgs) {
                    System.out.println ("Nama    : Aldi Prasetya") ;
                    System.out.println ("Jurusan : Manajemen Informarika");
                    System.out.println ("kelas   : MIK-90");

}
}

  •  sesuai dengan gambar di atas, ketikkan laa script tersebut di TexPad kamu.
  • kalau sudah , di simpan tekan tombol pada keyboard CTRL+S
  • setelah itu, muncul menu  Save As nya perhatikan  script di texPad kamu public class HelloAldi, pada file name nya harus kamu beri nama "HelloAldi" itu berarti, file name nya harus sama dengan script program setelah public class, 
  • Untuk Save As type nya, pilih java (*java.) 
  • tekan pada keyboard tombol CTRL+1 (ini bertujuan untuk meng-compile (cek kesalahan pada script program), setelah berhasil .
  • tekan pada keyboard tombol CTRL+2 untuk menjalankan program. 
Program Program Dasar Java yang Ketiga
Program ini sedikit berbeda dengan program yang pertama dan kedua, karena ini menggunakan variabel.
langsung kita lihat ke gambar ya!

  ini scriptnya :
public class HelloJava {
             public static void main (String [] orgs) {
                 String kata = "HelloJava";
                         System.out.println ("kata") ;
}
} 



  • cara penyimpanannya sama dengan program pertama dan ketiga, tapi ...
  • file name nya "HelloJava", ingat aja setelah public class ituh laah nama file namenya.


Sekian dulu untuk hari ini ...
Maaf kalo tulisannya agak berantakan(kapal pecah kata emak")
ha,haaa
:D