Pertemuan 7 stack jual [Valdo] Lunatik Chubby Stylus.

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 :
:: Fetty Tri Anggraeny ::
Queue.
STACK (TUMPUKAN).
Stack (Tumpukan) Sumber Kepustakaan : putuputraastawa.files.wordpress.com/.../pert_5_sta...
Algoritma dan Struktur Data
STACK (Tumpukan).
STACK.
STACK.
Struktur Data (Data Structure) – IS 2313
Pointer dalam Stack.
QUEUE (antrian).
STRUKTUR DATA (4) Array Stack(Tumpukkan) dan Queue (Antrian)
STACK.
Struktur Data Stack.
Stack (Tumpukan).
STACK.
Algoritma & Struktur Data Linked List Evangs Mailoa.
Struktur Data List Linear : Linked List (Double Linkedlist)
Algorithm and Data Structures.
Mempelajari tipe data queue dan bagaimana menggunakan fungsi insert, remove, is_empty dan is_full. Mempelajari bagaimana mengimplementasikan queue dengan.
Linear Data Structures (Stack)
Algoritma dan Struktur Data
stack ==tumpukan== Tenia wahyuningrum st3 telkom purwokerto
STRUKTUR DATA (4) array stack dan queue
Struktur Data List Linear : Linked List (Single Linkedlist)
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
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.
Pertemuan 8 Stack dengan Array
Stack Pertemuan 11.
Universitas Budi Luhur
Stack.
Sapta Candra Miarsa,S.T.,M.T.
STACK (Tumpukan) Tumpukan Koin Tumpukan Kotak.
Defri Kurniawan ADT STACK Defri Kurniawan
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.
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
STACK Denny Agustiawan,M.pd
Linear Data Structures (Stack)
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.
TEAM 1 Cut Hayatul Wardani ( ) Saputri Phonna ( ) Azhary (140502)
Algoritma dan Struktur Data
STACK (Tumpukan).
STACK / TUMPUKAN Struktur Data.
STACK Yohana Nugraheni.
Algoritme dan Stuktur Data
Stack.
STACK HARJANTO SUTEDJO.
Algoritma dan Struktur Data
STACK (TUMPUKAN) Stack atau tumpukan didefinisikan sebagai kumpulan dari obyek-obyek yang homogen dengan operasi penambahan dan pengambilan elemen melalui.
Double STACK 6.3 & 7.3 NESTED LOOP.
STACK.
Algoritma dan Struktur Data
Algoritma dan Struktur Data
STACK (Tumpukan) Tumpukan Koin.
QUEUE (Antrian).
Struktur Data Linear Created by Fifth Group, S3B TI Anggota
Defri Kurniawan ADT STACK Defri Kurniawan
Transcript presentasi:

Pertemuan 7 stack jual [Valdo] Lunatik Chubby Stylus

Struktur Data Majemuk Linear Stack, Queue, List Non Linear Tree, Graph

Stack Definisi Stack Operasi-operasi dasar Stack Push Pop

STACK (TUMPUKAN) Kumpulan items yang teratur dimana items baru akan dimasukkan ke dan sebuah items akan dikeluarkan dari satu ujung yang sama, yaitu dari TOP sebuah stack. Struktur data linier dimana hanya bagian TOP-nya saja yang bisa diakses. Bersifat LIFO = Last In First Out. Bisa diimplementasikan menggunakan array atau Linked List.

Last In First Out

Penggunan Stack History pada web browser. Undo Log pada text editor. Pemrosesan struktur bersarang (nested) : loop, rekursi, fungsi, dll. Algoritma back tracking – Artificial Intelegence

Operasi Dasar Stack Push : memasukkan sebuah item baru ke dalam stack. Pop : mengeluarkan sebuah item dari stack. Operasi lain : Is_Empty, Is_Full Note : pop dan push dilakukan melalui ujung yang sama (TOP)

Visualisasi Operasi Stack X A E B TOP remove: “POP” insert ‘B’: PUSH ‘B’ D K P O T R W Y a b c d e f g h i j

Push Operasi PUSH : Menambahkan elemen pada sebuah stack PUSH top== bottom 1

PUSH Operasi PUSH : Menambahkan elemen pada sebuah stack PUSH 2 top bottom 1

Operasi PUSH : Menambahkan elemen pada sebuah stack top  3 2 bottom 1

Operasi PUSH : Menambahkan elemen pada sebuah stack top  4 3 2 bottom 1

Pop Operasi POP : Menghapus sebuah elemen dari sebuah stack top 6 5 4 3 2 bottom 1

Operasi POP : Menghapus sebuah elemen dari sebuah stack top  5 POP 4 3 2 bottom 1

Operasi POP : Menghapus sebuah elemen dari sebuah stack 3 top  2 bottom 1

Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan Yang dihapus adalah elemen yang paling terakhir ditambahkan Nama lain: LIFO (Last In First Out) Operasi POP : Menghapus sebuah elemen dari sebuah stack

Langkah Membuat Stack Membuat struktur data  class Mendefinisikan atribut class. Membuat fungsi/ operasi  method Push Pop. Membuat fungsi utama  main()

Deklarasi Struktur Data Stack #define maxsize 100 // mendefinisikan maks ukuran data // dlm stack typedef struct { int top; // indeks TOP char items [ maxsize ] // array } stack; // nama tipe data baru yg dibuat // adalah stack

Deklarasi Fungsi-Fungsi Stack void initialize ( stack *s) void pop ( stack *s, char *x ) void push ( stack *s, char x ) void show ( stack *s )

Fungsi Initialize void initialize ( stack *s) // operasi initialize dg parameter // s bertipe pointer stack { s -> top = -1; // top = -1  stack dlm kondisi empty }

Fungsi Push void push ( stack *s, char x ) { if (s->top > maxsize) // stack is full printf("\nERROR: the stack is full!"); else { s->top = s->top + 1; s->items [ s->top ] = x; printf("\nPUSH SUCCEED"); }

Fungsi Pop void pop ( stack *s, char *x ) { if (s->top < 0) // stack is empty printf("\nERROR: the stack is empty!"); else { *x = (s->items [ s->top ]); s->top = s->top - 1; printf("\nPOP SUCCEED"); }

Fungsi Show void show( stack *s ) { printf("\nISI STACK :\n"); for(int i=s->top; i>=0; i--) printf("\t%c\n", s->items[i]); printf("\n"); }

Fungsi Main void main() { stack *my_stack, s; char item, *x; x = &item; initialize(my_stack); push(my_stack, 'A'); push(my_stack, 'R'); push(my_stack, 'I'); push(my_stack, 'F'); show(my_stack); pop(my_stack, x); pop(my_stack, x); }

Output Program

Stack – Linked List Jika sebuah linked list SELALU menambahkan node baru dan menghapus node lama dari salah SATU ujungnya saja (posisi Head ataukah Tail)  STACK. TOP = head untuk single linked list. TOP = tail untuk double linked list. HOW?

Push Operation

Pop Operation

Penggunaan Stack dalam Pemrograman Minggu Keduabelas Penggunaan Stack dalam Pemrograman

Apakah Tanda Kurungnya Valid? {x+(y-[a+b])*c-[(d+e)]}{z+(y [d+f]}*g- ((d+h)]}{w+(y-[a+r])*j-[(k+e)]}

Pengecekan Tanda Kurung valid = true s = the_empty_stack while ( we_have_not_read_the_entire_string ) { read the next symbol (symb) of the string if ( symb == ‘(‘ || symb == ‘[‘ || symb == ‘{‘ ) //apakah symb termasuk kurung buka? push ( s, symb ) // jika symb adalah kurung buka if ( symb == ‘)‘ || symb == ‘]‘ || symb == ‘}‘ ) //apakah symb termasuk kurung tutup? if ( empty ( s ) ) valid = false else { k = pop ( s ); if ( k is_not_the_matching_opener_of_symb ) valid = false } // end else } // end while if ( ! empty ( s ) ) valid = false if ( valid ) output ( “the string is valid” ) else output ( “the string is not valid” );

Example Case Cek apakah string di bawah ini valid! (a+b)} (h-(j-(k-[l-n])) {x+(y-[a+b])*c-[(d+e)]}  Valid

Evaluasi Postfix Postfix adalah bentuk persamaan matematika dimana operator ditulis setelah kedua operannya. Contoh : AB+ CDE*-  C-(D*E) FG/H+  (F/G)+H Latihan : Ubah infix ke postfix {([(A+B)*C] – (D – E))^(F+G)} AB+C*DE - - FG+^

Algoritma Infix  Postfix Tambahkan tanda kurung untuk mengelompokkan operasi. Keluarkan operator ke sebelah kanan tanda kurung untuk setiap kelompok operasi satu per satu. Hilangkan semua tanda kurung.

Algoritma Evaluasi Postfix opndstck = the_empty_stack /* scan the input string, one by one element, into symb while ( not_end_of_input_string ) { symb = next_input_character if ( symb_is_an_operand ) push ( opndstck, symb ) else /* symb is an operator */ { opnd2 = pop ( opndstck ) opnd1 = pop ( opndstck ) value = opnd1 (symb) opnd2 push ( opndstck, value ) } /* end else */ } /* end while */ return ( pop ( opndstck ) )

SOAL POSTFIX : Jika A = 4, B = 2, C = 3, hitunglah : ABC+–ACB^*+ AB*CB+^AC+–