Minggu, 21 April 2019

Squensial Searching


Kali ini saya akan menjelaskan tentang Sequensial Searching


PEMBAHASAN SEARCHING

A. Pengertian Searching
    Searching adalah mencari data yag dibutuhkan. Searching dalam pemrograman bisa dilakukan untuk mencari data yang ada di dalam memori komputer. Dalam kehidupan sehari-hari kita juga sering melakukan kegiatan searching  seperti mencari data atau informasi yang ada dalam internet. Ada beberapa metode yang dapat diguakan untuk searching, ada yang diamakan :
  1. Sequential Search
  2. Binary search

B. Sequential Search
     Sequential Search merupakan metode pencarian data dalam array dengan cara membandingkan data yang dicari dengan data yang ada di dalam array secara berurutan. Pencarian data dengan metode sequential search efektif untuk mencari data yang dalam posisi yang tidak terurut atau acak.
Kekurangan dan kelebihan Squensial Search :
1. Kelebihan Sequential Searching bisa dikatakan lebih mudah dalam implementasinya dalam pemrograman.
2. Kekurangannya jika data yang terdapat dalam suatu array itu sangat banyak, maka akan diperlukan waktu yang lebih lama untuk membandingkan data yang dicari dengan jumlah data yang sangat banyak dalam suatu array.
C. Binary search
     Metode pencarian Binary yaitu mencari data dengan melakukan mengelompokkan array menjadi bagian-bagian. Binary search ini hanya dapat diimplementasikan pada data yang telah terurut baik ascending maupun descending dalam suatu array.
Kekurangan dan kelebihan Binary Search :
1. Kelebihannya yaitu tidak perlu membandingkan data yang dicari dengan seluruh data array yang ada, cukup melalui titik tengah kemudian kita bisa menentukan ke mana selanjutnya mencari data yang ingin dicari.
2. Kekurangan implementasi agak sedikit lebih rumit karena tidak bisa digunakan pada data array yang masih acak. Jadi harus melakukan sorting terlebih dahulu dalam implementasinya.

Listing program (contoh kasus "Penjualan Alat Tulis")
#include <iostream>
#include <stdlib.h>
using namespace std;
main ()
{
      int r,harga[5],a,alt[10],cari ;
      string atk[10],np[10],pem,nama[10],atl;
      cout << "Selamat Datang di Toko Alat Tulis LIA" <<endl;
      cout << "Daftar Barang yang tersedia : "<<endl;
      cout << "1. Buku Tulis      Rp.35.000    / pcs"<<endl;
      cout << "2. Buku Gambar  Rp.25.000   / pcs"<<endl;
      cout << "3. Pensil        Rp.2000   / biji"<<endl;
      cout << "4. Pulpen       Rp.20.000 / kotak"<<endl;
      cout << "5. Tipx           Rp.5000 / biji"<<endl;
      cout << "6. Rautan       Rp.1000 / biji"<<endl;
      cout << "Masukkan Jumlah Pelanggan : ";cin>>r;
      for(a=0;a<r;a++)
      {
             cout << "Pelanggan ke-" <<a+1<<endl;
             cout << "Masukkan Nama Pelanggan : "; cin>>np[a];
             cout << "Aat tulis yang diinginkan : "; cin>>alt[a];
             if(alt[a]==1)
             {
                    atk[a]="Buku Tulis";
                    harga[a]=35000;
              }
              else if(alt[a]==2)
              {
                   atk[a]="Buku Gambar";
                   harga[a]=25000;
              }
               else if(alt[a]==3)
              {
                    atk[a]="Pensil";
                    harga[a]=2000;
               }
               else if(alt[a]==4)
               {
                     atk[a]="Pulpen";
                     harga[a]=20000;
               }
                else if(alt[a]==5)
                {
                       atk[a]="Tipx";
                       harga[a]=5000;
                }
                else if(alt[a]==6)
                {
                       atk[a]="Rautan";
                       harga[a]=1000;
                 }
    }
    system ("cls")
    cout << "========================================================"<<endl;
    cout<<" Kategori : "<<endl;
    cout<<" 1. nama " <<endl;
    cout<<" 2. nama alat tulis"<<endl;
    cout<<" Pilih kategori pencarian : ";cin>>cari;
    if(cari==1)
   {
          cout<<"masukkan nama : ";cin>>pem;
          a=0;
          ulang:
                 if(a!=r)
                {
                          if(np[a]==pem)
                         {
                                for (a=0;a<r;a++)
                                {
                                    f(np[a]==pem)
                                    cout<<" Membeli  "<<atk[a]<< "dengan harga Rp. "<<harga[a]<<endl<<endl;
                                }
                         }
                         else
                         {
                                  a++;goto ulang;
                          }
                }
  }
  else if (cari==2)
  {
          cout <<" 1. Buku Tulis " <<endl;
          cout <<" 2.Buku Gambar " <<endl;
          cout <<" 3. pensil " <<endl;
          cout <<" 4. Pulpen " <<endl;
          cout <<" 5. Tipx" <<endl<<endl;
          cout <<" 6. Rautan" <<endl;
          cout <<"masukkan nama alat tulis : "; cin>>atl;
          a=0;
          ulang1:
                 if(a!=r)
                 {
                         if(atk[a]==atl)
                         {
                                   for(a=0;a<r;a++)
                                   {
                                             if(atk[a]==atl)
                                            cout<<"yang membeli alat tulis adalah "<<nama[a]<<endl;
                                     }
                           }
                           else
                           {
                                     a++;goto ulang1;
                            }
                  }
   }
   else
   {
          cout<<"Data tidak ditemukan " <<endl;
      return 0;