Selasa, Agustus 19, 2014

Belajar Perulangan Menggunakan While Di Java

Artikel sebelumnya mendokumentasikan bagaimana saya belajar perulangan menggunakan for di Java, Dan sekarang seperti yang sudah sya katakan sebelumnya bahwa pada artikel ini saya sedang belajar perulangan dengan menggunakan while, While biasa di gunakan untuk membuat sebuah perulangan yang di gunakan saat kita tidak tahu berapa kali perulangan akan di eksekusi, namun kita mengetahui   kapan perulangan akan berhenti dari sebuah kondisi.Bentuk sintaks while sangat sederhana berbeda dengan perulangan menggunakan for. Perulangan while hanya memerlukan sebuah parameter boolean true atau false selama kondisi ini masih true maka perulangan akan terus di eksekusi. dan sebaliknya.



boolean ulang = true;
while(ulang){
System.out.println("perulangan akan di lanjut selama nilainya masih true");
}


Deangan  Melihat kode di atas kita bisa mengetahui bagaimana sih cara membuat sebuah perulangan dengan menggunakan while. Sintaks while di awali dengan keyword while lalu di ikuti oleh sebuah kondisi di dalam kurung buka ddan kurung tutup (kondisi).setelah itu ada pasangan kurung kurawal buka dan tutup nyang mana di dalamnya adalah kode yang akan di eksekusi selama perulangan berlanjut.

Kita akan membuat sebuah  contoh kecil yang akan mengambil nilai waktu sekarang, mengetes apakah waktu sekarang ini kalau dibagi 3 sisanya 0, selama tidak memenuhi kondisi di atas maka iterasi dijalankan terus menerus. Kode untuk contoh di atas adalah seperti berikut ini :


public class WhileTest {
 public static void main(String[] args) {
    while(System.currentTimeMillis() % 3 != 0) {
       System.out.println("waktu sekarang dibagi 3 masih ada sisanya");
    }
 }
}


Jumlah perulangan dalam kode di atas tidak akan menentu,terkadang iterasi bisa terjadi banyak kali, sedikit kali atau bahkan tidak terjadi iterasi sama sekali. Namun satu hal yang pasti saat perulangan berhenti berarti kondisinya adalah false

Namun adakalanya kita membutuhkan perulangan yang setidaknya di lakukan sekali saja, kita dapat menggunakan perulangan do while yang akan kita pelajari sama-sama pada pertemuan berikutnya, Kalau ada yang masih belum paham atau ingin menambahkan mari kita berdiskusi dan belajar bersama.

Label:

Sabtu, Agustus 16, 2014

Belajar Membuat Perulangan Dengan for di Java

Iterasi adalah suatu suatu intruksi perulangan yang ada di dalam semua bahasa pemrograman, salah satunya ialah java, Di dalam Java sendiri memiliki beberapa konsep perulangan, yaitu for, while dan do-while, for digunakan untuk melakukan iterasi kalau kita sudah mengetahui kapan perulangan itu akan berhenti,Di dalam penggunaan for ini kita menggunakan memerlukan tiga buah parameter di mana di dalamnya terdapat sebuah parameter awal atau bisa disebut sebagai parameter index,Parameter kedua adalah parameter yang akan memberikan limit atau batas akhir di mana perulangan itu akan berhenti,dan parameter yang terakhir adalah parameter yang berfungsi sebagai pengurang atau penambahan index perulangan untuk mencapai garis finish dalam sebuah perulangan.Jika kita ingin membuat sebuah perulangan dengan for maka wajib hukumnya untuk membuat parameter-parameter tersebut


for(parameter1;parameter2;parameter3){
//intruksi yang akan di ulang
}

Lihat kode di atas, cara membuat perulangan dengan for selalu di awali dengan keyword for,lalu di ikuti sebuah kurung buka dan kurung tutup dimna di dalamnya terdapat sebuah parameter index, sebuah parameter limit, sebuah parameter penambahan atau pengurangan, ketiga parameter tersebut harus di pisahkan dengan titik koma (;). setelah membuat parameter tersebut maka buatlah sebuah perintah atau kode yang akan di ulang didalam sebuah kurung awal dan kurung tutup. Lihat Contoh Di bawah.


public class LatihanPerulangan{
public static void main(String[] args){
String hello = "hello";
for(int i=0; i<10; i++)//parameter
{
System.out.println(hello+i);//kode yang akan di ulang
}//akhir dari for
}
}

Dari kode di atas maka hasilnya akan membuat aplikasi melakukan perulangan intruksi System.out.println(hello) yang di mulai dari i
sampai i<10, sedangkan parameter i++ berfungsi sebagai intruksi bagaimana variable i akan bertambah, hasil dari kode di atas adalah sebagai berikut:

hello0    
hello1
hello2
hello3
hello4
hello5
hello6
hello7
hello8
hello9
hello10 tidak akan di tampilkan, kenapa? karna perulangan akan di lakukan kalau i<10 bernilai true, jika false maka perulangan akan berhenti. Kode diatas adalah contoh iterasi atau perulangan secara bertambah atau maju.Lalu bagaimanacara jika kita ingin melakukan iterasi secara menurun atau mundur?coba kita perhatikan kode di bawah secara bersama-sama.

public class LatihanPerulanganMenurun{
public static void main(String[] args){
String mundur="mundur";
for(int i = 9 ; i>=0;i--)
{
System.out.println(mundur + " ke " + i)
}
}
}

Maka hasilnya akan seperti ini

mundur ke 9
mundur ke 8
mundur ke 7
mundur ke 6
mundur ke 5
mundur ke 4
mundur ke 3
mundur ke 2
mundur ke 1
mundur ke 0

Perulangan akan berhenti setelah i mencapai nilai 0,
Saya kira sampai di sini dulu ah belajarnya nanti kalau ada waktu kita sama-sama belajar lagi,:D

update::  Belajar Perulangan while di sini

Label:

Selasa, Agustus 12, 2014

Menghandle Error Pada Kode

Aplikasi biasanya tidak pernah berjalan mulus 100% setiap waktu, Adakalanya kita harus sudah mempersiapkan segala sesuatunya untuk menghandle saaat dimana aplikasi kita mengalami kondisi yang tidak di inginkan, Bayangkan jika koneksi ke database tiba-tiba putus, input atau output yang terputus, ataupun eror – eror yang di buat sengaja oleh pengguna untuk mencari celah keamanan aplikas apakah kita sudah memikirkannya?. Kode yang ditulis untuk menghandle masalah dan membuat aplikasi yang bisa mengatasi kondisi apapun, menjadi salah satu hal yang paling dalam membuat aplikasi. 

Namun di java kita sudah di sediakan feature penanganan kesalahan yang handal, elegan, mudah digunakan dan tepat sasaran.Feature ini di sebut dengan Exception Handling, dengan feature ini kita tidak perlu repot-repot mengetest hasil kembalian dari suatu fungsi untuk mengetahui apakah ada error atau tidak dengan begitu pengecekan kesalan bisa lebih mudah. 

Sintaks Exception Try,catch,finally,throw dan throws adalah keyword yang di gunakan dalam exception handling. Contoh Penggunaan try dan catch:
try {

//masukan intruksi yang berpotensi mengalami exception di sini
//jika terjadi keslahan di blok ini maka akan
//di handle 


}

Catch(ClassExceptin variableekception){

//jika terjadi kesalahan saat mengeksekusi kode 
//di dalam try
//lakukan sesuatu apa yang akan di lakukan

} 

Kode di dalam try{} adalah kode yang akan melempar Exception (throw) kalau kode di dalamnnya berjalan normal dan tidak ada Exception yang terjadi, eksekusi akan sampai ke baris terakhir, tapi sebaliknya jika terjadi exception maka akan di lempar dan menghentikan semua proses eksekusi kode yang ada di dalam block try{} dan segera mengeksekusi kode Handling yang ada di dalam blok catch Catch(ClassExceptin variableekception){}. Sebuah try{} bisa memiliki lebih dari satu exception yang berbeda. Kode try{} ini juga bisa di buat secara bertumpuk atau try di dalam try. Perhatikan Berikut: 

try{
  
//didalam try bisa di letakan try lagi
              try{

              //try di dalam try
    
              } catch(ClassException variable){
     
               }

}catch(ClassException variable1){

      ///lakukan sesuatu disini

}catch(ClassException variable2){

          //lakukan sesuatu

}

Sintaks exception berikutnya adalah try-catch-fnally. Ada tambahan satu blok kode lagi, yaitu finally. Kalau kode di dalam try menimbulkan exception maka kode akan loncat ke dalam blok kode di catch, sedangkan kode di dalam fnally akan selalu dieksekusi baik exception terjadi di dalam try atau tidak. Kode yang ada dalam finally biasanya adalah kode untuk melepaskan resource, membersihkan variable yang sudah tidak dipake lagi, bisa dibilang kode di fnally itu digunakan untuk bersih bersih aplikasi agar tidak menggunakan resource yang sudah tidak diperlukan lagi. Sintaksnya adalah seperti di bawah ini. 


try {
//kode yang ada exception

} catch (ExceptionPertama ex){

//handle exception dengan tipe ExceptionPertama

} catch (ExceptionKedua ex){

//handle exception dengan tipe ExceptionKedua

} finally{

//bersihkan resource yang dipakai, baik terjadi exception ataupun tidak

}


try bisa langsung diikuti oleh fnally tanpa adanya catch sama sekali, hal ini bisa dilakukan kalau di dalam try exception yang terjadi adalah unchecked exception. Artinya, exceptionya tidak wajib ditangkap (catch), loh kalau tidak ditangkap apa yang terjadi? Yang terjadi adalah konsep yang disebut dengan uncaught exception atau exception yang tidak tertangkap yang pada akhirnya menyebabkan aplikasi berhenti berjalan

Label:

Minggu, Agustus 10, 2014

Kontrol Aliran Data

Dalam sebuah aplikasi kontrol aliran eksekusi menjadi  feature yang paling penting di hampir semua bahasa pemrograman. Namun di Java sendiri ada beberapa cara untuk melakukkan kontrol terhadap aliran eksekusi dari sebuah aplikasi. Contohnya adalah if dan Switch, keduanya adalah kontrol yang paling sering di gunakan dalam membuat aplikasi java. Namun selain itu di Java juga memiliki mekanisme Exception yang bisa mempengaruhi aliran eksekusi.






if 
=> Intruksi if di gunakan  untuk mengatur aliran eksekusi dengan berdasarkan pada kondisi tertentu. Biasanya penggunaan if selalu melibatkan operator kondisi.
//contoh penggunaan if 
int nilai = 8;
if(nilai > 8) //operator kondisi
{ ///tanda awal kode yang akan di eksekusi jika kondisi di atas adal true
System.out.println("Sangat Baik"); //lakukan sesuatu di sini
} //akhir

=> Penggunaan if juga dapat di rangkai untuk mengecek beberapa kondisi dengan menggunakan perintah else if
int nilai = 8;
if(nilai > 8){
System.out.println("Sangat Baik"); //lakukan sesuatu di sini
}
else if(nilai > 6){
System.out.println("Baik"); //lakukan sesuatu di sini
}
else if(nilai > 4){
System.out.println("cukup"); //lakukan sesuatu di sini
}

=> if juga biasanya di gabungkan dengan else dimana perintah else ini akan di eksekusi jika kondisi yang ada di dalam if bernilai false

int nilai = 8;
if(nilai > 8){
System.out.println("Sangat Baik"); //lakukan sesuatu di sini
}
else if(nilai > 6){
System.out.println("Baik"); //lakukan sesuatu di sini
}
else if(nilai > 4){
System.out.println("cukup"); //lakukan sesuatu di sini
}
else{
System.out.println("kurang"); //lakukan sesuatu di sini
}

=>Penggunaan if secara bertumpuk

int nilai = 8;
if(nilai > 8){
     if (nilai == 9){
     System.out.println("Sangat Baik"); //lakukan sesuatu di sini
     }
     else if(nilai == 10){
     System.out.println("Sangat Baik Sekali"); //lakukan sesuatu di sini
     }
}
else if(nilai > 6){
    if (nilai == 7){
     System.out.println("Baik"); //lakukan sesuatu di sini
     }
     else if(nilai == 8){
     System.out.println("Bagus"); //lakukan sesuatu di sini
     }
}
else if(nilai > 4){
    if (nilai == 6){
     System.out.println("cukup"); //lakukan sesuatu di sini
     }
     else if(nilai == 5){
     System.out.println("hampir cukup"); //lakukan sesuatu di sini
     }
}
else{
  if (nilai == 4){
     System.out.println("kurang"); //lakukan sesuatu di sini
     }
     else if(nilai == 3){
     System.out.println("sangat kurang"); //lakukan sesuatu di sini
     }
    else if(nilai == 2){
     System.out.println("buruk"); //lakukan sesuatu di sini
     }
    else if(nilai == 1){
     System.out.println("sangat buruk"); //lakukan sesuatu di sini
     }
}
Switch
Switch biasanya digunakan kalau kita ingin mengevaluasi nilai dari sebuah variabel yang mempunyai banyak kemungkinan. Bentuk sintaks switch lebih singkat dan bersih dibanding kalau menggunakan if-else if-else. Hingga Java 6 switch hanya bisa digunakan kalau variabelnya bertipe angka atau enum. Berikut ini bentuk dasar dari switch :
int nomor = 5;
switch(nomor){
case 1:
System.out.println("satu");
break;
case 2:
System.out.println("dua");
break;
case 3:
System.out.println("tiga");
break;
default:
System.out.println("bukan semuanya");
}
Dalam switch terdapat konsep yang disebut denga fall-through, konsep ini kalau kita bayangkan mirip dengan efek domino, kalau kartu pertama rubuh akan menimpa kartu berikutnya menimpa kartu berikutnya lagi seterusnya hingga ada yang menghentikan efek dominonya. Lihat kode di atas, terdapat keyword break yang digunakan untuk menghentikan fall-through. Kalau kita hilangkan break dari kode di atas, maka kalau ada satu kondisi dari case yang dipenuhi maka kode di dalam case di bawahnya akan terus dieksekusi hingga ketemu break atau blok kode switch berakhir. Agar memudahkan pemahaman tentang fall-through ini, coba buat kode seperti di bawah ini dan coba eksekusi kodenya:
public class FallThrough{
public static void main(String[] args){
int x = 1;
switch(x){
case 1 : 
System.out.println("satu");
case 2 : 
System.out.println("dua fall-through");
case 3 : 
System.out.println("tiga fall-through");
case 4 : 
System.out.println("empat fall-through");
default :
System.out.println("default fall-through");
}
}
}
Hasil nya:
$ javac FallThrough.java
$ java FallThrough
satu
dua fall-through
tiga fall-through
empat fall-through
default fall-through
$
Perhatikan bahwa setelah kondisi di case benar, maka semua kode di dalam case akan dieksekusi hingga ketemu break atau blok kode switch berakhir. Kalau kita ubah sedikit kode di atas dengan meletakkan break di dalam case 1 seperti di bawah ini :
public class FallThrough{
public static void main(String[] args){
int x = 1;
switch(x){
case 1 : 
System.out.println("satu");
break; //stop fall-through dan keluar dari switch
case 2 : 
System.out.println("dua fall-through");
break;
case 3 : 
System.out.println("tiga fall-through");
break;
case 4 : 
break;
System.out.println("empat fall-through");
default :
System.out.println("default fall-through");
}
}
}
Hasilnya:
$ javac FallThrough.java
$ java FallThrough
satu
$
if dan switch adalah flow control yang digunakan kalau aplikasi berjalan dengan baik, artinya flow control oleh  if  dan  switch  digunakan  untuk  mengendalikan  aliran  eksekusi  aplikasi  kalau  selama berjalan seperti yang dikehendaki. Java mempunyai cara untuk mengontrol aliran aplikasi kalau terjadi error di dalam aplikasi, namanya adalah exception. Kita belajar apa itu exception di artikel berikutnya.

Label:

Rabu, Agustus 06, 2014

Operator Aritmatik

Setelah kemarin kita belajar tentang Operator Penugasan, Operator Relasi, Operator InstanceOf, Sekarang kita akan melangkah ke Operator yang tidak kalah penting dari operator-operator yang lain yang ada di dalam Bahasa pemrograman JAVA. Operator ini mungkin tidak asing lagi bagi kita, karena sejak mulai dari bangku sekolah dasar operator ini sudah ki kenal, Yah benar Operator ini adalah Operator Aritmatika yang sering kita gunakan dalam perhitungan di pelajaran Matematika.
+ penambahan
- Pengurangan
* Perkalian
/ Pembagian
x = 10 + 5 //hasilnya adalah 15
y = 17 - 3 //hasilnya adalah 14
z = 20 * 10 //hasilnya adalah 200
w = 20 / 2  //hasilnya adalah 10
Namun di JAVA juga mengenal operator modulus (%) atau operator bagi sisa, misalkan x = 5 % 2 , artinya variable x adalah sisa 5 di bagi 2 yaitu 1, Perhatikan Contoh Di Bawah.
x = 10 % 5 //hasilnya adalah 0
y = 17 % 3 //hasilnya adalah 2
z = 20 % 10 //hasilnya adalah 0
w = 5 % 2 //hasilnya adalah 1
Operator tambah (+) selain untuk penambahan bilangan operator tambah ini bisa digunakan untuk penggabungan String atau biasa di sebut String Concatenation
String s = “ini”;
String c = “adalah”;
String r = “String”;
String tambah =”ini” + “adalah”+”String”;
System.out.println(s+c+r+”\n”+tambah);

Java juga mengenal operator increment dan decrement : • ++ increment (postfix dan prefix) • -- decrement (postfix dan prefix) Kedua operator ini disebut juga unary operator, karena hanya membutuhkan satu operand saja, sedikit berbeda dengan operator aritmatik lain yang membutuhkan dua buah operand. Operator increment akan menambahkan nilai dari operand sebesar satu satuan, sedangkan decrement akan mengurangi nilai dari operand sebanyak satu satuan. Kedua operator ini adalah bentuk lebih pendek lagi dari operator gabungan (+= dan -=).
int x = 5;
//contoh penggunaan aritmatik sederhana 
x = x + 5;  //ini dalah bentuk penggunaan aritmatik biasa

//contoh penggunaan operator +=
x +=5; //maka ini hasilnya adalah 10 jika nilai awal x adalah 5 

//contoh penggunaan operator increment atau penambahan otomatis
 X ++; //maka jika nilai awal x adalah 5 maka hasil dari x++ adalah 5 + 1 

Label:

Selasa, Agustus 05, 2014

Operator InstanceOf

Operator InstanceOf adalah operator yang di gunakan untuk membandingkan apakah sebuah objek yang di sebelah kiri merupakan objek hasil instansiasi dari objek sebelah kanan, jika ya maka hasilnya adalah true. Operator InstanceOf hanya dapat digunakan untuk membandingkan dua buah type data reference. Coba Perhatikan Contoh Di Bawah:
If(Framex instanceof JFrame){
///Lakukan Sesuatu Jika TRUE
}

Contoh Lain :
///conth Sederhana
String kata = “ini kata”;
If(kata instanceof String){
//Lakukan Sesuatu Disini

Operator InstanceOf  akan menyebabkan eror saat dikompilasi jika kedua buah data tersebut tidak saling berhubungan, mari kita lihat contoh di bawah.

//
String x = "ini string bukan Integer";

if (x instanceof Integer){ //maka disini akan terjadi eror

}
//
Operator InstanceOf biasanya di gunakan saat kita akan melakukan Downcast dari Subtype ke SuperType agar tidak terjali ClasCastException.

Label:

Senin, Agustus 04, 2014

Operator Relasi

Setelah kemarin kita belajar tentang Opertor Assigment(Penugasan) nah selanjutnya kita akan sama-sama belajar tentang Operator Relasi atau kalau menurut saya sendiri  ini adalah operator pembanding, kenapa? ya karna operator relasi selalu menghasilkan data boolean (TRUE/FALSE).

Penggunaan operator relasi ini paling banyak di gunakan untuk atau sering di tempatkan di sebuah percabangan/condition (if).

contoh penggunaan :

///di Assign ke dalam type data Operator Penugasan Boolean
int x = 110;
boolea bol = x  > 100;
// makan nilai boolean bol diatas adalah true 
//karena nilai x lebih dari 100


int x = 100;

if(x > 100){
//jika nilainya  TRUE
//lakukan sesuatu di sini

} 

Beberapa Operator Relasi/Pembanding:

Operator Pembanding

Operator Relasi >,<,>=,<= bisa digunakan untuk semua type data Bilangan Bulat, Bilangan Pecahan dan karakter (char) Baik dalam bentuk Variable maupun dalam bentuk Literal, Namun untuk Operator Relasi (==) dan (!=) semua type data bisa menggunakan Operator Relasi ini.

Namun harus diperhatikan ketika kita ingin membandingkan Type data Float atau Type Data Double karena ke dua type data ini adalah type data pecahan, kita hanya bisa membandingkan sampai sekian angka di belakang koma saja.

 Operator Relasi ini akan menjadi sangat kompleks jika di gunakan untuk membandingkan nilai dari type data reference.Perlu kita ketahui ketika kita dua buah type data reference  maka akan di sebut sebanding jika keduanya memiliki alamat yang sama atau dapat dipasikan bahwa ke dua data tersebut merujuk ke objek yang sama di dalam memory. Hati-hati menggunakan operator perbandingan terhadap type data wrapper class.

//penggunaan operator relasi pada wrapper class
Integer wrap = new Integer(1);
Integer  per = new Integer(1);
System.out.println(wrap == per);

//maka output kode ini akan menghasilkan nilai FALSE


Kenapa Demikian?
Karena variable wrap dan variable per di atas kedua-duanya menggunkan keyword new Integer() yang berarti kedua variable tersebut masing-masing membuat sebuah objek yang baru dan berbeda alamat satu sama lain.


//penggunaan operator relasi pada wrapper class
Integer wrap = 1;
Integer  per = 1;
System.out.println(wrap == per);

//maka output kode ini akan menghasilkan nilai TRUE

Kedua variable tersebut memiliki alamat/objek yang sama di dalam memory maka kembalian nilainya adlah true.

Label:

Sabtu, Agustus 02, 2014

Casting Explisit dan Implisit

Casting adalah proses pertukaran data antar type data yang berbeda, Casting dapat dilakukan dengan cara Implisit yaitu memasukan nilai dari type data yang lebih kecil ke type data yang lebih besar.


//Contoh Penggunaan Casting Secara Implisit

byte x = 5;
int y = x;

//hasil nya adalah y = 5
//nilai x yang di masukan kedalam variabl y tidak akan berubah
//karna type data int lebih besar daripada type data byte


Cara Kedua adalah Casting Secara Explisit dimana ketika type data yang lebih besar di masukan kedalam type data yang lebih kecil, Dalam penerapanya memerlukan kode tambahan . Perhatikan Contoh Dibawah.


//contoh penerapan Casting Secara Explisit


int x = 100;
byte y = (byte)x;

//contoh di atas tidak akan mengalami pemotongan nilai 
//walaupun type data int lebih besar dari type data byte tetapi
//nilai 100 yang diberikan masih dalam jangkauan type data byte

//Contoh Penerapan Casting Secara Explisit

int x = 900;
byte y = (byte) x;


//nilai variable y tidak akan 900 karena nilai variable x yang di berikan ke variable y di luar cakupan type data y yaitu byte
//type data byte hanya mampu menampung nilai sampai 127 saja
//kalau ingin tahu hasilnya silahkan di coba

Label:

Operator Assignment (Penugasan)

Operator  Assignment (Penugasan)  memiliki dua buah operand, operan sebelah kiri dan operand sebelah kanan, dengan catatan operand sebelah kiri harus berupa sebuah variable ataupun objek, Sedangkan operand sebelah kanan bisa di isi dengan nilai (value) atau bisa juga sebuah variable atau objek. 
  
Ada Beberapa hal penting yang harus diperhatikan dalam penggunaan operator  assignment  ini,

• Jika  tipe  data  variabel  adalah  primitif,  ukuran  data  sangat  berpengaruh  terhadap  hasil
operasi.  Pastikan  anda  mengetahui  proses  casting  secara  implisit  atau  explisit,  kalau
proses casting terjadi secara eksplisit pastikan bahwa nilai datanya berada dalam rentang
nilai variabel  di sebelah kiri, karena casting secara eksplisit  akan  memotong data sesuai
ukuran variabel di sebelah kiri.

• Tipe  data  reference  bukan  merupakan  object,  tetapi  alamat  dimana  object
sebenarnya  berada.  Ketika  kita  melakukan  assigment  ke  variabel  dengan  tipe  data
reference, yang terjadi  adalah proses  pengcopyan alamat  object dari operand  di sebelah
kanan ke operand di sebelah kiri, sedangkan objectnya sendiri tetap satu, setelah operasi
selesai maka kedua operand akan merujuk ke alamat object yang sama. Kalau anda sudah
belajar  C/C++  konsep  ini  disebut  dengan  pointer,  tetapi  jangan  salah,  di  java  konsep
pointer tidak dikenal, yang dikenal adalah konsep reference.



Label: