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

dokumen-dokumen yang mirip
ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE

Struktur Data Array. Rijal Fadilah S.Si

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)

Algoritma dan Struktur Data. Ramos Somya

S TA C K Sunu Wibirama

MODUL PRAKTIKUM STRUKTUR DATA. Dosen Pengampu M.Bahrul Ulum, S.Kom., M.Kom. Asisten Lab Mia Kastina PROGRAM STUDI TEKNIK INFORMATIKA

STACK (Tumpukan) Tumpukan Koin. Tumpukan Kotak

Algoritma Dan Struktur Data II. Queue

STRUKTUR DATA POKOK BAHASAN - 7 STACK ( TUMPUKAN )

QUEUE (ANTREAN) Pertemuan 6 PENGERTIAN QUEUE (ANTREAN)

STRUKTUR DATA POKOK BAHASAN - 8 QUEUE ( ANTRIAN)

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

STACK DAN QUEUE (Muhammad Fachrie, STMIK Amikom Yogyakarta)

MODUL PRAKTIKUM STRUKTUR DATA FAKULTAS ILMU KOMPUTER UNIVERSITAS ESA UNGGUL

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

ARNA FARIZA YULIANA SETIOWATI

LAPORAN PRAKTIKUM RESMI QUEUE

MODUL IV STACK A. TUJUAN

Pertemuan 7. REVIEW dan QUIS

Modul Praktikum Algoritma dan Struktur Data

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

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

PRAKTIKUM ALGORITMA & PEMROGRAMAN III MODUL_06 Stack (Tumpukan)

Seharusnya. if (antrian.tail==max-1) return 0;

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

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

Materi 8 : STACK (TUMPUKAN) Dosen:

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

PRAKTIKUM STRUKTUR DATA QUEUE. SULIDAR FITRI, M.Sc

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

# NINE Queue dengan Array

ARNA FARIZA YULIANA SETIOWATI

Praktikum 4. Tumpukan (Stack)

A. TUJUAN PEMBELAJARAN

MODUL PEMROGRAMAN 2. Queue (Antrian)

SILABUS STRUKTUR DATA ( TIF-104 ) PROGRAM STUDI TEKNIK INFORMATIKA UNIVERSITAS PEMBANGUNAN JAYA TANGERANG SELATAN

Stack. Gambar 1.1 Stack

BAB II STACK (TUMPUKAN)

SINGLE LINKED LIST NON CIRCULAR (SENARAI BERANTAI TUNGGAL TIDAK BERPUTAR)

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

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

Algoritma dan Struktur Data STACK

SATUAN ACARA PENGAJARAN

Implementasi Queue menggunakan Array. Imam Fahrur Rozi

Algoritma dan Struktur Data. Ramos Somya

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

Algoritma Pemrograman & Struktur Data

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

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

# EIGHT ADT (Abstract Data Type) dan Stack Array

ALGORITMA DAN STRUKTUR DATA

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

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

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

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

Algoritma Dan Struktur Data II

BAB IV Antrian(Queue)

LAPORAN PRAKTIKUM IV. Oleh:

Materi 9 : QUEUE (ANTREAN) Dosen:

BAB III QUEUE (ANTRIAN)

TIF 4201 Algoritma Dan Struktur Data

BAB 3 STACK (TUMPUKAN)

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

A. TUJUAN PEMBELAJARAN

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

05. Double Linked List

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

TIPE DATA ABSTRAK MENGGUNAKAN BAHASA C

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

STRUKTUR DATA Pertemuan 1 s.d 8

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

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

Gambar 1. Ilustrasi Stack

BAB II STACK Atau TUMPUKAN

KONSEP POINTER DAN LINKED LIST

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

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

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

KONSEP POINTER DAN LINKED LIST

4. STACK / TUMPUKAN TEORI PENUNJANG

MODUL PRAKTIKUM TI014 STRUKTUR DATA Season 1

MODUL 4. COLLECTIONS ARRAYS, QUEUE, dan STACK

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

PERTEMUAN 7 REVIEW (QUIZ)

BAB VIII QUEUE (ANTRIAN)

DOUBLE LINKED LIST. Danang Wahyu Utomo Danang Wahyu Utomo, M.Kom, M.CS

BAB III. Stack. ( Tumpukan )

Struktur Data. Stack STMIK AMIKOM YOGYAKARTA. Bayu Setiaji, S.Kom

Struktur Data dan Algoritma

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

KONSEP POINTER DAN LINKED LIST

RENCANA PEMBELAJARAN SEMESTER

RENCANA PEMBELAJARAN SEMESTER

Pertemuan 3. Perubah Dinamis (Dinamic variable) Suatu perubah yang akan dialokasikan hanya pada saat diperlukan, yaitu setelah program dieksekusi.

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE

Algoritma Pemrograman dan Struktur Data

04. Single Linked List

Tipe Data dan Operator

Transkripsi:

STACK dan QUEUE Daftar Isi: Stack dan Queue Latihan soal Guided Unguided Take home Kunci jawaban soal guided MODUL PRAKTIKUM STRUKTUR DATA 09 UNIVERSITAS KRISTEN DUTA WACANA

PENGANTAR Definisi Stack disebut juga tumpukan dimana data hanya dapat dimasukkan dan diambil dari satu sisi. Karena itu, stack bersifat LIFO(Last In First Out). Operasi yang dapat dilakukan stack adalah: 1. Menambah (push) 2. Mengambil (pop) 3. megecek apakah stack penuh (isfull) 4. mengecek apakah stack kosong (isempty) 5. membersihkan stack (clear). 6. Mencetak isi stack (print) Operasi-operasi stack Saat ini, kita akan mencoba membuat stack dan operasi-operasi yang dapat dilakukannya. 1. Mendefinisikan stack dengan menggunakan struct typedef struct stack // int top; char data [15][20]; ; Mendefinisikan stack dengan menggunakan struct // menampung 15 data dengan jumlah string max 20 huruf 2. Mendefinisikan max_stack untuk maksimum isi stack #define max_stack 15 3. Membuat variable array sebagai implementasi stack stack tumpuk; 4. Mendeklarasikan operasi-operasi/fungsi yang dapat dilakukan stack. a. Push (menginputkan data pada stack) void push(char d[20]) tumpuk.top++; strcpy(tumpuk.data[tumpuk.top],d); printf("data berhasil dimasukkan"); b. Pop (mengambil data pada stack) void pop() printf ("data %s terambil",tumpuk.data[tumpuk.top]); tumpuk.top--;

c. IsFull(megecek apakah stack penuh) int isfull() if (tumpuk.top==max_stack-1) return 1; else return 0; d. isempty(mengecek apakah stack kosong) int isempty() if (tumpuk.top==-1) return 1; else return 0; e. clear (membersihkan seluruh isi stack) void clear() tumpuk.top=-1; printf("semua data terhapus."); f. print (mencetak seluruh isi stack) void print() for (int i=tumpuk.top;i>=0;i--) printf ("%s\n",tumpuk.data[i]); QUEUE Queue disebut juga antrian dimana data masuk di satu sisi dan keluar di sisi yang lain. Karena itu, queue bersifat FIFO(First In First Out). Saat ini, kita akan mencoba membuat queue dan operasi-operasi yang dapat dilakukannya. Hal-hal yang perlu dilakukan untuk membuat queue yaitu 1. Mendefinisikan queue dengan menggunakan struct dimana kita perlu menggunakan variable head dan tail sebagai penanda pada stack. typedef struct queue // int head; int tail; char data [15][20]; ; Mendefinisikan queue dengan menggunakan struct // menampung 15 data dengan jumlah string max 20 huruf 2. Mendefinisikan max untuk maksimum isi queue

#define max 15 3. Membuat variable array sebagai implementasi queue queue antri; 4. Mendeklarasikan operasi-operasi/fungsi yang dapat dilakukan queue. a. Enqueue (menginputkan data pada queue) void enqueue(char d[20]) antri.head=0; antri.tail++; strcpy(antri.data[antri.tail],d); printf("data berhasil dimasukkan"); b. Dequeue (mengambil data dari queue) void dequeue() printf ("data %s terambil",antri.data[antri.head]); for (int i=antri.head;i<=antri.tail;i++) strcpy (antri.data[i],antri.data[i+1]); antri.tail--; Empty (mengecek apakah antrian kosong) c. is int isempty() if (antri.tail==-1) antri.head=-1; return 1; else return 0; d. isfull (mengecek apakah antrian penuh) int isfull() if (antri.tail==max-1) return 1; else return 0; e. clear (membersihkan seluruh isi antrian) void clear() antri.head=antri.tail=-1; printf("semua data terhapus."); f. Print(mencetak seluruh isi antrian) void print() for (int i=0;i<=antri.tail;i++) printf ("%s\n",antri.data[i]);

SOAL LATIHAN: Guided STACK: 1. Dari flowchart dibawah ini, buatlah fungsi utama untuk menjalankan stack diatas dengan menggunakan menu. start int a; char input[20] tumpuk.top -1 Cetak menu: 1.push 2. Pop 3.clear 4.print Pilihan: Input a switch (a) a==1 Isfull()== 1 Cetak Stack penuh Cetak masukkan data gets input push(input) a==2 IsEmpty()== 1 Cetak Stack kosong pop() a==3 clear() Cetak Stack kosong a==4 IsEmpty()== 1 Cetak Stack kosong print() a!=5 selesai

2. Buatlah program pengubah infix ke postfix dengan asumsi operator hanya tambah(+) dan kurang(-) saja. buatlah menggunakan stack! Unguided STACK: 1. Buatlah program pengecekan bilangan palindrom menggunakan stack! 2. Buatlah program pengurutan menggunakan stack! Sehingga input yang kita masukkan selalu urut. Hint: buatlah menggunakan 2buah stack! TAKEHOME STACK! 1. Kembangkan soal unguided nomor 2 untuk mengurutkan kata! 2. Kembangkan soal guided nomor 2 dengan operator bertingkat! Gunakan 2 buah stack. Contoh tersedia di bawah ini: Infix: a+b*c-d Stack (kosong) dan Postfik (kosong) Scan a Postfik: a Scan + Stack: + Scan b Postfik: ab Scan *, karena ToS (+) < *, maka add ke Stack Stack: +* Scan c Postfik: abc Scan, karena * > -, maka pop Stack, dan add ke Postfik Stack: + Postfik: abc* Karena + <= -, maka pop Stack, dan add ke Postfik, karena Stack kosong, maka push ke stack

Stack: - Postfik: abc*+ Scan d Postfik: abc*+d Karena sudah habis, push ToS stack ke Posfix

Kunci jawaban soal GUIDED STACK: No.1: Fungsi utamanya: No.2: Jangan lupa sesuaikan fungsi pop, dan push yang sudah ada dengan kontex penggunaannya dan juga tipe datanya!

Latihan Terbimbing Queue 1. Buatlah fungsi utama untuk menjalankan queue pada modul dengan menggunakan menu. (untuk alurnya, hampir sama dengan flowchart untuk stack diatas. Hanya saja fungsi diganti dengan fungsi-fungsi queue.) 2. Carilah total, rata-rata, nilai terkecil, nilai terbesar dari nilai yang telah di inputkan pada queue Latihan Mandiri Kelas Queue 1. Tambahkanlah function untuk mencari suatu elemen dalam queue & stack 2. Tambahkan function untuk mengedit suatu elemen dalam queue & stack 3. Buatlah suatu fungsi untuk mencetak elemen stack ganjil 4. Buatlah suatu fungsi untuk mencetak elemen queue genap Latihan Mandiri Rumah /Tes Queue 1. Buatlah program untuk membuat kalkulator scientific! 2. Buatlah program untuk membalikkan kata yang berguna untuk membalik susunan elemen dalam queue Q dengan menggunakan bantuan sebuah stack. 3. Buatlah program untuk menentukan apakah kata yang dimasukan merupakan palindrome atau bukan.