2. Stack (Tumpukan) 2.1. Definisi

Slides:



Advertisements
Presentasi serupa
STRUKTUR DATA Struktur Data - Gerlan A. Manu, ST.,MKom 1.
Advertisements

bentuknya, yang dapat berubah pada saat runtime.
STACK (Tumpukan) Tumpukan Koin Tumpukan Kotak.
Rahmat Deddy Rianto Dako, ST, M.Eng
QUEUE II. IMPLEMENTASI QUEUE
Pertemuan 5 STACK atau TUMPUKAN IMAM SIBRO MALISI NIM :
STACK (Tumpukan).
STRUKTUR DATA version STMIK AMIKOM YOGYAKARTA
STACK.
Stack (Tumpukan).
Algorithm and Data Structures.
4. Pohon (Tree) 4.1. Definisi Rekurens Dari Pohon
Apakah Stack itu ?. Apakah Stack itu ? Pengertian STACK Secara sederhana diartikan dengan : sebagai tumpukan dari benda sekumpulan data yang seolah-olah.
BAB 3 STACK (TUMPUKAN).
STACK.
BAB 5 LINKED LIST Linked list adalah struktur berupa rangkaian elemen saling berkait dimana tiap elemen dihubungkan ke elemen lain melalui pointer. Keterhubungan.
Stack.
NAMA : siti hajar NIM : UNIT : b NO.hp : 0852 –
Universitas Budi Luhur
Chapt 04 : Stack Oleh : Yuli Praptomo PHS, S.Kom
Stack dan Procedure.
4. Linked List (List Linier)
Stack.
KUG1C3 Dasar Pemrograman
Sapta Candra Miarsa,S.T.,M.T.
STACK (Tumpukan) Tumpukan Koin Tumpukan Kotak.
Tumpukan dalam struktur data
STACK Anifuddin Azis.
Defri Kurniawan ADT STACK Defri Kurniawan
STRUKTUR DATA STACK.
STRUKTUR DATA STACK.
Stack Stack atau tumpukan adalah suatu stuktur data yang penting dalam pemrograman Bersifat LIFO (Last In First Out) Benda yang terakhir masuk ke dalam.
STACK (Tumpukan) Tumpukan Koin Tumpukan Kotak.
STACK Denny Agustiawan,M.pd
Tim struktur data IF UNIKOM
Queue.
QUEUE Anifuddin Azis.
LIST (SENARAI) Anifuddin Azis.
Tugas Kelompok 1 stack.
STACK (Tumpukan).
Stack (Tumpukan) Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...
TEAM 1 Cut Hayatul Wardani ( ) Saputri Phonna ( ) Azhary (140502)
Array 1.
Stack (Tumpukan).
STRUKTUR DATA STACK.
Linked List INSERT KIRI 6.3 & 7.3 NESTED LOOP.
STRUKTUR DATA STACK.
STACK (Tumpukan).
STACK / TUMPUKAN Struktur Data.
STACK Yohana Nugraheni.
STRUKTUR DATA STACK.
STRUKTUR DATA TUMPukAN (STACK).
Algoritme dan Stuktur Data
STACK & QUEUE Struktur Data.
STACK (TUMPUKAN) Stack atau tumpukan didefinisikan sebagai kumpulan dari obyek-obyek yang homogen dengan operasi penambahan dan pengambilan elemen melalui.
STRUKTUR DATA PERTEMUAN 4
STRUKTUR DATA STACK.
Defri Kurniawan VARIASI LIST Defri Kurniawan
Double STACK 6.3 & 7.3 NESTED LOOP.
STACK.
STRUKTUR DATA (3) STACK.
Kode MK/ Pemrograman Terstruktur 2
Kode MK/ Pemrograman Terstruktur 2
BAB 3 STACK (TUMPUKAN).
STACK (Tumpukan) Tumpukan Koin.
Defri Kurniawan STACK DENGAN LIST Defri Kurniawan
Struktur Data Linear Created by Fifth Group, S3B TI Anggota
Defri Kurniawan DOUBLE LINKED LIST Defri Kurniawan
SINGLE LINKED LIST (SLL)
Defri Kurniawan ADT STACK Defri Kurniawan
Transcript presentasi:

2. Stack (Tumpukan) 2.1. Definisi STACK (Tumpukan) adalah list linier yang : 1. Dikenali elemen puncaknya (TOP) 2. Aturan penyisipan dan penghapusan elemennya tertentu : -Penyisipan selalu dilakukan “di atas “ TOP -Penghapusan selalu dilakukan pada TOP

Karena aturan penyisipan dan penghapusan Karena aturan penyisipan dan penghapusan semacam itu, TOP adalah satu-satunya alamat tempat terjadi operasi. Elemen yang ditambahkan paling akhir akan menjadi elemen yang akan dihapus.Dikatakan bahwa elemen Stack akan tersusun secara LIFO (Last In First Out). Maka secara lojik, sebuah STACK dapat digambarkan sebagai list linier yang setiap elemennya adalah Type ElmtS = record <Info : InfoType, Next : address >

dengan InfoType terdefinisi yang menentukan dengan InfoType terdefinisi yang menentukan informasi yang disimpan pada setiap elemen stack, dan address adalah “alamat” dari elemen Selain itu alamat elemen terbaru (TOP) dicatat, sedangkan alamat elemen yang paling “bawah”, yaitu yang paling lama biasanya diebut BOTTOM. TOP adalah elemen pertama list, supaya penambahan dan penghapusan dengan mudah dan efisien dapat dilakukan.

Sehingga jika S adalah sebuah Stack, dan P adalah address maka Top (S) adalah alamat elemen TOP, dimana operasi penyisipan/penghapusan dilakukan. Info (P) adalah informasi yang disimpan pada alamat P Next (P) adalah alamat suksesor P ElmtS (P) adalah sebuah elemen stack yang beralamat P Stack kosong adalah Stack dengan Top (S) = Nil ( tidak terdefinisi )

2.2. Traversal pada Stack 2.3. Search pada Stack Pada stack, jarang sekali dilakukan traversal, karena keunikan Stack justru pada operasi yang hanya menyangkut elemen TOP. Namun dibutuhkan traversal misalnya untuk mencetak isi Stack. 2.3. Search pada Stack Pada stack, elemen yang diproses hanyalah elemen pada TOP. Maka hampir tidak pernah dilakukan search.

2.4. Operasi dan fungsi dasar pada STACK. a. Test STACK kosong Mengetahui bahwa stack kosong atau tidak sangat penting, sebab semua operasi akan dilakukan berdasarkan kosong atau tidaknya suatu Stack. Realisasi algoritma dari definisi fungsional ini adalah sebuah fungsi yang melakukan test terhadap Stack sebagai berikut :

function StackEmpty (S : STACK) → Boolean { TEST stack kosong : Mengirim true, jika tumpukan kosong, false jika tumpukan tidak kosong} Deklarasi Deskripsi return (Top (S) = Nil)

b. Pembuatan STACK kosong Membuat Stack kosong diperlukan untuk memulai memakai stack. Realisasi algoritma dari definisi fungsional ini adalah sebuah prosedur yang melakukan inisialisasi stack sebagai berikut Procedure CreateEmptyS (Output S : STACK) {K. Awal : sembarang, K. Akhir : sebuah stack S yang kosong siap dipakai terdefinisi Proses : Membuat stack kosong } Deklarasi Deskripsi Top (S) ← Nil

c.Penambahan sebuah elemen pada STACK (Push) Penambahan selalu dilakukan pada TOP, dan karena alamat TOP diketahui maka prosesnya sederhana. Berikut ini akan diberikan skema prosedur penyisipan tersebut. Realisasi algoritma dari definisi fungsional ini adalah salah satu dari dua buah prosedur yang melakukan penambahan elemen stack sebagai berikut. Prosedur pertama menambahkan suatu ElmtS yang diketahui alamatnya dan yang kedua menambahkan suatu nilai ElmtS yang diberikan.

procedure Push@ (Input/Output S : STACK Input P : address) {Menambahkan sebuah elemen baru pada TOP sebuah stack, dengan elemen yang diketahui alamatnya} {K.Awal : Stack mungkin kosong, P terdefinisi (berarti terdefinisi informasinya, Next (P) = Nil} {K.Akhir : Top (S) adalah P} Deklarasi Deskripsi { insert sebagai elemen pertama } Next (P) ← TOP (S) TOP (S) ← P

procedure Push( Input / Output S:STACK Input E: InfoType ) { Menambahkan sebuah elemen baru pada TOP sebuah stack, dengan elemen yang diketahui informasinya } { K. Awal : Stack mungkin kosong , E terdefenisi , alokasi alamat selalu berhasil } { K. Akhir : TOP (S) berisi E ) Deklarasi P : address Deskripsi Alokasi ( P ) { alokasi selau berhasil } Info(P) ← E { insert sebagai elemen pertama } Next(P) ← TOP(S) TOP(S) ← P

d. Penghapusan sebuah elemen pada STACK (Pop) Penghapusan elemen Stack selalu dilakukan pada TOP , hanya saja harus diperhitungkan bahwa mugkin Stack akan menjadi kosong akibat terjadinya penghapusan. Jika Stack menjadi kosong , maka harga TOP harus diganti . Realisasi algoritma dari definisi funsional ini adalah salah satu dari dua buah prosedur yang melakukan pengambilan elemen stack sebagai berikut . Prosedur pertama mengambil suatu Elmts dengan menyimpan alamatnya dan yang kedua mengambil nilai , dan membebaskan alamat ( dealokasi ) yang tadinya dipakai

procedure PopStack@(Input/Output S : STACK Output P : address) {K.Awal : Stack tidak kosong K.Akhir : Alamat elemen Top (S) disimpan pada P, sehingga informasinya dapat diakses melalui P Proses : Menghapus elemen stack, stack tidak boleh kosong dan mungkin menjadi kosong } Deklarasi Deskripsi P ← TOP (S) TOP (S) ← Next(TOP(S)) Next(P) ← Nil

procedure PopStack(Input/Output S : STACK Output E : InfoType) {K.Awal : Stack tidak kosong K.Akhir : Alamat elemen Top (S) disimpan pada E, alamat TOP yang lama didealokasi Proses : Menghapus elemen stack, stack tidak boleh kosong dan mungkin menjadi kosong } Deklarasi P : address Deskripsi P ← TOP (S) E ← Info(P) TOP (S) ← Next(TOP(S)) Dealokasi (P)

Bagian Deklarasi dari algoritma pada Stack : type InfoType = … {Sebuah type terdefinisi} type Address pointer to ElmtS type ElmtS = record <Info : InfoType, Next : Address > type Stack = record <TOP : Address> {Deklarasi Nama Peubah} S : Stack P : Address

Soal-Soal Latihan 0. Apakah perbedaan dan persamaan stack dan list linier biasa ? 1. Mengapa cara penyusunan elemen pada Stack sering disebut tersusun secara LIFO? 2. Mengapa pada Stack Traversal dan Search jarang dilakukan? 3. Penghapusan elemen pada Stack selalu dilakukan pada elemen yang paling atas, bagaimana jika terpaksa harus menghapus elemen yang paling bawah?

4. Buatlah sebuah fungsi untuk menghitung jumlah elemen stack yang genap, jika diketahui sebuah stack dengan elemen bertype integer. 5. Buatlah fungsi/prosedur untuk mencetak elemen stack yang ganjil 6. Buatlah juga fungsi untuk menghitung rata-rata elemen Stack yang genap 7. Buatlah sebuah fungsi untuk mengirimkan elemen pertama Stack 8. Buatlah sebuah fungsi untuk mengirimkan elemen Stack yang maksimum jika diketahui elemen Stack terurut mengecil bertype integer