6
II. Dasar Teori
1. Pengurutan
2. Metode Pengurutan
1) Bubble Sort
Sesuai dengan namanya “Bubble”, metode ini melakukan proses
pengurutan secara berangsur-angsur bergerak/berpindah ke posisinya yang
tepat, seperti gelembung yang keluar dari gelas bersoda. Bubble sort
mengurutkan data dengan membandingkan nilai pada elemen sekarang dan
elemen berikutnya. Jika kondisi (lebih besar/lebih kecil, tergantung bentuk
urutan yang diinginkan), maka elemen tersebut akan saling bertukar
tempat. Bubble Sort akan berhenti ketika seluruh data sudah terurut.
Metode ini mudah untuk dipahami, namun tidak efisien dalam
penggunaan data yang banyak. Karena akan banyak perluangan yang
dilakukan dalam proses ini.
6
Berikut syntax dari metode bubble sort :
int i,j;
for(i=1; i<max-1; i++){
for(j=max-1; j>=i; j--){
if(data[j-1] > data[j]){
tukar(data[j-1], data[j]);
}
}
}
2) Insertion Sort
Pada metode ini data dicetak satu per satu mulai dari yang kedua
sampai data yang terakhir. Apabila ditemukan data yang sesuai kondisi
pengurutan, maka data tersebut akan disisipkan pada posisi yang sesuai.
Metode ini mirip seperti kita mengurutkan sebuah kartu.
Berikut syntax dari metode insertion sort :
int i,j,x;
for(i=1;i<max;i++){
x = data[i];
j = i-1;
while(x < data[j]){
data[j+1] = data[j];
j--;
}
data[j+1] = x;
}
6
III. Pembahasan
Berikut ini adalah bentuk penulisan algoritma untuk pemecahan masalah dari
Tugas 9 (Pertemuan 10) yang telah diberikan pada modul 8 ini antara lain :
A. Bahasa Natural / Deskriptif
Algoritma Pengurutan_Bubble sort_dan_Insertion
1. Mulai
2. Deklarasi array 1 dimensi bertipe integer bernama umur yang memiliki nilai
6.
3. Cetak / tampilkan ‘Masukkan data’.
4. Lakukan perulangan untuk input umur.
5. Cetak / tampilkan ‘Inputkan Umur’.
6. Lakukan perulangan untuk menampilkan inputan umur.
7. Cetak / tampilkan ‘Bubble sort menaik’.
8. Deklarasikan fungsi perulangan dan if untuk mengurutkan umur yang sudah
diinput dari yang terendah ke tertinggi.
9. Cetak / tampilkan umur yang sudah diurutkan.
10. Cetak / tampilkan ‘Insertion sort menurun’ .
11. Deklarasikan perulangan insertion menurun untuk mengurutkan umur yang
sudah diinput dari yang tertinggi ke terendah.
12. Cetak tampilan umur yang sudah diurutkan.
13. Selesai.
B. Kode Program
#include <iostream>
int main()
{
int umur[6];
cout<<"----Masukkan Data-----\n";
for (int i=0;i<6;i++)
6
{
cout<<"Inputkan Umur "<<i+1<<": ";
cin>>umur[i];
}
cout<<"\n----BUBLE SORT MENAIK----\n";
for(int a=0;a<5;a++)
{
for(int b=1+a;b<6;b++)
{
if (umur[b]<umur[a])
{
int c;
c=umur[a];
umur[a]=umur[b];
umur[b]=c;
}
}
}
for (int d=0;d<6;d++)
{
cout<<"Umur : "<<umur[d]<<endl;
}
6
C. Print Screen Output dari Console
6
Daftar Pustaka