SHORTING
A.
PENEGERTIAN SORTING
Sorting adalah proses
mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek
tersebut dapat menaik atau disebut juga ascending (dari data kecil ke data
lebih besar) ataupun menurun/descending(dari data besar ke data kecil).
B.
METODE SHORTING
Metode Shorting yaitu:
- Bubble Sort / Pengurutan Gelembung
- Selection Sort/Pengurutan Maksimum-minimum
- Insertion Sort/Pengurutan sisip
1.Bubble
sort
pengurutan gelembung ini merupakan suatu metode pengurutan
gelembung yang diinspirasi oleh gelembung sabun yang ada di dalam permukaan
air, karena berat jenis gelembung sabun lebih ringan daripada berat jenis air
maka gelembung sabun akan selalu megapung. Prinsip pengapungan ini juga dipakai
pada pengurutan gelembung.
Contoh
dari buble sort:
#include <iostream.h>
#include <conio.h> main(){ int nilai[‘n’]; int temp; int n; cout<<“Banyak Data: “; cin>>n; cout<<endl; for (int a=1; a<=n; a++){ cout<<“nilai[“<<a<<“]: “; cin>>nilai[a]; } cout<<“\n\n”; cout<<“Data Sebelum diurutkan”<<endl; for(int a=1; a<=n; a++){ cout<<nilai[a]<<” “; } for(int a=n-1; a>=1; a–){ for(int b=1; b<=a; b++){ if(nilai[b]>nilai[b+1]){ temp=nilai[b+1]; nilai[b+1]=nilai[b]; nilai[b]=temp; } } } cout<<“\n\nData Setelah Diurutkan (Ascending)”<<endl; for (int a=1; a<=n; a++){ cout<<nilai[a]<<” “;}
cout<<“\n\n”;
cout<<“\n\nData Setelah Diurutkan (Descending)”<<endl; for (int a=n; a>=1; a–){ cout<<nilai[a]<<” “;} getch(); } |
2.
Selection Sort / Pengurutan Maksimum-Minimum
Metode pengurutan ini didasarkan pada pemilihan elemen
maksimum atau minimum kemudian mempertukarkan elemen maksimum-minimum tersebut
dengan elemen terujung larik (elemen ujung kiri atau elemen ujung kanan),
selanjutnya elemen terujung itu kita “isolasi” dan tidak diikut sertakan pada
proses selanjutnya. Karena proses utama dalam pengurutan adalah pemilihan
elemen maksimum/minimum, maka metode ini disebut metode pemilihan ( selection)
contoh dari selection sort:
#include
<iostream.h>
#include <conio.h> #include <iomanip.h>
int
main(){
//deklarasi array dengan 7 elemen int A[7]; int j,k,i,temp; int jmax,u=6;
//memasukkan
nilai sebelum diurutkan
cout<<“Masukkan nilai pada elemen array :”<<endl; for(i=0;i<7;i++) { cout<<“A[“<<i<<“]=”; cin>>A[i]; } //Proses pengurutan secara menaik (Ascending) for(j=0;j<7;j++) { jmax=0; for(k=1;k<=u;k++) if (A[k] > A[jmax]) jmax=k; temp=A[u]; A[u]=A[jmax]; A[jmax]=temp; u–; } //menampilkan nilai setelah diurutkan cout<<“\nNilai setelah diurutkan =”<<endl; for(i=0;i<7;i++) cout<<A[i]<<” “; getch();
}
|
3. Insertion
Sort
pengurutan
sisip adalah metode pengurutan dengan cara menyisipkan elemen larik pada posisi
yang tepat. Pencarian posisi yang tepat dilakukan dengan pencarian beruntun.
Selama pencarian posisi yang tepat dilakukan pergeseran elemen larik.
Contoh dari insertion Sort:
#include <iostream.h>
#include <stdio.h> #include <conio.h>
main (){
int i,j, b, k, m, n,x,z,ketemu=0; int data[‘n’], temp[100]; cout<<“\n======================\n”<<endl; cout<<“\n—-BELAJAR SORTING—\n”; cout<<“\n======================\n”<<endl; cout<<“Inputkan Banyak Data: “; cin>>n; for(i=0; i<n; i++){ cout<<“Data Ke-“<<i<<” : “; cin>>data[i]; }
cout<<“\n\n”;
cout<<“Data Sebelum diurutkan”<<endl; for(int i=0; i<n; i++){ cout<<i+1<<“.”; cout<<data[i]<<” “; cout<<endl; }
for (i=0; i<n; i++){
for (j=0; j<=i; j++) { if(data[i]<data[j]) { m=data[i]; data[i]=data[j]; data[j]=m; } } cout<<“\n#”<<i<<“: “; for(k=0; k<=i; k++) { cout<<” “<<data[k]; } }
cout<<“\n\n”;
cout<<“\nData Setelah Diurutkan (Ascending):”<<endl; for(i=0; i<n; i++){ cout<<i+1<<” “; cout<<data[i]<<” “<<endl;}
for (i=0; i<n; i++){
for (j=0; j<=i; j++) { if(data[i]>data[j]) { m=data[i]; data[i]=data[j]; data[j]=m; } } cout<<“\n#”<<i<<“: “; for(k=0; k<=i; k++) { cout<<” “<<data[k]; } }
cout<<“\n\n”;
cout<<“\nData Setelah Diurutkan (Descending):”<<endl; for(i=0; i<n; i++){ cout<<i+1<<“.”; cout<<data[i]<<” “<<endl; }
getch();
} |
Tidak ada komentar:
Posting Komentar