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

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

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)

QUEUE (ANTREAN) Pertemuan 6 PENGERTIAN QUEUE (ANTREAN)

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

ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE

BAB II STACK (TUMPUKAN)

Algoritma Dan Struktur Data II. Queue

STACK (Tumpukan) Tumpukan Koin. Tumpukan Kotak

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

BAB III QUEUE (ANTRIAN)

Materi 8 : STACK (TUMPUKAN) Dosen:

STACK DAN QUEUE (Muhammad Fachrie, STMIK Amikom Yogyakarta)

Struktur Data Array. Rijal Fadilah S.Si

PRAKTIKUM ALGORITMA & PEMROGRAMAN III MODUL_06 Stack (Tumpukan)

Algoritma dan Struktur Data. Ramos Somya

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

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

BAB II STACK Atau TUMPUKAN

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

STRUKTUR DATA POKOK BAHASAN - 7 STACK ( TUMPUKAN )

Algoritma Dan Struktur Data II

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

Pertemuan 7. REVIEW dan QUIS

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

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

LAPORAN PRAKTIKUM RESMI QUEUE

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

QUEUE (ANTRIAN) Struktur Data - Queue

PRAKTIKUM STRUKTUR DATA QUEUE. SULIDAR FITRI, M.Sc

BAB 3 STACK (TUMPUKAN)

Lab. Teknik Informatika Struktur Data 1

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

S TA C K Sunu Wibirama

MODUL IV STACK A. TUJUAN

TIF 4201 Algoritma Dan Struktur Data

Modul Praktikum Algoritma dan Struktur Data

5. QUEUE (ANTRIAN) TUJUAN PRAKTIKUM

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

4. STACK / TUMPUKAN TEORI PENUNJANG

STRUKTUR DATA POKOK BAHASAN - 8 QUEUE ( ANTRIAN)

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

LOGO STRUKTUR DATA QUEUE

Implementasi Queue menggunakan Array. Imam Fahrur Rozi

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

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

Algoritma dan Struktur Data STACK

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

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

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

Algoritma Pemrograman & Struktur Data

Queue. Implementasi Queue dengan Array

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

MODUL 4. COLLECTIONS ARRAYS, QUEUE, dan STACK

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

{ Program Pointer Pertama } { Program Pointer Single Linklist }

QUEUE. Struktur data ini banyak dipakai dalam informatika misalnya untuk merepresentasi: antrian job dalam sistem operasi antrian dalam dunia nyata.

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

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

SATUAN ACARA PENGAJARAN

M Queue Berprioritas. Amin Arifiyani. Struktur Data M

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

STRUKTUR DATA Pertemuan 1 s.d 8

ANTRIAN ( QUEUE ) NAMA KELOMPOK : 1.EKA PRIHANTORO 2.FATKHUL ELEKTRIK PSH 3.RIZKY GUMILANG CR

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

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

STACK ATAU TUMPUKAN 3.1 DAFTAR LINEAR

Algoritma Dan Struktur Data II

Pertemuan VI ANTRIAN (Queue)

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

Arrays, Collections and Generics. Sisilia Thya Safitri, MT Agus Priyanto, MKom

# NINE Queue dengan Array

Pointer. Pengertian. Struktur Data Pascal

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

Materi 9 : QUEUE (ANTREAN) Dosen:

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

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

Algoritma Pemrograman [BS204]

PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING)

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

Struktur Data. Queue (Antrian)

Operasi File. Chapter 13

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

Algoritma dan Struktur Data. Queue

DIKTAT KULIAH STRUKTUR DATA. Disusun oleh: Sri Primaini A.

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

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

RESUME A B C D. Gambar 1 Double Linked list dengan Empat Simpul

BAB 1 PENGANTAR KE STRUKTUR DATA

PENGERTIAN VARIABEL, KONSTANTA DAN TIPE DATA

Menghapus Pointer Statement yang digunakan untuk menghapus pointer adalah Dispose, yang mempunyai bentuk umum : Dispose(peubah) ;

MODUL STRUKTUR DATA. Erna Kumalasari Nurnawati

KUM 5 IMPLEMENTASI QUEUE

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

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

Pengenalan Pascal. Sejarah Singkat Pascal

Stack. Gambar 1.1 Stack

Teori Algoritma TIPE DATA

MODUL PRAKTIKUM STRUKTUR DATA

Struktur Data dan Algoritma

DIG1G3 Implementasi Struktur Data

Transkripsi:

No. : LST/PTI/PTI 212/13 Revisi : 00 Tgl. : 28-4-2008 Hal. 1 dari 5 hal. 1. Kompetensi Mengenal dan memahami struktur data Stack (tumpukan) dan Queue (antrian). 2. Sub Kompetensi Dapat menyelesaikan suatu masalah dengan membuat dan mengaplikasikan struktur data Stack dan Queue ke dalam program. 3. Dasar Teori A. Stack Stack adalah struktur data dalam pemrograman yang mempunyai sifat LIFO (Last In First Out). Operasi-operasi dalam Stack adalah : 1. PUSH : digunakan untuk menambah data pada Stack (pada tumpukan paling atas). 2. POP : digunakan untuk mengambil data pada Stack (pada tumpukan paling atas). 3. ISEMPTY : fungsi yang digunakan untuk mengecek apakah Stack masih kosong. 4. ISFULL : fungsi yang digunakan untuk mengecek apakah Stack sudah penuh. 5. CLEAR : digunakan untuk mengosongkan Stack. B. Queue Queue adalah struktur data dalam pemrograman yang mempunyai sifat FIFO (First In First Out). Operasi-operasi dalam Queue adalah : 1. ENQUEUE : digunakan untuk menambah data pada Queue (pada urutan paling belakang (ekor)). 2. DEQUEUE : digunakan untuk mengambil data pada Queue (pada urutan paling depan (kepala)). 3. ISEMPTY : fungsi yang digunakan untuk mengecek apakah Queue masih kosong. 4. ISFULL : fungsi yang digunakan untuk mengecek apakah Queue sudah penuh. 5. CLEAR : digunakan untuk mengosongkan Queue. 4. Alat / Instrument / Aparatus / Bahan 5. Keselamatan Kerja

No. : LST/PTI/PTI 212/13 Revisi : 00 Tgl. : 28-4-2008 Hal. 2 dari 5 hal. 6. Langkah Kerja A. Stack 1. Tentukan banyak Stack (misal : const max = 10). 2. Deklarasikan Stack dalam bentuk Record dimana didalamnya mengandung data dalam bentuk array dan suatu variabel inisialisasi untuk memantau posisi terakhir dari data yang ada dalam Stack. tumpuk = record isi : array[1..max] of string; top : byte; 3. Deklarasikan variabel untuk Stack (data : tumpuk). 4. Buat prosedur untuk meng-inisialisasi Stack (juga merupakan CLEAR). procedure inisialisasi; data.top := 0; procedure inisialisasi(var stack : tumpuk); stack.top:=0 5. Buat fungsi ISFULL. function is_full : boolean; function is_full (var stack : tumpuk) : boolean; if data.top = max then is_full := true is_full := (stack.top = max) else is_full := false; 6. Buat fungsi ISEMPTY. function is_empty : boolean; function is_empty (var stack : tumpuk) : boolean; if data.top = 0 then is_empty := true else is_empty := false; is_empty := (stack.top = 0) 7. Buat prosedur PUSH. procedure push (dat : string); procedure push (var stack : tumpuk; dat : string); if is_full = false then if not(is_full(stack)) then data.top := data.top + 1; data.isi[data.top] := dat; stack.top := stack.top + 1; stack.isi[stack.top] := dat;

No. : LST/PTI/PTI 212/13 Revisi : 00 Tgl. : 28-4-2008 Hal. 3 dari 5 hal. 8. Buat prosedur POP. Misal : procedure pop (dat : string); if is_empty = false then write(data.isi[data.top],' diambil!'); data.top := data.top - 1; 9. Buat prosedur untuk menampilkan isi Stack. Misal : procedure tampil; for i := data.top downto 1 do writeln(data.isi[i]); procedure pop (var stack : tumpuk); if not(is_empty(stack)) then writeln(stack.isi[stack.top],' diambil!'); stack.top := stack.top - 1; procedure tampil(var stack : tumpuk); for i := stack.top downto 1 do writeln(stack.isi[i]); B. Queue 1. Tentukan banyak Queue (misal : const max = 10). 2. Deklarasikan Queue dalam bentuk Record dimana didalamnya mengandung data dalam bentuk array dan dua buah variabel inisialisasi untuk memantau posisi pertama dan terakhir dari data yang ada dalam Queue. antrian = record antrian=record isi ekor : array[1..max] of string; : byte; isi kepala,ekor : byte; : array[1..5] of char; 3. Deklarasikan variabel untuk Queue (data : antrian). 4. Buat prosedur untuk meng-inisialisasi Queue (juga merupakan CLEAR). procedure inisialisasi(var queue : antrian); queue.ekor := 0 procedure inisialisasi(var queue : antrian); queue.kepala := max; queue.ekor := max;

No. : LST/PTI/PTI 212/13 Revisi : 00 Tgl. : 28-4-2008 Hal. 4 dari 5 hal. 5. Buat fungsi ISFULL. function is_full(var queue : antrian):boolean; function is_full(var queue : antrian) : boolean; var next : byte; is_full := (queue.ekor = max) if queue.ekor = max then next:=1 else next := queue.ekor + 1; is_full := (next = queue.kepala); 6. Buat fungsi ISEMPTY. function is_empty(var queue : antrian) function is_empty(var queue : antrian) : : boolean; boolean; is_empty := (queue.ekor = 0) is_empty := (queue.kepala = queue.ekor); 7. Buat prosedur ENQUEUE. procedure enqueue(var queue : antrian; procedure enqueue(var queue : antrian; dat : string); data : char); if not(is_full(queue)) then if not(is_full(queue)) then queue.ekor := queue.ekor + 1; if queue.ekor = max then queue.ekor:=1 queue.isi[queue.ekor] := dat; else queue.ekor := queue.ekor + 1; end queue.isi[queue.ekor] := data; 8. Buat prosedur DEQUEUE. procedure dequeue(var queue : antrian); procedure dequeue(var queue : antrian); if not(is_empty(queue)) then if not(is_empty(queue)) then if queue.kepala = max then writeln('data ',queue.isi[1],' diambil!!'); queue.kepala := 1 for i:=1 to queue.ekor-1 do else queue.kepala := queue.kepala + 1; queue.isi[i] := queue.isi[i+1]; writeln('data ',queue.isi[queue.kepala],' queue.ekor := queue.ekor - 1; diambil!');

No. : LST/PTI/PTI 212/13 Revisi : 00 Tgl. : 28-4-2008 Hal. 5 dari 5 hal. 9. Buat prosedur untuk menampilkan isi Queue. procedure tampil(var queue : antrian); for i:=1 to queue.ekor do procedure tampil(var queue : antrian); if queue.kepala < queue.ekor then for i:=queue.kepala + 1 to queue.ekor do end else for i:=queue.kepala + 1 to max do for i:=1 to queue.ekor do 7. Bahan Diskusi 1. Buatlah program untuk memanggil prosedur dan fungsi untuk masing-masing Stack dan Queue diatas dengan ketentuan pemasukan dan pengambilan datanya bisa lebih dari satu! 2. Buatlah suatu aplikasi untuk antrian pasien dokter! Ketentuan : 1. Aplikasi dapat menampilkan status dari pasien, yaitu apakah sedang diperiksa atau masih mengantri. 2. Antrian pasien dapat diubah-ubah urutannya, kecuali untuk pasien yang sedang diperiksa. 3. Gunakan pendeklarasian seperti kode dibawah ini : info = record nama,status : string[10]; alamat : string[15]; antrian = record isi : array[1..max] of info; kepala,ekor : integer; 8. Lampiran : var data : antrian; pasien : info;..dst..