algoritma dan struktur data - stack

Download Algoritma dan Struktur Data - Stack

Post on 30-Jun-2015

154 views

Category:

Engineering

5 download

Embed Size (px)

DESCRIPTION

Pengenalan sebuah struktur data pada pemrograman yaitu tumpukan atau stack

TRANSCRIPT

  • 1. TumpukanAlgoritma danStruktur DataGeorgius Rinaldododo@kuliahkita.com

2. PendahuluanTumpukan adalah sebuah struktur penyimpanan datayang dapat menyimpan data secara berurut dan diambilterurut pula layaknya tumpukan.Tumpukan memiliki prinsip Last in First Out (LIFO). Karenaseperti tumpukan, benda yang paling terakhir diletakan,akan diambil terlebih dahulu. Penyisipan elemen akandiletakkan di paling atas, tidak di tengah-tengah elemen. 3. Metode pada TumpukanTerdapat beberapa method dasar pada tumpukan:1. Push : menambahkan data ke top tumpukan2. Pop : mengambil dari tumpukan, elemen paling atashilang dari tumpukan3. Top : mengambil nilai elemen teratas dari tumpukan4. Isempty : memeriksa apakah tumpukan kosong 4. Struktur TumpukanStack hampir sama dengan list, hanyasaja stack memiliki kelakuan method yangberbeda yaitu pop. Ketika di pop, elemenakan hilang dan digantikan elemen ke-2menjadi yang teratas.Sementara method sisanya seperti pushsama dengan insertion hanya padaelemen teratas dan top untuk mengetahuielemen terakhir.push poptop 5. Contoh Tumpukan Terbatas (larik)Top IdxMaxx x x x x xTop (stack kosong) 6. Contoh TDA Larik Tumpukan Integertype Stack: < integer capacity /* kapasitas stack */integer top /* indeks top */integer infoTop /* nilai teratas pada stack */integer S[capacity] /* S menampung elemen stack */ >/* mengembalikan indeks kosong teratas pada stack */function top(Input S: Stack) integer/* mengembalikan nilai teratas pada stack */function infoTop(Input S: Stack) integer/* memeriksa apakah stack kosong */function isEmpty(Input S: Stack) boolean/* menginisialisasi stack yang baru dibuat */Procedure buatStack(Output S: Stack)/* menambah elemen pada stack */Procedure push(Input/Output S: Stack, X: integer)/* mengambil nilai teratas pada stack */Procedure pop(Input/Output S: Stack, Output X: integer) 7. Penjelasan TDA TumpukanSebuah tumpukan memiliki kapasitas yaitu jumlah elemenyang bisa diisi pada penampung berbentuk larik, karenalarik ini juga akan didefinisikan memiliki besar = kapasitas.Lalu juga terdapat Top dan infoTop. Top merupakanindeks kosong teratas tumpukan sehingga setiapmengambil nilai, kita tidak perlu lagi mencari indeksteratas pada larik penampung untuk operasi. SedangkaninfoTop yang diset juga mempermudah mengembalikannilai teratas tanpa pencarian. 8. Contoh Kode C++ Array Stack Integer#include using namespace std;typedef struct stack {int capacity; /* Kapasitas dari tumpukan */int top; /* Indeks dari tumpukan paling atas yang masih kosong */int infoTop; /* Informasi tumpukan paling atas yang terisi */int S[10]; /* Penampung tumpukan dalam larik */} Stack;void buatStack(Stack &S) {S.capacity = 10; // inisialisasi kapasitas stackS.capacity = 0; // inisialisasi posisi topfor (int i=0; i