Page 1 of 6
E
D
C
B
A
Gambar 01
Gambar 02
Struktur Data
Page 2 of 6
};
Contoh algoritma untuk proses POP pada stack adalah sebagai berikut :
0. Jika c = 0, maka kerjakan langkah 2. Jika tidak, lakukan langkah 3.
1. cetak TUMPUKAN KOSONG
2. c c-1
Struktur Data
Page 3 of 6
CONTOH !!!
Program stack yang mempunyai fungsi proses PUSH dan proses POP di dalamnya.
( stack dideklarasikan dengan array )
void main()
{
char A[10];
int dpn,blk;
char cek;
int z;
dpn=0; blk=1;
do{
clrscr();
printf("1. Tambah antrian\n");
printf("2. Hapus antrian\n");
printf("3. Lihat antrian\n");
printf("4. Exit\n");
else
{
if(cek=='1')
{
if(blk==9)
{
printf("\n Maaf antrian
penuh\n"); goto error1;
}
blk++;
printf("\n Silakan masukan
inputan:"); A[blk]=getche();
}
else if(cek=='2')
{
if(dpn>blk)
{
printf("\n Maaf antrian
Kosong\n"); goto error1;
}
for(int v=0;v<=blk;v++)
{
A[v]=A[v+1];
}
blk--;
printf("\nProses penghapusan berhasil");
}
else if (cek=='3')
{
if (dpn>blk)
{
printf("\n Maaf Antrian
Kosong\n"); goto error1;
}
printf("\n\nAda %i antrian\n",(blk+1)dpn); for(z=0; z<=blk; z++)
printf("| %c |",A[z]);
Struktur Data
Page 4 of 6
}
}
error1:
printf("\n Silakan tekan Enter untuk
melanjutkan...\n"); system("pause>nul");
}while (cek!='4');
}
:: SOAL LATIHAN ::
1. Coba buat program stack (tumpukan) dengan fungsi PUSH dan POP
yang terpisah dari program utama!
2. Buat program yang sejenis untuk Queue / antrian.
:: CONTOH !!!
Program stack yang mempunyai fungsi proses PUSH dan proses POP terpisah
dan stack dideklarasikan dengan struct.
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
struct tumpukan
{
char data;
tumpukan*next;
};
tumpukan*atas;
tumpukan*bawah;
tumpukan*baru;
tumpukan*hapus;
tumpukan*bantu;
void push()
{
baru=new tumpukan;
fflush(stdin);
}
}
void pop()
{
if(atas!=NULL)
Struktur Data
Page 5 of 6
{
if(atas==bawah)
{
delete atas;
atas=NULL;
}
else
{
hapus=atas;
atas=atas->next;
delete hapus;
}
}
else
{
printf("tumpukan kosong\nTekan enter untuk
melanjutkan..."); getch();
}
}
void show()
{
bantu=atas;
while(bantu!=NULL)
{
printf("| %c |\n",bantu>data); bantu=bantu->next;
}
printf("\ntekan enter untuk melanjutkan...\n");
getch();
}
void main()
{
clrscr();
int pil;
do
{
clrscr();
printf("program tumpukan\n");
printf("==================\n");
printf("1.push\n");
printf("2.pop\n");
printf("3.tampil\n");
printf("4.keluar\n");
case 3:
show();
break;
}
}
while(pil!=4);
}
Struktur Data
Page 6 of 6
:: SOAL ::
Coba buat program queue dengan memakai struct seperti program di atas!