NIM : E1E1 15 037
Assalamu’Alaikum wr.wb
Ini adalah postingan tugas ke dua saya mata
kuliah struktur data semester 4. Tugas ke dua ini tentang Searching Array.
Searching array adalah 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.
1. Program untuk mencari data pada array 2 dimensi
1. Program untuk mencari data pada array 2 dimensi
#include <iostream>
#include <conio.h>
#include <stdio.h>
using namespace std;
int main()
{
int
A[80][80];//mendeklarasikan VARIABEL dan jumlah Kolom Dan baris array yaitu
maksimal 80
int
y=0;
int
z=0;
int
p, q, r=0, s, t, j, l=0, x=0;//mendeklarasikan variabel, dan jumlah baris serta
kolom untuk digunakan
sebagai batas perulangan
cout
<< "Masukan Data Array anda : " << endl;
cout
<< "Ukuran Baris : "; cin >>p;
cout
<< "Ukuran Kolom : "; cin >>q; //menangkap nilai jumlah
baris dan kolom yang dimasukkan oleh
user
int
e[p], k[q];
for(int t=0;t<p;t++){//meminta user untuk memasukan jumlah baris
cout<<"\nBaris :
"<<t<<endl;
for(int j=0; j<q; j++){//meminta user untuk memasukkan jumlah kolom
cout<<"Kolom :
"<<j<<" : "; cin>>A[t][j];
}
}
for(int t=0;t<p;t++){//melakukan pengulangan sebanyak jumlah baris
yang di inputkan
if(t<=p){
cout<<endl;
}
for(int j=0; j<q; j++){//melakukan pengulangan sebanyak jumlah kolom
yang diinputkan
cout<<A[t][j]<<" ";//menampilakan array yang telah
diinputkan
}
}
cout<<"\nPencarian Data"<<endl;//meminta user untuk nenasukkan data yang ingin dicari
cout<<"Cari
Data : "; cin>>s;//menangkap nilai yang dicari
//pengulangan untuk menentukan letak nilai yang di cari
for(int t=0;t<p;t++){
for(j=t; j<q; j++){
if(A[t][j]==s){
e[x]=t;
k[l]=j;
x++;l++;
r++;
}
}
}
for(int t=0; t<s; t++){
cout<<"\nData "<<s<<" berada pada posisi
["<<e[t]<<"]["<<k[t]<<"]";//menampilkan
posisi data yang di cari
}
return 0;
}
Hasil programnya:
penjelasannya:
Jadi program diatas user dapat menginputkan
terlebih dahulu berapa ukuran maksimumnya untuk ukuran baris dan kolomnya
sesuai keinginan user. Kemudian user dapat menginputkan nilai kolom dan baris
sesuai keinginannya dan dapat memasukan data yang hendak dicari . pada program
ini menunjukan posisi dari nilai yang di cari tersebut.
2. Program untuk mencari data berupa huruf pada inputan yang berupa kalimat.
#include <iostream>
#include <conio.h>
#include <string.h>
#include <stdio.h>
using namespace std;
int main()
{
int
flag=0,v=0,k=0,x=0,y=0;
char
cari,kal[150],vokal[150],kons[100];
cout<<"Masukan kalimat : "; gets(kal);
for(int a=0;kal[a];a++)
{
if((kal[a]=='a') || (kal[a]=='i') || (kal[a]=='u') || (kal[a]=='e') ||
(kal[a]=='o'))
{
v++;
vokal[x]=kal[a];
x++;
}
else if(kal[a]==' ')
{
}
else
{
k++;
kons[y]=kal[a];
y++;
}
}
cout<<"Output :\n";
cout<<"vokal : "<<v<<" = ";
for
(int a=0;a<v;a++)
{
cout<<vokal[a]<<" ";
}
cout<<"\n";
cout<<"konsonan : "<<k<<" = ";
for
(int a=0;a<k;a++)
{
cout<<kons[a]<<" ";
}
cout<<endl;
cout<<"Masukkan
data yang akan anda cari : "; cin>>cari;
for
(int b=0;kal[b];b++)
{
if(kal[b]==cari)
{
flag=1;
}
}
if(flag==1)
{
cout<<"Data ditemukan ";
}
else
{
cout<<"Data tidak ditemukan ";
}
getch();
return 0;
}
hasil programnya:
data yang tidak di temukan
data yang ditemukan :
penjelasan:
Pada program diatas si user memasukkan kalimat
yang diinginkan, kemudian membedakan antara huruf vokal dan konsonan. Si user
dapat memasukkan huruf yang ingin di cari misalnya u, dan jika huruf tersebut
ada pada kalimat yang tadi di masukkan si user pertama tadi, maka akan muncul
pemberitahuan bahwa huruf tersebut di temukan dan sebaliknya jika tidak di
temukan maka akan muncul pemberitahuan bahwa data tidak di temukan.
3. Program untuk mencari bilangan
ganjil dan bilangan genap dari data angka yang diinputkan oleh user serta memberikan
indeks untuk setiap data yang ditemukan.
#include <iostream>
#include <conio.h>
#include <stdio.h>
using namespace std;
main(){
int
a[12];
string cari;
cout<<"INPUTan : "<<endl;
for(int j=0; j<10; j++){
cout<<"Data ke-"<<j<<" : ";
cin>>a[j];
}
cout<<"\nData tersimpan !";
cout<<"\nCari data [ganjil||genap] : "; cin>>cari;
if(cari=="ganjil"){
for(int j=0; j<10; j++){
if(a[j]%2!=0){
cout<<"\nData ke-"<<j<<" :
"<<a[j];
}
}
}
else{
for(int j=0; j<10; j++){
if(a[j]%2==0){
cout<<"\nData ke-"<<j<<" : "<<a[j];
}
}
}
getch();
}
hasil programnya:
mencari nilai ganjil :
mencari nilai genap:
penjelasannya :
Pada program diatas si user dapat menginputkan
nilai sebanyak 10 nilai. Si user kemudian menginputkan nilai yang ingin di
cari, apakah itu berupa nilai genap atau ganjil dari nilai-nilai yang telah di
inputkan. kemudian akan menampilkan semua nilai ganjil atau genap dari data yang di masukkan.
terimakasih atas kunjungannya, semoga bermanfaat..
wassalamu'alaikum wr.wb
Tidak ada komentar:
Posting Komentar