Welcome to myblog mr-fahmi.blogspot.com

PENERAPAN STACK JAVA

Senin, 02 Desember 20130 komentar



Kali saya akan menjelaskan tentang penerapan Stack pada java

Menurut bahasa  stack artinya Tumpukan, namun arti tumpukan disini memang masih ada kaitannya dengan pengertian stack dalam Struktur Data.

Stack adalah salah satu struktur data yang memiliki sistem kerja Last In First Out (LIFO), artinya yang terakhir masuk pertama keluar. Dapat di ilustrasikan seperti sebuah tumpukan kotak, ketika mengambil sebuah kotak di dalam tumpukan itu maka harus diambil satu persatu dari kotak yang paling atas dari tumpukan kotak tersebut. Atau Dosen saya mengilustrasikan sebagai tumpukan piring, tapi intinya sama saja kan?  Sebuah stack hanya dapat ditambahkan dan dikurangi elemennya hanya dari satu sisi yakni elemen atasnya atau biasa disebut Top Of Stack.

Istilah yang digunakan antara lain :
·         PUSH      = masuk, simpan, tulis
·         POP         = keluar, ambil, hapus


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.






Contoh penerapannya :
package PERCOBAAN_STACK;

import java.util.Stack;

public class StackArray {
private int maxsimum;  //penentu batas elemen stack maksimum
private double [] stackarray;  //array untuk menyimpan stack
private int top;  //indeks array
public void total (int s)  //menentukan ukuran kapasitas stack
{
maxsimum = s;  // batas elemen stack sama  dengan total stack yang di pushkan
stackarray = new double [maxsimum]; //wadah /tempat penyimpanan stack
top = -1;  // posisi top berada di top - 1
}
public void push(double data) //pengimplementasian data bertipe double
{
if (top >= maxsimum-1)  //kondisi dimana wadah penyimpanan penuh
   
System.out.println("Karena stack penuh , Jadi " +data+ " tidak bisa masuk "); //mencetak pernyataan bila wadah penuh
else
{
top ++;
stackarray[top] = data;
System.out.println(data + " Bisa masuk ke stack ");//kondisi jika stack masih bisa diisi
}
}
public double pop()
{
double temp;
if (top>=0) //kondisi pop dimulai dari 0
{
temp = stackarray[top];
System.out.println(temp + " Dikeluarkan dari stack ");
//kondisi dimana push mengeluatkan daata yang berada dalam posisi top

top --;
return (temp);
}
else
{
System.out.println(" isi stack kosong ");
return( - 1);
}
// kondisi jika isi stack kosong
}
public void view()
{
System.out.print(" isi stack = " );
for(int i=0; i<=top; i++)
System.out.print(stackarray[i] + " ~ ");
System.out.println();
}
//menampilkan isi dari stack


public static void main(String[] args) // method main untuk menjalankan program
{
StackArray stack = new StackArray (); // tempat masukan data pada stack
stack.total(5);
stack.push(7.6);
stack.push(6.4);
stack.push(9.1);
// memasukkan data pada stack
stack.view();
//melihat isi stack

stack.push(5.6);
stack.push(1.7);
stack.push(7.1);
// memasukkan data pada stack
stack.view();
//melihat isi stack

stack.pop();
stack.pop();
// mengurangi atau mengeluarkan  data pada stack
stack.view();
//melihat isi stack
stack.pop();
stack.pop();
// mengurangi atau mengeluarkan  data pada stack
stack.view();
//melihat isi stack
stack.push(8.9);
stack.push(4.5);
stack.push(3.7);
stack.push(8.12);
// memasukkan data pada stack
stack.pop();
// mengurangi atau mengeluarkan  data pada stack
stack.view();
//melihat isi stack
}
}    

Berikut gambaran outputnya :


Sekian , semoga bermanfaat

Share this article :
 
Support : Cara Gampang | Creating Website | FAHMI | FA | Pusat Promosi
Copyright © 2011. FROM FAHMI - All Rights Reserved
Template Created by FROM FAHMI Modify by FROM FAHMI
Proudly powered by Blogger