BAB 3 STACK (TUMPUKAN)

dokumen-dokumen yang mirip
S T A C K ( T U M P U K A N )

STACK ATAU TUMPUKAN 3.1 DAFTAR LINEAR

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

BAB II STACK Atau TUMPUKAN

STRUKTUR DATA Pertemuan 4

BAB III STACK ATAU TUMPUKAN

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

QUEUE. Queue adalah suatu linear list di mana operasi DELETE terjadi pada sisi depan (FRONT) dan operasi INSERT terjadi pada sisi belakang (REAR).

BAB II STACK (TUMPUKAN)

4. STACK / TUMPUKAN TEORI PENUNJANG

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

STRUKTUR DATA POKOK BAHASAN - 7 STACK ( TUMPUKAN )

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

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

PRAKTIKUM ALGORITMA & PEMROGRAMAN III MODUL_06 Stack (Tumpukan)

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

STACK (Tumpukan) Tumpukan Koin. Tumpukan Kotak

ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE

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. Pertemuan 5 STACK (TUMPUKAN)

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.

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

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

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

Algoritma Dan Struktur Data II

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

Struktur Data Array. Rijal Fadilah S.Si

Algoritma dan Struktur Data STACK

5. QUEUE (ANTRIAN) TUJUAN PRAKTIKUM

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

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

QUEUE ( ANTREAN ) 4.1. PENGERTIAN QUEUE (ANTREAN)

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

BAB IV QUEUE ATAU ANTREAN

Modul Praktikum Algoritma dan Struktur Data

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

S TA C K Sunu Wibirama

ALGORITMA DAN STRUKTUR DATA

MODUL IV STACK A. TUJUAN

Pendahuluan Struktur Data. Nisa ul Hafidhoh

BAB II LANDASAN TEORI

Stack. Gambar 1.1 Stack

Algoritma Dan Struktur Data II

ARNA FARIZA YULIANA SETIOWATI

BAB III QUEUE (ANTRIAN)

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II. : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Queue.

STACK (TUMPUKAN) Secara sederhana, sebuah tumpukan bisa kita ilustrasikan seperti gambar berikut.

MODUL PRAKTIKUM STRUKTUR DATA

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

DIG1G3 Implementasi Struktur Data

: Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Linked List. Single Linked List

Algoritma Pemrograman & Struktur Data

Materi 8 : STACK (TUMPUKAN) Dosen:

1. Kompetensi Mengenal dan memahami struktur data Stack (tumpukan) dan Queue (antrian).

Operasi File. Chapter 13

A. TUJUAN PEMBELAJARAN

Lab. Teknik Informatika Struktur Data 1

BAB 2 LANDASAN TEORI

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 Dan Struktur Data II. Queue

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

STRUKTUR DATA Pertemuan 6

BAB 2 LANDASAN TEORI

Praktikum 4. Tumpukan (Stack)

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

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

Type Data terdiri dari : - Data Tunggal : Integer, Real, Boolean dan Karakter. - Data Majemuk : String

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

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

BAB IX LINKED LIST (SENARAI BERANTAI)

QUEUE (ANTREAN) Pertemuan 6 PENGERTIAN QUEUE (ANTREAN)

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

2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus.

Praktikum Stuktur Data [MODUL]

STRUKTUR DATA Pertemuan 1 s.d 8

Pertemuan VI ANTRIAN (Queue)

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

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

Struktur Data dan Algoritma

Struktur dan Organisasi Data 2 STRUKTUR DATA

INFIX, POSTFIX, dan PREFIX Bambang Wahyudi

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 2)

Gambar 2.1 Ilustrasi Stack

Pertemuan 7. REVIEW dan QUIS

Brigida Arie Minartiningtyas, M.Kom

BAB 2 ARRAY & RECORD

STACK DAN QUEUE (Muhammad Fachrie, STMIK Amikom Yogyakarta)

Gambar 1. Ilustrasi Stack

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

LOGO STRUKTUR DATA QUEUE

A. TUJUAN PEMBELAJARAN

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

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 1 x 3 x 50 Menit Pertemuan : 9

MODUL STRUKTUR DATA ADI PRATOMO NIP

LAPORAN PRAKTIKUM RESMI QUEUE

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

BAB 2 ARRAY. Array adalah suatu himpunan hingga elemen, terurut dan homogen.

Transkripsi:

BAB 3 STACK (TUMPUKAN) LINIER LIST Suatu struktur data umum yang berisi suatu kumpulan terurut dari elemen; jumlah elemen di dalam list dapat berubah-ubah. Linier list A yang terdiri dari T elemen pada waktu t, dinotasikan sebagai : A = [ A1, A2,..., AT] Jika T = 0, maka A disebut Empty List atau Null List Suatu elemen dapat dihilangkan/dihapus dari sembarang posisi dalam linier list, dan dapat pula dimasukkan elemen baru sebagai anggota list. Contoh : 1. File, dengan elemennya berupa record 2. Buku telepon 3. Stack 4. Queue 5. Linear link list STACK Stack adalah suatu bentuk khusus dari linier list, dengan operasi penyisipan dan penghapusan dibatasi hanya pada satu sisinya, yaitu puncak stack (TOP). Elemen teratas dari stack dinotasikan sebagai TOP(S). Untuk stack S, dengan S = [S 1, S 2, S 3,..., S T ] maka TOP(S) = S T Jumlah elemen di dalam stack kita notasikan dengan NOEL(S). NOEL(S) menghasilkan nilai integer. Untuk stack S = [S 1, S 2, S 3,..., S T ] maka NOEL (S) = T. Operator penyisipan (insertion) : PUSH Operator penghapusan (deletion) : POP Operasi stack : LIFO (Last In First Out), yaitu : yang terakhir masuk yang pertama keluar. Jika ada NOEL elemen didalam stack, maka elemen ke NOEL merupakan elemen puncak (TOP). BAB 3 Halaman 1 dari 5

Stack secara umum : S = [S 1, S 2,..., S NOEL ] bahwa : S I berada di atas elemen S J, untuk I > J S I akan dikeluarkan lebih dulu dari elemen di bawahnya. Contoh stack : Tumpukan baki dalam cafetaria Empat operasi dasar yang berlaku pada stack : 1. CREATE(stack) 2. ISEMPTY(stack) 3. PUSH(elemen, stack) 4. POP(stack) CREATE adalah operator yang menunjukkan suatu stack kosong dengan nama S. Jadi : NOEL(CREATE(S)) = 0 TOP(CREATE(S)) adalah TIDAK TERDEFINISI. ISEMPTY adalah operator yang menentukan apakah stack S kosong. Operandnya terdiri dari type data stack. Hasilnya merupakan type data Boolean. ISEMPTY(S) = True. Jika S hampa, yakni bila NOEL(S) = 0. PUSH adalah operator yang menambahkan elemen E pada puncak stack S. Hasilnya merupakan stack yang lebih besar. PUSH(E,S). E ditempatkan sebagai TOP(S). POP(stack) adalah operator yang menghapus sebuah elemen dari puncak stack S. Hasilnya merupakan stack yang lebih kecil. POP(S) mengurangi NOEL(S) POP(CREATE(S)) kondisi error POP(PUSH(E,S)) = S DEKLARASI STACK DALAM COBOL DAN PASCAL Cara yang paling sederhana adalah membentuk Stack dalam bentuk semacam Array. Penempatan Stack dalam suatu Array mengakibatkan suatu keterbatasan, yakni bahwa elemen Stack harus homogen. BAB 3 Halaman 2 dari 5

Keharusan pemrograman untuk menentukan batas atas dari subskrip Array, walaupun Stack sebenarnya tidak memiliki batas maksimum dalam jumlah elemen. Yang membedakan Stack dengan Array adalah banyaknya elemen Stack dapat bertambah atau berkurang setiap waktu, sementara banyaknya elemen sebuah array selalu tetap. Deklarasi dari Variabel S yang bertipe data Stack. Diasumsikan bahwa elemen dari S masing-masing bertipe data integer dan panjang Stack maksimum 100 elemen. Kita mendeklarasikan sebuah Array yang dilengkapi dengan Variabel TOP-PTR. Variabel TOP-PTR ini menyatakan subkrip dari elemen TOP(S) dari Stack. TOP-PTR 100 S Keterangan : STACK S TOP-PTR : subskrip dari elemen TOP(S) dari stack. 1 COBOL 01 STACK-STRUCT kombinasi dari array dan indikator untuk TOP 02 S OCCURS 100 TIMES PIC 9(5) 02 TOP-PTR PIC 9(3) PASCAL TYPE STACKSTRUCT = RECORD STACK : ARRAY [1..100] of integer; TOPPTR : integer; END; VAR S : STACKSTRUCT; NOEL(S) = TOP-PTR, ISEMPTY(S) = true, bila TOP-PTR = 0. OPERASI PUSH & POP PUSH IF TOP-PTR < NOEL-MAX THEN COMPUTE TOP-PTR = TOP-PTR + 1 MOVE EON TO S(TOP-PTR) ELSE Overflow condition BAB 3 Halaman 3 dari 5

POP IF TOP-PTR > 0 THEN MOVE S(TOP-PTR) TO EOFF COMPUTE TOP-PTR = TOP-PTR - 1 ELSE Underflow condition EON : elemen yang di PUSH ke dalam S. EOFF : elemen yang di POP ke luar S. NOEL-MAX : panjang max stack. PUSH Procedure PUSH (eon: integer); if (s.topptr < noelmax) then s.topptr := s.topptr + 1; s.stack [s.topptr] := eon; else Overflow-condition POP Procedure POP (var eoff : integer); if (s.topptr > 0) then eoff := s.stack [s.topptr]; s.topptr := s.topptr - 1; else Underflow Condition APLIKASI STACK 1. Penjodohan Tanda Kurung/Matching Parantheses ALGORITMA a. Amati barisan elemen dari kiri ke kanan b. bila bertemu (, maka ( di push ke dalam stack. bila bertemu ), maka periksa stack hampa atau tidak. bila hampa ada ) dan tidak ada ( (error) bila tidak hampa ada sepasang ( & ) & POP elemen keluar BAB 3 Halaman 4 dari 5

2. NOTASI POSTFIX ALGORITMA Amati barisan dari kiri ke kanan 1. Jika (, maka PUSH ke dalam stack. 2. Jika ), POP elemen dalam stack sampai simbol (. Semua di POP merupakan output kecuali ( tadi. 3. Jika simbol operand, langsung merupakan output. 4. Jika simbol operator, maka : Jika elemen TOP stack dengan level >= maka POP sebagai output teruskan sampai (. elemen TOP <, operator yang diamati di PUSH ke dalam stack. 5. Bila ; kita POP semua elemen dalam stack hingga hampa. APLIKASI STACK Notasi Postfix Contoh : Notasi Infix : ((A+B) * C/D+E^F)/G; Simbol yang diamati TOP dari STACK 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ( ( A + B ) * C / D + E ^ F ) / G ; + + ( ( ( ( * * / ( ( ( ( ( ( ( ( ( ^ ^ / + + + + ( ( ( ( ( / / OUTPUT A B + C * D / E F ^+ G / Soal : 1. A * B - (C + D) -(E - F) + F/H ^ I; 2. ((B * C) + C/D ^ F) + G; 3. A ^ B * C - D + E/F / (G + H); BAB 3 Halaman 5 dari 5