Sorting Bubble Sort





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.












Posting Komentar

0 Komentar

Link list