• Tidak ada hasil yang ditemukan

LAPORAN ALGORITMA DAN STRUKTUR DATA II (2)

N/A
N/A
Protected

Academic year: 2018

Membagikan "LAPORAN ALGORITMA DAN STRUKTUR DATA II (2)"

Copied!
6
0
0

Teks penuh

(1)

LAPORAN PRAKTIKUM

ALGORITMA DAN STRUKTUR DATA II

MODUL

HEAP

Disusun Oleh :

Syukur Jaya Mendrofa 201501072

Kelas: C

Dosen Pengampu :

Oskar Ika Adi Nugroho, ST., MT

JURUSAN SISTEM INFORMASI

SEKOLAH TINGGI ILMU KOMPUTER “YOS SUDARSO”

PURWOKERTO

(2)

BAB I

DASAR TEORI

1. Pengertian Heap

Pohon heap adalah struktur data yang berbentuk pohon yang memenuhi sifat-sifat heap yaitu jika B adalah anak dari A, maka nilai yang tersimpan di simpul A lebih besar atau sama dengan nilai yang tersimpan di simpul B. Hal ini mengakibatkan elemen dengan nilai terbesar selalu berada pada posisi akar, dan heap ini disebut max heap. (Bila perbandingannya diterbalikkan yaitu elemen terkecilnya selalu berada di simpul akar, heap ini disebut adalah min heap). Karena itulah, heap biasa dipakai untuk mengimplementasikan priority queue.

Operasi-operasi yang digunakan untuk heap adalah :

 Delete-max atau delete-min: menghapus simpul akar dari sebuah max- atau

minheap.

 Increase-key atau decrease-key : mengubah nilai yang tersimpan di suatu simpul.

 Insert: menambahkan sebuah nilai ke dalam heap.

 Merge: menggabungkan dua heap untuk membentuk sebuah heap baru yang berisi

semua elemen pembentuk heap tersebut.

2. Jenis-jenis Heap

1. Binary heap : Binary heap adalah heap yang dibuat dengan menggunakan pohon biner.

2. Binomial heap : Binomial heap adalah heap yang dibuat dengan menggunakan pohon binomial. Pohon binomial bila didefinisikan secara rekursif adalah:

 Sebuah pohon binomial dengan tinggi 0 adalah simpul tunggal.

 Sebuah pohon binomial dengan tinggi k mempunyai sebuah simpul akar yang

anak-anaknya adalah akar-akar pohonpohon binomial dengan tinggi k-1,k- 2, …,2,1,0.

 Fibonacci heap adalah kumpulan pohon yang membentuk minimum heap.

(3)

Fibonacci heap adalah ketika menggabungkan heap cukup dengan menggabungkan dua list pohon.

BAB II

LISTING PROGRAM

(4)

Analisa Program

 Program ini menggunakan STL (Standard Template Library) dan program ini juga

merupakan program untuk mengurutkan data.

 #include <iostream> => #include adalah suatu perintah yang digunakan untuk mengatur compiler agar membaca berkas header yang disertakan dibelakang kata

include yakni dalam program ini <iostream> saat pelaksanaan kompilasi.

 #include <algorithm> merupakan STL (Standard Template Library) yang

digunakan untuk memanipulasi data.

 #include <vector> => merupakan STL (Standard Template Library) sebuah

container vector menyimpan dan mengelola objek-objeknya di dalam sebuah array dinamis. Karena array adalah sebuah struktur data akses acak, elemen – elemen sebuah vector dapat diakses secara acak. Nama file header yang memuat kelas vector adalah vector. Jadi, untuk menggunakan container vector di dalam program, program harus mencantumkan pernyataan #include<vector>.

 using namespace std; => menyatakan kepada compiler bahwa program

menggunakan namespace bernama std; namespace fungsinya untuk mengelompokkan elemen-elemen ke dalam sebuah nama. std adalah nama bawaan yang digunakan pada semua pustaka standar C++. Contohnya untuk menampilkan keluaran berupa cout, endl.

 int main() => merupakan awal dari fungsi utama.

 { => awal tubuh dari fungsi utama

 int mynts[ ] = { 20, 30, 40, 25, 15 }; => merupakan variable array dinamis yang

akan di kelola dalam container vector.

 cout << "Isi dari Heap 20, 30, 40, 25, 15"; => untuk menampilkan (Isi dari Heap

(5)

 vector<int> v(mynts, mynts + 5); => merupakan STL (Standard Template Library)

sebuah container vector menyimpan dan mengelola objek-objeknya di dalam sebuah array dinamis.

 cout << '\n'; => masuk new line.

 make_heap(v.begin(), v.end()); => merupakan template.

 cout << "Nilai tertinggi dalam heap = " << v.front() << '\n'; => untuk menampilkan

(Nilai tertinggi dalam heap = ) setelah itu menampilkan isi yang telah disimpan pada variable << v.front( ) << lalu masuk new line.

 cout << '\n'; => masuk new line.

 cout << "POP 40\n"; => untuk menampilkan (POP 40) lalu masuk new line.

 pop_heap(v.begin(), v.end()); v.pop_back(); => merupakan template.

 cout << "Nilai tertinggi dalam heap setelah POP = " << v.front() << '\n'; => untuk

menampilkan (Nilai tertinggi dalam heap setelah POP = ) setelah itu menampilkan isi yang telah disimpan pada variable << v.front( ) << lalu masuk new line.

 cout << '\n'; => masuk new line.

 cout << "PUSH 50\n"; => untuk menampilkan (PUSH 50) lalu masuk new line.

 v.push_back(50); push_heap(v.begin(), v.end()); => merupakan template.

 cout << "Nilai tertinggi dalam heap setelah PUSH : " << v.front() << '\n'; ; =>

untuk menampilkan (Nilai tertinggi dalam heap setelah PUSH = ) setelah itu menampilkan isi yang telah disimpan pada variable << v.front( ) << lalu masuk new line.

 sort_heap(v.begin(), v.end()); => merupakan template.

 cout << "final sorted range : "; untuk menampilkan (final sorted range)

 for (unsigned i = 0; i < v.size(); i++) => fungsi pengulangan untuk mengurutkan

data yang telah dimasukkan berdasarkan nilainya.

 cout << ' ' << v[i]; => menampilkan data yang telah di simpan dan diurutkan.

 cout << '\n'; => masuk new line.  cout << '\n'; => masuk new line.

 return 0; => Pernyataan bahwa nilai balik program adalah nol. Nol biasa digunakan

untuk menyatakan bahwa program berhasil melaksanakan tugas yang diembannya.

(6)

BAB III

KESIMPULAN

Referensi

Dokumen terkait

Male and female pigeons implanted with deslorelin had significantly lower mean LH concentrations at 7, 28, and 56 ( P , .05) days after implantation compared with the respective

bronchiseptica BS9 (BCC B2455) cukup patogen dengan pemberian dosis 4,2 x 10 5 CFU/ml dapat menimbulkan kerusakan-kerusakan yang berupa deskuamasi sel-sel epitel dan

This research was aimed to determine the width area of an intensive shrimp farm which can be supported by water environment of Banyuputih Sub-District,

Luar biasa, itu yang bisa saya katakan dan kemudian menjadi jelas mengapa ulama Iran sangat menguasai !ilsafat atau hikmah dalam istilah yang mereka pakai, karena ada

Pembelajaran Sejarah Berbasis Pendekatan Multikultural dan Perspektif Sejarah Lokal, Nasional, Global, untuk Integrasi Bangsa (Studi Kuasi Eksperimental Terhadap

Praktek Kerja Lapangan (PKL) di SMK Telematika Indramayu berbeda dengan Praktek Kerja Lapangan di Sekolah Menengah Kejuruan (SMK), selain lamanya waktu praktek,

Literasi Mikrobiologi pada Aspek “ Pengetahuan Dasar ” pada Siswa MA Program IPA [SMA], Mahasiswa yang Belum Mendapatkan Perkuliahan. Mikrobiologi [PT-Pra MO], dan Mahasiswa

Sampel penelitian terdiri dari 51 perusahaan yang terdaftar di Bursa Efek Indonesia (BEI) dan pengambilan sampel dilakukan dengan teknik purposive sampling .Variabel