Rabu, 18 Mei 2016

Selection Sort [Tugas Bulan ke-3]

Assalamu'alaikum Warohmatullohi Wabarokatuh...

Bismillah..Alhamdulillah, sholawat serta salam buat Nabi Muhammad -shallallahu'alaihi wasallam-

Pada Kesempatan kali ini saya akan memposting pengembangan algoritma tentang selection sort.
Oke cekidot.

Mengurutkan Bilangan dengan Metode Selection Sort

  1. Identifikasi Masalah
    Permasalahannya adalah dalam suatu array, isi bilangannya tidak urut dari bilangan terkecil ke bilangan terbesar.
  2. Menentukan Input & Output
    Input :
    n (banyak data)
    a[] (sebanyak n)

    Output:
    a[](data yang sudah urut)

  3. Membuat Flowchart

  4. Test Menggunakan Data
    Input:
    n = 8
    a[1]=8
    a[2]=4
    a[3]=7
    a[4]=3
    a[5]=1
    a[6]=2
    a[7]=6
    a[8]=5

    Output:
    a[1]=1
    a[2]=2
    a[3]=3
    a[4]=4
    a[5]=5
    a[6]=6
    a[7]=7
    a[8]=8
  5. Implementasi di C++
    #include <iostream>
    using namespace std;
    
    void baca_data(int A[], int n)
    { int i;
    for (i = 0; i < n; i++)
    { cout << "Masukkan data ke-"<<i+1<<" : ";
    cin >> A[i];
    }
    }
    void cetak_data(const int A[], int n)
    { int i;
    for (i = 0; i < n; i++)
    cout <<A[i]<<" ";
    cout <<"\n";
    }
    void tukar (int *a, int *b)
    { int temp;
    temp = *a;
    *a = *b;
    *b = temp;
    }
    void minimum(int A[], int dari, int n, int * tempat)
    { int i, min;
    min = A[dari];
    *tempat = dari;
    for (i = dari+1; i<n; i++)
    if (A[i] < min)
    { min = A[i];
    *tempat = i;
    }
    }
    
    void selection_sort(int A[], int n)
    { int i, t;
    for (i = 0; i<n; i++)
    { minimum(A, i, n, &t);
    tukar(&A[i], &A[t]);
    }
    }
    main() {
    int data[10], n;
    cout<< "\t\tSELECTION SORT"<<endl<<endl;
    cout<< "Masukkan Banyak Data = ";
    cin >> n;
    baca_data(data,n);
    cout<<"Data Awal : ";
    cetak_data(data,n);
    selection_sort(data,n);
    
    cout<<"Setelah diurutkan : ";
    cetak_data(data,n);
    return 0;
    }   
    
  6. Hasil Eksekusi
    hasil eksekusi
    Setelah di eksekusi ternyata hasilnya sama dengan test menggunakan data.

    Lama waktu pengerjaan  4 jam 25 menit

    Bubble Sort - Luthfi Ryanto
    Insertion Sort - Izu Tolandona

0 komentar:

Posting Komentar