Kamis, 20 Februari 2014

Bubble sort

 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, 13 Februari 2014

Binary Search

Binary Search / Pencarian Biner

Pengertian Binary Search

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
#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>
#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
#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 #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