Pengertian Stack atau Tumpukan adalah suatu
stuktur data yang penting dalam pemrograman yang mempunyai sifat LIFO (Last In
First Out), Benda yang terakhir masuk ke dalam stack akan menjadi benda pertama
yang dikeluarkan dari stack.
contoh program Stack sederhana :
Source coude:
/*
* To change this template, choose Tools |
Templates
* and open the template in the editor.
*/
package struktur_data;
import
java.util.Scanner;
/**
*
* @author Admin
*/
public class
Stack {
int stack[];
int indek;
//Memesan Panjang Stack
public Stack(int a){
stack = new int [a];
}
//Menghitung Panjang Stack
public void Count(){
int hasil = stack.length;
System.out.println("Jumlah Stak
\t:\t"+hasil);
}
//Mengisi Nilai dalam Stack
public void push(int isi){
stack[indek] = isi;
indek++;
}
//Untuk Melihat Elemen Paling Atas
public void Peek(){
int hasil = 0;
hasil+=stack.length-1;
System.out.println("Peek Stack
Adalah\t:\t"+stack[hasil]);
}
public void Print(){
for(int i = stack.length-1 ;i>=0 ;
i--){
System.out.println(stack[i]);
}
}
public void pop(int angka){
for(int i = 0; i<stack.length ;
i++){
if(stack[i]==angka){
stack[i]=0;
}
}
}
public static void main(String[]args){
Scanner ir = new Scanner(System.in);
System.out.print("Masukan Batas
\t:\t");
int batas = ir.nextInt();
Stack irin = new Stack(batas);
for(int i = 0; i<batas ; i++){
System.out.print("Masukan Isi
"+(i+1)+"\t:\t");
int isi = ir.nextInt();
irin.push(isi);
}
System.out.print("______________________________________\n");
irin.Count();
System.out.print("______________________________________\n");
irin.Print();
System.out.print("______________________________________\n");
irin.Peek();
System.out.print("______________________________________\n");
System.out.print("Berapa Kali Anda
Melakukan POP\t:\t");
int bts = ir.nextInt();
int angka;
for(int i = 1 ; i<=bts ; i++){
System.out.print("Masukan
Angka POP\t:\t");
angka = ir.nextInt();
irin.pop(angka);
System.out.print("______________________________________\n");
}
irin.Print();
}
}
copy paste alias copas kode diatas pada java class anda. yang class nya di beri nama Stack.
kemudian run file tersebut. maka akan menampilkan tampilan seperti berikut:
program stack
yang saya buat mempunyai urutan proses sebagai berikut:
a. menentukan jumlah batas. Artinya kita memasukkan berapa jumlah data yang
akan kita masukkan.
b. menginputkan data berdasarkan jumlah data.
c. melakukan pop. Berapa kali anda melakukan popdan angka apa saja yang
ingin anda pop.