November 20, 2007

Try-Catch-Finally Syntax

Try-Catch-Finally adalah keyword yang digunakan Java sebagai error handler, mirip dengan OnError GoTo pada Visual Basic.
Sytax-nya adalah sebagai berikut:
try {
//what you want to try to do
}
catch (Exception e) {
//what if there is some errors?
}
finally {
//and finally? what to do?
}

Penjelasannya adalah sebagai berikut:
-Di dalam blok try { } adalah perintah-perintah yang akan dicoba untuk dilakukan
-Di dalam blok catch adalah perintah-perintah yang akan dilakukan bila terjadi error
-Finally menampung perintah-perintah yang akan dieksekusi, tak peduli ada error atau tidak.

Di antara tanda kurung pada catch(), kita membuat sebuah variable yang digunakan untuk mendeteksi error. Variable tersebut adalah variable e dengan class Exception. Class ini menampung error-error secara global. Jadi bila terjadi error apapun, pasti akan terdeteksi oleh variable ini.

Misalkan saja Anda hanya ingin menangkap error-error tertentu yang lebih spesifik, seperti mungkin error dalam penginputan (I/O) atau mungkin kesalahan pada saat melakukan query ke database, Anda bisa menggunakan subclass-subclass dari Exception ini, yang menampung error-error yang lebih spesifik, seperti class IOException atau SQLException.

Finally ini bersifat optional. Anda bisa menyertakannya, bisa juga tidak. Tetapi setiap try harus selalu diikuti oleh catch

Contoh Exception handling:
- Buka text editor Anda
- Masukkan script:

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

System.out.println("Exception Test");

try{
int result = 5/0;
}
catch (Exception e){
System.out.println("Some error occured");
}
finally{
System.out.println("End of the Test");
}

}
}


- Simpan file tersebut dengan nama sesuai dengan nama class yang Anda buat. Dengan contoh di atas, maka nama file-nya adalah: ExceptionHandlerSample.java .Perhatikan pula capitalize-nya
- Lakukan kompilasi terhadap file tersebut di command prompt / terminal
Ketikkan:
javac ExceptionHandlerSample.java

- Kemudian jalankan class Anda
Ketikkan:
java ExceptionHandlerSample

(Perhatikan bahwa nama class tidak diikuti ekstensi apapun)
- Maka bila tidak terjadi kesalahan penulisan program, di layar akan muncul

Exception Test
Some error occured
End of the Test


Pada contoh di atas, catch menangkap sebuah Exception dalam blok try. Exception tersebut terjadi karena terjadi pembagian oleh angka nol (div by zero). Exception ini sebenarnya berada di dalam subclass dari class Exception, yaitu ArithmeticException. Tapi ditangkap oleh variable e yang bertipe Exception yang akan menangkap segala jenis Exception.


RiffAlmighty
----------
"Every man's life ends the same way. It is only the details of how he lived and
how he died that distinguish one man from another."
- Ernest Hemingway

November 13, 2007

How to use JDK in your PC

Bagi Anda yang bingung bagaimana cara menginstal / menggunakan JDK di komputer Anda, silakan ikuti langkah berikut: CMIIW(Correct Me If I'm Wrong)

Ketika Anda telah mendapatkan / men-download JDK, maka Anda akan memperoleh sebuah direktori yang berisi tool-tool. Sebagai contoh kita anggap direktori tersebut bernama "jdk" Pada direktori ini terdapat direktori "bin" yang berisi program-program untuk dapat menjalankan Java. Yang perlu Anda lakukan adalah meletakkan alamat dari direktori "jdk" serta "bin" itu tadi ke dalam environment variable. Anda perlu men-setting 2 environment variable untuk JDK, yaitu membuat variable baru bernama JAVA_HOME dengan value alamat direkroti "jdk" tadi serta menambahkan value pada variable Path dengan alamat direktori "bin" tadi.

Windows User
Letakkan direktori JDK Anda di manapun. Sebagai contoh, misalkan di C:\jdk
Buka System Properties (WinKey + PauseBreak), kemudian masuk ke Tab Advanced. Klik tombol Environment Variables. Kemudian di bagian bawah (System Variables) Klik New.
kemudian isi variable name dengan JAVA_HOME. Dan isi variable value-nya dengan alamat direktori jdk Anda. Sesuai dengan contoh di atas, maka variable value di sini saya isi dengan "C:\jdk\" Lalu klik OK


Kemudian pada System Properties, cari variable Path. Pilih variable tersebut lalu klik Edit. Pada variable value, tambahkan tanda titik koma ";" kemudian tambahkan alamat dari direktori "bin" yang ada di dalam direktori jdk Anda. Dengan contoh di atas, maka yang saya tambahkah adalah C:\jdk\bin.

Misalkan Anda meletakkan jdk Anda di D:\MyFolder\jdk1.6, maka yang Anda tambahkan adalah "D:\MyFolder\jdk1.6\bin"

Untuk mengujinya, pada Command Prompt, ketikkan echo %JAVA_HOME% atau echo %Path% untuk melihat apakah variable tersebut telah ter-setting dengan benar

Linux User
Letakkan jdk Anda, misal di /root/jdk/
Buka Terminal / Console Anda, kemudian ketikkan:
export JAVA_HOME=/root/jdk/

Ubahlah "/root/jdk" dengan direktori tempat Anda meletakkan JDK. Kemudian ketikkan lagi:
export PATH=$PATH:/root/jdk/bin/

Untuk mengujinya ketikkan echo $JAVA_HOME atau echo $PATH

riffAlmighty
----------
"Every man's life ends the same way. It is only the details of how he lived and
how he died that distinguish one man from another."
- Ernest Hemingway

Between JDK, JRE, JVM & SDK

Keempat istilah ini mungkin seringkali membuat para Java Developer (termasuk saya juga :)) menjadi sedikit bingung. Apa sih sebenernya masing-masing itu? CMIIW (Correct Me If I'm Wrong :D)

1. JVM (Java Virtual Machine)
JVM inilah yang merupakan jantung dari Java Platform. JVM ini adalah pihak yang bertanggung jawab untuk mengeksekusi program Java menjadi bahasa mesin untuk diproses oleh prosesor. JVM mampu menerjemahkan code-code Java ke hampir semua platform. JVM ini-lah yang membuat Java "write once, run everywhere" alias multi-platform

2. JRE (Java Runtime Environment)
JRE inilah yang memungkinkan sebuah program Java dapat berjalan di mesin Anda. JRE ini mengeksekusi binary-binary dari class-class dan mengirimnya ke JVM untuk diproses lagi ke prosesor. Setiap JRE pasti memiliki sebuah JVM di dalamnya untuk melakukan pemrosesan selanjutnya

3. JDK (Java Development Kit)
Seperti namanya, JDK adalah semacam kotak peralatan (kit) yang digunakan untuk development. JDK ini berguna saat Anda menulis code program. Seperti halnya JRE, JDK juga memiliki JVM di dalamnya.

4. SDK (Software Development Kit)
Ini lain lagi ceritanya. SDK ini biasanya adalah kumpulan dari tools yang dibutuhkan untuk membuat serta menjalankan program. Jadi di dalam SDK itu ada JDK-nya, ada JRE-nya serta mungkin IDE-nya juga.

Jadi kesimpulannya:
- JVM ada di dalam JRE
- JVM ada di dalam JDK juga
- JRE untuk "membaca" program Java
- JDK untuk "menulis" program Java
- SDK umumnya berisi JDK & JRE

Masih bingung? Mungkin Mbah Gugel lebih tau :-$

riffAlmighty
----------
"Every man's life ends the same way. It is only the details of how he lived and
how he died that distinguish one man from another."
- Ernest Hemingway

Using IDE for building

Mungkin Anda-Anda yang sudah pernah mencoba membuat program Java yang sederhana dengan menggunakan text editor sederhana, akan berpikir : Kok ribet banget sih? Musti compile dulu lah, musti gini gitu
Nah, ada satu jawaban untuk hal tersebut, yaitu: gunakan IDE / builder. Tapi ternyata IDE / Builder Java yang ada saat ini sangat beragam, semisal saja ada yang namanya NetBeans, yang masuk ke dalam SDK-nya Sun, atau Eclipse, JCreator dan banyak lain. Lalu, yang mana yang paling bagus?
Untuk menjawab mana yang paling bagus mungkin agak susah karena hal tersebut bersifat subjektif, serta tergantung dari segi mana orang menilai bagus/tidak-nya sebuah IDE. Jika Anda merasa bahwa "Java adalah produk Sun, maka seluruh tentang Java mungkin lebih baik yang berasal dari Sun", Anda tidak salah. Karena memang bagaimanapun, Sun yang tahu lebih jauh tentang Java, karena mereka yang mengembangkannya bukan? :)

Dari apa yang saya dapat dari surfing di Mbah Gugel, saya mendapat kesan bahwa performa NetBeans di mata para developer semakin meningkat. Tapi tetap saja Eclipse adalah IDE yang paling banyak digunakan, sehingga mendapat support plugin yang lebih banyak.
Saya juga membaca bahwa NetBeans lebih banyak dipakai untuk aplikasi GUI alias desktop application dengan menggunakan framework Swing, sementara Eclipse lebih ke arah JavaEE-nya.

Saya sendiri lebih prefer ke Eclipse, karena saya dulu pertama kali belajar JavaEE, bukannya JavaSE, jadi nurut sama omongan orang bahwa Eclipse lebih baik. Saya belum mencoba menggunakan NetBeans karena pada saat pertama memakai ternyata lebih berat untuk dijalankan daripada Eclipse. :)

Silakan pilih IDE mana saja untuk membangun aplikasi Anda, karena semua IDE (Integrated Development Environment) sama-sama bertujuan untuk memudahkan Anda membangun aplikasi (daripada pake Notepad hayoo :))

Beberapa kelebihan pemakaian IDE adalah :
1. Lebih user-friendly. IDE akan memberikan peringatan saat terjadi error. Atau bahkan mereka akan membetulkan kesalahan tersebut. Tersedia juga fasilitas auto-complete dimana mereka akan memberi suggestion untuk kata / syntax apa yang sedang Anda ketik
2. Tidak perlu manual compilation. Cukup tekan Run, maka Anda bisa melihat hasil program Anda
3. Tersedianya description untuk object-object, sehingga Anda bisa membaca deskripsi dari object yang akan Anda pakai
4. Masih banyak lagi... :D


Riff Almighty
----------
"Every man's life ends the same way. It is only the details of how he lived and
how he died that distinguish one man from another."
- Ernest Hemingway

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