-->
Home | Looking for something? Sign In | New here? Sign Up | Log out

Kamis, 19 Desember 2013

NAIA : 3 Macam Metode Pencarian di Dalam C++

/ On : 22.54/ Terimakasih telah menyempatkan waktu untuk berkunjung di BLOG saya yang sederhana ini. Semoga memberikan manfaat meski tidak sebesar yang Anda harapakan. untuk itu, berikanlah kritik, saran dan masukan dengan memberikan komentar. Jika Anda ingin berdiskusi atau memiliki pertanyaan seputar artikel ini, silahkan hubungan saya lebih lanjut via e-mail di naia.130713@gmail.com atau klik menu E-Mail.
NAIA - Hai sobat semuanya ini merupakan postingan pertama NAIA Organizations dan pada postingan perdana ini kami ingin berbagi tentang 3 macam metode pencarian di dalam C++  yaitu :

  1. Binarry Search
  2. Interpolation Search
  3. Sequential Search
NAIA - Hai sobat semuanya ini merupakan postingan pertama NAIA Organizations dan pada postingan perdana ini kami ingin berbagi tentang 3 macam metode pencarian di dalam C++  yaitu

Bagi temen-temn yang ingin mencobanya silahkan lihat source code dibawah ini.

#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <iostream.h>

int array[100];

void seq()
{
      int i, cari, flag=0;
   printf("Masukkan data yang ingin dicari :");
   scanf("%i",&cari);
   for (i=0;i<5;i++)
   {
      if(array[i]==cari)
      {
            flag=1;break;
      }
   }
   if(flag==1) printf("data yang anda cari ditemukan pada index ke-%i",i);
   else printf("data yang anda cari tidak ditemukan");
   getche();
}

void interpol()
{
      int low,high,pos,cari,flag=0;
   float posisi;
   low=0;
   high=9;
   printf("data yang anda cari : ");
   scanf("%i",&cari);
   do
   {
      posisi=(float) ((cari-array[low])/(array[high]-array[low]))*(high-low)+low;
      pos=floor(posisi);
      if(array[pos]==cari)
      {
            flag=1;break;
      }
      if(array[pos]>cari) high=pos-1;
      else if(array[pos]<cari)
      low=pos+1;
   }
   while(cari>=array[low] && cari<=array[high]);
   if(flag==1) printf("data ditemukan");
   else printf("data tidak ditemukan");
   getche();
}

void binary()
{
      int awal,tengah,akhir,cari,flag=0;
   awal=0;
   akhir=9;
   printf("data yang anda cari:");
   scanf("%i",&cari);
   while(awal<=akhir &&flag==0)
   {
      tengah=(awal+akhir)/2;
      if(array[tengah]==cari)
      {
            flag=1;
         break;
      }
      else if(array[tengah]<cari)
      {
            awal=tengah+1;
         printf("cari kanan\n");
      }
      else
      {
            akhir=tengah-1;
         printf("cari kiri\n");
      }
   }
      if (flag==1) printf("data ditemukan");
   else printf("data tidak ditemukan");
   getche();
}

main()
{
char pil;
int jum;
unsigned char ulang;
do
{
      cout<<"----------------------------\n";
      cout<<"P E N C A R I A N    D A T A\n";
      cout<<"----------------------------\n";
      cout<<"Masukkan jumlah data :";cin>>jum;
      for(int v=0;v<jum;v++)
      {
   cout<<"masukkan data ke "<<v+1<<": ";
   cin>>array[v];
   }
      cout<<"\n PILIHLAH METODE PENCARIAN \n";
      cout<<" 1. binnary search \n";
      cout<<" 2. interpolation search \n";
      cout<<" 3. sequential search \n";
   cout<<"apa pilihanmu?\njawab :";
      cin>>pil;
      switch (pil)
      {
      case '1' :binary();break;
      case '2' :interpol();break;
      case '3' :seq();break;
      default :cout<<"S A L A H !";break;
      }
   cout<<"mau ulang lagi?";cout<<"jika iya tekan 'y'!"; cin>>ulang;clrscr();
}
while ((ulang=='y')||(ulang=='Y'));getche();
}
Sekian dulu postingan kali ini semoga bermanfaat amin.
Comments
0 Comments

0 komentar:

Posting Komentar



  • Followers




    Taruh content Tab 3 disini