Tim Struktur Data Program Studi Teknik Informatika UNIKOM Heap Tim Struktur Data Program Studi Teknik Informatika UNIKOM
Ketentuan Heap Tree Min Heap Complete Binary Tree (CBT) Nilai dari simpul <= nilai anaknya. Sehingga nilai paling kecil selalu berada di root. Max Heap Nilai dari simpul >= nilai anaknya. Sehingga nilai paling besar selalu berada di root. Tim Struktur Data Program Studi Teknik Informatika
Contoh Heap Tree Max Heap Min Heap 24 4 19 15 5 8 11 5 8 13 11 19 15 Tim Struktur Data Program Studi Teknik Informatika
Proses pada Heap Reorganisasi (Restrukturisasi) Heap Pembentukan Heap Penyisipan Heap Penghapusan Heap Pengurutan Data pada Heap (Heap Sort) Tim Struktur Data Program Studi Teknik Informatika
Reorganisasi Heap Reorganisasi heap terjadi ketika terjadi perubahan terhadap heap, misalnya ketika penyisipan, penghapusan, pengupdatean dan pengurutan data. Proses yang terjadi dalam reorganisasi heap adalah : Shift-up (Geser ke atas) Shift-down (Geser ke bawah) www.themegallery.com Company Logo
Shift-Up (Geser Atas) Shift-Up adalah proses dimana sebuah nilai node bertambah sehingga nilai prioritasnya lebih besar dari parentnya. Algoritmanya : Tukarkan nilai node tersebut dengan nilai parent-nya. Ulangi langkah a, sampai ditemukan posisi yang tepat (memenuhi kondisi heap) www.themegallery.com Company Logo
Shift-Up (Geser Atas) Heap Awal Perubahan Heap Aturan Heap Dilanggar Tim Struktur Data Program Studi Teknik Informatika
Shift-Up (Geser Atas) Shift-up #1 Masih Melanggar www.themegallery.com Company Logo
Shift-Up (Geser Atas) Shift-up #2 Masih Melanggar www.themegallery.com Company Logo
Shift-Up (Geser Atas) Shift-up #3 Sesuai Aturan Heap www.themegallery.com Company Logo
Shift-Down (Geser Bawah) Shift-Down adalah proses dimana sebuah nilai node berkurang sehingga nilainya lebih kecil dari anak-anaknya. Algoritmanya : Tukarkan nilai simpul yang berubah dengan nilai dari child yang mempunyai prioritas terbesar. Ulangi langkah a, sampai ditemukan posisi yang tepat (memenuhi kondisi heap) www.themegallery.com Company Logo
Shift-Down (Geser Bawah) Heap Awal Perubahan Heap Aturan Heap Dilanggar Tim Struktur Data Program Studi Teknik Informatika
Shift-Down (Geser Bawah) Masih Melanggar www.themegallery.com Company Logo
Shift-Down (Geser Bawah) Sesuai Aturan Heap www.themegallery.com Company Logo
Pembentukan Heap Pada mulanya jika suatu complete binary tree memiliki nilai secara acak, maka langkah yang harus dilakukan agar binary tree tersebut dapat disebut sebagai heap adalah dengan melakukan proses shift-down dari node tengah (banyaknode/2 atau N/2), menurun sampai node pertama. www.themegallery.com Company Logo
Pembentukan Heap 7 3 2 14 11 5 1 2 3 4 5 6 1 Proses shift-down dari simpul bernomor tengah (banyak simpul/2 atau N/2), menurun sampai simpul pertama. 14 7 2 3 11 14 3 7 2 5 N = 6, Tengah = N/2 = 6/2 = 3 4 5 6 Lakukan reorganisasi pada simpul ke-3 14 3 11 7 2 5 Lakukan reorganisasi pada simpul ke-2 Lakukan reorganisasi pada simpul ke-1 14 11 5 3 7 2 1 2 3 4 5 6 Tim Struktur Data Program Studi Teknik Informatika
Penyisipan Data Algoritma penyisipan data dalam Heap adalah : Simpan elemen baru tersebut setelah data paling akhir (tree dengan level paling bawah dan pada posisi sebelah kanan dari data terakhir atau jika level telah penuh, maka simpan data baru tersebut dalam level baru). Lakukan reorganisasi heap pada node baru tersebut. Proses yang biasanya dipakai adalah proses shift-up. Banyak simpul ditambah 1 www.themegallery.com Company Logo
Penyisipan Data Sisip 8 Reorganisasi www.themegallery.com Company Logo
Penghapusan Data Algoritma penghapusan heap adalah : Ambil Nilai Heap Ambil nilai pada node terakhir, dan dipakai sebagai nilai root. Lakukan proses reorganisasi heap pada root. Umumnya proses yang dilakukan adalah proses sift down. Banyak simpul dikurang 1 www.themegallery.com Company Logo
Penghapusan Data Reorganisasi Root Hapus root (10) www.themegallery.com Company Logo
Pengurutan Data Heap Algoritmanya adalah N : banyakdata Tukarkan node root dengan node paling akhir (tempatkan nilai paling besar di akhir, Kurangi nilai N dengan 1 (untuk menjaga nilai paling besar tidak usah dilibatkan lagi). Lakukan reorganisasi heap dari node tengah sampai node 1. Lakukan langkah b sampai d sampai N=0 Tim Struktur Data Program Studi Teknik Informatika
Pengurutan Data Heap Binary Tree dalam keadaan Max Heap “Pecat” root dan tukarkan dengan simpul pada posisi terakhir Banyaknya simpul dikurangi 1 Jika N > 1, maka lakukan lagi reorganisasi heap 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 14 2 11 5 3 7 14 2 1 2 3 4 5 6 Tim Struktur Data Program Studi Teknik Informatika
Pengurutan Data Heap Reorganisasi Heap kembali Tengah = N/2 = 5/2 = 2 “Pecat” root dan tukarkan dengan simpul pada posisi terakhir Banyaknya simpul dikurangi 1 Jika N > 1, maka lakukan lagi reorganisasi heap Lakukan langkah pada point b sampai point d hingga simpul habis (N=0) 1 11 2 2 Lakukan reorganisasi pada simpul ke-2 2 3 Lakukan reorganisasi pada simpul ke-1 11 7 2 5 4 5 3 2 7 11 14 11 2 2 11 7 2 5 3 11 2 7 14 2 1 2 3 4 5 6 Tim Struktur Data Program Studi Teknik Informatika
Pengurutan Data Heap Reorganisasi Heap kembali Tengah = N/2 = 4/2 = 2 “Pecat” root dan tukarkan dengan simpul pada posisi terakhir Banyaknya simpul dikurangi 1 Jika N > 1, maka lakukan lagi reorganisasi heap Lakukan langkah pada point b sampai point d hingga simpul habis (N=0) 1 2 2 7 Lakukan reorganisasi pada simpul ke-2 2 3 Lakukan reorganisasi pada simpul ke-1 3 2 7 5 4 3 2 7 11 14 7 2 2 3 2 7 5 3 2 7 11 2 7 14 2 1 2 3 4 5 6 Tim Struktur Data Program Studi Teknik Informatika
Pengurutan Data Heap Reorganisasi Heap kembali Tengah = N/2 = 3/2 = 1 “Pecat” root dan tukarkan dengan simpul pada posisi terakhir Banyaknya simpul dikurangi 1 Jika N > 1, maka lakukan lagi reorganisasi heap Lakukan langkah pada point b sampai point d hingga simpul habis (N=0) 1 2 5 2 Lakukan reorganisasi pada simpul ke-1 2 3 3 5 2 5 7 11 14 2 2 5 3 5 5 2 3 2 7 11 2 7 14 2 1 2 3 4 5 6 Tim Struktur Data Program Studi Teknik Informatika
Pengurutan Data Heap Reorganisasi Heap kembali Tengah = N/2 = 2/2 = 1 “Pecat” root dan tukarkan dengan simpul pada posisi terakhir Banyaknya simpul dikurangi 1 Jika N > 1, maka lakukan lagi reorganisasi heap Lakukan langkah pada point b sampai point d hingga simpul habis (N=0) 1 2 2 3 Lakukan reorganisasi pada simpul ke-1 2 3 2 3 5 7 11 14 3 2 2 3 3 2 5 5 2 3 2 7 11 2 7 14 2 1 2 3 4 5 6 Tim Struktur Data Program Studi Teknik Informatika
Pengurutan Data Heap Karena N = 1, maka tidak terjadi Reorganisasi Heap “Pecat” root Banyaknya simpul dikurangi 1 Karena harga N sudah sama dengan nol (0), maka proses pengurutan data selesai 1 2 2 3 5 7 11 14 2 3 3 2 5 2 5 3 2 7 11 2 7 14 2 1 2 3 4 5 6 Tim Struktur Data Program Studi Teknik Informatika
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 Tim Struktur Data Program Studi Teknik Informatika
Pembentukan CBT Complete Binary Tree Bukan Heap Rahmat Didin Ahmad Joned Syahrul Riki Arif Susi Donni Asih Bukan Heap Rahmat Didin Ahmad Joned Syahrul Riki Arif Susi Donni Asih 1 2 3 4 5 6 7 8 9 10 Tim Struktur Data Program Studi Teknik Informatika
Pembentukan Heap Heap Ahmad Rahmat Didin Asih Arif Rahmat Ahmad Donni Joned Asih Didin Syahrul Riki Rahmat Arif Susi Joned Donni Asih Syahrul Heap 1 2 3 4 5 6 7 8 9 10 Ahmad Asih Arif Donni Didin Riki Rahmat Susi Joned Syahrul Tim Struktur Data Program Studi Teknik Informatika
Pengurutan Heap Bukan Heap Ahmad Syahrul Asih Arif Donni Didin Riki Rahmat Susi Joned Syahrul Bukan Heap 1 2 3 4 5 6 7 8 9 10 Ahmad Ahmad Syahrul Asih Arif Donni Didin Riki Rahmat Susi Joned Ahmad Syahrul Tim Struktur Data Program Studi Teknik Informatika
Pengurutan Heap Heap Arif Syahrul Asih Arif Syahrul Rahmat Donni Didin Riki Rahmat Syahrul Susi Joned Heap 1 2 3 4 5 6 7 8 9 10 Ahmad Syahrul Arif Asih Rahmat Syahrul Arif Donni Didin Riki Syahrul Rahmat Susi Joned Ahmad Syahrul Tim Struktur Data Program Studi Teknik Informatika
Pengurutan Heap Bukan Heap Arif Joned Asih Rahmat Donni Didin Riki Syahrul Susi Joned Bukan Heap 1 2 3 4 5 6 7 8 9 10 Arif Ahmad Arif Joned Asih Rahmat Donni Didin Riki Syahrul Susi Joned Arif Ahmad Syahrul Tim Struktur Data Program Studi Teknik Informatika
Pengurutan Heap Heap Joned Asih Didin Joned Asih Rahmat Donni Didin Riki Syahrul Susi Heap 1 2 3 4 5 6 7 8 9 10 Arif Ahmad Asih Joned Joned Didin Asih Rahmat Donni Didin Joned Riki Syahrul Susi Joned Arif Ahmad Syahrul Tim Struktur Data Program Studi Teknik Informatika
Pengurutan Heap Bukan Heap Susi Asih Didin Rahmat Donni Joned Riki Syahrul Bukan Heap Susi 1 2 3 4 5 6 7 8 9 10 Asih Arif Ahmad Susi Asih Didin Rahmat Donni Joned Riki Syahrul Susi Asih Joned Arif Ahmad Syahrul Tim Struktur Data Program Studi Teknik Informatika
Pengurutan Heap Heap Susi Didin Didin Donni Susi Rahmat Susi Donni Joned Riki Syahrul Heap 1 2 3 4 5 6 7 8 9 10 Asih Arif Ahmad Susi Didin Didin Donni Susi Rahmat Donni Susi Joned Riki Syahrul Asih Susi Arif Joned Ahmad Syahrul Tim Struktur Data Program Studi Teknik Informatika
Pengurutan Heap Bukan Heap Didin Syahrul Donni Rahmat Susi Joned Riki 1 2 3 4 5 6 7 8 9 10 Didin Asih Arif Ahmad Syahrul Didin Donni Rahmat Susi Joned Riki Didin Syahrul Susi Asih Joned Arif Ahmad Syahrul Tim Struktur Data Program Studi Teknik Informatika
Pengurutan Heap Heap Syahrul Donni Joned Donni Syahrul Rahmat Susi Riki Heap 1 2 3 4 5 6 7 8 9 10 Didin Asih Arif Ahmad Donni Syahrul Syahrul Joned Donni Rahmat Susi Joned Syahrul Riki Didin Syahrul Susi Asih Joned Arif Ahmad Syahrul Tim Struktur Data Program Studi Teknik Informatika
Pengurutan Heap Bukan Heap Riki Donni Joned Rahmat Susi Syahrul Riki 1 2 3 4 5 6 7 8 9 10 Donni Didin Asih Arif Ahmad Riki Donni Joned Rahmat Susi Syahrul Donni Riki Didin Syahrul Susi Asih Joned Arif Ahmad Syahrul Tim Struktur Data Program Studi Teknik Informatika
Pengurutan Heap Heap Riki Joned Joned Riki Rahmat Susi Syahrul 1 2 3 4 5 6 7 8 9 10 Donni Didin Asih Arif Ahmad Joned Riki Joned Riki Rahmat Susi Syahrul Donni Riki Didin Syahrul Susi Asih Joned Arif Ahmad Syahrul Tim Struktur Data Program Studi Teknik Informatika
Pengurutan Heap Bukan Heap Syahrul Joned Riki Rahmat Susi Syahrul 1 2 3 4 5 6 7 8 9 10 Joned Donni Didin Asih Arif Ahmad Joned Syahrul Riki Rahmat Susi Joned Syahrul Donni Riki Didin Syahrul Susi Asih Arif Joned Ahmad Syahrul Tim Struktur Data Program Studi Teknik Informatika
Pengurutan Heap Heap Rahmat Syahrul Riki Syahrul Rahmat Susi 1 2 3 4 5 6 7 8 9 10 Donni Donni Didin Asih Arif Ahmad Rahmat Syahrul Riki Syahrul Rahmat Susi Syahrul Joned Donni Riki Didin Syahrul Susi Asih Joned Arif Ahmad Syahrul Tim Struktur Data Program Studi Teknik Informatika
Pengurutan Heap Bukan Heap Susi Rahmat Riki Syahrul Susi 1 2 3 4 5 6 7 8 9 10 Rahmat Donni Donni Didin Asih Arif Ahmad Susi Rahmat Riki Syahrul Susi Rahmat Joned Syahrul Donni Riki Didin Syahrul Susi Asih Arif Joned Ahmad Syahrul Tim Struktur Data Program Studi Teknik Informatika
Pengurutan Heap Heap Riki Susi Riki Susi Syahrul 1 2 3 4 5 6 7 8 9 10 Rahmat Donni Donni Didin Asih Arif Ahmad Riki Susi Riki Susi Syahrul Susi Rahmat Joned Syahrul Donni Riki Didin Syahrul Asih Susi Arif Joned Ahmad Syahrul Tim Struktur Data Program Studi Teknik Informatika
Pengurutan Heap Bukan Heap Syahrul Riki Susi Syahrul 1 2 3 4 5 6 7 8 9 10 Riki Rahmat Donni Donni Didin Asih Arif Ahmad Riki Syahrul Susi Riki Syahrul Rahmat Susi Joned Syahrul Donni Riki Didin Syahrul Asih Susi Arif Joned Ahmad Syahrul Tim Struktur Data Program Studi Teknik Informatika
Pengurutan Heap Heap Syahrul Susi Syahrul Susi 1 2 3 4 5 6 7 8 9 10 Riki Rahmat Donni Donni Didin Asih Arif Ahmad Susi Syahrul Susi Syahrul Syahrul Rahmat Susi Joned Syahrul Donni Riki Didin Syahrul Asih Susi Arif Joned Ahmad Syahrul Tim Struktur Data Program Studi Teknik Informatika
Pengurutan Heap Heap Syahrul Susi Syahrul 1 2 3 4 5 6 7 8 9 10 Susi Riki Rahmat Donni Donni Didin Asih Arif Ahmad Syahrul Susi Susi Syahrul Syahrul Rahmat Susi Joned Syahrul Donni Riki Didin Syahrul Susi Asih Arif Joned Ahmad Syahrul Tim Struktur Data Program Studi Teknik Informatika
Pengurutan Heap Syahrul 1 2 3 4 5 6 7 8 9 10 Syahrul Susi Riki Rahmat Donni Donni Didin Asih Arif Ahmad Syahrul Syahrul Susi Syahrul Rahmat Susi Joned Syahrul Donni Riki Didin Syahrul Asih Susi Joned Arif Ahmad Syahrul Tim Struktur Data Program Studi Teknik Informatika
Program Studi Teknik Informatika - UNIKOM Terima Kasih Tim Struktur Data Program Studi Teknik Informatika - UNIKOM