Anda di halaman 1dari 8

1.

Buatlah program (Sequential search dan Binary Search)

Sequential search

//Nama                  : Krisna Arya Satria


//NIM                   : 20210803078
//prodi                 : Sistem Informasi
//Mata Kuliah           : Struktur Data
#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
    int nilai[20];
    int posisi[20];
    int i,n,bilangan,banyak=0;
    bool ketemu;
   
   
    //penginputan data
    cout<<"Masukan Banyaknya Data = ";
    cin>>n;
    cout<<endl;
   
    //pembacaan elemen array
    for (i=0 ; i<n ; i++){
        cout<<"Masukan Data ke - "<<i<<" = ";
        cin>>nilai[i];
    }
   
    //mencetak Elemen Array sebelumnya
    cout<<"\nDERET BILANGAN = ";
    for(i=0 ; i<n ; i++){
        cout<<nilai[i]<<"  ";
    }
   
   
    //penginputan data yg dicari
    cout<<"\nMasukan Bilangan yang akan dicari : ";
    cin>>bilangan;
   
    //melakukan pencarian data
    for(i=0 ; i<n ; i++){
        if(nilai[i] == bilangan) {
            ketemu = true;
            posisi[banyak]=i;
            banyak++;
        }
       
    }
    if(ketemu){
        cout<<"\nBilangan Yang dicari \t: "<<bilangan<<"\nDitemukan sebanyak \t:
"<<banyak<<" kali";
        cout<<"\nPada Data ke \t\t= ";
        for (i=0 ; i<banyak ; i++)
            cout<<posisi[i]<<"  ";
        }
    else
        cout<<"Bilangan "<<bilangan<<" Tidak ditemukan ..!!";
       

    return(0);
}

Bukti Program dijalankan


Binary search

//Nama                  : Krisna Arya Satria


//NIM                   : 20210803078
//prodi                 : Sistem Informasi
//Mata Kuliah           : Struktur Data
#include <iostream>
using namespace std;

int main () {
cout << "Membuat Array dan Mencari Nilai Array tersebut\n";
int angka[]={0,19,22,36,47,52,61,12,13,15,23,25,34,35,36,43,45};
int ukuranArray = sizeof(angka) /sizeof(*angka);
//sebelum itu kita akan menampilkan nilai arraynya terlebih dahuku mengguakan for
loop

cout << "\nDaftar Nilai dan Letak Indeksnya\n";


for (int indeks=0; indeks<ukuranArray; indeks++) {
    cout << "angka " << angka[indeks] << " terletak di indeks ke-" << indeks <<
endl;
}
//sekarang kita akan mencari nilai array menggunakan konsep binary search
int awal,akhir,nilaiTengah,angkaCari;
bool ketemu = false;
awal = 0;
akhir = 16;
nilaiTengah = (awal+akhir)/2;

cout << "\nmasukan nilai array yang akan dicari: ";


cin >> angkaCari;

while(angkaCari !=angka[nilaiTengah] && awal<akhir) {


    nilaiTengah = (awal+akhir)/2;
    angka[nilaiTengah];
    if (angkaCari > angka[nilaiTengah]) {
        awal = nilaiTengah + 1;
        nilaiTengah = (awal+akhir)/2;
        if (angkaCari == angka[nilaiTengah]) {
            ketemu = true;
        }
    }
    else {
        akhir = nilaiTengah - 1;
        nilaiTengah = (awal+akhir)/2;
            if (angkaCari == angka[nilaiTengah]) {
            ketemu = true;
        }
    }
}
if (ketemu == true) {
    cout << "DATA DITEMUKAN!!\n";
    cout << "NILAI " << angka[nilaiTengah] << " TERLETAK PADA INDEKS KE-" <<
nilaiTengah << endl;
}
else{
    cout << "DATA TIDAK DITEMUKAN";
}
return 0;
}

Bukti Program dijalankan


Buat program untuk mencari suatu data dan inputan berupa kalimat, hitung konsonan,vokal,numerik.

//Nama                  : Krisna Arya Satria


//NIM                   : 20210803078
//prodi                 : Sistem Informasi
//Mata Kuliah           : Struktur Data
#include <iostream>

using namespace std;

int main()
{
    string a;

    int o=0;
    int j=0;
    int m=0;
    int l=0;
    string c;
    cout <<"Input : ";getline(cin,a); //inputtan menggunakan getline, agar
karakter "spasi" dapat dibaca pada c++
    cout<<"Output : "<<endl;
    cout<<"Vokal : ";
    for (int z=0;z<a[z];z++) //looping menghitung jumlah huruf pada kalimat
inputan
        {
            o++;
        }

            for (int g=0;g<o;g++) //looping cek total huruf vokal


                {
                    if (a[g]=='a'||a[g]=='i'||a[g]=='u'||a[g]=='e'||a[g]=='o'||
a[g]=='A'||a[g]=='I'||a[g]=='U'||a[g]=='E'||a[g]=='O')
                        {
                            j++;
                        }
                }

    if (j>0) //jika paling tidak ada 1


        {
           cout<<j<<" = ";

            for (int g=0;g<o;g++)


                {
                   if (a[g]=='a'||a[g]=='i'||a[g]=='u'||a[g]=='e'||a[g]=='o'||
a[g]=='A'||a[g]=='I'||a[g]=='U'||a[g]=='E'||a[g]=='O')
                        {
                            cout<<a[g]<<" ";
                        }
                }
        }
    else //jika tak ada sama sekali
        {
            cout<<"Tak ada...";
        }
cout<<endl;
cout<<"Konsonan : ";
            for (int g=0;g<o;g++) //looping menghitung jumlah huruf konsonan
                {
                    if (a[g]=='b'||a[g]=='c'||a[g]=='d'||a[g]=='f'||a[g]=='g'||
a[g]=='h'||
                        a[g]=='j'||a[g]=='k'||a[g]=='l'||a[g]=='m'||a[g]=='n'||
a[g]=='p'||
                        a[g]=='q'||a[g]=='r'||a[g]=='s'||a[g]=='t'||a[g]=='v'||
a[g]=='w'||
                        a[g]=='x'||a[g]=='y'||a[g]=='z'||a[g]=='B'||a[g]=='C'||
a[g]=='D'||
                        a[g]=='F'||a[g]=='G'||a[g]=='H'||a[g]=='J'||a[g]=='K'||
a[g]=='L'||
                        a[g]=='M'||a[g]=='N'||a[g]=='P'||a[g]=='Q'||a[g]=='R'||
a[g]=='S'||
                        a[g]=='T'||a[g]=='V'||a[g]=='W'||a[g]=='X'||a[g]=='Y'||
a[g]=='Z')
                        {
                            m++;
                        }
                }

if (m>0) //jika paling tidak ada 1


    {
        cout<<m<<" = ";

            for (int g=0;g<o;g++)


                {
                    if (a[g]=='b'||a[g]=='c'||a[g]=='d'||a[g]=='f'||a[g]=='g'||
a[g]=='h'||
                        a[g]=='j'||a[g]=='k'||a[g]=='l'||a[g]=='m'||a[g]=='n'||
a[g]=='p'||
                        a[g]=='q'||a[g]=='r'||a[g]=='s'||a[g]=='t'||a[g]=='v'||
a[g]=='w'||
                        a[g]=='x'||a[g]=='y'||a[g]=='z'||a[g]=='B'||a[g]=='C'||
a[g]=='D'||
                        a[g]=='F'||a[g]=='G'||a[g]=='H'||a[g]=='J'||a[g]=='K'||
a[g]=='L'||
                        a[g]=='M'||a[g]=='N'||a[g]=='P'||a[g]=='Q'||a[g]=='R'||
a[g]=='S'||
                        a[g]=='T'||a[g]=='V'||a[g]=='W'||a[g]=='X'||a[g]=='Y'||
a[g]=='Z')
                        {
                            cout<<a[g]<<" ";
                        }
                }

    }
else //jika tak ada sama sekali
    {
        cout<<"Tak ada...";
    }
cout<<endl;
cout<<"Masukkan data yang akan anda cari : ";cin>>c;
cout<<endl;
cout<<"Data yang anda cari adalah --> "<<c[0]<<endl;
//mengingat data string itu adalah data menyimpan karakter perblok, jadi blok
yang kita pakai cukup blok 0 alias blok yang menyimpan karakter paling awal yang
diinput
for (int g=0;g<o;g++) //looping mengitung jumlah data yang sama dengan data yang
dicari
        {
            if (a[g]==c[0])
            {
                            l++;
            }
        }
cout<<endl;
if (l>0) //jika ada
    {
        cout<<"Data ditemukan, sebanyak "<<l<<" data";
    }
else //jika tidak ada
    {
        cout<<"Data tak ditemukan.... ";
    }
    return 0;
}

Ketika program dijalankan

Anda mungkin juga menyukai