Contoh Program Exchange Sort C++ dengan fitur Estimasi waktu proses Sorting


Berikut adalah contoh program sorting dengan C++ yang menggunakan metode Exchange Sort. Agak berbeda dengan yang ada pada umumnya, di source code ini aku tambahkan script yang dapat mengukur lamanya waktu saat proses Sorting, tentunya dengan data yang tidak sedikit baru estimasi / alokasi waktunya terlihat berapa detik proses sorting tersebut berlangsung.

#include<iostream>
#include<time.h>

/* =====================================
Program Sorting Data - Exchange Sort
- Rendra Kurniawan ( 06.2009.1.04900 )
========================================*/

using namespace std;

int main(int argc, char *argv[]){
    int nInput, i=0, j;
    cout << "Berapa banyak inputan angka yang Anda ingin input ? ";
    cin >> nInput;
    // cek apakah yang diinput benar angka
    if(!cin.fail()){
        int kumpulanAngka[nInput];
        int tempKumpulanAngka[nInput];
        int swapExchange;
        time_t awal, akhir;

        // proses input data dan simpan data
        for(i;i<nInput;i++){
            cout << "\nMasukkan angka ke - " << (i+1) << " : ";
            cin >> kumpulanAngka[i];
            if(cin.fail()){
                kumpulanAngka[i] = 0;
            }
            tempKumpulanAngka[i] = kumpulanAngka[i];
        }

        // proses sorting dengan metode exchange sort
        awal = time(NULL);
        for(i=0;i<nInput;i++){
            for(j=(i+1);j<nInput;j++){
                if(kumpulanAngka[i]>kumpulanAngka[j]){
                    swapExchange = kumpulanAngka[j];
                    kumpulanAngka[j] = kumpulanAngka[i];
                    kumpulanAngka[i] = swapExchange;
                }
            }
        }
        akhir = time(NULL);

        double lamaWaktu = akhir - awal;

        cout <<endl<<endl << "Kumpulan data sebelum diurutkan : "<<endl;
        for(i=0;i<nInput;i++){
            cout << tempKumpulanAngka[i] << " ";
        }
        cout <<endl<<endl << "Kumpulan data setelah diurutkan : "<<endl;
        for(i=0;i<nInput;i++){
            cout << kumpulanAngka[i] << " ";
        }
        cout <<endl<<endl << "Lama waktu yang dibutuhkan sorting sekitar " << lamaWaktu << " detik";
        cout <<endl<<endl;
    }else{
        cout << "Maaf, inputan harus berupa angka";
    }
    system("pause");
    return EXIT_SUCCESS;
}

Mari Berdiskusi Bersama

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s