• Tidak ada hasil yang ditemukan

STACK. Materi Kuliah : Struktur Data & Algoritma Prodi Sistem Informasi - FakultasTeknik UPI Y.A.I

N/A
N/A
Protected

Academic year: 2022

Membagikan "STACK. Materi Kuliah : Struktur Data & Algoritma Prodi Sistem Informasi - FakultasTeknik UPI Y.A.I"

Copied!
16
0
0

Teks penuh

(1)

Materi Kuliah : Struktur Data & Algoritma

Prodi Sistem Informasi - FakultasTeknik UPI –Y.A.I

STACK

(2)

PENGERTIAN STACK

Sering dikenal dengan istilahTumpukan

Proses menyusun elemen dimana elemen yang pertama

dimasukkan akan berada dibawah, elemen kedua akan berada diatas yang pertama, dst.

Proses pengambilan elemen akan dimulai dari elemen yang paling atas dari tumpukkan atau yang terakhir dimasukkan

LIFO (Last In First Out) : Elemen yang terakhir dimasukkan akan menjadi elemen yang pertama dikeluarkan

Contoh : tumpukan barang, tumpukkan buku, pemrosesan data di sistem komputer dengan menggunakan stack, dsb.

(3)

PENGERTIAN STACK

Jika ada elemen yang dimasukkan maka elemen tersebut akan diletakan di atas elemen E

Jika dari tumpukan tersebut akan dikeluarkan maka elemen pertama yang akan dikeluarkan adalah E

E D C B A

(4)

ISTILAH DALAM STACK

Kapasitas Maksimum Stack (MAX)

Bilangan yang menunjukkan banyaknya elemen yang dapat ditampung oleh Stack

Penunjuk ElemenTerakhir (TOP)

Bilangan yang menunjukkan posisi elemen terakhir

Proses Memasukkan Elemen Ke Stack (PUSH)

Proses Mengeluarkan Elemen dari Stack (POP)

Proses Mengosongkan Stack atau kondisi awal Stack (INISIALISASI)

E D C B A

Semua Proses Dalam Stack Menggunakan PenunjukTOP

(5)

KONDISI PADA STACK

Stack Penuh JikaTop = Max

Algoritma :

JikaTop = Max maka Stack Penuh JikaTop < Max maka Stack Tidak Penuh

Stack Kosong JikaTop = 0

Algoritma :

JikaTop = 0 maka Stack Kosong

JikaTop > 0 maka Stack Tidak Kosong

7 6 5 4 3 2 1

7 G

6 F

5 E

4 D

3 C

2 B

1 A

(6)

INISIALISASI

Proses menjadikan Stack ke

kondisi awal atau mengosongkan Stack

Top diberikan nilai berada di bawah posisi elemen pertama → 0

Algoritma :

Inisialisasi (Stack) {

Ubah nilaiTop menjadi 0 }

7 6 5 4 3 2 1

(7)

PUSH

Proses memasukkan elemen ke Stack

Dapat dilakukan jika Stack Tidak Penuh

Algoritma :

Push (Stack) {

Jika Stack tidak penuh Tambahkan nilaiTop

Masukkan elemen pada posisi Top

Jika Stack penuh

Tampilkan pesan kesalahan }

7 6 5 4 3 B 2 A 1

7 6 5 4 C 3 B 2 A 1

(8)

POP

Proses mengeluarkan elemen dari Stack

Dapat dilakukan jika Stack Tidak Kosong

Algoritma : Pop (Stack) {

Jika Stack tidak kosong

Tampilkan elemen pada posisi Top

Kurangi nilaiTop Jika Stack kosong

Tampilkan pesan kesalahan }

7 6 5 4 3 2 A 1 7 6 5 4 3 B 2 A 1

(9)

LATIHAN

1. Jika diberikan stack spt di samping tuliskan posisi Top dan isi Stack setelah perintah berikut dieksekusi

a. Push(Z), Push(K), Pop(), Push(G),Push(H), Push(T), Push(R), Push(Y), Pop(), Pop()

b. Pop(), Push(G),Push(H), Push(T), Push(R), Push(Y), Pop(), Pop(), Push(Z), Push(K), Pop(), Push(P), Push(U)

2. Tuliskan Algoritma untuk

menampilkan isi sebuah Stack

(10)

STACK DENGAN ARRAY

Implementasi dengan menggunakan array 1 dimensi

No indeks awal untuk elemen pertama dari stack adalah 0

No indeks akhir untuk elemen terakhir dari stack adalah max-1, dimana max adalah maksimum banyaknya elemen yang dapat ditampung oleh stack

7 6 5 4 C 3 B 2 A 1

IN OUT

MAX = 7 TOP

6 5 4 3 C 2 B 1 A 0

Implementasi dengan array

(11)

KONDISI STACK DENGAN ARRAY

Stack Penuh JikaTop = Max - 1

Algoritma :

JikaTop = Max – 1 maka Stack Penuh

JikaTop < Max – 1 maka Stack Tidak Penuh

Stack Kosong JikaTop = -1

Algoritma :

JikaTop = -1 maka Stack Kosong

JikaTop > -1 maka Stack Tidak Kosong

(12)

INISIALISASI STACK DENGAN ARRAY

Proses menjadikan Stack ke kondisi awal atau mengosongkan Stack

Top diberikan nilai berada di bawah posisi elemen pertama → -1 Algoritma :

Inisialisasi (Stack) {

Ubah nilaiTop menjadi -1 }

(13)

PUSH

Proses memasukkan elemen ke Stack

Dapat dilakukan jika Stack Tidak Penuh

Algoritma :

Push (Stack) {

Jika Stack tidak penuh Tambahkan nilaiTop

Masukkan elemen pada posisiTop Jika Stack penuh

Tampilkan pesan kesalahan }

(14)

POP

Proses mengeluarkan elemen dari Stack

Dapat dilakukan jika Stack Tidak Kosong

Algoritma : Pop (Stack) {

Jika Stack tidak kosong

Tampilkan elemen pada posisiTop Kurangi nilaiTop

Jika Stack kosong

Tampilkan pesan kesalahan }

(15)

KESIMPULAN

Stack dapat diimplementasikan dengan array 1 dimensi

Implementasi Stack dengan menggunakan array pada prinsipnya hanya mengubah nilai awal stack menjadi 0 karena indeks array dimulai dengan 0 → top = -1 jika stack kosong

Operasi yang dilakukan pada stack dengan menggunakan array adalah dengan memanipulasi nomor indeks dari array yang menunjukkan posisi top

(16)

LATIHAN

Pada Bahasa Java, dikenal operasi pada stack selain push dan pop adalah peek. Peek adalah perintah yang menampilkan elemen paling atas dari suatu stack. Buatlah algoritma untuk operasi tersebut

Referensi

Dokumen terkait

Daya listrik yang disediakan oleh PLTS sebesar 5000 W untuk pemakaian selama 10 jam, menggunakan panel surya sebanyak 40 panel, daya puncak setiap panel surya 250 WP,

Dengan demikian, Anwar Zahid yang secara pribadi adalah seorang kyai, pemegang otoritas agama di masyarakat, dengan media baru yang ia gunakan dalam menyebarkan dakwahnya

beberapa wilayah di Indonesia, paling tidak dapat dijadikan sebagai salah satu tolok ukur bahwa masyarakat kita belum sepenuhnya reseptif terhadap sesuatu yang baru, sekalipun

Akan tetapi hakim tetap pada Undang-Undang yang berlaku selama tidak ada perjanjian yang mengikat antara keduanya dalam membagi harta bersama selama dalam

Organisasi sosial (social institution) dan pendidikan adalah suatu lembaga yang berkaitan dengan cara bagaimana seseorang berhubungan dengan orang lain,

Formulasi bubur bayi instan memberikan pengaruh sangat nyata terhadap kadar air, kadar abu, kadar protein, kadar lemak, kadar serat kasar, kadar karbohidrat, densitas kamba, uji

Berdasarkan hal tersebut penulis penulis mencoba membuat sistem pakar dengan judul “Sistem Pakar Untuk Diagnosa dan Pencari solusi Penyakit Tulang Menggunakan

Bila kita tanyakan satu persatu kepada para penerima beasiswa studi ke luar negeri, kita akan mendapatkan satu hal yang sama diantara mereka, yaitu mereka sudah membangun