1.
Jelaskan pengertian Stack?
Jawab
:
Stack
(tumpukan) adalah suatu struktur data yang terbentuk dari barisan hingga yang
terurut dari satuan data. Pada stack, penambahan dan penghapusan elemennya
hanya dapat dilakukan pada satu posisi, yaitu posisi akhir stack. Posisi ini
disebut puncak atau top dari stack.
2. Sebutkan dan jelaskan Operasi dasar Pada Stack (
Tumpukan ) beserta contohnya!
Jawab
:
ü Push
=> adalah operator yang berfungsi menambahkan elemen E ke Stack. Elemen E
akan ditempatkan pada posisi TOP (S).
OPERASI PUSH
ü Pop
=> adalah operator yang berfungsi mengeluarkan atau menghapus elemen TOP (S)
dari dalm stack.
OPESASI POP
3. Sebutkan fungsi push dan pop!
Jawab
:
Ø Fungsi Push
Untuk memasukkan elemen ke stack, selalu menjadi elemen
teratas stack (yang ditunjuk oleh TOS=Top Of Stack)
Ø Fungsi Pop
Untuk mengambil elemen teratas (data yang ditunjuk oleh
TOS) dari stack.
4. Buatlah contoh program stack!
Jawab
:
#include "iostream"
#include "conio.h"
#define maksElemen 10//konstanta
using namespace std;
struct tumpukan
{
short int isi[10];//isi
int pos;//posisi dri stack
};
short int kosong(tumpukan &t)//periksa bahwa
elemen stack kosong
{short int kos;
if(t.pos>0){
kos=0;//blm kosong
cout<<endl<<"belum
kosong";
}
else
kos=1;//sudah kosong
return(kos);
}
void posisi(tumpukan t)//melihat posisi top stack
{
if(kosong(t)!=1)//jika tdk kosong
{
cout<<endl<<"top sekarang
pada indek = "<<t.pos;
cout<<" dan elemennya adalah
"<<t.isi[t.pos-1];
}
}
void pop(tumpukan &t,short int &j)
{
if(kosong(t)==1)//periksa stack
cout<<endl<<"stack sudah
kosong !";
else
{
cout<<endl<<kosong(t)<<"stack
blm kosong.";
cout<<endl<<t.isi[t.pos-1]<<" telah di pop!";
t.pos=t.pos-1;
j=t.pos;
}
}
short int full(tumpukan &t)//periksa bhwa elemen
stack sdah penuh
{short int penuh;
if(t.pos<maksElemen)
penuh=0;//blm penuh
else
penuh=1;//sdah penuh
return (penuh);
}
void push(tumpukan &t, short int x, short int j)
{
if(full(t)==1)//periksa stack
cout<<endl<<"stack telah
PENUH !";
else{
cout<<endl<<"stack blm
PENUH !!";
t.pos=j;
t.isi[j-1]=x;
cout<<endl<<t.isi[j-1]<<" telah di PUSH!!";
}
}
void main(){
tumpukan t; short int n,i,x,komen;
//n tdk lbih dri 10
char pil;
//memasukkan bil bulat
t.pos=0; komen=0; i=1; t.isi[t.pos]=0;
while(!(komen==1))
{
cout<<endl<<"1. PUSH dan
2.POP, mau pilih yang mana?";cin>>pil;
switch(pil)
{
case'1': posisi(t);//lihat posisi top
satack
cout<<endl<<"Bilangan
ke-"<<i<<"="; cin>>x;
push(t,x,i);i++;break;//pemanggilan
prosedur PUSH
case'2': posisi(t);//lihat posisi top
satack
pop(t,i);break;//pemanggilan prosedur pop
}//end case
cout<<endl<<"Tekan 1
untuk asphalt 8 :D..!!tekan: ";cin>>komen;
}//end while
_getch();
}
5.
Sebutkan macam-macam stack!
Jawab :
·
Stack dengan Array
·
Double Stack dengan Array


Tidak ada komentar:
Posting Komentar