Twitter Delicious Facebook Digg Stumbleupon Favorites More

Tuesday, June 21, 2011

Interface

Interface adalah struktur kode yang diawali kata kunci interface dan berisi bagian reusable code berupa abstract method atau konstanta. Semua method dalam interface secara otomatis memiliki visibilitas public.Abstract method dalam interface dapat diimplementasikan dalam class dengan menggunakan kata kunci  implements.
Dalam java, satu class hanya dapat menjadi turunan dari satu class namun diperkenankan untuk dapat mengimplementasikan lebih dari satu interface. Instance atau objek dapat dibentuk dengan memasangkan variabel bertipe class atau interface dengan referensi berupa pemanggilan constructor class. Casting dapat dilakukan untuk mengubah objek dari tipe superclass menjadi tipe subclass.
Bentuk umum dari sebuah method abstract adalah sebagai berikut:
abstract <modifier> <returnType> <name>(<parameter>*);
Sebuah class yang berisi method abstract harus dideklarasikan sebagai sebuah class abstract.
abstract <modifier> <returnType> <name>(<parameter>*);abstract class
<name> {
/* constructors, fields and methods */
}
Kata kunci tidak dapat digunakan pada konstruktor atau method  static. Ini juga penting untuk
diingat bahwa class abstract tidak dapat di-instantiate.
Class   yang  meng-extends  sebuah  class  abstract  harus  mengimplementasikan  semua  method
abstract. Jika tidak subclass sendiri dapat dideklarasikan sebagai abstract.

Tuesday, June 7, 2011

intheritence

Setelah kemarin membahas tentang polimorfisme, rasanya kurang lengkap bila tidak membahas inheritence. Sebenranya Polimorfisme dan Inheritence sangat erat hubungannya.


Inheritance adalah pewarisan yang artinya sebuah kelas yang mewarisi atribut dan methode dari kelas lain yang masih sejenis, sebagai contoh dalam dunia nyata adalah kelas hewan menurunkan sifat dan kemampuannya kepada kelas hewan mamalia, kelas hewan bertulang belakang dll, kelas Hewan sebagai superclass dan mewarisi atribut juga methodenya kepada hewan mamalia sebagai subclass.


Kita dapat mendefinisikan suatu kelas baru dengan mewarisi sifat dari kelas lain yang sudah ada. Penurunan sifat ini bisa dilakukan secara bertingkat-tingkat, sehingga semakin ke bawah kelas tersebut menjadi semakin spesifik. Sub kelas memungkinkan kita untuk melakukan spesifikasi detail dan perilaku khusus dari kelas supernya. Dengan konsep pewarisan, seorang programmer dapat menggunakan kode yang telah ditulisnya pada kelas super berulang kali pada kelas-kelas turunannya tanpa harus menulis ulang semua kode-kode itu.


contoh pertama ni,,
/*langkah ke-1: Membuat Class Rumah*/
class Rumah{
private String a = ” Rumahmewah “;
public void info() {
//System.out.println (” Dipanggil pada  =  “+this);
System.out.println (” “);
System.out.println (” Rumah           = “+a);
}
}
/*langkah ke-2: Membuat Class rumahindah turunan dari Rumah*/
class rumahindah extends Rumah{
private String b        =    ” tombol alarm “;
public void info() {
System.out.println (” “);
super.info();
System.out.println (” rumahindah     = “+b);
}
}
/*langkah ke-3: Membuat Main Program dengan Nama Class TipeRumah */
public class TipeRumah{
public static void main ( String[]args ) {
rumahindah C = new rumahindah();
C.info();
}
}
disimpen jadi 1 file aja ya,, namanya TipeRumah.java,, 
ni hasil runningnya


ne ad contoh lge.biar kalian tmbah paham gtu...!!!
import java.util.Scanner;
class lingkaran{
Scanner in = new Scanner(System.in);
int r = in.nextInt();
}
class lingkaran1 extends lingkaran{
double jari;
public void hitungLuas(){
jari = super.r;
double luas = 3.14*jari*jari;
System.out.format(“Luas Lingkaran 1 = %.2f”, luas);
}
public void hitungKeliling(){
jari = super.r;
double keliling = 3.14*2*jari;
System.out.format(“Keliling Lingkaran 1 = %.2f”, keliling);
}
}
class lingkaran2 extends lingkaran{
double jari;
public void hitungLuas(){
jari = super.r;
double luas = 3.14*jari*jari;
System.out.format(“Luas Lingkaran 2 = %.2f”, luas);
}
public void hitungKeliling(){
jari = super.r;
double keliling = 3.14*2*jari;
System.out.format(“Keliling Lingkaran 2 = %.2f”, keliling);
}
}
class hitungLingkaran{
public static void main ( String[]args ) {
System.out.println(“Masukkan jari-jari lingkaran 1 & 2″);
lingkaran1 a=new lingkaran1();
lingkaran2 b=new lingkaran2();
a.hitungLuas();
System.out.println();
a.hitungKeliling();
System.out.println();
b.hitungLuas();
System.out.println();
b.hitungKeliling();
}
}
kalo yang kedua ini ada 4 class,,  nah class yang lingkaran1 ma lingkaran2 tu mewarisi kelas lingkaran makanya ada kata2 extendsnya,


ne contoh yg lumayan ribet..
class Shape{
String name, size;
public Shape(String name){
this.name = name;
public void printShapeInfo(){
System.out.println(“Shape name : “+name);
System.out.println(“Shape Size : “+size);
}
public void printShapeName(){
System.out.println(“Shape name : “+name);
}
public void printShapeSize(){
System.out.println(“Shape size : “+size);
}
}
class square extends Shape{
String name, size;
int length, width;
public square(String name){
super(name);
}
public void printShapeInfo(){
super.printShapeInfo();
}
public void printShapeName(){
super.printShapeName();
}
public void printShapeSize(){
super.size = String.valueOf(length*width);
super.printShapeSize();
}
public void printWidth(){
System.out.println(“Lebar : “+width);
}
public void printLength(){
System.out.println(“Panjang : “+length);
}
}
class main{
public static void main (String[] args){
System.out.println(” “);
square a = new square(“persegi”);
a.length = 32;
a.width = 6;
a.printShapeName();
a.printLength();
a.printWidth();
a.printShapeSize();
System.out.println();
System.out.println(“………………”);
a.printShapeInfo();
}
}

simpennya main.java ya,,

Friday, May 27, 2011

Polymorphisme

                Polymorphisme adalah suatu aksi yang memungkinkan pemrogram menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai dengan sifat masing-masing obyek.
                Bisa juga Polymorphic dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (override), suatu method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.
Contoh program java nya :

Simpan dengan nama CoolMahasiswa.java

public class CoolMahasiswa extends Mahasiswa{

public void printNama(){

System.out.println(“Hallo, saya Mahasiswa yang pintar”);

Super.printNama();

}

}

Simpan dengan nama Main.java

public class Main{

public static void main(String[] args]) {

CooltMahasiswa mhs = new CoolMahasiswa();

mhs.setNim(“090411100075”);

mhs.setNama(“Imam Safii”);

mhs.printNim();

mhs.printNama();

}

}

Kemudian compile dan run.

C:\>javac CoolMahasiswa.java

C:\>javac Main.java

C:\>java Main

Kontruksi objek mahasiswa

Nim: 090411100075

Hallo, saya Mahasiswa yang pintar

Nama: Imam Safii

C:\>

              Terlihat bahwa disini kita mengoverride method printNama(), dengan menambahkan beberapa teks tambahan, sehingga method printNama(), pada class CoolMahasiswa, memiliki perilaku yang berbeda dengan class Mahasiswa.

             Polimorfisme juga dapat diambil dalam dunia nyata, seperti misalnya bila dosen bertanya “Apakah saudara mengerti dengan apa yang saya jelaskan?”, maka beberapa orang akan menjawab “Tidak”, beberapa orang menggelengkan kepala sambil bergumam “Hmm…hmmm”, sebagian lagi diam. Dari contoh ini dapat dilihat bahwa masing – masing memiliki respon tertentu terhadap pertanyaan dosen.

            Dengan polimorfisme kita dapat menggunakan objek dalam banyak operasi namun prosesnya bisa jadi berbeda-beda.

Overloading

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

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


Contoh kedua:
simpennya di Student.java trus kalo ngompile pake command prompt ngompilenya javac Student.java runningnya java StudentInfo soalnya program utamanya ada di class StudentInfo, oke oke

class Student {
   public void Write(int ID, int Grad, String Fname, String Lname) {
       m_ID = ID;
       m_Graduation = Grad;
       m_First = Fname;
       m_Last = Lname;
    }  
    public void Display()
    {  
        System.out.println( "Student: " + m_ID + " " + m_First + " " + m_Last + " Graduated: " + m_Graduation);
    }  
    private int m_ID, m_Graduation;  
    private String m_First;  
    private String m_Last;

untuk yang ini simpan dengan nama StudentGrad.java


class StudentGrad extends Student {
    public void Write(int ID, int Grad, String Fname, String Lname, int yrGrad, String unSch, String major)
   {
       super.Write(ID, Grad, Fname, Lname);
       m_UndergradSchool = unSch;
       m_Major = major;
       m_Grad = Grad;
       YearGraduated = yrGrad;
    }
    public void Display(){
        super.Display();
        System.out.println(" Graduated: " + m_Grad + " " + m_UndergradSchool + " " + m_Major + " " + YearGraduated);
    }   
    private Integer YearGraduated,m_Grad;
    private String m_UndergradSchool;
    private String m_Major;
}

dan yang ini simpan dengan nama file StudentInfo.java

class StudentInfo {
     public static void main (String args[]) {
         StudentGrad myStudent = new StudentGrad(); 
         myStudent.Write(10,1,"Bob","Smith", 2000,"Columbia University","CS");
         myStudent.Display();   
        }
}

Ini adalah hasil runningnya :




 

 program tugas akhir praktikum saya, silahkan dicoba jg ^_^
/*disimpan nama Hewan.java*/
class Hewan {
           
            String nama, jenis, bersuara;
     Hewan(String nama, String jenis, String bersuara){
//sintaks menampilkan nama
                        this.nama=nama;
                        this.jenis=jenis;
                        this.bersuara=bersuara;
    }
    public String toString(){
            return "Ini adalah "+jenis+"\nNamanya "+nama+"\n"+bersuara;
    }
    public void bersuara(){                  
    }
}

/*disimpan nama Polimorfisme.java*/
import java.util.*;
class Polimorfisme{
    public static void main(String args[]){
        Hewan[] hewannya = {
          new Anjing("Broni", "Herder", "Hug Hug Hug......"),
          new Kucing("Kiti", "Persia", "Meong.. Meong... "),
          new Ayam("Toki", "Buras", "kuk kruyu. ")
        };
        Hewan pilihHewan;
       Random pilih = new Random();
        for (int i = 0; i<5 ; i++){
            pilihHewan = hewannya[pilih.nextInt(hewannya.length)];
           System.out.println("\nPilihan Anda:\n" + pilihHewan);
       
           
        }
    }
}

/*disimpan nama Ayam.java*/
class Ayam extends Hewan{
   
    private String nama,jenis,bersuara;
    Ayam(String nama, String jenis, String bersuara){
//sintaks menampilkan nama
            super(nama, jenis, bersuara);
    }
    public void ShowAyam(){
           
            System.out.println("Nama Ayam : "+nama);
            System.out.println("Jenis Ayam : "+jenis);
           
           
//sintaks menampilkan nama dan jenis hewan

    }
    public void bersuara(){
//sintaks menampilkan suara hewan
                        System.out.println("kuk kruyu. ");
    }

}

/*disimpan nama Kucing.java*/
class Kucing extends Hewan
{
    private String nama,jenis,bersuara;
    Kucing(String nama, String jenis, String bersuara){
//sintaks menampilkan nama
                        super(nama, jenis, bersuara);
    }
    public void ShowKucing(){
           
            System.out.println("Nama Kucig : "+nama);
            System.out.println("Jenis Kucing : "+jenis);
           
//sintaks menampilkan nama dan jenis hewan
    }
    public void bersuara(){
//sintaks menampilkan suara hewan
                        System.out.println("Meong.. Meong... ");
    }
}

/*disimpan nama Anjing.java*/
class Anjing extends Hewan{
   
    private String nama,jenis,bersuara;
   
   
    Anjing(String nama, String jenis, String bersuara){
//sintaks menampilkan nama
                        super(nama, jenis, bersuara);
    }
    public void ShowAnjing(){
           
            System.out.println("Nama Anjing : "+nama);
            System.out.println("Jenis Anjing : "+jenis);
           
           
//sintaks menampilkan nama dan jenis hewan

    }
    public void bersuara(){
//sintaks menampilkan suara hewan
                        System.out.println("Hug Hug Hug...... ");
    }

}
 hasil runnignya adalah


 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Blogger Templates