You are on page 1of 2

#include <iostream>

using namespace std;


//Bubble Sort
void bubble_sort (int data[], int n)
{
for (int i = 0; i < n; ++i)
for (int j = 0; j < n - i - 1; ++j)
if (data[j] > data[j + 1]){
int temp = data[j];
data[j] = data[j + 1];
data[j + 1] = temp;
}
}
//Driver Function
int main()
{
int n,pilih;
int input_data[100];
cout<<"Bubble Sort And Binary Search Program"<<endl;
cout<<"Masukkan jumlah data yang akan diinputkan : ";cin>>n;
for(int i=0;i<n;i++){
cout<<"Inputkan data ke "<<(i+1)<<" : ";cin>>input_data[i];
}
//int n = sizeof (input_ar) / sizeof (input_ar[0]);
//int input_data[] = {10, 50, 21, 2, 6, 66, 802, 75, 24, 170};
bubble_sort (input_data, n);
pilih=0;
while(pilih!=3){
system("cls");
cout<<"Bubble Sort And Binary Search Program"<<endl;
cout<<"1. Urutkan Data"<<endl;
cout<<"2. Cari Data"<<endl;
cout<<"3. Exit"<<endl;
cout<<"Masukkan pilihan anda : ";cin>>pilih;
if(pilih==1){
cout << "Susunan angkanya adalah : " << endl;
for (int i = 0; i < n; ++i)
cout << input_data[i] << " ";
system("pause");
}
else if(pilih==2){
int first = 0,search=0;
int last = n-1;
int middle = (first+last)/2;
cout<<"Masukkan Angka yang di cari : ";
cin>>search;
while (first <= last){
if(input_data[middle] < search){
first = middle + 1;
}
else if(input_data[middle] == search){
cout<<"Angka "<<search<<" ketemu di urutan ke "<<(middle
+1)<<"\n";
break;
}
else{
last = middle - 1;
}
middle = (first + last)/2;
}
if(first > last)
{
cout<<"Angka "<<search<<" tidak ada dalam list";
}
system("pause");
}
else if(pilih==3){
exit(0);
}
else{
cout<<"Angka salah!!! Silahkan ulangi"<<endl;
system("pause");
}
}
}

You might also like