Kamis, 23 Februari 2017

Searching Array dalam Bahasa C++

Hai... Jumpa lagi dengan saya Isra Purnama Sari (E1E1 15 067)
Postingan kali ini kita akan membahas tentang searching array. Apa itu searching array? Searching array adalah teknik untuk mencari suatu data dalam sebuah array. 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. Untuk postingan kali ini saya akan memberikan contoh program searching array dengan menggunakan teknik sequential.
Berikut contoh programnya:


1. Program untuk mencari data pada array 2 dimensi

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

using namespace std;

int main()
{
    int P[50][50]; //mendeklarasikan variabel dan jumlah kolom serta baris array 2 dimensi maksimal 50 baris dan 50 kolom
    int baris,kolom; //mendeklarasikan variabel baris dan kolom untuk digunakan sebagai batas perulangan
    int i,j; //mendeklarasikan variabel untuk perulangan
    int cari; //mendeklarasikan variabel cari
    int flag=0; //mendeklarasikan variabel untuk dijadikan indikator pencarian data

    //meminta user untuk memasukkan jumlah baris dan kolom
    cout<<"Masukkan ukuran array yang anda inginkan"<<endl;
    cout<<"Berapa banyak baris : ";
    cin>>baris;     //menangkap nilai jumlah baris yang dimasukkan oleh user
    cout<<"Berapa banyak kolom : ";
    cin>>kolom;     //menangkap nilai jumlah kolom yang dimasukkan oleh user

    for(i=0;i<baris;i++) //melakukan pengulangan sebanyak jumlah baris yang telah diinputkan
    {
        for(j=0;j<kolom;j++) //melakukan pengulangan sebanyak jumlah kolom yang telah diinputkan
        {
            //meminta user untuk memasukkan nilai array
            cout<<"Array ke ["<<i<<"]["<<j<<"] : ";
            cin>>P[i][j]; //menangkap nilai array yang dimasukkan
        }
    }

    //Pengulangan untuk menampilkan array 2 dimensi yang telah diinputkan sebelumnya
    for(i=0;i<baris;i++)
    {
        for(j=0;j<kolom;j++)
        {
            cout<<P[i][j]<<" ";  //menampilkan array yang telah diinputkan
        }
        cout<<endl;
    }

    //meminta user untuk memasukkan data yang ingin dicari
    cout<<"Data yang dicari : ";
    cin>>cari;  //menangkap nilai yang dicari

    //pengulangan untuk menentukan letak nilai yang dicari
    for(i=0;i<baris;i++)
    {
        for(j=0;j<kolom;j++)
        {
            if(cari==P[i][j])   //percabangan yang menentukan apakah nilai dari variabel "cari" sama dengan nilai array
            {
                cout<<"data "<<cari<<" berada pada posisi ["<<i<<"]["<<j<<"]"<<endl; //menampilkan posisi data yang dicari
                flag=1;
            }
        }
    }
    if(flag==0)
    //pengulangan untuk menampilkan jika nilai yang dicari tidak ada
    for(i=0;i<baris;i++)
    {
        for(j=0;j<kolom;j++)
        {
            if(cari==P[i][j]) //percabangan yang menentukan apakah nilai dari variabel "cari" sama dengan nilai array tapi tidak menampilkannya
            {

            }
            else if(cari!=P[i][j])   //percabangan yang memnetukan jika nilai yang dicari tidak sama dengan nilai array
            {
                cout<<"data tidak ditemukan"<<endl;
                break;
            }
            break; //untuk menghentikan perulangan jika kondisi percabangan diatas terpenuhi
        }
        break;
    }
    getch();
    return 0 ;
}

Begini hasilnya programnya
Jika data yang dicari ditemukan

 Jika data yang dicari tidak ditemukan
 


2. Program untuk mencari data berupa huruf pada inputan yang berupa kalimat

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

using namespace std;

int main()
{
    int a; //mendeklarasikan variabel "a"  untuk digunakan sebagai nilai dari pengulangan
    int x; //mendeklarasikan variabel "x" untuk digunakan sebagai batas pengulangan
    char kalimat[200]; //mendeklarasikan arrai "kalimat" maksimum sebanyak 200
    int k=0,v=0; //mendeklarasikan variabel "k" untuk menghitung huruf konsonan dan variabel "v" untuk menghitung huruf vokal
    char cari; //mendeklarasikan variabel "cari" untuk digunakan mencari huruf

    //meminta user memasukkan sebuah kalimat
    cout<<"Masukkan kalimat : ";
    cin.getline(kalimat,200);  //menangkap kalimat yang dimasukkan oleh user

    x=strlen(kalimat);  //memperoleh jumlah karakter dalam sebuah kalimat/string

    //pengulangan untuk menghitung banyaknya huruf konsonan dan vokal
    for (a=0; a<x; a++)
    {
        if (kalimat[a]=='a' || kalimat[a]=='i' || kalimat[a]=='u' || kalimat[a]=='e' || kalimat[a]=='o')//percabangan yang menentukan hanya huruf vokal yang dapat masuk
        {
            v++;  //menghitung banyajnya variabel v yang masuk
        }
        else if(kalimat[a] == 'b' || kalimat[a] == 'c' || kalimat[a] == 'd' || kalimat[a] == 'f' || kalimat[a] == 'g' || kalimat[a] == 'h' ||
                kalimat[a] == 'j' || kalimat[a] == 'k' || kalimat[a] == 'l' || kalimat[a] == 'm' || kalimat[a] == 'n' || kalimat[a] == 'p' ||
                kalimat[a] == 'q' || kalimat[a] == 'r' || kalimat[a] == 's' || kalimat[a] == 't' || kalimat[a] == 'v' || kalimat[a] == 'w' ||
                kalimat[a] == 'x' || kalimat[a] == 'y' || kalimat[a] == 'z')//percabangan yang menentukan hanya huruf konsonan yang dapat masuk
        {
            k++;  //menghitung banyaknya variabel k yang masuk
        }
   }
   cout<<"\nHuruf Vokal = "<<v<<" = ";  //menampilkan jumlah huruf vokal
   //pengulangan untuk menampilkan huruf vokal yang ada pada kalimat
   for (a=0; a<x; a++){
        if (kalimat[a]=='a' || kalimat[a]=='i' || kalimat[a]=='u' || kalimat[a]=='e' || kalimat[a]=='o')//percabangan yang menentukan hanya huruf vokal yang dapat masuk
        {
            cout<<kalimat[a]<<" ";  //menampilkan huruf vokal
        }
   }
   cout<<"\nHuruf konsonan = "<<k<<" = "; //menampilkan jumlah huruf konsonan
   //pengulangan untuk menampilkan huruf konsonan yang ada pada kalimat
   for (a=0; a<x; a++){
        if (kalimat[a]=='a' || kalimat[a]=='i' || kalimat[a]=='u' || kalimat[a]=='e' || kalimat[a]=='o')
        {
        }
        else if(kalimat[a] == 'b' || kalimat[a] == 'c' || kalimat[a] == 'd' || kalimat[a] == 'f' || kalimat[a] == 'g' || kalimat[a] == 'h' ||
                kalimat[a] == 'j' || kalimat[a] == 'k' || kalimat[a] == 'l' || kalimat[a] == 'm' || kalimat[a] == 'n' || kalimat[a] == 'p' ||
                kalimat[a] == 'q' || kalimat[a] == 'r' || kalimat[a] == 's' || kalimat[a] == 't' || kalimat[a] == 'v' || kalimat[a] == 'w' ||
                kalimat[a] == 'x' || kalimat[a] == 'y' || kalimat[a] == 'z')
        {
            cout<<kalimat[a]<<" ";  //menampilkan huruf konsonan
        }
   }
   cout<<endl;
   //meminta user memasukkan sebuah huruf yang akan dicari
   cout<<"\nHuruf yang akan anda cari : ";
   cin>>cari;  //menangkap huruf yang telah diinputkan

   //pengulangan untuk mencari huruf yang diinputkan
   for (a=0; a<x; a++){
        if (kalimat[a]=='a' || kalimat[a]=='i' || kalimat[a]=='u' || kalimat[a]=='e' || kalimat[a]=='o') //percabangan yang menentukan hanya huruf vokal yang dapat masuk
            {
            if(kalimat[a]==cari) //percabangan yang menentukan jika huruf yang dicari sama dengan huruf yang ada pada array
            {
                //menampilkan jika huruf ditemukan
                cout<<"Data ditemukan..."<<endl;
                cout<<"Dari kalimat "<<kalimat;
                break;
            }
        }
        else if (kalimat[a] == 'b' || kalimat[a] == 'c' || kalimat[a] == 'd' || kalimat[a] == 'f' || kalimat[a] == 'g' || kalimat[a] == 'h' || kalimat[a] == 'j' || kalimat[a] == 'k' || kalimat[a] == 'l' || kalimat[a] == 'm' || kalimat[a] == 'n' || kalimat[a] == 'p' || kalimat[a] == 'q' || kalimat[a] == 'r' || kalimat[a] == 's' || kalimat[a] == 't' || kalimat[a] == 'v' || kalimat[a] == 'w' || kalimat[a] == 'x' || kalimat[a] == 'y' || kalimat[a] == 'z') //percabangan yang menentukan hanya huruf konsonan yang dapat masuk
        {
            if(kalimat[a]==cari)//percabangan yang menentukan jika huruf yang dicari sama dengan huruf yang ada pada array
            {
                cout<<"Data ditemukan..."<<endl;
                cout<<"Dari kalimat "<<kalimat;
                break;
            }
        }
        else{ //menampilkan jika data tidak dapat ditemukan
            cout<<"Data tidak ditemukan..."<<endl;
            cout<<"Dari kalimat "<<kalimat;
            break;
        }
    }
    getch();
    return 0;
}

Begini hasilnya programnya

Jika data yang dicari ditemukan

Jika data yang dicari tidak ditemukan


3. Program untuk mencari bilangan ganjil dan bilangan genap dari data angka yang diinputkan oleh user

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

using namespace std;

    int main()
{
    int I[50]; //mendeklarasikan maksimal 50 array
    int batas,s; //mendeklarasikan variabel batas dan "s" yang akan digunakan dalam perulangan

    //Meminta user memasukkan banyaknya data yang akan diinputan
    cout<<"Banyaknya nilai yang ingin diinputan : ";
    cin>>batas;  //menangkap nilai batas yang diinputkan

    //pengulangan untuk menginputkan data sebanyak batas yang ditentukan oleh user
    for(s=0; s<batas; s++)
    {
        cout<<"Data ke-"<<s+1<<" : ";
        cin>>I[s]; //menangkap nilai yang diinputkan
    }
    cout<<"\nData Anda : "<<endl;
    //pengulangan untuk menampilkan data yang telah diinputkan
    for(s=0; s<batas; s++)
    {
        cout<<I[s]<<" ";
    }
    cout<<endl;
    cout<<"\nData Ganjl "<<endl; //menampilan data ganjil
    //pengulangan untuk mencari data ganjil
    for(s=0; s<batas; s++)
    {
        if(I[s]%2!=0) //percabangan untuk menentukan bilangan ganjil
        cout<<I[s]<<" Berada Pada Indeks Ke-"<<s<<endl; //menampilkan data dan menentukan berada pada indeks ke berapa
    }
    cout<<"\nData Genap "<<endl; //menampilan data genap
    //pengulangan untuk mencari data genap
    for(s=0; s<batas; s++)
    {
        if(I[s]%2==0) //percabangan untuk menentukan bilangan genap
        cout<<I[s]<<" Berada Pada Indeks Ke-"<<s<<endl;  //menampilkan data dan menentukan berada pada indeks ke berapa
    }
    getch();
    return 0;

}

Begini hasilnya programnya


Sekian postingan kali ini tentang Searching Array pada bahasa C++ , semoga bermanfaat bagi teman-teman diruamah.


Tidak ada komentar:

Posting Komentar