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:

Sabtu, 18 Februari 2017

Praktikum Struktur Data 2

Program Array dan Struct 

Pada C++






Assalamu'alaikum sobat teknik , kali ini saya akan share contoh program c++ array dan struct.
Saya akan membuat 4 program sesuai keterangan dibawah ini  :

1. Program penghapusan data dengan inputan berupa angka yang ingin dihapus oleh user. 
       Ketentuan : 

  •  Semua data yang sesuai dengan inputan user akan terhapus.  
  •  Bonus jika terdapat counter untuk menghitung berapa data yang terhapus. 

          
2. Program untuk melakukan update data. 
       Ketentuan : 

  •  Terdapat dua inputan, yaitu inputan data yang akan diubah dan data baru (data pengganti) 
  •  Semua data yang sesuai dengan inputan user akan diupdate nilainya.  


3. Program untuk melakukan penambahan data. 
     Ketentuan :

  •  Penambahan data dapat dilakukan di mana saja. 
  • Inputan dari user berupa : 
         o  Nilai yang akan ditambahkan
         o  Indeks ke berapa yang dituju
  • Setelah penambahan, maka jumlah data akan bertambah dan posisi data akan bergeser sesuai dengan penambahan yang telah dilakukan.  


4. Buatlah struct untuk data lagu yang berisi tentang judul lagu, penyanyi, tahun produksi, nomor   track dan kode album.  
          Ketentuan :   

  • program ini akan memiliki dua buah struct, yaitu struct lagu dan struct kodeRBT. 
  •  Jumlah data yang diinputkan dinamis (maks. 20 lagu) 

Berikut codingannya , jangan lupa untuk dipahami ya setiap codingannya !!!
Semoga bermanfaat . 


1. Program penghapusan data dengan inputan berupa angka yang ingin dihapus oleh user. 


Script Program :

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

using namespace std;

int main()
{

    int data[8]={2,12,6,12,12,7,6,12}; //isi data
    int hapus,terhapus=0;

    cout<<"\t\t Program Penghapusan Data Dengan Inputan Oleh User"<<endl<<endl;

    for(int n=0;n<=7;n++){ //keluarkan data
        cout<<data[n]<<" ";
    }
    cout<<"\nData yang Akan Dihapus : "; //inputan data yang ingin dihapus
    cin>>hapus;

    for(int n=0;n<=7;n++){
        if(data[n]==hapus) terhapus++;
         //data yang dihapus akan dicatat
    }

    if(terhapus>0){
        cout<<"\nData "<<hapus<<" Berhasil Dihapus!";
    }
    else {
        cout<<"\nData "<<hapus<<" Tidak Berhasil Dihapus !";
    }

    cout<<"\n\nData Sekarang : ";
    for(int n=0;n<=7;n++){

        if(data[n]!=hapus){ //data yang tidak terhapus akan dikluarkan
        cout<<data[n]<<" ";
        }

    }
    cout<<"\nJumlah Data yang Terhapus : "<<terhapus;

    getch();
    return 0;
}


Output:




2. Program untuk melakukan update data


Script Program :

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

using namespace std;

int main()
{

    int data[8]={2,12,6,12,12,7,6,12}; //isi data
    int ubah,pengganti,terubah=0;

    cout<<"\t\t Program Untuk Melakukan Update Data "<<endl<<endl;

    for(int n=0;n<=7;n++){ //keluarkan data
        cout<<data[n]<<" ";
    }
    cout<<"\nMasukkan Data yang Akan Diubah : "; //inputan data yang ingin dihapus
    cin>>ubah;
    cout<<"\nMasukkan Data Baru (Pengganti) : "; //inputan data yang ingin dihapus
    cin>>pengganti;


    for(int n=0;n<=7;n++){
        if(data[n]==ubah) terubah++;
         //data yang dihapus akan dicatat
    }

    if(terubah>0){
        cout<<"\nData "<<ubah<<" Berhasil Diubah!";
    }
    else {
        cout<<"\nData "<<ubah<<" Tidak Ada (Not Found)!";
    }

    cout<<"\n\nData Sekarang : ";
    for(int n=0;n<=7;n++){

        if(data[n]==ubah){ //data yang tidak terhapus akan dikluarkan
        data[n]=pengganti;
        cout<<data[n]<<" ";
        }
        else{
        cout<<data[n]<<" ";
        }
    }
    cout<<"\nJumlah Data yang Terubah : "<<terubah;

    getch();
    return 0;
}


Output :





3. Program untuk melakukan update data


Script Program :

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

using namespace std;

int main()
{

    int data[8]={2,12,6,12,12,7,6,12};
    int data_baru,indeks;

    cout<<"\t\t Program Untuk Melakukan Penambahan Data "<<endl<<endl;

    for(int n=0;n<=7;n++){ \\proses output data lama
        cout<<data[n]<<" ";
    }


    cout<<"\nMasukkan Data yang Akan Ditambahkan : ";
    cin>>data_baru;
    cout<<"\nMasukkan Indeks yang Dituju : ";
    cin>>indeks;

        if(indeks>0 && indeks<=9){   \\proses pengecekkan 
            cout<<"Data "<<data_baru<<" Berhasil Ditambahkan Di Indeks "<<indeks<<" !";
        }
        else{
            cout<<"Data "<<data_baru<<" Tidak Berhasil Ditambahkan Karna Indeks tujuan tidak ada!";
        getch();
        return 0;
        }

    cout<<"\n\nData Sekarang : ";
        
       int batas=indeks-1; 
        for(int n=8;n>=batas;n--){ \\proses memasukkan data baru dan mengeser data
             if(n==batas){
                data[n]=data_baru;
            }
            else {data[n]=data[n-1];
            }

        }

        for(int n=0;n<=8;n++){  \\data baru dikeluarkan
            cout<<data[n]<<" ";
        }


    getch();
    return 0;
}

Output :




4. Program Untuk Melakukan Input Data Lagu Menggunakan Struct


Script Program :


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

using namespace std;

struct lagu{
    char penyanyi[50],judul[50];
    int thn_prod;
    string kode_album,track;

};

struct kodeRBT{
    char telkomsel[10],xl[10],indosat[10];
};
struct musik{
    int id;
    lagu data_lagu;
    kodeRBT rbt;
};

int main()
{
    musik msk[20];
    int jml;


    cout<<"\t\t Program Untuk Melakukan Input Data Lagu "<<endl<<endl;

    cout<<"Masukkan Jumlah Lagu : ";
    cin>>jml;
    cout<<endl;

    for(int i=0;i<jml;i++) \\proses input 
    {
        cout<<"Lagu ke-"<<i+1<<endl;

        cout<<"ID Lagu              : ";cin>>msk[i].id;
        cout<<"Judul Lagu           : ";cin>>msk[i].data_lagu.judul;
        cout<<"Penyanyi             : ";cin>>msk[i].data_lagu.penyanyi;
        cout<<"Tahun Produksi       : ";cin>>msk[i].data_lagu.thn_prod;
        cout<<"Nomor Track          : ";cin>>msk[i].data_lagu.track;
        cout<<"Kode Album           : ";cin>>msk[i].data_lagu.kode_album;
        cout<<"Kode RBT "<<endl;
        cout<<"  1.Telkomsel        : " ;cin>>msk[i].rbt.telkomsel;
        cout<<"  2.Xl               : " ;cin>>msk[i].rbt.xl;
        cout<<"  3.Indosat          : " ;cin>>msk[i].rbt.indosat;



        cout<<endl; 
    }

    for(int i=0;i<jml;i++) \\proses output
     {
        cout<<"Lagu Ke-"<<i+1;
        cout<<"\n---------------------------------------------------------\n";

        cout<<"Id Lagu          : "<<msk[i].id<<endl;
        cout<<"Judul Lagu       : "<<msk[i].data_lagu.judul<<endl;
        cout<<"Penyanyi         : "<<msk[i].data_lagu.penyanyi<<endl;
        cout<<"Tahun Produksi   : "<<msk[i].data_lagu.thn_prod<<endl;
        cout<<"Nomor Track      : "<<msk[i].data_lagu.track<<endl;
        cout<<"Kode Album       : "<<msk[i].data_lagu.kode_album<<endl;
        cout<<"Kode RBT        \n";
        cout<<"  1.Telkomsel    : "<<msk[i].rbt.telkomsel<<endl;
        cout<<"  2.Xl           : " <<msk[i].rbt.xl<<endl;
        cout<<"  3.Indosat      : " <<msk[i].rbt.indosat<<endl;

        cout<<"========================================\n\n";
    }
    getch();

    return 0;
}


Output :





Share:

Minggu, 12 Februari 2017

Pra Praktikum Struktur Data

Program C++ Menghitung Rata-Rata Nilai Mahasiswa 


Assalamu'alaikum sobat teknik , kali ini saya akan share program c++ menghitung rata-rata nilai mahasiswa , dengan jumlah mahasiswa kita inputkan melalui keyboard .
Berikut codingannya , jangan lupa untuk dipahami ya setiap codingannya !!!
Semoga bermanfaat . 



#include <iostream>

using namespace std;

int main()
{
    int b[100];
    char nama[100][100];
    float tugas[100],uts[100],uas[100];
    float rata[100];
    float no;
    string kerapian[20];

    cout<<"\t\tProgram Menghitung Nilai Rata-Rata Mahasiswa"<<endl<<endl;
    cout<<"Masukkan jumlah mahasiswa: ";
    cin>>no;
    cout<<endl;
    
   //input data
    for (int i=1;i<=no;i++){
    cout<<"Masukkan nama mahasiswa : ";
        cin>>nama[i];
        cout<<"Masukkan nilai Tugas: ";
        cin>>tugas[i];
        cout<<"Masukkan nilai UTS  : ";
        cin>>uts[i];
        cout<<"Masukkan nilai UAS  : ";
        cin>>uas[i];
        cout<<"Masukkan nilai Kerapian(baik/buruk): ";
        cin>>kerapian[i];

       if(kerapian[i]=="baik"){
            b[i]=1;
        }
       else if(kerapian[i]=="buruk"){
            b[i]=0;
        }

        rata[i]=b[i]*(0.2*tugas[i]+0.3*uts[i]+0.5*uas[i]);

        cout<<endl;
        }


       
    //menampilkan data
 cout<<"Tampilkan Data"<<endl;
    for (int a=1;a<=no;a++){
        cout<<a<<" "<<"Nama : "<<nama[a]<<" "<<" Nilai Akhir : "<<rata[a]<<endl;
        }

    return 0;
}


Output:



Share:

Bosan Coding

Diberdayakan oleh Blogger.