WHAT'S NEW?
Loading...

Tugas C++ : Array Dan Struct


Tugas C++ kali ini adalah membuat program Array dan Struct dengan 4 soal yang berbeda.

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.

Code :

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

using namespace std;

int main()
{
    int a[8]={2,12,6,12,12,7,6,12};
    cout<<"  PENGHAPUSAN DATA PADA ARRAY"<<endl;
    cout<<"==============================="<<endl;
    for(int i=0;i<=7;i++)
    {
        cout<<a[i]<<" ";
    }
    cout<<"\nData yang akan dihapus : ";
    int hapus;
    cin>>hapus;
    int total=0;

    for(int i=0;i<=7;i++)
    {
        if(a[i]==hapus)
        {
            a[i]=0;
            total=total+1;
        }
    }
    cout<<"\nData "<<hapus<<" berhasil dihapus!\n";
    cout<<"\nData yang dihapus sebanyak : "<<total<<" data\n";
    cout<<"\nData sekarang : \n";
    for(int i=0;i<=7;i++)
    {
        if(a[i]!=0)
        {
        cout<<a[i]<<" ";
        }
    }
}


Hasil :


Penjelasan :
Program ini akan menghapus data pada array sesuai dengan inputan user. Jika data yang di inputkan sesuai dengan data yang ada pada array, maka data tersebut akan dihapus. Misal yang di inputkan adalah 6, maka semua nilai 6 pada array tersebut akan terhapus dan jumlah data yang terhapus akan dihitung. Tapi jika yang di inputkan tidak ada pada array, maka tidak ada data yang akan 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.
Code :

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

using namespace std;

int main()
{
    int a[8]={2,12,6,12,12,7,6,12};
    cout<<"   MENGGANTI DATA PADA ARRAY\n";
    cout<<"===============================\n";
    for(int i=0;i<=7;i++)
    {
        cout<<a[i]<<" ";
    }
    cout<<"\nData yang akan diganti  : ";
    int hapus,ganti;
    cin>>hapus;

    cout<<"\nMasukkan data pengganti : ";
    cin>>ganti;
    int jml=0;
    for(int i=0;i<=7;i++)
    {
        if(a[i]==hapus)
        {
            a[i]=ganti;
            jml=jml+1;
        }
    }
     cout<<"-------------------------------\n";
     if(jml>0){
        cout<<"Data "<<hapus<<" berhasil diganti dengan data "<<ganti<<"!\n";
     }
     else{
        cout<<"Data yang ingin anda ganti tidak ditemukan!!!";
     }
    cout<<"\nData sekarang : \n";
    for(int i=0;i<=7;i++)
    {
        cout<<a[i]<<" ";
    }
    getch();
}
 

Hasil :




Penjelasan :
Pada program ini akan menggganti data yang ingin diganti oleh user dengan cara memilih data yang ingin dihapus oleh user pada array tersebut. Kemudian user memasukkan data yang diinginkan untuk mengganti data sebelumnya. Jika data yang ingin diganti tidak ada pada array, maka tidak akan ada data yang berubah.

===================================================

3. Program untuk melakukan penambahan data.
Ketentuan :

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

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

using namespace std;

int main()
{
    int a[8]={2,12,6,12,12,7,6,12};
    for(int i=0;i<=7;i++)
    {
        cout<<a[i]<<" ";
    }
    cout<<"\n\nData yang akan ditambah : ";
    int tambah,indeks;
    cin>>tambah;
    cout<<"Indeks data yang dituju : ";
    cin>>indeks;
    int batas=indeks-1;
    int jml=0;

    for(int i=0;i<=7;i++)
    {
        if(i==batas){
            jml=jml+1;
        }
    }

    if(jml==1){
    for(int i=8;i>=batas;i--)
    {
        if(i==batas){
            a[i]=tambah;
        }
        else{
            a[i]=a[i-1];
        }
    }
    }

    else{
        cout<<"\nIndeks yang anda masukkan tidak ditemukan!!!";
        getch();
        return 0;
    }

    cout<<"\n";
    for(int x=0;x<=8;x++)
    {
        cout<<a[x]<<" ";
    }

}
 

Hasil :



Penjelasan :
Program ini akan menambahkan data baru pada indeks array. Jika user menginput data 555 kemudian ingin menempatkannnya pada indeks array ke-4, maka data angka 555 akan menggantikan data yang berada pada indeks array ke-4, kemudian data sebelumnya yang berada pada indeks ke-4 akan bergeser ke indeks ke-5 dan seterusnya. sehingga jumlah indeks array akan bertambah satu.
Tapi jika indeks array yang dituju oleh user tidak ada, maka data tidak akan berubah.

===================================================

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)
Code :

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


using namespace std;

struct rbt{
    char kodeRBT[10];
};

struct musik{
    char penyanyi[50],judul[50],kodeALBM[10];
    int tahun,nomor;
    rbt kRBT;
};



int main()
{
    musik lagu[20];
    char para='y';
    int jml=1,i=0;
    cout<<"PROGRAM INPUT LAGU\n";
    cout<<"===================================================\n";
    do{
        cout<<"Judul Lagu ke-"<<jml<<"         : ";fflush(stdin); gets(lagu[i].judul);
        cout<<"Penyanyi                : ";fflush(stdin); gets(lagu[i].penyanyi);
        cout<<"Tahun Produksi          : ";cin>>lagu[i].tahun;
        cout<<"Nomor Track             : ";cin>>lagu[i].nomor;
        cout<<"Kode Album              : ";fflush(stdin); gets(lagu[i].kodeALBM);
        cout<<"Kode RBT                : ";fflush(stdin); gets(lagu[i].kRBT.kodeRBT);
              cout<<endl;
        cout<<"Lagu Ke-"<<jml;
        cout<<"\n---------------------------------------------------------\n";
        cout<<"Judul Lagu     : "<<lagu[i].judul<<endl;
        cout<<"Penyanyi       : "<<lagu[i].penyanyi<<endl;
        cout<<"Tahun Produksi : "<<lagu[i].tahun<<endl;
        cout<<"Nomor Track    : "<<lagu[i].nomor<<endl;
        cout<<"Kode Album     : "<<lagu[i].kodeALBM<<endl;
        cout<<"Kode RBT       : "<<lagu[i].kRBT.kodeRBT<<endl;
        cout<<"=========================================================\n\n";
        cout<<"Input Lagi?(y/n) : ";cin>>para;cout<<endl;
        jml=jml+1;
        i=i+1;
        if(jml>20){
            cout<<"Data Penuh!!!";
        }
    }while(para=='y' && jml<=20);

    getch();

    return 0;
}


Hasil :

 
Penjelasan :
Pada program tersebut user dapat menginput data berupa judul lagu, penyanyi, tahun dan seterusnya yang kemudian akan disimpan pada Struct musik yang memiliki panjang array 20. User dapat memilih apakah akan menginput sampai data penuh atau hanya menginput beberapa data saja sesuai kebutuhan.


Jika ada yang ingin ditanyakan.
Silahkan berkomentar.. 

4 comments: Leave Your Comments