Program
Daftar_Siswa;
Uses
WinCrt;
Type
Siswa = Record
NIS : Word;
Nama : String[15];
Umur : Byte;
Alamat
: String[20];
Kota : String [15];
End;
Var
FileSwa : File of Siswa;
Data
: Siswa;
Pil,Ul
: Char;
Procedure
Menu;
Begin
Clrscr;
Gotoxy(36,1);Write('*MENU
PILIHAN*');
Gotoxy(36,2);Write('^_^_^_^^_^_^_^');
Gotoxy(29,4);Write('1.
Tambah Data Daftar Siswa');
Gotoxy(29,5);Write('2.
Edit Data Daftar Siswa');
Gotoxy(29,6);Write('3.
Hapus Data Daftar Siswa');
Gotoxy(29,7);Write('4.
Tampilkan Data Daftar Siswa');
Gotoxy(29,8);Write('5.
Keluar (Exit)');
gotoxy(29,10);write('^_^_^_^_^_^_^_^^_^_^_^_^_^_^_^');
Gotoxy(20,12);Write('Pilihan
[1..6]: ');Pil:=Readkey;
End;
Procedure
BukaFile;
Begin
Assign(FileSwa,'Erna.Dat');
{$I-};
Reset(FileSwa);
{$I+};
End;
Procedure
Tambah;
Var
Lagi: Char;
Ada
: Boolean;
i
: Integer;
NIMS:
Word;
Begin
Ul:='Y';
Lagi:='Y';
Clrscr;
BukaFile;
If
IOResult<>0 Then
Rewrite(FileSwa);
Repeat
Clrscr;
Ada:=False;
i:=0;
Gotoxy(32,1);Write('TAMBAH
DATA DAFTAR SISWA');
Gotoxy(32,2);Write('=========================');
Gotoxy(22,4);Write('No.Induk
Siswa : ');Readln(NIMS);
While
(Ada=False) And (i<>Filesize(FileSwa)) Do
Begin
Seek(FileSwa,i);
Read(FileSwa,Data);
If
Data.NIS=NIMS Then
Ada:=True
Else
Inc(i);
End;
If
(Ada=True) Then
Begin
Gotoxy(22,9);Write('Maaf
ya, No.Induk Siswa "',NIMS,'" Ini Sudah Ada !!');
End
Else
Begin
Seek(FileSwa,Filesize(FileSwa));
Data.NIS:=NIMS;
Gotoxy(22,5);Write('Nama
Siswa : ');Readln(Data.Nama);
Gotoxy(22,6);Write('Umur : ');Readln(Data.Umur);
Gotoxy(22,7);Write('Alamat : ');Readln(Data.Alamat);
gotoxy(22,8);Write('Kota : ');Readln(Data.Kota);
Write(FileSwa,Data);
End;
Gotoxy(22,10);Write('Mau
Tambah Data Lagi [Y/T]: ');Lagi:=Upcase(Readkey);
Until
Lagi<>'Y';
Close(FileSwa);
End;
Procedure
Edit;
Var
Lagi: Char;
Ada
: Boolean;
i
: Integer;
NIMS:
Word;
Begin
Ul:='Y';
Lagi:='Y';
Clrscr;
BukaFile;
If
IOResult<>0 Then
Write('Wah,
Maaf ya ! Data Masih Kosong nih ^_^ ')
Else
Begin
Repeat
Clrscr;
Ada:=False;
i:=0;
Gotoxy(32,1);Write('EDIT
DATA DAFTAR SISWA');
Gotoxy(32,2);Write('=======================');
Gotoxy(22,4);Write('No.Induk
Siswa : '); Readln (NIMS);
While
(Ada=False) And (i<>Filesize(FileSwa)) Do
Begin
Seek(FileSwa,i);
Read(FileSwa,Data);
If
Data.NIS=NIMS Then
Begin
Ada:=True;
Gotoxy(22,5);Write('Nama
Siswa : ',Data.Nama);
Gotoxy(22,6);Write('Umur : ',Data.Umur);
Gotoxy(22,7);Write('Alamat : ',Data.Alamat);
gotoxy(22,8);write('Kota : ',Data.Kota);
End
Else
Inc(i);
End;
If
(Ada=True) Then
Begin
Data.NIS:=NIMS;
gotoxy(22,11);write('Silahkan
di Edit Kawan !! ^_^');
Gotoxy(22,12);Write('Nama
Siswa : ');Readln(Data.Nama);
Gotoxy(22,13);Write('Umur : ');Readln(Data.Umur);
Gotoxy(22,14);Write('Alamat : ');Readln(Data.Alamat);
gotoxy(22,15);Write('Kota : ');Readln(Data.Kota);
Seek(FileSwa,i);
Write(FileSwa,Data);
End
Else
Begin
Gotoxy(22,13);Write('Nomor
Induk Siswa "',NIMS,'" Ini Tidak Ada!');
End;
Gotoxy(22,17);Write('Mau
Edit Data Lagi [Y/T]: ');Lagi:=Upcase(Readkey);
Until
Lagi<>'Y';
End;
Close(FileSwa);
End;
Procedure
Hapus;
Var
Filecut : File of Siswa;
Lagi,Hapus:
Char;
Ada
: Boolean;
i
: Integer;
NIMS
: Word;
Begin
Ul:='Y';
Lagi:='Y';
Clrscr;
Repeat
BukaFile;
If
IOResult<>0 Then
Write('Wah,
Maaf ya ! Data Masih Kosong nih ^_^ ')
Else
Begin
Clrscr;
Assign(Filecut,'Swa.cut');
Rewrite(Filecut);
Ada:=False;
i:=0;
Gotoxy(32,1);Write('HAPUS
DATA DAFTAR SISWA');
Gotoxy(32,2);Write('========================');
Gotoxy(22,4);Write('No.Induk
Siswa : ');Readln(NIMS);
While
(Ada=False) And (i<>Filesize(FileSwa)) Do
Begin
Seek(FileSwa,i);
Read(FileSwa,Data);
If
Data.NIS=NIMS Then
Ada:=True
Else
Inc(i);
End;
If
(Ada=True) Then
Begin
Gotoxy(22,5);Write('Nama
Siswa : ',Data.Nama);
Gotoxy(22,6);Write('Umur
: ',Data.Umur);
Gotoxy(22,7);Write('Alamat : ',Data.Alamat);
gotoxy(22,8);write('Kota : ',Data.Kota);
Gotoxy(22,9);Write('Data
Ini Mau Di Hapus [Y/T]: ');Readln(Hapus);
If
Upcase(Hapus)='Y' Then
Begin
For
i := 1 to Filesize(FileSwa) Do
Begin
Seek(FileSwa,i-1);
Read(FileSwa,Data);
If
Data.NIS<>NIMS Then
Write(Filecut,Data);
End;
Close(FileSwa);
Assign(FileSwa,'Erna.Dat');
Erase(FileSwa);
Assign(Filecut,'Swa.cut');
Rename(Filecut,'Erna.Dat');
Gotoxy(22,10);Write('Nomor
Induk Siswa "',NIMS,'" Sudah Di Hapus!');
End;
End
Else
Begin
Gotoxy(22,10);Write('Nomor
Induk Siswa "',NIMS,'" Ini Tidak Ada!');
End;
Gotoxy(22,11);Write('Mau
Hapus Data Lagi [Y/T]: ');Lagi:=Upcase(Readkey);
End;
Until
Lagi<>'Y';
End;
Procedure
Tampil;
Var
i : Integer;
Begin
Ul:='Y';
BukaFile;
If
IoResult <> 0 Then
Write('Wah,
Maaf ya ! Data Masih Kosong nih ^_^ ')
Else
Begin
Clrscr;
Writeln('
DATA DAFTAR SISWA ');
Writeln;
Writeln('========================================================');
Writeln('
NO NIS NAMA UMUR
ALAMAT KOTA ');
Writeln('========================================================');
i:=0;
While
Not EoF(FileSwa) Do
Begin
Inc(i);
Read(FileSwa,Data);
Writeln(i:2,Data.NIS:4,Data.Nama:9,Data.Umur:5,Data.Alamat:12,Data.Kota:11);
writeln('========================================================');
End;
Close(FileSwa);
End;
Writeln;
gotoxy(20,13);Write('Silahkan
Tekan Tombol Sembarang tuk melanjutkan !...');Readkey;
End;
Begin
Repeat
Menu;
Case
Pil Of
'1'
: Tambah;
'2'
: Edit;
'3'
: Hapus;
'4'
: Tampil;
End;
Until
(Ul<>'Y') Or (Pil='5');
DoneWinCrt;
End.
Tidak ada komentar:
Posting Komentar
Please!! kasih Komentar YG membangun tuk kebaikan ini BLOG. ^_^