Senin, 27 Februari 2017

Tugas 2 Struktur Data

Assalamualaikum.Wr.Wb.

1. Buatlah program untuk mencari data pada array 2 dimensi (opsional: tambahkan kode program untuk memberi inputan data dan ukuran array.

codingannya sbb :

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

using namespace std;

int main()
{
    int data[100][100];
    int bts_baris, bts_kolom, b, k, cari, flag=0;
    cout<<"Ukuran array"<<endl;
    cout<<"Masukkan Baris = "; cin>>bts_baris;
    cout<<"Masukkan Kolom = "; cin>>bts_kolom;

    for(b=0;b<bts_baris;b++){   //looping untuk baris
        for(k=0;k<bts_kolom;k++){   //looping untuk kolom, dan dselesaikan hingga for nya bernilai salah
            cout<<"Data Array, baris("<<b<<") kolom("<<k<<")  : ";cin>>data[b][k]; // menginputkan data pada array
        }
    }

    for(b=0;b<bts_baris;b++){
        for(k=0;k<bts_kolom;k++){
            cout<<data[b][k]<<"     "; // menampilkan data yang telah diinputkan 
        }
        cout<<endl;
    }

    cout<<"Masukkan data yang ingin dicari = "; cin>>cari;

    for(b=0;b<bts_baris;b++){
        for(k=0;k<bts_kolom;k++){
            if(cari==data[b][k]) { // kondisi dimana data yang dicari sama dengan data array
                cout<<"data "<<cari<<" berada pada posisi ["<<b<<"]["<<k<<"]"<<endl; // posisi data yang dicari pada index
                flag=1; // variable jika data ditemukan
            }
        }
    }


    if (flag==1){
        cout<<"data ditemukan!!!"<<endl; 
    }
    else {
        cout<<"data tidak ditemukan!!!"<<endl;
    }
    getch();
    return 0 ;
}

outputnya yaitu : 


















2. Buat program untuk mencari data berupa huruf pada inputan yang berupa kalimat. (Opsional: hitung jumlah konsonan, dan vokal). 

codingannya sbb  :

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

using namespace std;

int main()
{
    int v=0,k=0,s=0; //variable untuk konsonan dan spasi
    int flag=0, x, i;
    char kalimat[100],cari;

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

    x=strlen(kalimat);
    cout<<endl;
    cout<<"Hasil : "<<endl;
    for(i=0;i<x;i++){  //looping untuk menghitung jumlah huruf vokal,konsonan dan spasi
            if(kalimat[i]=='a'||kalimat[i]=='i'||kalimat[i]=='u'||kalimat[i]=='e'||kalimat[i]=='o') {
                v++;   //mengitung jumlah huruf vokal
            }
            else if(kalimat[i]==' '){
                s++;   // menghitung jumlah huruf spasi
            }
            else
                k++; //menghitung jumlah huruf konsonan
        }
    cout<<"Huruf Vocal = "<<v<<" = ";   //menampilkan jumlah huruf vokal

    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<<endl;
    cout<<"Huruf konsonan = "<<k<<" = ";   //menampilkan jumlah huruf konsonan

    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<<endl;
    cout<<"jumlah spasi = "<<s;
    cout<<endl;
    cout<<"Masukkan data yang ingin dicari : "; cin>>cari;
    for(i=0;i<x;i++){
            if(kalimat[i]==cari)   //kondisi untuk mencari huruf
            flag=1;    //jika ditemukkan
        }

        if(flag==1){
                cout<<"Data ditemukan.."<<endl;
            }
            else{
                cout<<"Data tidak ditemukan..";
            }
    getch();
    return 0;
}


outputnya yaitu :













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)

codingannya sbb :

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

using namespace std;

    int main()
{
    int data[100], batas, i;   //membuat variable
    string kata;   //variable menginputkan huruf
    cout<<"Masukkan batas = "; cin>>batas;
    for (i=0; i<batas; i++){   //looping untuk menginput data
        cout<<"Masukkan data ke-"<<i<<" = "; cin>>data[i];
    }
    cout<<endl;
    cout<<"Data Anda = "<<endl;
    for (i=0; i<batas; i++){
        cout<<"Masukkan data ke-"<<i<<" = "<<data[i]<<endl;   //menampilkan data yang di inputkan
    }
    cout<<"tampilkan ganjil atau genap = "; cin>>kata;  //menginpukan kata

    if (kata=="ganjil"){    //jika diinputkan data yang ganjil
        cout<<"data ganjil : "<<endl<<endl;
        for(i=0; i<batas; i++){
        if(data[i]%2!=0){   //rumus mencari nilai ganjil
            cout<<data[i]<<" Berada Pada Indeks Ke-"<<i<<endl;   //menampilkan data ganjil
        }

    }
    }
    else if (kata=="genap"){   //jika diinputkan data genap
         cout<<"data genap : "<<endl<<endl;
        for (i=0; i<batas; i++){
            if(data[i]%2==0){   //rumus mencari nilai genap
                cout<<data[i]<<" Berada Pada Indeks Ke-"<<i+1<<endl;   //menampilkan data genap
            }

        }
    }
    else {
        cout<<"EROR! "<<endl;
    }
    getch();
    return 0;

}


output pertamanya :














output keduannya :

















TUGAS TAMBAHAN 

 Buka Modul PRAKTIKUM 3 SEARCHING ARRAY 
 
1. Kerjakan contoh 3, tambahkan code program untuk menampilkan indeks data yang dicari, jika data tersebut ditemukan SERTA tambahkan inputan untuk jumlah data awal dan nilai inputan yang dimasukkan.  
 

codingannya sbb :

#include <stdio.h>
#include <iostream>
using namespace std;

int main()
{
   int data[100], batas, flag=0, i, cari, awal, tengah, akhir;
   awal=0;
   cout<<"Masukkan banyaknya data yang di inginkan : "; cin>>batas;
   for (i=0; i<batas; i++){
    cout<<"Masukkan data "<<i+1<<" : "; cin>>data[i];
   }
   cout<<endl;
   cout<<"data "<<endl;
   for (i=0; i<batas; i++){
    cout<<data[i]<<" ";
   }
   akhir=batas;
    cout<<endl;
   cout<<"data yang dicari "; cin>>cari;
    while (awal<=akhir && flag==0){
        tengah=(awal+akhir)/2;
        cout<<"data tengah --> "<<tengah<<" data ke-"<<data[tengah]<<endl;
        if (data[tengah]==cari){
            flag=1;
            break;
        }
        else if (data[tengah]<cari){
            awal=tengah;
            cout<<"cari di bagian kanan"<<endl<<endl;
        }
        else {
            akhir=tengah-1;
            cout<<"cari di bagian kiri"<<endl<<endl;
        }
    }
    cout<<endl;
     if (flag==1) {
        cout<<"DATA DITEMUKAN !"<<endl;
        for (i=0; i<10; i++){
            if (data[i]==cari)
            cout<<"Data berada pada index ke-"<<i+1<<endl;
        }

     }
    else
        cout<<"NOT FOUND !";
}


outputnya yaitu :


















2. Kerjakan contoh 4, tambahkan code program untuk menampilkan indeks data yang dicari, jika data tersebut ditemukan SERTA tambahkan inputan untuk banyak data awal dan nilai inputan yang dimasukkan. 


codingannya sbb :

#include <stdio.h>
#include <iostream>
using namespace std;

int main()
{
   int data[100], batas, flag=0, i, cari;

   cout<<"Masukkan banyaknya data : "; cin>>batas;
   for (i=0; i<batas; i++){
    cout<<"Data "<<i+1<<" : "; cin>>data[i];
   }
   cout<<endl;
   cout<<"data "<<endl;
   for (i=0; i<batas; i++){
    cout<<data[i]<<" ";
   }
    cout<<endl;
   cout<<"data yang dicari "; cin>>cari;
    for (i=0; i<batas; i++){
    if (data[i]==cari){
        cout<<"data ditemukan, pada index ke-"<<i+1<<endl;
    }
   }
}


outputnya yaitu :



Tidak ada komentar:

Posting Komentar