Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #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;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement