Bagian awal ini akan mengajak Anda untuk
mengenal lebih dekat
|
bahasa pemrograman Java. Lebih khusus
lagi, kita akan meng-
|
eksplorasi komponen-komponen fundamental
yang perlu sekali
|
diketahui dan dipahami dengan baik. Selain
itu, bagian ini juga akan
|
mengulas secara garis besar tentang
fitur-fitur baru Java versi 5.0
|
dan 6. Diharapkan uraian ini nantinya
dapat membantu memudah-
|
kan Anda ketika ingin mengungkap
rahasia-rahasia Java selan-
|
jutnya.
|
1 Sekilas Java
|
Tentunya Anda tidak asing lagi dengan nama
Java, sebuah bahasa
|
pemrograman berorientasi objek yang
dikembangkan oleh Sun
|
Microsystems. Di bagian awal ini, kita
akan mengulas tentang sekilas
|
Java yang ditinjau dari aspek lingkungan
pengembangan dan
|
produk. Diharapkan ulasan ini nantinya
dapat memperjelas termi-
|
nologi ataupun pernyataan-pernyataan yang
kerap kali membi-
|
ngungkan, terutama bagi yang baru mengenal
Java.
|
1
|
•
Lingkungan Pengembangan
|
Dalam mendiskusikan Java, kiranya penting
sekali untuk mem-
|
bedakan antara bahasa pemrograman Java,
Java Virtual Machine,
|
dan platform Java. Bahasa pemrograman Java
adalah bahasa yang
|
digunakan untuk menghasilkan
aplikasi-aplikasi Java. Pada umum-
|
nya, bahasa pemrograman hanya
mendefinisikan sintaks dan peri-
|
laku bahasa.
|
Pada saat program Java dikompilasi, ia
akan dikonversi ke bentuk
|
bytecode, yang merupakan bahasa mesin yang
portable. Selan-
|
jutnya, bytecode tersebut dijalankan di
Java Virtual Machine (atau
|
disebut Java VM atau JVM). Meskipun JVM
dapat diimplementasikan
|
langsung di perangkat keras, namun
biasanya diimplementasikan
|
dalam bentuk program perangkat lunak yang
mengemulasi mesin
|
(komputer) dan digunakan untuk
menginterpretasi bytecode.
|
Platform dapat didefinisikan sebagai
perangkat lunak pendukung
|
untuk aktivitas-aktivitas tertentu.
Platform Java sendiri pada prin-
|
sipnya berbeda dengan bahasa Java atau
JVM. Platform Java adalah
|
himpunan kelas-kelas Java yang sudah
didefinisikan sebelumnya
|
dan eksis sejak instalasi Java. Platform
Java juga mengacu pada
|
lingkungan runtime atau API (
|
Application Programming Interface
|
)
|
Java.
|
•
Edisi Java
|
Guna mencakup lingkungan-lingkungan
aplikasi yang berbeda, Sun
|
mendefinisikan 3 (tiga) edisi Java.
|
•
J2ME (Java 2 Micro Edition)
|
Edisi ini ditujukan bagi lingkungan dengan
sumber daya ter-
|
batas, seperti smartcard, ponsel, dan PDA.
|
•
J2SE (Java 2 Standard Edition)
|
Edisi ini ditujukan bagi lingkungan
workstation, seperti pem-
|
buatan aplikasi-aplikasi dekstop.
|
•
J2EE (Java 2 Enterprise Edition)
|
Edisi ini ditujukan bagi lingkungan
Internet atau aplikasi ter-
|
distribusi dalam skala besar.
|
2
|
Perbedaan setiap edisi meliputi
fitur-fitur bahasa yang didukung dan
|
API yang tersedia. Berdasarkan
tingkatannya, edisi yang lebih tinggi
|
mampu mengemulasikan edisi yang lebih
rendah. Adapun urutan
|
edisi dari yang tertinggi ke rendah adalah
J2EE, J2SE, dan J2ME.
|
•
Versi Java
|
Ada hal yang menarik dan perlu kita
cermati mengenai versi-versi
|
Java yang telah dirilis. Sun menggunakan
dua jenis versi untuk
|
mengidentifikasikan rilis Java, yaitu
versi produk dan versi developer.
|
Seperti kita ketahui, versi terbaru saat
ini adalah versi 6 (versi
|
produk) atau versi 1.6.0 (versi
developer), dengan nama kode Mus-
|
tang.
|
Sejak tahun 2006, Sun juga menyederhanakan
penamaan platform
|
dengan tujuan untuk mencerminkan tingkat
kematangan, stabilitas,
|
skalabilitas, dan sekuriti yang lebih
baik. Jika penamaan versi sebe-
|
lumnya adalah Java 2 Platform, Standard
Edition 5.0 (J2SE 5.0),
|
maka sekarang disederhanakan menjadi Java
Platform, Standard
|
Edition 6 (Java SE 6, atau lebih sering
disebut Java 6).
|
2
Kompilasi dan Interpretasi
|
Seperti diketahui, Java adalah bahasa
pemrograman yang kode
|
programnya dikompilasi dan diinterpretasi.
Meskipun pembuatan
|
aplikasi Java dapat dilakukan melalui IDE
(
|
Integrated Development
|
Environment
|
), namun di sini kita memfokuskan pada
tool command-
|
line untuk kompilasi dan interpretasi.
|
•
Kompilasi
|
Kompilasi kode program Java dilakukan
menggunakan tool
|
command-line yang bernama
|
javac
|
, atau biasa disebut kompiler
|
Java. Tahap kompilasi ini bertujuan untuk
mengonversi kode sumber
|
ke program biner yang berisi bytecode,
yaitu instruksi-instruksi
|
mesin. Contoh berikut memperlihatkan cara
melakukan kompilasi
|
pada file program Coba.java (asumsi sudah
berada di command-line
|
atau shell).
|
javac Coba.java
|
3
|
Saat mengompilasi kode program, kita juga
diperkenankan untuk
|
menspesifikasikan versi rilis tertentu.
Aturan dasar dalam spesifikasi
|
versi ini cukup sederhana, di mana versi terbaru dapat mengenali
|
versi-versi di bawahnya, namun tidak
demikian sebaliknya. Sebagai
|
contoh, untuk mengetahui apakah kode
program dapat berjalan di
|
versi 1.4 ataukah tidak, tambahkan opsi
|
–source 1.4
|
.
|
javac –source 1.4 Coba.java
|
Jika
|
–source
|
digunakan untuk menspesifikasikan rilis
asal, opsi
|
–target
|
berfungsi untuk menetapkan versi tujuan.
Opsi-opsi lain yang
|
sering digunakan diperlihatkan sebagai
berikut:
|
// Menetapkan lokasi file-file kelas
(classpath)
|
javac -cp D:\java Coba.java
|
javac -classpath D:\java Coba.java
|
// Menetapkan lokasi file .class yang akan
dihasilkan
|
javac -d D:\java Coba.java
|
// Hasil: file Coba.class diletakkan di
D:\java
|
// Mendapatkan informasi mengenai apa yang
dilakukan kompiler
|
javac -verbose Coba.java
|
// Mendapatkan informasi versi (developer)
|
javac -version
|
Sekadar catatan, untuk memudahkan
pemanggilan kompiler, tam-
|
bahkan path yang berisi file-file
executable (di direktori bin) ke
|
variabel sistem Path. Untuk lebih
praktisnya, Anda bisa meng-
|
gunakan kotak dialog
|
Environment Variables
|
(melalui
|
System
|
Properties
|
).
|
Apabila Anda bekerja di lingkungan
Unix/Linux, modifikasilah file
|
/etc/profile
|
dengan menambahkan baris berikut:
|
PATH=/lokasi_instalasi/bin:$PATH
|
export PATH
|
•
Interpretasi
|
Sebagaimana disinggung, kode program Java
tidak dieksekusi di
|
komputer secara langsung, tetapi berjalan
di atas komputer hipotesis
|
yang distandardisasikan, yang disebut Java
Virtual Machine. Untuk
|
menginterpretasi bytecode, kita
menggunakan tool bernama
|
java
|
,
|
atau biasa disebut interpreter Java. Pada
saat menginterpretasi, Anda
|
4
|
tidak perlu menyertakan ekstensi file
(.java atau .class), cukup nama
|
file saja.
|
java Coba
|
Untuk kasus program-program berbasis teks,
hasil keluaran akan
|
langsung ditampilkan di command-line.
Terkait hal ini, tool java
|
memungkinkan Anda untuk meng-capture hasil
keluaran dan me-
|
nyimpannya di sebuah file.
|
Contoh perintah berikut akan menangkap
hasil keluaran program
|
Coba dan menyimpannya di file
|
coba.txt
|
.
|
java Coba > coba.txt
|
Apabila Anda menggunakan perintah di atas
pada aplikasi GUI,
|
maka file keluaran akan tetap diciptakan,
namun tidak ada isinya
|
(dengan asumsi bahwa program tidak
mencetak teks keluaran).
|
3 Elemen Bahasa
|
Secara garis besar, elemen-elemen di
setiap bahasa pemrograman
|
sebenarnya hampir sama. Meskipun demikian,
ada elemen-elemen
|
khusus yang membedakan dan sekaligus
mencerminkan identitas
|
suatu bahasa. Adapun mengingat di sini
kita bekerja dengan bahasa
|
pemrograman Java, tentunya kita juga perlu
memahami elemen-
|
elemen dasar bahasa ini.
|
•
Tipe Data
|
Tipe data di Java dikelompokkan menjadi
dua jenis, yaitu tipe
|
primitif dan reference (kelas). Tipe
primitif/dasar adalah tipe-tipe
|
bawaan, meliputi
|
boolean
|
,
|
char
|
,
|
byte
|
,
|
short
|
,
|
int
|
,
|
long
|
,
|
float
|
,
|
dan
|
double
|
. Sementara itu, tipe reference memiliki
semantik seperti
|
pointer. Jenis tipe reference meliputi
kelas, interface, dan array.
|
Apabila Anda ingin memperlakukan nilai
primitif sebagai suatu
|
objek, Anda bisa memanfaatkan kelas-kelas
pembungkus (wrapper).
|
Kelas-kelas tersebut meliputi
|
Boolean
|
,
|
Character
|
,
|
Byte
|
,
|
Short
|
,
|
Integer
|
,
|
Long
|
,
|
Float
|
, dan
|
Double
|
. Perhatikan sintaksnya (pe-
|
nulisan huruf kecil dan besar), agar tidak
keliru dengan tipe-tipe
|
primitif.
|
5
|
•
Deklarasi dan Inisialisasi Variabel
|
Sebelum digunakan, setiap variabel harus
dideklarasikan terlebih
|
dahulu. Langkah ini dilakukan dengan
menetapkan tipe data dan
|
nama variabel. Pernyataan deklarasi
variabel tunggal juga dapat
|
digunakan untuk mendeklarasikan lebih dari
satu variabel, tetapi
|
semuanya harus bertipe sama.
|
int i;
|
int j;
|
// ekuivalen dengan kedua pernyataan di
atas
|
int i, j;
|
Deklarasi juga dapat sekaligus melakukan
inisialisasi terhadap suatu
|
variabel.
|
int i = 2;
|
int j = 3;
|
int i = 2, j = 3;
|
•
Initial Value
|
Saat mendeklarasikan variabel kelas, kita
tidak harus melakukan
|
inisialisasi karena kompiler akan
meng-assign initial value (nilai awal
|
atau default). Nilai default untuk semua
tipe reference adalah null.
|
Nilai default tipe primitif
|
boolean
|
adalah
|
false
|
,
|
char
|
adalah
|
\u0000, integer (
|
byte
|
,
|
short
|
,
|
int
|
,
|
long
|
) adalah 0, dan floating
|
point (
|
float
|
,
|
double
|
) adalah 0.0.
|
•
Ruang Lingkup Variabel
|
Java mendefinisikan empat jenis variabel,
meliputi variabel instance
|
(field non-statis), variabel kelas (field
statis), variabel lokal, dan
|
parameter. Istilah field mengacu pada
variabel instance dan variabel
|
kelas (terkadang disebut member variable).
Sementara itu, istilah
|
variabel mengacu pada semua jenis
variabel.
|
Lokasi di mana suatu variabel
dideklarasikan secara eksplisit juga
|
menetapkan ruang lingkupnya. Ruang lingkup
variabel adalah wi-
|
layah di mana suatu variabel dapat diacu
melalui namanya. Ruang
|
lingkup juga menyatakan kapan variabel
akan diciptakan dan di-
|
hapus dari memori.
|
6
|
•
Blok
|
Blok adalah kelompok pernyataan (nol atau
lebih) di dalam tanda
|
kurung kurawal. Penggunaan blok dengan
pernyataan alir kontrol
|
sangat direkomendasikan, meskipun hanya
melibatkan sebuah per-
|
nyataan.
|
if (kondisi)
|
{
|
// awal blok
|
// pernyataan
|
}
|
// akhir blok
|
•
Komentar
|
Penulisan komentar dapat mengadopsi blok
komentar gaya C
|
ataupun C++. Komentar gaya bahasa C
lazimnya digunakan untuk
|
komentar yang terdiri atas beberapa baris.
Sementara itu, komentar
|
gaya C++, yang dinyatakan melalui karakter
//, umumnya digunakan
|
untuk komentar satu baris.
|
Untuk komentar-komentar yang akan
dimasukkan ke dokumentasi
|
dan dihasilkan melalui tool javadoc,
disarankan menggunakan /**
|
dan diakhiri dengan karakter */.
|
4 Aturan Penamaan
|
Di dalam pemrograman, suatu nama digunakan
untuk mengacu ke
|
entitas yang dideklarasikan. Terkait hal
ini, ada beberapa aturan
|
dasar penamaan yang perlu sekali
diperhatikan dalam upaya meng-
|
hasilkan kode program yang
|
readable
|
.
|
•
Penamaan Paket
|
Nama awal paket sebaiknya terdiri atas dua
atau tiga huruf kecil, dan
|
biasanya menggunakan nama domain Internet,
seperti com, org, net,
|
dan edu. Selain itu, Anda juga
diperkenankan memberi nama paket
|
dengan kode-kode negara, seperti id, uk,
atau au. Penggunaan nama
|
domain ini bertujuan untuk mencegah
terjadinya konflik paket,
|
dengan asumsi bahwa Anda tidak menggunakan
nama domain
|
orang lain. Sebagai contoh, nama paket
berbasis domain
|
http://didik.indodesain.com adalah
|
com.indodesain.didik
|
.
|
7
|
•
Penamaan Kelas dan Interface
|
Nama kelas dan interface sebaiknya berupa
kata benda atau ung-
|
kapan kata benda yang deskriptif dan tidak
terlalu panjang. Penulisan
|
nama mengacu pada sintaks Pascal, di mana
huruf pertama untuk
|
setiap kata adalah huruf besar dan tidak
ada spasi, misalnya
|
Bangun
|
,
|
SegiTiga
|
, atau
|
KoneksiData
|
.
|
•
Penamaan Method
|
Nama method seharusnya berupa kata kerja
atau ungkapan kata
|
kerja. Penulisan method mengacu pada
sintaks Camel, di mana huruf
|
pertama untuk setiap kata pertama adalah
huruf kecil dan huruf
|
pertama kata selanjutnya adalah huruf
besar. Nama method umum-
|
nya juga mencerminkan operasi yang
dilakukannya, contohnya
|
seperti
|
setData
|
,
|
getData
|
,
|
isValidData
|
, atau
|
toString
|
.
|
•
Penamaan Variabel
|
Penamaan variabel-variabel kelas (
|
fields
|
) mirip dengan penamaan
|
method. Untuk penamaan variabel lokal dan
parameter, seringkali
|
menggunakan suatu akronim, singkatan, atau
istilah-istilah yang
|
mudah diingat, contohnya seperti sr (
|
StreamReader
|
), buf (buffer), d
|
(
|
double
|
), dan s (
|
String
|
).
|
•
Penamaan Konstanta
|
Seperti umumnya bahasa pemrograman, nama
konstanta di Java
|
harus berupa huruf besar semua. Apabila
nama konstanta terdiri atas
|
beberapa kata, sebaiknya pisahkan dengan
tanda garis bawah “_”.
|
Contoh penamaan konstanta misalnya
|
MAX
|
,
|
MAX_DATA
|
, atau
|
MAX_LEN_DATA
|
No comments:
Post a Comment