SlideShare a Scribd company logo
ADT PADA
STACK DAN QUEUE
ADT
ADT (Pengertian)
• ADT=Abstrack Data Type/Tipe Data Abstrak
• Tipe data yang merupakan hasil imajinasi pemrogram/manusia
dengan memberikan Batasan domain maupun operasinya.
• Abstract Data Type (ADT) umumnya yaitu sekumpulan objek
dengan sekumpulan operasi.
• ADT memungkinkan pendefinisian suatu himpunan nilai di variable
disertai operasi yang digunakan.
ADT (Pengertian)
ADT biasanya diimplementasikan menjadi dua modul:
• Definisi/Spesifikasi dari TYPE dan PRIMITIF
• Spesifikasi TYPE disesuaikan pada bahasa
• Spesifikasi PRIMITIF sesuai konteks (fungsi ataukah prosedur)
• Body, berupa kode program
Supaya ADT dapat diuji tuntas, maka harus dilengkapi dengan
program utama yang mengandung pemakaian (call) terhadap setiap
PRIMITIF dalam ADT. Disebut sebagai DRIVER.
ADT dalam Bahasa pemrograman
BAHASA SPESIFIKASI BODY
PASCAL Unit Interface Implementasi
C File header *.h File Kode Program (*.c)
C++ File header *.h File Kode Program (*.cpp)
JAVA Class Public Class
ADT dalam struktur data
• ADT dan struktur data adalah hal yang berbeda
• Struktur data lebih konkret dan jelas, sedangkan ADT lebih
merupakan sebuah skripsi logika
• ADT : stack, queue, priority queue, dictionary,
sequence, set.
• Struktur Data : array, linked list, hash table (open, closed,
circular hashing), trees (binary search trees, heaps, AVL trees, 2-3
trees, tries, red/black trees, B-trees)
STACK
STACK (Pengertian)
• Stack/tumpukan adalah kumpulan item di mana item data baru
dapat ditambahkan/dimasukkan pada bagian atas tumpukan. Item
yang dapat dihapus hanya pada tempat paling atas
• Secara formal stack adalah Abstract Data Type (ADT)
• Stack adalah wadah yang mengimplementasikan Last-In-First-Out
(LIFO) protocol
STACK (Pengertian)
• LIFO (Last In Fist Out) artinya elemen dari struktur (node) yang
dimasukkan pertama kali ke dalam rangkaian akan dikeluarkan
(diproses) terakhir kali sedangkan elemen yang masuk terakhir
akan diproses / dikeluarkan pertama.
• Dengan kata lain setiap transaksi atau aktifitas yang ada dalam
stack dilakukan pada kepalanya (head) saja.
Perintah pada Stack
Pada Stack dikenal beberapa perintah untuk memanipulasi datanya,
seperti Push, Pop, IsEmpty, Peek, Print/Display.
• Push untuk menambah data,
• Pop untuk menghapus data,
• IsEmpty untuk mengecek apakah Stack kosong atau terisi,
• Peek untuk mengecek nilai Top dari Stack,
• Print/Display untuk melihat isi dari Stack.
Ilustrasi Stack
Ilustrasi dari Stack dapat dilihat pada gambar berikut.
| |
| |
| |
| 7 |
| 6|
Jika ditambahkan data baru, misal 3, maka akan menjadi seperti gambar berikut.
| |
| |
| 3 |
| 7 |
| 6 |
Jika dihapus, maka data 3 akan hilang, dan Stack akan menjadi seperti pada gambar pertama. Jadi, semua aktifitas
penambahan dan penghapusan data selalu dimulai dari atas.
Implementasi Stack (Array)
• Implementasi dan digunakan perintah push() dan pop() dengan
insert dan delete pada akhir array.
• Karena array terbatas muatannya, maka ada kemungkinan array
akan terisi penuh ketika sejumlah elemen diisikan kedalamnya.
• Fungsi boolean IsFull() akan mengembalikan true jika stack (array)
penuh dan sebaliknya false.
• Minus: mengakibatkan semua elemen yang tersisa akan bergeser
ke kiri.
• Plus: tidak perlu menggeser elemen.
Implementasi Stack (List)
• Implementasi dan digunakan perintah push() dan pop() dengan
insert dan delete pada akhir array.
• Seperti pada array, perlu diketahui dimana akan menyisipkan
elemen pada list dan dimana yang akan dihapus sehingga push dan
pop akan berjalan dengan cepat.
• Insert pada awal atau akhir list akan memiliki waktu yang tetap
• Menghapus elemen pada akhir list membutuhkan waktu yang
cukup lama karena proses perjalanan dari awal sampai akhir list
QUEUE
QUEUE (Pengertian)
• Queue/antrian adalah kumpulan item di mana item data baru
dapat ditambahkan/dimasukkan pada bagian belakang (rear). Item
yang dapat dihapus hanya pada tempat paling depan (front)
• Secara formal queue adalah Abstract Data Type (ADT)
• Queue adalah wadah yang mengimplementasikan First-In-First-Out
(FIFO) protocol
QUEUE (Pengertian)
• Queue merupakan jenis Linked list yang menerapkan konsep FIFO
(First In First Out) atau kebalikan dari Stack (LIFO).
• Pada Queue elemen yang dimasukkan pertama kali apabila
dilakukan pemrosesan maka elemen tersebut yang akan diproses
terlebih dahulu.
Aplikasi Kehidupan
Contoh yang paling banyak kita lihat adalah
• Ketika kita sedang antri di Bank. Orang pertama akan langsung
berada di posisi paling depan, orang selanjutnya akan berada di
belakangnya.
• Jika orang pertama sudah selesai transaksi, maka orang pertama
akan keluar dan orang kedua akan maju menjadi paling depan,
begitu seterusnya.
• Saat kita akan membeli tiket di Bioskop, disitu orang yang datang
untuk mengantri pertama kali akan dilayani terlebih dahulu dan
yang mengantri terakhir akan dilayani terakhir.
Perintah pada Queue
Pada Stack dikenal beberapa perintah untuk memanipulasi datanya,
seperti Enqueue, Dequeue, IsEmpty, Peek, Print/Display.
• Enqueue: proses penambahan elemen di posisi belakang
• Dequeue: proses pengambilan elemen di posisi depan
• IsEmpty untuk mengecek apakah queue kosong atau terisi,
• Peek untuk mengecek nilai Top dari queue,
• Print/Display untuk melihat isi dari queue.
Deklarasi dalam Queue
• Sebuah queue di dalam program komputer dideklarasikan sebagai
sebuah tipe bentukan baru, di dalam Bahasa C, biasa disebut
struct.
• Sebuah struktur data dari sebuah queue setidaknya harus
mengandung tiga variable:
• variabel HEAD yang akan berguna sebagai penanda bagian depan antrian,
• variabel TAIL yang akan berguna sebagai penanda bagian belakang antrian
• ARRAY DATA dari yang akan menyimpan data-data yang dimasukkan ke dalam
queue tersebut.
Implementasi Queue (Deque)
• DEQUE (Double-ended queue) adalah antrian dimana elemennya
bisa masuk dan keluar lewat kedua ujungnya (berbeda dengan
queue yang hanya bisa masuk lewat ujung belakang dan keluar
lewat ujung depan).
Variasi pada Deque
DEQUE juga mempunyai dua jenis variasi yaitu :
• Deque input terbatas : suatu deque yang membatasi
pemasukkan elemen hanya pada satu ujung dari list, sementara
penghapusan elemen boleh dilakukan pada kedua ujung list.
• Deque output terbatas : merupakan kebalikan dari deque input
terbatas yaitu suatu deque yang membatasi penghapusan elemen
hanya pada satu ujung dari list, sementara pemasukkan elemen
boleh dilakukan pada kedua ujung list
REFERENSI
•Bambangwirawan, Paulus. 2004. Struktur Data dengan C. Yogyakarta: Penerbit Andi.
•Deitel,Paul,Deitel,Harvey.2014.C++HowtoProgram-NinthEdition.Harlow:Pearson Education Limited.
•Kadir,Abdul.2003.PemrogramanC++.Yogyakarta:PenerbitAndi.
•Munir,Rinaldi.2009.AlgoritmaPemrogramandalamBahasaPascaldanC.Bandung: Penerbit INFORMATIKA.
•Rahmat C., Antonius. 2010. Algoritma dan Pemrograman dengan Bahasa C - Konsep, Teori, dan Implementasi.
Yogyakarta: Penerbit Andi.
•Suarga. 2012. Algoritma dan Pemrograman. Yogyakarta: Penerbit Andi.

More Related Content

What's hot

Circular linked list
Circular linked listCircular linked list
Circular linked listdchuynh
 
Materi Struktur Data Stack
Materi Struktur Data StackMateri Struktur Data Stack
Materi Struktur Data Stack
Meta N
 
3 Linked List
3   Linked List3   Linked List
3 Linked List
ahmad haidaroh
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
Kelinci Coklat
 
Pengenalan Microsoft Excel
Pengenalan Microsoft ExcelPengenalan Microsoft Excel
Pengenalan Microsoft Excel
Made Aditya
 
6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data
Simon Patabang
 
Algoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur DataAlgoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur Data
AndiNurkholis1
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Debby Ummul
 
Struktur Data Tree
Struktur Data TreeStruktur Data Tree
Struktur Data Tree
Siti Khotijah
 
Graph dalam Struktur Data
Graph dalam Struktur DataGraph dalam Struktur Data
Graph dalam Struktur Data
Made Aditya
 
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanMateri sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Reskidtc
 
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
4.1 Operasi Dasar Singly Linked List  1 (primitive list)4.1 Operasi Dasar Singly Linked List  1 (primitive list)
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
Kelinci Coklat
 
12. data (variable dan list) scratch
12. data (variable dan list) scratch12. data (variable dan list) scratch
12. data (variable dan list) scratch
Fajar Baskoro
 
Pertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objekPertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objek
I Putu Arya Dharmaadi
 
6. Stack (Struktur Data)
6. Stack (Struktur Data)6. Stack (Struktur Data)
6. Stack (Struktur Data)
Kelinci Coklat
 
Resume praktikum 6 stack
Resume praktikum 6 stackResume praktikum 6 stack
Resume praktikum 6 stack
Deprilana Ego Prakasa
 
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
 

What's hot (20)

Circular linked list
Circular linked listCircular linked list
Circular linked list
 
Materi Struktur Data Stack
Materi Struktur Data StackMateri Struktur Data Stack
Materi Struktur Data Stack
 
teori Struktur data full
teori Struktur data fullteori Struktur data full
teori Struktur data full
 
3 Linked List
3   Linked List3   Linked List
3 Linked List
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
 
Pengenalan Microsoft Excel
Pengenalan Microsoft ExcelPengenalan Microsoft Excel
Pengenalan Microsoft Excel
 
6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data
 
Algoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur DataAlgoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur Data
 
circular linked list
circular linked listcircular linked list
circular linked list
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
 
Struktur Data Tree
Struktur Data TreeStruktur Data Tree
Struktur Data Tree
 
Graph dalam Struktur Data
Graph dalam Struktur DataGraph dalam Struktur Data
Graph dalam Struktur Data
 
Bab 2 gerbang logika
Bab 2   gerbang logikaBab 2   gerbang logika
Bab 2 gerbang logika
 
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar PemprogramanMateri sorting(pengurutan)-Dasar-Dasar Pemprograman
Materi sorting(pengurutan)-Dasar-Dasar Pemprograman
 
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
4.1 Operasi Dasar Singly Linked List  1 (primitive list)4.1 Operasi Dasar Singly Linked List  1 (primitive list)
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
 
12. data (variable dan list) scratch
12. data (variable dan list) scratch12. data (variable dan list) scratch
12. data (variable dan list) scratch
 
Pertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objekPertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objek
 
6. Stack (Struktur Data)
6. Stack (Struktur Data)6. Stack (Struktur Data)
6. Stack (Struktur Data)
 
Resume praktikum 6 stack
Resume praktikum 6 stackResume praktikum 6 stack
Resume praktikum 6 stack
 
2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)
 

Similar to Ketoprak_PPT ADT Stack dan Queue.pptx

Antrean (queue).pptx
Antrean (queue).pptxAntrean (queue).pptx
Antrean (queue).pptx
misariska1
 
Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)
Setia Juli Irzal Ismail
 
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
 
STACK & QUEUE pert 5.pptx , stack program in teknik
STACK & QUEUE pert 5.pptx , stack program in teknikSTACK & QUEUE pert 5.pptx , stack program in teknik
STACK & QUEUE pert 5.pptx , stack program in teknik
koamik4
 
Tugas
TugasTugas
Tugas
TugasTugas
Tugas
yusriren
 
Struktur data
Struktur dataStruktur data
Struktur data
yusriren20
 
Queue
Queue Queue
2894065
28940652894065
2894065
Sera Dewi
 
Laporan praktikum modul ix
Laporan praktikum modul ixLaporan praktikum modul ix
Laporan praktikum modul ix
Devi Apriansyah
 
Laporan praktikum modul viii
Laporan praktikum modul viiiLaporan praktikum modul viii
Laporan praktikum modul viii
Devi Apriansyah
 
Struktur data
Struktur dataStruktur data
Struktur data
yusriren20
 
Algorithms and Data Structures
 Algorithms and Data Structures Algorithms and Data Structures
Algorithms and Data Structures
Noval C. Kesuma
 
Fungsi rekursif, queue, stack
Fungsi rekursif, queue, stackFungsi rekursif, queue, stack
Fungsi rekursif, queue, stack
Icha Dicaprio
 
Kelompok 3
Kelompok 3Kelompok 3
Kelompok 3
ojanfauzan09
 
Stack
StackStack
Stack
StackStack

Similar to Ketoprak_PPT ADT Stack dan Queue.pptx (20)

Antrean (queue).pptx
Antrean (queue).pptxAntrean (queue).pptx
Antrean (queue).pptx
 
Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)
 
Queue antrian
Queue antrian Queue antrian
Queue antrian
 
Queue antrian
Queue antrian Queue antrian
Queue antrian
 
TI-struktur_data-stack_n_queue
TI-struktur_data-stack_n_queueTI-struktur_data-stack_n_queue
TI-struktur_data-stack_n_queue
 
STACK & QUEUE pert 5.pptx , stack program in teknik
STACK & QUEUE pert 5.pptx , stack program in teknikSTACK & QUEUE pert 5.pptx , stack program in teknik
STACK & QUEUE pert 5.pptx , stack program in teknik
 
Tugas
TugasTugas
Tugas
 
Tugas
TugasTugas
Tugas
 
Struktur data
Struktur dataStruktur data
Struktur data
 
Queue
Queue Queue
Queue
 
2894065
28940652894065
2894065
 
Laporan praktikum modul ix
Laporan praktikum modul ixLaporan praktikum modul ix
Laporan praktikum modul ix
 
Laporan praktikum modul viii
Laporan praktikum modul viiiLaporan praktikum modul viii
Laporan praktikum modul viii
 
Struktur data
Struktur dataStruktur data
Struktur data
 
Algorithms and Data Structures
 Algorithms and Data Structures Algorithms and Data Structures
Algorithms and Data Structures
 
4 queue2
4 queue24 queue2
4 queue2
 
Fungsi rekursif, queue, stack
Fungsi rekursif, queue, stackFungsi rekursif, queue, stack
Fungsi rekursif, queue, stack
 
Kelompok 3
Kelompok 3Kelompok 3
Kelompok 3
 
Stack
StackStack
Stack
 
Stack
StackStack
Stack
 

Recently uploaded

Presentasi vitamin secara umum yang terdiri dari vitamin larut lemak dan laru...
Presentasi vitamin secara umum yang terdiri dari vitamin larut lemak dan laru...Presentasi vitamin secara umum yang terdiri dari vitamin larut lemak dan laru...
Presentasi vitamin secara umum yang terdiri dari vitamin larut lemak dan laru...
ProfesorCilikGhadi
 
PPT Partikel Penyusun Atom dan Lambang Atom.pptx
PPT Partikel Penyusun Atom dan Lambang Atom.pptxPPT Partikel Penyusun Atom dan Lambang Atom.pptx
PPT Partikel Penyusun Atom dan Lambang Atom.pptx
emiliawati098
 
SOAL GEOGRAFI-SMA NEGERI 1 YOGYAKARTA BAB 7_ ULANGAN HARIAN DINAMIKA HIDROSFE...
SOAL GEOGRAFI-SMA NEGERI 1 YOGYAKARTA BAB 7_ ULANGAN HARIAN DINAMIKA HIDROSFE...SOAL GEOGRAFI-SMA NEGERI 1 YOGYAKARTA BAB 7_ ULANGAN HARIAN DINAMIKA HIDROSFE...
SOAL GEOGRAFI-SMA NEGERI 1 YOGYAKARTA BAB 7_ ULANGAN HARIAN DINAMIKA HIDROSFE...
athayaahzamaulana1
 
Asam, Basa, Garam - materi kimia kelas 7
Asam, Basa, Garam - materi kimia kelas 7Asam, Basa, Garam - materi kimia kelas 7
Asam, Basa, Garam - materi kimia kelas 7
ArumNovita
 
481605266-11-CPOB-ppt.ppt FARMAKOLOGI NEW UP
481605266-11-CPOB-ppt.ppt FARMAKOLOGI NEW UP481605266-11-CPOB-ppt.ppt FARMAKOLOGI NEW UP
481605266-11-CPOB-ppt.ppt FARMAKOLOGI NEW UP
nadyahermawan
 
Sistem Pencernaan Manusia Sains Tingkatan 2
Sistem Pencernaan Manusia Sains Tingkatan 2Sistem Pencernaan Manusia Sains Tingkatan 2
Sistem Pencernaan Manusia Sains Tingkatan 2
LEESOKLENGMoe
 
MATERI KIMIA KELAS X NANOTEKNOLOGI.pptx
MATERI KIMIA KELAS X  NANOTEKNOLOGI.pptxMATERI KIMIA KELAS X  NANOTEKNOLOGI.pptx
MATERI KIMIA KELAS X NANOTEKNOLOGI.pptx
emiliawati098
 
Tahapan Sinkron kurikulum merdeka pmm.pdf
Tahapan Sinkron kurikulum merdeka pmm.pdfTahapan Sinkron kurikulum merdeka pmm.pdf
Tahapan Sinkron kurikulum merdeka pmm.pdf
NathanielIbram
 
Final_Alur registrasi Plataran Sehat_webinar series HTBS 2024.pdf
Final_Alur registrasi Plataran Sehat_webinar series HTBS 2024.pdfFinal_Alur registrasi Plataran Sehat_webinar series HTBS 2024.pdf
Final_Alur registrasi Plataran Sehat_webinar series HTBS 2024.pdf
FazaKhilwan1
 
MI-P2-P3-Metabolisme Mikroorganisme.pptx
MI-P2-P3-Metabolisme Mikroorganisme.pptxMI-P2-P3-Metabolisme Mikroorganisme.pptx
MI-P2-P3-Metabolisme Mikroorganisme.pptx
almiraulimaz2521988
 

Recently uploaded (10)

Presentasi vitamin secara umum yang terdiri dari vitamin larut lemak dan laru...
Presentasi vitamin secara umum yang terdiri dari vitamin larut lemak dan laru...Presentasi vitamin secara umum yang terdiri dari vitamin larut lemak dan laru...
Presentasi vitamin secara umum yang terdiri dari vitamin larut lemak dan laru...
 
PPT Partikel Penyusun Atom dan Lambang Atom.pptx
PPT Partikel Penyusun Atom dan Lambang Atom.pptxPPT Partikel Penyusun Atom dan Lambang Atom.pptx
PPT Partikel Penyusun Atom dan Lambang Atom.pptx
 
SOAL GEOGRAFI-SMA NEGERI 1 YOGYAKARTA BAB 7_ ULANGAN HARIAN DINAMIKA HIDROSFE...
SOAL GEOGRAFI-SMA NEGERI 1 YOGYAKARTA BAB 7_ ULANGAN HARIAN DINAMIKA HIDROSFE...SOAL GEOGRAFI-SMA NEGERI 1 YOGYAKARTA BAB 7_ ULANGAN HARIAN DINAMIKA HIDROSFE...
SOAL GEOGRAFI-SMA NEGERI 1 YOGYAKARTA BAB 7_ ULANGAN HARIAN DINAMIKA HIDROSFE...
 
Asam, Basa, Garam - materi kimia kelas 7
Asam, Basa, Garam - materi kimia kelas 7Asam, Basa, Garam - materi kimia kelas 7
Asam, Basa, Garam - materi kimia kelas 7
 
481605266-11-CPOB-ppt.ppt FARMAKOLOGI NEW UP
481605266-11-CPOB-ppt.ppt FARMAKOLOGI NEW UP481605266-11-CPOB-ppt.ppt FARMAKOLOGI NEW UP
481605266-11-CPOB-ppt.ppt FARMAKOLOGI NEW UP
 
Sistem Pencernaan Manusia Sains Tingkatan 2
Sistem Pencernaan Manusia Sains Tingkatan 2Sistem Pencernaan Manusia Sains Tingkatan 2
Sistem Pencernaan Manusia Sains Tingkatan 2
 
MATERI KIMIA KELAS X NANOTEKNOLOGI.pptx
MATERI KIMIA KELAS X  NANOTEKNOLOGI.pptxMATERI KIMIA KELAS X  NANOTEKNOLOGI.pptx
MATERI KIMIA KELAS X NANOTEKNOLOGI.pptx
 
Tahapan Sinkron kurikulum merdeka pmm.pdf
Tahapan Sinkron kurikulum merdeka pmm.pdfTahapan Sinkron kurikulum merdeka pmm.pdf
Tahapan Sinkron kurikulum merdeka pmm.pdf
 
Final_Alur registrasi Plataran Sehat_webinar series HTBS 2024.pdf
Final_Alur registrasi Plataran Sehat_webinar series HTBS 2024.pdfFinal_Alur registrasi Plataran Sehat_webinar series HTBS 2024.pdf
Final_Alur registrasi Plataran Sehat_webinar series HTBS 2024.pdf
 
MI-P2-P3-Metabolisme Mikroorganisme.pptx
MI-P2-P3-Metabolisme Mikroorganisme.pptxMI-P2-P3-Metabolisme Mikroorganisme.pptx
MI-P2-P3-Metabolisme Mikroorganisme.pptx
 

Ketoprak_PPT ADT Stack dan Queue.pptx

  • 2. ADT
  • 3. ADT (Pengertian) • ADT=Abstrack Data Type/Tipe Data Abstrak • Tipe data yang merupakan hasil imajinasi pemrogram/manusia dengan memberikan Batasan domain maupun operasinya. • Abstract Data Type (ADT) umumnya yaitu sekumpulan objek dengan sekumpulan operasi. • ADT memungkinkan pendefinisian suatu himpunan nilai di variable disertai operasi yang digunakan.
  • 4. ADT (Pengertian) ADT biasanya diimplementasikan menjadi dua modul: • Definisi/Spesifikasi dari TYPE dan PRIMITIF • Spesifikasi TYPE disesuaikan pada bahasa • Spesifikasi PRIMITIF sesuai konteks (fungsi ataukah prosedur) • Body, berupa kode program Supaya ADT dapat diuji tuntas, maka harus dilengkapi dengan program utama yang mengandung pemakaian (call) terhadap setiap PRIMITIF dalam ADT. Disebut sebagai DRIVER.
  • 5. ADT dalam Bahasa pemrograman BAHASA SPESIFIKASI BODY PASCAL Unit Interface Implementasi C File header *.h File Kode Program (*.c) C++ File header *.h File Kode Program (*.cpp) JAVA Class Public Class
  • 6. ADT dalam struktur data • ADT dan struktur data adalah hal yang berbeda • Struktur data lebih konkret dan jelas, sedangkan ADT lebih merupakan sebuah skripsi logika • ADT : stack, queue, priority queue, dictionary, sequence, set. • Struktur Data : array, linked list, hash table (open, closed, circular hashing), trees (binary search trees, heaps, AVL trees, 2-3 trees, tries, red/black trees, B-trees)
  • 8. STACK (Pengertian) • Stack/tumpukan adalah kumpulan item di mana item data baru dapat ditambahkan/dimasukkan pada bagian atas tumpukan. Item yang dapat dihapus hanya pada tempat paling atas • Secara formal stack adalah Abstract Data Type (ADT) • Stack adalah wadah yang mengimplementasikan Last-In-First-Out (LIFO) protocol
  • 9. STACK (Pengertian) • LIFO (Last In Fist Out) artinya elemen dari struktur (node) yang dimasukkan pertama kali ke dalam rangkaian akan dikeluarkan (diproses) terakhir kali sedangkan elemen yang masuk terakhir akan diproses / dikeluarkan pertama. • Dengan kata lain setiap transaksi atau aktifitas yang ada dalam stack dilakukan pada kepalanya (head) saja.
  • 10. Perintah pada Stack Pada Stack dikenal beberapa perintah untuk memanipulasi datanya, seperti Push, Pop, IsEmpty, Peek, Print/Display. • Push untuk menambah data, • Pop untuk menghapus data, • IsEmpty untuk mengecek apakah Stack kosong atau terisi, • Peek untuk mengecek nilai Top dari Stack, • Print/Display untuk melihat isi dari Stack.
  • 11. Ilustrasi Stack Ilustrasi dari Stack dapat dilihat pada gambar berikut. | | | | | | | 7 | | 6| Jika ditambahkan data baru, misal 3, maka akan menjadi seperti gambar berikut. | | | | | 3 | | 7 | | 6 | Jika dihapus, maka data 3 akan hilang, dan Stack akan menjadi seperti pada gambar pertama. Jadi, semua aktifitas penambahan dan penghapusan data selalu dimulai dari atas.
  • 12. Implementasi Stack (Array) • Implementasi dan digunakan perintah push() dan pop() dengan insert dan delete pada akhir array. • Karena array terbatas muatannya, maka ada kemungkinan array akan terisi penuh ketika sejumlah elemen diisikan kedalamnya. • Fungsi boolean IsFull() akan mengembalikan true jika stack (array) penuh dan sebaliknya false. • Minus: mengakibatkan semua elemen yang tersisa akan bergeser ke kiri. • Plus: tidak perlu menggeser elemen.
  • 13. Implementasi Stack (List) • Implementasi dan digunakan perintah push() dan pop() dengan insert dan delete pada akhir array. • Seperti pada array, perlu diketahui dimana akan menyisipkan elemen pada list dan dimana yang akan dihapus sehingga push dan pop akan berjalan dengan cepat. • Insert pada awal atau akhir list akan memiliki waktu yang tetap • Menghapus elemen pada akhir list membutuhkan waktu yang cukup lama karena proses perjalanan dari awal sampai akhir list
  • 14. QUEUE
  • 15. QUEUE (Pengertian) • Queue/antrian adalah kumpulan item di mana item data baru dapat ditambahkan/dimasukkan pada bagian belakang (rear). Item yang dapat dihapus hanya pada tempat paling depan (front) • Secara formal queue adalah Abstract Data Type (ADT) • Queue adalah wadah yang mengimplementasikan First-In-First-Out (FIFO) protocol
  • 16. QUEUE (Pengertian) • Queue merupakan jenis Linked list yang menerapkan konsep FIFO (First In First Out) atau kebalikan dari Stack (LIFO). • Pada Queue elemen yang dimasukkan pertama kali apabila dilakukan pemrosesan maka elemen tersebut yang akan diproses terlebih dahulu.
  • 17. Aplikasi Kehidupan Contoh yang paling banyak kita lihat adalah • Ketika kita sedang antri di Bank. Orang pertama akan langsung berada di posisi paling depan, orang selanjutnya akan berada di belakangnya. • Jika orang pertama sudah selesai transaksi, maka orang pertama akan keluar dan orang kedua akan maju menjadi paling depan, begitu seterusnya. • Saat kita akan membeli tiket di Bioskop, disitu orang yang datang untuk mengantri pertama kali akan dilayani terlebih dahulu dan yang mengantri terakhir akan dilayani terakhir.
  • 18. Perintah pada Queue Pada Stack dikenal beberapa perintah untuk memanipulasi datanya, seperti Enqueue, Dequeue, IsEmpty, Peek, Print/Display. • Enqueue: proses penambahan elemen di posisi belakang • Dequeue: proses pengambilan elemen di posisi depan • IsEmpty untuk mengecek apakah queue kosong atau terisi, • Peek untuk mengecek nilai Top dari queue, • Print/Display untuk melihat isi dari queue.
  • 19. Deklarasi dalam Queue • Sebuah queue di dalam program komputer dideklarasikan sebagai sebuah tipe bentukan baru, di dalam Bahasa C, biasa disebut struct. • Sebuah struktur data dari sebuah queue setidaknya harus mengandung tiga variable: • variabel HEAD yang akan berguna sebagai penanda bagian depan antrian, • variabel TAIL yang akan berguna sebagai penanda bagian belakang antrian • ARRAY DATA dari yang akan menyimpan data-data yang dimasukkan ke dalam queue tersebut.
  • 20. Implementasi Queue (Deque) • DEQUE (Double-ended queue) adalah antrian dimana elemennya bisa masuk dan keluar lewat kedua ujungnya (berbeda dengan queue yang hanya bisa masuk lewat ujung belakang dan keluar lewat ujung depan).
  • 21. Variasi pada Deque DEQUE juga mempunyai dua jenis variasi yaitu : • Deque input terbatas : suatu deque yang membatasi pemasukkan elemen hanya pada satu ujung dari list, sementara penghapusan elemen boleh dilakukan pada kedua ujung list. • Deque output terbatas : merupakan kebalikan dari deque input terbatas yaitu suatu deque yang membatasi penghapusan elemen hanya pada satu ujung dari list, sementara pemasukkan elemen boleh dilakukan pada kedua ujung list
  • 22. REFERENSI •Bambangwirawan, Paulus. 2004. Struktur Data dengan C. Yogyakarta: Penerbit Andi. •Deitel,Paul,Deitel,Harvey.2014.C++HowtoProgram-NinthEdition.Harlow:Pearson Education Limited. •Kadir,Abdul.2003.PemrogramanC++.Yogyakarta:PenerbitAndi. •Munir,Rinaldi.2009.AlgoritmaPemrogramandalamBahasaPascaldanC.Bandung: Penerbit INFORMATIKA. •Rahmat C., Antonius. 2010. Algoritma dan Pemrograman dengan Bahasa C - Konsep, Teori, dan Implementasi. Yogyakarta: Penerbit Andi. •Suarga. 2012. Algoritma dan Pemrograman. Yogyakarta: Penerbit Andi.