Mesothelioma law firm blog| Mesothelioma law firm directory| Mesothelioma law firm escape | Mesothelioma law firm blog

Sunday

Contoh Program Stack Aray Sederhana

    
                 
STACK
Stack (tumpukan)
Stack adalah suatu cara penyimpanan data dalam memory dimana apabila ada data yang mau diambil atau dihapus maka yang diambil adalah data yang disimpan terakhir.Dengan perkataan lain, penyimpanan dan pengambilannya bersifat LIFO ( Last in first out) atau yang terakhir masuk itulah yang lebih dulu keluar.

Istilah:

- cara penyimpanan dan pengambilan data sehingga bersifat LIFO disebut stack

- tempat penyimpanan datanya sendiri juga disebut stack.
Stack berarti sekumpulan data yang organisasi atau strukturnya bersifat tumpukan atau menyerupai tumpukan.
Secara ilustrasi, stack dapat digambarkan dengan gambar di bawah.
contoh gambar array stack
“Top “ merupakan pintu untuk keluar masuknya elemen – elemen stack. 3, 4, dan 5 merupakan suatu koleksi. Dari ilustrasi dapat digambarkan bahwa 5 merupakan elemen yang terakhir memasuki stack namun pertama keluar dari stack. Begitu sebaliknya dengan 1. 1 merupakan elemen pertama yang memasuki tumpukan namun terakhir saat keluar dari tumpukan.
c-stack
Di dalam gambar juga terlihat urutan masuk dan keluar yang berkebalikan. Elemen yang masuk pertama akan keluar erakhir dan sebaliknya. Prinsip ini telah dikenal dalam struktur data dengan nama prinsip LIFO (Last In First Out).
Di dalam pengembangannya, stack dapat dikelompokkan menjadi dua bagian. Dua bagian tersebut yaitu Single Stack dan Double Stack.
Single Stack
Single Stack atau Stack Tunggal adalah stack yang hanya terdiri dari satu koleksi. Bila stack ini direpresentasikan dengan array, maka pengisian dan penghapusan harus dilakukan bertahap dari indeks TOP-nya.
 Contoh Rumus seserhaana Stack
#include <iostream.h>
#include<stdio.h>
#define MAX 5
#define true 1
#define false 0

char stack[MAX];
int top;

void init(void);
int full(void);
int empty(void);
char pop(void);
void clear(void);
void push(char info);
void baca(void);

void main()
{
char pilih,elm;
cout<<"demo operasi single stack"<<endl;
init();
do
{
cout<<"OPERASI SINGLE STACK :"<<endl;
cout<<"[1]PUSH"<<endl;
cout<<"[2]POP"<<endl;
cout<<"[3]clear"<<endl;
cout<<"[4]BACA"<<endl;
cout<<"[5]selesai"<<endl;
cout<<"pilihan:";cin>>pilih;
switch(pilih)
{
case '1':cout<<"PUSH-->";cin>>elm;
push(elm);
break;
case '2':elm=pop();
cout<<"pop"<<elm;
break;
case '3':clear();
break;
case '4':baca();
break;
case '5':break;
default:cout<<"salah pilih..."<<endl;
}
cout<<endl;
}
while(pilih!='5');
}

void init(void)
{
top=0;
}
void push(char info)
{
if(full()!=true)
{
top++;
stack[top]=info;
}
else
cout<<"stack overflow..."<<endl;
}
char pop(void)
{
char info;
if(empty()!=true)
{
info=stack[top];
top--;
return(info);
}
else
cout<<"stack underflow..."<<endl;
}
void clear(void)
{
top=0;
}
int full(void)
{
if(top==MAX)
return(true);
else
return(false);
}
int empty(void)
{
if(top==0)
return(true);
else
return(false);
}
void baca(void)
{ int i;
cout<<"isi stack:"<<endl;

if(top>0)
{
for(i=1;i<=top;i++)
cout<<stack[i];
}
else
cout<<"(kosong)";
cout<<endl;
}

Contoh Program Stack Aray Sederhana Rating: 4.5 Diposkan Oleh: Aqiyak Johar