Stack
02:29 | Author: Unknown

Struktur data dengan C++
Struktur data dengan stack
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--;
}

Implementasi Fungsi pri nt()
Fungsi print() digunakan untuk mencetak isi di dalam stack
void Stack :: print()
{

for(int i = top ; i>=0;i--)
{
cout << "Data " << i << " "<< data[i] << endl;

}
getche();

}
Sepertinya hanya itu saja yang bisa saya share dari materi struktur data yang pernah saya dapatkan , jika teman-teman semua ada yang mau menambahkan atau memperbaikinya silahkan berikan komentar,,,,OK!!^_^

This entry was posted on 02:29 and is filed under . You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

1 comments:

On 13 December 2009 at 05:13 , Azmie^^ said...

gue punya tugas neh..
bantuin gue buat aLgonya donk..
heheh..
ne soalnya..

Sebuah perusahaan swasta terkenal membutuhkan tenaga kerja sebanyak

21 orang..
yaitu : 11 orang si bagian personalia, dan sisanya di tempatkan di

bagian administrasi..
Selama ini sudah ada 5 orang pegawai yg bekerja di bagian personalia,

yaitu :{R, Y, S, U, B}..
Seandainya masuk 11 orang pegawai baru di bagian personalia, maka

jumlah pegawai di bagian personalia = 16 orang.
Note: Stack A = bagian Peronalia..
Stack B = bagian Administrasi..