Program Searching Array C++
Nama : Muh Saiful
Nim : E1E1 15 075
Algoritma pencarian yang paling sederhana terbagi menjadi 2, yaitu:
1. Sequential Search (Pencarian Beruntun)
2. Binary Search (Pencarian Bagi Dua)
Kali ini akan membahas pencarian (searching) data di dalam "Array" secara beruntun (Sequential Search). Dinamakan pencarian beruntun karena prosesnya membandingkan setiap elemen array satu per satu secara beruntun, mulai dari elemen pertama, sampai elemen yang dicari ditemukan atau seluruh elemen sudah diperiksa.
Berikut codingannya , jangan lupa untuk dipahami ya setiap codingannya !!!
Semoga bermanfaat .
1. Program untuk mencari data pada array 2 dimensi
Script Program :
#include <conio.h>
using namespace std;
int main()
{
int bar,kol,cari,counter=0,n=0;
int matriks[100][100];
int x[100][100],y[100][100];
cout <<"\t\tPROGRAM MENCARI DATA PADA MATRIKS\n";
cout <<"\t\t======================================\n\n";
cout << "Masukkan banyak baris pada matriks : ";cin>>bar;
cout << "Masukkan banyak kolom pada matriks : ";cin>>kol;
for(int i=0;i<bar;i++){ //proses input data
for(int j=0;j<kol;j++){
cout<<"Masukkan data ["<<i<<"] ["<<j<<"] = ";
cin>>matriks[i][j];
}
}
for(int i=0;i<bar;i++){ //proses output data yg telah diinputkan
for(int j=0;j<kol;j++){
cout<<matriks[i][j]<<" ";
}
cout<<endl;
}
cout<<"Masukkan data yang dicari : "; cin>>cari;
for(int i=0;i<bar;i++){
for(int j=0;j<kol;j++){
if(matriks[i][j]==cari){ //apabila matriks = cari var counter akan brtmbah
x[i][j]=i; //var x dan y disini brfungsi untuk mnampung indeks data
y[i][j]=j;
counter++;
}
}
}
if(counter>0){
cout<<"Data "<<cari<<" berada pada posisi : "; //output indeks
for(int i=0;i<bar;i++){
for(int j=0;j<kol;j++){
if(matriks[i][j]==cari){
cout<<"["<<x[i][j]<<"]["<<y[i][j]<<"]"; //pengeluaran indeks yang tlah trsimpan
n++;
if(n==counter) break;
else cout<<" , ";
}
}
}
}
getch();
return 0;
}
Output:
2. Program untuk mencari data berupa huruf pada inputan yang berupa kalimat.
Script Program :
#include <iostream>
#include <conio.h>
#include <string.h>
using namespace std;
int main()
{
int vk,ks,spasi,angka,simbol; //deklarasi nilai counter
int n,jml=0; //variabel n Penerapan fungsi string
char cari;
char kalimat[100],a[100],b[100],c[100],d[100]; //variabel counter
vk=ks=spasi=angka=simbol=0;
cout <<"\t\tPROGRAM MENGKATEGORIKAN CHAR (KARAKTER)\n";
cout <<"\t\t=======================================\n\n";
cout <<"Masukkan Kalimat : ";
cin.getline(kalimat,sizeof(kalimat)); //input kalimat
n=strlen(kalimat); //fungsi untuk menentukan pnjang string
for(int i=0;i<n;i++){ //pengecekkan array
if(kalimat[i]=='a'||kalimat[i]=='i'||kalimat[i]=='u'||kalimat[i]=='e'||kalimat[i]=='o'){ //jika huruf vokal
a[vk]=kalimat[i];
vk++;
}
else if(kalimat[i]=='A'||kalimat[i]=='I'||kalimat[i]=='U'||kalimat[i]=='E'||kalimat[i]=='O'){//jika huruf vokal
a[vk]=kalimat[i];
vk++;
}
else if(kalimat[i]>='A' && kalimat[i]<='Z'){//jika huruf konsonal
b[ks]=kalimat[i];
ks++;
}
else if(kalimat[i]>='a' && kalimat[i]<='z'){////jika huruf konsonal
b[ks]=kalimat[i];
ks++;
}
else if(kalimat[i]>='0' && kalimat[i]<='9'){//jika angka
c[angka]=kalimat[i];
angka++;
}
else if(kalimat[i]==' '){//jika spasi
spasi++;
}
else{ //jika simbol
d[simbol]=kalimat[i];
simbol++;
}
}
cout<<"Jumlah Huruf Vokal\t= "<<vk<<" : ";
for(int i=0;i<vk;i++){ //pengeluaran huruf vokal
cout<<a[i]<<" ";
}
cout<<endl;
cout<<"Jumlah Huruf Konsonan\t= "<<ks<<" : ";
for(int i=0;i<ks;i++){ //pengeluaran huruf konsonal
cout<<b[i]<<" ";
}
cout<<endl;
cout<<"Jumlah Angka\t\t= "<<angka<<" : ";
for(int i=0;i<angka;i++){ //pengeluaran angka
cout<<c[i]<<" ";
}
cout<<endl;
cout<<"Jumlah simbol\t\t= "<<simbol<<" : ";
for(int i=0;i<simbol;i++){ //pengeluaran simbol
cout<<d[i]<<" ";
}
cout<<endl;
cout<<"Jumlah Spasi\t\t= "<<spasi<<endl<<endl;
cout<<"Masukkan data yang anda cari : "; cin>>cari;
for(int i=0;i<n;i++){ //pengecekkan data
if(kalimat[i]==cari){
jml++;
}
}
if(jml>0) //apabila jumlah >0 maka data ditmukan
cout<<jml<<" Data Ditemukan !!!";
else
cout<<" Data Tidak Ditemukan !!!";
getch();
}
#include <conio.h>
#include <string.h>
using namespace std;
int main()
{
int vk,ks,spasi,angka,simbol; //deklarasi nilai counter
int n,jml=0; //variabel n Penerapan fungsi string
char cari;
char kalimat[100],a[100],b[100],c[100],d[100]; //variabel counter
vk=ks=spasi=angka=simbol=0;
cout <<"\t\tPROGRAM MENGKATEGORIKAN CHAR (KARAKTER)\n";
cout <<"\t\t=======================================\n\n";
cout <<"Masukkan Kalimat : ";
cin.getline(kalimat,sizeof(kalimat)); //input kalimat
n=strlen(kalimat); //fungsi untuk menentukan pnjang string
for(int i=0;i<n;i++){ //pengecekkan array
if(kalimat[i]=='a'||kalimat[i]=='i'||kalimat[i]=='u'||kalimat[i]=='e'||kalimat[i]=='o'){ //jika huruf vokal
a[vk]=kalimat[i];
vk++;
}
else if(kalimat[i]=='A'||kalimat[i]=='I'||kalimat[i]=='U'||kalimat[i]=='E'||kalimat[i]=='O'){//jika huruf vokal
a[vk]=kalimat[i];
vk++;
}
else if(kalimat[i]>='A' && kalimat[i]<='Z'){//jika huruf konsonal
b[ks]=kalimat[i];
ks++;
}
else if(kalimat[i]>='a' && kalimat[i]<='z'){////jika huruf konsonal
b[ks]=kalimat[i];
ks++;
}
else if(kalimat[i]>='0' && kalimat[i]<='9'){//jika angka
c[angka]=kalimat[i];
angka++;
}
else if(kalimat[i]==' '){//jika spasi
spasi++;
}
else{ //jika simbol
d[simbol]=kalimat[i];
simbol++;
}
}
cout<<"Jumlah Huruf Vokal\t= "<<vk<<" : ";
for(int i=0;i<vk;i++){ //pengeluaran huruf vokal
cout<<a[i]<<" ";
}
cout<<endl;
cout<<"Jumlah Huruf Konsonan\t= "<<ks<<" : ";
for(int i=0;i<ks;i++){ //pengeluaran huruf konsonal
cout<<b[i]<<" ";
}
cout<<endl;
cout<<"Jumlah Angka\t\t= "<<angka<<" : ";
for(int i=0;i<angka;i++){ //pengeluaran angka
cout<<c[i]<<" ";
}
cout<<endl;
cout<<"Jumlah simbol\t\t= "<<simbol<<" : ";
for(int i=0;i<simbol;i++){ //pengeluaran simbol
cout<<d[i]<<" ";
}
cout<<endl;
cout<<"Jumlah Spasi\t\t= "<<spasi<<endl<<endl;
cout<<"Masukkan data yang anda cari : "; cin>>cari;
for(int i=0;i<n;i++){ //pengecekkan data
if(kalimat[i]==cari){
jml++;
}
}
if(jml>0) //apabila jumlah >0 maka data ditmukan
cout<<jml<<" Data Ditemukan !!!";
else
cout<<" Data Tidak Ditemukan !!!";
getch();
}
Output :
3. Program Untuk Mencari Bilangan Ganjil dan Bilangan Genap dari Data Angka yang Diinputkan Oleh User
Script Program :
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int bil[100],jml;
int ganjil=0,genap=0;
int x[100],y[100];
cout <<"\t\tPROGRAM MENCARI BILANGAN GANJIL DAN GENAP\n";
cout <<"\t\t======================================\n\n";
cout<<"Masukkan jumlah bilangan yang ingin diinput : ";cin>>jml;
for (int i=0;i<jml;i++){
cout<<"Bilangan ke-"<<i+1<<" : ";cin>>bil[i]; //input data oleh user
}
cout<<endl;
cout<<"Data yang ada : \n";
/* Output data yang ada */
for (int i=0;i<jml;i++){
cout<<bil[i]<<" ";
if(bil[i]%2==0){
x[genap]=i+1; //var untuk mengeluarkan indeks genap
genap++; //var untuk menghitung jumlah genap
}
else{
y[ganjil]=i+1; //var untuk mengeluarkan indeks ganjil
ganjil++; //var untuk menghitung jumlah ganjil
}
}cout<<endl;
/* Output Genap */
cout<<"Jumlah Bilangan Genap : "<<genap<<endl;
cout<<"Terletak Di Indeks : ";
if(genap==0)
cout<<"-"; //jika data genap kosong
else{ //output indeks ganjil jika ada
for(int i=0;i<genap;i++){
cout<<x[i]; //output indeks genap
if(i==genap-2) //pengeluaran kata 'dan' apabila indeks -1 dri akhir
cout<<" dan ";
else if(genap!=1 && i!=genap-1)
cout<<" , "; //pengeluaran simbol ' , ' jika data bukan 1 dan bukan data -1 dri akhir
}
}
cout<<endl;
/* Output Ganjil */
cout<<"\nJumlah Bilangan Ganjil : "<<ganjil<<endl;
cout<<"Terletak Di Indeks : ";
if(ganjil==0) //jika data ganjil kosong
cout<<"-";
else{ //output indeks ganjil jika ada
for(int i=0;i<ganjil;i++){
cout<<y[i]; //output indeks ganjil
if(i==ganjil-2)
cout<<" dan "; //pengeluaran kata 'dan' apabila indeks -1 dri akhir
else if(ganjil!=1 && i!=ganjil-1)
cout<<" , "; //pengeluaran simbol ' , ' jika data bukan 1 dan bukan data -1 dri akhir
}
}
getch();
return 0;
}
#include <conio.h>
using namespace std;
int main()
{
int bil[100],jml;
int ganjil=0,genap=0;
int x[100],y[100];
cout <<"\t\tPROGRAM MENCARI BILANGAN GANJIL DAN GENAP\n";
cout <<"\t\t======================================\n\n";
cout<<"Masukkan jumlah bilangan yang ingin diinput : ";cin>>jml;
for (int i=0;i<jml;i++){
cout<<"Bilangan ke-"<<i+1<<" : ";cin>>bil[i]; //input data oleh user
}
cout<<endl;
cout<<"Data yang ada : \n";
/* Output data yang ada */
for (int i=0;i<jml;i++){
cout<<bil[i]<<" ";
if(bil[i]%2==0){
x[genap]=i+1; //var untuk mengeluarkan indeks genap
genap++; //var untuk menghitung jumlah genap
}
else{
y[ganjil]=i+1; //var untuk mengeluarkan indeks ganjil
ganjil++; //var untuk menghitung jumlah ganjil
}
}cout<<endl;
/* Output Genap */
cout<<"Jumlah Bilangan Genap : "<<genap<<endl;
cout<<"Terletak Di Indeks : ";
if(genap==0)
cout<<"-"; //jika data genap kosong
else{ //output indeks ganjil jika ada
for(int i=0;i<genap;i++){
cout<<x[i]; //output indeks genap
if(i==genap-2) //pengeluaran kata 'dan' apabila indeks -1 dri akhir
cout<<" dan ";
else if(genap!=1 && i!=genap-1)
cout<<" , "; //pengeluaran simbol ' , ' jika data bukan 1 dan bukan data -1 dri akhir
}
}
cout<<endl;
/* Output Ganjil */
cout<<"\nJumlah Bilangan Ganjil : "<<ganjil<<endl;
cout<<"Terletak Di Indeks : ";
if(ganjil==0) //jika data ganjil kosong
cout<<"-";
else{ //output indeks ganjil jika ada
for(int i=0;i<ganjil;i++){
cout<<y[i]; //output indeks ganjil
if(i==ganjil-2)
cout<<" dan "; //pengeluaran kata 'dan' apabila indeks -1 dri akhir
else if(ganjil!=1 && i!=ganjil-1)
cout<<" , "; //pengeluaran simbol ' , ' jika data bukan 1 dan bukan data -1 dri akhir
}
}
getch();
return 0;
}
Output :
nice information min
BalasHapusSolder Blower