Wednesday, April 11, 2018

Variabel Java



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).
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.

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);