selamat datang dalam serial algoritma dasar dan struktur data kali ini kita akan membahas mengenai stack atau tumpukan dan Q atau antrian Pertama mari kita bahas mengenai stack atau tumpukan. Apa itu stack? Stack atau tumpukan adalah struktur data dinamis yang mengikuti prinsip Last In First Out atau LIFO.
Artinya item yang terakhir disertakan dalam stack menjadi item pertama yang dihilangkan dari stack. Seperti contoh, kita mempunyai tumpukan piring di atas meja. Piring paling atas adalah piring pertama yang dipindahkan apabila kita memerlukan piring mana saja yang terdapat di tumpukan piring di atas meja. Stack memiliki sifat-sifat khusus diantaranya adalah 1. Struktur data dinamis 2. Tidak memiliki ukuran tetap 3. Tidak menggunakan kapasitas memori tetap 4. Ukuran stack berubah dengan tiap operasi push dan pop Setiap operasi push dan pop akan menambahkan dan mengurangi satu elemen dalam stack secara berurutan Operasi stack dapat diilustrasikan sebagai berikut.
Kita memiliki stack yang terdiri dari 5 elemen. Elemen paling atas atau elemen berisinya 5 adalah top element. Top element ini adalah komponen yang akan mendapatkan operasi push dan pop.
Kita akan melakukan operasi push Kita akan menambahkan elemen dengan nilai 6 ke dalam stack Maka elemen ini akan berada di atas elemen 5 Dan setelah operasi push, maka sekarang top elemen berpindah ke elemen 6 dan 6 dan stack terdiri dari 6 elemen. Sekarang kita akan lakukan operasi pop untuk menghapus salah satu elemen pada stack. Operasi pop akan menghapus top elemen yang ada pada kondisi saat ini, elemen yang bernilai 6 satu top elemen. Maka setelah operasi pop selesai, sekarang top elemen berganti ke elemen di bawahnya, yaitu elemen yang bernilai 5. Selanjutnya mari kita bahas mengenai queue atau antrian. Apa itu antrian?
Queue atau antrian adalah struktur data yang mengikuti pola first in first out atau VIVO. Artinya elemen pertama yang ditambahkan ke dalam queue akan menjadi elemen pertama yang akan dihapus. Elemen akan ditambahkan dari belakang dan akan dihapus dari depan. Q dapat dianggologikan sebagai antrian pada suatu wahana, di mana yang pertama masuk antrian maka ia yang akan memainkan wahana pertama kali. Beberapa fungsi-fungsi yang didukung dalam Q adalah sebagai berikut.
1. NQ. Fungsi ini akan menambah elemen ke sisi belakang Q hanya jika Q dalam keadaan tidak penuh. 2. DQ. Fungsi ini akan menghapus elemen dari sisi depan Q hanya jika Q tidak kosong atau empty.
Berikut ilustrasi Q di awal kondisi kita memiliki Q yang terdiri dari 5 elemen. Dengan elemen yang berisi nilai 5 pada posisi depan dan elemen bernilai 9 pada posisi belakang. Kita akan melakukan operasi NQ atau menang.
kita tambahkan elemen ke dalam Q. Kita akan tambahkan komponen bernilai 6, maka elemen ini akan ditambahkan dari posisi belakang seperti ilustrasi berikut. Dengan demikian ada perubahan posisi belakang yang sebelumnya pada posisi elemen bernilai 9 sekarang berada di posisi elemen bernilai 6. Kemudian jika kita akan melakukan operasi DQ atau menghapus salah satu elemen dalam Q, maka elemen paling depan dalam Q akan dihapus.
Di sini posisi elemen paling depan adalah elemen bernilai 5. Posisi paling depan akan berubah ke posisi elemen setelahnya yaitu elemen bernilai 10. Demikian penjelasan mengenai stack dan queue dalam serial agonima dasar dan struktur data kali ini. Terima kasih.