Kamis, 04 Juni 2015

STACK


  • STACK  berarti (tumpukan) suatu kumpulan data yang seolah-olah ada data yang diletakan di atas data yang lain.
  • Konsep STACK digunakan dalam struktur data.












  • Dalam Struktur Stack digunakan istilah :
    PUSH : Simpan,Masuk,Insert,Tulis
    POP
    : Ambil,Keluar,Delete,Baca
  • Operasi dasar Stack
    1. Create
      Operator create berfungsi untuk membuat sebuah stack kosong. 
    2. Isempty
      Operator Isempty berfungsi untuk menentukan apakah suatu stack merupakan stack kosong.
    3.  Push
      Operator push berfungsi untuk menambahkan suatu elemen ke dalam stack. 
    4. Pop
      Operator pop berfungsi untuk mengeluarkan satu elemen dari dalam stack.
  • STACK ada 2 jenis :
    1. Single Stack 
    2. Double Stack
  • Single Stack 

    dapat direpresentasikan menggunakan array satu dimensi.














  • Prinsip dan Konsep Proses Single StackPrinsip proses Single Stack adalah : LIFO (Last In First Out)
  • Proses pada Single Stack :
    1. AWAL (Inisialisasi)
    2. PUSH (Insert, Masuk, Simpan, Tulis) 
    3. POP (Delete, Keluar, Ambil, Baca/Hapus)

Contoh Program Single Stack

Program  
#include<iostream.h>
#define n 10
void main()

{
    int S[n];
    int x,top;

    top=-1;

    while (top<=n-1)
    {
        cout<<"Inputkan isi stack : ";
        cin>>x;
        top=top+1;
        S[top]=x;
    }

    cout<<"Isi stack : "<<endl;
    while (top>=0)
    {
        x=S[top];
        cout<<x<<" ";
        top=top-1;
    }

}


  • Double Stack


  • Prinsip proses :LIFO (Last In First Out) baik untuk Stack1 maupun untuk Stack2
  • Proses pada Double Stack :
    1. AWAL (Inisialisasi) 
    2. PUSH1 (Push untuk Stack1) 
    3. POP1 (Pop untuk Stack1) 
    4. PUSH2 (Push untuk Stack2) 
    5. POP2 (Pop untuk Stack2)

Contoh Program Double Stack

Program
#include<iostream.h>
#define n 10

int S[n], x,top;
void push(int y)

{
        top=top+1;
        S[top]=y;
}
int pop()
{
        int y;
        y=S[top];
        top=top-1;
        return y;
}
void main()
{
    top=-1;
    while (top<=n-1)
    {
        cout<<"Inputkan isi stack : ";
        cin>>x;
        push(x);
    }
    cout<<"Isi stack : "<<endl;
    while (top>=0)
    {
        x=pop();
        cout<<x<<" ";
    }

}

Refrensi : 
10 Langkah Belajar  logika dan algoritma, menggunakan bahasa c dan c++
 


Tidak ada komentar:

Posting Komentar