Pengurutan/Sorting
Mengurutkan 3 Bilangan
1. Tanpa array
Notasi Algoritma:
Code C++:
JUDUL : Program urutBil { Program untuk mengurutkan bilangan } |
KAMUS GLOBAL bil_1, bil_2, bil_3 : integer |
DESKRIPSI UTAMA (ALGORITMA) output("Masukkan bilangan ke-1, 2, dan 3 : ") input(bil_1) input(bil_2) input(bil_3) if (bil_1 < bil_2 and bil_1 < bil_3) then if (bil_2 < bil_3) then ouput(bil_1) ouput(' ') ouput(bil_2) ouput(' ') ouput(bil_3) else ouput(bil_1) ouput(' ') ouput(bil_3) ouput(' ') ouput(bil_2) endif else if (bil_2 < bil_1 and bil_2 < bil_3) then if (bil_1 < bil_3) then ouput(bil_2) ouput(' ') ouput(bil_1) ouput(' ') ouput(bil_3) else ouput(bil_2) ouput(' ') ouput(bil_3) ouput(' ') ouput(bil_1) endif else if (bil_2 < bil_1) then ouput(bil_3) ouput(' ') ouput(bil_2) ouput(' ') ouput(bil_1) else ouput(bil_3) ouput(' ') ouput(bil_1) ouput(' ') ouput(bil_2) endif |
Code C++:
//JUDUL: Mengurutkan 3 bilangan #include <iostream> using namespace std; int main(){ //KAMUS int bil_1, bil_2, bil_3; //DESKRIPSI cout << "Masukkan bilangan ke-1, 2, dan 3 : "; cin >> bil_1 >> bil_2 >> bil_3; if(bil_1 < bil_2 && bil_1 < bil_3){ if(bil_2 < bil_3){ cout << bil_1 << ' ' << bil_2 << ' ' << bil_3 << endl; }else{ cout << bil_1 << ' ' << bil_3 << ' ' << bil_2 << endl; } }else if(bil_2 < bil_1 && bil_2 < bil_3){ if(bil_1 < bil_3){ cout << bil_2 << ' ' << bil_1 << ' ' << bil_3 << endl; }else{ cout << bil_2 << ' ' << bil_3 << ' ' << bil_1 << endl; } }else{ if(bil_2 < bil_1){ cout << bil_3 << ' ' << bil_2 << ' ' << bil_1 << endl; }else{ cout << bil_3 << ' ' << bil_1 << ' ' << bil_2 << endl; } } return 0; }
Hasil Code:
Masukkan bilangan ke-1, 2, dan 3 : 34 98 17 17 34 98
2. Dengan array
Notasi Algoritma:
JUDUL : Program minSort { Mengurutkan bilangan dengan minimum sort } |
KAMUS GLOBAL arr : array of integer arr ← < 34, 98, 17 > i, temp, j, min_indeks : integer |
DESKRIPSI UTAMA (ALGORITMA) output(“Mengurutkan bilangan dengan minimum sort”) output(“Sebelum diurutkan: \n”) for i = 0 to jumlah then output(arr[i]) output(“ ”) endfor for i = 0 to 3-1 then min_indeks ← i for j = i+1 to 3 then if (arr[min_indeks] > arr[j]) then min_indeks ← j endif endfor temp ← arr[i] arr[i] ← arr[min_indeks] arr[min_indeks] ← temp endfor output(“Setelah diurutkan: \n”) for i = 0 to jumlah then output(arr[i]) output(“ ”) endfor |
Code C++:
//JUDUL: Mengurutkan bilangan dengan min sort
#include <iostream>
using namespace std;
int main()
{
//KAMUS
int arr[3] = {34, 98, 17};
int i, temp, j, min_indeks;
//DESKRIPSI
cout << "Mengurutkan bilangan dengan minimum sort" << endl;
cout<<"Sebelum diurutkan: \n";
for (int i = 0; i < 3; i++){
cout << arr[i] << " ";
}
cout << endl;
for (i = 0; i < 3-1; i++){
min_indeks = i;
for (j=i+1; j < 3; j++){
if(arr[min_indeks] > arr[j]){
min_indeks = j;
}
}
temp = arr[i];
arr[i] = arr[min_indeks];
arr[min_indeks] = temp;
}
cout<<"Setelah diurutkan: \n";
for (int i = 0; i < 3; i++){
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
Hasil Code:
Mengurutkan bilangan dengan minimum sort
Sebelum diurutkan:
34 98 17
Setelah diurutkan:
17 34 98
3. Dengan function berparameter
Notasi Algoritma:
|
JUDUL : Program minSort { Mengurutkan bilangan dengan minimum sort } |
|
KAMUS GLOBAL arr : array of integer arr ← < 34, 98, 17 > total_array : integer |
|
DESKRIPSI UTAMA (ALGORITMA) output(“Mengurutkan bilangan dengan minimum sort”) total_array ← sizeof(arr) div sizeof(arr[0]) output(“Sebelum diurutkan: \n”) hasil(arr, total_array) min_sort(arr, total_array) output(“Setelah diurutkan: \n”) hasil(arr, total_array) |
|
function nampung(*a, *b : integer) → integer { Fungsi berparameter untuk menampung dan menukar nilai} |
|
KAMUS LOKAL temp : integer |
|
DESKRIPSI (ALGORITMA) temp ← *a *a ← *b *b ← temp return 0 |
|
funtion min_sort(arr: array of integer, n : integer) → integer { Prosedur berparameter array untuk minimum sort }
|
|
KAMUS LOKAL i, j, min_indeks : integer |
|
DESKRIPSI (ALGORITMA) for i = 0 to n-1 then min_indeks ← i for j = i+1 to n then if (arr[j] < arr[min_indeks]) then min_indeks ← j endif endfor nampung(&arr[min_indeks], &arr[i]) endfor return 0 |
|
function hasil(arr: array of integer, jumlah : integer) → integer { Fungsi berparameter untuk mengoutputkan array) } |
|
KAMUS LOKAL i : integer |
|
DESKRIPSI (ALGORITMA) for i = 0 to jumlah then output(arr[i]) output(“ ”) endfor return 0 |
Code C++:
//JUDUL: Mengurutkan bilangan dengan minimum sort #include <iostream> using namespace std; //KAMUS GLOBAL int arr[] = {34, 98, 17}; int total_array; //DESKRIPSI //JUDUL: Fungsi berparameter untuk menampung dan menukar nilai //function nampung(*a, *b : integer) -> integer int nampung(int *a, int *b) { //KAMUS LOKAL: Tidak ada int temp; //DESKRIPSI temp = *a; *a = *b; *b = temp; return 0; } //JUDUL: Fungsi berparameter array untuk minimum sort //function min_sort(arr: array of integer, n : integer) -> integer int min_sort(int arr[], int n) { //KAMUS LOKAL: int i, j, min_indeks; //DESKRIPSI for (i = 0; i < n-1; i++) { min_indeks = i; for (j = i+1; j < n; j++){ if (arr[j] < arr[min_indeks]) min_indeks = j; } nampung(&arr[min_indeks], &arr[i]); } return 0; } //JUDUL: fungsi berparameter untuk mengoutputkan array //function hasil(arr: array of integer, jumlah : integer) -> integer int hasil(int arr[], int jumlah) { //KAMUS LOKAL: Tidak ada //DESKRIPSI for (int i = 0; i < jumlah; i++){ cout << arr[i] << " "; } cout << endl; return 0; } int main() { cout << "Mengurutkan bilangan dengan minimum sort" << endl; total_array = sizeof(arr)/sizeof(arr[0]); cout<<"Sebelum diurutkan: \n"; hasil(arr, total_array); min_sort(arr, total_array); cout<<"Setelah diurutkan: \n"; hasil(arr, total_array); return 0; }
Hasil Code:
Mengurutkan bilangan dengan minimum sort Sebelum diurutkan: 34 98 17 Setelah diurutkan:
17 34 98
Komentar
Posting Komentar