Anda di halaman 1dari 9

Topik 4 Stack/Tumpukan

Latihan 1 :

Kode program :

//header file.........................................................
#include <iostream>
#include <conio.h>
#include <stdio.h>

#define maxstack 4

//pendeklarasian struct...............................................
struct STACK
{
int top;
int data[5];
};

int isidata;

STACK tumpukan;

//fungsi untuk menambahkan data pada stack............................


void push()
{
cout << "\nMasukkan data : ";
cin >> isidata;

tumpukan.top++;
tumpukan.data[tumpukan.top] = isidata;
}

//fungsi untuk mengambil data pada stack...............................


void pop()
{
Cout << "Data yang terambil : "
<< tumpukan.data[tumpukan.top] << endl;
tumpukan.data[tumpukan.top] = 0;
tumpukan.top--;
}

//fungsi untuk mencetak data pada stack


void cetak()
{
printf("\nData yang terdapat dalam stack : \n");
printf("--------------------------------\n\n");
for(int i=4; i>=0; i--)
{
if (tumpukan.data[i] > 0)
cout<<"\t|| " << tumpukan.data[i] << " ||\n";
else
cout<<"\t|| ||\n";
}
cout<<"\t||===||\n";
getch();
}

//fungsi untuk membersihkan data dalam stack


void kosongkan()
{
tumpukan.top = -1;
for(int a=0; a<=maxstack; a++)
{
tumpukan.data[a] = 0;
}
}

//fungsi utama.................................................
void main()
{
kosongkan();
int pilihan;

do
{
clrscr();
cout << "PROGRAM STACK\n";
cout << "========================\n";
cout << "Pilihan Menu : \n";
cout << "1. Push stack\n";
cout << "2. Pop stack\n";
cout << "3. Cetak\n";
cout << "4. Bersihkan stack\n";
cout << "5. Exit\n\n";

cout << "Menu pilihan Anda : ";


cin >> pilihan;

switch (pilihan)
{
case 1 : push();
break;
case 2 : pop();
break;
case 3 : cetak();
break;
case 4 : kosongkan();
break;

default : break;
}
}while(pilihan<5);
}
Output program :

Latihan 2 :
Kode program :
Output program :
Latihan 3 :
Kode program :

//program membalik kalimat…………………………….


Output program :

Anda mungkin juga menyukai