STRUKTUR DATA Pertemuan 4

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

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

BAB 3 STACK (TUMPUKAN)

STACK ATAU TUMPUKAN 3.1 DAFTAR LINEAR

BAB II STACK Atau TUMPUKAN

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

BAB II STACK (TUMPUKAN)

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

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

ALGORITMA DAN STRUKTUR DATA

BAB II LANDASAN TEORI

4. STACK / TUMPUKAN TEORI PENUNJANG

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

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

BAB IV IMPLEMENTASI DAN EVALUASI

BAB 2 LANDASAN TEORI

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

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

ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE

Algoritma dan Struktur Data STACK

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

BAB III STACK ATAU TUMPUKAN

Algoritma Pemrograman

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

Struktur Data Array. Rijal Fadilah S.Si

S TA C K Sunu Wibirama

Algoritma Pemrograman

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

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

Gambar 1. Ilustrasi Stack

Gambar 2.1 Ilustrasi Stack

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

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

Algoritma Pemrograman

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

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

ARNA FARIZA YULIANA SETIOWATI

QUEUE (ANTREAN) Operasi Antrean : FIFO (First In First Out) Elemen yang pertama masuk merupakan elemen yang pertama keluar.

Stack. Gambar 1.1 Stack

Array. Array mempunyai dimensi : 1. Array Dimensi Satu (Vektor) 2. Array Dimensi Banyak. - Dimensi Dua (Matriks/Tabel) - Dimensi Tiga (Kubik).

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

Soal hari Jumat (16/10) Latihan 10 MS

INFIX, PREFIX DAN POSTFIX

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

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

Analisis Perbandingan Algoritma Rekursif dan Non-Rekursif secara DFS (Depth First Search) dengan Memanfaatkan Graf

5. QUEUE (ANTRIAN) TUJUAN PRAKTIKUM

INFIX, POSTFIX, dan PREFIX Bambang Wahyudi

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)

STRUKTUR DATA POKOK BAHASAN - 7 STACK ( TUMPUKAN )

ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN. Disusun Oleh : Sakina Mawardah Teknik Informatika. Dosen : Asep M. Yusuf, S.

Konstruksi Dasar Algoritma

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

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

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

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

GANJIL 2009/2010 NIM: Algoritma dan Struktur Data / CS2014 Nama :

Games and Quiz PT II. Dr. Putu Harry Gunawan, MSi.,MSc. phg-simulation-laboratory.com

APLIKASI PERANGKAT AJAR PENGELOLAAN DAN PERHITUNGAN EKSPRESI MATEMATIKA DARYANTO

SEMANTIK. Sintak mendifinisikan suatu bentuk program yang benar dari suatu bahasa.

Algoritma Euclidean dan Struktur Data Pohon dalam Bahasa Pemrograman LISP

QUEUE ( ANTREAN ) 4.1. PENGERTIAN QUEUE (ANTREAN)

Algoritma Dan Struktur Data II

A. TUJUAN PEMBELAJARAN

ALGORITMA PEMROGRAMAN 1C SEMANTIKS

STATEMEN GO TO DAN IF-THEN. Pertemuan IX

KUNJUNGAN PADA POHON BINER

PENGULANGAN Bagian 1 : Notasi. Tim Pengajar KU1071 Sem

PRAKTIKUM ALGORITMA & PEMROGRAMAN III MODUL_06 Stack (Tumpukan)

STRUKTUR DATA Pertemuan 6

BAB III ANALISIS. Mekanisme Penyimpanan dan Pengambilan Sequence

Praktikum 4. Tumpukan (Stack)

SEMANTIK. Int vector[10];

TIPE, NAMA, DAN NILAI

BAB-2 : TIPE DATA, VARIABEL DAN OPERATOR

Struktur dan Organisasi Data 2 STRUKTUR DATA

RINGKASAN PEMROGRAMAN QUICK BASIC

Modul Praktikum Algoritma dan Struktur Data

BAB 1 TIPE DATA. Selain itu terdapat operasi MOD (Modulo) adalah sisa dari pembagian Contoh : 27 MOD 4 = 3

BAB 1 TIPE DATA. Struktur Data 1. Sederhana : Array dan Record 2. Majemuk terdiri atas Linier Non Linier

Kasus Penggunaan Stack: Komputasi Ekspresi Aritmatika

ANALISIS ALGORITMA PEMBANGUN POHON EKSPRESI DARI NOTASI PREFIKS DAN POSTFIKS

SEMANTIK Syntax mendefinisikan suatu bentuk program yang benar dari suatu bahasa.

Algoritma Pemrograman

FUNGSI. setiap elemen di dalam himpunan A mempunyai pasangan tepat satu elemen di himpunan B.

CCH1A4 / Dasar Algoritma & Pemrogramanan

PENGANTAR KOMPUTER & SOFTWARE I REPRESENTASI DATA

Tugas #2 (kelompok, max. 3 orang)

Hanif Fakhrurroja, MT

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

PENGANTAR KOMPUTER & SOFTWARE I REPRESENTASI DATA

OPERATOR DAN UNGKAPAN

Bagian A: Analisa dan Logika (30 soal)

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

Algoritma dan Pemrograman Bab II Dev Pascal, Variabel, Tipe Data. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

Bab 2 Struktur Dasar

STRATEGI DIVIDE AND CONQUER

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

MODUL IV STACK A. TUJUAN

Transkripsi:

STRUKTUR DATA Pertemuan 4 Struktur Data prepared by Suyanto 1

Definisi Stack atau Tumpukan adalah suatu struktur data yang terbentuk dari barisan hingga yang terurut dari satuan data. Pada Stack, penambahan dan penghapusan elemennya hanya dapat dilakukan pada satu posisi, yaitu posisi akhir stack. Posisi ini disebut Puncak atau Top dari stack. Struktur Data prepared by Suyanto 2

Stack... Elemen Stack S yang berada pada posisi Top / Puncak dinyatakan dengan : TOP(S). Jika stack S = [S 1,S 2,...,S T ] maka : TOP(S) = S TOP(S) = S T Sedang banyaknya elemen stack S dinyatakan dengan : NOEL(S) = T. Struktur Data prepared by Suyanto 3

Representasi Stack S = 6 5 4 D 3 C 2 B 1 A Maks. Stack TOP TOP(S) = D NOEL(S) = 4 Struktur Data prepared by Suyanto 4

Operasi Stack 1. CREATE(S) Adalah operator yang menyebabkan Stack S menjadi suatu stack hampa. Jadi NOEL(CREATE(S)) adalah 0 dan TOP(CREATE(S)) adalah tak terdefinisi. 2. ISEMPTY(S) Adalah operator yang berfungsi untuk memeriksa apakah Stack(S) hampa (kosong) atau tidak. Hasil dari operasi ISEMPTY adalah Boolean yaitu TRUE jika kosong dan FALSE jika isi. Struktur Data prepared by Suyanto 5

Operasi Stack (lanjutan 3. PUSH(S,elemen) PUSH(S,E) adalah operator yang berfungsi menambahkan elemen E ke Stack. Elemen E akan ditempatkan pada posisi TOP(S). Suatu error akan terjadi jika PUSH dioperasikan pada stack yang sudah mencapai maksimal stack.(overflow) 4. POP(S) Adalah operator yang berfungsi mengeluarkan atau menghapus elemen TOP(S) dari dalam stack. POP(S) akan mengurangi nilai NOEL(S) dengan 1. Suatu error akan terjadi jika POP(S) dilakukan pada stack yang hampa / kosong. (Underflow) Struktur Data prepared by Suyanto 6

Contoh CREATE(S) S PUSH(S, A ) TOP(S) = ~ Top = 0 NOEL(S) = 0 PUSH(S, K ) 2 K 1 A POP(S) TOP(S) = K Top = 2 NOEL(S) = 2 1 A TOP(S) = A Top = 1 NOEL(S) = 1 1 A TOP(S) = A Top = 1 NOEL(S) = 1 Struktur Data prepared by Suyanto 7

Algoritma 1. Algoritma PUSH(Stack,item) 1. IF MaxStk = Top THEN Overflow 2. Top = Top + 1 3. STACK[Top] = item 4. Exit 2. Algoritma POP(Stack) 1. IF Top = 0 THEN Underflow; Exit 2. Item = Stack[Top] 3. Top = Top 1 4. Exit Struktur Data prepared by Suyanto 8

TUGAS 1 1. CREATE(S) 2. PUSH(S, K ) 3. IF NOEL(S)>5 THEN GOTO 6 4. PUSH(S, E ) 5. GOTO 2 6. IF ISEMPTY(S) THEN GOTO 9 7. PRINT TOP(S) 8. PRINT NOEL(S) 9. END Gambarkan keadaan Stack S selama proses diatas berlangsung. Struktur Data prepared by Suyanto 9

TUGAS 2 CREATE(S) WHILE NOEL(S) <= 5 DO PUSH(S,item) PRINT TOP(S) PRINT NOEL(S) ENDWHILE REPEAT POP(S) IF NOEL(S)=2 THEN PRINT TOP(S) UNTIL NOEL(S)=1 PRINT TOP(S) PRINT NOEL(S) PRINT ISEMPTY(S) END Jelaskan hasil dari algoritma diatas, lengkapi dengan hasil output yang mungkin muncul. Struktur Data prepared by Suyanto 10

APLIKASI STACK Aplikasi stack bisa diterapkan dalam bidang arithmatika yaitu dalam penulisan ekspresi matematika. Dalam penulisannya harus memperhatikan hierarki Operator yaitu : 1. ( ) 2. ^ (pangkat) 3. /, *, DIV, MOD 4. +, - Operator Logika : 1. NOT 2. AND 3. OR Struktur Data prepared by Suyanto 11

Aplikasi stack... Bentuk notasi penulisan ekspresi matematika 1. Infix Notation A + B Operand, Operator, Operand 2. Prefix Notation + A B Operator, Operand, Operand 3. Postfix Notation A B + Operand, Operand, Operator Contoh : Infix (4 3) * (12 / 3) Prefix *, -,4, 3, /, 12, 3 Postfix 4, 3, -, 12, 3, /, * Contoh Soal : 1. Tentukan hasil dari : 12, 7, 3, -, /, 2, 1, 5, +, *, + 2. 5 + 3 ^ 2 8 / 4 + 3 + 6 3. 3, 1, + 2, ^, 7, 4, -, 2, *, +, 5, - 4. (A * (( B + D) / E)) - (F * (G + (H / K))) Struktur Data prepared by Suyanto 12

Algoritma Postfix Untuk membuat notasi infix ke postfix, berikut ini adalah algoritmanya: Algoritma PostFix(Q, P) {Q=Infix, P=Postfix} 1. Masukkan ( ke dalam Stack dan ) ke akhir infix. 2. Telusuri Q sampai elemen yang terakhir 3. Jika menemukan Operand, maka masukkan ke P. 4. Jika menemukan (, maka masukkan ke dalam Stack. 5. Jika menemukan operator, maka : 1. Ulangi POP(S) setiap Operator yang sama atau lebih tinggi hirarkinya dan masukkan ke P 2. Masukkan operator tadi ke Stack. 6. Jika menemukan ), maka : 1. Ulangi POP(S) setiap Operator sampai menemukan ( dan masukkan ke dalam P. 2. Hapus ( 7. Selesai Struktur Data prepared by Suyanto 13

Penerapan Algoritma Postfix Q = A + (B * C (D / E ^ F) * G) * H Q STACK POSTFIX ( 1 A ( A 2 + (+ A 3 ( (+( A 4 B (+( AB 5 * (+(* AB 6 C (+(* ABC 7 - (+(- ABC* 8 ( (+(-( ABC* 9 D (+(-( ABC*D Struktur Data prepared by Suyanto 14

Q STACK POSTFIX 10 / (+(-(/ ABC*D 11 E (+(-(/ ABC*DE 12 ^ (+(-(/^ ABC*DE 13 F (+(-(/^ ABC*DEF 14 ) (+(- ABC*DEF^/ 15 * (+(-* ABC*DEF^/ 16 G (+(-* ABC*DEF^/G 17 ) (+ ABC*DEF^/G*- 18 * (+* ABC*DEF^/G*- 19 H (+* ABC*DEF^/G*-H 20 )... ABC*DEF^/G*-H*+ Struktur Data prepared by Suyanto 15

Contoh Aplikasi Menara Hanoi Contoh : Tower Menara Hanoi Tujuan : Memindahkan lempengan di A ke C dengan babntuan B. Aturan : 1. Pemindahan = POP pada stack yaitu 1 elemen sekali POP. 2. Yang terkecil selalu diatas yang besar. Ditanya : 1. Berapa langkah untuk memindahkan lempengan tersebut. Struktur Data prepared by Suyanto 16

1. Rumus mencari langkah : J = 2 n 1 n = Banyak Lempengan Struktur Data prepared by Suyanto 17

Q STACK POSTFIX ( 1 A ( A 2 + (+ A 3 ( (+( A 4 B (+( AB 5 * (+(* AB 6 C (+(* ABC 7 - (+(- ABC* 8 ( (+(-( ABC* 9 D (+(-( ABC*D Struktur Data prepared by Suyanto 18

Q STACK POSTFIX 10 / (+(-(/ ABC*D 11 E (+(-(/ ABC*DE 12 ^ (+(-(/^ ABC*DE 13 F (+(-(/^ ABC*DEF 14 ) (+(- ABC*DEF^/ 15 * (+(-* ABC*DEF^/ 16 G (+(-* ABC*DEF^/G 17 ) (+ ABC*DEF^/G*- 18 * (+* ABC*DEF^/G*- 19 H (+* ABC*DEF^/G*-H 20 ) HABIS ABC*DEF^/G*-H*+ Struktur Data prepared by Suyanto 19

ABC-^D/E*F+ 1. A^B-C/D*E+F 2. A^B-C/D*E+F 3. A^B/C-D*E+F 4. A(B-C)^D/E*F+ 5. (A^(B-C))D/E*F+ 6. ((A^(B-C))/D)E*F+ 7. A^(B-C)/D*E+F 8. A^-BC/D*E+F 9. ^A-BC/D*E+F 10. /^A-BCD*E+F 11. +*/^A-BCDEF 1. +*/^A-BCDEF 2. ^-/*+ABCDEF 3. +*/^AB-CDEF Struktur Data prepared by Suyanto 20

Tugas 1 (A * (( B + D) / E)) - (F * (G + (H / K))) Ubah ke dalam notasi Postfix dengan menggunakan Algoritma Postfix. Struktur Data prepared by Suyanto 21

Tugas 2 1. Ubah Notasi infix ini ke prefix dan postfix a. A/B-C/D b. (A+B)^3-C*D c. A^(B+C) 2. Ubah notasi Prefix ini ke dalam infix dan postfix a. +-/ABC^DE b. -+DE/XY c. ^+23-CD 3. Ubah notasi Postfix ini ke dalam infix dan prefix a. ABC+b. GH+IJ/* c. AB^CD+- Struktur Data prepared by Suyanto 22