🧬Praktikum 1
Pengantar
Pada percobaan ini, kita akan mengimplementasikan struktur data Queue secara sederhana dengan menggunakan class Queue. Perhatikan class diagram Queue berikut,
Langkah Percobaan
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 parameterdt
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 proyekPraktikum1
. Buat method menu bertipe void untuk memilih menu program pada saat dijalankan.
Buat fungsi main, kemudian deklarasikan
Scanner
dengan namasc
.Buat variabel
n
untuk menampung masukan berupa jumlah maksimal elemen yang dapatdisimpan pada queue.
Lakukan instansiasi objek
Queue
dengan namaQ
dengan mengirimkan parametern
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 menggunakanswitch-case
untuk menjalankan operasi queue sesuai dengan masukan pengguna.
Compile dan jalankan class
QueueMain
, kemudian amati hasilnya.Verifikasi hasil percobaan.
Pertanyaan
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 variabeli
tidak dimulai dari 0 (int i=0
), melainkanint 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!
Last updated