Pengertian Sorting
Dalam arti bahasa sorting adalah penyortiran atau memilih-milih. Pada struktur data Sorting adalah sebuahmetode untuk pengurutan data,
misalnya dari data yang terbesar ke data yang terkecil. Dengan cara
program yang dibuat harus dapat membandingkan antar data yang di
inputkan.
Artinya
jika ada deretan data, maka data yang pertama akan membandingkan dengan
data yang kedua. Jika data yang pertama lebih besar dari pada data yang
kedua maka data yang pertama akan bertukar posisi dengan data yang
kedua, begitu seterusnya sampai benar-benar data terurut dari yang
terbesar hingga yang terkecil.
Metode sorting sangat banyak dan berkembang ada
· Selection Sort
· Insertion sort
· dll
pengertian selection short:
adalah tehnik pengurutan dengan cara memilih elemen atau proses kerja dengan cara memilih elemen terkecil untuk kemudian dibandingkan & ditukarkan dengan elemen data awal dab seterusnya sampai dengan seluruh elemen,sehingga akan menghasilkan pola data yang telah di short.
perinsip kerja selection short:
1. Pengecekan dimulai data ke-1 sampai
dengan data ke-n
2. Tentukan bilangan dengan Index terkecil
dari data bilangan tersebut
Prinsip Kerja dari Teknik Selection Sort ini
adalah :
3. Tukar bilangan dengan Index terkecil
tersebut dengan bilangan pertama ( I = 1 )
dari data bilangan tersebut
4. Lakukan langkah 2 dan 3 untuk bilangan
berikutnya ( I= I+1 ) sampai didapatkan
urutan yg optimal.
contoh program :
adalah tehnik pengurutan dengan cara memilih elemen atau proses kerja dengan cara memilih elemen terkecil untuk kemudian dibandingkan & ditukarkan dengan elemen data awal dab seterusnya sampai dengan seluruh elemen,sehingga akan menghasilkan pola data yang telah di short.
perinsip kerja selection short:
1. Pengecekan dimulai data ke-1 sampai
dengan data ke-n
2. Tentukan bilangan dengan Index terkecil
dari data bilangan tersebut
Prinsip Kerja dari Teknik Selection Sort ini
adalah :
3. Tukar bilangan dengan Index terkecil
tersebut dengan bilangan pertama ( I = 1 )
dari data bilangan tersebut
4. Lakukan langkah 2 dan 3 untuk bilangan
berikutnya ( I= I+1 ) sampai didapatkan
urutan yg optimal.
contoh program :
#include
<iostream>
#include <conio.h>
int main(void)
{
int array[5];
int length = 5;
int i, j;
int firstelement, temp;
for (i = 0; i < length; i++)
{
cout << "Masukkan Antrian: ";
cin >> array[i];
}
for (i= length - 1; i > 0; i--)
{
firstelement = 0;
for (j=1; j<=i; j++)
{
if (array[j] < array[firstelement])
firstelement = j;
}
temp = array[firstelement];
array[firstelement] = array[i];
array[i] = temp;
}
for (i = 0; i < 5; i++)
{
cout << array[i] << endl;
}
getch();
}
#include <conio.h>
int main(void)
{
int array[5];
int length = 5;
int i, j;
int firstelement, temp;
for (i = 0; i < length; i++)
{
cout << "Masukkan Antrian: ";
cin >> array[i];
}
for (i= length - 1; i > 0; i--)
{
firstelement = 0;
for (j=1; j<=i; j++)
{
if (array[j] < array[firstelement])
firstelement = j;
}
temp = array[firstelement];
array[firstelement] = array[i];
array[i] = temp;
}
for (i = 0; i < 5; i++)
{
cout << array[i] << endl;
}
getch();
}
contoh:
1. Buatlah listing program untuk mengurutkan data secara descending menggunakan selection sort
Contoh listing programnya :
1. Buatlah listing program untuk mengurutkan data secara descending menggunakan selection sort
Contoh listing programnya :
#include<iostream.h>
#include<conio.h>
#define batas 50
int i, j, tukar,
max, bil[batas];
void temp(n)
{
for(n=0; n<max; n++)
{
cout<<bil[n]<<ends;
}
getch();
}
void main()
{
cout<<"SELECTION
SORT"<<endl<<endl;
cout<<"MASUKKAN BANYAKNYA DATA
: ";
cin>>max;
cout<<endl;
for(i=0; i<max; i++)
{
cout<<"INPUTKAN BILANGAN KE-
"<<(i+1)<<" : ";
cin>>bil[i];
}
for(i=0; i<max-1; i++)
{
for(j=i+1; j<max; j++)
if(bil[j]>bil[i])
{
tukar=bil[i];
bil[i]=bil[j];
bil[j]=tukar;
}
cout<<endl<<endl<<"PASS :";
temp(i);
}
cout<<endl<<endl<<"HASIL SORTING :";
for(i=0; i<max; i++)
{
cout<<bil[i]<<ends;
}
getch();
}
Insertion Sort (Metode Penyisipan)
contoh program :- Insertion Sort merupakan algoritma yang efisien untuk mengurutkan angka
yang mempunyai jumlah elemen sedikit. Dimana:- Input : deretan angka sejumlah n buah
- Output : permutasi (pengurutan) sejumlah n angka dari input yang sudah terurut secara ascending maupun descending
- Metode penyisipan (Insertion sort) bertujuan untuk menjadikan bagian sisi kiri array terurutkan sampai dengan seluruh array berhasil diurutkan.
- Metode ini mengurutkan bilangan-bilangan yang telah dibaca; dan berikutnya secara
berulang akan menyisipkan bilangan-bilangan dalam array yang belum terbaca ke sisi kiri array yang telah terurut. - Insertion Sort bekerja seperti banyak orang yang sedang mengurutkan kartu di tangan. Dimulai dengan tangan kiri yang kosong dan kartunya tertumpuk di meja. Selanjutnya kita ambil satu persatu kartu di meja dan diletakkan di tangan kiri dengan posisi yang benar (terurut). Untuk menemukan posisi yang banar, maka kita harus membandingkan satu persatu kartu yang ada (di tangan kiri) secara berurutan.
Contoh
Listening Program C++
|
#include
<iostream>
#include
<conio.h>
int data[10],data2[10];
int n;
void tukar(int a, int
b)
{
int t;
t = data[b];
data[b] =
data[a];
data[a] = t;
}
void insertion_sort()
{
int temp,i,j;
for(i=1;i<=n;i++)
{
temp = data[i];
j = i -1;
while(data[j]>temp && j>=0)
{
data[j+1]
= data[j];
j--;
}
data[j+1] = temp;
}
}
int main()
{
cout<<"\t\t\t===PROGRAM
INSERTION SORT===\n\n"<<endl;
//Input Data
cout<<"Masukkan
Jumlah Data : ";
cin>>n;
cout<<"\n";
for(int
i=1;i<=n;i++)
{
cout<<"Masukkan data ke "<<i<<" : ";
cin>>data[i];
data2[i]=data[i];
}
insertion_sort();
cout<<"\n\n";
//tampilkan data
cout<<"Data
Setelah di Sort : ";
for(int i=1;
i<=n; i++)
{
cout<<" "<<data[i];
}
cout<<"\n\nSorting
Selesai";
getch();
}
|