#include #include #include // membuat variabel struct............................... struct spegawai { int nip; char nama[30]; char bagian[15]; int anak; int gaji; }; //mendefinisikan var. pegawai dengan struct spegawai.... spegawai pegawai[10]; //var data.... int indexdata = 0; int klm; int brs; int klmisi = 38; char isiket[30]; // fungsi cetak garis......................... void garis() { cout << "===============================" << endl; } // fungsi cetak judul........................ void cetakTampilan() { clrscr(); klm = 20; brs = 3; gotoxy(klm, brs++);cout << "Isi Data Pegawai" << endl; gotoxy(klm, brs++);garis(); gotoxy(klm, brs++); cout << "1. N I P : ........ "; gotoxy(klm, brs++); cout << "2. Nama : ......................... "; gotoxy(klm, brs++); cout << "3. Bagian : ............... "; gotoxy(klm, brs++); cout << "4. Anak : ... "; gotoxy(klm, brs++); cout << "5. Gaji : .......... "; gotoxy(klm, brs+=3); cout << "Sudah benar [Enter] : "; } //cetak keterangan....................... void ketisi() { gotoxy(klm, 20); cout << " "; gotoxy(klm, 20); cout << isiket; } //isi nip....................... void isiNip() { strcpy(isiket,"Maukkan nip 9000 s/d 99999"); ketisi(); brs = 5; gotoxy(klmisi, brs); cout << "........ "; gotoxy(klmisi, brs); cin >> pegawai[indexdata].nip; if ((pegawai[indexdata].nip < 9000) || (pegawai[indexdata].nip > 99999)) isiNip(); } //isi nama....................... void isiNama() { strcpy(isiket,"Maukkan nama min 5 charakter !"); ketisi(); brs = 6; gotoxy(klmisi, brs); cout << "......................... "; gotoxy(klmisi, brs); gets(pegawai[indexdata].nama); //mmengecek jumlah karakter nama..... int jumlah=0; for (int x=0;pegawai[indexdata].nama[x];x++) jumlah++; //jika karakter nama kurang dari 5 huruf isi lagi if (jumlah < 5) isiNama(); } //isi bagian, anak dan gaji buat sendiri ....................... void isiBagian() { //buat sendiri ya..... } //cetak data............................................ void cetakData() { int no; int jmldata = indexdata; clrscr(); cout << "Data pegawai " << endl; cout << "====================================" << endl; cout << " No Nip Nama " << endl; cout << "====================================" << endl; for (int ndata=0; ndata> pilih; switch (pilih) { case 1: isiData(); break; case 2: cariData(); break; case 3: cariData(); break; case 4: cetakData(); break; default : break; } //tutup switch............. if (pilih==0) break; } //tutup while................ } //tutup main...................... //menggunakan teknik prototyping function.................. //fungsi Cari Data........................................... void cariData() { cetakTampilan(); //isikan nip yg dicari........................ int xcari; gotoxy(klmisi, 5); cin >> xcari; //cari data....................... int c = 0; int xdata = indexdata; while ( c < xdata) { if (xcari == pegawai[c].nip) { //cetak data..................... klm = 20; brs = 3; gotoxy(klm, brs++);cout << "Data Pegawai Ditemukan " << endl; gotoxy(klm, brs++);garis(); gotoxy(klm, brs++); cout << "1. N I P : " << pegawai[c].nip; gotoxy(klm, brs++); cout << "2. Nama : " << pegawai[c].nama; brs += 3; gotoxy(klm, brs+=3); break; } c++; } if (c == xdata) { //data tidak ditemukan................. gotoxy(klm, 13); cout << "Data Tidak Ditemukan !"; } getche(); } //tutup cari data...............................