NIM : A710200066
NAMA : IKHSAN FADIL
TGL PRAKTIKUM : 06-04-2021 TGL :
BAB 4
PENGURUTAN EFISIEN (EFFICIENT SORTING)
1. Dasar Teori
Pada bab sebelumnya sudah dibahas bab 3 mengenai pengurutan dasar (elementary
sorting) dan pada bab 4 ini akan dibahasa mengenai pengurutan efisien (efficient sorting)
pada struktur data.
1.1 Rekursi
Salah satu pengurutan efesien yang ada pada ilmu komputer yaitu rekursi. Rekursi
merupakan sebuah fungsi yang memanggil dirinya sendiri. Dalam rekursi terdapat dua
komponen penting, yaitu pengurangan atau pembagian data ketika fungsi memanggil
dirinya sendiri dan kondisi kapan berhentinya fungsi.
Berikut merupakan contoh kode rekursi :
Gambar diatas merupakan cara menghitung hasil kali dari dua bilangan. Kemudian contoh
dari rekursi lainnya yaitu :
2. Tujuan
Mempelajari konsep rekursi yang digunakan dalam proses pengurutan data.
Mempelajari algoritma pengurutan lebih lanjut mengenai pengurutan efisien
(efficient sorting algorithms).
Dapat menentukan algoritma pengurutan terbaik sesuai dengan permasalahan yang
dihadapi.
3. Analisa Hasil
3.1 Kegiatan 1 : Rekursi
4. Penyelesaian Tugas
1. Buat program baru untuk menjalankan sebuah fungsi rekursi, akan tetapi input angka
dan jumlah indeks elemen dalam array ditentukan oleh pengguna.
Penyelesaian :
Gambar 1.8 Tugas 1
Analisa :
Pada gambar 1.8 tugas kesatu diatas merupakan program membuat fungsi
rekursi. Pertama buat #iclude <iostream>, using namespace std ;. Kemudian buat
fungsi int main() seperti pada baris 3 sampai baris 6. Kemudian buat for (int
a=1;a<=num;a++) seperti pada baris 7 sampai baris 10. Terakhir buat return 0 untuk
mengakhiri program.
2. Buat sebuah program baru untuk mengurutkan data array menggunakan metode
merge sort yang jumlah indeks elemen dan nilai array tersebut ditentukan oleh
pengguna.
Penyelesaian :
Gambar 1.9 Tugas 2
3. Sama seperti pada tugas nomor 2, akan tetapi menggunakan metode quick sort.
Penyelesaian :
5. Kesimpulan
Rekursi merupakan fungsi yang dapat memanggil dirinya sendiri.
Merge Sort merupakan algoritma sorting yang dapat menggabungkan dan membagi
berdasarkan dengan cara.
Heap Sort merupakan metode pegurutan dengan memanfaatkan sifat yang dimiliki
oleh struktur data heap.
Quick Sort merupakan algoritma sorting yang berdasarkan perbandingan
menggunakan metode divide and conqueror.
6. Daftar Pustaka
http://dev.bertzzie.com/knowledge/analisis-algoritma/Rekursif.html
https://zonapemrograman.blogspot.com/2019/07/penjelasan-lengkap-merge-sort-
c.html
https://satriaskyterror.wordpress.com/2012/03/20/heap-sort-algorithm/
https://docplayer.info/57531848-Makalah-struktur-data-heap-sort-disusun-
oleh.html
http://onophp.blogspot.com/2018/11/quick-sort-pengertian-agoritma-dan.html