Senin, 27 Februari 2017

Program c++ untuk mencari bilangan ganjil dan genap dalam suatu array



Oleh Muh. Izhar Akhirul Safar E1E1 15 080 Jurusan Teknik Informatika, Fakultas Teknik, Universitas Halu Oleo


Berikut codingnya : 

#include <iostream>

using namespace std;

int main()
{
    int y;
    int t=0;
    int q=0;
    cout << "Masukkan jumlah data yang diinginkan : ";cin>>y;
    int a[y];

    for (int b=0;b<y;b++) //looping menginput data ke array
        {
            cout<<"Masukkan data untuk indeks ["<<b<<"] : ";cin>>a[b];

        }
    cout<<endl;
    for (int b=0;b<y;b++) //looping display data
        {
            cout<<"Array indeks["<<b<<"] = "<<a[b]<<endl;

        }
    cout<<endl;

    cout<<"Data yang bernilai genap : "<<endl;
     for (int b=0;b<y;b++) //looping cek data bernilai genap
        {
            if (a[b]%2==0)
                {
                     cout<<"Array indeks["<<b<<"] = "<<a[b]<<endl;
                     t++;
                }

        }
        if (t==0) //jika tak ada data genap
            {
              cout<<"Tak ditemukan data bernilai genap"<<endl;
            }
        cout<<endl;
        cout<<"Data yang bernilai ganjil : "<<endl;
     for (int b=0;b<y;b++) //looping cek data bernilai ganjil
        {
            if (a[b]%2==1)
                {
                     cout<<"Array indeks["<<b<<"] = "<<a[b]<<endl;
                     q++;
                }

        }
         if (q==0) //jika tak ada data ganjil
            {
              cout<<"Tak ditemukan data bernilai ganjil"<<endl;
            }
    return 0;
}

Preview :

Program c++ untuk menghitung jumlah huruf konsonan dan vokal pada kalimat yang diinput



Oleh Muh. Izhar Akhirul Safar E1E1 15 080 Jurusan Teknik Informatika, Fakultas Teknik, Universitas Halu Oleo


Berikut codingnya : 

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



Preview : 


Program c++ pencari data dalam array dimensi 2


Oleh Muh. Izhar Akhirul Safar E1E1 15 080 Jurusan Teknik Informatika, Fakultas Teknik, Universitas Halu Oleo
 
Berikut codingnya :

#include <iostream>

using namespace std;

int main()
{  int x,y,c;
    int bendera=0;
    int j=0;
    int p=0;
    cout << "Masukkan jumlah kolom : ";cin>>x; //lebar array
    cout<<"Masukkan jumlah baris : ";cin>>y; //panjang array
    int a[y][x];

    for (int b=0;b<y;b++) //looping input data
        {
            for (int n=0;n<x;n++)
                {
                    cout<<"Masukkan data untuk indeks ["<<b<<"]"<<"["<<n<<"] ";cin>>a[b][n];
                }
        }

    for (int b=0;b<y;b++) //looping output matriks
        {   cout<<endl;
            for (int n=0;n<x;n++)
                {
                    cout<<a[b][n]<<" ";
                }

        }
        cout<<endl;
        cout<<endl;
        cout<<"Masukkan data yang ingin dicari : ";cin>>c;
        cout<<endl;

    for (int b=0;b<y;b++) //looping pencari data yang dicari
        {
            for (int n=0;n<x;n++)
                {
                    if (a[b][n]==c)
                        {
                            bendera=1;
                            j++;
                        }
                }

        }

    if (bendera==1) //jika ditemukan
        {
            cout<<"Data "<<c<<" ditemukan pada posisi";
            for (int b=0;b<y;b++)
        {
            for (int n=0;n<x;n++)
                {
                    if (a[b][n]==c)
                        {   p++;
                            if (p>1)
                                {
                                    cout<<",";
                                }
                            cout<<" ["<<b<<"]"<<"["<<n<<"]";
                        }
                }

        }
        cout<<"...jadi total data yang ditemukan sebanyak "<<j<<" data";
        }
    else //jika tidak
        {
            cout<<"Data tak ditemukan";
        }
    return 0;
}

Preview :

Senin, 20 Februari 2017

Program c++ untuk menghitung keliling dan luas lingkaran dengan menggunakan struct berisi data static

Berikut codingnya :

#include <iostream>
#include <conio.h>
#define phi 3.14
using namespace std;

struct lingkaran{ //dalam c++, pendeklarasian data bertipe static dalam struct, variabel dalam struct harus dibuat static secara satu per satu
  static float jari2;
  static float keliling;
  static float luas;
};
 float lingkaran::jari2; //lalu kemudian diinisialisasikan seperti penulisan disamping, guna menjadi patokan untuk penulisan data bertipe static yang ada dalam struct.
  float lingkaran::keliling;
  float lingkaran::luas;

void luasLingkaran(){ //void untuk mengeluarkan hasil dari penghitungan luas lingkaran
     lingkaran::luas = lingkaran::jari2 * lingkaran::jari2 * phi;
     cout<<"\nLuas lingkaran = "<<lingkaran::luas;
}

float kelLingkaran(float j){ //ini merupakan float untuk nilai keliling lingkaran

      return 2*phi*lingkaran::jari2;
}
int main(){

     cout<<"Jari-jari = ";cin>>lingkaran::jari2;
     luasLingkaran(); //pemanggilan void luas lingkaran tadi
     lingkaran::keliling = kelLingkaran(lingkaran::jari2); //menampilkan isi dalam float kellingkaran tadi, nilainya dimasukkan ke variabel keliling dalam struct
     cout<<"\nKeliling lingkaran = "<<lingkaran::keliling;
     getch();
}
 
Preview :
 

Program c++ input info login user dengan struct

Berikut codingnya :

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

struct Date{
          int dd;
          int mm;
          int yyyy;
        };
struct Time{
          int h;
          int m;
          int s;
        };
struct Login{ //struct untuk mengakumulasikan struct time dan date
          int ID;
          Date tglLogin;
          Time waktuLogin;
        };
int main(){
     Login user[2]; //struct login dideklarasikan menjadi variabel baru yang bersifat array
     for(int i=0;i<2;i++){ //looping untuk menginput dan menampilkan data
         cout<<"USER ke-"<<i+1<<endl;
        cout<<"ID : ";cin>>user[i].ID;
         cout<<"Tanggal Login\n";
         cout<<"Tanggal : ";cin>>user[i].tglLogin.dd; //cara menginputkan data pada struct, titik berfungsi untuk menspesifikasikan variabel mana yang akan diinput data
        cout<<"Bulan : ";cin>>user[i].tglLogin.mm;
        cout<<"Tahun : ";cin>>user[i].tglLogin.yyyy;
         cout<<"Waktu Login\n";
         cout<<"Jam : ";cin>>user[i].waktuLogin.h;
         cout<<"Menit : ";cin>>user[i].waktuLogin.m;
        cout<<"Detik : ";cin>>user[i].waktuLogin.s;
         cout<<"Terimakasih Atas Pengisiannya\n";

         cout<<"\nData User ke-:"<<i+1<<endl; //menampilkan data yang telah diinput
         cout<<"Login ID : "<<user[i].ID<<endl;
         cout<<"Login Date : "<<user[i].tglLogin.dd<<" "<<user[i].tglLogin.mm<<" "<<user[i].tglLogin.yyyy<<endl;
         cout<<"Login Time : "<<user[i].waktuLogin.h<<" "<<user[i].waktuLogin.m<<" "<<user[i].waktuLogin.s<<endl;
     }
     getch();
}

Preview :

Program untuk menampilkan list lagu dengan menggunakan struct

Program c++ ini memiliki ketentuan sebagai berikut :
- program ini akan memiliki dua buah struct, yaitu struct lagu dan struct kodeRBT.
- Jumlah data yang diinputkan dinamis (maks. 20 lagu)

Berikut codingannnya :

#include <iostream>
#include <conio.h>
#include <stdlib.h>
using namespace std;

struct Lagu{
          string judullagu;
          string penyayi;
        };
struct KodeRBT{
          string tahunprod;
          string notrack;
          string kodealb;
        };
struct conclusion //struct ini berfungsi untuk mengakumulasikan data dalam struct diatas, jadi, satu struct ini berisi 2 struct
{
    string nolagu;
    Lagu musik;
    KodeRBT kode;
};

int main(){
     conclusion penyatu[20]; //mendeklarasikan struct conclusion tadi menjadi sebuah variabel dalam int main. Variabelnya bersifat array.
     string x;
     int g=0;;
     do
    {
        system("cls"); //atau biasa disebut dengan clearscreen, yang artinya menghapus tampilan pada layar cmd.
         cout<<"Lagu ke-"<<g+1<<endl;
        cout<<"Nomor lagu : ";cin>>penyatu[g].nolagu; //menginputkan data dalam variabel penyatu tadi. Penulisannya seperti yang dilihat, titik berfungsi untuk mengakses variabel yang dalam struct.
         cout<<"\n";
         cout<<"Judul lagu : ";cin>>penyatu[g].musik.judullagu;
        cout<<"Penyanyi : ";cin>>penyatu[g].musik.penyayi;
         cout<<"\n";
         cout<<"Tahun Produksi : ";cin>>penyatu[g].kode.tahunprod;
         cout<<"Nomor track : ";cin>>penyatu[g].kode.notrack;
        cout<<"Kode album: ";cin>>penyatu[g].kode.kodealb;
         cout<<"Terimakasih Atas Pengisiannya\n";

        cout<<"Ingin mengisi data selanjutnya (y/n)?";cin>>x; //menentukan apakah user ingin  lanjut menginput atau tidak


     if (x=="y") //jika ya
        {
           g++; //nilai g tambah 1. Ini berfungsi untuk menentukan sudah lagu keberapa dalam variabel array penyatu tadi.
           if (g>19) //jika g sudah melebihi 19
            {
                cout<<"Data telah mencapai maksimum"<<endl;
                x="n"; //data telah mencapai maksimum dan x pun dibuat bernilai "n", yang artinya fungsi do while akan terpenuhi dan akhirnya berhenti
            }
        }
    else if (x!="n") //jika x tidak bernilai n
        {
           cout<<"Hanya pilihan y atau n"; //memberitahu bahwa inputan valid hanyalah y atau n. User harus menginput ulang lagi datanya.
           getch();
        }


    }while(x!="n"); //inilah yang menentukan apakah looping akan terus berlanjut atau tidak, selain x bernilai "n". Looping akan terus terjadi
cout<<"No lagu\t\tJudul Lagu\tPenyanyi\tTahun Produksi\t\tNomor Track\t\tKode Album"<<endl;
cout<<"============================================================================================================="<<endl;
    for (int p=0;p<=g;p++) //looping untuk menampilkan data yang sudah diinput tadi
        {
            cout<<penyatu[p].nolagu;
         cout<<"\t";
         cout<<"\t";
         cout<<penyatu[p].musik.judullagu;
         cout<<"\t";
         cout<<"\t";
        cout<<penyatu[p].musik.penyayi;
         cout<<"\t";
         cout<<"\t";
         cout<<penyatu[p].kode.tahunprod;
         cout<<"\t";
         cout<<"\t";
         cout<<"\t";
         cout<<penyatu[p].kode.notrack;
         cout<<"\t";
         cout<<"\t";
         cout<<"\t";
        cout<<penyatu[p].kode.kodealb<<endl;
        }
}

Preview :
 

Program untuk menambahkan data dalam array

Program c++ ini memiliki ketentuan sebagai berikut :
- 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
  denganpenambahan yang telah dilakukan

Berikut codingannya :

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

int main()
{
    int a[6]={1,2,3,4,5};
    int f;
    int l;
    int x;
    cout<<"Data sekarang : ";
    for (int g=0;g<5;g++) //looping untuk menampilkan data sekarang
    {
        cout<<a[g]<<" ";
    }
   cout<<endl;
   cout<<" Masukkan nilai yang akan ditambahkan? ";cin>>f;
   cout<<" Masukkan indeks keberapa yang dituju? ";cin>>l;
   if (l>5) //jika l bernilai lebih dari 5
    {
        cout<<"Tak ada indeks melebihi 5 ";
    }
   else if (l==0) //jika l bernilai 0
    {
        cout<<"Tak ada indeks 0";
    }
   else //selain itu
    {
        x=l-1;

    for (int z=5;z>=x;z--) //looping untuk melihat dimana data baru akan ditambahkan
        {
            if (z==x) //jika nilai z sama dengan nilai x tadi
            {
                a[z]=f; //nilai array yang ke-z akan berganti menjadi nilai dari variabel f tadi.
            }
            else //selain dari itu
            {
                a[z]=a[z-1]; //nilai array ke-z akan berubah menjadi nilai dari array ke-(z-1)
            }

        }
cout
    for (int k=0;k<=5;k++) //looping untuk menampilkan data yang telah termodif
        {

            cout<<a[k]<<" ";

        }
    }

    getch();
    return 0;
}
 
Preview :

 

Program untuk mengupdate data dalam array

Program c++ ini memiliki ketentuan sebagai berikut :
- Terdapat dua inputan, yaitu inputan data yang akan diubah dan data baru (data pengganti)
- Semua data yang sesuai dengan inputan user akan diupdate nilainya.

Berikut codingnya :
 
#include <iostream>

using namespace std;

int main()
{
    int a[7]={1,2,3,4,5,6,7};
    int x;
    int b;
    cout<<"Data sekarang : ";
    for (int g=0;g<=6;g++) //looping untuk menampilkan data sekarang
        {
             cout <<a[g]<< " ";
        }
cout<<endl;
 cout<<"Masukkan indeks data yang diubah?  ";
 cin>>x; //variabel untuk patokan indeks yang akan diubah
 if (x==0) //jika bernilai 0
{
    cout<<"Tak ada indeks 0 ";
}
else if (x>7) //jika lebih dari 7
    {
        cout<<"Tak ada indeks diatas 7 ";
    }

else //selain dari itu
{   cout<<"Masukkan nilai baru? ";
    cin>>b; //variabel untuk menampilkan nilai baru dari indeks yang akan diupdate
    a[x-1]=b; //disini x-1 agar indeks yang akan diubah sesuai dengan nilai b tadi, jika tidak dikurang maka data yang terupdate adalah data setelah indeks yang ingin dituju
    cout<<"Data baru = ";
    for (int j=0;j<=6;j++) //looping menampilkan data yang telah terupdate
    {

       cout<<a[j]<<" ";
    }
}


    return 0;
}

Preview : 
 









Program menghapus data dalam array

Program c++ ini memiliki ketentuan seagai berikut :
-Semua data yang sesuai dengan inputan user akan terhapus.
-Terdapat counter untuk menghitung berapa data yang terhapus.

Berikut codingannya :

#include <iostream>

using namespace std;

int main()
{
    int a[8]={2,12,6,12,12,7,6,12};
    int b;
    int x=0;
    int j=0;
    cout<<"Data sekarang : ";
    for (int x=0;x<=7;x++)
        {
            cout <<a[x]<< " ";//menampilkan data dalam array
        }
    cout<<"\nData yang akan dihapus? ";cin>>b; //patokan nilai yang akan dihapus
    for (;x<=7;x++)//looping dengan variabel x
        {
             if (a[x]==b)//jika data dalam array a[x] terdapat nilai sama dengan nilai dalam variabel b tadi
            {
            j++;//nilai j tambah 1

            }

        }
        cout<<"\nData yang terhapus ada "<<j<<endl;//menampilakn jumlah keseluruhan angka j tadi yang didapat dari akumulasi berapa kali nilai array sama dengan nilai b


        cout<<endl;
        cout<<"Data sekarang = ";
    for (int g=0;g<=7;g++)//looping untuk menampilkan data yang telah dimodif
        {
            if (a[g]!=b)//jika nilai dalam array a[g] tidak sama dengan b
                {
                    cout<<a[g]<<" ";//outputkan semua nilai yang tidak sama dengan nilai b
                }
        }
    return 0;
}


Preview :