🧬Praktikum 1
Last updated
Last updated
Pada percobaan ini, kita akan mengimplementasikan struktur data Queue secara sederhana dengan menggunakan class Queue. Perhatikan class diagram Queue berikut,
Buatlah proyek dengan nama "Praktikum1
" dan buat class dengan "Queue
".
Tambahkan atribut-atribut Queue sesuai diagram class, kemudian tambahkan pula
konstruktornya seperti potongan kode berikut ini.
Buat method isEmpty
bertipe boolean yang digunakan untuk mengecek apakah queue kosong.
Buat method isFull
bertipe boolean yang digunakan untuk mengecek apakah queue sudah penuh.
Buat method peek
bertipe void untuk menampilkan elemen queue pada posisi paling depan.
Buat method print
bertipe void untuk menampilkan seluruh elemen pada queue mulai dari posisi front sampai dengan posisi rear.
Buat method clear
bertipe void untuk menghapus semua elemen pada queue.
Buat method enqueue
bertipe void untuk menambahkan isi queue dengan parameter dt
yang bertipe integer.
Buat method dequeue
bertipe int untuk mengeluarkan data pada queue di posisi belakang.
Selanjutnya, buat class baru dengan nama QueueMain
tetap pada proyek Praktikum1
. Buat method menu bertipe void untuk memilih menu program pada saat dijalankan.
Buat fungsi main, kemudian deklarasikan Scanner
dengan nama sc
.
Buat variabel n
untuk menampung masukan berupa jumlah maksimal elemen yang dapat
disimpan pada queue.
Lakukan instansiasi objek Queue
dengan nama Q
dengan mengirimkan parameter n
sebagai kapasitas elemen queue.
Deklarasikan variabel dengan nama pilih
bertipe integer untuk menampung pilih menu dari pengguna.
Lakukan perulangan menggunakan do-while
untuk menjalankan program secara terus menerus sesuai masukan yang diberikan. Di dalam perulangan tersebut, terdapat pemilihan kondisi menggunakan switch-case
untuk menjalankan operasi queue sesuai dengan masukan pengguna.
Compile dan jalankan class QueueMain
, kemudian amati hasilnya.
Verifikasi hasil percobaan.
Pada konstruktor, mengapa nilai awal atribut front dan rear bernilai -1, sementara atribut size bernilai 0?
Pada method enqueue
, jelaskan maksud dan kegunaan dari potongan kode berikut!
Pada method dequeue
, jelaskan maksud dan kegunaan dari potongan kode berikut!
Pada method print
, mengapa pada proses perulangan variabel i
tidak dimulai dari 0 (int i=0
), melainkan int i=front
?
Perhatikan kembali method print
, jelaskan maksud dari potongan kode berikut!
Tunjukkan potongan kode program yang merupakan queue overflow!
Pada saat terjadi queue overflow dan queue underflow, program tersebut tetap dapat berjalan dan hanya menampilkan teks informasi. Lakukan modifikasi program sehingga pada saat terjadi queue overflow dan queue underflow, program dihentikan!