Stack / Tumpukan pada Struktur Data - RedBlack22

Stack / Tumpukan pada Struktur Data

/*dibawah halaman*/
Stack / Tumpukan

Apa itu Stack?
Stack merupakan sebuah koleksi objek yang menggunakan prinsip LIFO (Last In First Out), yaitu data yang terakhir kali dimasukkan akan pertama kali keluar dari tumpukan tersebut. Tumpukan dapat diimplementasikan sebagai representasi berkait atau kontigu (dengan tabel fix).

Contoh dalam kehidupan Sehari-hari misalkan buku, jika kita mau menyusun buku pasti kita bakal menumpuk buku buku tersebut na jadi anda bisa membayangkan buku buku tersebut di tumpuk

na menurut saya jika membayangkan susah saya masukin aja tumpukan buku . Jadi jika lebih mudah membayangkannya ingar seperti tumpukan buku , jadi tumpukan buku di atas adalah konsep dari stack.

konsep stack adalah LIFO yang artinya Last in First Out dalam arti yang terakhir masuk dan pertama keluar jadi jika di artikan di tumpukan buku di atas adalah misalknya jika kita mau mengambil buku di atas yang paling atas ya yang paling atas itu adalah buku yang berwarna orange jadi buku orange yang akan pertama kali di ambil sebab dia masuk terakhir jadi dia keluar lebih awal dari buku buku yang di bawahnya.


Dalam konsep Stack ini ada beberapa Method yang biasa kita kenal yaitu adalah :

1.PUSH =  Memasukan ke dalam Stack /Tumpukan 

Misalnya 

Misalkan kita memasukan nilai Push(4) dan push (5) 


2.POP= Kebalikan dari Push jika Push memasukan jika Pop mengambil data dari stack

misalkan kita sudah mempunyai nilai 4 dan 5 kemudian kita Pop yang ke ambil adalah nilai paling atas
jadi Pop=5 


3,PEEK = Melihat elemen yang teratas dari sebuah Stack 

ingat ya PEEK dan POP itu beda Peek itu melihat nilai yang paling teratas sedangkan Pop mengambil nilainya jadi jika di contohi dengan gambar di atas Peek = 5 karena nilainya paling atas adalah 5


4.Isempty = Melihat apakah Stack itu kosong atau tidak


Sebagai Contoh 
Balik Kata 
Misalkan nama yang saya inginkan Yogi jika di balik menjadi Igoy kan jadi kita tinggal ngePush aja nama nama mereka 

Push(I)
Push(G)
Push(O)
Push(Y)

Pop I (dalam arti pop ketemu I)
Pop G
Pop O
Pop Y


contoh Scrip untuk Stack adalah :

#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iostream>
#define MaxElemen 200 //menentukan batas max elemen
using namespace std;
struct Tumpukan
{
 char Isi[MaxElemen];
   int Atas;
} T;

//sub program PUSH berfungsi memasukkan elemen ke dalam STACK
void PUSH (char x){ //fungsi push
if(T.Atas == MaxElemen){  //untuk mengecek apakah stack sudah penuh
 cout<<"Tumpukan Sudah Penuh";
 getch();
}
else{
 T.Atas = T.Atas + 1;
 T.Isi[T.Atas] = x;
}
}

//sub program POP berfungsi mengambil elemen dari STACK
char POP(){
 char hasil;
 if(T.Atas == 0){
    cout<<"Tumpukan sudah kosong";
      hasil = ' ';
   }
   else{
    hasil = T.Isi[T.Atas];
      T.Atas = T.Atas - 1;
   }
   return hasil;
}

//program utama

{
     int I;       // pencacah
     char Kalimat[MaxElemen];   //kalimat yang akan dibalik
     clrscr();
     T.Atas =0;  // nilai awal tumpukan
     cout<<"Aplikasi Stack untuk Membalik kalimat\n";
     cout<<"----------------------------------------\n\n";

     // Inputkan kalimat yang akan dibalik
     cout<<"Masukkan sembarang kalimat : ";gets(Kalimat);

     clrscr();
     cout<<"Kalimat Asli : "<<Kalimat;

     //Mem-PUSH huruf dari kalimat ke dalam tumpukan
     for(I=0;I<strlen(Kalimat);I++)
     {
      PUSH(Kalimat[I]);
      }

      cout<<"\nKalimat Setelah di Balik : ";

      //Mem-POP sekaligus mencetak isi tumpukan sehingga diperoleh kalimat yang terbalik
      for (I=0;I<strlen(Kalimat);I++)
      {
       cout<<""<<POP();
      }
       getch();

    } //Akhir Program Utama


Sekian terimakasih jika ini membantu untuk anda silahkan komen dan share ya

No comments:

Powered by Blogger.