Searching


Searching (sequential search dan binarry search)

Pengertian Searching adalah pencarian data dengan cara memeriksa data-data yang ada, tempat dicarinya data dapat berupa array dalam memori (pencarian internal), bisa juga pada file pada external storage (pencarian external).

sequential search


Pengerian sequential search Adalah sebuah cara pencarian data dalam array (1 dimensi) yang akan memeriksa semua elemen-elemen array dari pertama sampai terakhir, dimana data-data tidak usah diurutkan dulu. Pencarian berurutan menggunakan prinsip seperti: data yang ada dibandingkan satu per satu secara berurutan dan data yang kita cari akan dilakukan pemeriksaan sampai data tersebut ditemukan atau tidak ditemukan.

Contoh Program sequential search:
#include
#include
#include
using namespace std;

void main()
{
       int i;
       int cari, ditemukan;
       int Array[100];


       printf("\t      =========================================================\n");
       printf("\t      |                 JALURBELAKANG.BLOGSPOT.COM            |\n");
       printf("\t      =========================================================\n");
       printf("\t      |                  PROGRAM SEQUENCIAL SEARCH            |\n");
       printf("\t      |=======================================================|\n");
       printf("\t      |                                                       |\n");
       printf("\t      | >Ricky satria                      (140010039)        |\n");
       printf("\t      |                                                       |\n");
       printf("\t      |                                                       |\n");
       printf("\t      |                 Compiled With Visual Studio           |\n");
       printf("\t      |========================================================\n");
       printf("\t      |                         BA141                         |\n");
       printf("\t      |           Sistem Komputer - STIKOM BALI               |\n");
       printf("\t      =========================================================\n");
       printf("\t      |               Press Any Key To Continue               |\n");
       printf("\t      =========================================================\n");
       printf("\t      "); getchar();

       system("cls");

       cout << "                       Silahkan masukkan 8 buah data \n\n\n";

       for (i = 1; i <= 8; i++)
       {
              cout << "masukkan data ke - " << i << endl;
              cin >> Array[i];
       }

       cout << endl;
       cout << "Masukkan data yang ingin anda dicari : ";
       cin >> cari;

       ditemukan = 0;
       for (i = 0; i <= 7; i++)
       {
              if (Array[i] == cari)
              {
                     ditemukan = 1;
                     cout << "\nData anda pada indeks ke-" << i<< endl;
              }
       }
       if (ditemukan == 0){
              cout << " Data anda tidak ditemukan!!!\n";
       }
       getchar();
       system("pause");
}

Hasil Program di atas:


Binary search
Binary search adalah sebuah cara pencarian dengan cara membagi data menjadi dua bagian setiap kali terjadi proses pencarian untuk menemukan nilai tertentu dalam sebuah larik (array) linear. Sebuah pencarian biner mencari nilai tengah (median), melakukan sebuah pembandingan untuk menentukan apakah nilai yang dicari ada sebelum atau sesudahnya, kemudian mencari setengah sisanya dengan cara yang sama.

Contoh Program Binary Search:
#include
#include
#include
using namespace std;

int main()
{
       int A[10], i, j, k, tkr, top, bottom, middle, tm;

       printf("\t      =========================================================\n");
       printf("\t      |                 JALURBELAKANG.BLOGSPOT.COM            |\n");
       printf("\t      =========================================================\n");
       printf("\t      |                   PROGRAM BINARY SEACRH               |\n");
       printf("\t      |=======================================================|\n");
       printf("\t      |                                                       |\n");
       printf("\t      | >Ricky satria                      (140010039)        |\n");
       printf("\t      |                                                       |\n");
       printf("\t      |                                                       |\n");
       printf("\t      |                   Compiled With Visual Studio         |\n");
       printf("\t      |========================================================\n");
       printf("\t      |                         BA141                         |\n");
       printf("\t      |           Sistem Komputer - STIKOM BALI               |\n");
       printf("\t      =========================================================\n");
       printf("\t      |               Press Any Key To Continue               |\n");
       printf("\t      =========================================================\n");
       printf("\t      "); getchar();

       system("cls");

       for (i = 0; i<10 i="" o:p="">
       {
              printf("Data ke-%d : ", i + 1);
              scanf_s("%d", &A[i]);
       }
       printf("Masukkan data yang akan dicari : ");
       scanf_s("%d", &k);

       for (i = 0; i<10 i="" o:p="">
       {
              for (j = i + 1; j<10 j="" o:p="">
              {
                     if (A[i]>A[j])
                     {
                           tkr = A[i];
                           A[i] = A[j];
                           A[j] = tkr;
                     }
              }
       }

       tm = 0;
       top = 9;
       bottom = 0;
       while (top >= bottom)
       {
              middle = (top + bottom) / 2;
              if (A[middle] == k)
              {
                     tm++;
              }
              if (A[middle]
              {
                     bottom = middle + 1;
              }
              else
              {
                     top = middle - 1;
              }
       }

       if (tm>0)
       {
              printf("Data %d yang dicari ada dalam array\n", k);
       }
       else
       {
              printf("Data tidak diketemukan dalam array\n");
       }

       getchar();
       system("pause");
       return 0;
}

Hasil Program di atas:


Sekian penjelasan saya tentang searching jika ada yang kurang jelas bisa bertanya di kolom komentar. Terima Kasih :)

Sumber referensi:
Data struktur using c++ course technology
Materi Struktur Data ppt pertemuan ke (VIII)

Post a Comment

 
Top