Jumat, 24 Februari 2017

Praktikum Struktur Data Pencarian Array

Nama : Hafid Dwi Hibatullah
NIM : E1E1 15 063

  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.

    Code :

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

    using namespace std;

    int main()
    {
    int a[3][3],i,j,k,jml=0,cari,index1,index2,inti=0;

    cout<<"\t1. ARRAY 2 DIMENSI\n\n";

    for(k=1,i=0;i<3;i++)
    {
        for(j=0;j<3;j++,k++)
        {
            cout<<"Masukkan data "<<k<<" : "; cin>>a[i][j];
        }
    }
    cout<<"\nData yang anda masukkan adalah : \n\n";
    for(k=1,i=0;i<3;i++)
    {
        for(j=0;j<3;j++,k++)
        {
            cout<<a[i][j]<<"\t";
        }
        cout<<endl<<endl;
    }

    cout<<"Masukkan data yang ingin anda cari : "; cin>>cari;
    for(k=1,i=0;i<3;i++)
    {
        for(j=0;j<3;j++,k++)
        {
            if(a[i][j]==cari)
               {inti=1;jml++;}

        }
    }
    if(inti==1)
    {
        cout<<"\nData ditemukan!!\n";
        cout<<"\nDitemukan "<<jml<<" data!!\n";
        cout<<"\nData barada di index : ";
        for(k=1,i=0;i<3;i++)
        {
            for(j=0;j<3;j++,k++)
            {
                if(a[i][j]==cari)
                {

                    index1=i;
                    index2=j;
                    cout<<"["<<index1<<"]["<<index2<<"]  ";
                }
            }
        }
    }else
    cout<<"\nData nggak ditemukan!!\n";



    getch();
    return 0;
    }


    Screenshot:

     

    Penjelasan Program :
    1. User memasukkan data  array yang diatur dari [0][0] [0][1] [0][2] hingga [2][2].
    2. User memasukkan data yang ingin dicari, bila data terdapat pada array yang diinputkan maka akan di beritahukan ada berapa data yang di temukan dan berada di index ke berapa .
  2. Buat program untuk mencari data berupa huruf pada inputan yang berupa kalimat. (Opsional: hitung jumlah konsonan, dan vokal, poin plus 10).
    Output seperti contoh:
    Input : aku dan aka
    Output :
    Vokal : a u a a a
    Konsonan : k d n k
    Masukkan data yang akan anda cari : s

    Data tidak ada ...


    Code :
    #include <iostream>
    #include <conio.h>
    #include <string.h>

    using namespace std;

    int main()
    {
    int voc=0,kon=0,x,i,inti=0,spac=0;
    char kalimat[100],cari;

    cout<<"\t2. Vocal Konsonan\n\n";

    cout <<"Silakan masukkan kalimat : "; cin.getline(kalimat,100);


    x=strlen(kalimat);
    cout<<"\nHasil analisis kata :\n\n";
    for(i=0;i<x;i++)
        {
            if(kalimat[i]=='a'||kalimat[i]=='i'||kalimat[i]=='u'||kalimat[i]=='e'||kalimat[i]=='o')
            {
                voc++;
            }
            else if(kalimat[i]==' ')
            {
                spac++;
            }
            else
                kon++;
        }

    cout<<"Jumlah vocal\t: "<<voc<<" : ";

    for(i=0;i<x;i++)
        {
    if(kalimat[i]=='a'||kalimat[i]=='i'||kalimat[i]=='u'||kalimat[i]=='e'||kalimat[i]=='o')
            {
                cout<<kalimat[i]<<" ";
            }
        }

    cout<<"\nJumlah konsonan\t: "<<kon<<" : ";

    for(i=0;i<x;i++)
        {
            if(kalimat[i]=='a'||kalimat[i]=='i'||kalimat[i]=='u'||kalimat[i]=='e'||kalimat[i]=='o')
            {
                cout<<"";
            }
            else if(kalimat[i]==' ')
            {
                cout<<"";
            }
            else
                cout<<kalimat[i]<<" ";
        }


    cout<<"\n\nMasukkan data yang ingin anda cari : "; cin>>cari;
    for(i=0;i<x;i++)
        {
            if(kalimat[i]==cari)
            inti=1;
        }

        if(inti==1)
            {
                cout<<"Data ditemukan :D "<<endl<<cari<<" terdapat di dalam kalimat ini"<<endl<<"terdapat "<<spac<<" spasi dalam kalimat ini";
            }
            else
                cout<<"Data tidak ditemukan :'(";
    getch();
    return 0;
    }

    Screenshoot :
     


    Penjelasan Program :
    1. User memasukkan kalimat atau kata yang kemudian akan terhitung huruf vokal dan huruf konsonannya.
    2. User memasukkan huruf yang ingin dicari, bila terdapat huruf yang dicari maka akan muncul pemberitahuannya.


  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).



    Code :
    #include<iostream>
    #include<stdio.h>
    #include<conio.h>
    #include<string.h>


    using namespace std;

    int main()
    {
        int data[100],input,inti=0,i,index,jml=0;
        string daca;

        cout<<"\t3. Ganjil Genap\n\n";

        cout<<"\nMasukkan jumlah data  yang ingin di inputkan : "; cin>>input;
        for(i=1;i<=input;i++)
        {
            cout<<"Masuukan data ke-"<<i<<" = "; cin>>data[i];
        }
        cout<<"\nMasukkan data yang ingin anda cari (ganjil/genap): "; cin>>daca;

            if(daca=="ganjil"||daca=="Ganjil")
            {
                cout<<"\n\nData ganjil pada inputan adalah : "<<endl;
                for(i=1; i<=input; i++)
                {
                    if(data[i]%2==1)
                    {
                        cout<<"\t\t\t\t\t"<<data[i]<<" Pada index ke-"<<i<<endl;
                    }
                }
            }
            else if(daca=="genap"||daca=="Genap")
            {
                cout<<"\n\nData genap pada inputan adalah : "<<endl;
                for(i=1; i<=input; i++)
                {
                    if(data[i]%2==0)
                    {
                        cout<<"\t\t\t\t\t"<<data[i]<<" Pada index ke-"<<i<<endl;
                    }
                }
            }
            else
                    cout<<"\nPencarian salah!";

    getch();
    return 0;
    }


    Screenshot :



    Penjelasan Program :
    1. User memasuukan jumlah data yang ingin di inputkan, kemudian user memasukkan data sesuai dengan jumlah data yang telah diinputkan.
    2. User memasukkan pencarian data yang ingin dicari terdapat 2 pilihan yaitu ganjil dan genap , bila yg dimasukkan ganjil maka akan keluar hanya data ganjil dengan pada index ke berapa data tersebut dari data yang telah di inputkan di awal , bila yg dimasukkan genap maka akan keluar hanya data genap dengan pada index ke berapa data tersebut dari data yang telah di inputkan di awal , index dimulai dari 1.

Tidak ada komentar:

Posting Komentar