Wednesday 4 July 2012

Creating Class

di java untuk membuat class tidak berbeda jauh dengan pemrograman lainnya seperti PHP, seperti ini cara membuat class :
class nama_kelas{

}
1. sekarang kita buat folder “tutorial” di partisi “C:”. path lengkapnya jadi c:\tutorial
2.buat file “Manusia.java” di folder tutorial tersebut.lalu isikan kode ini :
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package tutorial;

/**
 *
 * @author mockie
 */
 class Manusia {
    String nama="no name";String kulit="putih";

    public void setNama(String a){
        nama=a;
    }

    public void setKulit(String a){
        kulit=a;
    }

    public void human(){
        System.out.println("Nama saya :"+nama);
        System.out.println("saya berkulit :"+kulit);
        System.out.println("============");
    }

}
penjelasan :
package tutorial; = kode ini adalah nama paket dan harus sama dengan folder dimana paket tersebut berada, dalam tutorial dasar java ini yaitu folder “tutorial”.
String nama”no name” = adalah instance variable, di situ di isikan nilai default instance variable dengan “no name”.
public void setNama = adalah method atau state dari dari class manusia, coba baca2 lagi tentang konsep OOP kalo belum baca.
System.out.print() adalah perintah untuk mencetak, kalo di PHP sama dengan echo.
3. sekarang buat file “Main.java” di folder “tutorial” yang sama. isikan kode seperti ini :
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package tutorial;
/**
 *
 * @author mockie
 */
public class Main {

    /**
     * @param args the command line arguments
     */
// main sama seperti halnya halaman index kalo di php,akan di running pertama kali.
    public static void main(String[] args) {
        // TODO code application logic here
        Manusia man = new Manusia(); // di sini kita buat object dari class Manusia.

        man.setKulit("hitam"); // di sini kita mengganti default instance variable kulit menjadi "hitam".
        man.setNama("mockie");
        man.human(); // di sini kita pangil method dari class manusia untuk mencetak.

        man.setKulit("putih");
        man.setNama("kiki");
        man.human();
    }

}
4. sekarang bukan command prompt (start > run > cmd), lalu ketikan cd ../../ untuk mundur ke c:\
5. ketikan lagi di commend prompt “ javac tutorial/*.java ” (tanpa kutip, ini untuk mengkompile semual file berkahiran “.java” menjadi file .class).
6. ketikan “ java tutorial.Main “ untuk running (INGAT LOKASI KITA DI COMMAND PROMPT DI C:\ BUKAN DI FOLDER TUTORIAL).hasilnya seperti ini :
Nama saya :mockie

saya berkulit :hitam
============
Nama saya :kiki
saya berkulit :putih
============

Constructor

Kita sudah mengetahui bahwa kelas adalah alat untuk menciptakan objek. Sekarang yang menjadi pertanyaan adalah bagaimana cara menciptakan objek menggunakan sebuah kelas. Jawabannya adalah dengan menggunakan sebuah konstruktor.
Apakah sebuah konstruktor itu? Konstruktor adalah bagian dari definisi suatu kelas yang berfungsi menciptakan instans dari kelas tersebut. Konstruktor ini bisa kita buat sendiri, atau bila kita tidak mendefinisikannya, maka kompiler Java akan membuatkan konstruktor default untuk kelas tersebut pada saat kompilasi. Yang perlu diperhatikan adalah bahwa suatu konstrukor tidak termasuk anggota suatu kelas seperti metode dan variabel dan bahwa konstruktor bisa dibuat lebih dari satu.
Bentuk konstruktor sendiri mirip dengan sebuah metode. Beda yang paling mencolok adalah nama sebuah konstruktor harus sama dengan nama kelas tersebut dan konstruktor tidak memiliki definisi return type seperti sebuah metode. Untuk jelasnya Anda bisa lihat dalam Listing 1, di mana terdapat dua buah konstruktor. Yang satu adalah konstruktor default dan yang lain adalah konstruktor dengan sebuah parameter bertipe int.
Adanya dua buah konstruktor ini termasuk sifat polimorfisme dalam pemrograman berorientasi objek. Sifat ini dapat berlaku bagi konstruktor dan juga metode. Lebih jauh mengenai polimorfisme akan dijelaskan lebih jauh di akhir tutorial ini.
Secara singkat, konstruktor adalah perintah yang akan dilaksanakan saat ada instruksi untuk menciptakan sebuah instans dari kelas tersebut. Bisa saja konstruktor tersebut tidak melakukan apa-apa, yaitu bila konstruktor tersebut kosong. Berikut adalah contoh-contoh penciptaan suatu kelas dengan berbagai jenis konstruktor.

SuatuKelas kelasContoh = new SuatuKelas();
SuatuKelasLain kelasContoh2 = new SuatuKelasLain("judul");
BufferedReader reader = 
    new BufferedReader(new InputStreamReader(System.in));
new SuatuKelas().sebuahMetode();
 
Pada contoh pertama, kita menciptakan sebuah instans dari kelas SuatuKelasdengan memanggil konstruktor tanpa parameter. Bila dalam pendefinisian kelas SuatuKelas sebenarnya tidak ada pendefinisian konstruktor, perintah seperti ini tetap dapat dipakai, karena kompiler Java akan menyisipkan secara otomatis kosntruktor default bila tidak ada definisi konstruktor dalam sebuah kelas. Konstruktor default sendiri sebenarnya tidak melakukan apa-apa dalam proses instansiasi objek, karena tidak berisi perintah apapun.
Pada contoh kedua, kita memanggil sebuah konstruktor yang mengandung argumen berupa sebuah parameter bertipe String. Konstruktor seperti ini menjadi sangat berguna bila dalam proses instansiasi sebuah objek kita ingin memasukkan suatu nilai untuk dapat digunakan oleh instans baru tersebut.
Pada contoh ketiga, kita memanggil konstruktor dengan argumen sebuah parameter bertipe InputStreamReader. Yang menarik dari contoh ini adalah kita memasukkan argumen berupa kelas baru yang anonim sehingga terjadi pemanggilan konstruktor lain di dalam argumen konstruktor semula. Dalam konstruktor yang terakhir kita juga memasukkan argumen berupa sebuah objek InputStream yaitu System.in.
Contoh keempat adalah contoh yang lebih jelas mengenai kelas anonim. Pada contoh ini kita menciptakan sebuah instans dari kelas SuatuKelasnamun tidak menyimpan referensi ke instans tersebut, sehingga kita hanya bisa menggunakannya sekali, yaitu langsung pada baris tersebut seperti terlihat pada contoh.
Ada hal yang menarik dan perlu diperhatikan mengenai konstruktor dalam kelas-kelas yang merupakan subkelas. Pada saat kita menginstans sebuah objek dari sebuah subkelas, kompiler tidak hanya memanggil konstruktor subkelas tersebut, melainkan memanggil kosntruktor superkelasnya terlebih dahulu, baru kemudian memanggil konstruktor subkelas tersebut. Penjelasan mengenai hal ini adalah bahwa sebuah subkelas adalah superkelas itu sendiri namun dengan tambahan karakterisasi yang lebih detil. Sehingga untuk menginstans sebuah subkelas, pertama-tama kita menginstansiasi sebuah superkelas, kemudian menerapkan karakterisasi dari subkelas kepada instans baru tersebut.

No comments:

Post a Comment