ALGORITMA DAN STRUKTUR DATA

dokumen-dokumen yang mirip
STACK (Tumpukan) Tumpukan Koin. Tumpukan Kotak

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

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

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

BAB II STACK (TUMPUKAN)

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

ARNA FARIZA YULIANA SETIOWATI

S TA C K Sunu Wibirama

BAB IV IMPLEMENTASI DAN EVALUASI

ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE

STRUKTUR DATA Pertemuan 4

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

BAB II STACK Atau TUMPUKAN

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

BAB II LANDASAN TEORI

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

Modul Praktikum Algoritma dan Struktur Data

Struktur Data Array. Rijal Fadilah S.Si

MODUL IV STACK A. TUJUAN

Gambar 1. Ilustrasi Stack

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

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

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

BAB 3 STACK (TUMPUKAN)

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

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)

4. STACK / TUMPUKAN TEORI PENUNJANG

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

BAB III STACK ATAU TUMPUKAN

Algoritma dan Struktur Data STACK

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

STACK ATAU TUMPUKAN 3.1 DAFTAR LINEAR

Algoritma Pemrograman & Struktur Data

Kasus Penggunaan Stack: Komputasi Ekspresi Aritmatika

INPUT OUTPUT. cout. Digunakan untuk mencetak suatu informasi ke layar Contoh : cout << Halo Teknik Informatika

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

INFIX, PREFIX DAN POSTFIX

Pendahuluan Struktur Data. Nisa ul Hafidhoh

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

Algoritma Pemrograman

INFIX, POSTFIX, dan PREFIX Bambang Wahyudi

BAB III ANALISA DAN PERANCANGAN

Materi. Tipe, Variabel dan Operator Algoritma Pemrograman PENULISAN ALGORITMA PENULISAN ALGORITMA 15/03/2010 NAMA DAN EKSPRESI

Praktikum 4. Tumpukan (Stack)

A. TUJUAN PEMBELAJARAN

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

PRAKTIKUM ALGORITMA & PEMROGRAMAN III MODUL_06 Stack (Tumpukan)

Materi 8 : STACK (TUMPUKAN) Dosen:

APLIKASI PERANGKAT AJAR PENGELOLAAN DAN PERHITUNGAN EKSPRESI MATEMATIKA DARYANTO

BAB 2 LANDASAN TEORI

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

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

Algoritma Pemrograman

Gambar 2.1 Ilustrasi Stack

STRUKTUR DATA POKOK BAHASAN - 7 STACK ( TUMPUKAN )

Algoritma Dan Struktur Data II

Algoritma Pemrograman

OPERATOR DAN UNGKAPAN

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

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

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

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

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II. Tujuan Pembelajaran : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Stack.

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

MODUL PRAKTIKUM STRUKTUR DATA

STRUKTUR DATA Pertemuan 1 s.d 8

Algoritma dan Pemrograman

Algoritma Dan Struktur Data II

Algoritma Dan Struktur Data II. Queue

Algoritma dan Struktur Data

B C D E F G H I J K L M N O P Q R S T. Tinaliah, S.Kom POHON BINER

Dasar Pemrograman Java

STACK DAN QUEUE (Muhammad Fachrie, STMIK Amikom Yogyakarta)

TUGAS MATA KULIAH ALGORITMA PEMROGRAMAN 3

Bab 3. Decision 1 (Pengambilan Keputusan)

Pengambilan Keputusan. Konsep Pemrograman Oleh Tita Karlita

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

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

Praktikum Stuktur Data [MODUL]

Decission : if & if else

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

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

TERAPAN POHON BINER 1

1. E = a + 2b d + dh f g. Ubah ke dalam notasi postfix: a. Menggunakan Algoritma b. Secara manual c. Dari pohon biner menggunakan Stack

KUNJUNGAN PADA POHON BINER

ALGORITMA DAN STRUKTUR DATA

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

ACARA PRAKTIKUM PRAKTIKUM ALGORITMA DAN PEMROGRAMAN

Stack. Gambar 1.1 Stack

Tipe Data dan Variabel

KONTRAK PRAKTIKUM. Gambaran Umum : Alur bagi peserta praktikum :

Tipe Data dan Operator

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

PENGAMBILAN KEPUTUSAN

BAB III ANALISIS. Mekanisme Penyimpanan dan Pengambilan Sequence

Hanif Fakhrurroja, MT

(3) BAHAN KAJIAN (materi ajar)

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

DIG1G3 Implementasi Struktur Data

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

Transkripsi:

Modul ke: 05 Desi Fakultas FASILKOM ALGORITMA DAN STRUKTUR DATA OLEH : Ramayanti, S.Kom, MT Program Studi Teknik Informatika

APLIKASI SINGLE STACK Infix, Postfix, Prefix

Operand & Operator A * ( B + C ) Operand A, B, C Operator Operasi *, + Kelompok (, )

INFIX, POSTFIX, PREFIX INFIX POSTFIX PREFIX IN dalam Operatornya didalam 2 operand Ex. A+B Aritmatika sehari-hari POST sesudah Operator berada sesudah 2 operand Ex : AB+ PRE Sebelum Operatornya ada sebelum 2 operan Ex : +AB Bahasa pemrograman Infix postfix / prefix

INFIX, POSTFIX, PREFIX INFIX POSTFIX PREFIX A+B A+B+C A+B*C (A+B)*C A+B+C*D A+(B+C)*D AB+ AB+C+ ABC*+ AB+C* AB+CD*+ ABC+D*+ +AB ++ABC +A*BC *+ABC ++AB*CD +A*+BCD

Contoh A B+C*(D^E/(F-G)+H)-I Maks karakter : 25 Konversi ke POSTFIX Array A A - B + C * ( D ^ E / ( F - G ) + H ) - I \0 \0 \0 \0

STEP Siapkan Stack S[25] Telusuri isi array A ditemui \0 Jika Operand Cetak Jika kurung bua ( PUSH ke stack Jika Operator periksa Stack kosong TOP = -1 atau S*TOP+= ( Push Operator ke Stack Stack ada isinya (TOP >-1), isi stack paling atas S[TOP] bukan (, maka isi stack = operator pemeriksaan. Bandingkan nilai operator yang ada di stack dengan operator baru dibaca Operator di stack >= operator baru POP terus menerus dan cetak sampai ditemui ( atau operator nilainya lebih rendah dari operator baru atau isi stack habis PUSH Operator Baru

STEP Jika nilai operator baru > operator stack PUSH ke stack Jika isi stack ) POP isi stack satu persatu, sampai ditemui isi stack ( keluarkan ( dari stack. Demikian seterusnya sampai isi array = \0

Contoh A+(B+C)*D A + ( B + C ) * D \0 \0 \0 \0 \0 \0 No Kar dibaca Keterangan Isi Stack Hasil Cetak 0 A Operand A dicetak Masih kosong 1 + PUSH stack kosong + A 2 ( ( PUSH +( A 3 B Operand B dicetak +( AB 4 + + PUSH +(+ AB 5 C Operand C dicetak +(+ ABC 6 ) Cetak isi stack terbuag ) + ABC+ 7 * * PUSH * > + +* ABC+ 8 D Operand D dicetak +* ABC+D 9 \0 POP dan cetak semua isi stack Kosong ABC+D*+ A

Contoh A - B + C * ( D ^ E / ( F - G ) + H ) - I \0 \0 \0 \0 No Kar dibaca Keterangan Isi Stack Hasil Cetak 0 A Operand A dicetak Masih kosong 1 - PUSH stack kosong - A 2 B Operand B cetak - AB 3 + Periksa : - <= + - POP CETAK dan + PUSH A + AB- 4 C Operand C cetak + AB-C 5 * * PUSH * > + +* AB-C 6 ( ( PUSH +*( AB-C 7 D Operand D cetak +*( AB-CD 8 ^ ^ PUSH, karena S[TOP] = ( +*(^ AB-CD

DOUBLE STACK

Definisi Stack Ganda 2 stack dalam 1 array Stack1 dan Stack2 ALGORTIMA LIFO Stack1 dasar Nilai indeks terkecil Stack2 dasar Nilai indeks terbesar

Double Stack Stack1 Stack2 S[] -1 0 1 2 3 4 5 6 7 8 9 a a a b b b Nama Array : S[] TOP1 2 7 TOP2 TOP1 TOP2 X

KONSEP DOUBLE STACK

Proses Double Stack Konsep LIFO 5 proses Awal Inisialisasi PUSH PUSH1 STACK1 PUSH2 STACK2 POP POP1 STACK1 POP2 STACK2

Proses AWAL (Inisialisasi) Menyiapkan indeks penunjuk stack pertama kali TOP1 = -1 TOP2 = n Stack1 Stack2 S[] -1 0 1 2 3 4 5 6 7 8 9 10 TOP1-1 10 TOP1 TOP2 X TOP2

Proses PUSH1 Algoritma Periksa Stack penuh / tidak if (Top2 TOP1 > 1) Jika TRUE isi stack Operasi PUSH Top1 = Top1 + 1; S[Top1]=X;

Proses PUSH1 CONTOH Stack1 Isi X = 25 di PUSH ke Stack1 Stack2 S[] -1 0 1 2 3 4 5 6 7 8 9 25 10 TOP1-1 0 10 25 TOP1 TOP2 X TOP2 Stack bisa diisi? if (Top2 TOP1 > 1) if (10-(-1) > 1) Top1 = Top1+1 = -1+1 = 0 S[Top] = X

Proses PUSH2 Algoritma Periksa Stack penuh / tidak if (Top2 TOP1 > 1) Jika TRUE isi stack Operasi PUSH Top2 = Top2-1; S[Top2]=X;

Proses PUSH2 CONTOH Stack1 Isi X = 10 di PUSH ke Stack2 Stack2 S[] -1 0 1 2 3 4 5 6 7 8 9 25 10 10 TOP1 10 9 10 TOP2 X Stack bisa diisi? if (Top2 TOP1 > 1) 0 TOP1 if (10-0) > 1) if (10>1) TRUE Top2 = Top2-1 = 10-1=9 S[Top] = X S[9] = 10 TOP2

Proses POP1 Algoritma Periksa Stack ada isi atau tidak if (Top1 > -1) Jika TRUE ambil isi stack Operasi POP X=S[Top1]; Top1=Top1-1

Proses POP1 CONTOH Hapus 25 Stack1 Stack1 Stack2 S[] -1 0 1 2 3 4 5 6 7 8 9 25 10 10 TOP1-1 0 TOP1 Stack bisa dihapus? if (Top1 > -1) if (0 >- 1) TRUE 9 25 TOP2 X TOP2 X=S[Top1]; X=S[0]=25 Top1=Top1-1 Top1=0-1=-1

Proses POP2 Algoritma Periksa Stack ada isi atau tidak if (Top2 < n) Jika TRUE ambil isi stack Operasi POP X=S[Top2]; Top2=Top2+1

Proses POP2 CONTOH Hapus 10 Stack2 Stack1 Stack2 S[] -1 0 1 2 3 4 5 6 7 8 9 10 10 TOP1-1 TOP1 Stack bisa dihapus? if (Top2 < n) if (9 < 10) TRUE 910 10 TOP2 X TOP2 X=S[Top2]; X=S[9]=10 Top2=Top2+1 Top2=9+1=10

Contoh Sebutkan ciri-ciri untuk kondisi stack berikut: Semua lokasi penuh untuk stack 1 Semua lokasi penuh untuk stack 2 Misal n = 20, top 1 = 5, top 2 = 15, berapa lokasi yang masih bisa diisi?

HOME WORK Ada 2 buah stack SA int SA[20] dan SB int SB[20], dengan kondisi awal kosong. Penunjuk data paling atas untuk SA TOPA dan SB TOPB. Terdapat 10 data dengan urutan sebagai berikut: 12, 17, 5, 10, 15, 7, 25, 11, 22, 19 SOAL : Buat Algoritma dan gambarkan (ilustrasi stack) untuk menginput 10 data diatas satu per satu sesuai urutan dan menyimpannya kedalam stack SA sedemikian rupa sehingga isi stack SA urut nilai menaik. CATT : stack SB dapat digunakan jika perlu

Terima Kasih Desi Ramayanti, S.Kom, MT