Jumat, 22 Maret 2019

Stack Dalam Algoritma Pemrograman C++

| |

TI Politala Algoritma Pemrograman 2B

A. Pengertian Stack (Tumpukan)

    Stack (tumpukan) merupakan sebuah cara dalam mengorganisasikan data-data yang dimiliki. Stack digunakan sebagai penyimpanan data di dalam memori. Stack merupakan suatu tumpukan dari benda dengan konsep utamanya adalah LIFO (Last In First Out). Dalam artian benda yang masuk terakhir dalam stack akan menjadi benda pertama yang dikeluarkan dari stack.

B. Operasi Dasar Stack

Ada beberapa operasi-operasi dalam stack:
1. Push yaitu  untuk menambahkan item pada tumpukan paling atas.
    Langkah-langkah operasi stack yaitu:
    a. Memeriksa tumpukan apakah penuh atau tidak
   b. Jika tumpukan penuh dan tak ada ruang untuk memasukkan data, maka cukup tampilkan pesan bahwa tumpukan sudah penuh.
    c. Jika tumpukan tidak penuh dan masih ada ruang, maka tambahkan satu nilai pada tumpukan atas (top) untuk menunjukkan ke ruang kosong selanjutnya.
    d. Tambahkan data pada ruang kosong yang ditunjukan oleh top
    Contoh potongan program operasi push
    If (top < n-1)
   { 
       top = top + 1;
       S[top] = x;
    }
    Else
   {
       Cout<<”stack Penuh”;
   }

2. Pop yaitu untuk  mengambil item yang paling atas.
    Langkah-langkah operasi pop yaitu:
    a. Memeriksa tumpukan apakah kosong atau tidak
   b. Jika tumpukan kosong dan sudah tidak ada data untuk dihapus, maka cukup tampilkan pesan bahwa tumpukan kosong
    c. Jika tumpukan tidak kosong, maka akses data yang paling atas (top).
    d. Kemudian kurangi nilai dengan petunjuk dari top
    Contoh potongan program operasi pop :
    If (top > -1)
    { 
        x = S[top];
        Top= top-1;
     }
    Else
    {
        Cout<<”stack kosong”;
     }
3. Clear yaitu untuk mengosongkan stack.
4. IsEmpty yaitu fungsi yang digunakan untuk mengecek apakah stack sudah kosong. IsFull yaitu fungsi yang digunakan untuk mengecek apakah stack sudah penuh.
5. Selain operasi-operasi diatas, ada operasi lain yang dapat terjadi dalam stack yaitu:
6. Proses deklarasi yaitu proses pendeklarasian stack.
7. Proses inisialisasi yaitu proses pembuatan stack kosong, biasanya dengan pemberian nilai untuk top.

C. Program STACK

1.  Untuk mendeklarasikan program stack pada c++, dibutuhkan 3 metode yaitu fungsi push( );, pop( );, dan printStack( ); untuk menampilkan data yang ditumpukkan.
2. Selain fungsi diatas, buat 2 fungsi opsional untuk mengecek apakah tumpukan kosong isEmpty( ) dan tumpukan penuh isFull( ).
3. Untuk menyimpan data dapat menggunakan empety array dengan maksimum array yang akan didefinisikan sebagai maksimum tumpukan.
4. Agar data tumpukkan terstruktur kita bisa menggunakan struct sehingga mudah mengakses data top dan array data seperti sebuah object.
5. Karena merupakan program konsole maka juga akan dibuat fungsi main( ).

Contoh Program Stack
#include <iostream>
using namespace std;
#define MAXSTACK 5
typedef struct
{
    char item [MAXSTACK];
    int top;
}stack;
void InisialsasiStack (stack &s)
{
    s.top = 0;
}
int IsFull(stack &s)
{
    if (s.top == MAXSTACK)
        return 1;
    else
        return 0;
}
bool push (stack &s, char c)
{
    if (IsFull(s))
    {
        cout<<" Stack Penuh"<<endl;
        return 1;
    }
    else
    {
        s.top++;
        s.item[s.top]=c;
        return 0;
    }
}
bool IsEmpty(stack &s)
{
    if (s.top == 0)
    {
        return true;
    }
    else
    {
        return false;
    }
}
char pop (stack &s)
{
    char c =' ';
    if (!IsEmpty(s))
    {
        c = s.item[s.top];
        s.item[s.top]=' ';
        s.top=s.top-1;
    }
    return c;
}
int main()
{
    stack stack;
    InisialsasiStack(stack);
    push(stack, 'A');
    push(stack, 'D');
    push(stack, 'F');
    push(stack, 'C');
    push(stack, 'A');
    push(stack, 'X');
    push(stack, 'Y');
    push(stack, 'Z');
    cout<<" Urutan teratas     : "<<stack.top<<endl;
    cout<<" Isi urutan teratas : "<<stack.item[stack.top]<<endl;
    cout<<" Urutan yang keluar : "<<pop(stack)<<endl;
    return 0;
}
Hasil Running :

Download juga contoh program Stack lainya pada link dibawah ini :

DAFTAR PUSTAKA

http://www.klikartikel.com/2014/12/mengenal-stack-pada-c.html
https://bekti.net/blog/implementasi-stack-di-cpp/
https://primaangelsnote.blogspot.com/2019/03/algoritma-dan-pemrograman-2-stuck.html

0 komentar:

Posting Komentar

animasi  bergerak gif

Popular Posts

Blogger templates

Blogroll

About

Diberdayakan oleh Blogger.

Cari Blog Ini

Postingan lain

Translate

Blogger templates

Pages

Pages

Popular Posts

 

Designed by: Compartidísimo
Images by: DeliciousScraps©