Pengurutan/Sorting

Mengurutkan 3 Bilangan

1. Tanpa array
Notasi Algoritma:
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

Postingan populer dari blog ini

Microsoft PowerPoint