Sorting
merupakan suatu proses untuk menyusun kembali humpunan obyek menggunakan aturan
tertentu. Sorting disebut juga sebagai suatu algoritma untuk meletakkan
kumpulan elemen data kedalam urutan tertentu berdasarkan satu atau beberapa
kunci dalam tiap-tiap elemen. Pada dasarnya ada dua macam urutan yang biasa
digunakan dalam suatu proses sorting:
1. Urut naik
(ascending)
Mengurutkan dari data yang mempunyai nilai paling kecil sampai
paling besar
2. Urut
turun (descending)
Mengurutkan dari data yang mempunyai nilai paling besar sampai paling kecil.
Mengapa
harus melakukan sorting data? Ada banyak alasan dan keuntungan dengan
mengurutkan data. Data yang terurut mudah untuk dicari, mudah untuk diperiksa,
dan mudah untuk dibetulkan jika terdapat kesalahan. Data yang terurut dengan
baik juga mudah untuk dihapus jika sewaktu-waktu data tersebut tidak diperlukan
lagi. Selain itu, dengan mengurutkan data maka kita semakin mudah untuk
menyisipkan data atapun melakukan penggabungan data.
Metode-metode
sorting meliputi:
1. Insertion
Sort (Metode Penyisipan)
2. Selection Sort (Metode Seleksi)
3. Bubble sort(Metode Gelembung)
4. Shell Sort (Metode Shell)
5. Quick Sort (Metode Quick)
6. Merge Sort (Metode Penggabungan)
Disini saya membahas Bubble Sort, Quick Sort dan Merge Sort
selebihnya kalian bisa mencari di refrensi lainnya. Dan disini saya membahas Bubble Sort
di blog ini dan yang Quick Sort dan Merge Sort di blog selanjutnya agar
memudahkan kalian para pembaca.
Bubble Sort ini merupakan
proses pengurutan yang secara berangsur-angsur berpindah ke posisi yang tepat
karena itulah dinamakan Bubble yang artinya gelembung. Algoritma ini akan mengurutkan
data dari yang terbesar ke yang terkecil (ascending) atau sebaliknya (descending).
Secara
sederhana, bisa didefenisikan algoritma Bubble Sort adalah pengurutan
dengan cara pertukaran data dengan data disebelahnya secara terus menerus
sampai dalam satu iterasi tertentu tidak ada lagi perubahan.
Contoh :
Inputkan banyaknya data
yang akan dilakukan sorting (max. 10). Inputkan data sesuai dengan banyaknya
data yang diminta, kemudian urutkanlah data secara ascending dan descending
Bubble sort ascending
Program :
#include<iostream>
#include<conio.h>
using namespace
std;
int data[10];
int n;
int main()
{
int i, j,
tmp;
cout<<"---------------------------------------------"<<endl;
cout<<"BUBBLE
SORT ASCENDING"<<endl;
cout<<"---------------------------------------------"<<endl;
cout<<"INPUTKAN
BANYAKNYA DATA : ";
cin>>n;
cout<<"---------------------------------------------"<<endl;
for(i=0;
i<n; i++)
{
cout<<"INPUTKAN
BILANGAN KE-["<<(i+1)<<"] : ";
cin>>data[i];
}
cout<<"---------------------------------------------"<<endl;
cout<<"DATA
YANG DIINPUTKAN : "<<endl;
for(i=0;
i<n; i++)
{
cout<<data[i]<<"
";
}
cout<<endl<<"---------------------------------------------"<<endl;
for(i=0;
i<n; i++)
{
for(j=i+1;
j<n; j++)
{
if(data[i]>data[j])
{
tmp =
data[i];
data[i] =
data[j];
data[j] =
tmp;
}
}
}
cout<<"DATA
SETELAH DIURUTKAN SECARA ASCENDING : "<<endl;
for(i=0;
i<n; i++)
{
cout<<data[i]<<"
";
}
cout<<endl<<"---------------------------------------------"<<endl;
cout<<"BUBBLE
SORT SELESAI !"<<endl;
cout<<"---------------------------------------------"<<endl;
getch();
}
hasil running :
ascending |
Bubble sort
descending
Program :
#include<iostream>
#include<conio.h>
using namespace
std;
int
data[10];
int n;
int main()
{
int i, j,
tmp;
cout<<"---------------------------------------------"<<endl;
cout<<"BUBBLE
SORT DESCENDING"<<endl;
cout<<"---------------------------------------------"<<endl;
cout<<"INPUTKAN
BANYAKNYA DATA : ";
cin>>n;
cout<<"---------------------------------------------"<<endl;
for(i=0;
i<n; i++)
{
cout<<"INPUTKAN
BILANGAN KE-["<<(i+1)<<"] : ";
cin>>data[i];
}
cout<<"---------------------------------------------"<<endl;
cout<<"DATA
YANG DIINPUTKAN : "<<endl;
for(i=0;
i<n; i++)
{
cout<<data[i]<<"
";
}
cout<<endl<<"---------------------------------------------"<<endl;
for(i=0;
i<n; i++)
{
for(j=i+1;
j<n; j++)
{
if(data[i]<data[j])
{
tmp =
data[i];
data[i] =
data[j];
data[j] =
tmp;
}
}
}
cout<<"DATA
SETELAH DIURUTKAN SECARA DESCENDING : "<<endl;
for(i=0;
i<n; i++)
{
cout<<data[i]<<"
";
}
cout<<endl<<"---------------------------------------------"<<endl;
cout<<"BUBBLE
SORT SELESAI !"<<endl;
cout<<"---------------------------------------------"<<endl;
getch();
}
hasil running :
descending |
SEKIAN MATERI SORTING BUBLE SORT DARI SAYA JIKA ADA KEKURANGAN SAYA MOHON MAAF
Sumber :
Materi
Dari Buku Algoritma Pemrograman Menggunakan C++ : Abdul Kadir dan Coding dari
Dosen Praktikum Struktur Data : IB Ketut Surya Arnawa, S.Kom.
0 Komentar