Struktur Data Ketentuan Heap Tree Complete Binary Tree
Struktur Data
Ketentuan Heap Tree Complete Binary Tree (CBT) Max Heap Nilai dari simpul >= nilai anaknya Min Heap Nilai dari simpul <= nilai anaknya Program Studi Teknik Informatika UNIKOM Program Studi Teknik Informatika
Contoh Heap Tree Max Heap Min Heap 24 4 19 11 4 15 5 8 5 13 11 8 19 15 13 24 Program Studi Teknik Informatika UNIKOM
Proses pada Heap Pembentukan Heap Pengurutan Data pada Heap Program Studi Teknik Informatika UNIKOM
Pembentukan Heap 1 14 7 2 3 14 11 7 3 5 6 14 3 11 7 5 2 14 11 5 3 7 2 1 3 4 5 6 2 3 2 1 2 3 14 11 5 4 5 6 Proses sift_down dari simpul bernomor tengah (banyak simpul/2 atau N/2), menurun sampai simpul pertama. N = 6, Tengah = N/2 = 6/2 = 3 Lakukan reorganisasi pada simpul ke-2 Lakukan reorganisasi pada simpul ke-1 25 4 7 Program Studi Teknik Informatika UNIKOM
Pengurutan Data Heap (1) a. Binary Tree dalam keadaan Max Heap b. “Pecat” root dan tukarkan dengan simpul pada posisi terakhir c. Banyaknya simpul dikurangi 1 d. Jika N > 1, maka lakukan lagi reorganisasi heap e. Lakukan langkah pada point b sampai point d hingga simpul habis (N=0) 1 14 2 2 3 11 5 4 5 6 3 7 2 14 2 11 5 3 7 2 14 1 3 4 5 6 2 Program Studi Teknik Informatika UNIKOM
Pengurutan Data Heap (2) 1 11 2 2 3 7 2 11 5 4 5 3 2 7 11 7 2 2 11 5 3 1 3 4 2 2 2 7 14 14 11 5 Reorganisasi Heap kembali Tengah = N/2 = 5/2 = 2 Lakukan reorganisasi pada simpul ke-1 b. “Pecat” root dan tukarkan dengan simpul pada posisi terakhir c. Banyaknya simpul dikurangi 1 d. Jika N > 1, maka lakukan lagi reorganisasi heap e. Lakukan langkah pada point b sampai point d hingga simpul habis (N=0) 6 Program Studi Teknik Informatika UNIKOM
Pengurutan Data Heap (3) 1 2 7 2 3 5 4 3 2 2 7 3 5 73 2 1 2 3 4 11 2 7 14 2 5 Reorganisasi Heap kembali Tengah = N/2 = 4/2 = 2 Lakukan reorganisasi pada simpul ke-1 b. “Pecat” root dan tukarkan dengan simpul pada posisi terakhir c. Banyaknya simpul dikurangi 1 d. Jika N > 1, maka lakukan lagi reorganisasi heap e. Lakukan langkah pada point b sampai point d hingga simpul habis (N=0) 6 Program Studi Teknik Informatika UNIKOM
Pengurutan Data Heap (4) Reorganisasi Heap kembali Tengah = N/2 = 3/2 = 1 Lakukan reorganisasi pada simpul ke-1 1 5 2 2 3 3 5 2 2 5 3 5 25 73 2 7 11 2 7 14 2 1 2 3 4 5 b. “Pecat” root dan tukarkan dengan simpul pada posisi terakhir c. Banyaknya simpul dikurangi 1 d. Jika N > 1, maka lakukan lagi reorganisasi heap e. Lakukan langkah pada point b sampai point d hingga simpul habis (N=0) 6 Program Studi Teknik Informatika UNIKOM
Pengurutan Data Heap (5) Reorganisasi Heap kembali Tengah = N/2 = 2/2 = 1 Lakukan reorganisasi pada simpul ke-1 1 3 2 2 2 3 23 23 5 25 73 2 7 11 2 7 14 2 1 2 3 4 5 b. “Pecat” root dan tukarkan dengan simpul pada posisi terakhir c. Banyaknya simpul dikurangi 1 d. Jika N > 1, maka lakukan lagi reorganisasi heap e. Lakukan langkah pada point b sampai point d hingga simpul habis (N=0) 6 Program Studi Teknik Informatika UNIKOM
Pengurutan Data Heap (6) Karena N = 1, maka tidak terjadi Reorganisasi Heap 1 2 b. “Pecat” root c. Banyaknya simpul dikurangi 1 Karena harga N sudah sama dengan nol (0), maka proses pengurutan data selesai 22 23 5 25 73 2 7 11 2 7 14 2 1 2 3 4 5 6 Program Studi Teknik Informatika UNIKOM
Latihan Urutkan data pada tabel di bawah ini secara descending berdasarkan Nama, menggunakan metode Heap Sort. No. Nama 1 Rahmat 2 Didin 3 Ahmad 4 Joned 5 Syahrul 6 Riki 7 Arif 8 Susi 9 Donni 10 Asih Program Studi Teknik Informatika UNIKOM
Pembentukan CBT Complete Binary Tree Rahmat Didin Ahmad Joned Susi Syahrul Donni Riki Arif Asih Bukan Heap Rahmat 1 Didin Ahmad Joned Syahrul Riki Arif Susi Donni Asih 2 3 4 5 6 7 8 9 10 Program Studi Teknik Informatika UNIKOM
Pembentukan Heap Pecat Rahmat Ahmad Asih Didin Joned Donni Susi Rahmat Arif Ahmad Syahrul Riki Asih Didin Arif Rahmat Donni Syahrul Asih Joned Heap Ahmad 1 Asih 2 Arif Donni Didin Riki Rahmat Susi Joned Syahrul 3 4 5 6 7 8 9 10 Program Studi Teknik Informatika UNIKOM
Pengurutan Heap Syahrul Ahmad Arif Asih Donni Susi Didin Joned Riki Rahmat Syahrul Bukan Heap Syahrul Ahmad 1 Asih 2 Arif Donni Didin Riki Rahmat Susi Joned Ahmad Syahrul 3 4 5 6 7 8 9 10 Program Studi Teknik Informatika UNIKOM
Pengurutan Heap Pecat Syahrul Arif Rahmat Arif Syahrul Asih Donni Susi Syahrul Arif 1 Didin Joned Asih 2 Riki Rahmat Syahrul Heap Rahmat Syahrul Arif Donni Didin Riki Rahmat Syahrul Susi Joned Ahmad Syahrul 3 4 5 6 7 8 9 10 Program Studi Teknik Informatika UNIKOM
Pengurutan Heap Joned Arif Asih Donni Susi Rahmat Didin Riki Syahrul Joned Bukan Heap Arif Joned 1 Asih 2 Rahmat Donni Didin Riki Syahrul Susi Arif Joned Ahmad Syahrul 3 4 5 6 7 8 9 10 Program Studi Teknik Informatika UNIKOM
Pengurutan Heap Asih Joned Pecat Asih Joned Didin Donni Rahmat Didin Joned Susi Joned Asih 1 Riki Syahrul Heap Joned Didin Asih 2 Rahmat Donni Joned Didin Riki Syahrul Susi Arif Joned Ahmad Syahrul 3 4 5 6 7 8 9 10 Program Studi Teknik Informatika UNIKOM
Pengurutan Heap Asih Susi Rahmat Didin Donni Joned Susi Asih Susi 1 Riki Syahrul Bukan Heap Didin 2 Rahmat Donni Joned Riki Syahrul Asih Susi Arif Joned Ahmad Syahrul 3 4 5 6 7 8 9 10 Program Studi Teknik Informatika UNIKOM
Pengurutan Heap Pecat Didin Susi Rahmat Donni Susi Didin Donni Susi Joned Riki Syahrul Heap Susi Didin 1 Didin Donni Susi 2 Rahmat Donni Susi Joned Riki Syahrul Asih Susi Joned Arif Ahmad Syahrul 3 4 5 6 7 8 9 10 Program Studi Teknik Informatika UNIKOM
Pengurutan Heap Syahrul Didin Donni Rahmat Joned Susi Riki Syahrul Bukan Heap Didin Syahrul 1 Donni 2 Rahmat 3 Susi 4 Joned 5 Riki 6 Syahrul Didin Asih Susi Joned Arif Ahmad Syahrul 7 8 9 10 Program Studi Teknik Informatika UNIKOM
Pengurutan Heap Pecat Syahrul Donni Syahrul Joned Rahmat Syahrul Joned Susi Riki Heap Donni Rahmat Syahrul Donni Syahrul Joned 1 2 3 Susi Joned Syahrul Riki Syahrul Didin Asih Susi Joned Arif Ahmad Syahrul 4 5 6 7 8 9 10 Program Studi Teknik Informatika UNIKOM
Pengurutan Heap Donni Riki Joned Rahmat Syahrul Susi Riki Bukan Heap Donni Riki 1 Joned 2 Rahmat Susi Syahrul Donni Riki Syahrul Didin Asih Susi Arif Joned Ahmad Syahrul 3 4 5 6 7 8 9 10 Program Studi Teknik Informatika UNIKOM
Pengurutan Heap Joned Riki Pecat Rahmat Syahrul Susi Heap Joned Riki 1 Joned Riki 2 Rahmat Susi Syahrul Donni Riki Syahrul Didin Susi Asih Joned Arif Ahmad Syahrul 3 4 5 6 7 8 9 10 Program Studi Teknik Informatika UNIKOM
Pengurutan Heap Syahrul Joned Riki Rahmat Syahrul Susi Bukan Heap Joned Syahrul 1 Riki 2 Rahmat Susi Joned Syahrul Donni Riki Syahrul Didin Asih Susi Arif Joned Ahmad Syahrul 3 4 5 6 7 8 9 10 Program Studi Teknik Informatika UNIKOM
Pengurutan Heap Syahrul Rahmat Riki Pecat Rahmat Syahrul Susi Heap Rahmat Syahrul 1 Riki 2 Rahmat Syahrul 3 Susi Donni Syahrul Joned Donni Riki Syahrul Didin Asih Susi Arif Joned Ahmad Syahrul 4 5 6 7 8 9 10 Program Studi Teknik Informatika UNIKOM
Pengurutan Heap Rahmat Susi Riki Syahrul Susi Bukan Heap Rahmat Susi 1 Riki 2 Syahrul Susi Rahmat Donni Syahrul Joned Donni Riki Syahrul Didin Asih Susi Arif Joned Ahmad Syahrul 3 4 5 6 7 8 9 10 Program Studi Teknik Informatika UNIKOM
Pengurutan Heap Pecat Susi Riki Susi Syahrul Heap Susi Riki 1 Riki Susi 2 Syahrul Susi Rahmat 3 4 Donni Syahrul Joned 5 Donni Riki Syahrul Didin Asih Susi Arif Joned Ahmad Syahrul 6 7 8 9 10 Program Studi Teknik Informatika UNIKOM
Pengurutan Heap Riki Syahrul Susi Syahrul Bukan Heap Syahrul Riki Susi 1 2 Susi Riki Rahmat Syahrul 3 4 Donni Syahrul Joned 5 Donni Riki 6 Syahrul Didin Asih Susi Arif Joned Ahmad Syahrul 7 8 9 10 Program Studi Teknik Informatika UNIKOM
Pengurutan Heap Syahrul Susi Pecat Susi Syahrul Heap Syahrul Susi 1 Syahrul Susi 2 Riki Syahrul 3 Susi Rahmat 4 Donni Syahrul Joned 5 Donni Riki Syahrul Didin Asih Susi Arif Joned Ahmad Syahrul 6 7 8 9 10 Program Studi Teknik Informatika UNIKOM
Pengurutan Heap Syahrul Susi Syahrul Bukan Heap Syahrul Susi Riki Susi Syahrul 1 2 3 Susi Rahmat Donni Syahrul Joned Donni Riki Syahrul Didin Asih Susi Arif Joned Ahmad Syahrul 4 5 6 7 8 9 10 Program Studi Teknik Informatika UNIKOM
Pengurutan Heap Pecat Syahrul Susi Syahrul 1 2 Riki Syahrul Susi Rahmat Donni Syahrul Joned Donni Riki Syahrul Didin Asih Susi Arif Joned Ahmad Syahrul 3 4 5 6 7 8 9 10 Harga N = 0, maka proses pengurutan data selesai Program Studi Teknik Informatika UNIKOM
- Slides: 33