STRUKTUR DATA Stack atau Tumpukan.

Slides:



Advertisements
Presentasi serupa
Queue (Antrian).
Advertisements

bentuknya, yang dapat berubah pada saat runtime.
STRUKTUR DATA array stack dan queue
Pertemuan 5 STACK atau TUMPUKAN IMAM SIBRO MALISI NIM :
Queue.
Pertemuan (6) QUEUE (ANTREAN) IMAM SIBRO MALISI NIM :
Algoritma dan Struktur Data
STACK (Tumpukan).
STRUKTUR DATA version STMIK AMIKOM YOGYAKARTA
STACK.
STACK.
Struktur Data (Data Structure) – IS 2313
Pointer dalam Stack.
STRUKTUR DATA (4) Array Stack(Tumpukkan) dan Queue (Antrian)
STACK.
Queue.
Queue.
STACK.
Algorithm and Data Structures.
PRAKTIKUM STRUKTUR DATA STACK SULIDAR FITRI, M.Sc MARCH, 2014.
STRUKTUR DATA (4) array stack dan queue
Apakah Stack itu ?. Apakah Stack itu ? Pengertian STACK Secara sederhana diartikan dengan : sebagai tumpukan dari benda sekumpulan data yang seolah-olah.
STRUKTUR DATA Queue atau Antrian.
STACK.
Pertemuan 8 Stack dengan Array
Stack Pertemuan 11.
NAMA : siti hajar NIM : UNIT : b NO.hp : 0852 –
Universitas Budi Luhur
Chapt 04 : Stack Oleh : Yuli Praptomo PHS, S.Kom
Stack.
Sapta Candra Miarsa,S.T.,M.T.
Stack (Tumpukan) Pertemuan 4 Season 1
Defri Kurniawan ADT STACK Defri Kurniawan
STRUKTUR DATA STACK.
STRUKTUR DATA STACK.
Abstract Data Type (ADT) and Stack Array
STRUKTUR DATA QUIZ.
Stack Stack atau tumpukan adalah suatu stuktur data yang penting dalam pemrograman Bersifat LIFO (Last In First Out) Benda yang terakhir masuk ke dalam.
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
Defri Kurniawan QUEUE Defri Kurniawan
STRUKTUR DATA QUEUE (Antrian)
STACK 6.3 & 7.3 NESTED LOOP.
STACK (Tumpukan).
STRUKTUR DATA : STACK Sri marini.st.
Algoritma dan Struktur Data
Struktur Data Khoiriya Latifa, M.Kom.
TEAM 1 Cut Hayatul Wardani ( ) Saputri Phonna ( ) Azhary (140502)
STRUKTUR DATA STACK.
STRUKTUR DATA STACK.
STACK (Tumpukan).
STACK / TUMPUKAN Struktur Data.
Stack.
STACK Yohana Nugraheni.
STRUKTUR DATA STACK.
Algoritma dan Struktur Data
Algoritme dan Stuktur Data
Stack.
STACK HARJANTO SUTEDJO.
QUEUE (Antrian) #Kulia 6 Algoritma dan Struktur Data.
Algoritma dan Struktur Data
STRUKTUR DATA version STMIK AMIKOM YOGYAKARTA
STACK (TUMPUKAN) Stack atau tumpukan didefinisikan sebagai kumpulan dari obyek-obyek yang homogen dengan operasi penambahan dan pengambilan elemen melalui.
STRUKTUR DATA STACK.
Double STACK 6.3 & 7.3 NESTED LOOP.
STACK.
Algoritma dan Struktur Data
STACK (Tumpukan) Tumpukan Koin.
STRUKTUR DATA – TEKNIK INFORMATIKA S1
QUEUE (Antrian).
Defri Kurniawan ADT STACK Defri Kurniawan
Transcript presentasi:

STRUKTUR DATA Stack atau Tumpukan

Pengertian Stack Stack adalah suatu tumpukan dari benda Bersifat LIFO (Last In First Out) yaitu Benda yang terakhir masuk ke dalam stack akan menjadi benda pertama yang dikeluarkan dari stack Contohnya, karena kita menumpuk Printer di posisi terakhir, maka Printer akan menjadi elemen teratas dalam tumpukan. Sebaliknya, karena kita menumpuk Monitor pada saat pertama kali, maka elemen Monitor menjadi elemen terbawah dari tumpukan. Dan jika kita mengambil elemen dari tumpukan, maka secara otomatis akan terambil elemen teratas, yaitu Printer juga.

Ilustrasi Stack Terdapat dua buah kotak yang ditumpuk, kotak yang satu akan ditumpuk diatas kotak yang lainnya. Jika kemudian stack 2 kotak tadi, ditambah kotak ketiga, keempat, kelima, dan seterusnya, maka akan diperoleh sebuah stack kotak yang terdiri dari N kotak.

Implementasi Stack Implementasi/representasi Stack bisa menggunakan Array atau Linked list. Stack yang diimplementasikan dengan array disebut fixed-length stack, karena ukurannya tidak bisa berubah. Stack yang diimplementasikan dengan linked list dengan pointer disebut variable-length stack, karena ukurannya bisa berubah-ubah sesuai dengan dinamika penambahan dan penghapusan elemen-elemennya.

Operasi Stack Create : membuat stack baru yang masih kosong Push : untuk menambah/menyisipkan item pada tumpukan paling atas Pop : untuk mengambil item yang terakhir disisipkan, jika stack tidak kosong Clear : untuk mengosongkan stack Empty/IsEmpty : fungsi yang digunakan untuk mengecek apakah stack sudah kosong (mengembalikan nilai true jika stack kosong) Full/IsFull : fungsi yang digunakan untuk mengecek apakah stack sudah penuh (mengembalikan nilai true jika stack penuh) Retreive/getTop : untuk mendapatkan/ mengambil nilai yang terakhir disisipkan, jika stack tidak kosong

Operasi Stack dengan Array Create IsFull Push IsEmpty Pop Clear Retreive/getTop

Inisialisasi Stack Pada mulanya isi top dengan -1, karena array dalam bahasa C dimulai dari 0, yang berarti bahwa data stack adalah KOSONG! Top adalah suatu variabel penanda dalam Stack yang menunjukkan elemen teratas data Stack sekarang. Top Of Stack akan selalu bergerak hingga mencapai MAX of STACK yang menyebabkan stack PENUH!

Ilustrasi Inisialisasi Stack

Fungsi IsFull Untuk memeriksa apakah stack sudah penuh? Dengan cara memeriksa top of stack, jika sudah sama dengan MAX_STACK-1 maka full, jika belum (masih lebih kecil dari MAX_STACK-1) maka belum full

Ilustrasi Stack pada kondisi Full

Fungsi IsEmpty Untuk memeriksa apakah data Stack masih kosong? Dengan cara memeriksa top of stack, jika masih -1 maka berarti data Stack masih kosong!

Ilustrasi Push pada Stack

Ilustrasi Pop pada Stack

Fungsi peek atau getTop Digunakan untuk melihat top of stack

Stack dengan Linked List Keunggulannya dibandingkan array tentu saja adalah penggunaan alokasi memori yang dinamis sehingga menghindari pemborosan memori. Misalnya pada stack dengan array, disediakan tempat untuk stack berisi 150 elemen, sementara ketika dipakai oleh user, stack hanya diisi 50 elemen, maka telah terjadi pemborosan memori untuk sisa 100 elemen yang tak terpakai. Dengan menggunakan linked list, maka tempat yang disediakan akan sesuai dengan banyaknya elemen yang mengisi stack. Stack dengan linked list tidak ada istilah full, sebab biasanya program tidak menentukan jumlah elemen stack yang mungkin ada (kecuali jika sudah dibatasi oleh pembuatnya). Namun demikian, sebenarnya stack memiliki batas kapasitas, yakni dibatasi oleh jumlah memori yang tersedia.

Operasi Stack dengan Linked List Create Push IsEmpty Pop Clear getTop

Stack dengan Array #include<iostream.h> #include<conio.h> #include<stdlib.h> #include<stdio.h> #define MAX 10 //ukuran maksimum dari stack void push(int stack[], int *top, int value); void pop(int stack[], int *top, int *value); int main() { int stack[MAX]; int top = -1; int n, value;

do { cout<<"Masukkan Nilai yang akan di Push : "; cin>>value; push(stack,&top,value); cout<<"Tekan 1 untuk Melanjutkan"<<endl; cin>>n; } while (n == 1); cout<<"Tekan 1 untuk Melakukan Pop"<<endl;

void pop(int stack[], int. top, int. value) { if(. top < MAX) void pop(int stack[], int *top, int *value) { if(*top < MAX) *value = stack[*top]; *top = *top -1; } else cout<<"Stack Kosong, Pop Nilai Tidak Dapat Dilakukan"<<endl; exit(0);

Tampilan Program