Sabtu, 06 Juni 2015

stack

Definisi STACK
Stack atau tumpukan bisa diartikan sebagai kumpulan data yang seolaholah diletakkan di atas data yang lain.
Stack adalah suatu urutan elemen yang elemennya dapat diambil dan ditambah hanya pada posisi akhir (top) saja

Stact Bersifat LIFO (Last In First Out).
Operasi pada Stack
-IsFull  Mengecek apakah STACK sudah penuh
-IsEmpty Mengecek apakah STACK sudah kosong
-Push  Menambahkan data pada STACK pada tumpukan paling atas
-Pop  mengambil data pada STACK pada tumpukan paling atas
-Print  mencetak semua data dalam tumpukan
Fungsi Push
Untuk memasukkan elemen ke stack, selalu menjadi elemen teratas stack.
Tambah satu (increment)   nilai top of stack terlebih dahulu setiap kali ada
penambahan elemen stack, asalkan stack masih belum penuh, kemudian isikan 
nilai  baru  ke  stack  berdasarkan  indeks  top  of  stack  setelah ditambah satu
(diincrement).
Seperti gambar di berikut ini.








Fungsi Pop
Untuk mengambil elemen teratas dari stack. Ambil dahulu nilai elemen teratas stack dengan mengakses top of stack, tampilkan nilai yang akan diambil terlebih dahulu, baru didecrement nilai top of stack sehingga jumlah elemen stack berkurang.









Jenis - jenis STACK
*STACK ada 2 jenis :
*Single Stack
*Double Stack
Single Stack
*Single Stack dapat direpresentasikan menggunakan array satu dimensi.









Algoritma PUSH
if (Top < n-1) 
  { Top = Top + 1;
     S[Top] = x;
  }
  else
  cout<<“Stack Penuh”;
Algoritma POP
if (Top > -1) 
  { x = S[Top];
    Top = Top - 1;
  }
  else
  cout<<“Stack Kosong”;
Double Stack
Disebut juga Stack Ganda
Prinsip dan Konsep Proses Double Stack
*Prinsip proses :
  LIFO (Last In First Out) baik untuk Stack1 maupun untuk Stack2
*Proses pada Double Stack :
*AWAL (Inisialisasi)
*PUSH1 (Push untuk Stack1)
*POP1 (Pop untuk Stack1)
*PUSH2 (Push untuk Stack2)

*POP2 (Pop untuk Stack2)


Tidak ada komentar:

Posting Komentar