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

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

Gambar 1. Ilustrasi Stack

Gambar 1. Ilustrasi Stack

STACK (Tumpukan) Pengertian Stack

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

MODUL III ARRAYLIST TUGAS PENDAHULUAN

ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE

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

Algoritma dan Struktur Data STACK

Jika Anda ingin bisa/sukses dalam kuliah SDA ini, rajinlah mengimplementasikan ADT dan mengerjakan soal-soal yang diberikan.

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

Gambar 1. Single Linked List

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

Gambar 1. Single Linked List

Gambar 1. Single Linked List

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

ARNA FARIZA YULIANA SETIOWATI

ALGORITMA DAN STRUKTUR DATA

Struktur Data Array. Rijal Fadilah S.Si

Politeknik Elektronika Negeri Surabaya

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

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

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

Praktikum 4. Tumpukan (Stack)

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

BAB II STACK Atau TUMPUKAN

A. TUJUAN PEMBELAJARAN

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

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE

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

4. STACK / TUMPUKAN TEORI PENUNJANG

Kasus Penggunaan Stack: Komputasi Ekspresi Aritmatika

STRUKTUR DATA Pertemuan 4

BAB II STACK (TUMPUKAN)

C. TUGAS PENDAHULUAN Buatlah resume 1 halaman mengenai Priority Queue dan berikan penjelasannya.!

S TA C K Sunu Wibirama

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

Struktur Data dan Algoritma

Praktikum Exception Handling

Grouping Object. Viska Mutiawani, M.Sc

IMPLEMENTASI STRUKTUR DATA LIST, QUEUE DAN STACK DALAM JAVA

Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.

BAB 3 STACK (TUMPUKAN)

STACK (Tumpukan) Tumpukan Koin. Tumpukan Kotak

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

Modul Praktikum Algoritma dan Struktur Data

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

STACK ATAU TUMPUKAN 3.1 DAFTAR LINEAR

Politeknik Elektronika Negeri Surabaya

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

A. TUJUAN PEMBELAJARAN 1. Mengetahui cara menangani exception dengan cara melempar exception. 2. Mengetahui cara membuat sendiri class exception.

Operator dan Assignment

03/04/2018. Collection set List Map. Pemrograman Berorientasi Object

MODUL IV STACK A. TUJUAN

Materi 8 : STACK (TUMPUKAN) Dosen:

Pemrograman Berbasis Objek Operator dan Assignment

Algoritma dan Struktur Data. Queue

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

Algoritma Dan Struktur Data II. Queue

PRAKTIKUM ALGORITMA & PEMROGRAMAN III MODUL_06 Stack (Tumpukan)

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)

Algoritma Pemrograman & Struktur Data

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

INFIX, POSTFIX, dan PREFIX Bambang Wahyudi

KUM 3 IMPLEMENTASI LIST

A. TUJUAN Mahasiswa diharapkan mampu : 1. Memahami Konsep Binary Search Tree 2. Mengimplementasaikan Binary Search Tree

Permainan Remi Sederhana

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

Dasar Pemrograman Java

A. TUJUAN PEMBELAJARAN 1. Memahami konsep Class LinkedList di Collection 2. Memahami penggunaan method-method pada Class LinkedList.

Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya

BAB II LANDASAN TEORI

Algoritma Pemrograman [BS204]

Everybody in this country should learn how to program a computer because it teaches you how to think. Steve Jobs

Belajar ArrayList di Java

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR

Praktikum tentang Collection Permainan Remi

Pemrograman Berorientasi Obyek. Operator & Assignment

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

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

Anonymous Inner Class

Pertemuan 7. REVIEW dan QUIS

Gambar 1. Single Linked List

TIPE DATA PADA JAVA. Pertemuan (K-04/L-04)

IKG2I4 / Software Project I

INSTITUT TEKNOLOGI SUMATERA COLLECTION: SET DAN MAP

Modul Praktikum Bahasa Pemrograman 1

INFIX, PREFIX DAN POSTFIX

Politeknik Elektronika Negeri Surabaya

BAB III OPERATOR compiler operasi operand A. Operator Aritmatika Operator Penggunaan Deskripsi Latihan 4. Aritmatika.java

A. TUJUAN PEMBELAJARAN 1. Mengenal berbagai macam bentuk operator 2. Memahami penggunaan berbagai macam jenis operator yang ada di Java

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

KONSEP DASAR PEMROGRAMAN BERORIENTASI OBYEK

OPERATOR-OPERATOR DALAM JAVA

KUM 5 IMPLEMENTASI QUEUE

Praktikum KPLBO Final Object Concept I

BAB III STACK ATAU TUMPUKAN

Array. Adharul Muttaqin Universitas Brawijaya Malang. Array

BAB 2 LANDASAN TEORI

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom

Transkripsi:

Praktikum Stack A. Stack Collection di java.util.collection Percobaan 1 import java.util.iterator; import java.util.stack; public class StackExample { public static void main(string[] args) { Stack<String> sk=new Stack<String>(); sk.push("a"); sk.push("c"); sk.push("e"); sk.push("d"); Iterator it=sk.iterator(); System.out.println("Size before pop() :"+sk.size()); while(it.hasnext()) { String ivalue=(string)it.next(); System.out.println("Iterator value :"+ivalue); // get and remove last element from stack String value =(String)sk.pop(); System.out.println("value :"+value); System.out.println("Size After pop() :"+sk.size()); Percobaan 2 import java.util.stack; public class StackExample { public static void main(string args[]) { Stack s = new Stack(); s.push("java"); s.push("source"); s.push("and"); System.out.println("Next: " + s.peek()); s.push("support"); System.out.println(s.pop()); s.push("."); int count = s.search("java"); while (count!= -1 && count > 1) { s.pop();

count--; System.out.println(s.pop()); System.out.println(s.empty()); Buatlah Interface Stack yang berisi fungsi fungsi berikut: Interface Stack boolean T T void int isempty() mengembalikan true jika stack kosong dan false jika stack berisi elemen. peek() mengambil nilai dari atas stack, jika stack kosong maka melempar (throw) EmptyStackException pop() menghapus elemen dari atas stack dan mengembalikan nilainya. Jika stack kosong maka melempar(throw) EmptyStackException. push(t item) menambahkan item di atas stack size() mengembalikan jumlah elemen yang terdapat di stack. B. Implementasi Stack menggunakan array public class StackArr<T> implements Stack { T value[] ; int topofstack ; public boolean isempty(){ public T pop(){ public void push(t item){ public T peek() { public int size() { C. Implementasi Stack menggunakan ArrayList public class ALStack<T> implements Stack { // storage structure private ArrayList<T> stacklist = null; // create an empty stack by creating an empty ArrayList public ALStack() { stacklist = new ArrayList<T>(); public boolean isempty(){ public T pop(){

public void push(t item){ public T peek() { public int size() { D. Buatlah program untuk menghitung hasil dari ekspresi postfix. Contoh : hitunglah nilai dari ekspresi postfix berikut "4 3 5 * +" Buatlah class PostfixEval Class PostfixEval Atribut postfixexpression Method PostfixEval() compute(left:int, right:int, op:chair) evaluate() getoperand() getpostfixexp() isoperator() untuk menerima inputan ekspresi Postfix Untuk menghitung operand left dan right dengan operator op untuk mengambil pertama operand kanan dan kemudian operand kiri. Fungsi ini melempar ArithmeticException jika stack kosong. Untuk mendapatkan operand Untuk mendapatkan ekspresi Postfix Untuk menentukan apakah karakter termasuk operator valid ('+',' ','*','/','%','^'). E. Mengubah Ekspresi Infix menjadi Postfix Berikut ini adalah algoritma untuk mengubah notasi infix menjadi notasi postfix:

1. Baca ungkapan dalam notasi infix, misalnya S, tentukan panjang ungkapan tersebut, misalnya N karakter, siapkan sebuah stack kosong dan siapkan derajad masing-masing operator, misalnya: ^ berderajad 3, * dan / berderajad 2, + dan berderajad 1 dan ( berderajad 0. 2. Dimulai dari i = 1 sampai N kerjakan langkah-langkah sebagai berikut: a. R = S[I] b. Test nilai R. Jika R adalah: operand : langsung ditulis kurung buka : push ke dalam tumpukan kurung tutup : pop dan tulis semua isi tumpukan sampai ujung tumpukan = (. Pop juga tanda ( ini, tetapi tidak usah ditulis operator : jika tumpukan kosong atau derajad R lebih tinggi dibanding derajad ujung tumpukan, push operator ke dalam tumpukan. Jika tidak, pop ujung tumpukan dan tulis; kemudian ulangi pembandingan R dengan ujung tumpukan. Kenudian R dipush c. Jika akhir notasi infix telah tercapai, dan tumpukan masih belum kosong, pop semua isi tumpukan dan tulis hasilnya Untuk memahami algoritma di atas, kita coba mengubah ungkapan berikut, yang ditulis menggunakan notasi infix, menjadi notasi postfix ( A + B ) / (( C D ) * E ^ F) Ilustrasi pengubahan notasi infix di atas menjadi notasi postfix secara lengkap tersaji dalam tabel sebagai berikut: dibaca Isi Tumpukan tercetak ( ( A ( + A A + ( + B B A B ) + A B + / / ( / ( Hasil Notasi Postfix Yang Terbentuk

dibaca Isi Tumpukan tercetak Hasil Notasi Postfix Yang Terbentuk ( / ( ( C / ( ( C A B + C - / ( ( - D / ( ( - D A B + C D ) / ( - A B + C D - * / ( * E / ( * E A B + C D - E ^ / ( * ^ F / ( * ^ F A B + C D - F ) / ( * ^ A B + C D F ^ / ( * A B + C D F ^ * / / A B + C D F ^ * Dari ilustrasi di atas, bisa kita lihat bahwa notasi postfix dari ungkapan: ( A + B ) / (( C D ) * E ^ F) adalah A B + C D F ^ * Contoh Infix ke Postfix Infix Postfix ( A + B ) / (( C D ) * E ^ F) A B + C D F ^ * a + b * c abc*+ a * b / c + d ab*c/d+ a * (b + c) abc+* a^b^c abc^^