Ini blogku...Selamat datang

Jumat, 07 Maret 2014

Selection Short

Selection Short???

Apa itu selection short?
Selection short yaitu mencari elemen yang tepat untuk diletakkan di posisi yang telah diketahui, dan meletakkannya di posisi tersebut setelah data tersebut ditemukan,
Perbedaannya dengan Bubble Short?
"Menurut pendapat saya "
Kalau Bubble short itu mengurutan dengan cara melakukan penukaran data dengan tepat di sebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut. Jadi membutuhkan waktu yg sangat lama dan sangat tidak cocok untuk data yang berskala besar.
Sedangkan Selection Short itu mengurutan dengan cara mencari data yang terkecil kemudian menukarkannya dengan data yang digunakan sebagai acuan atau sering dinamakan pivot. Sehingga waktu yang digunakan tidak terlalu lama.
Algoritma nya seperti apa ?
Ø  Temukan nilai yang paling minimum di dalam struktur data. Jika ascending, maka yang harus ditemukan adalah nilai yang paling minimum. Jika descending, maka temukan nilai yang paling maksimum.
Ø  Tukar nilai tersebut dengan nilai pada posisi pertama di bagian struktur data yang belum diurutkan.
Ø  Ulangi langkah di atas untuk bagian struktur data yang tersisa.

Berikut Contoh Kodingan nya (c++)


#include <iostream>
#include <conio.h>

using namespace std;
int main()
{
    int i,j,n,data[10],simpan,min,posisi;

    cout <<"\tTugas Selection Short";
    cout<<"\n\tIndah Zalika";
    cout<<"\n\t09031181320020";

    char ulang='Y';
    while (ulang=='Y'){

   cout<<"\n\nMasukkan banyak data(Max 10): ";
   cin>>n;


   for(i=1;i<=n;i++)
   {
    cout<<"Data Ke- "<<i<<" = ";
    cin>>data[i];
   }
   for(i=1;i<=n;i++)
   {
    for(j=i+1;j<=n;j++)
      {
            if(data[i]>data[j])
         {
            simpan=data[i];
            data[i]=data[j];
            data[j]=simpan;
         }
      }
   }
   cout<<"Data setelah Diurutkan: ";
   for(i=1;i<=n;i++)
    cout<<data[i]<<" ";
    cout << "\n\n\nApakah Anda Ingin Kembali (Y/N)?     :";
    cin  >> ulang;

    }

return 0;
}


Note :for yang pertama digunakan untuk mengambil nilai dan for yang kedua digunakan untuk membandingan dengan nilai selain yang di ambil oleh for yang pertama setelah for kedua nilai akan ditukar

Tidak ada komentar:

Posting Komentar