Laporan Praktikum Modul 7 Stack
Disusun oleh :
Novian Adi Prasetyo
201101029
Dosen
Yosef Murya Kusuma Ardhana, S.T
JURUSAN SISTEM INFORMASI
SEKOLAH TINGGI ILMU KOMPUTER (STIKOM)
“YOS SUDARSO”
PURWOKERTO
2012
Prinsip Stack adalah LAST-IN-FIRST-OUT (LIFO).
ISEMPTY
Untuk memeriksa apakah stack kosong.
ISFULL
Untuk memeriksa apakah stack sudah penuh.
PUSH
Untuk menambahkan item pada posisi paling atas (TOP).
POP
Untuk menghapus item paling atas (TOP).
CLEAR
Untuk mengosongkan stack.
Menggunakan Program Eclipse
>> Program 7.1
Listing Program :
#include <iostream>
#include <string.h>
using namespace std;
#define MAX_STACK 10
struct STACK
{
int top;
char data[10][10];
};STACK 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 0;
}
int Push(char d[10])
{
tumpuk.top++;
strcpy (tumpuk.data[tumpuk.top],d);
}
int Pop()
{
cout<<"Data yang terambil = "<<tumpuk.data[tumpuk.top]<<endl;
tumpuk.top--;
}
int TampilStack()
{
for(int i=tumpuk.top;i>=0;i--)
{
cout<<"Data: "<<tumpuk.data[i]<<endl;
}
}
void Clear()
{
tumpuk.top=-1;
}
main()
{
int pil;
inisialisasi();
char dt[10];
do{
cout<<"++++++++++++++\n";
cout<<"1. push\n";
cout<<"2. pop\n";
cout<<"3. print\n";
cout<<"4. clear\n";
cout<<"5. exit\n";
cout<<"---------------\n";
cout<<"Pilihan: ";
cin>>pil;
cout<<"---------------\n";
cout<<"++++++++++++++\n";
cout<<endl;
switch(pil)
{
case 1 : if(IsFull()!=1){
cout<<"Data = ";
cin>>dt;
Push(dt);
cout<<"\n";
}
else
cout<<"STACK PENUH\n\n";
break;
case 2 : if(IsEmpty()!=1){
Pop();
cout<<"\n";
}else
cout<<"STACK KOSONG\n\n";
break;
case 3 : if(IsEmpty()!=1){
TampilStack();
cout<<"\n";
}else
cout<<"STACK KOSONG\n\n";
break;
case 4 : Clear();
cout<<"STACK SUDAH KOSONG\n\n";
break;
}
}while(pil !=5);
return 0;
}
Output Program :
Clik Pada Gambar Untuk Memperbesar |
Menggunakan Program Borland
>> Program 7.1
Listing Program :
#include <iostream.h>
#include <conio.h>
#include <string.h>
#define MAX_STACK 10
struct STACK
{
int top;
char data[10][10];
};STACK 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 0;
}
int Push(char d[10])
{
tumpuk.top++;
strcpy(tumpuk.data[tumpuk.top],d);
}
int Pop()
{
cout<<"Data yang terambil = "<<tumpuk.data[tumpuk.top]<<endl;
tumpuk.top--;
}
int TampilStack()
{
for(int i=tumpuk.top;i>=0;i--)
{
cout<<"Data: "<<tumpuk.data[i]<<endl;
}
}
void Clear()
{
tumpuk.top=-1;
}
main()
{
int pil;
inisialisasi();
char dt[10];
do{
cout<<"++++++++++++++\n";
cout<<"1. push\n";
cout<<"2. pop\n";
cout<<"3. print\n";
cout<<"4. clear\n";
cout<<"5. exit\n";
cout<<"---------------\n";
cout<<"Pilihan: ";
cin>>pil;
cout<<"---------------\n";
cout<<"++++++++++++++\n";
cout<<endl;
switch(pil)
{
case 1 : if(IsFull()!=1){
cout<<"Data = ";
cin>>dt;
Push(dt);
cout<<"\n";
}
else
cout<<"STACK
PENUH\n\n";
break;
case 2 : if(IsEmpty()!=1){
Pop();
cout<<"\n";
}else
cout<<"STACK
KOSONG\n\n";
break;
case 3 : if(IsEmpty()!=1){
TampilStack();
cout<<"\n";
}else
cout<<"STACK
KOSONG\n\n";
break;
case 4 : Clear();
cout<<"STACK SUDAH KOSONG\n\n";
break;
}
getche();
}while(pil !=5);
getche();
}
Output Program :Clik Pada Gambar Untuk Memperbesar |
Tidak ada komentar:
Posting Komentar