Algoritma Dan Struktur Data II

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

ALGORITMA DAN STRUKTUR DATA ARRAY STACK DAN QUEUE

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)

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

S TA C K Sunu Wibirama

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

Struktur Data Array. Rijal Fadilah S.Si

Materi 8 : STACK (TUMPUKAN) Dosen:

STRUKTUR DATA POKOK BAHASAN - 7 STACK ( TUMPUKAN )

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

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

STACK (Tumpukan) Tumpukan Koin. Tumpukan Kotak

Algoritma Pemrograman & Struktur Data

Algoritma dan Struktur Data. Ramos Somya

Modul Praktikum Algoritma dan Struktur Data

MODUL IV STACK A. TUJUAN

Algoritma Dan Struktur Data II. Queue

PRAKTIKUM ALGORITMA & PEMROGRAMAN III MODUL_06 Stack (Tumpukan)

QUEUE (ANTREAN) Pertemuan 6 PENGERTIAN QUEUE (ANTREAN)

LAPORAN PRAKTIKUM RESMI QUEUE

STACK DAN QUEUE (Muhammad Fachrie, STMIK Amikom Yogyakarta)

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

ARNA FARIZA YULIANA SETIOWATI

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

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

Implementasi Queue menggunakan Array. Imam Fahrur Rozi

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

ARNA FARIZA YULIANA SETIOWATI

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

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

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

# NINE Queue dengan Array

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

PRAKTIKUM STRUKTUR DATA QUEUE. SULIDAR FITRI, M.Sc

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

STRUKTUR DATA POKOK BAHASAN - 8 QUEUE ( ANTRIAN)

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

BAB 3 STACK (TUMPUKAN)

A. TUJUAN PEMBELAJARAN

Algoritma dan Struktur Data STACK

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

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

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

DIG1G3 Implementasi Struktur Data

Pendahuluan Struktur Data. Nisa ul Hafidhoh

Stack. Gambar 1.1 Stack

SATUAN ACARA PENGAJARAN

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

BAB II STACK (TUMPUKAN)

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

Struktur Data dan Algoritma

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

BAB II STACK Atau TUMPUKAN

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

Materi 9 : QUEUE (ANTREAN) Dosen:

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

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

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

Praktikum 5. Antrian (Queue)

STRUKTUR DATA Pertemuan 6

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

LAPORAN PRAKTIKUM IV. Oleh:

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

BAB IV Antrian(Queue)

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

LIST. Dewi Sartika, M.Kom

BAB III. Stack. ( Tumpukan )

A. TUJUAN PEMBELAJARAN

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

(3) BAHAN KAJIAN (materi ajar)

Praktikum 4. Tumpukan (Stack)

LAPORAN PRAKTIKUM IV. Oleh :

Data structure :Metode LINK LIST. Kusnawi, S.Kom, M.Eng STMIK AMIKOM Yogyakarta

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE

Stack STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 5 : 6 Juli 2015

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

4. STACK / TUMPUKAN TEORI PENUNJANG

STRUKTUR DATA. Literatur

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

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

Single Linked List (1)

Algoritma dan Struktur Data

BAB III QUEUE (ANTRIAN)

# EIGHT ADT (Abstract Data Type) dan Stack Array

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

Linked List 6.3 & 7.3 NESTED LOOP

STRUKTUR DATA Pertemuan 1 s.d 8

Algoritma Pemrograman [BS204]

STRUKTUR DATA (2) Single Linked List

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

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

MODUL 4. COLLECTIONS ARRAYS, QUEUE, dan STACK

BAB VIII QUEUE (ANTRIAN)

MODUL PRAKTIKUM STRUKTUR DATA

MODUL III ARRAYLIST TUGAS PENDAHULUAN

Algoritma dan Struktur Data. Queue

TUGAS PENDAHULUAN MODUL 12 PENGENALAN DAN IMPLEMENTASI STRUKTUR DATA STACK

Array ARRAY BERDIMENSI SATU. Representasi (Pemetaan) di memori. Lihat gambar dibawah ini, nilai data A (18) dismpan mulai dari alamat 1136 di memori.

Transkripsi:

Algoritma Dan Struktur Data II List, Stack Putuputraastawa@gmail.com putuastawa.wordpress.com

Beberapa Jenis Struktur Data 1. Array 1. Linear List 2. Stack 3. Queue 1. Apa? 2. Bagaimana cara implementasinya? 2. List 1. Connected List 2. Circular List 3. Doubly-linked List 4. Multi list structure 3. Tree Structure

Linear List

Apakah Linear List itu? Sekumpulan elemen yang diatur secara terurut x[ 1], x[2], L, x[ k 1], x[ k], x[ k+ 1], L, x[ n] Linear List tidak sama dengan Connected-List

Operasi pada Linear List No. Operasi 1 Menambahkan sebuah elemen sebelum elemen ke-k 2 Menghapus elemen ke-k 3 Membaca/menulis isi elemen ke-k 4 Mencari elemen dengan key tertentu 5 Menggabungkan beberapa list menjadi satu 6 Memecah sebuah list ke beberapa buah 7 Mengcopy sebuah list 8 Menghitung banyaknya elemen dalam sebuah list

List, Stack & Queue Tidak semua operasi list diperlukan pada setiap program Penentuan struktur data didasarkan pada operasi yang diperlukan saja agar bisa berjalan dengan efisien Pada sebuah Linear List, penyisipan dan penghapusan elemen dapat dijalankan di sebarang posisi Bentuk khusus linear list: Penambahan elemen dan penghapusannya dilakukan di posisi terdepan atau posisi terbelakang saja Stack Queue Stack dan Queue juga merupakan salah satu jenis list

List, Stack & Queue Pada sebuah Linear List, penyisipan dan penghapusan elemen dapat dijalankan di sebarang posisi Penambahan dan penghapusan elemen pada stack/queue dilakukan di posisi terdepan atau posisi terbelakang saja List Stack 1 2 3 4 5 6 1 2 3 4 5 6 Queue 1 2 3 4 5 6

Stack

Apakah Stack itu?

Apakah Stack itu? Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan Yang dihapus adalah elemen yang paling terakhir ditambahkan Nama lain: LIFO (Last In First Out) Operasi PUSH : Menambahkan elemen pada sebuah stack PUSH 1 top== bottom

Apakah Stack itu? Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan Yang dihapus adalah elemen yang paling terakhir ditambahkan Nama lain: LIFO (Last In First Out) Operasi PUSH : Menambahkan elemen pada sebuah stack PUSH 2 top 1 bottom

Apakah Stack itu? Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan Yang dihapus adalah elemen yang paling terakhir ditambahkan Nama lain: LIFO (Last In First Out) Operasi PUSH : Menambahkan elemen pada sebuah stack PUSH 3 2 1 top bottom

Apakah Stack itu? Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan Yang dihapus adalah elemen yang paling terakhir ditambahkan Nama lain: : LIFO (Last In First Out) Operasi PUSH : Menambahkan elemen pada sebuah stack PUSH 4 3 2 1 top bottom

Apakah Stack itu? Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan Yang dihapus adalah elemen yang paling terakhir ditambahkan Nama lain: LIFO (Last In First Out) Operasi PUSH : Menambahkan elemen pada sebuah stack PUSH 5 4 3 2 1 top bottom

Apakah Stack itu? Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan Yang dihapus adalah elemen yang paling terakhir ditambahkan Nama lain: LIFO (Last In First Out) Operasi PUSH : Menambahkan elemen pada sebuah stack PUSH 6 5 4 3 2 1 top bottom

Apakah Stack itu? Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan Yang dihapus adalah elemen yang paling terakhir ditambahkan Nama lain: LIFO (Last In First Out) Operasi POP : Menghapus sebuah elemen dari sebuah stack POP 6 5 4 3 2 1 top bottom

Apakah Stack itu? Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan Yang dihapus adalah elemen yang paling terakhir ditambahkan Nama lain: LIFO (Last In First Out) Operasi POP : Menghapus sebuah elemen dari sebuah stack POP 5 4 3 2 1 top bottom

Apakah Stack itu? Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan Yang dihapus adalah elemen yang paling terakhir ditambahkan Nama lain: : LIFO (Last In First Out) Operasi POP : Menghapus sebuah elemen dari sebuah stack POP 4 3 2 1 top bottom

Apakah Stack itu? Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan Yang dihapus adalah elemen yang paling terakhir ditambahkan Nama lain: LIFO (Last In First Out) Operasi POP : Menghapus sebuah elemen dari sebuah stack POP 3 2 1 top bottom

Apakah Stack itu? Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan Yang dihapus adalah elemen yang paling terakhir ditambahkan Nama lain: LIFO (Last In First Out) Operasi POP : Menghapus sebuah elemen dari sebuah stack POP 2 1 top bottom

Apakah Stack itu? Penambahan dan penghapusan elemen dilakukan pada elemen list yang terletak di paling depan Yang dihapus adalah elemen yang paling terakhir ditambahkan Nama lain: LIFO (Last In First Out) Operasi POP : Menghapus sebuah elemen dari sebuah stack POP 1 top==bottom

Apakah Stack itu? PUSH dan POP

Stack Overflow & Stack Underflow Stack Overflow Menambahkan data pada sebuah stack yang telah penuh Stack Underflow Menghapus data dari sebuah stack yang sudah kosong

Operasi Stack 4 O U T 3 1 2 I N 2 3 1 4 Push : digunakan untuk menambah item pada stack pada tumpukan paling atas Pop : digunakan untuk mengambil item pada stack pada tumpukan paling atas Clear : digunakan untuk mengosongkan stack IsEmpty : fungsi yang digunakan untuk mengecek apakah stack sudah kosong IsFull : fungsi yang digunakan untuk mengecek apakah stack sudah penuh

Stack with Array of Struct Definisikan Stack dengan menggunakan suatu struct Definisikan konstanta MAX_STACK untuk menyimpan maksimum isi stack Elemen struct Stack adalah array data dan top untuk menadakan posisi data teratas Buatlah variabel tumpuk sebagai implementasi dari struct Stack Deklarasikan operasi-operasi/function di atas dan buat implemetasinya

Program Stack int stk[5]; int top;

Program Stack (2) Inisialisasi Stack Pada mulanya isi top dengan -1, karena array dalam bahasa C dimulai dari 0, yang berarti bahwa data stack adalah KOSONG! Top adalah suatu variabel penanda dalam Stack yang menunjukkan elemen teratas data Stack sekarang. Top Of Stack akan selalu bergerak hingga mencapai MAX of STACK yang menyebabkan stack PENUH!

Program Stack (2) // inisialisasi stack stack() { top=-1; } Ilustrasi Stack pada saat inisialisasi!

Program Stack (3) Fungsi IsFull Untuk memeriksa apakah stack sudah penuh? Dengan cara memeriksa top of stack, jika sudah sama dengan MAX_STACK-1 maka full, jika belum (masih lebih kecil dari MAX_STACK-1) maka belum full

Program Stack (4) Ilustrasi Stack pada kondisi Full // fungsi penambahan elemen stack // fungsi penambahan elemen stack void push(int x) { if(top > 4) { cout <<"stack over flow"; return; } stk[++top]=x; cout <<"Elemen stack : " <<x <<endl; }

Program Stack (5) Fungsi IsEmpty Untuk memeriksa apakah data Stack masih kosong? Dengan cara memeriksa top of stack, jika masih -1 maka berarti data Stack masih kosong! //fungsi menampilkan elemen stack void display() { if(top<0) { cout <<" stack Kosong"<<endl; return; } for(int i=top;i>=0;i--) cout <<stk[i] <<" " << endl; }

Program Stack (6) Fungsi Push Untuk memasukkan elemen ke data Stack. Data yang diinputkan selalu menjadi elemen teratas Stack (yang ditunjuk oleh ToS) Jika data belum penuh, Tambah satu (increment) nilai top of stack lebih dahulu setiap kali ada penambahan ke dalam array data Stack. Isikan data baru ke stack berdasarkan indeks top of stack yang telah di-increment sebelumnya. Jika tidak, outputkan Penuh

Program Stack (7)

//fungsi penghapusan elemen stack void pop() { if(top <0) { cout <<"stack under flow"; return; } cout <<"menghapus Elemen Stack : " <<stk[top--]<< endl; }

Program Stack (8) Fungsi Pop Untuk mengambil data Stack yang terletak paling atas (data yang ditunjuk oleh TOS). Tampilkan terlebih dahulu nilai elemen teratas stack dengan mengakses indeksnya sesuai dengan top of stacknya, baru dilakukan di-decrement nilai top of stacknya sehingga jumlah elemen stack berkurang.

Program Stack (9)

//fungsi menampilkan elemen stack void display() { if(top<0) { cout <<" stack Kosong"<<endl; return; } for(int i=top;i>=0;i--) cout <<stk[i] <<" " << endl; }

Program Stack (10) Fungsi Print Untuk menampilkan semua elemen-elemen data Stack Dengan cara me-loop semua nilai array secara terbalik, karena kita harus mengakses dari indeks array tertinggi terlebih dahulu baru ke indeks yang lebih kecil!

Program Stack (11)