Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

STACK Budi arifitama.

Presentasi serupa


Presentasi berjudul: "STACK Budi arifitama."— Transcript presentasi:

1 STACK Budi arifitama

2 Pengertian STACK STACK berarti tumpukan.
Konsep STACK digunakan dalam struktur data. A B C D TOP IN OUT 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. 25 12 1 17 2 15 33 3 4 5 6 7 8 9 S[10] TOP 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 Stack Posisi TOP KOSONG Top = -1 PENUH Top = n-1 BISA DIISI Top < n-1 ADA ISINYA Top > -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 TOP 2 25 12 1 17 2 3 4 5
1 17 2 3 4 5 6 50 7 8 44 9 Stack 1 Stack 2 -1 6 23 10 11 12 S[12] 2 TOP 1 8 TOP 2 X

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 Stack Posisi TOP Stack1 KOSONG Top1 = -1
Top2 = 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 ISINYA Top1 > -1 Stack2 ADA ISINYA Top2 < 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."

Presentasi serupa


Iklan oleh Google