Queue pada Java

Queue (antrian) adalah struktur data dimana data yang pertama kali dimasukkan adalah data yang pertama kali bisa dihapus. Atau bisa juga disebut dengan struktur data yang menggunakan mekanisme FIFO (First In First Out).

Queue dalam kehidupan sehari-hari seperti antrian pada penjualan tiket kereta api, dimana orang yang pertama datang adalah orang yang pertama kali dilayani untuk membeli tiket. Jika ada orang baru yang datang akan membali tiket, maka posisinya berada pada urutan paling belakang dalam antrian tersebut. Orang yang berada pada posisi terakhir dalam antrian adalah yang terakhir kali dapat dilayani dan memperoleh tiket kereta api (kalau kurang beruntung, maka akan kehabisan tiket). Contoh lain adalah nasabah yang antri di teller bank, paket data yang menunggu untuk ditransmisikan lewat internet,
antrian printer dimana terdapat antrian print job yang menunggu giliran untuk menggunakan printer, dsb.
Fungsi dalam Queue:
  • Fungsi init : digunakan untuk membuat queue baru atau kosong, yaitu dengan memberi nilai awal (head) dan nilai akhir (tail) dengan -1.
  • Fungsi full: digunakan untuk mengetahui apakah queue sudah penuh atau belum. Dilakukan dengan memeriksa nilai akhir (tail) apakah sudah sama dengan maksimal queue.
  • Fungsi empty: digunakan untuk mengetahui apakah queue masih kosong atau tidak. Dilakukan dengan memeriksa nilai akhir (tail) bernilai -1 atau tidak.
  • Fungsi enqueue : digunakan untuk menambahkan elemen ke dalam queue.
  • Fungsi dequeue : digunakan untuk mengambil elemen dari queue, dengan cara memindahkan semua elemen satu langkah ke posisi depannya sehingga elemen yang paling depan tertimpa.
  • Fungsi clear : digunakan untuk menghapus semua elemen dalam queue. Ada dua cara yang bisa digunakan, yaitu menuliskan fungsi seperti inisialisasi atau memanggil fungsi remove sampai queue kosong.
    Istilah-istilah yang digunakan dalam queue (antrian)
    Memasukkan data (insert) disebut juga dengan put, add, atau enqueue.
    Menghapus data (remove) biasa disebut dengan istilah delete, get, atau dequeue.
    Bagian belakang queue, dimana data bisa dimasukkan disebut dengan back, tail (ekor), atau end (akhir).
    Sedangkan bagian depan (front) queue dimana data bisa dihapus juga biasa disebut dengan istilah kepala (head).
    Circular Queue
    Di dunia nyata apabila seseorang sedang mengantri (misalnya antri tiket kereta api), apabila telah dilayani dan memperoleh tiket, maka ia akan keluar dari antrian dan orang-orang yang berada di belakangnya akan bergerak maju ke dapan. Kita bisa saja menggerakkan setiap item data ke depan apabila kita menghapus data yang terdepan, tetapi hal ini kurang efektif. Sebaliknya kita tetap menjaga setiap item data di posisinya, yang kita lakukan hanyalah merubah posisi front dan rear saja.

    Yang menjadi permasalahan adalah apabila posisi rear berada pada bagian akhir dari array (atau pada nomor indeks yang terbesar). Meskipun ada bagian yang kosong di awal-awal array – karena mungkin data telah dihapus, data baru tidak bisa dimasukkan lagi karena rear-nya sudah tidak bisa bergerak lagi. Atau mungkinkah posisi rear nya bisa berpindah?

Queue.java
class Queue
{
private int maxSize;
private long[] queArray;
private int front;
private int rear;
private int nItems;
//————————————————————–
public Queue(int s)          // konstruktor
{
maxSize = s;
queArray = new long[maxSize];
front = 0;
rear = -1;
nItems = 0;
}
//————————————————————–
public void insert(long j)   // letakkan item (data) di posisi belakang dari queue
{
if(rear == maxSize-1)         //
rear = -1;
queArray[++rear] = j;         //naikkan rear dan masukkan item (data) pada posisi rear yang baru
nItems++;                     //tambah satu item lagi
}

//————————————————————–

public void insert(long j)   // letakkan item (data) di posisi belakang dari queue
{
if(rear == maxSize-1)         //
rear = -1;
queArray[++rear] = j;         //naikkan rear dan masukkan item (data) pada posisi rear yang baru
nItems++;                     //tambah satu item lagi
}

//————————————————————–
public long remove()         // hapus item (data) yang berada pada posisi front
{
long temp = queArray[front++]; //dapatkan nilainya dan naikkan front
if(front == maxSize)           //
front = 0;
nItems–;                      // item (data) berkurang satu
return temp;
}
//————————————————————–
public long peekFront()      //
{

return queArray[front];
}
//————————————————————–
public boolean isEmpty()    //benar jika queue-nya kosong
{
return (nItems==0);
}
//————————————————————–

public boolean isFull()     // benar jika queue-nya penuh
{
return (nItems==maxSize);
}
//————————————————————–
public int size()           // jumlah ietm (data) dalam queue
{
return nItems;
}
//————————————————————–
}  // end class Queue

QueueApp.java
class QueueApp
{
public static void main(String[] args)
{
Queue theQueue = new Queue(5);  // queue menampung 5 item (data)
theQueue.insert(10);            // masukkan 4 item (data)
theQueue.insert(20);
theQueue.insert(30);
theQueue.insert(40);
theQueue.remove();              // hapus 3 item (data)
theQueue.remove();              //    (10, 20, 30)
theQueue.remove();
theQueue.insert(50);            // masukkan 4 item (data) lagi
theQueue.insert(60);            //    (wraps around)
theQueue.insert(70);
theQueue.insert(80);
while( !theQueue.isEmpty() )    // hapus dan tampilkan
{                            //    all items

long n = theQueue.remove();  // (
System.out.print(n);
System.out.print(“ “);

}
System.out.println(“”);
}  // end main()
}  // end class QueueApp
method insert()
Method insert() mengasumsikan bahwa queue tidak penuh (full). Kita tidak melihatnya dalam main(), tetapi kita bisa memanggil insert() hanya setelah memanggil isFull() dan memperoleh nilai kembalian yang salah. Pengisian data dengan cara menaikkan rear dan mengisikan data baru tersebut pada rear yang baru sekarang. Tetapi, jika rear berada di puncak array, pada maxSize-1, maka harus kembali ke posisi terbawah array sebelum penyisipan dilakukan. Caranya dengan memberi nilai rear=-1, sehingga jika terjadi kenaikan pada pada rear, maka rear akan menjadi 0, dasar dari array. Dan akhirnya, nItem bertambah.
Method remove()
method remove mengasumsikan queue-nya tidak kosong. Untuk meyakinkan bahwa queue-nya tidak kosong, anda harus memanggil method isEmpty(). Penghapusan selalu dimulai dengan memperoleh nilai pada front dan kemudian mengurangi front. Jika front-nya terletak pada akhir array, maka harus kembali ke 0. Kemudian nItems dikurangi.
Posted in Uncategorized | Leave a comment

stack

Stack adalah salah satu struktur data yang memiliki sistem kerja Last In First Out (LIFO), yang terakhir masuk pertama keluar. Dapat di ilustrasikan seperti sebuah tumpukan buku, ketika mengambil sebuah buku di dalam tumpukan itu maka harus diambil satu persatu dari buku yang paling atas dari tumpukan buku tersebut.  Sebuah stack hanya dapat ditambahkan dan dikurangi elemennya hanya dari satu sisi yakni elemen atasnya atau biasa disebut Top Of Stack.


Fungsi dalam Stack:
  • Fungsi init: fungsi yang digunakan untuk inisialisasi atau membuat stack baru yang masih kosong.
  • Fungsi full: digunakan untuk mengetahui stack penuh atau tidak.
  • Fungsi empty: digunakan untuk mengetahui stack kosong atau tidak.
  • Fungsi clear: digunakan untuk mengosongkan stack. Stack dianggap kosong apabila puncak stack berada pada posisi -1.
  • Fungsi push: digunakan untuk menambahkan data ke dalam stack. Penambahan data tidak bisa dilakukan apabila stack sudah penuh. Urutan perintahnya adalah: menambahkan nilai top dan menambahkan data pada posisi nilai top. Jika dalam Linked List menggunakan method addLast
  • Fungsi pop: digunakan untuk mengeluarkan data teratas stack dengan syarat bahwa stack tidak kosong. Urutan perintahnya adalah : menghapus data pada posisi nilai top dan menurunkan nilai top. Jika dalam Linked List menggunakan method removeLast.Penggunaan STACK :
    * Perhitungan ekspresi aritmatika (posfix)
    * algoritma backtraking (runut balik)
    * algoritma rekursif


    (cites from http://id.wikipedia.org/wiki/Stack_%28struktur_data%29)

 

Ilustrasi :
Misalnya dalam stack ada data A,B,C,D secara berurutan mulai dari bawah (Ascending). >> Jika ingin mengeluarkan data A, maka proses yang dilakukan : POP D –>POP C –> POP B –> POP A
>> Jika ingin memasukkan data E dibawah B, maka proses yang dilakukan adalah : POP D –> POP C –> POP B –> PUSH E

COMMON ERROR :
1. Jika kondisi stack dalam keadaan sudah penuh kemudian di-PUSH, maka akan terjadi Blue Screen
2. Jika kondisi stack dalam keadaan kosong kemudian di-POP, maka akan terjadi looping tanpa henti.

CODE
Ada 2 class yang digunakan untuk program STACK dengan paradigma OOP ini. Yang pertama Main dan Stack

CODE MAIN.JAVA

import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int pilihan;
int data;
Stack result = new Stack();
//looping until false condition
do{
//Displaying Menu
System.out.println(“1. PUSH Item”);
System.out.println(“2. POP Item”);
System.out.println(“3. Lihat Isi Data”);
System.out.println(“0. Keluar”);

Scanner input = new Scanner(System.in);
System.out.println(“Masukkan Pilihan :”);
pilihan = input.nextIntresult.push(data);
}
else if(pilihan==2){
result.pop();
}
else if(pilihan==3){
result.Display();
}
else if(pilihan==0){
System.exit(0);
}
else{
System.out.println(“Pilihan Tidak Ada!!”);
}//end of condition

} while(pilihan!=0);//end looping

 

}
}

 

CODE STACK.java

 

class Stack {
private boolean empty,full;
private int pos;//menujukkan tempat kosong
private int max_data = 100;
private int item [] = new int[max_data];

 

public Stack(){
full = false;
empty = true;
pos = 0;
}//end of constructor

 

//method isFull
public boolean isFull(){
return(full);
}//end of isFull method

 

//method isEmpty
public boolean isEmpty(){
return(empty);
}//end of isEmptyl method

 

//method push
public void push(int data){
if(!isFull()){
item[pos++] = data;
empty = false;
if(pos == max_data) full = true;
System.out.println(“Data sudah ditambahkan”);
}
else{
System.out.println(“Stack sudah penuh”);
}
return;
}//end of push method

 

//method pop
public int pop(){
int x = 0;
if(!isEmpty()){
x = item[–pos];
full = false;

 

System.out.println(“Data yang di POP adalah :” + item[pos]);
System.out.println(“”);
item[pos]=0;

 

if(pos==0)empty = true;
else{
System.out.println(“Stack Kosong!”);
}
}else{
System.out.println(“Stack Masih Kosong!\n”);
}
return(x);
}//end of pop method

 

//method Display
public void Display(){
System.out.println(“Isi Stack Adalah : “);

 

//printing list item
for(int i=0; i<pos; i++){
System.out.print(item[i]+” “);
}

 

System.out.println(“\n”);
}//end of Display

 

}

 

 

Posted in Uncategorized | Leave a comment

operasi Array

adalah suatu konsep penyimpanan data yang mana dapat menampung data dengan type yang sama dalam elemen/ index jumlah yang banyak. Array dapat diimplementasikan kedalam banyak kasus problematika. Misal, untuk menyelesaikan suatu Sistem persamaan Linear dibutuhkan matrix yang merupakan representasi dari array 2 dimensi. Array multidimensi , juga dibutuhkan untuk merepresentasikan koordinat benda 3 dimensi dalam bidang cartesius.

Operasi array ada 2 yaitu, operasi store/ simpan dan retrieve/ pengambilan data.

Contoh operasi store :

array[3]=5

  • Berarti nilai 5 dimasukkan ke dalam variable elemen ke – 3 dalam variable array

Contoh operasi retrieve :

int x=array[3]

  • Berarti, variable x mengambil data dari variable array elemen ke – 3

Cara mendeklarasikan array dalam java adalah sbb :

tipedata [N] nama=new tipedata[N];

ex : int [10] arrayint=new int[10];

artinya variable arrayint merupakan array dalam bentuk integer dengan jumlah elemen 10

Contoh program matrix dalam java menggunakan konsep OOP

class awal{
protected int [][] mat1;
protected int [][] mat2;
protected int [][] matsum,matmulti,matmin;
protected int bar1,kol1,bar2,kol2;
public Scanner dataIn=new Scanner(System.in);
public void setBar1(int bar1){
this.bar1=bar1;
}
public int getBar1(){
return bar1;
}
public void setKol1(int kol1){
this.kol1=kol1;
}
public int getKol1(){
return kol1;
}
public void setBar2(int bar2){
this.bar2=bar2;
}
public int getbar2(){
return bar2;
}
public void setKol2(int kol2){
this.kol2=kol2;
}
public int getKol2(){
return kol2;
}
}
class konstruksi extends awal{
public konstruksi(int bar1,int kol1,int bar2, int kol2, int  barhasil,int kolhasil){
mat1=new int[bar1][kol1];
mat2=new int[bar2][kol2];
matsum=new int[barhasil][kolhasil];
matmin=new int[barhasil][kolhasil];
matmulti=new int[barhasil][kolhasil];
}
public void isiMatrix1(){
System.out.println("pengisian matrix ke 1");
for(int a=0;a<bar1;a++){
for(int b=0;b<kol1;b++){
System.out.print("masukkan isi Matrix 1 elemen  ke["+a+1+","+b+1+"]=");mat1[a][b]=dataIn.nextInt();
}
}
}
public void cetakMatrix1(){
System.out.println("matrix ke 1");
for(int a=0;a<bar1;a++){
for(int b=0;b<kol1;b++){
System.out.print(mat1[a][b]+" ");
}
System.out.println();
}
}
public void isiMatrix2(){

System.out.println("pengisian matrix ke 2");

for(int a=0;a<bar1;a++){
for(int b=0;b<kol1;b++){
System.out.print("masukkan isi Matrix 1 elemen  ke["+a+1+","+b+1+"]=");mat2[a][b]=dataIn.nextInt();
}
}
}
public void cetakMatrix2(){
System.out.println("matrix ke 2");
for(int a=0;a<bar1;a++){
for(int b=0;b<kol1;b++){
System.out.print(mat2[a][b]+" ");
}
System.out.println();

}
}
public void penjumlahan(){
if(bar1!=bar2){
System.out.println("ordo antar kedua matrix berbeda");
}
else{
for(int a=0;a<bar1;a++){
for(int b=0;b<kol1;b++){
matsum[a][b]=mat1[a][b]+mat2[a][b];
}
}
}

//cetak ha

sil jumlah
System.out.println("hasil penjumlahan ");
for(int a=0;a<bar1;a++){
for(int b=0;b<kol1;b++){
System.out.print(matsum[a][b]+" ");
}
System.out.println();
}
}
public void pengurangan(){
if(bar1!=bar2){
System.out.println("ordo antar kedua matrix berbeda");
}
else{
for(int a=0;a<bar1;a++){
for(int b=0;b<kol1;b++){
matsum[a][b]=mat1[a][b]+mat2[a][b];
}
}
}
//cetak hasil kurang
System.out.println("hasil pengurangan ");
for(int a=0;a<bar1;a++){
for(int b=0;b<kol1;b++){
System.out.print(matmin[a][b]+" ");
}
System.out.println();
}
}
public void perkalian(){
if(kol1!=bar2){
System.out.println("Jumlah kolom matrix ke-1 tidak sama dengan jumlah  baris matrix ke-2");
}
else{
for(int a=0;a<bar1;a++){
for(int b=0;b<kol2;b++){
for(int c=0;c<kol1;c++){
matmulti[a][b]=matmulti[a][b]+mat1[a][c]*mat2[c][b];
}
}
}
}
//cetak hasil kali
System.out.println("hasil perkalian ");
for(int a=0;a<bar1;a++){
for(int b=0;b<kol2;b++){
System.out.print(matmulti[a][b]+" ");
}
System.out.println();
}
}
}
class hasil{
public static void main(String [] args){
Scanner dataIn=new Scanner(System.in);
int bar1,kol1,bar2,kol2;
System.out.println("program operasi matrix menggunakan konsep OOP");
konstruksi matrix=new konstruksi(10,10,10,10,20,20);
System.out.print("masukkan jumlah baris matrix ke-1 =  ");bar1=dataIn.nextInt();matrix.setBar1(bar1);
System.out.print("masukkan jumlah kolom matrix ke-1 =  ");kol1=dataIn.nextInt();matrix.setKol1(kol1);
matrix.isiMatrix1();
System.out.print("masukkan jumlah baris matrix ke-2 =  ");bar2=dataIn.nextInt();matrix.setBar2(bar2);
System.out.print("masukkan jumlah kolom matrix ke-2 =  ");kol2=dataIn.nextInt();matrix.setKol2(kol2);
matrix.isiMatrix2();
matrix.cetakMatrix1();
matrix.cetakMatrix2();
matrix.penjumlahan();
matrix.pengurangan();
matrix.perkalian();
}
}

 

Posted in Uncategorized | Leave a comment

Array pada Java

ARRAY adalah adalah Tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe yang sama. Sebelum digunakan, variabel array perlu dideklarasikan terlebih dahulu. Cara mendeklarasikan variabel array sama seperti deklarasi variabel yang lainnya, hanya saja diikuti oleh suatu indek yang menunjukan jumlah maksimum data yang disediakan.
Array pada pemrogramman Java, dapat dibagi menjadi 2 bagian besar, yaitu Array Berdimensi Satu dan Array Multidimensi.

A. Array Berdimensi Satu

Bentuk pendekarasian Array Berdimensi Satu pada pemrograman Java, seperti dibawah ini:

tipe_data[] nama_var_array;
nama_var_array = new tipe_data[ukuran];

Contoh pendeklarasian :
int[] nilai;
nilai = new int[10];

a. Memasukan Nilai ke Array

Untuk memasukan nilai kedalam elemen array, dengan cara menyebutkan index untuk elemen array tersebut. Index dimulai dari index ke 0, bukan dari index ke 1.

nilai[0] = 70;
nilai[1] = 60;
nilai[2] = 80;

b. Mengambil Nilai dari Array

Untuk mengambil nilai dari dalam elemen array, dengan cara yang sama seperti memasukan kedalam elemen array, yaitu dengan menyebutkan index dari elemen array tersebut.

nilai[0];
nilai[1];
System.out.println("Nilai Elemen : " + nilai[0]);

Berikut contoh program array untuk menghitung total nilai dan nilai rata-rata elemen array.

01./* ----------------------------
02.Nama File : Array_D1_01.java
03.Author    : Frieyadie
04.------------------------------- */
05. 
06.import java.util.*;
07.class Array_D1_01
08.{
09.public static void main(String[] args)
10.{
11.int a, n, jml_nil=0;
12.double nil_rata=0;
13.int[] nilai;         // deklarasi variabel array
14.nilai = new int[10]; // membuat objek array
15. 
16.Scanner input = new Scanner(System.in);
17. 
18.System.out.print("Masukkan Banyak Data = ");
19.n = input.nextInt();
20. 
21.System.out.println("");
22. 
23.//Memasukan Data ke Elemen Array
24.for(a=0; a<n; a++)
25.{
26.System.out.print("Masukkan Array ke " + a + " = ");
27.nilai[a] = input.nextInt();
28.}
29. 
30.//Menampilkan Data ke Elemen Array
31. 
32.System.out.println("\n\nData Yang Diinput ke Elemen Array \n");
33. 
34.for(a=0; a<n; a++)
35.{
36.System.out.print("Nilai ke - " + a );
37.System.out.println(" = " + nilai[a]);
38.jml_nil = jml_nil + nilai[a];
39.}
40. 
41.nil_rata = jml_nil / n;
42. 
43.System.out.println("\n---------------------------------------");
44.System.out.println("Jumlah Array Nilai          = " + jml_nil);
45.System.out.println("Nilai Rata-Rata Array Nilai = " + nil_rata);
46.}
47.}
Posted in Uncategorized | Leave a comment

Jenis-Jenis Tipe Data Java

1. Apakah Variable itu?
Program melakukan manipulasi data yang disimpan dalam memori. Dalam bahasa mesin, data hanya bisa diambil dengan menyebut alamatnya di memori. Dalam bahasa pemrograman tingkat tinggi seperti Java, nama bisa digunakan untuk mengganti alamat data tersebut di memori. Tugas komputer adalah untuk melacak di mana data tersebut di simpan, sedangkan programmer menggunakan nama untuk memerintahkan komputer mengambil data tersebut dari memori. Nama yang digunakan seperti ini disebut variable.
Variable bukan isi dari data, tapi lokasi di memori yang menyimpan data tersebut. Variable bisa diibaratkan sebagai kotak penyimpanan data, bukan isi kotaknya. Karena data di dalam kotak bisa berubah, variable hanya dapat dipercaya pada satu saat saja, walaupun tempatnya selalu sama.
Variable dalam bahasa Java didesign untuk menyimpan hanya 1 jenis tipe data. Kompiler akan menampilkan kesalahan sintax apabila variable ini dicoba untuk diberi tipe data jenis lain. Oleh karena itu Java disebut bahasa pemrograman bertipe kuat atau strongly typed language.
  1. Tipe Data
Java memiliki tipe data yang dapat dikategorikan menjadi dua kelompok, yaitu tipe data Primitif dan tipe data Referensi.
2.1. Tipe Data Primitif
Ada 8 jenis tipe data primitif dalam pemrograman Java :
Jenis Data Deskripsi Ukuran Minimum Maksimum
boolean true / false 1-bit
char Karakter Unicode 16-bit
byte Bilangan bulat 8-bit -127 128
short Bilangan bulat 16-bit -32768 32767
int Bilangan bulat 32-bit -2147483648 2147483647
long Bilangan bulat 64-bit -9223372036854775808 9223372036854775807
float Bilangan riil 32-bit 1.40129846432481707e-45 3.40282346638528860e+38
double Bilangan riil 64-bit 4.94065645841246544e-324 1.79769313486231570e+308
2.2. Tipe Data Referensi
Kelebihan pemrograman berorientasi object adalah dapat mendefinisikan tipe data baru yang merupakan object dari class tertentu. Tipe data ini digunakan untuk mereferensikan object atau class tertentu, seperti String, class, interface, dan array. Di Java 5.0, ditambahkan dua tipe referensi baru, yaitu enumerasi dan anotasi.
Tidak seperti tipe primitif yang nilai default-nya variatif, semua tipe referensi nilai default-nya adalah null. Khusus untuk variable lokal, tidak ada nilai default yang diberikan, sehingga harus di inisialisasi.
Perbedaan mendasar antara tipe primitif dan referensi :
  • Tipe-tipe primitif didefinisikan oleh bahasa Java, sedangkan tipe referensi pada dasarnya adalah tipe user-defined.
  • Tipe primitif merepresentasikan nilai tunggal, sedangkan tipe referensi dapat menampung nol atau lebih nilai primitif atau object.
  1. Deklarasi Variable
Suatu variable baru dapat digunakan apabila telah dideklarasikan. Pernyataan deklarasi variable digunakan untuk mendeklarasikan satu atau lebih variable dan memberinya nama. Ketika komputer mengeksekusi deklarasi variable, komputer akan menyediakan ruangan di memori kemudian menyimpan alamat ini sesuai dengan nama variable yang diberikan. Definisi variable berbentuk seperti :
modifiers namatipe namavariable;
Dalam pendeklarasian variable, kita dapat medeklarasikan beberapa nama sekaligus, yang dipisah dengan koma.
private float num;
private String nama;
private boolean bol;
private int cadence,gear; //mendeklarasikan nama variable dalam satu pernyataan
Atau pendeklarasian variable bisa juga dilakukan sekaligus dengan pemberian nilainya, seperti pada contoh berikut :
private int num = 1000;
private char ch = ‘e’;
private float angka = -1.504;
private boolean bol = true;
  1. Jenis – jenis Variable pada Java.
Java memiliki beberapa jenis variable yang dapat dikelompokkan sebagai berikut :
  • Instance Variable (tidak statis).
Dalam bahasa pemrograman berorientasi object, object menyimpan variable yang tidak dideklarasikan dengan kata kunci static dalam kategori non-statis, atau dapat berubah-ubah. Suatu class dapat dijelmakan ke dalam beberapa object. Nilai yang terkandung dalam variable tak-statis ini berbeda untuk setiap objectnya.
Instance variable merupakan variabel yang terletak di dalam pendefinisian suatu class. Instance variable baru terbentuk apabila suatu class dibuat instance-nya.
Contoh dari Instance Variable :
[php]
public class Bicycle {
int cadence;
int speed;
int gear;

}
[/php]
~~~
Posted in Uncategorized | Leave a comment