Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

STACK Budi arifitama. Pengertian STACK STACK berarti tumpukan. Konsep STACK digunakan dalam struktur data. A B C D TOP INOUT Berlaku prinsip LIFO (Last.

Presentasi serupa


Presentasi berjudul: "STACK Budi arifitama. Pengertian STACK STACK berarti tumpukan. Konsep STACK digunakan dalam struktur data. A B C D TOP INOUT Berlaku prinsip LIFO (Last."— Transcript presentasi:

1 STACK Budi arifitama

2 Pengertian STACK STACK berarti tumpukan. Konsep STACK digunakan dalam struktur data. A B C D TOP INOUT Berlaku prinsip LIFO (Last In First Out)

3 Pengertian STACK Dalam Struktur Stack digunakan istilah : PUSH : Simpan,Masuk,Insert,Tulis POP : Ambil,Keluar,Delete,Baca STACK ada 2 jenis : Single Stack Double Stack

4 Single Stack Single Stack dapat direpresentasikan menggunakan array satu dimensi S[10] TOP 4 33 X

5 Prinsip dan Konsep Proses Single Stack Prinsip proses Single Stack adalah : LIFO (Last In First Out) Proses pada Single Stack : AWAL (Inisialisasi) PUSH (Insert, Masuk, Simpan, Tulis) POP (Delete, Keluar, Ambil, Baca/Hapus)

6 Kondisi Single Stack Kondisi Stack ditentukan oleh posisi atau isi TOP. Kondisi StackPosisi TOP KOSONGTop = -1 PENUHTop = n-1 BISA DIISITop < n-1 ADA ISINYATop > -1

7 Algoritma PUSH if (Top < n-1) { Top = Top + 1; S[Top] = x; } else cout<<“Stack Penuh”;

8 Algoritma POP if (Top > -1) { x = S[Top]; Top = Top - 1; } else cout<<“Stack Kosong”;

9 Contoh: PUSH Stack sampai penuh kemudian POP isi Stack sampai kosong Buat program untuk menyiapkan array satu dimensi yang akan digunakan untuk mengisi Stack S sebanyak 5 elemen, bertipe integer. Input data dan PUSH ke Stack S. Proses input akan selesai setelah Stack penuh atau data yang diinputkan = 999. POP isi Stack kemudian cetak ke layar.

10 Double Stack Disebut juga Stack Ganda TOP 1 X 8 TOP 2 S[12] TOP 1 TOP Stack 1 Stack 2 12

11 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)

12 Kondisi Double Stack Kondisi StackPosisi TOP Stack1 KOSONGTop1 = -1 Stack2 KOSONGTop2 = n Stack PENUH (baik Stack1 maupun Stack2 tidak BISA DIISI) Top2 – Top1 = 1 Stack BISA DIISI (baik Stack1 maupun Stack2 BISA DIISI) Top2 – Top1 > 1 Stack1 ADA ISINYATop1 > -1 Stack2 ADA ISINYATop2 < n

13 Algoritma PUSH1 (mengisi Stack1) Periksa apakah Stack1 BISA DIISI if (Top2 – Top1 > 1) { Top1 = Top1 + 1; S[Top1] = x; } else cout<<“Stack Penuh”;

14 Algoritma POP1 (mengambil isi Stack1) Periksa apakah Stack1 ADA ISINYA if (Top1 > -1) { x = S[Top1]; Top1 = Top1 - 1; } else cout<<“Stack Kosong”;

15 Algoritma PUSH2 (mengisi Stack2) Periksa apakah Stack2 BISA DIISI if (Top2 – Top1 > 1) { Top2 = Top2 - 1; S[Top2] = x; } else cout<<“Stack Penuh”;

16 Algoritma POP2 (mengambil isi Stack2) Periksa apakah Stack2 ADA ISINYA if (Top2 < n) { x = S[Top2]; Top2 = Top2 + 1; } else cout<<“Stack Kosong”;


Download ppt "STACK Budi arifitama. Pengertian STACK STACK berarti tumpukan. Konsep STACK digunakan dalam struktur data. A B C D TOP INOUT Berlaku prinsip LIFO (Last."

Presentasi serupa


Iklan oleh Google