Di sini saya akan menjelaskan
sebuah struktur data yang disebut dengan stack. Stack adalah sekumpulan data
yang bertipe sama yang seolah-olah membentuk sebuah tumpukan yang dimana setiap
penambahan data maupun pengambilan data selalu terjadi di elemen yang paling
atas yaitu TOP, sehingga stack bersifat
LIFO(Last In First Out). 
Operasi-operasi yang bisa
dilakukan pada stack adalah
·        
Push : sebelum menambahkan data, program akan
melakukan proses checking apakah stack tersebut sudah penuh atau tidak, yaitu
fungsi IsFull(top==max_stack-1) , jika stack belum penuh maka stack akan di
beri data, lalu menjadikan data yang teratas menjadi TOP
·        
 Pop : sebelum
mengambil data, program akan melakukan proses checking apakah stack tersebut
dalam keadaan kosong atau isi di sebut fungsi IsEmpty(top==-1), jika stack
masih isi maka data pada stack akan di ambil dan data yang dibawahnya akan di
jadikan top
·        
Print : menampilkan seluruh data yang ada pada
stack
Contoh coding C++ tentang stack
| 
   
#include <conio> 
#include <iostream> 
#include <stdio> 
//deklarasi  stack dengan struck dan array 
struct STACK{ 
     int data[5]; 
   int atas; 
}; 
//deklarasi v tumpuk dari
  struct 
STACK tumpuk; 
void main(){ 
     clrscr(); 
   int pilihan,baru,i; 
   //inisialisasi awal 
   tumpuk.atas=-1; 
   do{ 
   clrscr(); 
   cout<<"Push
  Data"<<endl; 
   cout<<"Pop
  Data"<<endl; 
   cout<<"print
  data"<<endl; 
   cout<<endl; 
   cout<<"Pilihan : ";
  cin>>pilihan; 
   switch(pilihan){ 
     case
  1 : { 
           if
  (tumpuk.atas==5-1){ 
         cout<<"Tumpukan
  Penuh"; 
         getch(); 
         } 
         else{ 
         cout<<"Data yang akan di
  push :" ; cin>>baru; 
         tumpuk.atas++; 
         tumpuk.data[tumpuk.atas]=baru; 
         } 
         break; 
      } 
           case 2 : { 
           if
  (tumpuk.atas==-1){ 
         cout<<"Tumpukan
  Kosong"; 
         getch(); 
         } 
         else{ 
         cout<<"data yang akan di
  pop = "<<tumpuk.data[tumpuk.atas]<<endl; 
         tumpuk.atas--; 
         getch(); 
         } 
      } 
      case 3 : { 
           if
  (tumpuk.atas==-1){ 
           cout<<"tumpukan
  kosong"<<endl; 
           getch(); 
         } 
         else { 
           cout<<"Data
  = "<<endl; 
            for(i=0;i<=tumpuk.atas;i++){ 
                cout<<tumpuk.data[i]<<"
  "; 
           
  } 
            getch(); 
         } 
         break; 
      } 
      default:{ 
           cout<<"tidak
  ada dalam pilihan"<<endl; 
      } 
   } 
   } 
     while(pilihan>=1 && pilihan<=3); 
   getch(); 
} 
 | 
 
Contoh kode dari MataKuliah Praktikum Struktur Data.







0 komentar:
Posting Komentar