Pengenalan Variabel
A. Pendahuluan
Pada tulisan ini kita akan mempelajari bagaimana caranya mendeklarasikan
variabel, mengetahui jenis-jenis variabel, serta scope dari
variabel yang kita deklarasikan dalam bahasa pemrograman Java.
B. Apa itu Variabel ?
Variabel adalah satuan dasar penyimpanan dalam program Java. Suatu variabel
dapat bersifat lokal (sementara), misalkan variabel yang di dalam
pengulangan for, atau dapat juga variabel instance yang
dapat diakses oleh semua method dalam class. Benda
atau sesuatu yang tersimpan di dalam variabel dinamakan nilai. Nilai dalam
suatu variabel dapat berubah selama berjalannya program. Nilai yang tersimpan
dalam suatu variabel tidak harus berupa bilangan. Kita dapat membuat variabel
yang dapat menyimpan huruf. Jenis nilai yang tersimpan dalam variabel merupakan
tipe variabel.
C. Menggunakan Variabel
Dalam Java, secara eksplisit kita harus mendeklarasikan variabel sebelum
kita menggunakannya.Sama halnya seperti pada bahasa pemrograman lain dalam java
variabel juga merupakan unit dasar yang diperlukan untuk menyimpan suatu nilai
dengan tipe data tertentu dalam memori kompiuter setip variabel memiliki
lingkup dan wakyu hidup didalam memori.Java secara eksplisit mengharuskan kita
untuk mendeklarasikan variabel sehingga jika terdapat salah ejaan (misspell)
dalam nama variabel, compiler akan menemukan kesalahan
tersebut dan menampilkannya sebagai kesalahan compiler (compiler error).
D.
Bagaimana Cara Mendeklarasikan Variabel?
Untuk mendefinisikan variabel tentukan tipenya terlebih dahulu lalu nama
variabel tersebut lalu diakhiri dengan titik-koma karena pendeklarasian
variabel merupakan sebuah bentuk pernyataan (statement). Bentuk dasar
dalam mendeklarasikan variabel adalah seperti ini:
tipe namaVariabel; //untuk mendeklarasikan
sebuah variabel
tipe namaVariabel1,variabel2,... //untuk
mendeklarasikan
beberapa
variabel
|
Sebagai contoh apabila
kita ingin mendeklarasikan variabeldengan nama X dan bertipe data bilangan
bulat (int),maka kita dapat menulisnya sebagai berikut:
int X; |
Java juga memberi kemudahan bagi para programmer untuk mendeklarasikan
beberapa buah nama variabel bertipe sama secara sekaligus dengan menggunakan
tande koma sebagai pembatasnya,seperti pada kode dibawah ini:
int X, Y, Z ; //Mendeklarasikan variabel X, Y, Z ;
dengan tipe int
char ch1, ch2 ; //Mendeklarasikan variabel ch1 dan ch2 ;
dengan tipe char
|
Terdapat beberapa persyaratan yang harus diperhatikan dalam penentuan nama
variabel pada saat proses deklarasi yaitu sebagai berikut:
1) a. Nama
variabel tidak boleh ada spasi
Contoh:
int Bilangan Bulat; //Salah
int BilanganBulat;
//Benar
int Bilangan_Bulat;
//Benar
|
b. Nama variabel tidak blehberupa angka atau diawali
dengan karakter numerik.
Contoh:
boolean 1; //Salah
double 2Dimensi [][]; //salah
double T1; //Benar
|
c. Nama variabel tidak boleh mengandung
karakter simbol,kecuali tanda $.
Contoh:
char Simbol #; //Balah
char $a; //Benar
|
d. Nama
variabel tidak boleh menggunakan kata kunci yang sudah didefinisikan didalam java.
Contoh:
byte while; //Salah
boolean break; //Salah
|
e. Dalam suatu blok program ,nama variabel harus
bersifat unik atau berbeda satu sama lain.
Contoh:
int a = 0;
if (a == 0) {
int a = 3; //Benar
int b = 4; //Benar
int b = 5; //Salah
|
f. Usahakan nama variabel sedeskriptif mungkin
sehingga kode program dapat lebih mudah
untuk dipahami orang lain.
Dalam
bahasa java itu sendiri,nama variabel selalu diawali dengan huruf
kecil,misalnya:
isExist, isBoolean, isVisible,dan sebagainya.Ini juga
berlaku untuk nama method (fungsi) didalam suatu kelas,misalnya:
toString(), /,dan
sebagainya.Kita akan membahas Method dalam bab lain.
E.
Inisialisasi Variabel
Java mengijinkan kita untuk melekukan
inisialisasinilai terhadap variabelyang dideklarasikan.Nilai inisialisasi
adalah nilai yang digunakan sebagai nilai awal (default) sebelum akhirnya nilai
variabel tersebutdiisi tau diganti dengan nilai lain.Bentuk umum dari proses
inisialisasi nilai kedalam variabel adalah sebagai berikut:
Tipe namaVariabel =
nilai;
Tipe namaVariabel1 =
nilai1, namaVariabel2 = nilai2;
Berikut ini dua buah contoh kode yang menunjukkan proses inisialisasi nilai
pada saat kita mendeklarasikan variabel.
int index = 0;
char ch = ‘A’;
|
Kode diatas menunjukkan bahwa kita mendeklarasikan variabel bernama index yang
bertipe
int dengan nilai awal 0,dan variabel ch yang
bertipe char dengan nilai awal berupa
karakter ‘A’.
F.
Lingkup dan Daur Hidup Variabel
Variabel yang dideklarasikan didalam lingkup (scope) atau blok tertentu
hanya
dikenali didalam lngkup bersangkutan saja.Dalam java,blok diawali dengan
tanda
{ dan diakhiri dengan tanda } .Dalam bahasa pascal,tanda tersebut
dipresentasikan
dengan kata kunci begin dan end.Perhatikan contoh program
dibawah ini:
class LingkupVariabel
{
public static void main (string[] args) {
int x = 50;
if (x > 25) { //awal blok
int y = 55;
System.out.println(“Nilai x di dalam
blok : “ + x);
System.out.println(“Nilai y di dalam
blok : “ + y);
} //akhir blok
System.out.println(“Nilai x di luar blok
: “ + x);
//SALAH
System.out.println(“Nilai y di luar blok
: “ + y);
}
}
|
Hasil
yang akan diberikan pada program diatas adalah sebagai berikut:
Nilai x di dalam blok
: 50
Nilai y di dalam blok
: 55
Nilai x di luar blok :
50
|
Pada contoh kode diatas,variabel b dideklarasikan didalam blok if sehingga tidak dikenali
lagi dari luar blok bersangkutan.
Class Math
Class Match menyediakan konstanta yang
memudahkan pengguna untuk membuat sebuah program yang sudah di standartkan
seperti Math.pi yaitu sebuah program yang sudah di set dengan nilai 3.14159 angka dibelakang
koma ini sebenarnya masih sangat panjang,dan masih banyak contoh yang lainya.
Input output
Untuk menerima input, salah satu caranya adalah dengan memanfaatkan package
yang disediakan oleh Java, yaitu: java.util.Scanner;
Sehingga dalam kode, harus kita sertakan (impor).
Sehingga dalam kode, harus kita sertakan (impor).
Code: java
1. import java.util.Scanner;
Dalam kode (class) utama, jangan lupa untuk disisipkan:
Code: java
1.
Scanner input = new Scanner( System.in );
Kemudian kita gunakan misalnya variabel nama sebagai penerima inputan.
Code: java
1.
String nama =
input.nextLine();
untuk tipe data string, atau:
Code: java
1.
double bilangan1 =
input.nextDouble();
Code: java
1.
int bilangan2 =
input.nextInt();
secara berturut-turut untuk float (data real) dan integer.
Baiklah, berikutnya contoh lengkap source code-nya:
Code: java
1. import java.util.Scanner;
2.
3. public class test {
4.
5. public static void main(String[] args) {
6.
7. //Menampilkan insialisasi nilai awal
8. Scanner input = new Scanner( System.in );
9.
10.
//Pertanyaan untuk
menerima inputan
11.
System.out.print ("Masukkan
nama Anda: ");
12.
String nama = input.nextLine();
13.
System.out.print ("Masukkkan
bilangan bulat: ");
14.
int bilangan1 = input.nextInt();
15.
System.out.print ("Masukkkan
bilangan pecahan: ");
16.
double bilangan2 = input.nextDouble();
17.
18.
//Tampilkan isi
inputan dalam variabel
19.
System.out.printf( "\nNama Anda adalah
%s.",nama );
20.
System.out.printf( "\nBilangan pertama
adalah %d.",bilangan1 );
21.
System.out.printf( "\nBilangan kedua
adalah %.2f.",bilangan2 );
22.
23.
}
24.
25.
}
Setelah dikompilasi dan dieksekusi (run), akan muncul hasil sbb:
Masukkan
nama Anda: IF Unikom
Masukkkan bilangan bulat: 56
Masukkkan bilangan pecahan: 45.7357
Nama Anda adalah IF Unikom.
Bilangan pertama adalah 56.
Bilangan kedua adalah 45.74.
Masukkkan bilangan bulat: 56
Masukkkan bilangan pecahan: 45.7357
Nama Anda adalah IF Unikom.
Bilangan pertama adalah 56.
Bilangan kedua adalah 45.74.
Perhatikan bahwa, untuk menuliskan bilangan pecahan hanya sampai 2 angka di belakang koma, cukup dengan menuliskan %.2f.
Kalau ingin menampilkan semua pecahan (angka desimal), maka cukup ditulis %f.
Operator
Java merupakan bahasa pemrograman yang kaya akan
operator.Operator-operator tersebut dikelompokka menjadi empat bagian
besar,yaitu:
Ø Operator Aritmatika
Ø Operator Relasional
Ø Operator Logika
Ø Operator Bitwise
Pada bab ini kita akan membahas konsep secara detail dari masing-masing
opertor yang ada beserta penggunaanya di dalam program.
A.
Operator Aritmatika
Operator aritmatika adalah
operator-operator yang digunakan untuk melakukan perhitungan-perhitungan
matematis; seperti:penjumlahan,pengurangan,pembagian dan perkalian.Didalam
tabel berikut akan ditunjukkan beberapa daftar operator yang termasuk kedalam
kelompok operator aritmatika.
Operator
|
Keterangan
|
+
|
Penjumlahan
|
-
|
Pengurangan
|
*
|
Perkalian
|
/
|
Pembagian
|
%
|
Modulus (Sisa bagi)
|
++
|
Increment (Menaikan nilai
dengan 1)
|
--
|
Decrement (Menurunkan nilai
dengan 1)
|
Operand dari operator aritmatika harus
bertipe numerik.Anda tidak dapat menggunakanya untuk tipe data boolean .Sebagai
perkecualian untuk tipe
char,Anda masih dapat melakukan
operasi aritmatika karena sebenarnya,atau pada intinya,tipe char
merupakan subset dari tipe int.
Berikut
ini contoh sebuah operasi aritmatika:
int a = 5;
int b = 15;
c = a + b;
|
Operator sama dengan (=) disebut dengan assignment ,yaitu opertor yang digunakan
untuk memasukkan nilai kedalam suatu variabel.Pada baris pertama pada kode
diatas,kita memasukkan nilai 5 ke dalam variabel a,dan
pada baris kedua kita masukkan nilai 4 kedalam variabel b.
Sekarang coba anda perhatikan baris ketiga
dari kode diatas .Kode tersebut bahwa nilai c adalah
penjumlahan dari variabel a dan variabel b.
Berikut ini tabel menjukkan daftar
operatorpenyingkatan dalam java assignment
atau proses memasukkan nilai kedalam
sebuah variabel.
Operator
|
Keterangan
|
+=
|
Assigment untuk
penjumlahan
|
-=
|
Assigment untuk pengurangan
|
*=
|
Assigment untuk perkalian
|
/=
|
Assigment untuk pembagan
|
%=
|
Assigment untuk sisa bagi
|
Berikut contoh penggunaanya:
b
-= a; //sama dengan b = b – a
|
b
*= a; //sama dengan b = b * a
|
b
/= a; //sama dengan b = b / a
|
b
%= a; //sama dengan b = b % a
|
I. Opperator Modulus
(Sisa bagi)
Dalam java operator modulus (%) digunakan
untuk menentukan sisa bagi dari sebuah operasi pembagian bilangan bulat (integer) maupun bilangan riil
(floating-point).
Perhatian
contoh kode berikut:
int x = 13;
int y = 5;
int z = a % b;
|
Disini nilai z akan
bernilai 3.Nilai 3 ini berasal dari sisa pembagian variabel x dan y
yang menghasilkan nilai 2.Selanjutnya nilai
2 ini didkalikan 5 menghasilkan nilai 10,dan nilai 3 ini berasal dari 13
dikurangi 10.Dengan kata lain,3 adalah sisa bagi dari operasi pembagi 13/10.
II. Operator Increment
dan Decrement
Operator increment dan decrement digunakan
untuk menaikkan nilai operand dengan nilai 1,sedangkan decrement merupakan
kebalikanya,yaitu menurunkan nilai operand dengan nilai 1.Coba anda perhatikan
kode berikut:
x = x + 1;
|
Dapat ditulis dengan operator increment
yaitu seperti kode berikut:
x++;
|
Adapun untuk proses decrement:
x = x - 1;
|
Dapat ditulis dengan operator decrement
yaitu seperti kode berikut:
X--;
|
B.
Operator Relasional
Operator relasional adalah operator yang
menyatakan hubungan antara satu operand dengan
operand lainya; apakah sama dengan
,tidak sama dengan,lebih besar, lebih kecil, lebih kecil atau sama
dengan,ataukah lebih besar atau sama dengan.Hasil yang diberikan dari operasi
yang melibatkan operator relasional akan bernilai boolean (true
/ false).Tabel berikut ini menunjukkan daftar
operator relasional yang terdapat dalam Java.
Operator
|
Keterangan
|
==
|
Sama dengan
|
!=
|
Tidak sama dengan
|
>
|
Lebih besar
|
<
|
Lebih kecil
|
>=
|
Lebih besar atau
sama dengan
|
<=
|
Lebih kecil atau sama dengan
|
Operator == dan != dapat diterapkan ke tipe
apapun,baik numerik,karakter,maupun boolean.Adapun
keempat operator lainya hanya dapat digunakan untuk tipe numerik
dan char ,untuk mengetahui apakah suatu operand lebih besar atau lebih kecil
dari operand lainya.Perhatikan contoh
kode berikut:
int x = 5;
int y = 10;
boolean z = x > b;
|
Disini nilai z akan
bernilai False,karena pada kenyataanya nilai y lebih
besar dari nilai x.
Berikut ini contoh kode yang akan
menunjukkan penggunaan operator relasional didalam program.
public static void main(String[] args) {
// TODO code application logic here
int x = 5;
int y = 10;
System.out.println("x == y
bernilai " + (x == y ));
System.out.println("x != y
bernilai " + (x != y ));
System.out.println("x > y
bernilai " + (x > y ));
System.out.println("x < y
bernilai " + (x < y ));
System.out.println("x >= y
bernilai " + (x >= y ));
System.out.println("x == y
bernilai " + (x == y ));
}
}
|
Hasil yang akan dikeluarkan oleh program
diatas adalah sebagai berikut:
x == y bernilai false
x != y bernilai true
x > y bernilai false
x < y bernilai true
x >= y bernilai false
x == y bernilai false
|
C. Operator Logika
Opertor
boolean digunakan untuk melakukan
operasi terhadap dua operand yang
bertipe boolean.Hasil yang diberikan
pada operasi ini juga akan bertipe
boolean .Berikut ini
tabel yang menunjukkan operator boolean.
Operator
|
Keterangan
|
&&
|
Operasi AND
|
||
|
Operasi OR
|
^
|
Operasi XOR (Exclusive OR)
|
!
|
Operasi NOT (negasi)
|
Apabila terdapat dua operand bernilai
boolean (misalnya A dan B)dan keduanya digunakan dalam operasi AND,OR,XOR,dan
NOT,maka nilai-nolai yang dihasilkan sebagai berikut:
A
|
B
|
A && B
|
A || B
|
A ^ B
|
!A
|
True
|
True
|
True
|
True
|
False
|
False
|
True
|
False
|
False
|
True
|
True
|
False
|
False
|
True
|
False
|
True
|
True
|
True
|
False
|
False
|
False
|
False
|
False
|
True
|
Seprti yang tampak pada tabel diatas nilai
AND hanya akan menghasilkan nilai
true
apabila kedua operand (A dan B) bernilai true ;
operasi OR hanya akan menghasilkan nilai false apabila kedua operand bernilai false
;operasi XOR hanya akan menghasilkan nilai true apabila salah
satu operand –nya(bukan kedua-duanya)
bernilai true;sedangkan operasi NOT akan menghasilkan negasi atau kebalikan
dari nilai sebelumnya.
Berikut ini adalah program yang menunjukkan
nilai- nilai yang dihasilkan dari tabel di atas:
System.out.println("Operasi
AND");
System.out.println("true
&& true = " +(true&&true));
System.out.println("true
&& false = " + (true && false));
System.out.println("false
&& true = " + (false && true));
System.out.println("false
&& false = " + (false && false));
System.out.println("\nOperasi OR");
System.out.println("true || true
= " + (true || true));
System.out.println("true ||
false = " + (true || false));
System.out.println("false ||
true = " + (false || true));
System.out.println("false ||
false = " + (false || false));
System.out.println("\nOperasi
XOR");
System.out.println("true ^ true
= " + (true ^ true));
System.out.println("true ^ false
= " + (true ^ false));
System.out.println("false ^ true
= " + (false ^ true));
System.out.println("false ^ false =
" + (false ^ false));
System.out.println("\nOperasi
NOT");
System.out.println("!true = " + (!true));
System.out.println("!false = " + (!false));
}
}
|
Hasil
yang akan diberikan oleh program diatas
sebagai berikut:
Operasi AND
true && true =
true
true && false =
false
false && true =
false
false && false =
false
Operasi OR
true || true = true
true || false = true
false || true = true
false || false = false
Operasi XOR
true ^ true = false
true ^ false = true
false ^ true = true
false ^ false = false
Operasi NOT
!true = false
!false = true
|
D. Operator Bitwise
Operator bitwise digunakan untuk melakukan operasi boolean terhadap dua
buah operand bertipe integer.Operasi ini dilakukan bit demi bit.Dengan demikian
,secara implisit nilai integer tersebut akan dikonversi terlebih dahulu kedalam
bentuk biner.Dalam operasi ini,nilai true direpresentasikan dengan nilai 1 dan
false dengan nilai 0.Berikut ini daftar operator bitwise yang terdapat didalam
java
Berikut ini adalah daftar nilai yang akan dihasilkan oleh operator
&,|,^,dan.
A
|
B
|
A & B
|
A | B
|
A ^ B
|
A
|
1
|
1
|
1
|
1
|
0
|
0
|
1
|
0
|
0
|
1
|
1
|
0
|
0
|
1
|
0
|
1
|
1
|
1
|
0
|
0
|
0
|
0
|
0
|
1
|
Berikut adalah contoh penggunaan operasi Bitwise di java:
int x,y;
x= ~10;
System.out.println("Nilai Negasi
"+x);
short z= 17 & 30;
System.out.println("Nilai AND
"+z);
x= 17 | 30;
System.out.println("Nilai OR
"+x);
x= 17 ^ 30;
System.out.println("Nilai XOR
"+x);
x=111;
y= x >> 1;
System.out.println("Nilai geser
kanan "+x);
x=-111;
y= x >> 1;
System.out.println("Nilai geser
kanan neg "+x);
x= 111;
y= x >>> 1;
System.out.println("Nilai geser
kanan 1 bit 0 "+x);
x= -111;
y= x >>> 1;
System.out.println("Nilai geser
kanan 1 bit 0 neg "+x);
x= 111;
y= x << 1;
System.out.println("Nilai geser
kiri "+x);
x=1000;
y= x << y;
System.out.println("Nilai geser kiri
"+x);