Searching Array (Praktikum 3 Struktur Data)

Tugas Searching Array (Praktikum 3)

Nama : Arlin
NIM   : E1E115006

1. Buatlah program untuk mencari data pada array 2 dimensi (opsional:
    tambahkan kode program untuk memberi inputan data dan ukuran array, poin plus 10)
    Contoh data array:
    1 3 2
    10 5 8
    15 24 10
    yang dicari: 24
    output : data 24 berada pada posisi [2][1]
    yang dicari: 2
    output:  data 2 berada pada posisi [0][2]
    petunjuk: gunakan sequential search, karena data tidak diurutkan, terdapat 2
    looping untuk proses pencarian.

Source Code:

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

using namespace std;

int main()
{
    int b,k; //untuk deklarasi
    int total;
    cout<<"Masukan Jumlah Baris : "; cin>>b; //jumlah baris
    cout<<"Masukan Jumlah Kolom : "; cin>>k; //jumlah kolom
    cout<<endl;
    int A[b][k];
    int bar[b];
    int kol[k];
    int m=0,n=0,batas=0;
    for(int i=0;i<b;i++) //looping data
    {
        for(int j=0;j<k;j++) //looping data
        {
            cout<<"Masukan Data Ke ["<<i<<"] ["<<j<<"] = ";
            cin>>A[i][j]; //inputan data array 
        }
    }
    cout<<endl;
    for(int i=0;i<b;i++)
    {
        for(int j=0;j<k;j++)
        {
            cout<<A[i][j]<<" "; //menampilkan data setekah di input
        }
        cout<<endl;
    }
    cout<<"Masukan data yang akan di cari "; cin>>total; //input data yang di cari
    for(int i=0;i<b;i++)
    {
        for(int j=0;j<k;j++)
        {
            if(A[i][j]==total)
            {
                bar[m]=i;
                kol[n]=j;
                m++;
                n++;
                batas++;
            }
        }
    }
    cout<<endl;
    for(int i=0;i<batas;i++)
    {
        cout<<"Data "<<total<<" Terletak di Posisi ["<<bar[i]<<"] ["<<kol[i]<<"]"<<endl; // posisi data yang di cari
    }

    getch();
    return 0;
}

Screenshot Program:



2. Buat program untuk mencari data berupa huruf pada inputan yang berupa kalimat.

Source Code:

#include <iostream>
#include <conio.h>
#include <string.h>
using namespace std;

int main()
{
    int max=500,flag=0; //deklarasi
    char cari;
    char vok[max];
    char vokal1 [max];
    char konsonan1 [max];
    int vokal=0,konsonan=0,a=0,b=0,c=0;
    cout<<"Masukan Kata: "; //input kata
    cin.getline(vok,500); //untuk membuat spasi bisa terbaca
    for(int i=0; vok[i];i++)
    {
        if((vok[i]=='a') || (vok[i]=='i') || (vok[i]=='u') || (vok[i]=='e')|| (vok[i]=='o')) //untuk pembacaan huruf vokal
            {
                vokal++;
                vokal1[a]=vok[i];
                a++;

             }
             else if (vok[i]==' ')
             {

             }
             else
             {
                 konsonan ++;
                 konsonan1[b]=vok[i];
                 b++;
             }

    }
    cout<<endl;
    cout<<"Vokal = "<<vokal<<" = "; //hasil dari huruf vokal

    for (int i=0;i<vokal;i++)
    {
        cout<<vokal1[i]<<" ";
    }
    cout<<endl;
    cout<<"Konsonan = "<<konsonan<<" : "; //hasil dari huruf konsonan
    for(int i=0;i<konsonan;i++)
    {
        cout<<konsonan1[i]<<" ";
    }
    cout<<endl<<"Huruf yang akan di cari : ";cin>>cari;

    for(int i=0;vok[i];i++) //looping pencarian indek huruf
    {
        if(vok[i]==cari)
        {
            flag=1;
            c++;
                cout<<"\nData Huruf ditemukan pada index ke - "<<i;
        }
    }

    if(flag==0)
    {
        cout<<"Data Huruf tidak ditemukan";
    }
    getch();
    return 0;
}

Screenshot Program:

a. Cari Huruf Vokal

b. Cari Huruf Konsonan



3. Buat program untuk mencari bilangan ganjil dan bilangan genap dari data angka yang diinputkan       oleh user (opsional: berikan indeks untuk setiap data yang ditemukan, nilai plus 10). 

Source Code:

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

using namespace std;

int main()
{
    int A[100];
    int b,c;
    cout<<"Masukan Jumlah Data : "; cin>>b; //input jumlah data
    cout<<endl;
    for(int i=0;i<=b-1;i++)
    {
        cout<<"Masukan Data ke - "<<i+1<<" = "; cin>>A[i];//input data
    }
    for(int i=0;i<=b-1;i++)//perulangan data
    {
        cout<<" "<<A[i]; //output data yang di input
    }
    cout<<endl;
    cout<<"Masukan data yang akan di cari Ganjil=1 dan Genap=2 : ";
    cin>>c;//pilihan untuk menampilkan data ganjil & genap

    if(c==1)
    {
        for(int i=0;i<=b-1;i++)
        {
            if(A[i]%2!=0) //untuk data ganjil
            {
                cout<<"\nTerdapat pada indeks ke - "<<i+1<<" = "<<A[i];
            }
        }
    }
    else if(c==2)
    {
        for(int i=0;i<=b-1;i++)
        {
            if(A[i]%2==0) //untuk data genap
            {
                cout<<"\nTerdapat pada indeks ke - "<<i+1<<" = "<<A[i]; //untuk posisi indeks data
            }
        }
    }
    getch();
    return 0;
}


Screenshot Program:
a. Ganjil

b. Genap


Komentar

Postingan populer dari blog ini

Tugas Struktur Data Praktikum 2

Praktikum 5 - Queue dan Postfix, Infix