PERCOBAAN 4
DISUSUN OLEH :
FATIMAH
F52122030
Stack memiliki prinsip kerja yang mirip dengan tumpukan buku-buku di atas meja,
yaitu "Last-In, First-Out" (LIFO), yang berarti elemen terakhir yang dimasukkan ke dalam
stack akan menjadi elemen teratas dari stack, dan elemen yang pertama kali dimasukkan akan
menjadi elemen terbawah dari stack.
Stack sering digunakan dalam berbagai aplikasi, seperti dalam pemrosesan ekspresi
matematika, evaluasi fungsi rekursif, pemanggilan fungsi dalam bahasa pemrograman, dan
sebagainya. Dalam implementasinya, stack dapat diimplementasikan menggunakan array,
linked list, atau bahkan menggunakan struktur data lainnya, seperti tree atau graph.
2. Queue
Tipe data queue adalah salah satu struktur data yang penting dalam pemrograman
komputer. Queue (antrian) sendiri adalah salah satu konsep yang sudah umum digunakan
dalam kehidupan sehari-hari, seperti saat menunggu antrean di bank, restoran cepat saji, dan
lain sebagainya.
Dalam konteks pemrograman komputer, queue merupakan struktur data linier yang
mengikuti prinsip FIFO (First In First Out), artinya elemen pertama yang masuk ke dalam
queue akan menjadi elemen pertama yang keluar dari queue. Konsep ini mirip dengan antrean
di kehidupan nyata, dimana orang yang pertama kali datang akan dilayani terlebih dahulu.
Dalam queue, elemen baru (atau disebut juga enqueue) selalu dimasukkan di bagian belakang
(atau ujung ekor) dari antrian, dan elemen yang keluar (atau disebut dequeue) selalu diambil
dari bagian depan (atau ujung kepala) dari antrian. Contoh sederhana penggunaan queue adalah
ketika kita menunggu giliran untuk memasuki wahana di sebuah taman bermain.
1.2 Tujuan Pembelajaran
1. Stack
Ada beberapa tujuan belajar tipe data stack, antara lain:
1. Struktur data penting:
Stack adalah salah satu jenis struktur data yang paling penting dalam pemrograman.
Stack digunakan dalam banyak aplikasi, termasuk penguraian ekspresi matematika,
pengecekan sintaksis, manajemen memori, dan masih banyak lagi.
2. Pengoptimalan kode:
Stack dapat digunakan untuk mengoptimalkan kode dalam beberapa situasi. Misalnya,
jika Anda perlu mengembalikan nilai-nilai secara terbalik, Anda dapat menggunakan stack
untuk membalik urutan nilai-nilai tersebut.
3. Struktur data yang mudah digunakan:
Stack adalah struktur data yang mudah digunakan dan dipelajari. Implementasi stack
relatif sederhana, dan struktur data ini dapat digunakan dalam berbagai situasi.
4. Peningkatan kemampuan algoritma:
Stack sering digunakan dalam algoritma dan pemecahan masalah. Dengan belajar stack,
kita akan dapat memahami algoritma yang menggunakan struktur data ini dan
meningkatkan kemampuan kita dalam memecahkan masalah secara efektif dan efisien.
2. Queue
Tujuan belajar tipe data queue adalah untuk mempelajari sebuah struktur data yang berguna
dalam mengelola kumpulan data dengan urutan yang diperhatikan. Queue merupakan sebuah
struktur data yang mirip dengan antrian pada umumnya, dimana elemen-elemen baru
ditambahkan di bagian belakang dan elemen-elemen yang sudah ada di dalam queue akan
bergeser ke depan, sehingga elemen yang berada di bagian depan akan menjadi elemen yang
paling awal untuk dihapus.
Dalam contoh di atas, kita membuat sebuah list kosong stack. Kemudian, kita
menambahkan tiga elemen ke dalam stack menggunakan fungsi append. Setelah itu, kita
menghapus elemen terakhir dari stack menggunakan fungsi po4p. Untuk melihat elemen
terata pada stack, kita menggunakan indeks -1 pada list, yang mengakses elemen terakhir.
Terakhir, kita memeriksa apakah stack kosong dengan memeriksa panjang list
menggunakan fungsi len dan membandingkannya dengan 0.
2. Queue
Queue umumnya memiliki dua operasi dasar, yaitu enqueue (menambahkan elemen
ke dalam queue) dan dequeue (mengeluarkan elemen dari queue). Selain itu, queue juga
memiliki operasi peek untuk melihat elemen pertama pada queue tanpa mengeluarkannya,
serta isEmpty untuk memeriksa apakah queue kosong atau tidak.Contoh sederhana
penggunaan queue adalah ketika kita menunggu giliran untuk memasuki wahana di sebuah
taman bermain. Orang yang datang lebih dulu akan ditempatkan di depan orang yang
datang kemudian, dan orang yang berada di depan antrian akan dilayani terlebih dahulu.
Dalam contoh di atas, kita mengimpor deque dari modul collections. Kemudian, kita
membuat sebuah deque kosong queue. Setelah itu, kita menambahkan tiga elemen ke dalam
queue menggunakan fungsi append. Untuk mengeluarkan elemen pertama dari queue, kita
menggunakan fungsi dequeue. Untuk melihat elemen pertama pada queue, kita dapat
mengakses elemen pada indeks 0. Terakhir, kita memeriksa apakah queue kosong dengan
memeriksa panjang deque menggunakan fungsi len dan membandingkannya dengan 0.
BAB III
PROSEDUR KERJA
3.1 Screnshoot codingan
1. Stack
a. Membuat class stack
2. Queue
a. Class queue
BAB IV
HASIL PERCOBAAN
3.2 Output
1. Stack
Gambar diatas merupakan output dari list class stack yang dibuat dan menghasilkan output
“ 3, 3, 2, 1, ”
2. Queue
Gambar diatas merupakan output dari list class queue yang di buat dan menghasilakan
output “ Queue, Amar, Rahma, Irfan dan 0”.
BAB V
PENUTUP
5.1 Kesimpulan
Tipe data stack adalah salah satu struktur data yang digunakan dalam pemrograman
komputer. Stack adalah struktur data yang memungkinkan elemen-elemennya diakses dan
dimanipulasi secara berurutan, mirip seperti tumpukan buku-buku yang diletakkan di atas meja.
Namun, akses dan manipulasi hanya dapat dilakukan pada elemen teratas dari tumpukan,
sedangkan elemen-elemen di bawahnya tidak dapat diakses atau dimanipulasi secara langsung.
Tipe data queue adalah salah satu struktur data yang penting dalam pemrograman
komputer. Queue (antrian) sendiri adalah salah satu konsep yang sudah umum digunakan
dalam kehidupan sehari-hari, seperti saat menunggu antrean di bank, restoran cepat saji, dan
lain sebagainya. Contoh sederhana penggunaan queue adalah ketika kita menunggu giliran
untuk memasuki wahana di sebuah taman bermain.
Setelah mempelajari tipe data stack dan queue, dapat disimpulkan bahwa keduanya adalah
struktur data yang berguna untuk mengelola koleksi item. Stack dan queue memiliki beberapa
perbedaan dalam cara mereka mengelola item dalam koleksi.
Stack adalah tipe data yang memungkinkan item ditambahkan atau dihapus hanya pada satu
ujung, yang disebut "top". Konsep ini dikenal sebagai LIFO (Last-In, First-Out), yang berarti
item yang terakhir ditambahkan ke stack adalah yang pertama dihapus. Stack sering digunakan
dalam konteks memanggil fungsi (function call), pemrosesan ekspresi aritmatika, dan
pengelolaan memori. Dalam bahasa pemrograman Python, stack dapat diimplementasikan
dengan menggunakan list.
Sementara itu, queue adalah tipe data yang memungkinkan item ditambahkan hanya di satu
ujung (yang disebut "rear") dan dihapus dari ujung yang berlawanan (yang disebut "front").
Konsep ini dikenal sebagai FIFO (First-In, First-Out), yang berarti item yang pertama
ditambahkan ke queue adalah yang pertama dihapus. Queue sering digunakan dalam konteks
antrian (queue) pelangga, pengiriman pesan, dan pemrosesan jaringan.
Dalam kedua kasus, item dapat diakses hanya melalui ujung yang ditentukan, dan urutan
item yang ada dalam koleksi selalu dipertahankan. Memahami tipe data stack dan queue dapat
membantu dalam pemecahan masalah dan optimasi algoritma dalam pemrograman.
DAFTAR PUSTAKA
Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction to Algorithms. MIT
Press.
Structures. Addison-Wesley Professional.
Sahni, S. (2007). Data Structures, Algorithms, and Applications in Java. McGraw-Hill Higher
Education.
Drozdek, A. (2005). Data Structures and Algorithms in C++. Thomson Course Technology.
Holub, A. I. (2006). Compiler Design in C. Prentice Hall.
Sedgewick, R., & Wayne, K. (2011). Algorithms. Addison-Wesley Professional.
Goodrich, M. T., Tamassia, R., & Mount, D. M. (2015). Data Structures and Algorithms in Python.
John Wiley & Sons.
Bailey, D. A. (2007). Java Structures: Data Structures in Java for the Principled Programmer.
McGraw-Hill Higher Education.