SlideShare a Scribd company logo
1 of 10
Stack (Tumpukan)
dan Queue (Antrian)
Nur Muchyiddin
201369040010
Dosen Pengampu :
Amidatus Sholihat
Stack (Tumpukan)
 Stack (tumpukan ) adalah suatu struktur data yang penting dalam suatu
pemograman yang mempunyai sifat LIFO (last In Fist Out). Stack (Tumpukan)
adalah list linier yang dikenali elemen puncaknya (TOP) dan Aturan penyisipan
dan penghapusan elemennya tertentu. Penyisipan selalu dilakukan “di
atas“ TOP dan Penghapusan selalu dilakukan pada TOP.
 TOP adalah satu-satunya alamat tempat terjadi operasi. Elemen yang
ditambahkan paling akhir akan menjadi elemen yang akan dihapus.Dikatakan
bahwa elemen Stack akan tersusun secara LIFO (Last In First Out).
Operasi-operasi dan Fungsi Stack
 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 dalam pengembangannya dapat di bedakan menjadi dua macam yaitu
 Single Stack
Single Stack atau satu Tunggal adalah tack yang hanya terdiri dari satu
koleksi. Bila stack ini direpresentasikan dengan array, maka pengisian dan
penghapusan harus dilakukan bertahap dari indeks TOP-nya.
 Double Stack
Double Stack atau Stack Ganda adalah stack yang hanya terdiri dari dua single
stack. Bila stack ini direpresentasikan dengan array, maka pengisian dan
penghapusan harus melalui salah satu arah.
Instalasi Stack
 Pada mulanya isi top dengan -1, karena array dalam C dimulai dari 0, yang
berarti stack adalah KOSONG.!
 Top adalah suatu variabel penanda dalam STACK yang menunjukkan elemen
teratas Stack sekarang. Top Of Stack akan selalu bergerak hingga mencapai
MAX of STACK sehingga menyebabkan stack PENUH!
Queue (Antrian)
 Queue(Antrian) adalah merupakan salah satu contoh aplikasi dari pembuatan
double linked list yang cukup sering kita temui dalam kehidupan sehari-hari,
queue sebetulnya hampil sama dengan stack tapi hanya saja, data yang masuk
pertama kali akan keluar pertama kali dari Queue.
Operasi-operasi Queue
 EnQueue : Memasukkan data ke dalam antrian
 DeQueue : Mengeluarkan data terdepan dari antrian
 Clear : Menghapus seluruh antrian
 IsEmpty : Memeriksa apakah antrian kosong
 IsFull : Memeriksa apakah antrian penuh
Penyajian Stack Dan Queue
Stack dan/atau Queue dapat disajikan baik dengan Array maupun dengan
struct. Pada Array, stack ataupun queue yang disajikan bersifat statis. Ini disebabkan
karena jumlah maksimal data pada array sudah ditentukan sejak awal.
Contoh deklarasi stack dengan struct :
Struct stack
{
char data;
stack*next;
};
Adapun penyajian Stack dan Queue ada 2 proses yang terjadi yaitu
 Pemasukan data (PUSH)
 Pengeluaran data (POP)
Contoh Pemasukan data (push) pada
algorima
0. Masukkan inputan ( x )
1. Jika variable cek ( c ) = nilai maksimal array ( max ), kerjakan langkah 2. Jika tidak,
kerjakan langkah 3.
2. cetak ”TUMPUKAN PENUH”
3. selama ( c ) kurang dari ( max ), maka c c + 1 dan data [c] x
Contoh Pengeluaran data (POP) pada
algorima
0. Jika c = 0, maka kerjakan langkah 2. Jika tidak, lakukan langkah 3.
1. cetak ”TUMPUKAN KOSONG”
2. c c-1

More Related Content

Viewers also liked

Algoritma dan Struktur Data - Konstruktor dan Destruktor
Algoritma dan Struktur Data - Konstruktor dan DestruktorAlgoritma dan Struktur Data - Konstruktor dan Destruktor
Algoritma dan Struktur Data - Konstruktor dan DestruktorKuliahKita
 
Predavanja 06 Konstruktori i destruktori
Predavanja 06  Konstruktori i destruktoriPredavanja 06  Konstruktori i destruktori
Predavanja 06 Konstruktori i destruktoriGoran Igaly
 
9.double linked list circular
9.double linked list circular9.double linked list circular
9.double linked list circularHitesh Wagle
 
Gerbang Logika Dasar
Gerbang Logika DasarGerbang Logika Dasar
Gerbang Logika DasarArif Hakim
 
Stack tumpukan
Stack tumpukan Stack tumpukan
Stack tumpukan biedoen
 
5 6 single-linked_list
5 6 single-linked_list5 6 single-linked_list
5 6 single-linked_listWandi Parlente
 
Tugas kelompok 2
Tugas kelompok 2Tugas kelompok 2
Tugas kelompok 2yusriren
 
Struktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked listStruktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked listSunarya Marwah
 
#OOP_D_ITS - 4th - C++ Oop And Class Structure
#OOP_D_ITS - 4th - C++ Oop And Class Structure#OOP_D_ITS - 4th - C++ Oop And Class Structure
#OOP_D_ITS - 4th - C++ Oop And Class StructureHadziq Fabroyir
 
Kelas, Kontrol Kelas, dan Konstruktor
Kelas, Kontrol Kelas, dan KonstruktorKelas, Kontrol Kelas, dan Konstruktor
Kelas, Kontrol Kelas, dan KonstruktorI Putu Arya Dharmaadi
 
MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )istiqlal
 
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 objekI Putu Arya Dharmaadi
 

Viewers also liked (19)

Algoritma dan Struktur Data - Konstruktor dan Destruktor
Algoritma dan Struktur Data - Konstruktor dan DestruktorAlgoritma dan Struktur Data - Konstruktor dan Destruktor
Algoritma dan Struktur Data - Konstruktor dan Destruktor
 
Predavanja 06 Konstruktori i destruktori
Predavanja 06  Konstruktori i destruktoriPredavanja 06  Konstruktori i destruktori
Predavanja 06 Konstruktori i destruktori
 
9.double linked list circular
9.double linked list circular9.double linked list circular
9.double linked list circular
 
Stack atau tumpukan
Stack atau tumpukanStack atau tumpukan
Stack atau tumpukan
 
Gerbang Logika Dasar
Gerbang Logika DasarGerbang Logika Dasar
Gerbang Logika Dasar
 
Stack
StackStack
Stack
 
Classes and objects
Classes and objectsClasses and objects
Classes and objects
 
Stack tumpukan
Stack tumpukan Stack tumpukan
Stack tumpukan
 
5 6 single-linked_list
5 6 single-linked_list5 6 single-linked_list
5 6 single-linked_list
 
Tugas kelompok 2
Tugas kelompok 2Tugas kelompok 2
Tugas kelompok 2
 
2894065
28940652894065
2894065
 
Struktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked listStruktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked list
 
Teori antrian
Teori antrianTeori antrian
Teori antrian
 
Queue
QueueQueue
Queue
 
Doubly linked list (animated)
Doubly linked list (animated)Doubly linked list (animated)
Doubly linked list (animated)
 
#OOP_D_ITS - 4th - C++ Oop And Class Structure
#OOP_D_ITS - 4th - C++ Oop And Class Structure#OOP_D_ITS - 4th - C++ Oop And Class Structure
#OOP_D_ITS - 4th - C++ Oop And Class Structure
 
Kelas, Kontrol Kelas, dan Konstruktor
Kelas, Kontrol Kelas, dan KonstruktorKelas, Kontrol Kelas, dan Konstruktor
Kelas, Kontrol Kelas, dan Konstruktor
 
MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )
 
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
 

Stack (tumpukan) dan queue (antrian)

  • 1. Stack (Tumpukan) dan Queue (Antrian) Nur Muchyiddin 201369040010 Dosen Pengampu : Amidatus Sholihat
  • 2. Stack (Tumpukan)  Stack (tumpukan ) adalah suatu struktur data yang penting dalam suatu pemograman yang mempunyai sifat LIFO (last In Fist Out). Stack (Tumpukan) adalah list linier yang dikenali elemen puncaknya (TOP) dan Aturan penyisipan dan penghapusan elemennya tertentu. Penyisipan selalu dilakukan “di atas“ TOP dan Penghapusan selalu dilakukan pada TOP.  TOP adalah satu-satunya alamat tempat terjadi operasi. Elemen yang ditambahkan paling akhir akan menjadi elemen yang akan dihapus.Dikatakan bahwa elemen Stack akan tersusun secara LIFO (Last In First Out).
  • 3. Operasi-operasi dan Fungsi Stack  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
  • 4. Stack dalam pengembangannya dapat di bedakan menjadi dua macam yaitu  Single Stack Single Stack atau satu Tunggal adalah tack yang hanya terdiri dari satu koleksi. Bila stack ini direpresentasikan dengan array, maka pengisian dan penghapusan harus dilakukan bertahap dari indeks TOP-nya.  Double Stack Double Stack atau Stack Ganda adalah stack yang hanya terdiri dari dua single stack. Bila stack ini direpresentasikan dengan array, maka pengisian dan penghapusan harus melalui salah satu arah.
  • 5. Instalasi Stack  Pada mulanya isi top dengan -1, karena array dalam C dimulai dari 0, yang berarti stack adalah KOSONG.!  Top adalah suatu variabel penanda dalam STACK yang menunjukkan elemen teratas Stack sekarang. Top Of Stack akan selalu bergerak hingga mencapai MAX of STACK sehingga menyebabkan stack PENUH!
  • 6. Queue (Antrian)  Queue(Antrian) adalah merupakan salah satu contoh aplikasi dari pembuatan double linked list yang cukup sering kita temui dalam kehidupan sehari-hari, queue sebetulnya hampil sama dengan stack tapi hanya saja, data yang masuk pertama kali akan keluar pertama kali dari Queue.
  • 7. Operasi-operasi Queue  EnQueue : Memasukkan data ke dalam antrian  DeQueue : Mengeluarkan data terdepan dari antrian  Clear : Menghapus seluruh antrian  IsEmpty : Memeriksa apakah antrian kosong  IsFull : Memeriksa apakah antrian penuh
  • 8. Penyajian Stack Dan Queue Stack dan/atau Queue dapat disajikan baik dengan Array maupun dengan struct. Pada Array, stack ataupun queue yang disajikan bersifat statis. Ini disebabkan karena jumlah maksimal data pada array sudah ditentukan sejak awal. Contoh deklarasi stack dengan struct : Struct stack { char data; stack*next; }; Adapun penyajian Stack dan Queue ada 2 proses yang terjadi yaitu  Pemasukan data (PUSH)  Pengeluaran data (POP)
  • 9. Contoh Pemasukan data (push) pada algorima 0. Masukkan inputan ( x ) 1. Jika variable cek ( c ) = nilai maksimal array ( max ), kerjakan langkah 2. Jika tidak, kerjakan langkah 3. 2. cetak ”TUMPUKAN PENUH” 3. selama ( c ) kurang dari ( max ), maka c c + 1 dan data [c] x
  • 10. Contoh Pengeluaran data (POP) pada algorima 0. Jika c = 0, maka kerjakan langkah 2. Jika tidak, lakukan langkah 3. 1. cetak ”TUMPUKAN KOSONG” 2. c c-1