Sapta Candra Miarsa,S.T.,M.T.

Slides:



Advertisements
Presentasi serupa
Queue (Antrian).
Advertisements

STRUKTUR DATA array stack dan queue
STACK (Tumpukan) Tumpukan Koin Tumpukan Kotak.
Pertemuan 5 STACK atau TUMPUKAN IMAM SIBRO MALISI NIM :
STRUKTUR DATA PERTEMUAN 5
Pertemuan (6) QUEUE (ANTREAN) IMAM SIBRO MALISI NIM :
STACK (TUMPUKAN).
Struktur Organisasi Data 2
Stack (Tumpukan) Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...
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)
Struktur Data Stack.
Stack (Tumpukan).
STACK.
Algorithm and Data Structures.
Linear Data Structures (Stack)
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.
Pertemuan 7 stack jual [Valdo] Lunatik Chubby Stylus.
STRUKTUR DATA Queue atau Antrian.
BAB 3 STACK (TUMPUKAN).
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.
STACK ( TUMPUKAN ) Fajrizal.
Stack (Tumpukan) Pertemuan 4 Season 1
STACK (Tumpukan) Tumpukan Koin Tumpukan Kotak.
Tumpukan dalam struktur data
Defri Kurniawan ADT STACK Defri Kurniawan
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.
STACK (Tumpukan) Tumpukan Koin Tumpukan Kotak.
STACK Denny Agustiawan,M.pd
Struktur Organisasi Data 2
STACK 6.3 & 7.3 NESTED LOOP.
STACK (Tumpukan).
STRUKTUR DATA : STACK Sri marini.st.
Stack (Tumpukan) Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...
Algoritma dan Struktur Data
Struktur Data Khoiriya Latifa, M.Kom.
STACK (Tumpukan).
STACK / TUMPUKAN Struktur Data.
STACK Rohimah, S.Kom..
STACK Yohana Nugraheni.
Algoritme dan Stuktur Data
Stack.
STACK & QUEUE Struktur Data.
STACK HARJANTO SUTEDJO.
QUEUE (Antrian) #Kulia 6 Algoritma dan Struktur Data.
Algoritma dan Struktur Data
STRUKTUR DATA PERTEMUAN 4
STRUKTUR DATA Stack atau Tumpukan.
Double STACK 6.3 & 7.3 NESTED LOOP.
STACK Rohimah, S.Kom..
STACK.
Algoritma dan Struktur Data
STACK (Tumpukan) Tumpukan Koin.
QUEUE (Antrian).
Defri Kurniawan ADT STACK Defri Kurniawan
Transcript presentasi:

Sapta Candra Miarsa,S.T.,M.T. Struktur Data - Stack Sapta Candra Miarsa,S.T.,M.T.

Aneka Struktur Data Struktur Data Kelebihan Kekurangan Array Penambahan data dibelakang lebih mudah dilakukan Ukuran tetap, penghapusan lambat, pencarian lama Array terurut Pencarian jauh lebih cepat dibanding array yang tidak terurut Ukuran tetap, penghapusan lambat, penyisipan lama Tumpukan (Stack) Penambahan dilaksanakan dengan cepat, akses terhadap data yang terakhir kali dimasukan bisa dilakukan dengan cepat Pencarian dan penghapusan lambat Antrian (Queue) Data yang pertama kali masuk mudah diakses Akses terhadap data lain lambat Senarai berantai Penyisipan dan penghapusan data mudah Pencarian lama Pohon biner (Binary tree) Pencarian dan penyisipan mudah Penghapusan kompleks Tabel hash Akses cepat bila kunci diketahui. Penyisipan cepat Akses pelan jika kunci tidak diketahui

Stack (tumpukan) adalah struktur data yang memungkinkan penyisipan dan pengambilan data dari satu ujung yang disebut puncak. C B A

20 10 2 13 77 24 32 55 elemen Index array (A) 1 3 4 5 6 7 8

Stack (tumpukan) kosong C B A berisi 3 C B A diambil 1 dari puncak Stack memiliki sifat last in first out (LIFO), artinya data yang terakhir kali masuk adalah Menjadi data yang pertama kali keluar.

Operasi Stack Operasi dasar pada tumpukan berupa push dan pop. Push adalah operasi untuk memasukkan data kedalam tumpukan. Push (T,d)  T: menyatakan tumpukan, d: item data yang disisipkan ke dalam T Pop adalah operasi untuk mengambil data dari tumpukan. Pop (T)

Operasi yang dapat dilakukan stack Menambah (push) Mengambil (pop) megecek apakah stack penuh (isFull) mengecek apakah stack kosong (isEmpty) membersihkan stack (clear). Mencetak isi stack (print)

Ilustrasi Push dan Pop Operasi Penjelasan Hasil tumpukan Push( T, ‘Bantul’) Push( T, ‘Sleman’) Bantul dimasukkan terlebih dahulu baru Sleman Pop(T) Push( T, ‘Kulon Progo’) Sleman dikeluarkan, Kulon Progo dimasukkan Push(T, ‘Wonosari’) Push(T, ‘Sleman’) Wonosari dimasukkan, diikuti Sleman ? Sleman Bantul Kulon Progo Bantul Sleman Wonosari Kulon Progo Bantul

Operasi-operasi stack Mendefinisikan Max untuk maksimum isi stack Mendefinisikan stack # define Max 50 # defive true 1 # define false 0 Char stack [Max]; Init top;

Fungsi init : untuk inisialisasi atau membuat stack baru yang masih kosong. Void init (void) { top=-1; }

Fungsi Full : digunakan untuk mengecek apakah stack penuh. int full (void) { if (top==MAX-1) return (true); else return (false); }

Fungsi Empty : digunakan untuk mengecek apakah stack kosong. int empty (void) { if (top==-1) return (true); else return (false); }

Fungsi Clear : digunakan untuk mengosongkan stack Fungsi Clear : digunakan untuk mengosongkan stack. Stack dianggap kosong jika ujung atas stack pada posisi -1. Void clear (void) { top=-1; printf (“Stack telah dikosongkan\n”); }

Fungsi Push : digunakan untuk menambah data kedalam stack Fungsi Push : digunakan untuk menambah data kedalam stack. Penambahan data tidak dapat dilakukan jika stack penuh. Tambahkan nilai top. Masukkan data pada posisi top. Void push (char info); { if (full ()!= true) top++; stack[top]=info; } else printf (“Stack sudah penuh.. \n”);

Fungsi pop : digunakan untuk mengeluarkan data teratas dari stack dengan syarat sebelumnya stack tidak boleh kosong. Ambil data dari posisi top Turunkan nilai top char pop (void); { char info; if (empty()!= true) info=stack[top]; top--; return(info); } else printf (“Stack sudah kosong.. \n”);

Program konversi aritmatik mengubah bentuk INFIX ke PREFIX Misalkan operasi: A + B - C Operasi tersebut disebut dengan notasi infix, dan notasi infiks tersebut harus diubah terlebih dahulu menjadi notasi prefix A + B - C notasi prefixnya : - + A B C

A + B - C A + B - C + - + A A B A + B - C A + B - C - + A B C -+A BC Stack Stack + - + Prefix Prefix A A B A + B - C A + B - C Stack - + Prefix Prefix A B C -+A BC

A+B-C : stack (kosong) prefix (kosong ) Scan A : stack (kosong) prefix ( A ) Scan + : stack ( + ) prefix ( A ) Scan B : stack ( + ) prefix ( A B ) Scan - : stack ( + - ) prefix ( A B ) Scan C : stack ( + - ) prefix ( A B C ) Karena sudah habis, push ToS stack ke Prefix Prefix ( -+ABC )

Program konversi aritmatik mengubah bentuk INFIX ke POSTFIX Misalkan operasi: 7 + 1* 8 Operasi tersebut disebut dengan notasi infix, dan notasi infiks tersebut harus diubah terlebih dahulu menjadi notasi postfix 7 + 1* 8 notasi postfiksnya : 718*+

Infix to Postfix 7 + 8 * 1 Stack Posftix

Lihat soal dari depan ke belakang Jika operand, maka masukkan ke postfix Jika operator, maka: Jika stack masih kosong, push ke stack Jika semua soal sudah dibaca, maka pop semua isi stack dan push ke postfix dan sesuaikan dengan urutannya

7 + 8 * 1 7 + 8 * 1 Stack Stack + * + Postfix Postfix 7 7 8 7 + 8 * 1 7 + 8 * 1 Stack Stack * + Postfix Postfix 7 8 1 7 8 1 * +

7+8*1 : stack (kosong) postfix (kosong) Scan 7 : stack (kosong) postfix ( 7 ) Scan + : stack ( + ) postfix ( 7 ) Scan 8 : stack ( + ) postfix ( 7 8 ) Scan * : stack ( + * ) postfix ( 7 8 ) Scan 1 : stack ( + * ) postfix ( 7 8 1 ) Karena sudah habis, push ToS stack ke Posfix Postfix ( 7 8 1 * + )

Postfix Evaluator Scan Postfix string dari kiri kekanan. Siapkan sebuah stack kosong. Jika soal adalah operand, tambahkan ke stack. Jika operator, maka pasti akan ada minimal 2 operand pada stack Pop dua kali stack, pop pertama disimpan dalam y, dan pop kedua ke dalam x. Lalu evaluasi x <operator> y. Simpan hasilnya dan push ke dalam stack lagi. Ulangi hingga seluruh soal discan. Jika sudah semua, elemen terakhir pada stack adalah hasilnya. Jika lebih dari satu elemen, berarti error!

7 8 1*+ * * 1*8=8 + 1 8 7 1 8 7 8 7 Y X + 8+7=15 15 8 7 15 Y X Postfix Stack * * 1*8=8 + 1 8 7 1 8 7 8 7 Y X + 8+7=15 15 8 7 15 Y X