#include <iostream>
#include <conio.h>
using namespace std;
int binary_s(int array[], int size, int elemen);
int main()
{
awal:
system("cls");
int pilihan;
cout<<"SELAMAT DATANG"<<endl<<endl;
cout<<"Pilihan program: "<<endl
<<"1. Sorting angka"<<endl
<<"2. Searching angka"<<endl
<<"3. Keluar"<<endl
<<"masukkan pilihan anda: ";cin>>pilihan;
if (pilihan == 1)
{
system("cls");
cout<<"PROGRAM PENGURUTAN DATA"<<endl<<"BY: Yudha Prayoghie, Arifin, Wahyu and Sutandi"<<endl<<endl;
int i,j,tehmanis,a[100],banyak;
cout<<"masukkan banyak data: ";cin>>banyak;cout<<endl<<endl;
for (i=0;i<banyak;i++)
{
cout<<"Masukkan angka ke- "<<i+1<<" : ";
cin>>a[i];
cout<<endl;
}
for (i=0;i<banyak;i++) //perulangan untuk penukar nilai
{
for (j=i+1;j<banyak;j++) //perulangan untuk pengecekan nilai
{
if (a[i]>a[j]) //pertukaran nilai
{
tehmanis=a[i];
a[i]=a[j];
a[j]=tehmanis;
}
}
}
cout<<"Data setelah diurutkan: "<<endl;
for (i=0;i<banyak;i++)
{
cout<<a[i]<<endl;
}
getch();
cout<<"ingin kembali ke awal? (y/n)"<<endl;
char kembali;
kembali=getch();
if(kembali == \'y\')
goto awal;
else
system("exit");
}
else if(pilihan == 2)
{
system("cls");
cout<<"PROGRAM PENCARIAN DATA"<<endl<<"BY: Yudha Prayoghie, Arifin, Wahyu and Sutandi"<<endl<<endl;
int i;
int size;
int data[200];
cout<<"Masukkan banyak data: ";cin>>size;
for (i=0;i<size;i++)
{
cout<<"Masukkan data ke- "<<i+1<<": ";
cin>>data[i];
}
int j, kopipait;
for (i=0;i<size;i++) //perulangan untuk penukar nilai
{
for (j=i+1;j<size;j++) //perulangan untuk pengecekan nilai
{
if (data[i]>data[j]) //pertukaran nilai
{
kopipait=data[i];
data[i]=data[j];
data[j]=kopipait;
}
}
}
cout<<"Data yang dimasukkan: "<<endl<<"| ";
for(i=0;i<size;i++)
cout<<data[i]<<" | ";
cout<<endl<<endl<<"masukkan data yang ingin anda cari: ";
int cari;
cin>>cari;
// pencarian
int hasil;
hasil = binary_s(data, size, cari);
if (hasil==0)
cout<<"Nilai tidak ditemukan";
else
cout<<"Nilai ditemukan";
cout<<endl<<"ingin kembali ke awal? (y/n)"<<endl;
char kembali;
kembali=getch();
if(kembali == \'y\')
goto awal;
else
system("exit");
}
else
system("exit");
}
int binary_s(int array[], int size, int elemen)
{
int awal = 0, akhir = size-1, nilaiTengah = (awal+akhir)/2;
while (nilaiTengah<=size && awal<=akhir)
{
nilaiTengah = (awal+akhir)/2;
if (array[nilaiTengah]==elemen)
return 1;
else if (elemen<array[nilaiTengah])
akhir = nilaiTengah-1;
else
awal = nilaiTengah+1;
}
return 0;
}