Minggu, 09 Februari 2014

Sequential and Linked Representation [Java]

ADT biasanya dapat diwakilkan menggunakan sequential dan linked representation. Hal ini memudahkan untuk membuat sequential representation dengan menggunakan array. Bagaimanapun juga, masalah dengan menggunakan array adalah pembatasan size, yang membuatnya tidak fleksibel. Dengan menggunakan array, sering terjadi kekurangan atau kelebihan space memori. Mempertimbangkan hal tersebut, Anda harus
membuat sebuah array dan mendeklarasikannya agar mampu menyimpan 50 elemen.

Jika user hanya memasukkan 5 elemen, maka 45 space pada memori akan sia-sia. Disisi lain, jika user ingin memasukkan 51 elemen, space yang telah disediakan didalam array tidak akan cukup. Dibandingkan dengan sequential representation, linked representation lebih sedikit rumit tetapi lebih fleksibel. Linked representation menyesuaikan memori yang dibutuhkan oleh user.

sebelum membuat class maka buatlah sebuah java project dengan cara klik File --> New --> Java Project , maka akan muncul tampilan seperti gambar dibawah ini :


setelah membuat java project maka kita akan membuat kelas, seperti gambar dibawah ini dengan cara klik File --> New --> Class maka akan muncul tampilan seperti gambar dibawah ini :


contoh kode program :


class SeqStack {
 int top = -1;
 int memSpace[];
 int limit;
/* pada permulaan, stack kosong*/
/* penyimpanan untuk integer */
/* ukuran dari memSpace */
 SeqStack() {
  memSpace = new int[10];
  limit = 10;
 }
 SeqStack(int size) {
  memSpace = new int[size];
  limit = size;
 }
 boolean push(int value) {
  top++;
/* memeriksa apakah stack penuh */
  if (top < limit) {
   memSpace[top] = value;
  } else {
   top--;
   return false;
  }
  return true;
 }
 int pop() {
  int temp = -1;
/* memeriksa apakah stack kosong */
  if (top >= 0) {
   temp = memSpace[top];
   top--;
  } else {
   return -1;
  }
  return temp;
 }
 public static void main(String args[]) {
  SeqStack myStack = new SeqStack(3);
  myStack.push(1);
  myStack.push(2);
  myStack.push(3);
  myStack.push(4);
  System.out.println(myStack.pop());
  System.out.println(myStack.pop());
  System.out.println(myStack.pop());
  System.out.println(myStack.pop());
 }
}

Simpan dengan nama SeqStack , terus dicompile kemudian jalankan source codenya
menggunakan Eclipse atau program lainnya..

Screenshot :



Output :




Sumber : JENI (Java Education Network Indonesia)

Tidak ada komentar: