Membuat Program Operasi Dasar Stack Dan Queue Serta Penjelasan Syntax-Nya

Sebelum masuk ke materi pembahasan kita harus mengetahui apa itu Stack dan apa itu Queue.

Stack
Stack adalah sebuah koleksi elemen yang di atur sedemikian rupa sehingga elemen terakhir di tambahkan adalah elemen pertama yang akan di hapus. Prinsip ini di kenal sebagai LIFO (Last In, First Out).

Queue
Queue adalah struktur data linear yang beroperasi berdasarkan prinsip FIFO (First In, First Out). Ini menandakan bahwa elemen yang pertama kali di masukkan ke dalam queue akan menjadi elemen pertama yang di keluarkan.

Pemrograman Pada Stack

Penjelasannya

Kode di atas adalah implementasi sederhana dari kelas `RiwayatBrowser` dalam Python yang mensimulasikan perilaku browser web dengan fitur riwayat dan navigasi maju-mundur.

1. `__init__(self)`: Metode inisialisasi membuat dua list kosong, `riwayat` untuk menyimpan URL yang telah dikunjungi dan `tumpukan_maju` untuk menyimpan URL saat navigasi maju.

2. `kunjungi(self, url)`: Metode ini digunakan untuk menambahkan URL baru ke dalam `riwayat` dan mengosongkan `tumpukan_maju` (karena ketika mengunjungi URL baru, navigasi maju di-reset). Metode ini juga mencetak pesan bahwa URL tersebut dikunjungi.

3. `kembali(self)`: Metode ini digunakan untuk kembali ke halaman sebelumnya dalam riwayat. Jika ada halaman sebelumnya dalam `riwayat`, URL terakhir dihapus dari `riwayat` dan ditambahkan ke `tumpukan_maju`. Jika tidak ada halaman sebelumnya, pesan "Tidak ada halaman sebelumnya untuk kembali" dicetak.

4. `maju(self)`: Metode ini digunakan untuk maju ke halaman yang sebelumnya telah ditinggalkan. Jika ada halaman berikutnya dalam `tumpukan_maju`, URL selanjutnya diambil dari `tumpukan_maju` dan ditambahkan kembali ke `riwayat`. Jika tidak ada halaman berikutnya, pesan "Tidak ada halaman berikutnya untuk maju" dicetak.

5. `halaman_saat_ini(self)`: Metode ini mengembalikan URL dari halaman saat ini yang sedang ditampilkan. Jika tidak ada halaman saat ini, metode ini mengembalikan `None`.

6. Contoh Penggunaan:

  • Membuat objek `browser` dari kelas `RiwayatBrowser`.
  • Mengunjungi beberapa URL menggunakan metode `kunjungi`.
  • Melakukan navigasi mundur dan maju menggunakan metode `kembali` dan `maju`.
  • Mengambil URL halaman saat ini menggunakan metode `halaman_saat_ini`.

Jadi, program ini menyediakan fungsionalitas sederhana untuk mengelola riwayat dan navigasi seperti yang dapat ditemukan pada browser web. Dan hasil outputnya seperti di bawah ini.

Pemrograman Dalam Queue

Penjelasannya

Kode di atas adalah implementasi sederhana dari kelas `AntrianSupermarket` dalam Python yang mensimulasikan antrian pelanggan di supermarket.

1. `__init__(self)`: Metode inisialisasi membuat list kosong `self.items` untuk menyimpan orang-orang yang mengantri.

2. `is_empty(self)`: Metode ini digunakan untuk memeriksa apakah antrian kosong atau tidak. Jika panjang list `self.items` sama dengan 0, maka antrian kosong dan metode mengembalikan `True`, jika tidak, metode mengembalikan `False`.

3. `masuk_antrian(self, orang)`: Metode ini digunakan untuk menambahkan orang baru ke dalam antrian. Orang tersebut ditambahkan ke akhir list `self.items` dan pesan "Orang masuk ke dalam antrian" dicetak.

4. `keluar_antrian(self)`: Metode ini digunakan untuk mengeluarkan orang dari depan antrian. Jika antrian tidak kosong, orang pertama di list `self.items` dihapus dan dikembalikan. Jika antrian kosong, pesan "Antrian kosong, tidak ada yang keluar" dicetak.

5. `lihat_depan(self)`: Metode ini digunakan untuk melihat orang yang berada di depan antrian tanpa menghapusnya. Jika antrian tidak kosong, orang pertama di list `self.items` dikembalikan. Jika antrian kosong, metode mengembalikan `None`.

6. `ukuran_antrian(self)`: Metode ini digunakan untuk mengembalikan jumlah orang dalam antrian, yaitu panjang list `self.items`.

7. Contoh Penggunaan:

  • Membuat objek `antrian` dari kelas `AntrianSupermarket`.
  • Menambahkan beberapa orang ke dalam antrian menggunakan metode `masuk_antrian`.
  • Melihat orang yang berada di depan antrian dan ukuran antrian menggunakan metode `lihat_depan` dan `ukuran_antrian`.
  • Mengeluarkan orang dari depan antrian menggunakan metode `keluar_antrian` dan menampilkan informasi terbaru tentang antrian.

Jadi, program ini menyediakan fungsionalitas sederhana untuk mengelola antrian pelanggan di supermarket, termasuk menambahkan orang ke dalam antrian, melihat orang yang berada di depan antrian, mengeluarkan orang dari antrian, dan mengetahui ukuran antrian saat ini. Dan hasil outputnya seperti di bawah ini.










Komentar