Hey guys...! Disini admin akan berbagi kode program tentang membuat 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.
Salin kode dibawah ini.
Salin kode dibawah ini.
#include <cstdlib> #include <iostream> #include <iomanip> #define maks 5 using namespace std; typedef struct { //Program KTP by www.duniateknologi.my.id int nik; char nama[31]; int ttl; int alamat; char sex; char kerja[21]; int terhapus; char agama[11]; char statka[11]; char warga[11]; }ktp_penduduk; ktp_penduduk penduduk[maks]; typedef struct { char tempat[11]; int tgl; int bulan; int tahun; }pend_ttl; pend_ttl ttl[maks]; typedef struct { int rt_rw; char desa_kel[21]; char kecamatan[21]; char kota[21]; int kodepos; }pend_alamat; pend_alamat alamat[maks]; int main (int argc,char*argv[]) { int y,g, cari, ketemu,pilih; char jawab; awal: system("cls"); cout<<"------ MENU ------"<<endl; cout<<" 1 : memasukkan data "<<endl; cout<<" 2 : melihat data yang sudah dimasukkan "<<endl; cout<<" 3 : mencari data yang sudah dimasukkan "<<endl; cout<<" 4 : menghapus data yang sudah dimasukkan "<<endl; cout<<" 5 : memperbaiki data yang telah dimasukkan "<<endl; cout<<"masukkan pilihan anda = ";cin>>pilih; cout<<endl; switch(pilih) { case 1 : cout<<"berapa banyak data:";cin>>g; cout<<endl; //input data// cout<<"Masukan Data Warga"<<endl; cout<<"------------------"<<endl<<endl; for(y=0;y<g;y++) { cout<<"NIK : ";cin>>penduduk[y].nik; cout<<"Nama : ";fflush(stdin);cin.get(penduduk[y].nama,30); cout<<"TTL "<<endl; cout<<"Tempat :";fflush(stdin);cin.get(ttl[y].tempat,10); cout<<"Tanggal :";cin>>ttl[y].tgl; cout<<"Bulan :";cin>>ttl[y].bulan; cout<<"Tahun :";cin>>ttl[y].tahun; cout<<"Jenis Kelamin(P/W) : ";cin>>penduduk[y].sex; cout<<"Alamat "<<endl; cout<<"RT/RW :";cin>>alamat[y].rt_rw; cout<<"Desa/Kel :";fflush(stdin);cin.get(alamat[y].desa_kel,20); cout<<"Kecamatan :";fflush(stdin);cin.get(alamat[y].kecamatan,20); cout<<"Kota :";fflush(stdin);cin.get(alamat[y].kota,20); cout<<"Kode pos :";cin>>alamat[y].kodepos; cout<<"Agama :";fflush(stdin);cin.get(penduduk[y].agama,10); cout<<"Status kawin(menikah/belum) :";fflush(stdin);cin.get(penduduk[y].statka,10); cout<<"Pekerjaan : ";fflush(stdin);cin.get(penduduk[y].kerja,21); cout<<"Kewarganegaraan :";fflush(stdin);cin.get(penduduk[y].warga,10); cout<<"Berlaku hingga : Seumur Hidup"<<endl; penduduk[y].terhapus = 0; } break; /*----view data---*/ case 2: cout<<endl; cout<<"Data Warga"<<endl; cout<<"----------"<<endl<<endl; for(y=0;y<g;y++) { if (penduduk[y].terhapus == 0) cout<<"----------------------------------------------------|"<<endl; cout<<" NIK Nama TTL Sex |"<<endl; cout<<"----------------------------------------------------|"<<endl; cout<<" Tempat Tgl Bln Thn |"<<endl; cout<<"----------------------------------------------------|"<<endl; cout<<setw(2)<<penduduk[y].nik<<setw(8)<<penduduk[y].nama<<setw(8)<<ttl[y].tempat<<setw(5)<< ttl[y].tgl<<setw(5)<<ttl[y].bulan<<setw(7)<<ttl[y].tahun<<setw(4)<<penduduk[y].sex<<endl; cout<<"----------------------------------------------------|"<<endl<<endl; cout<<"-------------------------------------------------------------------------------------------------------------------------------|"<<endl; cout<<" Alamat Pekerjaan Agama Status Warga |"<<endl; cout<<"-------------------------------------------------------------------------------------------------------------------------------|"<<endl; cout<<" RT/RW Desa Kecamatan Kota Kode pos |"<<endl; cout<<"-------------------------------------------------------------------------------------------------------------------------------|"<<endl; cout<<setw(6)<<alamat[y].rt_rw<<setw(11)<< alamat[y].desa_kel<<setw(20)<<alamat[y].kecamatan<<setw(15)<< alamat[y].kota<<setw(15)<<alamat[y].kodepos<<setw(18)<<penduduk[y].kerja<<setw(11)<<penduduk[y].agama<<setw(13) <<penduduk[y].statka<<setw(11)<<setw(15)<<penduduk[y].warga<<endl; cout<<"-------------------------------------------------------------------------------------------------------------------------------|"<<endl; } break; /*----search data---*/ case 3: cout<<"Masukan NIK yang anda cari = ";cin>>cari; ketemu = 0; for(y=0;y<g;y++) { if (cari == penduduk[y].nik) ketemu = 1; } if (ketemu == 1) cout<<"NIK warga ditemukan :"<<endl; else cout<<"NIK warga tidak ada "<<endl; break; /*---menghapus data--*/ case 4 : cout<<"Masukan NIK yang akan di hapus = "; cin>>cari; for(y=0;y<g;y++) { if ((cari == penduduk[y].nik) && (penduduk[y].terhapus == 0)) { penduduk[y].terhapus = 1; } } cout<<"Data Warga yang Baru"<<endl; for(y=0;y<g;y++) { if (penduduk[y].terhapus == 1) cout<<"NIK : ";cin>>penduduk[y].nik; cout<<"Nama : ";fflush(stdin);cin.get(penduduk[y].nama,30); cout<<"TTL "<<endl; cout<<"Tempat :";fflush(stdin);cin.get(ttl[y].tempat,10); cout<<"Tanggal :";cin>>ttl[y].tgl; cout<<"Bulan :";cin>>ttl[y].bulan; cout<<"Tahun :";cin>>ttl[y].tahun; cout<<"Jenis Kelamin(p/w) : ";cin>>penduduk[y].sex; cout<<"Alamat "<<endl; cout<<"RT/RW :";cin>>alamat[y].rt_rw; cout<<"Desa/kel :";fflush(stdin);cin.get(alamat[y].desa_kel,20); cout<<"Kecamatan :";fflush(stdin);cin.get(alamat[y].kecamatan,20); cout<<"Kota :";fflush(stdin);cin.get(alamat[y].kota,20); cout<<"Kode pos :";cin>>alamat[y].kodepos; cout<<"Agama :";fflush(stdin);cin.get(penduduk[y].agama,10); cout<<"Status kawin(menikah/belum) :";fflush(stdin);cin.get(penduduk[y].statka,10); cout<<"Pekerjaan : ";fflush(stdin);cin.get(penduduk[y].kerja,21); cout<<"Kewarganegaraan :";fflush(stdin);cin.get(penduduk[y].warga,10); cout<<"Berlaku hingga : Seumur Hidup"<<endl; } break; /*---edit data---*/ case 5: cout<<"Masukan NIK yang akan datanya akan diubah = ";cin>>cari; for(y=0;y<g;y++) { if (cari == penduduk[y].nik && (penduduk[y].terhapus == 0)) { cout<<"NIK : ";cin>>penduduk[y].nik; cout<<"Nama : ";fflush(stdin);cin.get(penduduk[y].nama,30); cout<<"TTL "<<endl; cout<<"Tempat :";fflush(stdin);cin.get(ttl[y].tempat,10); cout<<"Tanggal :";cin>>ttl[y].tgl; cout<<"Bulan :";cin>>ttl[y].bulan; cout<<"Tahun :";cin>>ttl[y].tahun; cout<<"Jenis Kelamin(p/w) : ";cin>>penduduk[y].sex; cout<<"Alamat "<<endl; cout<<"RT/RW :";cin>>alamat[y].rt_rw; cout<<"Desa/kel :";fflush(stdin);cin.get(alamat[y].desa_kel,20); cout<<"Kecamatan :";fflush(stdin);cin.get(alamat[y].kecamatan,20); cout<<"Kota :";fflush(stdin);cin.get(alamat[y].kota,20); cout<<"Kode pos :";cin>>alamat[y].kodepos; cout<<"Agama :";fflush(stdin);cin.get(penduduk[y].agama,10); cout<<"Status kawin(menikah/belum) :";fflush(stdin);cin.get(penduduk[y].statka,10); cout<<"Pekerjaan : ";fflush(stdin);cin.get(penduduk[y].kerja,21); cout<<"Kewarganegaraan :";fflush(stdin);cin.get(penduduk[y].warga,10); cout<<"Berlaku hingga : Seumur Hidup"<<endl; penduduk[y].terhapus = 0; } } cout<<"Data Warga yang baru"<<endl; for(y=0;y<g;y++) { if ((penduduk[y].terhapus == 0)) cout<<"----------------------------------------------------|"<<endl; cout<<" NIK Nama TTL Sex |"<<endl; cout<<"----------------------------------------------------|"<<endl; cout<<" Tempat Tgl Bln Thn |"<<endl; cout<<"----------------------------------------------------|"<<endl; cout<<setw(2)<<penduduk[y].nik<<setw(8)<<penduduk[y].nama<<setw(8)<<ttl[y].tempat<<setw(5)<< ttl[y].tgl<<setw(5)<<ttl[y].bulan<<setw(7)<<ttl[y].tahun<<setw(4)<<penduduk[y].sex<<endl; cout<<"----------------------------------------------------|"<<endl<<endl; cout<<"-------------------------------------------------------------------------------------------------------------------------------|"<<endl; cout<<" Alamat Pekerjaan Agama Status Warga |"<<endl; cout<<"-------------------------------------------------------------------------------------------------------------------------------|"<<endl; cout<<" RT/RW Desa Kecamatan Kota Kode pos |"<<endl; cout<<"-------------------------------------------------------------------------------------------------------------------------------|"<<endl; cout<<setw(6)<<alamat[y].rt_rw<<setw(11)<< alamat[y].desa_kel<<setw(20)<<alamat[y].kecamatan<<setw(15)<< alamat[y].kota<<setw(15)<<alamat[y].kodepos<<setw(18)<<penduduk[y].kerja<<setw(11)<<penduduk[y].agama<<setw(13) <<penduduk[y].statka<<setw(11)<<setw(15)<<penduduk[y].warga<<endl; cout<<"-------------------------------------------------------------------------------------------------------------------------------|"<<endl; } break; default : printf("Maaf anda salah pilih \n"); } cout<<"mau proses lagi (Y/T) : ";cin>>jawab; if ((jawab=='Y')||(jawab=='y')) goto awal; system ("PAUSE"); return 0; }