1. Buatlah sebuah pengurutan data dari terkecil hingga terbesar dari data berikut (30, 40, 10, 5, 60,
1) dengan menggunakan algoritma Merge-sort yang diimplementasikan dalam bahasa
pemrograman Java? Kemudian analisa mengenai kinerja algoritma tersebut.
Coding Java
public class mergesort {
// menggabungkan 2 array arr[].
// array yg pertama adalah arr[l..m]
// array yang kedua adalah arr[m+1..r]
void merge(int arr[], int l, int m, int r)
{
// menemukan ukuran array
int n1 = m - l + 1;
int n2 = r - m;
int k = l;
while (i < n1 && j < n2) {
if (L[i] <= R[j]) {
arr[k] = L[i];
i++;
}
else {
arr[k] = R[j];
j++;
}
k++;
}
arr[k] = L[i];
i++;
k++;
}
// main
public static void main(String args[])
{
int arr[] = { 30, 40, 10, 5, 60, 1 };
System.out.println("Data awal");
printArray(arr);
Hasil Coding
Analisa
2. Buatlah sebuah pengurutan data dari terkecil hingga terbesar dari data berikut (30, 40, 10, 5, 60,
1) dengan menggunakan algoritma Counting-sort yang diimplementasikan dalam bahasa
pemrograman Java? Kemudian analisa mengenai kinerja algoritma tersebut.
Coding Java
public class countingsort {
void sort(int arr[])
{
int n = arr.length;
// main
public static void main(String args[])
{
countingsort ob = new countingsort();
int arr[] = { 30, 40, 10, 5, 60 , 1 };
System.out.print("array input adalah ");
printArray(arr);
ob.sort(arr);
}
}
Fitra Haryadi 041665966
Hasil Kodingan