際際滷

際際滷Share a Scribd company logo
STACK AND QUEUE
Muhammad Najib DS, M.T.
DEFINITION
Stack adalah tumpukan data dimana terdapat data dalam satu elemen
yang sama.
Suatu metode untuk input dan hapus di dalam memori komputer
Konsep dalam stack yaitu LIFO (Last In First Out).
Contoh :
5. Sepatu
4. Kacamata
3. Sepeda
2. Jam
1. Baju
Understanding
Stack (tumpukan) dapat diartikan sebagai list (urutan) dimana
Penambahan dan pengambilan elemen hanya dilakukan pada satu sisi
yang disebut top (puncak) dari stack.
Arti lain dari Stack adalah salah satu konsep struktur data yang memiliki
sistem kerja yang terakhir masuk adalah yang pertama keluar (LIFO = Last
In First Out ).
Stack Ilustration
5 Sepatu (12)
4 Kacamata (5)
3 Sepeda (20)
2 Jam (15)
1 Baju (4)
Masuk
Keluar
Catatan : Yang terakhir masuk ke dalam tumpukan, itu
yang yang pertama keluar seperti pada urutan ke 5.
Algorithm
Input / Tambah Data
Jika ada input maka no stack/no tumpukan yang semula 0 akan tambah 1
demi 1 sampai maksimal tumpukan.
Pengambilan Data
Jika ada pengambilan data maka data dipindahkan di variabel lain. Dan
posisi tumpukannya yang semula maksimal akan berkurang 1 demi 1
sampai posisi 0 kembali.
Operation on The Stack
Operasi Push
Operasi Pop
Operasi IsFull
Operasi IsEmpty
Operation Push
Operasi Push, yaitu operasi menambahkan elemen baru pada sebuah
stack.
Aturan-aturan dalam operasi Push :
 kondisi awal ada sebuah stack yang telah memiliki beberapa elemen
dengan elemen teratas disebut TOP.
 Buat sebuah elemen baru
 elemen baru dimasukkan ke dalam stack
 penunjuk awal TOP diubah ke elemen yang baru ditambahkan
Operation Push
Operation Pop
Operasi Pop, yaitu operasi mengambil sebuah elemen dari sebuah
stack.
Aturan-aturan dalam operasi Pop sbb:
 Kondisi awal ada sebuah stack yang telah memiliki beberapa elemen
dengan elemen teratas disebut TOP
 Penunjuk awal TOP diubah menunjuk elemen yang ada di bawahnya
(TOP)
 Elemen teratas diambil dari stack
Operation Pop
Operation IsFuLL
Operasi IsFull, yaitu operasi yang memeriksa apakah stack sudah
penuh atau tidak.
Dengan cara, memeriksa top of stack, jika sudah sama dengan
MAX_STACK-1 maka full, jika belum (masih lebih kecil 1) maka belum full.
Operation IsFull
Operation IsEmpty
Operasi IsEmpty, yaitu operasi yang memeriksa apakah stack masih
kosong atau tidak. Dengan cara memeriksa top of stack, jika masih -1
maka berarti stack masih kosong.
Operation IsEmpty
QUEUE
DEFINITION
Adalah antrian data yang seolah-olah ada data yang mengantri dari yang
terawal sampai yang terakhir.
Suatu metode untuk input dan hapus di dalam memori komputer
Konsep dalam queue yaitu FIFO (First In First Out).
Contoh :
5. Sepatu
4. Kacamata
3. Sepeda
2. Jam
1. Baju
DEFINITION QUEUE
Antrian adalah sekumpulan data yang mana penambahan elemen hanya
bisa dilakukan pada suatu ujung disebut dengan sisi belakang, dan
penghapusan (pengambilan elemen) dilakukan lewat ujung lain (disebut
dengan sisi depan atau front)
Arti lain dari antrian adalah salah satu konsep struktur data yang memiliki
sistem kerja yang pertama masuk adalah yang pertama keluar (FIFO =
First In First Out )
Queue Ilustration
Masuk
Keluar
Catatan : Yang pertama masuk ke dalam antrian, itu
yang yang pertama keluar.
1 2 3 4 5
Baju Jam Sepeda Kacamata Sepatu
Algorithm
Input / Tambah Data
Jika ada input maka no queue/no antrian yang semula 0 akan tambah 1
demi 1 sampai maksimal antrian.
Pengambilan Data
Jika ada pengambilan data maka data dipindahkan di variabel lain
contohnya temp. Dan posisi antriannya yang semula maksimal akan
berkurang 1 demi 1 sampai posisi 0 kembali.
Understanding
Pada Queue atau antrian Terdapat satu buah pintu masuk di suatu
ujung dan satu buah pintu keluar di ujung satunya dimana
membutuhkan variabel Head dan Tail ( depan/front, belakang/rear).
Karakteristik Queue atau antrian :
1. Elemen antrian
2. Front (elemen terdepan antrian)
3. Tail (elemen terakhir)
4. Jumlah elemen pada antrian
5. Status antrian
Operation on Queue
Operasi Create
Operasi IsEmpty
Operasi IsFull
Operasi EnQueue
Operasi DeQueue
Operasi Clear and Tampil
Operation Create
Operasi Create, Untuk menciptakan dan menginisialisasi Queue
Dengan cara membuat Head dan Tail = -1
Operation IsEmpty
Operasi IsEmpty, Untuk memeriksa apakah antrian masih kosong.
Dengan cara memeriksa nilai Tail, jika Tail = -1 maka empty Kita tidak
memeriksa Head, karena Head adalah tanda untuk Kepala antrian (elemen
pertama dalam antrian) yang tidak akan berubah-ubah Pergerakan
pada Antrian terjadi
Dengan penambahan
Elemen Antrian ke
belakang, yaitu
menggunakan nilai Tail.
Operation IsFull
Operasi IsFull, operasi yang mengecek apakah Antrian sudah penuh
atau belum.
Dengan cara mengecek nilai Tail, jika Tail >= MAX-1 (karena MAX-1 adalah
batas elemen array pada C) berarti sudah penuh.
Operation Enqueue
Untuk menambahkan elemen ke dalam Antrian, penambahan elemen
selalu ditambahkan di elemen paling belakang.
Catatan : Penambahan elemen
selalu menggerakan
variabel Tail dengan cara
increment counter Tail terlebih
dahulu.
Operation Dequeue
Digunakan untuk menghapus elemen terdepan/pertama (head) dari
Antrian.
Catatan : Dengan cara
menggeser semua elemen
antrian kedepan dan
mengurangi Tail dgn 1
Penggeseran dilakukan dengan
menggunakan looping.
Operation Clear
Untuk menghapus elemen-elemen Antrian dengan cara membuat Tail
dan Head = -1
Operation Tampil
Untuk menampilkan nilai-nilai Elemen Antrian Menggunakan looping
dari head s/d tail
Catatan : Maka yang muncul
adalah angka secara berturut-
turut adalah 4, 45, 1 dan 8
4 45 1 8
Chapter 4   stack and queue

More Related Content

What's hot (20)

Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanMateri sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Reskidtc
PERENCANAAN PROYEK manajemen waktu.pptx
PERENCANAAN PROYEK manajemen waktu.pptxPERENCANAAN PROYEK manajemen waktu.pptx
PERENCANAAN PROYEK manajemen waktu.pptx
Yudith Rambulangi
Algoritma dan Struktur Data (Python) - Struktur I/O
Algoritma dan Struktur Data (Python) - Struktur I/OAlgoritma dan Struktur Data (Python) - Struktur I/O
Algoritma dan Struktur Data (Python) - Struktur I/O
AndiNurkholis1
Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15
doudomblogspot
Pertemuan 04 Teknik Pencarian (Search)
Pertemuan 04 Teknik Pencarian (Search)Pertemuan 04 Teknik Pencarian (Search)
Pertemuan 04 Teknik Pencarian (Search)
Endang Retnoningsih
White Box dan Black Box Testing
White Box dan Black Box TestingWhite Box dan Black Box Testing
White Box dan Black Box Testing
rifqi62802
Materi Struktur Data Stack
Materi Struktur Data StackMateri Struktur Data Stack
Materi Struktur Data Stack
Meta N
2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)
Kelinci Coklat
Algoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianAlgoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrian
Georgius Rinaldo
Perbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerPerbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquer
ohohervin
Algoritma & Pemrograman
Algoritma & PemrogramanAlgoritma & Pemrograman
Algoritma & Pemrograman
Ari Wibowo
Contoh soal uts perancangan basis data
Contoh soal uts perancangan basis dataContoh soal uts perancangan basis data
Contoh soal uts perancangan basis data
Bina Sarana Informatika
2 konsep basis data
2 konsep basis data2 konsep basis data
2 konsep basis data
Simon Patabang
Mata Kuliah Basis Data
Mata Kuliah Basis DataMata Kuliah Basis Data
Mata Kuliah Basis Data
Mr. Nugraha
Sorting algorithms
Sorting algorithmsSorting algorithms
Sorting algorithms
CHANDAN KUMAR
Circular linked list
Circular linked listCircular linked list
Circular linked list
Laxer Pratama
Sistem input output
Sistem input outputSistem input output
Sistem input output
Alvin Setiawan
Bab viii stack
Bab viii   stackBab viii   stack
Bab viii stack
Materi Kuliah Online
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanMateri sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Reskidtc
PERENCANAAN PROYEK manajemen waktu.pptx
PERENCANAAN PROYEK manajemen waktu.pptxPERENCANAAN PROYEK manajemen waktu.pptx
PERENCANAAN PROYEK manajemen waktu.pptx
Yudith Rambulangi
Algoritma dan Struktur Data (Python) - Struktur I/O
Algoritma dan Struktur Data (Python) - Struktur I/OAlgoritma dan Struktur Data (Python) - Struktur I/O
Algoritma dan Struktur Data (Python) - Struktur I/O
AndiNurkholis1
Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15
doudomblogspot
Pertemuan 04 Teknik Pencarian (Search)
Pertemuan 04 Teknik Pencarian (Search)Pertemuan 04 Teknik Pencarian (Search)
Pertemuan 04 Teknik Pencarian (Search)
Endang Retnoningsih
White Box dan Black Box Testing
White Box dan Black Box TestingWhite Box dan Black Box Testing
White Box dan Black Box Testing
rifqi62802
Materi Struktur Data Stack
Materi Struktur Data StackMateri Struktur Data Stack
Materi Struktur Data Stack
Meta N
2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)
Kelinci Coklat
Algoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianAlgoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrian
Georgius Rinaldo
Perbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquerPerbandingan algoritma brute force , divide and conquer
Perbandingan algoritma brute force , divide and conquer
ohohervin
Algoritma & Pemrograman
Algoritma & PemrogramanAlgoritma & Pemrograman
Algoritma & Pemrograman
Ari Wibowo
Contoh soal uts perancangan basis data
Contoh soal uts perancangan basis dataContoh soal uts perancangan basis data
Contoh soal uts perancangan basis data
Bina Sarana Informatika
2 konsep basis data
2 konsep basis data2 konsep basis data
2 konsep basis data
Simon Patabang
Mata Kuliah Basis Data
Mata Kuliah Basis DataMata Kuliah Basis Data
Mata Kuliah Basis Data
Mr. Nugraha
Sorting algorithms
Sorting algorithmsSorting algorithms
Sorting algorithms
CHANDAN KUMAR
Circular linked list
Circular linked listCircular linked list
Circular linked list
Laxer Pratama
Sistem input output
Sistem input outputSistem input output
Sistem input output
Alvin Setiawan

Similar to Chapter 4 stack and queue (20)

Stack & queue by stanly maarende
Stack & queue by stanly maarendeStack & queue by stanly maarende
Stack & queue by stanly maarende
Sten Maarende
Chapter 4b queue
Chapter 4b   queueChapter 4b   queue
Chapter 4b queue
Muhammad Najib
stack_and_qxzxzxzxzxzxzxxueue.pxzxzxzxzpt
stack_and_qxzxzxzxzxzxzxxueue.pxzxzxzxzptstack_and_qxzxzxzxzxzxzxxueue.pxzxzxzxzpt
stack_and_qxzxzxzxzxzxzxxueue.pxzxzxzxzpt
SilviaEvelineErikasa
TI-struktur_data-stack_n_queue
TI-struktur_data-stack_n_queueTI-struktur_data-stack_n_queue
TI-struktur_data-stack_n_queue
Monica Indah Habsari
Queue
QueueQueue
Queue
Ayu_lestari
Ketoprak_PPT ADT Stack dan Queue.pptx
Ketoprak_PPT ADT Stack dan Queue.pptxKetoprak_PPT ADT Stack dan Queue.pptx
Ketoprak_PPT ADT Stack dan Queue.pptx
putii1
Queue antrian
Queue antrian Queue antrian
Queue antrian
muissyahril
Queue antrian
Queue antrian Queue antrian
Queue antrian
muissyahril
4 queue2
4 queue24 queue2
4 queue2
Wandi Parlente
Tugas3
Tugas3Tugas3
Tugas3
Av Ri
Queue (Antrian) - Struktur Data - Teknologi Informasi
Queue (Antrian) - Struktur Data - Teknologi InformasiQueue (Antrian) - Struktur Data - Teknologi Informasi
Queue (Antrian) - Struktur Data - Teknologi Informasi
YadiRahmanz
FIFO (First In First Out)
FIFO (First In First Out)FIFO (First In First Out)
FIFO (First In First Out)
Yosua Herbi
Queue in C++ .pptx
Queue in C++                            .pptxQueue in C++                            .pptx
Queue in C++ .pptx
UjiCoba59
Stack_Queue.pdf
Stack_Queue.pdfStack_Queue.pdf
Stack_Queue.pdf
DikkySuryadiSKomMKom
Queue
QueueQueue
Queue
Aida Istiqomatunnisa
Queue
QueueQueue
Queue
Tenia Wahyuningrum
kelas 10 komputasional antrian dan tumpukan.pptx
kelas 10 komputasional antrian dan tumpukan.pptxkelas 10 komputasional antrian dan tumpukan.pptx
kelas 10 komputasional antrian dan tumpukan.pptx
Camaunk
T12-Queuekhgythfgffffffffffffffgfgffgd1.ppt
T12-Queuekhgythfgffffffffffffffgfgffgd1.pptT12-Queuekhgythfgffffffffffffffgfgffgd1.ppt
T12-Queuekhgythfgffffffffffffffgfgffgd1.ppt
fifin10
Stack & queue by stanly maarende
Stack & queue by stanly maarendeStack & queue by stanly maarende
Stack & queue by stanly maarende
Sten Maarende
stack_and_qxzxzxzxzxzxzxxueue.pxzxzxzxzpt
stack_and_qxzxzxzxzxzxzxxueue.pxzxzxzxzptstack_and_qxzxzxzxzxzxzxxueue.pxzxzxzxzpt
stack_and_qxzxzxzxzxzxzxxueue.pxzxzxzxzpt
SilviaEvelineErikasa
Ketoprak_PPT ADT Stack dan Queue.pptx
Ketoprak_PPT ADT Stack dan Queue.pptxKetoprak_PPT ADT Stack dan Queue.pptx
Ketoprak_PPT ADT Stack dan Queue.pptx
putii1
Queue antrian
Queue antrian Queue antrian
Queue antrian
muissyahril
Queue antrian
Queue antrian Queue antrian
Queue antrian
muissyahril
Tugas3
Tugas3Tugas3
Tugas3
Av Ri
Queue (Antrian) - Struktur Data - Teknologi Informasi
Queue (Antrian) - Struktur Data - Teknologi InformasiQueue (Antrian) - Struktur Data - Teknologi Informasi
Queue (Antrian) - Struktur Data - Teknologi Informasi
YadiRahmanz
FIFO (First In First Out)
FIFO (First In First Out)FIFO (First In First Out)
FIFO (First In First Out)
Yosua Herbi
Queue in C++ .pptx
Queue in C++                            .pptxQueue in C++                            .pptx
Queue in C++ .pptx
UjiCoba59
kelas 10 komputasional antrian dan tumpukan.pptx
kelas 10 komputasional antrian dan tumpukan.pptxkelas 10 komputasional antrian dan tumpukan.pptx
kelas 10 komputasional antrian dan tumpukan.pptx
Camaunk
T12-Queuekhgythfgffffffffffffffgfgffgd1.ppt
T12-Queuekhgythfgffffffffffffffgfgffgd1.pptT12-Queuekhgythfgffffffffffffffgfgffgd1.ppt
T12-Queuekhgythfgffffffffffffffgfgffgd1.ppt
fifin10

More from Muhammad Najib (20)

Ddp pert3
Ddp   pert3Ddp   pert3
Ddp pert3
Muhammad Najib
Chapter 4a stack
Chapter 4a   stackChapter 4a   stack
Chapter 4a stack
Muhammad Najib
01 ddp - pert 6
01  ddp - pert 6 01  ddp - pert 6
01 ddp - pert 6
Muhammad Najib
Chapter 3 array
Chapter 3   arrayChapter 3   array
Chapter 3 array
Muhammad Najib
Chapter 3 konsep dasar algoritma - cont
Chapter 3   konsep dasar algoritma - contChapter 3   konsep dasar algoritma - cont
Chapter 3 konsep dasar algoritma - cont
Muhammad Najib
Chapter 2 konsep dasar algoritma
Chapter 2   konsep dasar algoritmaChapter 2   konsep dasar algoritma
Chapter 2 konsep dasar algoritma
Muhammad Najib
Chapter 10 creating creativity user interface for supporting inovation (1)
Chapter 10   creating creativity  user interface for supporting inovation (1)Chapter 10   creating creativity  user interface for supporting inovation (1)
Chapter 10 creating creativity user interface for supporting inovation (1)
Muhammad Najib
DDP - Pemrograman Modular
DDP - Pemrograman ModularDDP - Pemrograman Modular
DDP - Pemrograman Modular
Muhammad Najib
01 ddp - Perulangan (Looping)
01  ddp - Perulangan (Looping)01  ddp - Perulangan (Looping)
01 ddp - Perulangan (Looping)
Muhammad Najib
Ddp percabangan if else - switch case
Ddp   percabangan if else - switch caseDdp   percabangan if else - switch case
Ddp percabangan if else - switch case
Muhammad Najib
Notasi algoritma
Notasi algoritmaNotasi algoritma
Notasi algoritma
Muhammad Najib
01 p.prog 2 - pert 2
01  p.prog 2 - pert 201  p.prog 2 - pert 2
01 p.prog 2 - pert 2
Muhammad Najib
Pengantar Bahasa Pemrograman
Pengantar Bahasa PemrogramanPengantar Bahasa Pemrograman
Pengantar Bahasa Pemrograman
Muhammad Najib
Chapter 4 teknologi jaringan lokal fiber optik
Chapter 4   teknologi jaringan lokal fiber optikChapter 4   teknologi jaringan lokal fiber optik
Chapter 4 teknologi jaringan lokal fiber optik
Muhammad Najib
Chapter 1 telecommunication based
Chapter 1   telecommunication basedChapter 1   telecommunication based
Chapter 1 telecommunication based
Muhammad Najib
Chapter 11 technology of information: hci and the digital
Chapter 11   technology of information: hci and the digital Chapter 11   technology of information: hci and the digital
Chapter 11 technology of information: hci and the digital
Muhammad Najib
Chapter 9 - Past, Present, Future, User interface
Chapter 9 - Past, Present, Future, User interfaceChapter 9 - Past, Present, Future, User interface
Chapter 9 - Past, Present, Future, User interface
Muhammad Najib
Chapter 8 - Maturity Level of HCI
Chapter 8 - Maturity Level of HCIChapter 8 - Maturity Level of HCI
Chapter 8 - Maturity Level of HCI
Muhammad Najib
Chapter 7 - Evaluation Tekhnique
Chapter 7 - Evaluation TekhniqueChapter 7 - Evaluation Tekhnique
Chapter 7 - Evaluation Tekhnique
Muhammad Najib
Chapter 6 - Ergonomic Aspects
Chapter 6  - Ergonomic AspectsChapter 6  - Ergonomic Aspects
Chapter 6 - Ergonomic Aspects
Muhammad Najib
Chapter 3 konsep dasar algoritma - cont
Chapter 3   konsep dasar algoritma - contChapter 3   konsep dasar algoritma - cont
Chapter 3 konsep dasar algoritma - cont
Muhammad Najib
Chapter 2 konsep dasar algoritma
Chapter 2   konsep dasar algoritmaChapter 2   konsep dasar algoritma
Chapter 2 konsep dasar algoritma
Muhammad Najib
Chapter 10 creating creativity user interface for supporting inovation (1)
Chapter 10   creating creativity  user interface for supporting inovation (1)Chapter 10   creating creativity  user interface for supporting inovation (1)
Chapter 10 creating creativity user interface for supporting inovation (1)
Muhammad Najib
DDP - Pemrograman Modular
DDP - Pemrograman ModularDDP - Pemrograman Modular
DDP - Pemrograman Modular
Muhammad Najib
01 ddp - Perulangan (Looping)
01  ddp - Perulangan (Looping)01  ddp - Perulangan (Looping)
01 ddp - Perulangan (Looping)
Muhammad Najib
Ddp percabangan if else - switch case
Ddp   percabangan if else - switch caseDdp   percabangan if else - switch case
Ddp percabangan if else - switch case
Muhammad Najib
01 p.prog 2 - pert 2
01  p.prog 2 - pert 201  p.prog 2 - pert 2
01 p.prog 2 - pert 2
Muhammad Najib
Pengantar Bahasa Pemrograman
Pengantar Bahasa PemrogramanPengantar Bahasa Pemrograman
Pengantar Bahasa Pemrograman
Muhammad Najib
Chapter 4 teknologi jaringan lokal fiber optik
Chapter 4   teknologi jaringan lokal fiber optikChapter 4   teknologi jaringan lokal fiber optik
Chapter 4 teknologi jaringan lokal fiber optik
Muhammad Najib
Chapter 1 telecommunication based
Chapter 1   telecommunication basedChapter 1   telecommunication based
Chapter 1 telecommunication based
Muhammad Najib
Chapter 11 technology of information: hci and the digital
Chapter 11   technology of information: hci and the digital Chapter 11   technology of information: hci and the digital
Chapter 11 technology of information: hci and the digital
Muhammad Najib
Chapter 9 - Past, Present, Future, User interface
Chapter 9 - Past, Present, Future, User interfaceChapter 9 - Past, Present, Future, User interface
Chapter 9 - Past, Present, Future, User interface
Muhammad Najib
Chapter 8 - Maturity Level of HCI
Chapter 8 - Maturity Level of HCIChapter 8 - Maturity Level of HCI
Chapter 8 - Maturity Level of HCI
Muhammad Najib
Chapter 7 - Evaluation Tekhnique
Chapter 7 - Evaluation TekhniqueChapter 7 - Evaluation Tekhnique
Chapter 7 - Evaluation Tekhnique
Muhammad Najib
Chapter 6 - Ergonomic Aspects
Chapter 6  - Ergonomic AspectsChapter 6  - Ergonomic Aspects
Chapter 6 - Ergonomic Aspects
Muhammad Najib

Chapter 4 stack and queue

  • 1. STACK AND QUEUE Muhammad Najib DS, M.T.
  • 2. DEFINITION Stack adalah tumpukan data dimana terdapat data dalam satu elemen yang sama. Suatu metode untuk input dan hapus di dalam memori komputer Konsep dalam stack yaitu LIFO (Last In First Out). Contoh : 5. Sepatu 4. Kacamata 3. Sepeda 2. Jam 1. Baju
  • 3. Understanding Stack (tumpukan) dapat diartikan sebagai list (urutan) dimana Penambahan dan pengambilan elemen hanya dilakukan pada satu sisi yang disebut top (puncak) dari stack. Arti lain dari Stack adalah salah satu konsep struktur data yang memiliki sistem kerja yang terakhir masuk adalah yang pertama keluar (LIFO = Last In First Out ).
  • 4. Stack Ilustration 5 Sepatu (12) 4 Kacamata (5) 3 Sepeda (20) 2 Jam (15) 1 Baju (4) Masuk Keluar Catatan : Yang terakhir masuk ke dalam tumpukan, itu yang yang pertama keluar seperti pada urutan ke 5.
  • 5. Algorithm Input / Tambah Data Jika ada input maka no stack/no tumpukan yang semula 0 akan tambah 1 demi 1 sampai maksimal tumpukan. Pengambilan Data Jika ada pengambilan data maka data dipindahkan di variabel lain. Dan posisi tumpukannya yang semula maksimal akan berkurang 1 demi 1 sampai posisi 0 kembali.
  • 6. Operation on The Stack Operasi Push Operasi Pop Operasi IsFull Operasi IsEmpty
  • 7. Operation Push Operasi Push, yaitu operasi menambahkan elemen baru pada sebuah stack. Aturan-aturan dalam operasi Push : kondisi awal ada sebuah stack yang telah memiliki beberapa elemen dengan elemen teratas disebut TOP. Buat sebuah elemen baru elemen baru dimasukkan ke dalam stack penunjuk awal TOP diubah ke elemen yang baru ditambahkan
  • 9. Operation Pop Operasi Pop, yaitu operasi mengambil sebuah elemen dari sebuah stack. Aturan-aturan dalam operasi Pop sbb: Kondisi awal ada sebuah stack yang telah memiliki beberapa elemen dengan elemen teratas disebut TOP Penunjuk awal TOP diubah menunjuk elemen yang ada di bawahnya (TOP) Elemen teratas diambil dari stack
  • 11. Operation IsFuLL Operasi IsFull, yaitu operasi yang memeriksa apakah stack sudah penuh atau tidak. Dengan cara, memeriksa top of stack, jika sudah sama dengan MAX_STACK-1 maka full, jika belum (masih lebih kecil 1) maka belum full.
  • 13. Operation IsEmpty Operasi IsEmpty, yaitu operasi yang memeriksa apakah stack masih kosong atau tidak. Dengan cara memeriksa top of stack, jika masih -1 maka berarti stack masih kosong.
  • 15. QUEUE
  • 16. DEFINITION Adalah antrian data yang seolah-olah ada data yang mengantri dari yang terawal sampai yang terakhir. Suatu metode untuk input dan hapus di dalam memori komputer Konsep dalam queue yaitu FIFO (First In First Out). Contoh : 5. Sepatu 4. Kacamata 3. Sepeda 2. Jam 1. Baju
  • 17. DEFINITION QUEUE Antrian adalah sekumpulan data yang mana penambahan elemen hanya bisa dilakukan pada suatu ujung disebut dengan sisi belakang, dan penghapusan (pengambilan elemen) dilakukan lewat ujung lain (disebut dengan sisi depan atau front) Arti lain dari antrian adalah salah satu konsep struktur data yang memiliki sistem kerja yang pertama masuk adalah yang pertama keluar (FIFO = First In First Out )
  • 18. Queue Ilustration Masuk Keluar Catatan : Yang pertama masuk ke dalam antrian, itu yang yang pertama keluar. 1 2 3 4 5 Baju Jam Sepeda Kacamata Sepatu
  • 19. Algorithm Input / Tambah Data Jika ada input maka no queue/no antrian yang semula 0 akan tambah 1 demi 1 sampai maksimal antrian. Pengambilan Data Jika ada pengambilan data maka data dipindahkan di variabel lain contohnya temp. Dan posisi antriannya yang semula maksimal akan berkurang 1 demi 1 sampai posisi 0 kembali.
  • 20. Understanding Pada Queue atau antrian Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya dimana membutuhkan variabel Head dan Tail ( depan/front, belakang/rear). Karakteristik Queue atau antrian : 1. Elemen antrian 2. Front (elemen terdepan antrian) 3. Tail (elemen terakhir) 4. Jumlah elemen pada antrian 5. Status antrian
  • 21. Operation on Queue Operasi Create Operasi IsEmpty Operasi IsFull Operasi EnQueue Operasi DeQueue Operasi Clear and Tampil
  • 22. Operation Create Operasi Create, Untuk menciptakan dan menginisialisasi Queue Dengan cara membuat Head dan Tail = -1
  • 23. Operation IsEmpty Operasi IsEmpty, Untuk memeriksa apakah antrian masih kosong. Dengan cara memeriksa nilai Tail, jika Tail = -1 maka empty Kita tidak memeriksa Head, karena Head adalah tanda untuk Kepala antrian (elemen pertama dalam antrian) yang tidak akan berubah-ubah Pergerakan pada Antrian terjadi Dengan penambahan Elemen Antrian ke belakang, yaitu menggunakan nilai Tail.
  • 24. Operation IsFull Operasi IsFull, operasi yang mengecek apakah Antrian sudah penuh atau belum. Dengan cara mengecek nilai Tail, jika Tail >= MAX-1 (karena MAX-1 adalah batas elemen array pada C) berarti sudah penuh.
  • 25. Operation Enqueue Untuk menambahkan elemen ke dalam Antrian, penambahan elemen selalu ditambahkan di elemen paling belakang. Catatan : Penambahan elemen selalu menggerakan variabel Tail dengan cara increment counter Tail terlebih dahulu.
  • 26. Operation Dequeue Digunakan untuk menghapus elemen terdepan/pertama (head) dari Antrian. Catatan : Dengan cara menggeser semua elemen antrian kedepan dan mengurangi Tail dgn 1 Penggeseran dilakukan dengan menggunakan looping.
  • 27. Operation Clear Untuk menghapus elemen-elemen Antrian dengan cara membuat Tail dan Head = -1
  • 28. Operation Tampil Untuk menampilkan nilai-nilai Elemen Antrian Menggunakan looping dari head s/d tail Catatan : Maka yang muncul adalah angka secara berturut- turut adalah 4, 45, 1 dan 8 4 45 1 8