Soal 1
1. Implementasikan algoritma Selection Sort berikut, dan lengkapi dengan membuat fungsi
MAIN untuk menjalankan masing-masing fungsi tersebut.
1. Pertama-tama jangan lupa menggunakan template dasar untuk c++
#include <iostream>
using namespace std;
int main()
{
return 0;
}
int temp;
temp = a;
a = b;
b = temp;
void
int n = 8;
selectionSort(data, n);
Soal 2
2. Hitung ada berapa kali perintah perbandingan dan pertukaran dilakukan jika diberikan
sederet angka berikut 22, 12, 3, 25, 8, 30, 9, 10
1. Pendeklarasian variabel dalam fungsi selection sort
int tukar = 0;
2. Proses yang akan dijalankan
tukar++;
3. Menampilkan seberapa banyak dilakukan pertukaran
cout << "\nPertukaran yang dilakukan sebanyak: " << tukar << endl;
Output :
Data : 22 12 3 25 8 30 9 10
Proses Selection Sort (Ascending)
Iterasi 1 :
22 12 3 25 8 30 9 10 → (Apakah 22 nilai yang paling kecil?)
3 12 22 25 8 30 9 10 → (Tidak. 22 ditukar dengan 3)
Iterasi 2 :
3 12 22 25 8 30 9 10 → (Apakah 12 nilai yang paling kecil?)
3 8 22 25 12 30 9 10 → (Tidak. 12 ditukar dengan 8)
Iterasi 3 :
3 8 22 25 12 30 9 10 → (Apakah 22 nilai yang paling kecil?)
3 8 9 25 12 30 22 10 → (Tidak. 22 ditukar dengan 9)
Iterasi 4 :
3 8 9 25 12 30 22 10 → (Apakah 25 nilai yang paling kecil?)
3 8 9 10 12 30 22 25 → (Tidak. 25 ditukar dengan 10)
Iterasi 5 :
3 8 9 10 12 30 22 25 → (Apakah 12 nilai yang paling kecil?)
3 8 9 10 12 30 22 25 → (Iya)
Iterasi 6 :
3 8 9 10 12 30 22 25 → (Apakah 30 nilai yang paling kecil?)
3 8 9 10 12 22 30 25 → (Tidak. 30 ditukar dengan 22)
Iterasi 7 :
3 8 9 10 12 22 30 25 → (Apakah 30 nilai yang paling kecil?)
3 8 9 10 12 22 25 30 → (Tidak. 30 ditukar dengan 25)
Soal 3
3. Tentukan T(n) dari algoritma Selection Sort.
T(n) = (c32+c42)n + (c1+c2+c32-c42)n – (c2-c3)
2
T(n) = n2
Soal 4
4. Hitung berapa lama algoritma dijalankan dalam millisecond menggunakan fungsi time()
atau clock()
1. Pertama-tama jangan lupa menggunakan header untuk menghitung waktu
#include <ctime>