Baiklah pada kesempatan sore kali ini saya akan sedikit membagi pengetahuan yang telah saya dapat mengenai struktur data .
bahasan kali ini mengenai STACK dalam bahasa pemrograman C++, untuk lebih mengetahui apa itu stack silahkan BACA_DISINI :
dibawah ini adalah contoh source code dari program STACK !!!!!
#include <stdio.h>
#include <conio.h>
#include <string.h>
#define MAX_STACK 5 //untuk menyimpan maksimun isi stack
struct
{ int top;
char data[5][5];
}
tumpuk;
void inisialisasi()
{ tumpuk.top = -1;}
int IsFull()
{ if(tumpuk.top == MAX_STACK-1) return 1;
else return 0;
}
int IsEmpty()
{ if(tumpuk.top == -1) return 1;
else return 0;
}
void Push(char d[5])
{ tumpuk.top++;
strcpy(tumpuk.data[tumpuk.top],d);
}
void Pop()
{ printf("\tData yang terambil = %s\n",tumpuk.data[tumpuk.top]);
tumpuk.top--;
}
void Clear()
{ tumpuk.top=-1;
}
void TampilStack()
{ for(int i=tumpuk.top;i>=0;i--)
{ printf("\tData : %s\n",tumpuk.data[i]);
}
}
int main()
{
printf("\n\t<<<<<<< SELAMAT DATANG DI PROGRAM STACK KAMI >>>>>>>\n");
printf("\t<<<<<<< ------------------------------------ >>>>>>>\n\n\n");
int pil;
inisialisasi();
char dt[5];
do{
printf("\n\t $$ Silahkan Pilih Perintah Di Bawah Ini $$\n");
printf("\t\t\t 1. PUSH\n");
printf("\t\t\t 2. POP\n");
printf("\t\t\t 3. PRINT\n");
printf("\t\t\t 4. HAPUS\n");
printf("\t\t\t 5. KELUAR\n\n");
printf("\tMasukkan Perintah! : ");
scanf("%d",&pil);
switch(pil)
{
case 1: if(IsFull() != 1) //untuk mengecek apakah stack sudah penuh
{ printf("\tMasukkan Data = ");scanf("%s",dt);
Push(dt); } //untuk menambah item pada stack pada tumpukan paling atas
else printf("\n\t\tMaaf Stack penuh!\n"
"\tSilahkan Hapus Untuk Memasukkan Data Baru\n"
"\tMenu POP untuk mengambil STACK teratas !!!\n"
"\tMenu HAPUS untuk menghapus semua STACK !!!\n");
break;
case 2: if(IsEmpty() != 1) //untuk mengecek apakah stack sudah kosong
Pop();//untuk mengambil item pada stack pada tumpukan paling atas
else
printf("\n\tData Masih kosong!\n");
break;
case 3: if(IsEmpty() != 1) //untuk mengecek apakah stack sudah kosong
TampilStack();//untuk menampilkan stack
else
printf("\n\tData Masih kosong!\n");
break;
case 4: Clear(); //digunakan untuk mengosongkan stack
printf("\n\tSudah kosong!\n");
break;
}
getch();
}
while(pil != 5); //untuk keluar dari program
printf("\n\tTerimakasih Telah Menggunakan Program Kami\n");
printf("\n\tTekan ENTER Untuk Menutup Program !!!\n");
getch();
}
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment