UTS SDA Jhona Simanjunatak
UTS SDA Jhona Simanjunatak
Kelas : TI 1 A
Nim : 2022573010091
1. Diketahui suatu array yang elemennya masih teracak a{6} = 40, 60, 30, 50, 10, 20 , Buatlah
program untuk melakukan pengurutan secara menaik (ascending) terhadap array
tersebut menggunakan algoritma merge sort.
Program :
#include <stdio.h>
i = 0;
j = 0;
k = l;
merge_sort(arr, l, m);
merge_sort(arr, m + 1, r);
merge(arr, l, m, r);
}
}
int main() {
int a[] = {40, 60, 30, 50, 10, 20};
int n = sizeof(a) / sizeof(a[0]);
merge_sort(a, 0, n - 1);
printf("Array setelah diurutkan: \n");
print_array(a, n);
return 0;
}
Output :
2. Diketahui suatu array yang elemennya masih teracak a{6} = 30, 20, 10, 50, 60, 40 , Buatlah
program untuk melakukan pengurutan secara menaik (ascending) terhadap array tersebut
menggunakan algoritma quick sort.
Program :
#include <stdio.h>
int main() {
int a[] = {30, 20, 10, 50, 60, 40};
int n = sizeof(a) / sizeof(a[0]);
quick_sort(a, 0, n - 1);
return 0;
}
Output :
SOAL KUIS ( nomor 3 dan 4 )
3. Diketahui suatu array a[ ] = {40, 60, 30, 50, 10, 20} , Buatlah program untuk mencari data
pada Array tersebut, tampilkan pesan “data ditemukan” jika data yang dicari tersebut ada,
dan tampilkan pesan “data tidak ditemukan” jika data yg dicari tidak ada pada Array
tersebut. Gunakan algoritma Binary search dan Algoritma bubble sort pada soal ini.
Program :
#include <stdio.h>
if (arr[mid] == x)
return mid;
if (arr[mid] > x)
return binarySearch(arr, l, mid - 1, x);
return -1;
}
int main()
{
int arr[] = {40, 60, 30, 50, 10, 20};
int n = sizeof(arr) / sizeof(arr[0]);
return 0;
}
Output :
4. Diketahui suatu array a[ ] = {40, 60, 50, 10, 20} , Buatlah program untuk mencari nilai 30
pada Array tersebut, tampilkan pesan “data tidak ditemukan” jika data tersebut tidak ada
pada array. kemudian insert nilai 30 kedalam array tersebut pada indek2. kemudian ulangi
pencarian nilai 30 pada array tersebut. Dan tampilkan pesan “data ditemukan, data berada
pada indeks 2” ( jika data yang dicari tersebut ada}. Gunakan algoritma linear search pada
soal ini. Elemen pada array di inputkan saat program berjalan ( lewat keyboard), demikian
juga nilai yang ingin dicari dan nilai yang ingin di insert.
Program :
#include <stdio.h>
if (arr[mid] == x)
return mid;
if (arr[mid] > x)
return binarySearch(arr, l, mid - 1, x);
return -1;
}
int main()
{
int arr[] = {40, 60, 30, 50, 10, 20};
int n = sizeof(arr) / sizeof(arr[0]);
return 0;
}
Output :