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

dokumen-dokumen yang mirip
Algoritma Dan Struktur Data II. Queue

Algoritma dan Struktur Data STACK

ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE

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

QUEUE (ANTREAN) Pertemuan 6 PENGERTIAN QUEUE (ANTREAN)

Algoritma Dan Struktur Data II

Struktur Data Array. Rijal Fadilah S.Si

Algoritma dan Struktur Data. Queue

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

TIF 4201 Algoritma Dan Struktur Data

ARNA FARIZA YULIANA SETIOWATI

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)

Algoritma dan Struktur Data. Ramos Somya

KUM 5 IMPLEMENTASI QUEUE

PRAKTIKUM STRUKTUR DATA QUEUE. SULIDAR FITRI, M.Sc

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

BAB II STACK (TUMPUKAN)

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

Algoritma Dan Struktur Data II

LAPORAN PRAKTIKUM RESMI QUEUE

S TA C K Sunu Wibirama

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

Stack. Gambar 1.1 Stack

STACK DAN QUEUE (Muhammad Fachrie, STMIK Amikom Yogyakarta)

Implementasi Queue menggunakan Array. Imam Fahrur Rozi

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

Materi 8 : STACK (TUMPUKAN) Dosen:

Modul Praktikum Algoritma dan Struktur Data

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

Algoritma Pemrograman & Struktur Data

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

MODUL IV STACK A. TUJUAN

MODUL PEMROGRAMAN 2. Queue (Antrian)

PRAKTIKUM ALGORITMA & PEMROGRAMAN III MODUL_06 Stack (Tumpukan)

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

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

Pertemuan 7. REVIEW dan QUIS

STACK (Tumpukan) Tumpukan Koin. Tumpukan Kotak

ARNA FARIZA YULIANA SETIOWATI

QUEUE (ANTREAN) Prinsip Antrean : FIFO (First In First Out) FCFS (First Come First Serve) Yang Tiba lebih awal Maka akan dilayani Terlebih Dahulu

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

Struktur Data dan Algoritma

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

Algoritma dan Struktur Data

STRUKTUR DATA POKOK BAHASAN - 8 QUEUE ( ANTRIAN)

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

MODUL 4. COLLECTIONS ARRAYS, QUEUE, dan STACK

MODUL III ARRAYLIST TUGAS PENDAHULUAN

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

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE

5. QUEUE (ANTRIAN) TUJUAN PRAKTIKUM

Algoritma Pemrograman [BS204]

05. Double Linked List

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

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

BAB III QUEUE (ANTRIAN)

BAB IV Antrian(Queue)

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

A. TUJUAN PEMBELAJARAN

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

# NINE Queue dengan Array

STRUKTUR DATA Pertemuan 1 s.d 8

LOGO STRUKTUR DATA QUEUE

STRUKTUR DATA POKOK BAHASAN - 7 STACK ( TUMPUKAN )

LAPORAN PRAKTIKUM IV. Oleh:

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

(3) BAHAN KAJIAN (materi ajar)

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

ALGORITMA DAN STRUKTUR DATA

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

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

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

QUEUE (ANTRIAN) Struktur Data - Queue

BAB 3 STACK (TUMPUKAN)

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

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

Praktikum 4. Tumpukan (Stack)

4. STACK / TUMPUKAN TEORI PENUNJANG

BAB II STACK Atau TUMPUKAN

A. TUJUAN PEMBELAJARAN

BAB III METODE PENELITIAN. transmisi data streaming menggunakan Zigbee wireless network dengan

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

Single Linked List (1)

Antrian (Queue) Susunan koleksi data dimana proses penambahan data (add) dilakukan dari belakang dan penghapusan data (delete) dilakukan dari depan.

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

LAPORAN PRAKTIKUM IX. Oleh:

Pendahuluan Struktur Data. Nisa ul Hafidhoh

04. Single Linked List

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

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

Gambar 1. Single Linked List

SATUAN ACARA PENGAJARAN

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

BAB VIII QUEUE (ANTRIAN)

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

ABSTRACT DATA TYPE (ADT) Dr. Taufik Fuadi Abidin, M.Tech Irvanizam Zamanhuri, M.Sc

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

Lab. Teknik Informatika Struktur Data 1

Integer (Bilangan Bulat) Yang dimaksud bilangan bulat adalah, -1, -2, -3, 0, 1, 2, 3, 4 dan lain lain yang bukan merupakan bilangan pecahan.

Transkripsi:

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA MODUL KE-2 STACK DAN QUEUE LABORATORIUM PEMROGRAMAN PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2015

I. TUJUAN II. Mahasiswa mampu : 1. Memahami garis besar dari konsep stack dan queue. 2. Mengetahui perbedaan antara stack dan queue. 3. Mengimplementasikan stack dan queue kedalam program ALAT YANG DIGUNAKAN Peralatan yang digunakan : 1. Perangkat PC yang terinstall Java 2. Editor Java III. DASAR TEORI STACK Merupakan struktur data dimana semua penyisipan dan penghapusan entri dibuat pada salah satu ujung yang disebut TOP (puncak) tumpukan. Menggunakan prinsip kerja LIFO (Last In First Out). Opreasi dasar pada stack o Inisialisasi (create stack) untuk menginisialisasi tumpukan, menyiapkan tempat yang nantinya digunakan untuk menyimpan tumpukan. o Cek kosong (Isempty) melakukan pengecekan apakah tumpukan kosong atau tidak o Cek penuh untuk mengecek apakah tupukan penuh atau tidak o Tambah stack (PUSH) untuk menambah elemen ke dalam tumpukan o Ambil dari tumpukan (POP) untuk mengambil sebuah elemen dari tumpukan Deklarasi Stack Inisialisasi Stack

Fungsi Cek Kosong Fungsi Cek Penuh Fungsi PUSH Fungsi POP QUEUE Aturan queue : Penambahan elemen dilakukan di sisi yang berbeda dengan penghapusan elemen. Elemen yang dapat dihapus adalah elemen yang berada di posisi terdepan (front) dari queue. Untuk operasi penyisipan (insertion) elemen dilakukan pada posisi belakang (rear) dari queue. Skema pengaksesan : First In, First Out (FIFO) Contoh: Antrian printer Antrian tiket bioskop

Antrian nasabah di teller bank, dll Seperti halnya stack, queue juga dapat direpresentasikan sebagai array (static queue) maupun linked list (dynamic queue). Deklarasi queue menggunakan Array int size; long queue[]; int rear; int front; int jumitem; Operasi dasar QUEUE Inisialisasi untuk menginisialisasi antrian, menyiapkan tempat yang nantinya digunakan untuk menyimpan antrian. public Antrian(int s){ size = s; queue = new long[size]; rear = -1; front = 0; jumitem = 0; } Cek kosong (Isempty) melakukan pengecekan apakah antrian kosong atau tidak public boolean isempty(){ return(jumitem == 0); // return(rear == -1); } Cek penuh untuk mengecek apakah tupukan penuh atau tidak

public boolean isfull(){ return (rear == size-1); } Enqueue untuk menambah elemen ke dalam antrian public void enqueue (long j){ if(!isfull()){ queue[++rear]=j; jumitem++; } } Dequeue untuk mengambil sebuah elemen dari antrian public long dequeue(){ long temp = queue[0]; // temp = queue[front]; if(!isempty()){ for(int i=0; i<jumitem; i++) queue[i] = queue[i+1]; jumitem--; rear--; } return temp; } IV. PROSEDUR PELAKSANAAN Prosedur pelaksanaan praktikum adalah sebagai berikut : 1. Mahasiswa mencoba latihan yang ada pada modul praktikum 2. Mahasiswa menganalisa hasil dari program pada latihan yang telah dijalankan

3. Mahasiswa mengerjakan tugas latihan dan praktikum yang diberikan 4. Mahasiswa mendemonstrasikan program tugas praktikum yang telah dikerjakan pada dosen/assisten 5. Mahasiswa membuat laporan dari tugas yang telah dikerjakan 6. Upload laporan melalui e-labit.umm.ac.id.

V. LATIHAN STACK 1. Buatlah class StackArray seperti dibawah ini : (untuk nama package bebas) 2. Tambahkan fungsi cetak() dan main() untuk menampilkan isi stack berikut ini :

3. Ubah fungsi main() sehingga didapatkan hasil sebagai berikut : 4. Buatlah class StackLinkedList seperti dibawah ini : (untuk nama package sama dengan class StackArray dan class Node boleh menggunakan Single Linked List atau Double Linked List)

5. Tambahkan fungsi cetak() dan main() untuk menampilkan isi stack berikut ini : 6. Ubah fungsi main() sehingga didapatkan hasil sebagai berikut : QUEUE 1. Buatlah class QueueArray seperti dibawah ini : (untuk nama package bebas)

2. Tambahkan fungsi cetak() dan main() untuk menampilkan isi Queue berikut ini : 3. Ketika fungsi main() ditambahkan perintah berikut : a.dequeue(); a.enqueue(200); a.dequeue(); a.dequeue(); a.enqueue(30); didapatkan hasil sebagai berikut :

Seharusnya yang ditampilkan adalah 54, 55, 200, dan 30. Kenapa nilai 200 muncul pada elemen terakhir? Jelaskan! Jawaban ditulis di kertas dan kumpulkan pada akhir praktikum

4. Buatlah class QueueLinkedList seperti dibawah ini : (untuk nama package sama dengan class QueueArray dan class Node boleh menggunakan Single Linked List atau Double Linked List)

5. Tambahkan fungsi cetak() dan main() untuk menampilkan isi Queue berikut ini : 6. Ubah fungsi main() sehingga didapatkan hasil sebagai berikut : VI. TUGAS PRAKTIKUM 1. Impelementasikan class stack yang ada pada latihan diatas untuk membuat program konversi bilangan desimal ke bilangan biner, dengan algoritma sebagai berikut : Konversi Bilangan Desimal ke Biner a. Simpan inputan user ke dalam variable decimal b. Bagi variable decimal dengan angka 2 c. Ambil sisa pembagian variable decimal, lalu simpan dalam variable sisa. Kemudian simpan isi variable sisa ke dalam stack. d. Ulangi langkah 1 dan 2 selama decimal tidak bernilai 0. Jika variable decimal telah bernilai 0 maka lanjutkan ke langkah 5 e. Ambil (pop) nilai yang ada di stack. Kemudian tambahkan/simpan (append) hasilnya pada variable biner. f. Tampilkan isi variable biner ke layar. g. Selesai. Contoh tampilan program konversi desimal ke biner : Input : 25 Hasil biner : 11001

2. Buatlah flowchart dan program implementasi dari penggabungan konsep stack dan queue. Program berupa menu untuk memilih operasi yang dilakukan pada stack maupun queue. Program akan berakhir jika user memilih menu selesai. Aturan : a. Jika operasi remove, maka akan menghapus item yang ada pada stack maupun queue (sesuai dengan konsep masing-masing struktur data tersebut). b. Jika operasi add, maka akan menambahkan item pada stack maupun linked list. c. Jika operasi peek, maka akan menampilkan 1 item pada masing-masing struktur data (stack dan queue). d. Jika operasi peer to peer, maka akan dilakukan pertukaran data pada stack dan queue. Item yang ditunjuk oleh top pada stack akan menempati posisi item yang ditunjuk oleh front pada queue. Sebaliknya, item yang ditunjuk oleh front pada queue akan menempati posisi item yang ditunjuk oleh top pada stack. (Gunakan Array untuk impelementasi program) Contoh tampilan program : Program Penggabungan Konsep Stack dan Queue ==================================== Menu Pilihan Operasi: 1. Add 2. Remove 3. Peek 4. Peer to Peer 5. Selesai Masukkan Pilihan : 1 Masukkan item : A Masukkan Pilihan : 1 Masukkan item : B Masukkan Pilihan : 1 Masukkan item : C Masukkan Pilihan : 4 Sebelum : Queue : A B C Stack : A B C Setelah ditukar : Queue : C B C Stack : A B A Masukkan Pilihan : 3 Queue : C Stack : A Masukkan Pilihan : 2 Remove Queue : C Remove Stack : A Masukkan Pilihan : 5 =============================

3. Ubahlah notasi infix yang dimasukkan oleh user menjadi notasi postfix dengan memanfaatkan stack dan queue. Contoh tampilan aplikasi : Notasi infix : A * ( B + C ) / D ^ E F Notasi postfix : A B C + * D E ^ / F Keterangan : 1. Tugas praktikum dikerjakan sendiri, jika ketahuan mengcopas, mencontoh, mereplika, menjiplak dll akan dikenakan sanksi nilai x ½. 2. Tidak ada demo susulan, sesuai dengan jadwal yang telah ditentukan, kecuali ada alasan yang logis dan dapat di maklumi. 3. Kriteria penilaian praktikum: a. 25% Absensi. b. 50% demo tugas. c. 25% laporan praktikum. d. Tambahan nilai (sesuai kebijakan aslab masing-masing), misal keaktifan dll. 4. Kriteria penilaian laporan: a. Menggunakan template yang sudah disediakan. b. Melampirkan hasil praktikum (latihan dan tugas modul) dan screenshot hasil programdan penjelasannya. c. Dikerjakan sendiri, jika ketahuan mengcopas, mencontoh, mereplika, menjiplak dll akan dikenakan sanksi pengosongan nilai laporan. Penting! Tetap semangat, jangan menyerah dan pasti bisa jika mau berusaha, jangan lupa juga untuk terus berdoa agar dapat mencapai hasil yang maksimal, jangan pernah takut untuk bertanya jika masih ada kebingungan yang melanda, diselingi terus berolah raga, makan yang banyak dan sehat sesuai 4 sehat 5 sempurna serta minum multivitamin agar tetap bugar :D,