Anda di halaman 1dari 3

Binary Search

Program binary search bahasa c++ adalah sebuah algoritma pencarian dengan cara membagi
data menjadi dua bagian setiap kali terjadi proses pencarian untuk menemukan nilai tertentu
dalam sebuah larik (array) linear. Proses pencarian binary search c++ hanya dapat dilakukan
pada kumpulan data yang sudah diurutkan terlebih dahulu.

Algoritma:
1. Pertama-tama diambil posisi awal 0 dan posisi akhir = N - 1, kemudian dicari posisi data
tengah dengan rumus (posisi awal + posisi akhir) / 2. Kemudian data yang dicari
dibandingkan dengan data tengah.
2. Kemudian kita cari posisi data tengah dengan rumus posisi tengah yaitu = (posisi awal +
posisi akhir )
3. Lalu data yang di cari akan dibandingkan dengan data tengah
a. Jika sama, data ditemukan, Proses selesai.
b. Jika lebih kecil, maka proses akan dilakukan kembali tetapi, posisi akhir dianggap
sama dengan posisi tengah -1.
c. Jika lebih besar pun proses akan dilakukan kembali tetapi posisi awal dianggap
sama dengan posisi tengah +1.
4. Mengulang dari langkah kedua sampai data ditemukan, atau tidak ditemukan.
5. Searching biner ini akan berakhir jika data ditemukan posisi awal lebih besar dari pada
posisi akhir. Jika posisi awal sudah lebih besar dari posisis akhir berarti data tidak ditemukan.

Code:
#include <iostream>

using namespace std;

main(){
int i;
int cari, ketemu;
int A[100];

cout<<"PROGRAM SEARCHING Liniear\n";


cout<<"masukan 7 buah data : \n\n";
for(i=1; i<=7; i++)
{
cout<<"masukan data ke-"<<i<<" = ";
cin>>A[i];
}
cout<<endl;
cout<<"Input bilangan yang cari : ";cin>>cari;
cout<<endl;

ketemu=0;
for(i=0; i<=7; i++)
{
if (A[i]==cari)
{
ketemu=1;
cout<<"Data ditemukan pada indeks ke-"<<i<<endl;
}
}
if(ketemu==0)
{
cout<<"Data tidak ditemukan"<<endl;
}
}

Bubble Sort

#include <iostream>
using namespace std;
void bubbleSort(int arr[], int n){
int i, j, tmp;
for (i = 0; i < n; i++){
for (j = 0; j < n - i - 1; j++){
if (arr[j] > arr[j + 1]){
tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
}
int main(){
int array[100], n, i, j;
cout << "Masukkan banyak elemen: ";
cin >> n;
cout << "Masukkan nilai: \n";
for (i = 0; i < n; i++){
cin >> array[i];
}
bubbleSort(array, n);
cout << "Hasil pengurutan sebagai berikut:\n";
for (i = 0; i < n; i++){
cout << array[i] << " ";
}
cout << "\n";
}

Penjelasan:
Penjelasan source algoritma bubble sort di bahasa C++ setiap barisnya :

 baris 5 : mendeklarasikan fungsi void bubbleSort dengan menerima inputan arr dan n
yang bertipe integer.
 baris 6 : mendeklarasikan variable i dan j untuk perulangan dan tmp untuk variable
penukaran sementara.
 baris 7-8 : melakukakan perulangan sebanyak n dan perulangan sebanyak nilai variable n
dikurang i dan dikurang satu.
 baris 9-13 : cek kondisi jika nilai variable arr pada index ke j lebih besar dari nilai
varible arr pada index ke j+1 maka melakukan penukaran nilai variable
 baris 19 : mendeklarasi variable array, n, i dan j bertipe integer.
 baris 20-21 : melakukan input nilai dari user untuk variable n yang digunakan sebagai
jumlah data.
 baris 22-25 : melakukan input nilai dari user untuk variable array dari setiap data.
 baris 26 : memanggil fungsi bubbleSort dengan memasukkan variable array dan n.
 baris 27-31 : menampilkan hasil pengurutan bubbleSort.

Anda mungkin juga menyukai