ARNA FARIZA YULIANA SETIOWATI

dokumen-dokumen yang mirip
ARNA FARIZA YULIANA SETIOWATI

Tumpukan(Stack)!! " # $ %&' $ %& ( ) ( * +, / ( (

Praktikum 4. Tumpukan (Stack)

A. TUJUAN PEMBELAJARAN

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)

ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE

S TA C K Sunu Wibirama

STACK (Tumpukan) Tumpukan Koin. Tumpukan Kotak

STACK (TUMPUKAN) Tumpukan uang koin Tumpukan kotak Tumpukan Buku. Gambar 1. Macam-macam tumpukan

Struktur Data Array. Rijal Fadilah S.Si

BAB II STACK (TUMPUKAN)

STACK dan QUEUE MODUL PRAKTIKUM STRUKTUR DATA 09 UNIVERSITAS KRISTEN DUTA WACANA. Daftar Isi: Stack dan Queue. Latihan soal. Guided.

STACK (TUMPUKAN) Tumpukan uang koin Tumpukan kotak Tumpukan Buku. Gambar 1. Macam-macam tumpukan

ALGORITMA DAN STRUKTUR DATA

Pertemuan 10. Tumpukan (Stack) Dipersiapkan oleh : Boldson Herdianto. S., S.Kom., MMSI.

Algoritma dan Struktur Data STACK

Algoritma Dan Struktur Data II

STACK. Sistem penyimpanan data dengan mekanisme Last In First Out( LIFO).

05. Double Linked List

STRUKTUR DATA POKOK BAHASAN - 7 STACK ( TUMPUKAN )

04. Single Linked List

Gambar 1. Ilustrasi Stack

Tumpukan (Stack) Stack bersifat LIFO (Last In First Out) LIFO Data yang terakhir masuk ke dalam stack menjadi data yang pertama keluar dari stack

Algoritma Pemrograman & Struktur Data

E STRUKTUR DATA & E PRAKTIK STRUKTUR DATA. Stack using Array. Alfa Faridh Suni, S.T., M.T. PTIK

Masukan Judul... Infotype àsebuah tipe terdefinisi yang menyimpan informasi sebuah elemen list

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA MODUL KE-2 STACK DAN QUEUE

Modul Praktikum Algoritma dan Struktur Data

Algoritma dan Struktur Data. Ramos Somya

A. TUJUAN PEMBELAJARAN 1. Memahami konsep dan operasi pada Stack. 2. Mampu mengimplementasikan struktur data Stack pada array dan List.

PRAKTIKUM ALGORITMA & PEMROGRAMAN III MODUL_06 Stack (Tumpukan)

MODUL IV STACK A. TUJUAN

BAB IV IMPLEMENTASI DAN EVALUASI

Stack. Pointer ke node pertama dari stack. Bagian deklarasi di atas kita asumsikan disimpan menjadi sebuah header file dengan nama stack.

BAB 3 STACK (TUMPUKAN)

BAB II STACK Atau TUMPUKAN

STACK/TUMPUKAN. R. Denny Ari Wibowo, S.Kom STMIK BINA NUSANTARA JAYA LUBUKLINGGAU

S T A C K ( T U M P U K A N )

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

4. STACK / TUMPUKAN TEORI PENUNJANG

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 4 & 5

STACK ATAU TUMPUKAN 3.1 DAFTAR LINEAR

Gambar 1. Ilustrasi Stack

LIST LINIER & STACK. Pertemuan 6 Yani sugiyani, M.Kom

Algoritma Dan Struktur Data II

Praktikum Stack. A. Stack Collection di java.util.collection. Percobaan 1. Percobaan 2. import java.util.iterator; import java.util.

Pendahuluan Struktur Data. Nisa ul Hafidhoh

BAB IV Antrian(Queue)

BAB III METODE PENELITIAN / PERANCANGAN SISTEM. perancangan dan pembuatan program ini meliputi : dengan konversi notasi infix, prefix, dan postfix.

STRUKTUR DATA Pertemuan 4

TIPE DATA ABSTRAK MENGGUNAKAN BAHASA C

Stack. Gambar 1.1 Stack

LAPORAN PRAKTIKUM RESMI QUEUE

Algoritma Dan Struktur Data II. Queue

MAKALAH STRUKTUR DATA. DOSEN PEMBIMBING Nisa miftachurohmah, S.kom., M.Si PENYUSUN SITI JAMILATUL MU ADDIBAH ( )

Algoritma Pemrograman

DIG1G3 Implementasi Struktur Data

STRUKTUR DATA Pertemuan 1 s.d 8

*Sekumpulan elemen yang diatur secara terurut. *Linear List tidak sama dengan Connected-List

Struktur Data. Stack STMIK AMIKOM YOGYAKARTA. Bayu Setiaji, S.Kom

Materi 8 : STACK (TUMPUKAN) Dosen:

BAB III STACK ATAU TUMPUKAN

Struktur Data. Tumpukan : Definisi & Operasi. Pertemuan 4 PROBLEM ALGORITHM DATA IMPLEMENTATION. Pert. 4b Struktur Data - FMIPA USD

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

01. Review Array, Pointer dan Struktur

A. TUJUAN PEMBELAJARAN

TUGAS PENDAHULUAN MODUL 12 PENGENALAN DAN IMPLEMENTASI STRUKTUR DATA STACK

Single Linked List (1)

Hanif Fakhrurroja, MT

STRUKTUR DATA POKOK BAHASAN - 8 QUEUE ( ANTRIAN)

Algoritma Pemrograman

STACK DAN QUEUE (Muhammad Fachrie, STMIK Amikom Yogyakarta)

LIST. Dewi Sartika, M.Kom

Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Stack (Tumpukan)

BAB 2 LANDASAN TEORI

KUNJUNGAN PADA POHON BINER

Algoritma Pemrograman

INFIX, POSTFIX, dan PREFIX Bambang Wahyudi

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

BAB VII Tujuan 7.1 Deskripsi dari Binary Tree

# NINE Queue dengan Array

Pertemuan Ke-4 Urutan (sequence) Rahmady Liyantanto. liyantanto.wordpress.com. S1 Teknik Informatika-Unijoyo

BAB II LANDASAN TEORI

STACK DAN QUEUE. Pengertian Stack Dan Queue. stack & queue. Last saved by KENKEINA Created by KENKEINA

Silsilah keluarga Hasil pertandingan yang berbentuk turnamen Struktur organisasi dari sebuah perusahaan

IX. Implementasi ADT : Stacks & Queues. Operasi dasar Contoh kegunaan Implementasi Array-based dan linked list-based

(3) BAHAN KAJIAN (materi ajar)

Tipe data dasar merupakan tipe data yang disediakan oleh kompailer, sehingga dapat langsung dipakai Dalam algoritma dan pemrograman yang termasuk dala

PROJECT UJIAN AKHIR SEMESTER MATA KULIAH STRUKTUR DATA Program Kalkulator Scientific Sederhana

SATUAN ACARA PERKULIAHAN MATA KULIAH : STRUKTUR DATA KODE / SKS : IK410 / 2 SKS

IF PEMROGRAMAN LANJUT TUGAS 1. Oleh : Andri Heryandi, M.T.

Tipe Data dan Operator

Stack STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 5 : 6 Juli 2015

STACK (TUMPUKAN) & QUEUE (ANTRIAN) Altien Jonathan Rindengan, S.Si., M.Kom.

Linked List 6.3 & 7.3 NESTED LOOP

Definisi Bilangan Biner, Desimal, Oktal, Heksadesimal

List Linier (Bag. I) IF2121/Algoritma dan Struktur Data Sem. I 2016/ /25/2017 IF2121/Sem I 2017/2018 1

Mata Kuliah : Struktur Data Semester : Genap Kode Mata Kuliah : 307 Waktu : 180 Menit Bobot : 4 sks. Jurusan : MI

Operator Precedence dan Associativity DASAR PEMROGRAMAN. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 2

OPERATOR & UNGKAPAN. Contoh operator : a + b Simbol + merupakan operator untuk melakukan operasi penjumlahan dari kedua operandnya ( yaitu a dan b ).

Transkripsi:

02. Stack ARNA FARIZA YULIANA SETIOWATI Capaian Pembelajaran 1. Mahasiswa mengerti konsep stack dan operasi pada stack. 2. Mahasiswa dapat menggunakan stack untuk memecahkan permasalahan pemrograman. 1

Materi Apakah Stack itu? OperasipadaStack : Push danpop Konversi Infix ke Postfix dengan Stack 3 Apakah Stack itu? Merupakan konsep Last In First Out (LIFO) Data yang disimpan terakhir akan diambil lebih dahulu Implementasistack dapatmenggunakanarray ataulinked list Implementasi dengan array, kemungkinan stack dalam kondisi penuh Implementasi dengan linked list, stack tidak pernah penuh 4 2

Ilustrasi Stack PUSH Operasi Push meletakkan elemen/item ke stack 5 Ilustrasi Stack POP Operasi Pop mengambil elemen/item dari stack 6 3

Elemen Stack Elemen/item yang diletakkan ke penyimpan Top of Stack (TOS) 7 Representasi Stack dengan Array #define MAX 5 typedef int Itemtype typedef struct { Itemtype item[max]; int count; Stack; 8 4

Operasi pada Stack Push : menyimpan item pada stack Pop : mengambil item dari stack Inisialisasi: inisialisasi awal stack Penuh: stack dalam kondisi penuh Kosong: stack dalam kondisi kosong 9 Operasi Inisialisasi Menginisialisasi agar TOS menunjuk ke indeks array awal (indeks 0) void Inisialisasi (Stack *s) { s->count=0; 10 5

Operasi Penuh Melakukan pengecekan apakah stack Penuh atau Tidak(Jika penuh return value=1, sebaliknya value=0) Digunakan bila melakukan operasi PUSH int Penuh (Stack *s) { return (s->count==max); 11 Operasi Kosong Melakukan pengecekan apakah stack Kosong atau Tidak(Jika kosong return value=1, sebaliknya value=0) Digunakan bila melakukan operasi POP int Kosong (Stack *s) { return (s->count==0); 12 6

Operasi PUSH Untuk menyimpan data pada posisi teratas Bila array penuh, tidak dapat melakukan operasi Push Setelah dilakukan penyimpanan, posisi TOS di-increment void Push (Stack *s, Itemtype x) { if(penuh(s)) printf( Stack Penuh, Data tidak dapat disimpan\n ); else { s->item[s->count]=x; s->count++; 13 Operasi POP Mengambil data pada posisi teratas Bila array Kosong tidak dapat dilakukan operasi Pop Sebelum mengambil data TOS di-decrement Itemtype Pop (Stack *s) { Itemtype temp; if(kosong(s)) { printf( Stack Kosong, tidak dapat mengambil data\n ); return ; else { s->count--; temp=s->item[s->count]; return(temp); 14 7

Konversi Notasi Infix ke Posfix Notasi Infix A + B A*B+C A*(B+C) A*B+C/D (A+B)*C-D/E (A+B)*(C-D)^E/F A+B*C-D^E/F Notasi Postfix AB+ AB*C+ ABC+* AB*CD/+ AB+C*DE/- AB+CD-E^*F/ ABC*+DE^F/- 15 Implementasi Konversi Notasi Infix ke Posfix dengan Stack Stack digunakan untuk menyimpan operator Operator mempunyaitingkatanlevel denganurutan(darilevel tertinggiketerendah) : ^, * & /, + dan - Notasi infix dibaca satu per satu Jika berupa operan langsung dicetak Jika operator mengikuti aturan: Jikanotasi ( PUSH kestack Jikanotasi ) POP dancetaks/d tanda ) tetapitidakdicetak Jikaoperator, cekbilastack Kosongataulevel operator > level operator TOS makapush Lainnya POP dan cetak lalu PUSH, ulangi perbandingan Jika notasi infix sudah berakhir, POP stack sampai Kosong 8

Ilustrasi Konversi Infix ke Postfix A + B Notasi infix Stack Cetak A A + + A B + AB AB+ Ilustrasi Konversi Infix ke Postfix (A + B) * C Notasi infix Stack Cetak ( ( A ( A + (+ A B (+ AB ) AB+ * * AB+ C * AB+C AB+C* 9

Ilustrasi Konversi Infix ke Postfix A + B * C Notasi infix Stack Cetak A A + + A B + AB * +* AB C +* ABC ABC*+ Ilustrasi Konversi Infix ke Postfix A + B ^ C * D Notasi infix Stack Cetak A A + + A B + AB ^ +^ AB C +^ ABC * +* ABC^ D +* ABC^D ABC^D*+ 10

Algoritma Konversi Notasi Infix ke Postfix 1. Sediakan stack untuk menyimpan operator (tipe: char) 2. Baca setiap karakter notasi infix dari awal 1. Jika operand maka langsung dicetak 2. Jikatanda ( PUSH kestack 3. Jikatanda ) POP dancetaksemua isistack sampaitos = (. POP jugatanda ( ini, tetapi tidak dicetak 4. Jika operator : jika stack kosong atau derajad operator lebih tinggi dibanding derajadtos, PUSH operator kedalamstack. 5. Jikatidak, POP dancetak; kemudianulangipembandingandengantos. Kemudian di-push 3. Jikaakhirnotasiinfix telahtercapai, danstack masihbelumkosong, pop semua isi stack dan cetak hasilnya 21 Menghitung Hasil Operasi Postfix Stack menyimpan operan dan hasil operasi Siapkan variabel opleft dan opright untuk menyimpan operan kiri dan kanan Misalnya: 34+ PUSH 3 PUSH 4 Operator + POP 4 keopright, POP 3 keopleft, lakukanoperasi Hasilnya 7 PUSH kestack Bila notasi berakhir, POP stack sebagai hasil operasi 11

Ilustrasi Hasil Operasi Postfix 23+5* Notasi Postfix Stack Hasil Operasi 2 2 3 23 + 5 2+ 3 5 55 * 25 5 * 5 25 Algoritma Hasil Operasi Postfix 1. Baca notasi postfix satu per satu 1. JikanotasiadalahoperanmakaPUSH kestack 2. Jika notasi adalah operator maka 1. POP keopright 2. POP keopleft 3. Hasil = OpLeft operator OpRight 4. PUSH Hasil 2. Jika notasi postfix berakhir, POP stack sebagai hasil operasi 12

Rangkuman Stack menyimpanelemen/item dengankonseplifo, dimanaitem yang terakhir masuk akan keluar terlebih dahulu Elemenpadastack terdiridari: item yang disimpandi penyimpan, penunjuk top of stack sekaligus menghitung jumlah elemen(count) Terdapatduaoperasistack yaitupush danpop Selainituterdapatoperasitambahanyaituinisialisasi, Penuh, Kosong Latihan 1. Buatlah konversi bilangan desimal ke biner, oktal dan heksa menggunakan stack 2. Buatlah pembalik kalimat menggunakan stack Contoh: Struktur Data atad rutkurts Buatlah pengecekan palindrom atau bukan, Contoh: sugus bila dibuatlah pembalik kalimat menggunakan stack 3. Implementasikan notasi infix ke postfix menggunakan stack 4. Implementasikan operasi notasi postfix menggunakan stack 26 13