Rabu, 22 Februari 2017

Searching Array C++

  Program Searching Array C++

Nama : Muh Saiful   
Nim   : E1E1 15 075






Proses pencarian (searching) merupakan proses menemukan nilai (data) tertentu di dalam sekumpulan data yang bertipe sama (baik bertipe dasar atau bertipe bentukan).
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 <iostream>
#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();
}

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;
}


Output :







Share:

1 komentar:

Bosan Coding

Diberdayakan oleh Blogger.