BERIKUT ADALAH SEBAGIAN LISTING PROGRAM UNTUK PENGOLAHAN DATA
PROGRAM INI BISA BERJALAN DALAM SISTEM OPERASI BERBASIS WINDOWS
PROGRAM INI BISA BERJALAN DALAM SISTEM OPERASI BERBASIS WINDOWS
I. UNTUK LEBIH JELASNYA PERHATIKAN ALGORITMA PEMBUATAN PROGRAM INI
® dalam pembuatan program, khususnya bahasa pemrograman (pascal) kita harus mengetahui algoritma dalam program yang akan kita buat .
® lebih dapat dimengerti saya akan contohkan pembuatan program untuk pengolahan data pegawai).berikut ini garis besar algoritma untuk pembuatan program pengolahan data pegawai.
1. ENTRY DATA {penginputan data}
2. LIST DATA {menampilkan data yang sudah diinputkan}
3. UPDET DATA {mengedit data yang sudah ditampilkan bilamana diperlukan untuk melakukan perubahan informasi}
4. DELETE DATA {melakukan penghapusan data,apabila data yang telah diinputkan perlu untuk di hapus}
Setelah mengetahui bagaimana algoritmanya kita baru masuk ke penjelasan listing program.
Listing dibawah merupakan pendeklarasian yang dibutuhkan oleh program yang kita buat. Ada beberapa macam deklarasi diantaranya deklarasi tipe data,konstanta,fungsi dll.
FilePeg, FileDum: Text;
TGL,Nip,NIPC: String[10];
Tempat untuk penyimpanan data yang telah Nmp: String[15]; pendeklarasian tempat untuk penyimpanan data semen
Diinputkan dan telah diedit. Kdj,Kdd: Char; tara yang telah diedit dan berfunggsi sebagai
Msk: Real; tempat isolasi data yang akan di hpus dan telah
Pil, Jwb, Tunggu: Char; dihapus
Tmk, Gk, Pph, Gb: Real;
SWHAPUS, SWADA, SWHEAD,
CBD, HAL, BRS, UL: WORD;
NO: WORD;
CEK: INTEGER;
MSKS: STRING[6];
FUNCTION JAB(KodeJab:Char):String;
A. ENTRY DATA
Begin
Wrn(15,00);Clr;
KOT1(33,01,47,04,15);
Gotoxy(35,02);Write('PT. SINARAN');
Gotoxy(35,03);Write('Tasikmalaya');
GOTOXY(05,06);WRITE('Faktur Gaji Karyawan');
G2H(05,24,07,15,00);
GOTOXY(56,06);WRITE('Tanggal : 06-01-97');
G1H(56,76,07,15,00);
GOTOXY(05,09);WRITE('Nomor Induk : ');
GOTOXY(05,10);WRITE('Nama Pegawai : ');
GOTOXY(05,11);WRITE('Kode Jabatan : [ D/K/S ]');
GOTOXY(05,12);WRITE('J a b a t a n : ');
GOTOXY(05,13);WRITE('Kode Dinas : [ D/L ]');
GOTOXY(05,14);WRITE('B a g i a n : ');
GOTOXY(05,16);WRITE('Masa Kerja : tahun');
GOTOXY(05,18);WRITE('Gaji Pokok : Rp. ');
GOTOXY(05,19);WRITE('Tunj Ms Kerja : Rp. ');
GOTOXY(45,18);WRITE('Gaji Kotor : Rp. ');
GOTOXY(45,19);WRITE('P. P. H. : Rp. ');
GOTOXY(05,21);WRITE('Gaji Bersih : Rp. ');
Gotoxy(45,21);Write('Masih Ada Data (Y/T) ? ');
End;
POTONGAN LISTING UNTUK ENTRY DATA
Gotoxy digunakan untuk mencetak data,contoh :
GOTOXY(05,09);WRITE('Nomor Induk : ');
Jadi untuk inputan no induk akan di tampilkan di layar pada baris ke lima kolom ke sembilan dan menampilakn informasi untuk meminta user memasukan data dan menyimpannya ke dalam variabel yang telah di deklarasikan.
B. LIST DATA
BEGIN
Wrn(15,00);Clr;
HAL:=HAL+1;
Gotoxy(01,01);WRITE('PT. SINARAN');
Gotoxy(63,01);WRITE('Halaman : ',HAL:3);
G2H(01,80,02,15,00);
Gotoxy(01,03);WRITE(H1);
Gotoxy(01,04);WRITE(H2);
G1H(01,80,05,15,00);
BRS:=05; SWHEAD:=1;
END;
READLN(FilePeg,NIP,NMP,KDJ,KDD,MSKS);
VAL(MSKS,MSK,CEK);
BRS:=BRS+1;
GOTOXY(01,BRS);WRITE(NO:3);
GOTOXY(05,BRS);WRITE(NIP);
GOTOXY(21,BRS);WRITE(Batas);
BRS:=BRS+1;
Proses(GP(Kdj),Kdj,Msk,Tmk,GK,PPH,GB);
GOTOXY(05,BRS);WRITE(NMP);
GOTOXY(21,BRS);WRITE(JAB(Kdj));
GOTOXY(29,BRS);WRITE(BAG(Kdd));
GOTOXY(38,BRS);WRITE(MSK:2:0);
GOTOXY(42,BRS);WRITE(GP(Kdj):6:0);
GOTOXY(50,BRS);WRITE(TMK:6:0);
GOTOXY(58,BRS);WRITE(GK:6:0);
GOTOXY(66,BRS);WRITE(PPH:6:0);
GOTOXY(74,BRS);WRITE(GB:6:0);
IF CBD>=5 THEN
BEGIN
G1H(01,80,BRS+1,15,00);
Gotoxy(01,Brs+2);WRITE('Tekan sembarang tombol untuk melanjutkan ...');
TUNGGU:=READKEY;
CBD:=0;SWHEAD:=0;
END;
END;
G1H(01,80,BRS+1,15,00);
Gotoxy(01,Brs+2);WRITE('Data sudah habis ... Tekan untuk kembali ke Menu !');
TUNGGU:=READKEY;
End;
Close(FilePeg);
End
List data adalah out put dari entry data yang telah di masukan
Dari listing di atas maka list data nya adalah :
NIP :32456
NAMA PEGAWAI : ADI MASUK
C.UPDET DATA(edit data)
Procedure RubahData;
Begin
Repeat
SWADA:=0;
{$I-}
Reset(FilePeg);
{$I+}
If IOResult<>0 Then
Begin
File_Tidak_Ada;
JWB:=READKEY;
If Upcase(Jwb)='Y' Then
Begin
Rewrite(FilePeg);
Close(FilePeg);
End;
End Else
Begin
Form_Tampilan_Isian;
Gotoxy(22,09);READLN(NIPC);
NIPC:=NIPC+SPC(10-LENGTH(NIPC));
ASSIGN(FileDum,'TEMFILE.~MP');
Rewrite(FileDum);
While Not EOF(FilePeg) DO
Begin
JWB:='T';
READLN(FilePeg,NIP,NMP,KDJ,KDD,MSKS);
If NIP=NIPC THEN
Begin
SWADA:=1;
VAL(MSKS,MSK,CEK);
Gotoxy(22,10);WRITE(Nmp);
Gotoxy(22,11);WRITE(Kdj);
Gotoxy(22,12);WRITE(JAB(Kdj));
Gotoxy(22,14);WRITE(BAG(Kdd));
Proses(GP(Kdj),Kdj,Msk,Tmk,GK,PPH,GB);
Gotoxy(22,13);WRITE(Kdd);
Gotoxy(22,16);WRITE(Msk:3:0);
Gotoxy(28,18);WRITE(GP(Kdj):12:2);
Gotoxy(28,19);WRITE(TMK:12:2);
Gotoxy(64,18);WRITE(GK:12:2);
Gotoxy(64,19);WRITE(PPH:12:2);
Gotoxy(28,21);WRITE(GB:12:2);
Gotoxy(45,21);Write('Mau Dirubah (Y/T) ? ');
Gotoxy(68,21);Jwb:=Readkey;
Gotoxy(45,21);Write('Masih Ada Data (Y/T) ? ');
IF UPCASE(JWB)='Y' THEN
BEGIN
Form_Tampilan_Isian;
Nip:=NIPC;
Gotoxy(22,09);WRITE(Nip);
Gotoxy(22,10);READLN(Nmp);
Gotoxy(22,11);READLN(Kdj);
Gotoxy(22,12);WRITE(JAB(Kdj));
Gotoxy(22,13);READLN(Kdd);
Gotoxy(22,14);WRITE(BAG(Kdd));
Gotoxy(22,16);READLN(Msk);
Proses(GP(Kdj),Kdj,Msk,Tmk,GK,PPH,GB);
Gotoxy(28,18);WRITE(GP(Kdj):12:2);
Gotoxy(28,19);WRITE(TMK:12:2);
Gotoxy(64,18);WRITE(GK:12:2);
Gotoxy(64,19);WRITE(PPH:12:2);
Gotoxy(28,21);WRITE(GB:12:2);
END;
End;
Write (FileDum,NIP+SPC(10-LENGTH(NIP)),NMP+SPC(15-LENGTH(NMP)));
WriteLN(FileDum,KDJ,KDD,MSK:6:2);
End;
If SWADA=0 THEN Data_Tidak_Ketemu;
Gotoxy(68,21);Jwb:=Readkey;
Close(FileDum);
Close(FilePeg);
Erase(FilePeg);
Rename(FileDum,'DATAPEG.DBF');
End;
Until Upcase(Jwb)<>'Y';
End;
List diatas digunakan untuk perintah mengedit data yang telah di inputkan namun untuk pengeditan data tersebut kita menggunakan file dump (penyimpanan data sementara) untuk pengisolasian data yang telah di pilih.apabila sudah selesai pengeditan maka data yang ada dalam file dump di simpan ke file peg (memori utama).
D.DELETE DATA
Begin
Form_Tampilan_Isian;
Gotoxy(22,09);READLN(NIPC);
NIPC:=NIPC+SPC(10-LENGTH(NIPC));
ASSIGN(FileDum,'TEMFILE.~MP');
Rewrite(FileDum);
While Not EOF(FilePeg) DO
Begin
JWB:='T';
READLN(FilePeg,NIP,NMP,KDJ,KDD,MSKS);
If NIP=NIPC THEN
Begin
SWADA:=1;
VAL(MSKS,MSK,CEK);
Gotoxy(22,10);WRITE(Nmp);
Gotoxy(22,11);WRITE(Kdj);
Gotoxy(22,12);WRITE(JAB(Kdj));
Gotoxy(22,14);WRITE(BAG(Kdd));
Proses(GP(Kdj),Kdj,Msk,Tmk,GK,PPH,GB);
Gotoxy(22,13);WRITE(Kdd);
Gotoxy(22,16);WRITE(Msk:3:0);
Gotoxy(28,18);WRITE(GP(Kdj):12:2);
Gotoxy(28,19);WRITE(TMK:12:2);
Gotoxy(64,18);WRITE(GK:12:2);
Gotoxy(64,19);WRITE(PPH:12:2);
Gotoxy(28,21);WRITE(GB:12:2);
Gotoxy(45,21);Write('Mau Dihapus (Y/T) ? ');
Gotoxy(68,21);Jwb:=Readkey;
Gotoxy(45,21);Write('Masih Ada Data (Y/T) ? ');
End;
IF Upcase(JWB)<>'Y' THEN
Begin
Write (FileDum,NIP+SPC(10-LENGTH(NIP)),NMP+SPC(15-LENGTH(NMP)));
WriteLN(FileDum,KDJ,KDD,MSK:6:2);
End;
End;
If SWADA=0 THEN Data_Tidak_Ketemu;
Gotoxy(68,21);Jwb:=Readkey;
Close(FileDum);
Close(FilePeg);
Erase(FilePeg);
Rename(FileDum,'DATAPEG.DBF');
End;
Until Upcase(Jwb)<>'Y';
End;
List diatas digunakan untuk perintah menghapus data yang telah di inputkan namun untuk penghapusan data tersebut kita menggunakan file dump (penyimpanan data sementara) untuk pengisolasian data yang telah di pilih. Apabila sudah selesai penghapusan maka data yang ada dalam file dump di simpan ke file peg(memori utama).
Mungkin penjelasan yang saya berikan jauh dari sempurna, untuk itu saya mengharapkan komentar anda terhadap posting saya.
Karena disini tentunya kita sudah semestinya saling mengasah dan memberi ilmu GTL!!!
MAKACIH.............................