UAS Sisber PDF
UAS Sisber PDF
OLEH :
DOSEN PENGAJAR :
NI PUTU EKA MERLIANA, ST., MT
Bubble sort merupakan cara pengurutan yang sederhana. Cara kerjanya adalah
mengulang proses pembandingan antara tiap-tiap elemen array dan menukarnya
apabila urutannya salah. Pembandingan elemen-elemen ini akan terus diulang
hingga tidak perlu dilakukan penukaran lagi.
1. i <- 1
2. selama (i < N-1) kerjakan baris 3 s/d 7
3. j <- N-1
4. selama (j>=i) kerjakan baris 5 s/d 6
5. jika (Data[j-1]>Data[j]) maka tukar Data[j-1] dengan Data[j]
6. j <- j - 1 ;
7. i <- i + 1 ;
Codiung bubbleshort :
2. Input dan Output dari program yang telah dibuat (skor 35)
Dari hasil program, source code algoritma bubble sort tersebut berhasil dapat
dijalankan tanpa ada error dan menampilkan hasil pengurutan yang sesuai.
berikut ada langkah-langkah proses pengurutan yang dilakukan program :
PROSES SORTING ARRAY [20, 60, 30, 40, 25, 35, 22, 50, 55, 11]
Dari analisis proses pengurutan diatas terdapat 10 kali putaran dan setiap
putaran memiliki 9 proses. Pada saat putaran ke 9 sudah selesai tetapi tetap
melakukan putaran sampai ke 10 karena ini yang menjadikan kelemahan algoritma
bubble sort yang masih kurang effisien.
Ada dua indeks i dan j dan pada awal algoritma partisi i menunjuk ke elemen
pertama dalam array dan poin j yang terakhir. Kemudian algoritma menggerakkan
i ke depan, sampai elemen dengan nilai yang lebih besar atau sama dengan pivot
ditemukan. Indeks j bergerak mundur, sampai elemen dengan nilai yang lebih
rendah atau sama dengan pivotditemukan.
Jika i ≤ j maka mereka bertukar dan saya langkah ke posisi berikutnya (i +
1), langkah-langkah j dengan yang sebelumnya (j - 1). Algoritma berhenti, ketika
saya menjadi lebih besar dari j. Setelah partisi, semua nilai sebelum elemen ke-i
kurang atau sama dengan pivot dan semua nilai setelah elemen ke-j lebih besar atau
sama dengan pivot.
Algoritma Pengurutan Rekaman dengan Metode Quick Sort :
Coding Quick Sort :
Kelebihan
Algoritma Quicksort memiliki kompleksitas O(n log n) dimana pada
prakteknya lebih cepat dari algoritma pengurutan lainnya.
Kekurangan
Pada kemungkinan terburuknya, algoritma Quicksort ini dapat memiliki
kompleksitas O(n2). Meskipun ini sangat langka terjadi
Pengurutan Heap ( Heap Sort):
1. Buat heap maksimum dari data yang akan diurutkan (dalam bentuk pohon
biner lengkap).
2. Selanjutnya, pastikan nilai node parent lebih besar dari node child, jika
tidak maka lakukan pertukaran hingga nilai terbesar tersimpan pada node
root.
3. Lakukan pertukaran antara node root dengan node terakhir pada heap, lalu
kurangi ukuran heap sebanyak 1 buah dengan menghapus node terakhir
setelah pertukaran.
4. Ulangi langkah 2 dan 3,selama ukuran heap lebih besar dari 1
2. Fungsi heap
1. //Fungsi untuk mengurangi ukuran heap
2. void heap(int arr[], int n, int i)
3. {
4. int terbesar = i; // Inisialisasi nilai terbesar
5. int l = 2*i + 1; // Node Kiri
6. int r = 2*i + 2; // Node Kanan
7. // Jika node child kiri lebih besar dari i
8. if (l < n && arr[l] > arr[terbesar])
9. terbesar = l;
10. // Jika node child kanan lebih besar dari i
11. if (r < n && arr[r] > arr[terbesar])
12. terbesar = r;
13. // Jika node terbesar bukan root (lakukan pertukaran)
14. if (terbesar != i)
15. {
16. int swap = arr[i];
17. arr[i] = arr[terbesar];
18. arr[terbesar] = swap;
19. // Memanggil fungsi ini secara rekursif
20. heap(arr, n, terbesar);
21. }
22. }
4. Fungsi utama