Anda di halaman 1dari 9

STACK LINIER

oleh Achmad Solichin


Assisten Labkom FTI Universitas
Budi Luhur
APA ITU STACK ?
Stack merupakan bentuk khusus dari
suatu struktur data, dimana penambahan
dan pengurangan suatu data ke dalam
stack menggunakan prinsip last-in first-out
(LIFO).
LIFO ~ Last In First Out

PUSH
POP
11

15
10 masuk pertama 11 masuk terakhir
10 keluar terakhir 5
11 keluar pertama
9

10

STACK
STACK ~ PUSH

0 1 2 3 4 5 6 7=N

12 10 5 15 16 11 8 9

top

Stack S[8]
dasar = 0;
top = n
STACK ~ POP
0 1 2 3 4 5 6 7=N

12 10 5 15 16 11 8 9

top

Stack S[8]
dasar = N+1;
top = n
PUSH()
void push() {
if(top<n) {
printf(“\nMasukkan sebuah bilangan : ”);
scanf(“%i”, &x);
top=top+1;
S[top] = x;
printf(“\n%i telah masuk ke dalam stack”, x);
} else {
printf(“Stack penuh, udah gak bisa diisi lagi”);
}
}
POP()
void pop() {
if(top>0) {
x = S[top];
top = top-1;
printf(“%i telah dikeluarin dari stack”, x);
} else {
printf(“stack kosong, gak ada isinya”);
}
}
TAMPIL()
void tampil() {
printf(“\nIsi stack : \n”);
for(top=1;top<=n;top++) {
printf(“%4i”,S[top]);
}
}
SELESAI