INFORMASI TEKNOLOGI

Terima kasih Telah Mengunjungi Blog Ini. Semoga Informasi Dalam Blog Ini Bermanfaat. By info-inteknologi.blogspot.com

INFORMASI TEKNOLOGI

Terima kasih Telah Mengunjungi Blog Ini. Semoga Informasi Dalam Blog Ini Bermanfaat. By info-inteknologi.blogspot.com

INFORMASI TEKNOLOGI

Terima kasih Telah Mengunjungi Blog Ini. Semoga Informasi Dalam Blog Ini Bermanfaat. By info-inteknologi.blogspot.com

INFORMASI TEKNOLOGI

Terima kasih Telah Mengunjungi Blog Ini. Semoga Informasi Dalam Blog Ini Bermanfaat. By info-inteknologi.blogspot.com

INFORMASI TEKNOLOGI

Terima kasih Telah Mengunjungi Blog Ini. Semoga Informasi Dalam Blog Ini Bermanfaat. By info-inteknologi.blogspot.com

Senin, 16 Mei 2016

Program Sorting Dengan Metode Selection

Selection Sort merupakan salah satu algoritma pengurutan yang sederhana. Ide dasarnya adalah melakukan beberapa kali pass untuk melakukan penyeleksian elemen struktur data. Untuk sorting ascending (menaik), elemen yang paling kecil di antara elemen-elemen yang belum urut, disimpan indeksnya, kemudian dilakukan pertukaran nilai elemen dengan indeks yang disimpan tersebut dengan elemen yang paling depan yang belum urut. Sebaliknya, untuk sorting descending (menurun), elemen yang paling besar yang disimpan indeksnya kemudian ditukar.

cara kerjanya adalah sebagai berikut:

1. Menginputkan banyaknya jumlah data.
2. Kemudian Proses kerja programnya adalah sebagai berikut.
  1. Mencari nilai minimum (jika ascending) atau maksimum (jika descending) dalam sebuah list
  2. Menukarkan nilai ini dengan elemen pertama list
  3. Mengulangi langkah di atas untuk sisa list dengan dimulai pada posisi kedua
3. setelah itu hasil akhirnya adalah hasil minimum ke makasimum.


Dengan Dev C++ :

#include <iostream>
#include <cstdlib> 
using namespace std; 
void baca_data(int A[], int n)
{ int i;
 for (i=0;i<n;i++){
   cout << "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]);
 }
}
int main(int argc, char** argv) {
    int data[10], n; 
    cout << "Banyak data : ";
    cin >> n;
    baca_data(data,n);
    cetak_data(data,n);
    selection_sort(data,n);
    cetak_data(data,n); 
return 0;
}


Berikut Hasil Compilenya :



Algoritma :

Deklarasi
       i, t : integer
Deskripsi
      for i <-- 1 to n do
            minimum(A, i, n, t);
            tukar(A[i], A[t]); {tukar tempat elemen saat ini j dengan elemen terkecil yang ditemukan t}

    endfor

0 komentar:

Posting Komentar