Postingan kali ini kita akan membahas tentang searching array. Apa itu searching array? Searching array adalah teknik untuk mencari suatu data dalam sebuah array. Teknik pencarian data dari array yang paling mudah adalah dengan cara sequential search, di mana data dalam array dibaca 1 demi satu, diurutkan dari index terkecil ke index terbesar, maupun sebaliknya. Untuk postingan kali ini saya akan memberikan contoh program searching array dengan menggunakan teknik sequential.
Berikut contoh programnya:
1. Program untuk mencari data pada array 2 dimensi
#include <iostream>
#include <stdio.h>
#include <conio.h>
using namespace std;
int main()
{
int P[50][50]; //mendeklarasikan variabel dan jumlah kolom serta baris array 2 dimensi maksimal 50 baris dan 50 kolom
int baris,kolom; //mendeklarasikan variabel baris dan kolom untuk digunakan sebagai batas perulangan
int i,j; //mendeklarasikan variabel untuk perulangan
int cari; //mendeklarasikan variabel cari
int flag=0; //mendeklarasikan variabel untuk dijadikan indikator pencarian data
//meminta user untuk memasukkan jumlah baris dan kolom
cout<<"Masukkan ukuran array yang anda inginkan"<<endl;
cout<<"Berapa banyak baris : ";
cin>>baris; //menangkap nilai jumlah baris yang dimasukkan oleh user
cout<<"Berapa banyak kolom : ";
cin>>kolom; //menangkap nilai jumlah kolom yang dimasukkan oleh user
for(i=0;i<baris;i++) //melakukan pengulangan sebanyak jumlah baris yang telah diinputkan
{
for(j=0;j<kolom;j++) //melakukan pengulangan sebanyak jumlah kolom yang telah diinputkan
{
//meminta user untuk memasukkan nilai array
cout<<"Array ke ["<<i<<"]["<<j<<"] : ";
cin>>P[i][j]; //menangkap nilai array yang dimasukkan
}
}
//Pengulangan untuk menampilkan array 2 dimensi yang telah diinputkan sebelumnya
for(i=0;i<baris;i++)
{
for(j=0;j<kolom;j++)
{
cout<<P[i][j]<<" "; //menampilkan array yang telah diinputkan
}
cout<<endl;
}
//meminta user untuk memasukkan data yang ingin dicari
cout<<"Data yang dicari : ";
cin>>cari; //menangkap nilai yang dicari
//pengulangan untuk menentukan letak nilai yang dicari
for(i=0;i<baris;i++)
{
for(j=0;j<kolom;j++)
{
if(cari==P[i][j]) //percabangan yang menentukan apakah nilai dari variabel "cari" sama dengan nilai array
{
cout<<"data "<<cari<<" berada pada posisi ["<<i<<"]["<<j<<"]"<<endl; //menampilkan posisi data yang dicari
flag=1;
}
}
}
if(flag==0)
//pengulangan untuk menampilkan jika nilai yang dicari tidak ada
for(i=0;i<baris;i++)
{
for(j=0;j<kolom;j++)
{
if(cari==P[i][j]) //percabangan yang menentukan apakah nilai dari variabel "cari" sama dengan nilai array tapi tidak menampilkannya
{
}
else if(cari!=P[i][j]) //percabangan yang memnetukan jika nilai yang dicari tidak sama dengan nilai array
{
cout<<"data tidak ditemukan"<<endl;
break;
}
break; //untuk menghentikan perulangan jika kondisi percabangan diatas terpenuhi
}
break;
}
getch();
return 0 ;
}
Begini hasilnya programnya
Jika data yang dicari ditemukan
2. Program untuk mencari data berupa huruf pada inputan yang berupa kalimat
#include <iostream.>
#include <conio.h>
#include <stdio.h>
#include <string.h>
using namespace std;
int main()
{
int a; //mendeklarasikan variabel "a" untuk digunakan sebagai nilai dari pengulangan
int x; //mendeklarasikan variabel "x" untuk digunakan sebagai batas pengulangan
char kalimat[200]; //mendeklarasikan arrai "kalimat" maksimum sebanyak 200
int k=0,v=0; //mendeklarasikan variabel "k" untuk menghitung huruf konsonan dan variabel "v" untuk menghitung huruf vokal
char cari; //mendeklarasikan variabel "cari" untuk digunakan mencari huruf
//meminta user memasukkan sebuah kalimat
cout<<"Masukkan kalimat : ";
cin.getline(kalimat,200); //menangkap kalimat yang dimasukkan oleh user
x=strlen(kalimat); //memperoleh jumlah karakter dalam sebuah kalimat/string
//pengulangan untuk menghitung banyaknya huruf konsonan dan vokal
for (a=0; a<x; a++)
{
if (kalimat[a]=='a' || kalimat[a]=='i' || kalimat[a]=='u' || kalimat[a]=='e' || kalimat[a]=='o')//percabangan yang menentukan hanya huruf vokal yang dapat masuk
{
v++; //menghitung banyajnya variabel v yang masuk
}
else if(kalimat[a] == 'b' || kalimat[a] == 'c' || kalimat[a] == 'd' || kalimat[a] == 'f' || kalimat[a] == 'g' || kalimat[a] == 'h' ||
kalimat[a] == 'j' || kalimat[a] == 'k' || kalimat[a] == 'l' || kalimat[a] == 'm' || kalimat[a] == 'n' || kalimat[a] == 'p' ||
kalimat[a] == 'q' || kalimat[a] == 'r' || kalimat[a] == 's' || kalimat[a] == 't' || kalimat[a] == 'v' || kalimat[a] == 'w' ||
kalimat[a] == 'x' || kalimat[a] == 'y' || kalimat[a] == 'z')//percabangan yang menentukan hanya huruf konsonan yang dapat masuk
{
k++; //menghitung banyaknya variabel k yang masuk
}
}
cout<<"\nHuruf Vokal = "<<v<<" = "; //menampilkan jumlah huruf vokal
//pengulangan untuk menampilkan huruf vokal yang ada pada kalimat
for (a=0; a<x; a++){
if (kalimat[a]=='a' || kalimat[a]=='i' || kalimat[a]=='u' || kalimat[a]=='e' || kalimat[a]=='o')//percabangan yang menentukan hanya huruf vokal yang dapat masuk
{
cout<<kalimat[a]<<" "; //menampilkan huruf vokal
}
}
cout<<"\nHuruf konsonan = "<<k<<" = "; //menampilkan jumlah huruf konsonan
//pengulangan untuk menampilkan huruf konsonan yang ada pada kalimat
for (a=0; a<x; a++){
if (kalimat[a]=='a' || kalimat[a]=='i' || kalimat[a]=='u' || kalimat[a]=='e' || kalimat[a]=='o')
{
}
else if(kalimat[a] == 'b' || kalimat[a] == 'c' || kalimat[a] == 'd' || kalimat[a] == 'f' || kalimat[a] == 'g' || kalimat[a] == 'h' ||
kalimat[a] == 'j' || kalimat[a] == 'k' || kalimat[a] == 'l' || kalimat[a] == 'm' || kalimat[a] == 'n' || kalimat[a] == 'p' ||
kalimat[a] == 'q' || kalimat[a] == 'r' || kalimat[a] == 's' || kalimat[a] == 't' || kalimat[a] == 'v' || kalimat[a] == 'w' ||
kalimat[a] == 'x' || kalimat[a] == 'y' || kalimat[a] == 'z')
{
cout<<kalimat[a]<<" "; //menampilkan huruf konsonan
}
}
cout<<endl;
//meminta user memasukkan sebuah huruf yang akan dicari
cout<<"\nHuruf yang akan anda cari : ";
cin>>cari; //menangkap huruf yang telah diinputkan
//pengulangan untuk mencari huruf yang diinputkan
for (a=0; a<x; a++){
if (kalimat[a]=='a' || kalimat[a]=='i' || kalimat[a]=='u' || kalimat[a]=='e' || kalimat[a]=='o') //percabangan yang menentukan hanya huruf vokal yang dapat masuk
{
if(kalimat[a]==cari) //percabangan yang menentukan jika huruf yang dicari sama dengan huruf yang ada pada array
{
//menampilkan jika huruf ditemukan
cout<<"Data ditemukan..."<<endl;
cout<<"Dari kalimat "<<kalimat;
break;
}
}
else if (kalimat[a] == 'b' || kalimat[a] == 'c' || kalimat[a] == 'd' || kalimat[a] == 'f' || kalimat[a] == 'g' || kalimat[a] == 'h' || kalimat[a] == 'j' || kalimat[a] == 'k' || kalimat[a] == 'l' || kalimat[a] == 'm' || kalimat[a] == 'n' || kalimat[a] == 'p' || kalimat[a] == 'q' || kalimat[a] == 'r' || kalimat[a] == 's' || kalimat[a] == 't' || kalimat[a] == 'v' || kalimat[a] == 'w' || kalimat[a] == 'x' || kalimat[a] == 'y' || kalimat[a] == 'z') //percabangan yang menentukan hanya huruf konsonan yang dapat masuk
{
if(kalimat[a]==cari)//percabangan yang menentukan jika huruf yang dicari sama dengan huruf yang ada pada array
{
cout<<"Data ditemukan..."<<endl;
cout<<"Dari kalimat "<<kalimat;
break;
}
}
else{ //menampilkan jika data tidak dapat ditemukan
cout<<"Data tidak ditemukan..."<<endl;
cout<<"Dari kalimat "<<kalimat;
break;
}
}
getch();
return 0;
}
Begini hasilnya programnya
Jika data yang dicari ditemukan
Jika data yang dicari tidak ditemukan
3. Program untuk mencari bilangan ganjil dan bilangan genap dari data angka yang diinputkan oleh user
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int I[50]; //mendeklarasikan maksimal 50 array
int batas,s; //mendeklarasikan variabel batas dan "s" yang akan digunakan dalam perulangan
//Meminta user memasukkan banyaknya data yang akan diinputan
cout<<"Banyaknya nilai yang ingin diinputan : ";
cin>>batas; //menangkap nilai batas yang diinputkan
//pengulangan untuk menginputkan data sebanyak batas yang ditentukan oleh user
for(s=0; s<batas; s++)
{
cout<<"Data ke-"<<s+1<<" : ";
cin>>I[s]; //menangkap nilai yang diinputkan
}
cout<<"\nData Anda : "<<endl;
//pengulangan untuk menampilkan data yang telah diinputkan
for(s=0; s<batas; s++)
{
cout<<I[s]<<" ";
}
cout<<endl;
cout<<"\nData Ganjl "<<endl; //menampilan data ganjil
//pengulangan untuk mencari data ganjil
for(s=0; s<batas; s++)
{
if(I[s]%2!=0) //percabangan untuk menentukan bilangan ganjil
cout<<I[s]<<" Berada Pada Indeks Ke-"<<s<<endl; //menampilkan data dan menentukan berada pada indeks ke berapa
}
cout<<"\nData Genap "<<endl; //menampilan data genap
//pengulangan untuk mencari data genap
for(s=0; s<batas; s++)
{
if(I[s]%2==0) //percabangan untuk menentukan bilangan genap
cout<<I[s]<<" Berada Pada Indeks Ke-"<<s<<endl; //menampilkan data dan menentukan berada pada indeks ke berapa
}
getch();
return 0;
}
Begini hasilnya programnya
Sekian postingan kali ini tentang Searching Array pada bahasa C++ , semoga bermanfaat bagi teman-teman diruamah.