Untuk tugas kali ini adalah membuat program menggunakan bahasa C++ dengan materi pencarian dalam array...







Soal 



JAWABAN




1. Array 2 Dimensi

Soal pertama ini, program yang akan di buat tentang array 2 dimensi. dimana user akan menentukan besar kecil array tersebut dan mengisi manual semua isi array. Setelah itu, data-data tersebut ditampilkan agar user dapat melihat datanya.

Setelah penginputan tersebut selesai, program akan mengulang 2 kali untuk melakukan pencarian data yang diinput oleh user dimana akan menampilkan data yang di dapat beserta letak indexnya.

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

using namespace std;

int main()
{
    int a,b,i,j;

    cout<<"Masukkan panjang baris : ";
    cin>>a;
    cout<<"Masukkan panjang kolom : ";
    cin>>b;

    cout<<endl;
    int x[a][b];

    for(i=0;i<a;i++)
        for(j=0;j<b;j++)
        {
            cout<<"Masukkan array ["<<i<<"]["<<j<<"] : ";
            cin>>x[i][j];
        }

    cout<<endl;

    for(i=0;i<a;i++)
    {
        for(j=0;j<b;j++)
        {
            cout<<x[i][j]<<" ";

        }
        cout<<endl;
    }

    int cari, index;
    bool ada=false;


for(int k=0; k<2;k++)
{
    cout<<"\nCari data : ";
    cin>>cari;
    for(i=0;i<a;i++)
    {
        for(j=0;j<b;j++)
        {
            if(x[i][j]==cari)
            {
                cout<<"Data "<<cari<<" Berada pada posisi ["<<i<<"]["<<j<<"]\n\n";
                ada=true;
            }
        }
    }

    if(!ada)
        cout<<"Data tidak ada \n\n";
    ada=false;

}

    getch();
    return 0;
}

Hasil



2. Pemisahan Huruf

Program selanjutnya, membuat program yang menginput kata-kata. kemudian kata tersebuat akan di pisah-pisahkan mana yang huruf vokal dan mana yang konsonan beserta masing-masing jumlahnya.

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

using namespace std;

int main()
{
    int i, j, jml=0;

    string data;
    string vokal[]={"a","i","u","e","o"};
    bool ada=false;

    cout<<"Masukkan data : ";
    getline(cin,data);



    for(i=0; i<data.length(); i++)
    {
        jml++;
    }

    string vok[jml], kon[jml], D[jml];
    int x=0,y=0;

    for(i=0;i<jml;i++)
    {
        D[i]=data[i];
    }

    for(i=0;i<jml;i++)
    {
        for(j=0;j<5;j++)
        {
            if(D[i]==vokal[j])
            {
                vok[x]=D[i];
                ada=true;
                x++;
            }
        }
        if(ada==false)
        {
            if(D[i]!=" ")
            {
                kon[y]=D[i];
                y++;
            }

        }
        ada=false;
    }

    cout<<"\nVokal = "<<x<<" = ";
    for(i=0;i<x;i++)
        cout<<vok[i]<<" ";

    cout<<"\n\nKonsonan = "<<y<<" = ";
    for(i=0;i<y;i++)
        cout<<kon[i]<<" ";

    string cari;
    bool add=false;

    cout<<"\n\nMasukkan data yang ingin dicari : ";
    cin>>cari;

    for(i=0;i<jml;i++)
    {
        if(D[i]==cari)
        {
            cout<<"Data ditemukan ";
            add=true;
            break;
        }

    }
    if(add==false)
        cout<<"Data tidak ditemukan ";


    getch();
    return 0;
}

Hasil


3. Pemisahan Angka

Di program terakhir ini, user akan memasukkan data-data. dimana data-data ini akan dipisah-pisahkan antara genap dan ganjil.

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

using namespace std;

int main()
{
    int mdat,i,j;
    cout<<"Masukkan jumlah data : ";
    cin>>mdat;

    int A[mdat], genap[mdat][2], ganjil[mdat][2], a=0, b=0;
    string cari;

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

    cout<<"Tekan 'Enter' untuk memulai mencari angka ganjil dan genap\n\n";
    getch();

    for(i=0;i<mdat;i++)
    {
        if(A[i]%2==0)
        {
            genap[a][0]=A[i];
            genap[a][1]=i;
            a++;
        }
        else
        {
            ganjil[b][0]=A[i];
            ganjil[b][1]=i;
            b++;
        }
    }
    cout<<"Data Genap \n";
    for(i=0;i<a;i++)
        cout<<i+1<<". Index ke-"<<genap[i][1]<<" = "<<genap[i][0]<<endl;

    cout<<"\nData Ganjil \n";
    for(i=0;i<b;i++)
        cout<<i+1<<". Index ke-"<<ganjil[i][1]<<" = "<<ganjil[i][0]<<endl;


    return 0;
}

Hasil


Leave a Reply

Subscribe to Posts | Subscribe to Comments