October 27, 2007

First Java program : Hello Dunia!!!

Finally, setelah sesi teori yang membosankan, it's the time to make it real!! :D

Okay, langsung aja deh kita buat program java pertama kita. Yang akan kita buat kali ini ya kayak kalo orang pertama kali belajar bikin program, yaitu : HELLO WORLD :P

Pertama buka Text Editor kamu, notepad ato semacamnya, eits, oh ya lupa, sebelumnya kamu juga musti nginstall compiler-nya Java dulu donk, biar programnya bisa jalan. Get it here for free!! :P
OK, back to the topic, kalo uda nginstal + buka notepad, let's make the first class. Namai aja HelloWorld (jangan lupa tata nama-nya loh..)

public class HelloWorld{
}


Huff.. selesai deh class pertama kita? Lho kok? Hehehe ya maksudnya uda selese bkin class meskipun kosong melompong :P
Oke, klo gitu ayo kita isi!!

Yang musti kita bikin di dalam class ini adalah method main. Apaan tuh? Method main ini adalah method yang akan dijalankan bila class tersebut dijalankan / diexekusi secra langsung, ga pake instance-instance segala macem.
Tulis aja di dalem class tu :

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


Nah, sekarang tahu kan, kalo fungsi main tu bersifat public dan static, serta ga me-return nilai alias void. Kalo maksudnya String args[] tuh parameter yang dimasukin buat ni method. Tapi ga usah diperhatikan, biarin aja gitu. :D

Oke, sekarang class kita ini sudah punya method yang akan dijalanin pada saat dia di-execute. Tapi ngejalanin apa? Oke, sekarang kita kasih ni method kerjaan! :P

tulis ajah di dalem method main tu

System.out.println("Hello World!!!!");


Maksudnya tuh, kita manggil fungsi println yang gunanya untuk mencetak "Hello World!!!!". Method ini sebenernya ada di class PrintStream. Tapi berhubung method ini tuh bukan class method alias non-static method, maka class PrintStream musti di-instance dulu biar bisa manggil tuh method. Dan ternyata yang meng-instance adalah variable out yang ada di class System. Jadinya yang bisa manggil ya si out ini. Dan berhubung si out ini tuh adalah class variable, maka si System bisa manggil dia secara langsung. (bingung? baca ajah ini)

Hoke..sekarang save file ntu dengan nama sesuai dengan nama class dan dengan ekstensi .java. kalo pake contoh di atas ya jadinya HelloWorld.java
Trus sekarang waktunya ngejalanin!!!
Buka Command Prompt (Windows) / Terminal (Linux) lalu pindah ke direktori tempat kamu nyimpen file .java tadi.

Eits, iya lupa lagi, :P kalo mau ngejalanin class Java, kita musti meng-compile dulu.
Gini compile-nya:

javac HelloWorld.java


Jadinya di direktori itu akan ada file baru yang namanya HelloWorld.class yang berisi biner-biner hasil kompilasi dari HelloWorld.java
Kalo uda, kita jalanin deh..
Ketik:

java HelloWorld


Dan jreng-jreng.. Di layar akan muncul:

"Hello World!!!!"


Gimana? Gampang kan? :D

October 05, 2007

Constructor

Constructor adalah sebuah method di dalam class yang bersifat istimewa. Constructor ini memiliki nama yang sama dengan nama class dan tidak memiliki nilai kembalian (return value). Constructor ini akan dipanggil ketika class tersebut di-instance oleh keyword new. Ketika dipanggil, constructor ini akan mengalokasikan tempat di memori untuk instance baru tersebut dan memberi nilai awal pada variabel tersebut sesuai dengan parameter yang diberikan.

Contohnya : costructor class Bicycle:
public Bicycle (int startSpeed) {
speed = startSpeed;
}


Construtor tersebut akan dipanggil ketika class Bicycle di-instance oleh keyword new:

Bicycle myBicycle = new Bicycle(10);


Hal tersebut berarti variabel myBicycle yang bertipe Bicycle telah di-construct sehingga mempunyai nilai speed = 10.

Construtor juga dapat di-set untuk tidak menerima parameter. Construtor semacam ini disebut dengan default constructor, artinya bahwa new instance dari class tersebut akan diberi sebuah nilai default yang sama pada setiap new instance. Dan apabila nilai default tersebut tidak disediakan, maka default-constructor hanya akan mengalokasikan tempat di memory saja

Contoh : Default constructor class Bicycle :
public Bicycle() {
speed = 5;
}


Jadi setiap ada sebuah variabel baru yang meng-instance class Bicycle, maka akan memiliki nilai speed yang sama, yaitu 5.

Sebuah class dapat memiliki sebuah default constructor dan non-default constructor secara bersama-sama, sehingga sebuah instance baru bisa men-set sendiri nilai awalnya dengan memanggil non-default constructor atau bisa menerima nilai default pada default construtor

class Bicycle {

public Bicycle(int startSpeed){
speed = startSpeed;
}

public Bicycle(){
speed = 5;
}

}


Sehingga:
Bicycle myBicycle = new Bicycle(15); //akan meng-instance myBicycle dengan speed = 15
Bicycle yourBicycle = new Bicycle(); //akan meng-instance yourBicycle dengan speed = 5 (default)

Naming - penamaan

Java sebagai sebuah bahasa pemrograman dapat disebut sebagai bahasa yang case-sensitive. Oleh karena itu dalam dunia Java ditetapkan sebuah standar tentang naming / penamaan objek2 yang ada pada Java. Tata nama tersebut antara lain:
  • Untuk class, semua huruf kecil kecuali huruf pertama, bila lebih dari satu kata, maka kata-kata tersebut digabung dengan setiap kata diawali huruf besar. Contoh : Bicycle, MyNewBicycle
  • Untuk method semua huruf kecil, bila lebih dari satu kata, kata-kata tersebut digabung dengan kata pertama tiap kata harus huruf kapital kecuali kata pertama. Contoh : send(), getName()
  • Untuk variabel selain final variable, sama dengan tata nama method. Contoh : int word, int lastDate
  • Untuk variabel final, semua kata ditulis huruf besar. Contoh : final double PI = 3.14
  • Untuk package, semua huruf kecil dan memiliki pola : jenis_instansi.nama_instansi.nama_package.additional Contoh : org.apache.common, com.microsoft.sqlserver.jdbc (tetapi bila digunakan sendiri, maka penamaan package boleh tidak sesuai dengan tata nama) ;)

October 01, 2007

Jakarta-Java

Java di sini bukan berarti Pulau Jawa, tapi memiliku arti sebagai bijih kopi.
Tapi ada sebuah "tool" di Java yang ber-bau Jawa, yaitu sebuah proyek milik Apache yang mengembangkan komponen-komponen bagi Java, yaitu Jakarta Project.

Jakarta Project tersebut telah menelorkan tools, libraries serta framework yang cukup handal untuk Java environment, antara lain : Jakarta Tomcat (web server), Jakarta Ant (builder tool), Jakarta Struts (framework), Velocity (template design) dll

Mungkin saja proyek itu dinamai seperti itu karena Jakarta adalah kota terbesar di pulau Java :)