document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #include <iostream>
  2. #include <conio.h>
  3.  
  4. using namespace std;
  5.  
  6. int binary_s(int array[], int size, int elemen);
  7.  
  8. int main()
  9. {
  10.     awal:
  11.     system("cls");
  12.     int pilihan;
  13.     cout<<"SELAMAT DATANG"<<endl<<endl;
  14.     cout<<"Pilihan program: "<<endl
  15.         <<"1. Sorting angka"<<endl
  16.         <<"2. Searching angka"<<endl
  17.         <<"3. Keluar"<<endl
  18.         <<"masukkan pilihan anda: ";cin>>pilihan;
  19.     if (pilihan == 1)
  20.     {
  21.        system("cls");
  22.        cout<<"PROGRAM PENGURUTAN DATA"<<endl<<"BY: Yudha Prayoghie, Arifin, Wahyu and Sutandi"<<endl<<endl;
  23.        int i,j,tehmanis,a[100],banyak;
  24.        cout<<"masukkan banyak data: ";cin>>banyak;cout<<endl<<endl;
  25.        for (i=0;i<banyak;i++)
  26.        {
  27.           cout<<"Masukkan angka ke- "<<i+1<<" :  ";
  28.           cin>>a[i];
  29.           cout<<endl;
  30.        }
  31.        for (i=0;i<banyak;i++) //perulangan untuk penukar nilai
  32.        {
  33.           for (j=i+1;j<banyak;j++) //perulangan untuk pengecekan nilai
  34.           {
  35.               if (a[i]>a[j]) //pertukaran nilai
  36.                   {
  37.                      tehmanis=a[i];
  38.                      a[i]=a[j];
  39.                      a[j]=tehmanis;
  40.                   }
  41.           }
  42.        }
  43.        cout<<"Data setelah diurutkan: "<<endl;
  44.        for (i=0;i<banyak;i++)
  45.        {
  46.           cout<<a[i]<<endl;
  47.        }
  48.        getch();
  49.        cout<<"ingin kembali ke awal? (y/n)"<<endl;
  50.        char kembali;
  51.        kembali=getch();
  52.        if(kembali == \'y\')
  53.           goto awal;
  54.        else
  55.           system("exit");
  56.     }
  57.  
  58.     else if(pilihan == 2)
  59.     {
  60.        system("cls");
  61.        cout<<"PROGRAM PENCARIAN DATA"<<endl<<"BY: Yudha Prayoghie, Arifin, Wahyu and Sutandi"<<endl<<endl;
  62.  
  63.        int i;
  64.        int size;
  65.        int data[200];
  66.        cout<<"Masukkan banyak data: ";cin>>size;
  67.        for (i=0;i<size;i++)
  68.        {
  69.            cout<<"Masukkan data ke- "<<i+1<<": ";
  70.            cin>>data[i];
  71.        }
  72.        int j, kopipait;
  73.        for (i=0;i<size;i++) //perulangan untuk penukar nilai
  74.        {
  75.           for (j=i+1;j<size;j++) //perulangan untuk pengecekan nilai
  76.           {
  77.               if (data[i]>data[j]) //pertukaran nilai
  78.                   {
  79.                      kopipait=data[i];
  80.                      data[i]=data[j];
  81.                      data[j]=kopipait;
  82.                   }
  83.           }
  84.        }
  85.  
  86.        cout<<"Data yang dimasukkan: "<<endl<<"| ";
  87.        for(i=0;i<size;i++)
  88.           cout<<data[i]<<" | ";
  89.        cout<<endl<<endl<<"masukkan data yang ingin anda cari: ";
  90.        int cari;
  91.        cin>>cari;
  92.        // pencarian
  93.        int hasil;
  94.        hasil = binary_s(data, size, cari);
  95.        if (hasil==0)
  96.           cout<<"Nilai tidak ditemukan";
  97.        else
  98.           cout<<"Nilai ditemukan";
  99.        cout<<endl<<"ingin kembali ke awal? (y/n)"<<endl;      
  100.        char kembali;
  101.        kembali=getch();
  102.        if(kembali == \'y\')
  103.           goto awal;
  104.        else
  105.           system("exit");
  106.     }
  107.     else
  108.     system("exit");
  109. }
  110. int binary_s(int array[], int size, int elemen)
  111. {
  112.     int awal = 0, akhir = size-1, nilaiTengah = (awal+akhir)/2;
  113.     while (nilaiTengah<=size  && awal<=akhir)
  114.     {
  115.           nilaiTengah = (awal+akhir)/2;
  116.           if (array[nilaiTengah]==elemen)
  117.               return 1;
  118.           else if (elemen<array[nilaiTengah])
  119.               akhir = nilaiTengah-1;
  120.           else
  121.               awal = nilaiTengah+1;
  122.     }
  123.     return 0;
  124. }
');