Sabtu, 16 Juni 2012

Laporan Praktikum Modul 7 Stack (Novian Adi P) (201101029)

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


                        ------------------------
Stack atau tumpukan merupakan bentuk khusus dari Linier List yang pemasukan dan penghapusan elemennya hanya dapat dilakukan pada satu posisi, yaitu posisi akhir dari List (Top).
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