SData - Praktikum 6 "Stack Dengan Array"

Ada dua opeasi yang digunakan dalam stack, yaitu push (Memasukan element kestack) dan pop (mengeluarkan element dari stack).
1. Operasi Push
  • Cara memasukan element kestack adalah dengan cara melihat status puncak stack. Penambahan element berarti banyak element bertambah 1. Jadi variabel banyak akan selalu bertambah 1 dengan ada penambahan element. Namun tentu saja, bila stack penuh, kita tidak dapat melakukan operasi push.   
2. Operasi Pop
  • Kebalikan dari operasi push, operasi pop status variabel banyak akan berkurang dengan 1. Namun kadang diperlukan pengecekan terhadap kondisi stack, yaitu bila stsck kosong, tidaklah mungkin melakukan operasi pop.
Contoh Programnya :
#include <cstdlib>
#include <iostream>
#include <string>

using namespace std;

int top=-1;
char stack[2];//max stack 100
char x;

void push(){
     cout<<"Masukkan satu karakter : ";
     cin>>x;
     top++;
     stack[top]=x;
     }
    
void pop(){
     if (top<0){
        cout<<"stack kosong "<<endl;
        return;
        }
     x=stack[top];
     top--;
     cout<<"Karakter dihapus dari stack"<<endl;
     }
    
void cetak(){
     if(top<0){
               cout<<"stack kosong "<<endl;
               return;
               }
              
     int i=0;
     for(i=top; i>=0; i--)
     cout<<stack[i]<<endl;
}

int main(){
    cout<<"\t\t\tSlamet Islan Al Hidayah"<<endl;
    cout<<"\t\t\t       10018075        "<<endl;
    cout<<"\t\t\t      Praktikum 6      "<<endl;
    cout<<endl;
    cout<<endl;
    int input;
    cout<<"Menu Pilihan "<<endl;
    cout<<"1.Push  "<<endl;
    cout<<"2.Pop   "<<endl;
    cout<<"3.Cetak "<<endl;
    cout<<"4.Quit  "<<endl;
    while(true){
                cout<<"\nMasukkan pilihan : ";
                cin>>input;
                if (input==1){
                push();
                }else if (input==2){
                pop ();
                }else if (input==3){
                cetak();
                }else if (input==4){
                break;
                }else{
                      cout<<"perintah "<<input<<"tidak dikenal"<<endl;
                      }
                      } 
                      }
Outputnya :

0 Response to " SData - Praktikum 6 "Stack Dengan Array" "