Selasa, 16 Juni 2009

Bantulah, Maka Engkau Akan Dibantu

Saya pernah baca hadits yang isinya kurang lebih seperti ini "Jika urusanmu ingin dipermudah, maka bantulah orang-orang yang kesulitan".

Kurang lebih tiga minggu yang lalu, Kakak saya yang sedang bangun rumah datang ke rumah saya, menjelaskan kesulitannya. Katanya para tukang sudah hampir sebulan belum dibayar. Dan ia berjanji untuk melunasi hutangnya pada saudara yang lain dan janjinya sudah lewat tiga hari tapi belum bisa juga digenapi. Ia merasa tidak enak, karena saudara yang dihutangi itu uangnya bukan miliknya tapi milik bosnya. Saudara yang dihutangi itu hanya memegang uang amanat dari bosnya, dan saat akan dikembalikan ternyata kurang dalam jumlah yang lumayan besar karena dipinjam kakak. Kakak sendiri datang tanpa pembicaran "boleh tidak kakak minjem uangmu untuk melunasi hutang kakak dan membayar para tukang itu, biar beban moral kakak tidak terlalu berat", tapi terasa benar dari mimik muka dan ekspresinya ia sedang menanggung beban moral itu.

Kakak pun pamit, tapi sebelum beranjak lebih lanjut saya hentikan langkah kaki kakak. "Nanti dulu, masa dari panjang lebar cerita tadi hanya mau langsung pulang? Ingin minjem uang berapa?" Saya langsung ke inti.

Akhirnya kakakpun menyebutkan sebuah angka yang cukup untuk melunasi hutang dan bisa membayar gaji sementara untuk para tukang yang sedang bekerja untuknya. Saya memanggil istri dan menyuruhnya mengambil sejumlah uang untuk kakak. Istri saya agak cemberut, katanya bukankah kita juga sebentar lagi akan bangun rumah. Saya hanya menjelaskan dengan kata seperti ini "Neng, kata Nabi barangsiapa yang ingin urusannya dimudahkan oleh Allah, maka bantulah orang-orang yang kesulitan, anggap saja kita sekarang sedang berdagang sama gusti Allah, semoga nanti pas kita buat rumah urusan kita dimudahkan oleh Allah"

Tidak berselang seminggu kemudian, seorang temen menelpon.
"Arif kamu dipanggil untuk demo oleh dokter A, hari sabtu ya jam sembilan pagi"

Hari sabtunya saya datang ke sebuah klinik yang sebentar lagi berubah menjadi rumah sakit. Saya pun mendemokan aplikasi yang saya miliki. Minggu berikutnya saya kembali disuruh datang ke klinik tersebut untuk melakukan negosiasi harga dan langsung terjadi deal pada saat itu juga. Dan mulai sabtu depan saya akan melakukan pemasangan system di klinik tersebut. Sebuah deal yang sangat melegakan karena dua minggu lagi saya akan memulai membangun rumah. Lumayanlah insya Allah cukup untuk beli bahan-bahan bangunan. Semoga saat membangun berjalan lancar dan diberi kecukupan. Insya Allah. Barangsiapa yang yakin pertolongan-Nya, maka sekali-kali Ia tidak pernah mengecewakan harapan orang yang bergantung kepada-Nya.


Rabu, 15 April 2009

Dasar-dasar Java : Operator

Wah, lama banget ga posting tentang tulisan java. Punten lumayan load kerjaan lagi banyak. Sekarang saatnya untuk meneruskan.

Ok, pada tulisan-tulisan sebelumnya kita telah membahas tentang variabel, konstanta, tipe data, array dan string. Untuk lebih jelas tentang topik sebelumnya bisa dilihat pada link-link berikut ini :

1. Berkenalan Dengan Java
2. Instalasi Java dan Eclipse IDE
3. Berkenalan Dengan Eclipse
4. Dasar-Dasar Java : Variable, Konstanta dan Tipe Data
5. Dasar-dasar Java : Array dan String

Pada bagian ini kita akan membahas tentang operator. Penjelasan tentang konsep variabel, konstanta dan tipe data tidak akan lengkap tanpa penjelsana tentang operator ini. Dalam bahasa pemrogramman selalu ada manipuasli terhadap variabel-variabel yang kita definisikan. Manipulasi variabel dan alur program sangat ditentukan oleh operator.

Operator berfungsi untuk mengoperasikan (memanipulasi, mengolah) satu atau lebih variabel. Variabel yang dioperasikan disebut operand.

Secara garis besar operator dalam java bisa dikelompokkan menjadi operator assignment, operator aritmatika, operator unary, operator equality, operator kondisional, operator komparasi, dan operator bitwise (paling jarang dipakai, di skip - tidak dijelaskan)

Operator assigment adalah tanda = (sama dengan), berguna untuk memberi literal pada suatu variabel tertentu. Berikut contoh operator assigment :

int testInt = 0;

Operator aritmatika adalah operator yang digunakan untuk melakukan operasi aritmatika (perhitungan). Operator ini ada lima macam yaitu operator penambahan (+), operator penguranan (-), operator perkalian (*), operator pembagian (/) dan operator sisa - mod (%).

Berikut contoh penggunaan operator arimatika :

int hasil = 1 + 2; // hasil = 3
hasil = hasil - 1; // hasil = 2
hasil = hasil * 2; // hasil = 4
hasil = hasil / 2; //hasil = 2
hasil = hasil + 8; // hasil = 10
hasil = hasil % 7; //hasil = 3

Operator penjumlahan (+) bisa juga diterapkan pada objek string (seperti pada contoh penjelasan kelas String).

Operator unary meliputi operator unary positif (+) untuk menandakan suatu bilangan positif (setiap bilangan tanpa tanda negatif, berarti termasuk bilangan positif). Operator unary negatif (-) untuk menandakan suatu bilangan negatif. Operator unary increment (++), berguna menambah menambah literal bilangan dengan literal bilangan satu. Operator unary decrement (–), berguna mengurangi literal bilangan dengan bilangan satu. Dan operator unary komplemen logika (!), berguna untuk mengkomplemenkan suatu logika yang bernilai true atau false.

Berikut contoh penggunaan operator unary :

int hasil = +1; // hasil = 1
hasil–; //hasil = 0
hasil++; // hasil = 1
hasil = -hasil; // hasil = -1
boolean success = false; //success = false;
success = !success; //success =true;

Operator equality digunakan untuk membandingkan dua variabel, apakah nilainya sama, lebih besar, lebih kecil, lebih besar atau sama dengan, lebih kecil atau sama dengan dan tidak sama dengan. Operator-operator tersebut adalah sebagai berikut :

== sama dengan
> lebih besar
< lebih kecil
>= lebih besar atau sama dengan
<= lebih kecil atau sama dengan
!= tidak sama dengan

Berikut contoh pemakaian operator equality (contohnya dapat ngambil dari situs java.sun.com)

class ComparisonDemo {
public static void main(String[] args){
int value1 = 1;
int value2 = 2;
if(value1 == value2) System.out.println("value1 == value2");
if(value1 != value2) System.out.println("value1 != value2");
if(value1 > value2) System.out.println("value1 > value2");
if(value1 <>
if(value1 <= value2) System.out.println("value1 <= value2");
}
}

Outpun program tersebut sbb:

value1 != value2
value1 < value2
value1 <= value2


Operator kondisional digunakan pada dua atau lebih ekspresi boolean. Operator ini terdiri dari operator kondisional AND (&&) dan operator kondisional OR (||). Selain itu ada juga operator kondisional and (&) dan operator kondisional or (|). Bedanya pada operasional kondisional && dan || jika ekspresi sudah memenuhi syarat, ekspresi setelahnya tidak dicek, sedangkan pada operator kondisional & dan | akan mengecek seluruh ekspresi.

Berikut contoh penggunaan operator ini (contohnya ngambil dari situ sun juga) :

class ConditionalDemo {

public static void main(String[] args){
int value1 = 1;
int value2 = 2;
if((value1 == 1) && (value2 == 2))
System.out.println("value1 is 1 AND value2 is 2");
if((value1 == 1) || (value2 == 1))
System.out.println("value1 is 1 OR value2 is 1");
}
}

outpun program di atas adalah :

value1 is 1 AND value2 is 2
value1 is 1 OR value2 is 1


Operator komparasi digunakan untuk mengecek apakah suatu objek merupakan instance dari suatu kelas tertentu. Operator komparasi adalah operator instanceof. Jika suatu objek yang kita tes merupakan instance dari suatu kelas yang kita tentukan, ekspresi ini bernilai true, false jika sebaliknya. Berikut contoh sederhana pemakaian operator komparasi.

KelasA a = new KelasA();
KelasB b = new KelasB();

if(a instanceof KelasA)
Sytem.out.println("objek adalah instance dari KelasA);

Karena a merupakan instance dari KelasA maka statement System.out.println("objek adalah instance dari KelasA") dieksekusi.


Rabu, 08 April 2009

Catatan Tentang Pemilu 2009

Menjelang pemilu, hari-hari kemarin iseng-iseng ingin menentukan pilihan. Saya tidak mau menjadi pemilih yang asal milih. Atau memilih karena kecintaan dan kefanatikan semata. Saya ingin menjadi pemilih yang kritis. Dan saya masih bingung menentukan pilihan. Partai mana yang akan saya contreng(hehehe..karena sistem kali ini bukan mencoblos).

Pilihan berat jatuh kepada PKS. Oleh karena itu saya menelusuri jejak partai ini di internet. Partai ini dikenal bersih, setidaknya sampai saat ini belum ada tokohnya yang terjerat kasus tertentu. Tapi setelah browsing-browsing di internet dan beberapa pertanyaan yang saya ajukan pada diri sendiri saya menjadi ragu untuk menjadi pemilih PKS. Keragu-raguan tersebut meliputi hal-hal berikut :

Pertama, mantan presiden PKS (HNW) menjabat sebagai ketua MPR untuk periode 2004-2009, tapi apa terobosan yang dilakukan MPR selama periode tersebut. NIHIL. Bandingkan dengan Pak Amin Rais saat menjabat sebagai ketua MPR!

Kedua, sepak terjang PKS selama periode 2004-2009 tidak terlihat jelas. Apa saja terobosan-terobosan yang dilakuakn PKS di Senayan? Berupaya sungguh-sungguh untuk mengungkap kasuks BLBI? saya pikir tidak. Membela korban Lapindo? TIDAK PERNAH TERDENGAR. Sepak terjang PKS saya nilai masih sektarian. Hanya menonjolkan isu-isu yang sifatnya murni 'keagamaan' seperti Perda syari'at, RUU APP, solidaritas terhadap palestina dengan cara melakukan simpati dan dukungan luar biasa terhadap HAMAS. Disini saya belum melihat universalisme Islam yang saya pahami. Keislaman warga PKS saya pikir memisahkan kotak antara 'kita' dan 'mereka'. Saya melihat pada kenyataannya eklusifisme menjadi anutan moral mayoritas warga PKS. Dalam hal ini iklan 'PKS=Partai Kita Semua' berusaha menutupi kenyataan ini. PKS ingin lebih mendekatkan diri kepada objek-objek (saya sengaja memilih kata 'objek' bukan 'subjek') pemilih.

Ketiga, ini flashback sewaktu saya masih kuliah dulu. Saya mendapat undangan untuk menghadiri pertemuan dengan sesama kawan-kawan sefakultas yang muslim. Temanya pengajian. Tapi aneh, setelah hadir saya kira yang di undang itu semua, ternyata hanya orang-orang tertentu. Saya protes kenapa tidak semua di undang, bukankah temen-temen yang lain kita juga sesama muslim? Penjelasan apa yang saya dapat? Keekslusifan. 'Kita adalah orang-orang terpilih dan berbanggalah menjadi orang-orang terpilih tersebut'. Semenjak saat itu saya hanya bisa menghadiri undangan-undangan mereka (karena menghadiri undangan itu katanya hukumnya wajib) tapi tidak sependapat dengan mereka dalam banyak hal. Itu langsung saya tunjukkan dengan mendukung orang-orang yang berada di tengah saat pencalonan ketua senat di Fakultas. Walau orang yang saya dukung kalah, saya puas. Saya perjuang untuk nilai-nilai keuniversalan yang lebih tinggi (setidaknya itulah penilaian saya). Perlu diketahui dominasi kelompok tarbiyah di kampus saya sangat dominan. Kehidupan perpolitikan dikampus dikuasai oleh kelompok ini (kira-kira 95%). Walaupun melihat track record di kampus tersebut, jujur pada pemilu 2004 yang lalu saya memilih PKS, karena selain terkenal bersih orang-orangnya saya juga ingin mengetahui sepak terjang mereka di DPR/MPR. Dan hasilnya 'MENGECEWAKAN'.

Jadilah saya ragu untuk memilih PKS. Lantas partai apa yang akan saya pilih, PDIP, PD, GOLKAR, PAN, GERINDRA atau HANURA? Tokoh PPP saya tidak kenal. Apalagi PBR atau partai-partai lainnya. Bagaimana dengan PDIP? Ah partai ini menurut saya diisi oleh orang-orang oportunis. Hanya mengandalkan figur Megawati. Para pemilihnya bukan pemilih rasional. Tapi pemilih fanatik karena kecintaan belaka. Mengaku partai wong cilik tapi selama Megawati memerintah apa yang telah ia lakukan untuk wong cilik? Apakah pendidikan gratis? Apakah sembako murah? Apakah rumah sakit mudah melayani orang-orang dari kalangan pendukung partai ini? semua sudah tau. Jawabannya adalah TIDAK. Yang terjadi justru sebaliknya. Aset-aset negara melayang kepada asing dan yang paling kerasa 'stupid'nya adalah penjualan indosat ke anak perusahaan singtel.

Bagaimana dengan PD? figur partai ini sama seperti PDIP. Terlalu mengandalkan dan bergantung pada sosok SBY. Cuman bedanya para pemilih SBY lebih sehat daripada para pemilih Megawati. Mereka memilih sudah dengan pertimbangan-pertimbangan tidak dengan fanatik buta seperti pemilih megawati. Tapi ada beberapa 'catatan buruk' saya terhadap SBY yaitu kasus Blue Energi dan Kasus Bibit Unggul (padi) yang dimana di dalamnya SBY tertipu secara mentah-mentah. Bagi saya partai yang mengandalkan hanya pada satu figur, bukanlah partai yang sehat. Kecenderungan otoriterisme dari sang pemimpin bisa saja muncul jika menjadi mayoritas. Itu tidak sehat buat demokrasi.

Bagaimana dengan GOLKAR? Golkar punya track record yang kurang bagus pada masa orde baru. Partai ini dibesarkan dan menjadi alat kendaraan berpolitik pak Harto. Pada masa itu kebijakan GOLKAR adalah kebijakan Pak Harto. Tapi semenjak Akbar Tanjung mengamil alih jabatan ketua partai pada tahun 1999 terjadi dinamika perpolitikan yang cantik di partai ini. Hanya karena stigma orde baru begitu kental, maka pada pemilu 1999 partai ini kalah oleh PDIP tapi berhasil menjadi pemenang secara nasional pada pemilu 2004. Dalam penilian saya, terlepas dari masa lalu, Golkar adalah partai yang di dalamnya paling banyak tokoh-tokoh profesional dibandingkan dengan partai-partai lainnya. Orang-orang yang secara pengalaman telah tertempa di pemerintahan dan dunia profesional lainnya. Dan ada satu 'kebijakan' baru pemerintahan SBY yang saya saluti yaitu terpenuhinya anggaran pendidikan nasional sebesar 20% dari APBN. Saya melihat peran partai Golkar di sini cukup besar (karena menjadi mayoritas di DPR)

Bagaimana dengan PAN? wah-wah kok partai ini kebanyakan caleg-nya artis ya? apa PAN = Partai Artis Nasional? aneh.

Gerindra dan Hanura? Saya tidak cukup tahu tentang kedua partai ini. Yang saya tahu bahwa Gerindra sepertinya modalnya kenceng, iklan-iklannya tidak ada habisnya. Fikiran saya kalau berhasil apa tidak menghitung ROI-nya ya? Hanura? no comment. Tapi kurang begitu suka dengan figur Wiranto.

Jadi partai apa ya yang akan saya pilih? Saya masih tetep bingung. Ada selintasan di fikiran apa 'golput aja ya..', tapi masa saya tidak memilih, kalau tidak memilih berarti saya tidak ikut menanam dong.

Tiba-tiba ditengah kebingungan hari selasa (7 April 2009) istri menelpon. Katanya semua panitia sudah mengirimkan undangan untuk melakukan 'pencontrengan' dan anehnya kata istri saya, nama saya tidak ada. Saya termasuk orang yang tidak mendapatkan undangan dari panitia pemungutan suara. Padahal istri saya dapat. Aneh kata saya. Mungkin undangan saya tertinggal di kampung yang lama. Saya telpon ibu di rumah, menanyakan apakah undangan untuk saya ada. Kata kaka yang menerima telpon, semua keluarga ada kecuali saya. Weleh..sepertinya gerentasan saya untuk golput jadi kenyataan.

Sesampainya di rumah saya bercanda sama istri saya, saya bingung sama negara ini, apa segi administrasi kenegaraan yang kurang sehingga menghalangi saya untuk ikut memilih di pemilu kali ini. Akte kelahiran saya punya, surat nikah saya punya, kartu keluarga saya punya, KTP saya punya, NPWP saya punya, tiap bulan saya bayar pajak (walaupun pada kenyataannya dibayarkan oleh perusahaan). Pantes saja banyak yang mempertanyakan validatas data Daftar Pemilih Tetap (DPT) pada pemilu kali ini. Sebagai warga negara yanb baik (ceilah warga negara yang baik) sepertinya hak-hak saya tidak dihargai dalam pemilu kali ini. Tapi syukurlah saya juga bingung kalo harus memilih partai...Jadi klop deh kalau begitu :)

Rabu, 07 Januari 2009

Perang di Gaza : Salut Buat Venezuela

Venezuela, bukan negara Islam, bukan pula negara berpenduduk mayoritas Islam. Melihat kekejian yang dilakukan Israel di Gaza berani mengusir Duta besar Israel dari negaranya. Venezuela jauh letaknya dari Palestina tapi melakukan simpati dengan aksi nyata. Ketika bangsa-bangsa lain hanya bisa mengutuk, Venezuela memutuskan hubungan diplomatik dengan Israel.

Mana sikapmu negara-negara Arab? Memang di dunia ini hanya ada empat negara yang betul-betul merdeka. Iran, Venezuela, Amerika dan Israel. Selebihnya hanya negara-negara pengecut dengan kadar yang berbeda-beda. Tingkat kepengecutan paling parah tentu saja dimiliki oleh bangsa-bangsa Arab, menjadi budak Amerika berarti menjadi sekutu setia Israel.

Senin, 22 Desember 2008

Dasar-Dasar Java : Array dan String


Tulisan sebelumnya tentang topik ini :

1. Berkenalan Dengan Java

2. Instalasi Java dan Eclipse IDE

3. Berkenalan Dengan Eclipse

4. Dasar-Dasar Java : Variable, Konstanta dan Tipe Data


Pada bagian ini kita akan membahas tentang array dan string, dua hal yang akan sering kita gunakan dalam pemrogramman Java.

Array

Array adalah suatu variabel yang menyimpan kumpulan literal dari suatu tipe data yang sama. Misalnya kita seorang pedagang toko, ingin menyimpan pendapatan tiap bulan kita dalam suatu variabel yang bertipe double. Maka ada dua belas variabel dengan tipe data double yang kita butuhkan. Misalnya deklarasi variabel tersebut adalah sebagai berikut :


double pendapatanBulan1;
double pendapatanBulan2;
double pendapatanBulan3;
.
.
.
double pendapatanBulan12;

Tentu sangat repot mendeklarasikan variabel sebanyak itu. Bisa-bisa program yang kita buat hanya berisi kumpulan deklarasi variabel.

Array membantu kita mengelompokkan variabel-variabel yang sejenis ke dalam satu variabel array. Dengan array deklarasi variabel yang cukup banyak di atas, bisa diringkas sebagai berikut :

double[] pendapatanBulanan = new double[12];
atau double pendapatanBulanan[] = new double[12];

Dua contoh deklarasi variabel array di atas sama benarnya (di sini hanya ditunjukkan perbedaan cara deklarasi saja). Angka 12 menyatakan panjang array tersebut.

Seperti variabel, array juga bisa diinisialiasi (diberi nilai awal). Berikut contoh deklarasi array yang sudah diinisialisasi :

double pendapatanBulanan[] = new double{10000, 20000, 30000, 40000, 50000, 60000, 70000,80000, 90000, 100000, 110000,120000}

Untuk memanipulasi (mengolah) nilai dari suatu array kita harus mengakses indeks elemen array tersebut. Indeks element array selalu dimulai dari indeks 0, sehingga indeks terakhir suatu array adalah selalau panjang array dikurangi satu. Contoh berikut akan memanipulasi nilai indeks pertama menjadi 15000, dan indeks ke enam menjadi 75000 :

pendapatanBulanan[0] = 15000;
pendapatanBulanan[6] = 75000;

Konsep array bukan hanya berlaku pada tipe data primitif saja, ia juga berlaku pada tipe data kelas.

String

Mengolah "kata atau kalimat" di dalam programming java bisa dilakukan dengan menggunakan tipe data primitif char[] (array dari karakter). Contoh jika kita ingin menyimpan kata "hello" bisa dilakukan dengan ekspresi berikut :

char[] charHello = new char{’h',’e',’l',’l',’o'};

Tapi semakin panjang kata atau kalimat yang kita olah, ekspresi seperti di atas sangat tidak efektif. Karena kekurangan fleksibilitas char[] ini java menyediakan suatu kelas khusus yang bernama String untuk membuat dan memanipulasi kata atau kalimat. Dengan menggunakan kelas String, ekspresi di atas bisa diganti dengan ekspresi berikut :

String strHello = "hello";

Literal dari suatu objek String selalu diapit oleh tanda kutip ("");

Kelebihan kelas String dibandingkan dengan char[] adalah kelas String lebih dinamis. Kalau kita menggunakan char[], sekali deklarasi pangjang char[] tidak pernah berubah. Sedangkan String bisa kita manipuasi sesuka kita (bisa kita kurangi atau kita tambahkan). Pada variabel charHello, panjang kata yang bisa dimanipulasi selalu 5. Manipulasi pada variabel charHello hanya terbatas pada penggantian literalnya saja (sedangkan panjangnya selalu tetep). Sedangkan variabel strHello selain kita bisa mengganti literalnya, panjangnya juga secara bersamaan berubah sesuai dengan kata atau kalimat yang akan kita manipulasi. Misalnya kita ingin mengganti literal variabel strHello menjadi "halo, Apa Kabar?", kita cukup membuat ekspresi berikut :

strHello = "halo, Apa Kabar?";

String juga bisa kita tambahkan. Misalnya kita ingin menambahkan "halo, Apa Kabar?" dengan kalimat "Apakah baik-baik saja ", maka kita bisa melakukan operasi penambahan pada strHello sebagai berikut :

strHello = strHello + " Apkah baik-baik saja?";

Lebih fleksibel bukan?

Dengan eclipse anda bisa mengetahui prilaku (method) apa saja yang dimiliki oleh objek String (dengan menambahkan titik pada akhir objek string nya).


Rabu, 10 Desember 2008

Dasar-dasar Java : Variabel, Konstanta dan Tipe Data

Tulisan sebelumnya tentang topik ini :
1. Berkenalan Dengan Java
2. Instalasi Java dan Eclipse IDE
3. Berkenalan Dengan Eclipse


Pada bagian ini akan dijelaskan tentang variabel, konstanta dan tipe data.

Variabel

Variabel adalah suatu nama yang digunakan untuk menyimpan suatu nilai dari tipe data tertentu. Nilai dari suatu variabel disebut literal. Sebelum digunakan variabel harus dideklarasikan. Deklarasi disesuaikan dengan tipe data yang ingin direpresentasikan.

Deklarasi variabel mengikut aturan sebagai berikut : tipeData namaVariabel. Contoh berikut adalah deklarasi variabel dengan menggunakan tipe data int :

int bilangan1;
int bilangan2;

Kata int adalah tipe data, sedangkan bilangan1 dan bilangan2 adalah nama variabel. Dua deklarasi variabel di atas bisa diringkas menjadai : int bilangan1, bilangan2;


Tipe data dari suatu variabel bisa berupa tipe data primitif (seperti : int, byte, char, short, boolean dll) atau tipe data berupa class (misalnya Integer, Byte, Short, Boolean dll - bisa kelas yang anda buat).

Variabel bisa diinisialisasi (diberi nilai awal). Misalnya pada contoh di atas kita melakukan inisialisasi sebagai berikut :

int bilangan1 = 0;
int bilangan2 = 5;

Tanda ; (titik koma) menyatakan satu statemen yang utuh (Dalam bahasa manusia ’satu kalimat yang lengkap - berakhir dengan tanda titik’).

Java memiliki aturan-aturan dalam penamaan suatu variabel. Aturan-aturan itu adalah sebagai berikut :

  • Penamaan variabel tidak boleh menggunakan kata-kata kunci dalam bahasa pemrogramman java. Kata-kata kunci tersebut adalah sebagai berikut (berdasarkan urutan abjad) : abstract, boolean, break, byte, case, catch, char, class, const, continue, default, do, double, else, extends, final, finally, float, for, goto, if, implements, import,instanceof, int, interface, long, native, new, package, private, protected, public, return, short, static, super, switch, synchronized, this, throw, throws, transient, try, void, volatile dan while.
  • Harus dimulai dengan huruf atau garis bawah ( _ ) atau tanda dollar ($), tidak boleh angka. Huruf kedua dan seterusnya bebas (bisa angka) tapi tidak boleh menggunakan operator yang digunakan java (semisal +, ++, * , -, — dll)
  • Panjang nama variabel terserah (dalam artian tidak dibatasi) tapi kata-katanya tidak boleh terpisah.
  • Nama Variabel dalam java adalah case sensitif (membedakan huruf kecil dan huruf besar. Nama variabel bilangan1 dan Bilangan1 dianggap sebagai dua variabel yang berbeda.
  • Penamaan variabel sebaiknya interpretatif, menggambarkan raealita yang diwakilinya. Penamaan variabel String namaMahasiswa adalah lebih interpretatif dibandingkan dengan variabel String x.

Sudah menjadi konvensi (kesepakatan) para programmer java juga, jika penamaan variabel dimulai dengan huruf, maka hurufnya harus huruf kecil.

Berikut contoh penamaan variabel yang valid dan tidak valid :

int bilangan1 –> valid
int bilangan 1 –> tidak valid
int 1bilangan –> tidak valid
int _bilangan1 –> valid
int $bilangan1 –> valid
int b1langan –> valid
int bi-langan –> tidak valid
int bi+langan –> tidak valid

Konstanta

Pada prinsipnya konstanta hampir mirip dengan variabel. Dua-duanya digunakan untuk menyimpan suatu nilai dari tipe data tertentu. Bedanya variabel menyimpan suatu nilai yang bisa berubah-ubah (dinamis) sedangkan konstanta sekali dideklarasikan nilainya tidak akan pernah berubah. Variabel bisa tidak diinisialisasi, sedangkan konstanta selalu diinisialisasi dan nilai inisialisasi tersebut tidak akan pernah berubah.

Deklarasi konstanta mirip dengan deklarasi variabel. Tetapi memiliki kata kunci final sebelum tipe datanya. Dan seperti variabel, konstanta juga memiliki aturan dalam penamaannya. Nama konstanta hanya boleh terdiri dari huruf besar dan garis bawah (undescore). Berikut contoh penamaan konstanta yang valid :

final double PI = 3.14;

Tipe Data

Sebagaimana telah dijelaskan sebelumnya, deklarasi variabel dan konstanta membutuhkan tipe data tertentu. Java memiliki delapan tipe data primitif, sedangkan untuk tipe data kelas jumlahnya tak terhingga (karena bisa kita definisikan sendiri). Delapan tipe data primitif ini sangat fundamental karena ia sebagai dasar untuk membangun tipe data kelas.

Kedelapan tipe data primitif tersebut bisa digolongkan kedalam tipe data numerik (untuk mengolah nilai-nilai yang berupa angka), tipe data boolean (berisi nilai benar dan salah - 0 dan 1), dan tipe data karakter huruf.

Tipe data numerik dibagi menjadi dua, yakni tipe data untuk menyimpan bilangan bulat dan tipe data untuk menyimpan bilangan pecahan.

Berikut tipe data primitif (dasar) dalam java :

Numerik Bilangan Bulat :

  • byte (panjangnya 1 byte = 8 bit), menampung nilai dari -128 sd 127. Memiliki nilai default 0 –> artinya jika tidak diinisialisasi (diberi nilai awal) variabel yang menggunakan tipe data ini bernilai 0.
  • short (panjangnya 2 byte = 16 bit), menampung nilai dari -32,768 sd 32,767. Nilai default juga 0.
  • int (panjangnya 4 byte = 32 bit), menampung nilai dari -2,147,483,648 sd 2,147,483,647. Nilai default 0.
  • long (panjangnya 8 byte = 64 bit), menampung nilai dari -9,223,372,036,854,775,808 sd 9,223,372,036,854,775,807. Nilai default 0.

Numerik Bilangan pecahan :

  • float (panjangnya 4 byte), menampung nilai dari -3.4E38 (-3.4 * 10 pangkat 38) sd +3.4E38. Memiliki presisi angka sampai 7 digit (0.xxxxxxx)
  • double (panjangnya 8 byte), menampung nilai dari -1.7E308 (-1.7 * 10 pangkat 308) sd +1.7E308. Memiliki presisi angka sampai 17 digit (0.xxxxxxxxxxxxxxxxx)

Deklarasi untuk tipe data numerik bilangan pecahan secara default menggunakan tipe data double. Jadi 0.24, 1.78, 2000.5034 dll dibaca sebagai double. Dengan eclipse deklarasi variabel float testFloat = 0.24; akan bertanda merah (berarti eclipse mendeteksi kesalahan). Deklarasi pecahan yang bertipe float harus diakhiri dengan huruf f. Deklarasi float yang salah di atas bisa diperbaiki menjadi sebagai berikut float testFloat = 0.24f.

Sudah 6 tipe data primitif yang kita bahas. Dua tipe data primitif yang lain adalah char dan boolean. char adalah tipe data untuk menampung nilai dari satu karakter (bisa berupa huruf atau angka). Sedangkan boolean adalah tipe data untuk menampung nilai benar (true) atau salah (false). Berikut contoh deklarasi variabel menggunakan tipe data primitif char dan boolean yg sudah dinisialisasi:

char nilaiKuliah = ‘A’;
boolean lulus = true;

Default tipe data char adalah karakter kosong, sedangkan default tipe data boolean adalah bernilai ‘false’.

Untuk setiap tipe data primitif yang telah dijelaskan, java memiliki tipe data kelas yang bersesuaian, yaitu Byte untuk tipe data primitif byte, Short untuk tipe data primitif short, Integer untuk tipe data primitif int, Long untuk tipe data primitif long, Float untuk tipe data primitif float, Double untuk tipe data primitif double, Boolean untuk tipe data primitif boolean dan Character untuk tipe data primitif char.


Minggu, 30 November 2008

Berkenalan Dengan Eclipse

Tulisan sebelumnya tentang topik ini :
1. Berkenalan Dengan Java
2. Instalasi Java Dan Eclipse IDE


Pada bagian ini kita akan mencoba berkenalan dengan eclipse. Untuk pertama kali, kita akan membuat ulang program Test.java pada bagian sebelumnya dengan eclipse. Jika anda mengikuti bagian dua anda telah berhasil membuat suatu environment pemrogramman java yang siap dipakai.

Klik kanan src pada package Explorer Eclipse. Pilih New - Class. Kita diminta untuk memberi nama Package (utk sementara biarkan default dengan tidak mengisi option ini), isilah Name dengan Test, kemudian tekan tombol Finish. Hasilnya adalah gambar berikut :



Untuk memperbesar editor (biar bisa satu layar penuh), Tekan dua kali file Test.java (pada editor bukan pada Package Explorer). Begitu juga untuk kembali ke ukuran asal kita juga melakukan hal yang sama (menekan dua kali file Test.java pada editor).

Berikutnya saya akan memberikan tiga jurus jitu eclipse. Pertama adalah autocomplete editor, kedua koreksi sintak, dan yang ketiga adalah pendefinisian untuk sintak-sintak yang sering digunakan dengan keyword yang lebih pendek. Dua hal yang pertama paling sering digunakan, sementara yang terakhir jarang digunakan — karena mekanisme autocomplete grammer eclipse sangat cepat.

Ok, untuk jurus pertama, di dalam body class ketiklah : main kemudian tekanlah Ctrl+Space autocomplete eclipse akan memberikan semua kemungkinan keyword sintak yang bisa kita pilih. Pilih option main method, maka kerangka method main dilengkapi oleh eclipse. Begitu juga ketika kita bekerja dengan ribuan kelas java kita hanya perlu mengetikkan kata depannya ditambah menekan Ctrl+Space, dan setelah kita pilih apa yang kita inginkan, eclipse akan melengkapi secara otomatis (melakukan import dan lain sebagainya). Ctrl+Space digunakan untuk mengakses semua properti dari suatu kelas atau objek (static variabel, instance variabel, static method, instance method — istilah ini akan dijelaskan kemudian). Anda telah mendapatkan jurus pertama.

Jurus kedua, autocorrect grammer. Tambahkan kata impl kemudian gunakan jurus pertama setelah deklarasi class (setelah kata "Test") kemudian tambahkan kata ActionL setelah kata implements, gunakan jurus pertama lagi. Hasilnya kata "Test" berwarna merah dan eclipse mengindikasikan ada error yang terjadi (ini saatnya menggunakan jurus kedua). Arahkan kursor pada kata yang bergaris merah kemudian tekanlah Ctrl+1(satu), eclipse akan memberikan pilihan-pilihan untuk membenarkan kode tersebut. Pilihlah selalu pilihan paling atas yang ditawarkan oleh eclipse. Kode errorpun akan hilang. Setiap kali ada indikasi error gunakanlah jurus kedua (Ctrl+1) untuk memperbaikinya. Memperbaiki error juga bisa dilakukan dengan menekan tanda error (tanda merah x), eclipse akan memberikan pilihan-pilihan utk memperbaikinya.

Masuk pada jurus ketiga mengakses sintak yang sering digunakan dengan membuat keyword baru yang lebih pendek. Pilih menu Window - Preferences - Java - Editor - Templetes. Misalnya kita akan menggantikan System.out.println() dengan sop, cari sysout pada Name kemudian klik Edit, gantilah sysout menjadi sop, kemudian tekan tombol OK, akan muncul dialog konfirmasi, Tekan tombol Yes. Kemudian tekan OK. Keyword baru sudah siap digunakan. Untuk mengetesnya kembali ke file Test.java, pada body method main (diapit oleh tanda { }) ketikkanlah sop kemudian gunakan jurus pertama. Sim salabim…keren bukan? Masukanlah kata seperti pada contoh program yang ditulis dengan notepad. Kemudian tekan Ctrl+s untuk menyimpan file tersebut. Di sini kelebihan eclipse juga bekerja. Ketika kita menyimpan file java file tersebut otomatis sudah dikompilasi. Dengan eclipse kita tidak perlu lagi melakukan kompilasi file-file java yang kita buat. Hanya cukup dengan menyimpannya. Dan prosesnya seperti menyimpan file biasa (sangat cepat).

Ok, selanjutnya kita menjalankan program java yang kita buat. Karena program yang kita buat berbasiskan teks (console), munculkan console eclipse dengan memilih menu Window - Show View - Console. Dari Package Explore, klik kanan file Test.java pilih Run As - Java Application. Kita akan melihat teks yang bertulisakan "INI PROGRAM JAVA PERTAMA SAYA" di console eclipse kita. Sebenarnya ada tiga cara mengeksekusi kode kita, yang pertama seperti telah saya sebutkan, yang kedua adalah dengan menglik kanan kode yang sedang aktif kemudian memilih yang sama spt pada pilihan pertama (Run As - Java Application), sedangkan yang ketiga menekan tombol hijau disamping ikon bugs (kutu).