Anda di halaman 1dari 5

PRAKTIKUM STACK

NAMA : Nela Puji Nurani


NIM : 140533601742
PRODI : S1 PTI B 2014

Script Program
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#define max 5

struct Tumpukan
{
int atas;
char nama;
int id;
int nilai[max];
}T;

void awal()
{
T.atas=-1;
}

int kosong()
{
if(T.atas==-1)
return 1;
else
return 0;
}

int penuh()
{
if(T.atas==max-1)
return 1;
else
return 0;
}

void input()
{
int nilai;
if(kosong()==1)
{
T.atas++;
T.nilai[T.atas]=nilai;
cout<<"Data Siswa Bernama "<<T.nama<<" masuk ke tumpukan\n";
}
else if(penuh()==0)
{
T.atas++;
T.nilai[T.atas]=nilai;
cout<<"Data Siswa Bernama "<<T.nama<<" masuk ke tumpukan\n";
}
else
cout<<"Tumpukan Penuh";
}

void hapus()
{
if(kosong()==0)
{
cout<<"Data teratas sudah terambil";
T.atas--;
}
else
cout<<"Data kosong";
}

void tampil()
{
if(kosong()==0)
{
for(int i=T.atas;i>=0;i--)
{
cout<<"\nTumpukan ke-"<<i+1<<":";
cout<<"\n ID : "<<T.id;
cout<<"\n Nama : "<<T.nama;
cout<<"\n Nilai : "<<T.nilai[i];
cout<<endl;
}
}
else
cout<<"Tumpukan kosong";
}

void bersih()
{
T.atas=-1;
cout<<"Tumpukan kosong!";
}

void main()
{
int pil;
awal();
do
{
system("cls");
cout<<"1. Input\n2. Hapus\n3. Tampil\n4. Bersihkan\n5. Keluar\nMasukkan
Pilihan: ";
cin>>pil;
switch(pil)
{
case 1:
cout<<"ID Siswa : ";cin>>T.id;
cout<<"Nama Siswa : ";cin>>T.nama;
cout<<"Nilai Siswa : ";cin>>T.nilai[];
input();
break;

case 2:
hapus();
break;

case 3:
tampil();
break;

case 4:
bersih();
break;

case 5:
cout<<"Terimakasih :)";
}
getch(); }
while(pil!=5);
}
Pseudocode
Algorithm: Program Rekap Nilai Siswa Menggunakan Stack
Pre: Student data are collected and stack is empty
Post: Data of students are collected in the stack well
Declaration of Header:
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#define max 5

Struct Tumpukan
Declaration of Variables:
int atas;
char nama;
int id;
int nilai[max];
Initialitation: T;
End Struct

Function awal()
Set T.atas=-1;
End function

Function kosong()
if(T.atas==-1) then
return 1;
else
return 0;
endif
end function

function penuh()
if(T.atas==max-1) then
return 1;
else
return 0;
endif
end function

function input()
declaration of variable: int nilai;
if(kosong()==1) then
set T.atas++;
set T.nilai[T.atas]=nilai;
read "Data Siswa Bernama (nama) masuk ke tumpukan
else if(penuh()==0) then
set T.atas++;
set T.nilai[T.atas]=nilai;
read Data Siswa Bernama (nama) masuk ke tumpukan
else
read "Tumpukan Penuh"
endif
end function
function hapus()
if(kosong()==0) then
read "Data teratas sudah terambil"
set T.atas--;
else
read Data kosong"
endif
end function

function tampil()
if(kosong()==0) then
for(int i=T.atas;i>=0;i--)
read Tumpukan ke-(index):
read ID : "
read Nama : "
read Nilai : "
end for
else
read Tumpukan kosong"
end function

function bersih()
set T.atas=-1;
read Tumpukan kosong"}
end function

function main()
declaration of variables: int pil;
call function awal();
do
system("cls");
read main menu view
write Masukkan Pilihan:
switch(pil)
case 1:
read "ID Siswa : ";
read "Nama Siswa : ";
read "Nilai Siswa : ";
call function input();
break;

case 2:
call function hapus();
break;

case 3:
call function tampil();
break;

case 4:
call function bersih();
break;
case 5:
read "Terimakasih :)"
end switch-case
getch();
while(pil!=5);
end do-while
end function
end program

Anda mungkin juga menyukai