Anda di halaman 1dari 10

LAPORAN PRAKTIKUM STRUKTUR DATA

“P4 : QUEUES ”

NAMA : Efa Jelyanti Sihombing


NIM : 2255301045
KELAS : 2 TI E
DOSEN : Jan Alif Kreshna, S.ST., M.Sc.
ILB : Hazimah Fatin Bachrum, S.S.T.

PROGRAM STUDI TEKNIK INFORMATIKA


POLITEKNIK CALTEX RIAU
TA 2023 / 2024
Dasar Teori
Queue berasal dari Bahasa Inggris (British) yang artinya antrian.
Queue pada kenyataannya juga bisa kita lihat dalam kehidupan nyata, misalnya antrian pada
loket pembayaran rekening listrik, atau antrian untuk mendapatkan tiket bioskop, yang
memiliki struktur yang mirip dengan antrian dalam terminology komputer.
Queue mirip dengan stack, perbedaannya adalah STACK bertipe LIFO (Last In First Out)
sedangkan Queue bertipe FIFO (First In First Out), dimana elemen yang pertama kali
masuk akan keluar pertama kali. Pada Queue dikenal dua bagian yaitu head dan tail.

Operasi-operasi yang terdapat pada Queue antara lain :


• Create ( ) - Untuk menciptakan dan menginisialisasi queue. - Caranya adalah membuat
head dan tail = -1.
• isEmpty ( ) - Untuk memeriksa apakah antrian masih kosong. - Caranya adalah dengan
memeriksa nilai tail, jika nilai tail = -1, maka queue tersebut empty. - Pergerakan pada
elemen queue terjadi dengan penambahan elemen antrian ke belakang, yaitu dengan
menggunakan nilai tail.
• isFull ( ) - Untuk memeriksa apakah queue sudah penuh atau belum. - Caranya adalah
dengan mengecek nilai tail, jika nilai tail >= (MAX – 1) artinya queue tersebut sudah penuh,
karena (MAX-1) adalah nilai maksimum elemen array.
• Enqueue (data) - Untuk menambahkan elemen pada queue, penambahan setiap elemen
ditambahkan pada bagian belakang - Penambahan elemen selalu menggerakkan variabel Tail
dengan increment nilai tail.
• Dequeue ( ) - Digunakan untuk menghapus elemen terdepan/pertama dari queue - Caranya
adalah dengan mengurangi counter tail dan menggeser semua elemen antrian ke depan. -
Pergeseran dilakukan dengan looping (perulangan).
• Clear ( ) - Untuk menghapus elemen-elemen queue dengan cara membuat nilai head dan
tail = -1. - Penghapusan elemen-elemen antrian sebenarnya tidak menghapus arraynya,
namun hanya mengeset indeks pengaksesannya ke -1 sehingga elemen-elemen queue tidak
lagi terbaca.
• Tampil() - Untuk menampilkan elemen-elemen queue - Menggunakan perulangan dari
head sampai tail
percobaan 1 :
Circular Queue

analisa :

line 4 - 8 merupakan pendeklarasian dimana menggunakan method private dengan tipe data
int dimana variabel variabel di atas memiliki arti nya seperti maxSize iut merupakan variabel
integer yang menyimpan kapasitas maksimal dari antrian sirkular.
kalau queue array itu elemen untuk menyimpan elemen elemen antriannya
kalau front itu untuk menampilkan posisi depan antrean
rear kebalikan dari si front yang artinya menampilkan posisi belakang antrean
items integer yang mencari atau mendata berapa jumlah elemen saat ini dalam antrean

line di atas merupakan constructor dimana dia memberi nilai dengan kapasitas yang telah
ditentukan

method diatas digunakan untuk memasukkan elemen j ke dalam antrian sirkular dimana jika
rear mencapai akhir dari antriannya maka front nya diatur kembali ke 0 untuk melingkari ke
awal,

→ method peek Front disamping


merupakan method mengembalikan elemen pertama dalam antrian queue Array tanpa harus
menghapusnya,dimana kode nya tersebut mengacu pada elemen yang adaa di indeks front
dari array quearray dan mengembalikan nilainya sebagai bilangan bulat

main_class nya
analisa :

→ syntax disamping merupakan cara pembuatan


objek dengan antrian baru dengan nama theQueue dan diinisialisasi sebesar 5

→ selanjutnya tampilan disamping


merupakan tampilan menambahkan elemen ke dalam antrian menggunakan metode
insert,dengan cara memasukkan elemen 10,20,30,40 ke dalam antrian tersebut

tampilan di samping merupakan


looping dimana menggunakan while yang akan berjalan selama antriannya tidak kosong atau
berisi,nah didalaam setiap loopingnya kita akan di suruh menghapus karena terdapat method
remove , kemudian disimpan didalam variabel n.
→ menampilkan spasi atau next ke line
berikutnya
output :

priority :

analisa :

→ jadi 3 variabel di atas dengan


sifat private nya maxsize : variabel untuk menyimpan kapasitas maksimum antrian prioritas
double array : array untk menyimpan elemen elemen dalam antrian prioritas . Dalam konteks
ini , elemen elemen disimpan dalam bentuk bilangan desimal(double)
private int nItems : variabel yang digunakan untuk melacak jumlah/banyak nya elemen yang
sedang berada di dalam antrian
→ constructor yang
digunakan untuk menginisialisai objek antrian prioritas.Pada constructor ini masSize nya di
inisialisasi dengan nilai s sehingga membuat array que array nya dengan ukuran maxSize dan
diinisialisasi menjadi nItems

→ method
disamping digunakan untuk memasukkan elemen elemen kedalam antrian prioritas,dimana
jika antriannya kosong maka elemen nya langsung dimasukkan ke dalam 0,namun kalau
antriannya tidak kosong maka dia akan ditempatkan sesuai dengan urutan prioritas dengan
elemen terbesar berada di antrian


Method remove dapat menghapus dan mengembalikan elemen dengan prioritas tertinggi dari
antrian. Elemen dengan prioritas tertinggi berada di posisi paling belakang dari array
queArray.
Method peekMin ini digunakan untuk melihat elemen dengan prioritas tertinggi tanpa
menghapusnya dari antrian. Ini mengembalikan elemen yang berada di posisi paling belakang
dari array queArray.
Method isEmpty ini mengembalikan true jika antrian prioritas kosong (tidak ada elemen), dan
false sebaliknya.

analisa :

→ syntax disamping
merupakan cara pembuatan objek dengan antrian baru dengan nama thePQ dan diinisialisasi
sebesar 5

→ selanjutnya tampilan disamping merupakan


tampilan menambahkan elemen ke dalam antrian menggunakan metode insert,dengan cara
memasukkan elemen 30,50,10,40,20 ke dalam antrian tersebut

→ looping untuk
menampilkan si item
output :
terdapat dua variabel yaitu adaa ukuran dan queue dimana ukuran digunakan untuk
menyimpan ukuran antrian yang diinginnkan
queue , digunakan untuk objek kelas yang digunakan untuk mnyimpan elemen elemen dalam
antrian,terdapat 3 method yaitu : buatqueue,bacadata,tulisdata

method disamping digunakan untuk membaca data dari pengguna dan menambahkannya ke
dalam antrian. Data yang dibaca dari pengguna adalah bilangan bulat (Integer). Setelah
membaca semua elemen, metode ini juga mencetak ukuran antrian saat ini.
→ method disamping digunakan
untuk menganalisa antrian sebagai objek dari kelas LinkedList dan dapat menciptakan antrian
yang kosong

method input data digunakan untuk membaca input dari pengguna dalam bentuk string,
mengkonversinya menjadi bilangan bulat, dan mengembalikan nilai bilangan bulat tersebut.
Ini menghindari pengecualian dengan menangani kesalahan input.

Method disamping digunakan untuk menampilkan elemen-elemen dari antrian dalam urutan
keluaran. Data dihapus dari antrian satu per satu dan dicetak bersama dengan nomor urutnya.
Setelah selesai, metode ini juga mencetak ukuran antrian saat ini.

output :

Anda mungkin juga menyukai