Assalamualaikum wr.wb
Disini saya akan menjabarkan Pengertian Bubble sort dan contoh program mengurutkan nilai
Bubble Sort
Bubble sort merupakan salah satu jenis sorting. Bubble sort ada metode
sorting termudah. Diberikan nama “bubble” karena konsep dari
algoritmanya diibaratkan seperti gelembung air untuk elemen struktur
data yang seharusnya pada posisi awal. Bubble sort mengurut data dengan
cara membandingkan elemen sekarang dengan elemen berikutnya. Dimana
cara kerjanya adalah dengan berulang-ulang melakukan proses looping (
perulangan) terhadap elemen-elemen struktur data yang belum diurutkan.
Nilai dari masing-masing elemen akan dibandingkan selama proses looping
tersebut .jika selama proses looping tersebut ditemukan ada urutannya
tidak sesuai dengan permintaan, maka akan dilakukan proses pemukaran
(swap). Sesungguhnya secara tidak langsung, algoritma dari program ini
seolah-olah menggeser satu demi satu elemen dari kanan ke kiri atau dari
kiri ke kanan tergantung pada jenis pengurutannya. Perlu diketahui,
jenis pengurutan sorting ada 2 yaitu asscending dan descending. Dimana
asscending itu mengurut data dari kecil ke besar dan descending itu
mengurut data dari besar ke kecil. Jika semua elemen sudah diperiksa
oleh fungsi bubble sort, dan tidak ada pertukaran lagi atau semua nilai
sudah sesuai, maka saat itu program bubble sort akan berhenti bekerja.
Misalkan jika ada data 22 10 15 3 8 2. Data tersebut masih dalam
keadaan acak. Maka ilustrasi pengurutan dengan bubble sortnya akan
terlihat seperti pada table dibawah ini :
LANGKAH 1 :
1 2 3 4 5 6 POSISI DATA
22 10 15 3 8 2 Data Awal
22 10 15 3 2 8 tukar data 5 dengan 6
22 10 15 2 3 8 tukar data 4 dengan 3
22 10 2 15 3 8 tukar data 3 dengan 2
22 2 10 15 3 8 tukar data 2 dengan 1
2 22 10 15 3 8 LANGKAH 1 SELESAI
LANGKAH 2 :
1 2 3 4 5 6 POSISI DATA
2 22 10 15 3 8 Data Langkah 1 Akhir
2 22 10 3 15 8 tukar data 4 dengan 3
2 22 3 10 15 8 tukar data 3 dengan 2
2 3 22 10 15 8 LANGKAH 2 SELESAI
LANGKAH 3 :
1 2 3 4 5 6 POSISI DATA
2 3 22 10 15 8 Data Langkah 2 Akhir
2 3 22 10 8 15 tukar data 5 dengan 6
2 3 22 8 10 15 tukar data 4 dengan 3
2 3 8 22 10 15 LANGKAH 3 SELESAI
LANGKAH 4 :
1 2 3 4 5 6 POSISI DATA
2 3 8 22 10 15 Data Langkah 3 Akhir
2 3 8 22 10 15 tukar data 5 dengan 4
2 3 8 10 22 15 LANGKAH 4 SELESAI
LANGKAH 5 :
1 2 3 4 5 6 POSISI DATA
2 3 8 10 22 15 Tukar data 5 dengan 6
2 3 8 10 15 22 TERURUT
Berikut Adalah Contoh Program bubble sort
Dan Berikut ini Hasilnya..
sumber : Wikipedia dan aioaeoaiueo
Kamis, 20 Februari 2014
Kamis, 13 Februari 2014
Binary Search
Binary Search / Pencarian Biner
Binary Search adalah algoritma pencarian yang lebih efisien daripada algorima Sequential Search. Hal ini dikarenakan algoritma ini tidak perlu menjelajahi setiap elemen dari tabel. Kerugiannya adalah algoritma ini hanya bisa digunakan pada tabel yang elemennya sudah terurut baik menaik maupun menurun.
Sebuah algoritma pencarian biner (atau pemilahan biner) adalah sebuah teknik untuk menemukan nilai tertentu dalam sebuah larik (array) linear, dengan menghilangkan setengah data pada setiap langkah, dipakai secara luas tetapi tidak secara ekslusif dalam ilmu komputer. Sebuah pencarian biner mencari nilai tengah (median), melakukan sebuah pembandingan untuk menentukan apakah nilai yang dicari ada sebelum atau sesudahnya, kemudian mencari setengah sisanya dengan cara yang sama. Sebuah pencarian biner adalah salah satu contoh dari algoritma divide and conquer (atau lebih khusus algoritma decrease and conquer) dan sebuah pencarian dikotomi (lebih rinci di Algoritma pencarian).
Contoh Programnya :
#include
#include
int binary_search(int array[],int size, int elemen);
void main()
{
const int size = 10;
int array[size]={0,6,9,12,20,23,29,32,47,79};
cout<<"Isi dari array: "<>elemen;
cout<<"\n\n";
tanda= binary_search(array,size,elemen);
if (tanda!=-1)
cout<<"Data "<array[middle])
start=middle+1;
middle=(start+end)/2;
}
while(start<=end && array[middle]!=elemen);
if(array[middle]==elemen)
posisi=middle;
return posisi;
}
Original Source : http://blog.creanivate.com/2010/08/contoh-binary-search-dalam-c.html
Copyright blog.creanivate.com
Original Source : http://blog.creanivate.com/2010/08/contoh-binary-search-dalam-c.html
Copyright blog.creanivate.com
#include
#include
int binary_search(int array[],int size, int elemen);
void main()
{
const int size = 10;
int array[size]={0,6,9,12,20,23,29,32,47,79};
cout<<"Isi dari array: "<>elemen;
cout<<"\n\n";
tanda= binary_search(array,size,elemen);
if (tanda!=-1)
cout<<"Data "<array[middle])
start=middle+1;
middle=(start+end)/2;
}
while(start<=end && array[middle]!=elemen);
if(array[middle]==elemen)
posisi=middle;
return posisi;
}
Original Source : http://blog.creanivate.com/2010/08/contoh-binary-search-dalam-c.html
Copyright blog.creanivate.com
#include <iostream.h>Original Source : http://blog.creanivate.com/2010/08/contoh-binary-search-dalam-c.html
Copyright blog.creanivate.com
#include <conio.h>
int binary_search(int array[],int size, int elemen);
void main()
{
const int size = 10;
int array[size]={0,6,9,12,20,23,29,32,47,79};
cout<<"Isi dari array: "<<endl;
for(int i=0;i<size;i++)
cout<<" "<<array[i];
int elemen;
int tanda;
cout<<"\n\n";
cout<<"Masukkan data yang dicari: ";
cin>>elemen;
cout<<"\n\n";
tanda= binary_search(array,size,elemen);
if (tanda!=-1)
cout<<"Data "<<elemen<<" ditemukan pada posisi : array["<<
tanda<<"],"<<" atau deret ke-"<<(tanda+1);
else
cout<<"\n data tersebut tidak ditemukan ";
getch();
}
int binary_search(int array[],int size,int elemen)
{
int start=0;
int end=size - 1;
int middle;
int posisi=-1;
middle=(start + end ) / 2;
do
{
if(elemen<array[middle])
end=middle-1;
else if (elemen>array[middle])
start=middle+1;
middle=(start+end)/2;
}
while(start<=end && array[middle]!=elemen);
if(array[middle]==elemen)
posisi=middle;
return posisi;
}
Terima kasih
#include
#include
int binary_search(int array[],int size, int elemen);
void main()
{
const int size = 10;
int array[size]={0,6,9,12,20,23,29,32,47,79};
cout<<"Isi dari array: "<>elemen;
cout<<"\n\n";
tanda= binary_search(array,size,elemen);
if (tanda!=-1)
cout<<"Data "<array[middle])
start=middle+1;
middle=(start+end)/2;
}
while(start<=end && array[middle]!=elemen);
if(array[middle]==elemen)
posisi=middle;
return posisi;
}
Original Source : http://blog.creanivate.com/2010/08/contoh-binary-search-dalam-c.html
Copyright blog.creanivate.c
Original Source : http://blog.creanivate.com/2010/08/contoh-binary-search-dalam-c.html
Copyright blog.creanivate.c
#include
#include
int binary_search(int array[],int size, int elemen);
void main()
{
const int size = 10;
int array[size]={0,6,9,12,20,23,29,32,47,79};
cout<<"Isi dari array: "<>elemen;
cout<<"\n\n";
tanda= binary_search(array,size,elemen);
if (tanda!=-1)
cout<<"Data "<array[middle])
start=middle+1;
middle=(start+end)/2;
}
while(start<=end && array[middle]!=elemen);
if(array[middle]==elemen)
posisi=middle;
return posisi;
}
Original Source : http://blog.creanivate.com/2010/08/contoh-binary-search-dalam-c.html
Copyright blog.creanivate.com
Original Source : http://blog.creanivate.com/2010/08/contoh-binary-search-dalam-c.html
Copyright blog.creanivate.com
#include
#include
int binary_search(int array[],int size, int elemen);
void main()
{
const int size = 10;
int array[size]={0,6,9,12,20,23,29,32,47,79};
cout<<"Isi dari array: "<>elemen;
cout<<"\n\n";
tanda= binary_search(array,size,elemen);
if (tanda!=-1)
cout<<"Data "<array[middle])
start=middle+1;
middle=(start+end)/2;
}
while(start<=end && array[middle]!=elemen);
if(array[middle]==elemen)
posisi=middle;
return posisi;
}
Original Source : http://blog.creanivate.com/2010/08/contoh-binary-search-dalam-c.html
Copyright blog.creanivate.com
Original Source : http://blog.creanivate.com/2010/08/contoh-binary-search-dalam-c.html
Copyright blog.creanivate.com
Langganan:
Postingan (Atom)