Minggu, 22 November 2020

Contoh Program C++ Array Struct 1 Dimensi

       Ini adalah salah satu tugas yang pernah saya kerjakan pada saat saya kuliah dahulu. Membahas tentang Array Struct 1 dimensi. Langsung saja kita lihat soalnya :

Baca Juga : Contoh Program Array

1. Buatlah program menu yang berisi data-data KTP penduduk yang disimpan dalam array struct 1 dimensi dan dapat dilakukan penambahan data, pencarian data, penampilan data dan penghapusan data.

Source Code :

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

struct asal
{
       char kel[50];
       char kec[50];
       char kota[50];
};
struct dataktp
{
       int nomor;
       char nama[50];
       char agama[20];
       char status[20];
       char pekerjaan[20];
       char tempat[20];
       char tanggal[20];
       char almt[20];
       char kewarganegaraan[20];
       asal alamat;
};
main()
{
    int menu;
    int nik=0,i,j;
    int pilih;
    int namedit;
    dataktp ktp[20];
    char get[1];
    bool ketemu;

    menuutama:
    clrscr();
cout<<" ____________ APLIKASI DATA KTP _____________";
    cout <<" \nMENU UTAMA :\n\n";
    cout<<" 1.Menambah Data Penduduk\n\n";
    cout<<" 2.Mencari Data Penduduk\n\n";
    cout<<" 3.Menghapus Data Penduduk\n\n";
    cout<<" 4.Menampilkan Data Penduduk\n\n";
    cout<<" 5.Keluar\n\n";
    cout<<" _____________________________\n\n";
    cout<<" Masukan Pilihan Anda : "; cin>>menu;

    if(menu==1)
{
clrscr();
    nik++;
    cout<<"\n PENAMBAHAN DATABASE KTP\n";
    cout<<" ____________________________\n\n";
        cout<<" NIK                        : "; cin>>ktp[nik].nomor; cin.getline(get,2);
    cout<< endl;
        cout<<" Nama Lengkap               : "; cin.getline(ktp[nik].nama,50);
    cout<< endl;
        cout<<" Tempat Lahir               : "; cin.getline(ktp[nik].tempat,20);
     cout<< endl;
        cout<<" Tanggal Lahir (DD MM YYYY) : "; cin.getline(ktp[nik].tanggal,20);
    cout<< endl;
         cout<<" Alamat                     : "; cin.getline(ktp[nik].almt,20);
    cout<< endl;
        cout<<" Kelurahan                  : "; cin.getline(ktp[nik].alamat.kel,20);
    cout<< endl;
        cout<<" Kecamatan                  : "; cin.getline(ktp[nik].alamat.kec,20);
    cout<< endl;
        cout<<" Kabupaten/Kota             : "; cin.getline(ktp[nik].alamat.kota,20);
    cout<< endl;
        cout<<" Agama                      : "; cin.getline(ktp[nik].agama,20);
    cout<< endl;
        cout<<" Status Perkawinan          : "; cin.getline(ktp[nik].status,20);
    cout<< endl;
        cout<<" Pekerjaan                  : "; cin.getline(ktp[nik].pekerjaan,20);
    cout<< endl;
        cout<<" Kewarganegaraan            : "; cin.getline(ktp[nik].kewarganegaraan,20);
    cout<<" _________________________________________________________________\n\n";
        cout<<" 1.Kembali ke Menu Utama\n\n";
        cout<<" 2.Keluar dari program\n";
    cout<<" _____________________________\n\n";
        cout<<" Masukan Pilihan Anda : "; cin>>pilih;
    cout<<endl;
    if(pilih==1)
{
    goto menuutama;
    }
    else if(pilih==2)
{
    goto keluar;
    }
    }
    else if(menu==2)
{
clrscr();
    cout<<"\n PENCARIAN DATA PENDUDUK\n";
    cout<<" ____________________________\n\n";
    cout<<" Masukan NIK : "; cin>>namedit;
    cout<<endl;
    for(i=1;i<=nik;i++)
{
    if(namedit==ktp[i].nomor)
{
    cout<<" Data di temukan pada registrasi ktp ke-"<<i<<endl<<endl;
                cout<<" Nama Lengkap      : "<<ktp[i].nama<<endl;
    cout<<endl;
                cout<<" Tempat Lahir      : "<<ktp[i].tempat<<endl;
    cout<<endl;
                cout<<" Tanggal Lahir     : "<<ktp[i].tanggal<<endl;
    cout<<endl;
                cout<<" Alamat            : "<<ktp[i].almt<<endl;
    cout<<endl;
                cout<<" Kelurahan         : "<<ktp[i].alamat.kel<<endl;
    cout<<endl;
                cout<<" Kecamatan         : "<<ktp[i].alamat.kec<<endl;
    cout<<endl;
                cout<<" Kota              : "<<ktp[i].alamat.kota<<endl;
    cout<<endl;
                cout<<" Agama             : "<<ktp[i].agama<<endl;
    cout<<endl;
                cout<<" Status perkawinan : "<<ktp[i].status<<endl;
    cout<<endl;
                cout<<" Pekerjaan         : "<<ktp[i].pekerjaan<<endl;
    cout<<endl;
                cout<<" kewarganegaraan   : "<<ktp[i].kewarganegaraan<<endl<<endl;
                cout<<" _____________________________________________________\n\n";
                goto menu0;
    }
    }
    cout<<" DATA YANG ANDA CARI TIDAK DI TEMUKAN !!!\n\n";
    cout<<" ________________________________________\n\n";
        menu0:
    cout<<" 1.Kembali ke Menu Utama\n\n";
    cout<<" 2.Keluar dari program\n";
    cout<<" _____________________________\n\n";
        cout<<" Masukan Pilihan Anda : "; cin>>pilih;
        if(pilih==1)
{
    goto menuutama;
    }
    else if(pilih==2)
{
    goto keluar;
    }
}
else if(menu==3)
{
clrscr();
cout<<"\n PENGHAPUSAN DATA PADA DATABASE KTP\n";
cout<<" ____________________________________\n\n";
cout<<" NIK : "; cin>>namedit;
    cout<<endl;
        for(i=1;i<=nik;i++)
{
    if(namedit==ktp[i].nomor)
{
ketemu=true;
if(ketemu)
{
for(j=i;j<=nik+1;j++)
{
ktp[j]=ktp[j+1];
}
cout<<" DATA BERHASIL DI HAPUS\n\n";
nik--;
goto menu;
   }
 }
}
cout<<" DATA YANG AKAN DI HAPUS TIDAK DITEMUKAN !!!\n";
cout<<" ____________________________________________\n\n";
        menu:
    cout<<" 1.Kembali ke Menu Utama\n\n";
    cout<<" 2.Keluar dari program\n";
    cout<<" _____________________________\n\n";
        cout<<" Masukan Pilihan Anda : "; cin>>pilih;
        if(pilih==1)
{
    goto menuutama;
    }
    else if(pilih==2)
        {
    goto keluar;
    }
}
else if(menu==4)
{
clrscr();
cout<<"\n MENAMPILKAN DATA PENDUDUK (KTP)\n";
cout<<" _________________________________\n\n";
        for(i=1;i<=nik;i++)
{
    cout<<" Database Data KTP ke-"<<i<<endl<<endl;
    cout<<" NIK               : "<<ktp[i].nomor<<endl<<endl;
    cout<<" Nama              : "<<ktp[i].nama<<endl<<endl;
    cout<<" Tempat Lahir      : "<<ktp[i].tempat<<endl<<endl;
    cout<<" Tanggal Lahir     : "<<ktp[i].tanggal<<endl<<endl;
    cout<<" Alamat            : "<<ktp[i].almt<<endl<<endl;
    cout<<" Kelurahan         : "<<ktp[i].alamat.kel<<endl<<endl;
    cout<<" Kecamatan         : "<<ktp[i].alamat.kec<<endl<<endl;
    cout<<" Kota              : "<<ktp[i].alamat.kota<<endl;
    cout<<" Agama             : "<<ktp[i].agama<<endl<<endl;
    cout<<" Status perkawinan : "<<ktp[i].status<<endl<<endl;
    cout<<" Pekerjaan         : "<<ktp[i].pekerjaan<<endl<<endl;
    cout<<" Kewarganegaraan   : "<<ktp[i].kewarganegaraan<<endl<<endl;
}
cout<<" _____________________________________________\n\n";
    cout<<" 1.Kembali ke menu awal\n\n";
    cout<<" 2.keluar dari program\n";
    cout<<" _____________________________\n\n";
        cout<<" Masukan Pilihan Anda : "; cin>>pilih;
        if(pilih==1)
{
    goto menuutama;
    }
    else if(pilih==2)
{
    goto keluar;
    }
keluar:
    clrscr();
    cout<<"\n TERIMA KASIH\n";
    //getch();                                                  
    return 0;
    }
    getch();
}

Tampilan Program :

  1. Menu Utama


    2. Menu 1 Pengisian data / menambah data

 
    3. Pencarian dengan NIK

    4. Penghapusan dengan NIK

    5. Menampilkan data KTP dengan NIK yang dicari


Itulah tugasnya, apabila ingin mencopy silahkan. Semoga membantu.

Tidak ada komentar:

Posting Komentar