Stack

2,203 views
2,164 views

Published on

struktur data bahasan pertemuan 5

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,203
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
143
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Stack

  1. 1. STRUKTUR DATA Stack STMIK TEKNOKRAT Yenni Fransiska, S.Kom 4/26/2008
  2. 2. STACK - Stack atau tumpukan adalah suatu stuktur data yang penting dalam pemrograman - Bersifat LIFO (Last In First Out) - Benda yang terakhir masuk ke dalam stack akan menjadi benda pertama yang dikeluarkan dari stack 4/26/2008
  3. 3. Operasi-operasi/fungsi Stack • Push Untuk menambahkan item pada tumpukan paling atas • Pop Untuk mengambil item teratas • Clear Untuk mengosongkan stack • IsEmpty Untuk memeriksa apakah stack kosong • IsFull Untuk memeriksa apakah stack sudah penuh • Retreive Untuk mendapatkan nilai dari item teratas 4/26/2008
  4. 4. Stack pada Array Deklarasi MAX_STACK #define MAX_STACK 10 Deklarasi STACK dengan struct dan array data typedef struct STACK{ int top; char data[10][10]; }; Ket: misalkan : data adalah array of string, berjumlah 10 data, masing-masing string menampung maksimal 10 karakter 4/26/2008
  5. 5. Inisialiasi • Pada mulanya isi top dengan -1, karena array dalam C/C++ dimulai dari 0, yang berarti stack adalah KOSONG • Top adalah suatu variabel penanda dalam STACK yang menunjukkan elemen teratas Stack sekarang. Top Of Stack akan selalu bergerak hingga mencapai MAX of STACK sehingga menyebabkan stack PENUH 4/26/2008
  6. 6. Ilustrasi stack pada saat inisialisasi 4/26/2008
  7. 7. Fungsi IsFull • Untuk memeriksa apakah stack sudah penuh? • Dengan cara memeriksa top of stack, jika sudah sama dengan MAX_STACK-1 maka full, jika belum (masih lebih kecil dari MAX_STACK-1) maka belum full 4/26/2008
  8. 8. Ilustrasi 4/26/2008
  9. 9. Fungsi IsEmpty • Untuk memeriksa apakah stack masih kosong? • Dengan cara memeriksa top of stack, jika masih -1 maka berarti stack masih kosong! 4/26/2008
  10. 10. 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) 4/26/2008
  11. 11. Ilustrasi 4/26/2008
  12. 12. 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 4/26/2008
  13. 13. Ilustrasi 4/26/2008
  14. 14. Menampilkan Stack 4/26/2008

×