Langsung ke konten utama

Belajar dan Mengerti SEARCHING pada Bahasa Pemrograman C++

SEARCHING
Searching atau yang biasa yang disebut dengan Pencarian adalah sebuat struktur data yang digunakan untuk mencari data yang tersusun dalam sebuah algoritma dan menemukan data yang ingin ditemukan. Dalam Searching, ada beberapa metode dalam pencarian data. Sekarang, saya akan menjelaskan tentang Sequential/Linear Searching dan Binary Search.

1. SEQUENTIAL/LINEAR SEARCHING
Metode ini cukup mudah diimplementasikan. Program yang ditulis menggunakan Bahasa Pemrograman C++ ini akan melakukan pencarian, diawali dari ujung sebelah kiri dan membandingkan masing-masing elemen yang diakses dengan elemen pencarian. Jika sudah ditemukan, pencarian akan segera berhenti, sementara jika elemen yang dicari tidak ditemukan hingga akhir dari larik, maka data yang dicari memang tidak ada.

SOURCE CODE SEQUENTIAL SEARCH
Berikut ini adalah source code atau syntax program dari Sequential Searching yang menggunakan Bahasa Pemrograman C++.

#include<stdio.h>
#include<iostream.h>
#include<conio.h>
void main()
{
//deklarasi variabel
int A[10],index[10], i,j,k,n;

//proses penginputan data
   cout<<"Masukkan jumlah data [Max 10] : ";
   cin>>n;

for(i=0;i<n;i++)
{
    cout<<"Masukkan Data ke - "<<(i+1)<<" = ";
      cin>>A[i];
}

//memasukkan data yang akan dicari ke dalam K
   cout<<"Masukkan data yang anda akan cari : ";
   cin>>k;

//proses pencarian data
j=0;
for (i=0;i<n;i++)
{
if(A[i]==k)
{
index[j]=i;
j++;
}
   }

//jika data ditemukan dalam array
if (j>0)
{
cout<<"Data" <<k<< "yang dicari ada" <<j<< "buah"<<endl;
      cout<<"Data tersebut terdapat dalam index ke : ";
  for(i=0;i<j;i++)
{
         cout<<index[i]<<" ";
}
      cout<<endl;
}

//jika tidak ditemukan
else
{
      cout<<"Data tidak ditemukan dalam array"<<endl;;
}
  getch();
}

2. BINARY SEARCHING
Binary search adalah metode pencarian dengan cara mengurutkan data dan mengambil posisi awal, tengah dan akhir. Prinsip kerja binary search : 
Mula-mula, mengambil posisi awal 0 dan akhir N=-1, lalu mencari posisi tengah dari data tersebut dengan rumus (posisi awal+posisi akhir)/2. 
Kemudian, bandingkan data yang dicari dengan data tengah.
Jika lebih kecil, maka proses dilakukan kembali dengan posisi akhir dianggap sama dengan data tengah -1.
Jika lebih besar, maka proses dilakukan kembali dengan posisi akhir dianggap sama dengan data tengah +1. 
Jika sama, maka data yang dicari telah ditemukan.

SOURCE CODE BINARY SEARCH
Disini, saya akan memberikan Source Code / Syntax Program untuk Binary Search pada Bahasa Pemrograman C++.
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
void main()
{
//deklarasi variabel
int A[10],n, i,j,k,tkr,right,left,middle,tm;

//proses penginputan data
   cout<<"Masukkan jumlah data = ";
   cin>>n;
for(i=0;i<n;i++)
{
    cout<<"Masukkkan data ke - "<<(i+1)<<" = ";
      cin>>A[i];
}
   cout<<"Masukkan data yang akan anda cari :";
   cin>>k;

//proses pengurutan data
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if (A[i]>A[j])
{
tkr=A[i];
A[i]=A[j];
A[j]=tkr;
         }
      }
   }

//proses pencarian data
tm=0;
right=n;
left=0;
while(right>=left)
{
middle=(right+left)/2;
if(A[middle]==k)
{
tm++;
}
if(A[middle]<k)
{
left=middle+1;
}
else
{
right=middle-1;
}
   }
if (tm>0)
   {
    cout<<"Data " << k << " yang dicari ada dalam array"<<endl;
   }
//jika tidak ditemukan
else
{
    cout<<"Data tidak ditemukan dalam array"<<endl;
   }
   getch();
}
Referensi dari Buku Karya Adi Nugroho yang berjudul Algoritma & Struktur Data dengan C#

Komentar

Postingan populer dari blog ini

Belajar dan Mengerti SELECTION SORT dan INSERTION SORT pada Bahasa Pemrograman C++

SORTING Sorting adalah metode dari Struktur data untuk mengurutkan data dari indeks yang terkecil hingga terbesar atau biasa disebut dengan Ascending ataupun dari besar hingga terkecil atau biasa disebut dengan Descending. Fungsi dari sorting hanyalah mengurutkan data hingga menjadi suatu informasi yang sesuai dengan yang diinginkan oleh sang programmer. Nah, disini saya akan menjelaskan tentang Selection Sorting dan Insertion Sorting. 1. SELECTION SORTING Selection sorting adalah metode pengurutan data dengan cara memilih elemen atau proses kerja dengan memilih elemen terkecil kemudian membandingkan dengan elemen selanjutnya, hingga menemukan data dari yang terkecil hingga terbesar. Prinsip kerja dari Selection Sorting yaitu : • Pengecekan dimulai data ke-1 sampai dengan data ke-n. • Carilah data terkecil dari seluruh data yang ada. • Jika data lebih kecil, maka akan ditukarkan dengan data yang dibandingkan, jika tidak, maka akan dilakukan kembali pembandingan dengan data ...

Belajar dan Mengerti ARRAY pada Bahasa Pemrograman C++

ARRAY Array atau yang biasa dikenal sebagai Larik adalah kelompok peubah tunggal atau multi-dimensi. Larik adalah sejumlah nilai yang memiliki tipe data yang sama yang bias dirujuk menggunakan nama peubah yang sama diikuti indeksnya. Array digunakan untuk menyimpan data dengan tipe data yang sama. Array 1 Dimensi Elemen-elemen array dapat diakses oleh program menggunakan suatu indek tertentu. Pengaksesan elemen array dapat dilakukan berurutan atau random berdasarkan indeks tertentu secara langsung. Biasanya, array 1 dimensi berbentuk seperti rel kereta api yang memiliki batas akhir. Contoh dari array 1 dimensi adalah  Deklarasi dan Source Code Array 1 Dimensi Cara mendeklarasi Array 1 dimensi adalah Variabel array dideklarasikan dengan mencantumkan tipe data dan nama variabel yang diikuti dengan banyaknya lokasi memori yang ingin dibuat. Bentuk umum yang biasa digunakan untuk mendeklarasikan array adalah tipe_data_nama_array[ukuran] . Contohnya yaitu : int x[...

Belajar dan Mengerti VARIABEL dalam Bahasa Pemrograman C++

VARIABEL  Pengertian Variabel (Identifier) adalah nama yang mewakili suatu elemen data, yang biasanya kita inisialisasikan pada awal pembuatan program, misalnya jenkel untuk Jenis Kelamin, ttl untuk Tempat Tanggal Lahir, dan lain sebagainya. Ada  beberapa aturan dalam penulisan variabel pada Bahasa pemrograman C++ yaitu : 1. Bersifat Case Sensitive. Contoh nya yaitu jika kita inisialisasikan diawal program untuk JenKel adalah untuk Jenis Kelamin, maka pada pemanggilan variabel penulisan dari inisialisasi harus sama dengan yang kita panggil. Jika berbeda, maka variabel tersebut tidak akan terbaca atau biasa dikatan sebagai Syntax Error. 2. Tidak Boleh mengandung karakter Spasi. Contoh nya yaitu jenis_kelamin. Jadi tanda “_” merupakan penyambung antara kata Jenis dan Kelamin. 3. Tidak boleh ada karakter khusus. 4. Panjang bebas, tetapi hanya 32 karakter awal saja yang bias terpakai. Ada Beberapa tipe data pada penulisan Variabel ini. Adapun tipe data standar tersebut ...