Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

Jurusan Teknologi Informasi

Politeknik Negeri Malang

Tugas JobSheet 12
Heap

10
Hilmy Zaky Mustakim
SIB-2E
08th Desember, 2023
Daftar Isi

Table of Contents
Daftar Isi ........................................................................................................................... 1

Praktikum ke-1 .................................................................................................................. 2

o Class Heap.java .................................................................................................... 2

o Class HeapMain.java ............................................................................................. 3

o Output ................................................................................................................. 3

Pertanyaan ........................................................................................................................ 4

Tugas ............................................................................................................................... 5

1. Class Heap.java .................................................................................................... 5

2. Class HeapMain.java ............................................................................................. 6

3. Output ................................................................................................................. 6

1
Praktikum ke-1
o Class Heap.java

2
o Class HeapMain.java

o Output

3
Pertanyaan
1. Pada method swap terdapat method set yang dipanggil oleh objek heap. Apa fungsi dari
set?
• Pada baris ‘heap.set(index1, heap.get(index2))’, set digunakan untuk mengganti
nilai pada index1 di dalam heap dengan nilai yang terdapat pada index2, dan
sebaliknya. Jadi, set berfungsi untuk menukar nilai antara dua posisi dalam
struktur data heap.
2. Pada method remove digunakan nilai kembalian (return value) yaitu Integer. Apa
perbedaan nilai kembalian antara Interger dan int? Mengapa digunakan Integer?
• Perbedaan antara nilai kembalian Integer dan int terletak pada tipe data yang
digunakan. int adalah tipe data primitif, sedangkan Integer adalah tipe data objek
yang merupakan wrapper class untuk tipe data primitif int. Dalam hal ini,
penggunaan Integer memungkinkan nilai kembalian null, yang berguna untuk
menandakan bahwa heap kosong. Sebaliknya, jika menggunakan tipe data primitif
int, tidak mungkin mengembalikan nilai null, dan jika heap kosong, nilai default 0
akan dikembalikan, yang dapat menimbulkan kebingungan antara nilai aktual dan
nilai default.
3. Perhatikan method sinkDown baris ke-17 sampai ke-20. Proses apa yang dijalankan
pada baris tersebut?
• if (largest != index): Kondisi ini memeriksa apakah nilai terbesar (largest) tidak
sama dengan indeks saat ini (index).
• swap(index, largest): Jika kondisi di atas terpenuhi, maka dilakukan pertukaran
nilai antara indeks saat ini (index) dengan indeks anak yang memiliki nilai lebih
besar (largest). Fungsi swap bertanggung jawab menukar nilai antara dua posisi
dalam heap.
• sinkDown(largest): Setelah pertukaran nilai dilakukan, metode sinkDown dipanggil
secara rekursif untuk memastikan bahwa nilai yang baru ditukar pada indeks
largest juga memenuhi aturan heap.

4
Tugas
Modifikasi kode pada Prakitkum 1 menjadi heap untuk minimum priority queuing. Gunakan
data yang sama dengan Praktikum 1 dan amati hasilnya.

1. Class Heap.java

5
2. Class HeapMain.java

3. Output

6
7

You might also like