Showing posts with label C#. Show all posts
Showing posts with label C#. Show all posts

Wednesday, July 30, 2014

Implementasi Algoritma Heap Sort dengan C#



Untuk mengimplementasikan algoritma Heap sort pada postingan ane yg ini menggunakan bahasa pemrograman C#, gunakanlah syntax berikut ini :



Pada syntax ini terdapat 3 metode yang digunakan dalam sorting nilai dengan algortima heap sort yaitu HeapSort, Build-Max-Heap, dan Max-Heapfy. Pada metode HeapSort di baris 10 sampai 50 adalah metode untuk deklarasi array Angka dan input nilai pada elemen-elemen yang dimiliki array Angka. Lalu pada baris 51 metode Build-Max-Heap dipanggil untuk mengkoreksi posisi heap tree agar sesuai dengan kondisi Max-Heap, pada metode Build-Max-Heap di baris 78 terdapat for looping dengan kondisi i = (Elements – 1) / 2 dan selama i ≥ 0 for looping akan terus berulang berarti posisi i berada di tengah-tengah heap tree. Pada posisi i adalah index awal yang akan dijadikan acuan untuk mengkorekasi posisi heap tree agar sesuai dengan max-heap setelah index tengah sudah ditemukan maka cara untuk mengkoreksi posisi heap adalah dengan metode Max-Heapfy.

Pada metode Max-Heapfy terapat variabel left, right, dan largest. Dimana left dan right adalah variabel index left dan right child dari node i sedangkan variabel largest digunakan untuk menentukan index mana yang memiliki nilai tertinggi antara node i, left child, dan right child node i. Maka pada metode Max-Heapfy index yang tersimpan dalam variabel largest akan menjadi parent node atau node i, akan tetapi jika largest ≠ i maka metode Max-Heapfy akan kembali memanggil dirinya sendiri karena jika largest ≠ I urutan heap tree tidak sesuai dengan kondisi max-heap.


Lalu setelah Max-Heap sudah terbentuk kembali ke metode HeapSort dimana terdapat for lopping yang memiliki kondisi i = Elements – 1 dan selama i > 0 maka i dikurangi 1. Dan didalam for looping nilai pada index 0 atau root ditukar dengan nilai pada index n atau index terakhir setelah itu jumlah elemen akan dikurangi 1 dan metode heapsort memanggil metode metode Max-Heapfy untuk mengkoreksi urutan heap tree agar sesuai dengan kondisi Max-Heap. Dan berikut adalah demo dari pengaplikasian metode HeapSort dengan C# :


Sekian postingan dari ane semoga bermanfaat, jika ada kesalahan mohon dikoreksi dan dimaklumai :Peace:

Implementasi Selection Sort dengan C#



Untuk mengimplementasikan algoritma Selection sort pada postingan ane yg ini menggunakan bahasa pemrograman C#, gunakanlah syntax berikut ini :




Pada baris 10 sampai 48 adalah syntax untuk mendeklarasi array Angka dan menginput nilai-nilai untuk index pada array Angka, lalu pada baris 51 sampai 65 adalah syntax untuk metode selection sort.

Pada baris 51 terdapat for looping dengan kondisi variabel i dengan nilai awal 0 dan selama nilai I lebih kecil dari Elements – 1 maka nilai i akan bertambah 1. Lalu pada baris 53 terdapat deklarasi variabel min yg memiliki nilai sama dengan variabel i. Pada baris 54 terdapat for looping dengan kondisi varibael j memiliki nilai awal i + 1 dan selama j lebih kecil dari Elements maka nilai j akan bertambah 1, lalu dibaris 56 terdapat if dengan kondisi jika Angka[j] < Angka[min] maka min memiliki niai j. Dan pada baris 62 sampai 64 adalah proses pertukaran posisi Angka[i] dengan Angka[min]. Dan berikut adalah demo dari selection sort  dengan C# :

 

Sekian postingan dari ane semoga bermanfaat, jika ada kesalahan mohon dikoreksi ya gan :Peace: