stack

14
4/26/2008 STRUKTUR DATA Stack STMIK TEKNOKRAT Yenni Fransiska, S.Kom

Upload: guest5f56452

Post on 04-Nov-2014

5 views

Category:

Education


1 download

Tags:

DESCRIPTION

struktur data bahasan pertemuan 5

TRANSCRIPT

Page 1: Stack

4/26/2008

STRUKTUR DATAStack

STMIK TEKNOKRATYenni Fransiska, S.Kom

Page 2: Stack

4/26/2008

STACK- Stack atau tumpukan adalah suatu stuktur data yang penting dalampemrograman

- Bersifat LIFO (Last In First Out)- Benda yang terakhir masuk ke dalam stack akan menjadi bendapertama yang dikeluarkan dari stack

Page 3: Stack

4/26/2008

Operasi-operasi/fungsi Stack

• Push Untuk menambahkan item pada tumpukanpaling 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

Page 4: Stack

4/26/2008

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-masingstring menampung maksimal 10 karakter

Page 5: Stack

4/26/2008

Inisialiasi

• Pada mulanya isi top dengan -1, karena array dalamC/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

Page 6: Stack

4/26/2008

Ilustrasi stack pada saat inisialisasi

Page 7: Stack

4/26/2008

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 lebihkecil dari MAX_STACK-1) maka belum full

Page 8: Stack

4/26/2008

Ilustrasi

Page 9: Stack

4/26/2008

Fungsi IsEmpty

• Untuk memeriksa apakah stack masih kosong?• Dengan cara memeriksa top of stack, jika masih -1 maka

berarti stack masih kosong!

Page 10: Stack

4/26/2008

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)

Page 11: Stack

4/26/2008

Ilustrasi

Page 12: Stack

4/26/2008

Fungsi Pop• Untuk mengambil elemen teratas dari stack.• Ambil dahulu nilai elemen teratas stack dengan mengakses

top of stack, tampilkan nilai yang akan diambil terlebihdahulu, baru didecrement nilai top of stack sehinggajumlah elemen stack berkurang

Page 13: Stack

4/26/2008

Ilustrasi

Page 14: Stack

4/26/2008

Menampilkan Stack