• Tidak ada hasil yang ditemukan

• Posisi akhir data Æ top of stack

N/A
N/A
Protected

Academic year: 2018

Membagikan "• Posisi akhir data Æ top of stack"

Copied!
17
0
0

Teks penuh

(1)

Tumpukan (Stack)

Susunan koleksi data dimana proses

penambahan data (add) dan penghapusan data

(delete) selalu dilakukan melalui posisi akhir data.

Posisi akhir data

Æ

top of stack

Stack bersifat LIFO (Last In First Out)

LIFO

Æ

Data yang terakhir masuk ke dalam stack

(2)

Operasi Stack

Macam-macam operasi stack:

• Push: menambah data pada stack (tumpukan paling atas) • Pop: menghapus data pada stack (tumpukan paling atas) • IsEmpty: menguji apakah stack dalam keadaan kosong • IsFull: menguji apakah stack dalam keadaan penuh

• Print: menampilkan semua elemen (isi) stack

• Clear: mengosongkan atau menghapus semua elemen (isi) stack

(3)

Implementasi stack dengan struct

Langkah-langkah...

• Definisikan konstanta MAX_STACK untuk menyimpan nilai maksimum isi stack

• Definisikan stack menggunakan tipe data struct (struct stack) • Elemen struct stack adalah:

int top dan int data[MAX_STACK - 1] (top Æ mencatat posisi data teratas

data Æ mencatat isi stack)

(4)

Deklarasi awal

• Deklarasi MAX_STACK

#define MAX_STACK 8

• Deklarasi STACK dengan tipe data struct

typedef struct STACK {

int top;

int data[MAX_STACK - 1]; };

• Deklarasi tumpuk yang bertipe STACK

(5)

Inisialisasi

Inisialisasi Stack

• Inisialisasi isi top = -1 , berarti isi stack

masih kosong, atau belum berisi data.

(

ingat indeks array dalam bahasa C dimulai dari 0

)

• top

Æ

variabel penanda yang

(6)

Stack dalam keadaan kosong

(7)

Stack dalam keadaan penuh

(8)

Fungsi IsEmpty dan IsFull

Fungsi IsEmpty (

memeriksa apakah Stack masih kosong?

)

Memeriksa top, jika top == -1, berarti stack masih kosong

Fungsi IsFull (

memeriksa apakah Stack sudah penuh?

)

(9)

Fungsi Push

Fungsi Push

• Untuk menambah data pada stack (tumpukan paling atas). Data yang diinputkan selalu menjadi elemen teratas Stack (Top of Stack).

Algoritma Push

Apabila stack belum terisi penuh, lakukan: – Perbarui nilai top, dengan menambah satu

(increment) nilai top (top=top+1 atau top++)

– Isikan data baru ke stack (pada posisi top yang baru) • Apabila stack telah terisi penuh, batalkan penambahan

(10)

Ilustrasi

fungsi

P

ush

struktur data

-tumpukan

1

(11)

Fungsi POP

Fungsi Pop

• Untuk menghapus data pada stack (tumpukan paling

atas). Data yang dihapus selalu menjadi elemen teratas Stack (Top of Stack)

Algoritma Pop

Apabila stack tidak dalam keadaan kosong, lakukan: – Tampilkan data yang akan dihapus, hapus data

tersebut.

– Perbarui nilai top, dengan mengurangi satu (decrement) nilai top (top=top-1 atau top--)Apabila stack dalam keadaan kosong, batalkan

(12)

Ilustrasi

fungsi

P

op

struktur data

-tumpukan

1

(13)

Fungsi Print

Fungsi Print

Untuk menampilkan semua elemen (isi) stack.

Menggunakan proses perulangan, dimulai dari

indeks array terbesar, diteruskan ke indeks yang

lebih kecil.

Nilai top tidak diubah

(14)
(15)

Fungsi Clear

Fungsi Clear

• Untuk mengosongkan atau menghapus semua elemen

(isi) stack

Cara1. Menggunakan proses Pop yang diulang

sebanyak Top+1 kali

Perhatikan, perulangan bukan sebanyak MAX_STACK

(16)

Fungsi Peek

Fungsi Peek (‘mengintip’)

Digunakan untuk menampilkan atau melihat isi

stack pada posisi teratas (top of stack) saja.

(17)

Sumber Referensi

– James Roberge, Stefan Brandle, dan David

Whittington, 2003, C++ Data Structures 2nd

Edition, Jones and Bartlett Publishers, Inc.,

Sudbury, Massachusetts.

– Antonius Rachmat Chrismanto – UKDW

Yogyakarta.

– P. Insap Santosa, 1992, Struktur Data

Menggunakan Turbo Pascal 6.0, Penerbit

Andi, Yogyakarta.

Referensi

Dokumen terkait

Seperti halnya pada stack, untuk mengimplementasikan struktur data queue ke dalam pemrograman, kita dapat menggunakan struktur data yang pernah kita ketahui, seperti

Deklarasikan Stack dalam bentuk Record dimana didalamnya mengandung data dalam bentuk array dan suatu variabel inisialisasi untuk memantau posisi terakhir dari data yang ada

Deklarasikan Stack dalam bentuk Record dimana didalamnya mengandung data dalam bentuk array dan suatu variabel inisialisasi untuk memantau posisi terakhir dari data yang ada

Hasil stack data digunakan untuk melakukan migrasi dalam domain waktu dengan menggunakan kecepatan yang sama dengan kecepatan stacking.. Proses

Mahasiswa tidak mampu sama sekali Memahami struktur data dan macam- macmnya Mengimplem entasikan dalam sebuah aplikasi sederhan adalam list, double list, stack, queue,

Dengan menggunakan Java versi JDK, implementasi struktur data menjadi lebih mudah karena sudah disediakan dalam bentuk kelas dengan istilah-istilah yang sama dengan

Golongan darah, Nama Ibu dalam keadaan kosong lalu klik tombol Tambah 2 Salah satu dari input data NIK, Nama Anak, Tempat Lahir, Tanggal Lahir, Jenis Kelamin, Berat

Laporan akhir akuisisi pengolahan data seismik refleksi TG3231 modul ke-03 QC, F-K filter dan near offset