Kamis, 18 Maret 2010

contoh penerapan stack dalam keseharian.

Stack adalah struktur data yagn sifatn ya LIFO (Last In First Out), yaitu yang masuk belakangan akan keluar duluan. Dalam kehidupan sehari-hari dapat kita jumpai contoh stack seperti : tumpukan buku, tumpukan koin , dan lain lain.
Dalam struktur data stack ada dua operasi yang digunakan pada stack, yaitu operasi push dan operasi pop. Operasi push merupakan operasi memasukkan elemen ke dalam stack, sedangkan operasi pop merupakan operasi mengeluarkan elemen ke dalam stack.
Berikut ini contoh implementasi program stack dengan array.
Deklarasi Class
#include<"iostream.h">
#include<"conio.h">
#include<"stdio.h">
#define max_stack 10

class Stack
{
private:
char data[max_stack];
int top;
public:
Stack(){ top = -1;}
int isFull();
int isEmpty();
void push();
void pop();
void print();
};

Implementasi method isFull() dan isEmpty().
Method isEmpty() digunakan untuk mengecek apakah stack dalam keadaan kosong atau sudah berisi, sedangkan method isFull() digunakan untuk mengecek apakah stack sudah dalam keadaan penuh.
int Stack :: isFull()
{
if (top == max_stack -1 ) return 1;
else
return 0;
}

int Stack :: isEmpty()
{
if(top == -1) return 1;
else return 0 ;
}

Implementasi Method push() dan pop()
Seperti sudah dijelaskan seb elumnya method push() digunakan untuk menambah elemen di dalam stack, sedangkan method pop() digunakan untuk mengeluarkan elemen di dalam stack.
void Stack :: push()
{
char insert;
int i ;
cout << "Much of data : ";
cin >> i;
if( i > max_stack -1) cout << "Out Of Range"; cout << endl;
for(int j = 0;j<=i-1;j++)
{
cout << "insert data : ";
cin >> insert;
top++;
data[top] = insert;
}

getche();
}

void Stack :: pop()
{
cout << "Insert Index Data : ";
cin >> top;
cout << "Data Deleted : " << data[top] << endl;
top--;
}


sumber : wahyusumartha.blogspot.com/2008/01/stack.html

Tidak ada komentar:

Posting Komentar