Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

» Contoh deklarasi Max_Stack #define Max_Stack 10 » Contoh deklarasi STACK dengan struct dan array data struct stack { int top; int data[10]; }; » Deklarasi/buat.

Presentasi serupa


Presentasi berjudul: "» Contoh deklarasi Max_Stack #define Max_Stack 10 » Contoh deklarasi STACK dengan struct dan array data struct stack { int top; int data[10]; }; » Deklarasi/buat."— Transcript presentasi:

1

2 » Contoh deklarasi Max_Stack #define Max_Stack 10 » Contoh deklarasi STACK dengan struct dan array data struct stack { int top; int data[10]; }; » Deklarasi/buat variabel dari struct stack tumpuk;

3 Inisialisasi Stack » Pada mulanya isi top dengan -1, karena array dalam bahasa C dimulai dari 0, yang berarti bahwa data stack adalah KOSONG! » Top adalah suatu variabel penanda dalam Stack yang menunjukkan elemen teratas data Stack sekarang. Top Of Stack akan selalu bergerak hingga mencapai MAX of STACK yang menyebabkan stack PENUH!

4 Ilustrasi Stack pada saat inisialisasi! void createEmpty(stack *s) { (*s).top = - 1; }

5 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

6 Ilustrasi Stack pada kondisi Full bool isFull (stack s) { bool hasil; hasil = false; if (s.top == Max_Stack - 1) { hasil = true; } return hasil; }

7 Fungsi IsEmpty » Untuk memeriksa apakah data Stack masih kosong? » Dengan cara memeriksa top of stack, jika masih -1 maka berarti data Stack masih kosong! bool isEmpty (stack s) { bool hasil; hasil = false; if (s.top == -1) { hasil = true; } return hasil; }

8 Fungsi Push » Untuk memasukkan elemen ke data Stack. Data yang diinputkan selalu menjadi elemen teratas Stack (yang ditunjuk oleh ToS) » Jika data belum penuh, ˃Tambah satu (increment) nilai top of stack lebih dahulu setiap kali ada penambahan ke dalam array data Stack. ˃Isikan data baru ke stack berdasarkan indeks top of stack yang telah di-increment sebelumnya. » Jika tidak, outputkan “Penuh”

9

10 void push(string data, stack *s) { if (isFull(*s)) { cout<<"Stack Penuh<

11 Fungsi Pop » Untuk mengambil data Stack yang terletak paling atas (data yang ditunjuk oleh TOS). » Tampilkan terlebih dahulu nilai elemen teratas stack dengan mengakses indeksnya sesuai dengan top of stacknya, baru dilakukan di- decrement nilai top of stacknya sehingga jumlah elemen stack berkurang.

12 void pop(stack *s) { if ((*s).top==1) { (*s).top=-1; } else if ((*s).top != -1) { (*s).top=(*s).top-1; }

13 » Fungsi PrintStack » Untuk menampilkan semua elemen-elemen data Stack » Dengan cara me-loop semua nilai array secara terbalik, karena kita harus mengakses dari indeks array tertinggi terlebih dahulu baru ke indeks yang lebih kecil!

14 void printStack(stack *s) { for (int i=1;i<=(*s).top;i++) { cout<<(*s).data[i]<

15 #include using namespace std; #define Max_Stack 10 struct stack { int top; string data[10]; }; void createEmpty(stack *s); bool isFull(stack s); bool isEmpty(stack s); void push(string data, stack *s); void pop(stack *s); void printStack(stack *s);

16 void main() { stack tumpuk; createEmpty(&tumpuk); push("TV",&tumpuk); push("VCD",&tumpuk); push("Compo",&tumpuk); push("DVD",&tumpuk); push("Kulkas",&tumpuk); push("Setrika",&tumpuk); push("Mixer",&tumpuk); push("Oven",&tumpuk); push("Komp",&tumpuk); cout<<"Data Yang Dimasukan : "<

17 void createEmpty(stack *s) { (*s).top = - 1; } bool isFull (stack s) { bool hasil; hasil = false; if (s.top == Max_Stack - 1) { hasil = true; } return hasil; } bool isEmpty (stack s) { bool hasil; hasil = false; if (s.top == -1) { hasil = true; } return hasil; }

18 void push(string data, stack *s){ if (isFull(*s)) { cout<<"Stack Penuh<

19 void printStack(stack *s) { for (int i=1;i<=(*s).top;i++) { cout<<(*s).data[i]<

20 -Thanks- Algoritma dan Struktur Data


Download ppt "» Contoh deklarasi Max_Stack #define Max_Stack 10 » Contoh deklarasi STACK dengan struct dan array data struct stack { int top; int data[10]; }; » Deklarasi/buat."

Presentasi serupa


Iklan oleh Google