Pascal Menu File
Pascal Program Menu Pilihan File
Program Menu_Text_File;
Uses Crt;
var
BerkasTeks, BerkasDummy : Text;
fileteks,filedummy : Text;
Nimmhs : String[10];
Namamhs : String[20];
alamatmhs : String[20];
Lahirmhs : String[20];
kodekul : String[10];
namakul : string[20];
skskul : string[20];
semesterkul : string[20];
Lagi, Jawab : Char;
Ketemu : Boolean;
pil:real;
U1:char;
Procedure Masukan_Data;
Begin
Assign(BerkasTeks,'mahasiswa.txt');
Rewrite(BerkasTeks);
Lagi:='Y';
While UpCase(Lagi)='Y' Do
Begin
ClrScr;
Gotoxy(5,4);writeln('Masukan Data Mahasiswa');
Gotoxy(5,6);write('Nomor Induk Mahasiswa : ');
Gotoxy(5,8);write('Nama Mahasiswa : ');
Gotoxy(5,10);write('Alamat Mahasiwa : ');
Gotoxy(5,12);write('Tanggal Lahir : ');
Gotoxy(30,6);readln(nimmhs);
Gotoxy(30,8);readln(Namamhs);
Gotoxy(30,10);readln(alamatmhs);
Gotoxy(30,12);readln(lahirmhs);
writeln(BerkasTeks,nimmhs:5,Namamhs:20,alamatmhs:20,lahirmhs:10);
gotoxy(5,15);write('Ada data lagi [Y/T] : ');
readln(Lagi);
End;
Close(BerkasTeks);
end;
Procedure Masukan_Data2;
Begin
Assign(fileTeks,'kuliah.txt');
Rewrite(fileTeks);
Lagi:='Y';
While UpCase(Lagi)='Y' Do
Begin
ClrScr;
Gotoxy(5,4);writeln('Masukan Data Kuliah');
Gotoxy(5,6);write('Kode Mata Kuliah : ');
Gotoxy(5,8);write('Nama Mata Kuliah : ');
Gotoxy(5,10);write('SKS : ');
Gotoxy(5,12);write('Semester : ');
Gotoxy(26,6);readln(kodekul);
Gotoxy(26,8);readln(Namakul);
Gotoxy(26,10);readln(skskul);
Gotoxy(26,12);readln(semesterkul);
writeln(fileTeks,kodekul:5,Namakul:20,skskul:10,Semesterkul:10);
gotoxy(5,15);write('Ada data lagi [Y/T] : ');
readln(Lagi);
End;
Close(fileTeks);
end;
Procedure Tambah_Data;
Begin
Assign(BerkasTeks,'mahasiswa.txt');
Append(BerkasTeks);
Lagi:='Y';
While UpCase(Lagi)='Y' Do
Begin
ClrScr;
Gotoxy(5,4);writeln('Masukan Data Mahasiswa');
Gotoxy(5,6);write('Nomor Induk Mahasiswa : ');
Gotoxy(5,8);write('Nama Mahasiswa : ');
Gotoxy(5,10);write('Alamat Mahasiwa : ');
Gotoxy(5,12);write('Tanggal Lahir : ');
Gotoxy(30,6);readln(nimmhs);
Gotoxy(30,8);readln(Namamhs);
Gotoxy(30,10);readln(alamatmhs);
Gotoxy(30,12);readln(lahirmhs);
writeln(BerkasTeks,nimmhs:5,Namamhs:20,alamatmhs:20,lahirmhs:10);
gotoxy(5,15);write('Ada data lagi [Y/T] : ');
readln(Lagi);
End;
Close(BerkasTeks);
end;
Procedure Tambah_Data2;
Begin
Assign(fileTeks,'kuliah.txt');
Append(fileTeks);
Lagi:='Y';
While UpCase(Lagi)='Y' Do
Begin
ClrScr;
Gotoxy(5,4);writeln('Masukan Data Kuliah');
Gotoxy(5,6);write('Kode Mata Kuliah : ');
Gotoxy(5,8);write('Nama Mata Kuliah : ');
Gotoxy(5,10);write('SKS : ');
Gotoxy(5,12);write('Semester : ');
Gotoxy(26,6);readln(kodekul);
Gotoxy(26,8);readln(Namakul);
Gotoxy(26,10);readln(skskul);
Gotoxy(26,12);readln(semesterkul);
writeln(fileTeks,kodekul:5,Namakul:20,skskul:10,Semesterkul:10);
gotoxy(5,15);write('Ada data lagi [Y/T] : ');
readln(Lagi);
End;
Close(fileTeks);
end;
Procedure Koreksi_Data;
var
KodeCari, spasi : string[5];
Begin
Lagi:='Y';
While UpCase(Lagi)='Y' Do
Begin
Assign(BerkasTeks,'mahasiswa.txt');
{$I-}
reset(BerkasTeks);
{$I+} ;
Assign(BerkasDummy,'mahasiswa.$$$');
Rewrite(BerkasDummy);
spasi:=' ';
ClrScr;
Gotoxy(5,6);write('Kode Nomor Induk Mahasiswa yang dikoreksi : ');Readln(KodeCari);
writeln;
KodeCari:=Copy(spasi,1,5 -Length(KodeCari))+KodeCari;
ketemu:=false;
While Not Eof(BerkasTeks ) Do
Begin
readln(BerkasTeks,nimmhs,Namamhs,alamatmhs,lahirmhs);
If nimmhs = KodeCari Then
Begin
ketemu:=True;
gotoxy(15,7);writeln('Nomor Induk Mahasiswa :',nimmhs);
gotoxy(15,8); write('Koreksinya :');readln(nimmhs);
gotoxy(15,10);writeln('Nama Mahasiswa :',Namamhs);
gotoxy(15,11);write('Koreksinya : ');Readln(Namamhs);
gotoxy(15,13);writeln('Alamat Mahasiswa :',alamatmhs);
gotoxy(15,14);write('Koreksinya : ');Readln(alamatmhs);
gotoxy(15,16);writeln('Tangal Lahir : ',lahirmhs);
gotoxy(15,17);write('Koreksinya : ');Readln(lahirmhs);
end;
writeln(BerkasDummy,nimmhs:5,Namamhs:20,alamatmhs:20,lahirmhs:20);
end;
If Not Ketemu Then
writeln('Tidak Nomor Induk Mahasiswa ini !!!');
close(BerkasTeks);
close(BerkasDummy);
Erase(BerkasTeks);
Rename(BerkasDummy,'mahasiswa.txt');
writeln;
write('Ada data lagi [Y/T] : ');
readln(Lagi);
End;
end;
Procedure Koreksi_Data2;
var
KodeCari2, spasi2 : string[5];
Begin
Lagi:='Y';
While UpCase(Lagi)='Y' Do
Begin
Assign(fileTeks,'kuliah.txt');
{$I-}
reset(fileTeks);
{$I+} ;
Assign(fileDummy,'kuliah.$$$');
Rewrite(fileDummy);
spasi2:=' ';
ClrScr;
Gotoxy(5,6);write('Kode Kuliah yang dikoreksi : ');Readln(KodeCari2);
writeln;
KodeCari2:=Copy(spasi2,1,5 -Length(KodeCari2))+KodeCari2;
ketemu:=false;
While Not Eof(fileTeks ) Do
Begin
readln(fileTeks,kodekul,Namakul,skskul,Semesterkul);
If kodekul = KodeCari2 Then
Begin
ketemu:=True;
gotoxy(15,7);writeln('Kode Mata kuliah :',kodekul);
gotoxy(15,8);write('Koreksinya :');readln(kodekul);
gotoxy(15,10);writeln('Nama Matakuliah :',Namakul);
gotoxy(15,11);write('Koreksinya: ');Readln(Namakul);
gotoxy(15,13);writeln('Jumlah SKS :',skskul);
gotoxy(15,14);write('Koreksinya: ');Readln(skskul);
gotoxy(15,16);writeln('Semester : ',semesterkul);
gotoxy(15,17);write('Koreksinya: ');Readln(semesterkul);
end;
writeln(fileDummy,kodekul:5,Namakul:20,skskul:20,Semesterkul:20);
end;
If Not Ketemu Then
writeln('Tidak ada Kode Mata Kuliah ini !!!');
close(fileTeks);
close(fileDummy);
Erase(fileTeks);
Rename(fileDummy,'kuliah.txt');
writeln;
write('Ada data lagi [Y/T] : ');
readln(Lagi);
End;
end;
Procedure Tampil_Data;
Begin
Assign(BerkasTeks,'mahasiswa.txt');
{$I+}
Reset(BerkasTeks);
{$I-};
ClrScr;
Writeln(' DAFTAR MAHASISWA STMIK MERCUSUAR ');
writeln('======================================================================');
writeln(' NIM NAMA MAHASISWA ALAMAT TGL.LAHIR');
writeln('----------------------------------------------------------------------');
while Not Eof(BerkasTeks) Do
begin
readln(BerkasTeks,nimmhs,Namamhs,alamatmhs,lahirmhs);
writeln(nimmhs:5,Namamhs:20,alamatmhs:20,lahirmhs:20);
End;
writeln('======================================================================');
Close(BerkasTeks);
Readln;
end;
Procedure Tampil_Data2;
Begin
Assign(fileTeks,'kuliah.txt');
{$I+}
Reset(fileTeks);
{$I-};
ClrScr;
Writeln(' DAFTAR NAMA MATA KULIAH STMIK MERCUSUAR ');
writeln('=======================================================================');
writeln(' KODE MK NAMA MK JUMLAH SKS SEMESTER ');
writeln('------------------------------------------------------------------------');
while Not Eof(fileTeks) Do
begin
readln(fileTeks,kodekul,Namakul,skskul,Semesterkul);
writeln(kodekul:5,Namakul:25,skskul:30,Semesterkul:0);
End;
writeln('========================================================================');
Close(fileTeks);
Readln;
end;
Procedure Layar_Menu_Utama;
var pilihan : char;
selesai : boolean;
begin
repeat
clrscr;
Gotoxy(15,6);writeln(' MENU DATA MAHASISWA ');
Gotoxy(15,8);writeln ('1. Masukan Data Mahasiswa');
Gotoxy(15,10);writeln('2. Menambah Data Mahasiswa');
Gotoxy(15,12);writeln('3. Koreksi Data Mahasiswa');
Gotoxy(15,14);writeln('4. Menampilkan Data Mahasiswa');
Gotoxy(15,16);writeln('5. Selesai');
Gotoxy(15,20);write('pilihan [1..5 ] :');readln(pilihan);
clrscr;
selesai:=false;
clrscr;
case pilihan of
'1' : Masukan_Data;
'2' : Tambah_Data;
'3' : Koreksi_Data;
'4' : Tampil_Data;
'5' : selesai:=true;
end;
until selesai;
end;
Procedure Layar_Menu_Utama2;
var pilihan : char;
selesai : boolean;
begin
repeat
clrscr;
Gotoxy(15,6);writeln(' MENU KULIAH STMIK MERCUSUAR ');
Gotoxy(15,8);writeln ('1. Masukan Data Kuliah');
Gotoxy(15,10);writeln('2. Menambah Data Kuliah');
Gotoxy(15,12);writeln('3. Koreksi Data kuliah');
Gotoxy(15,14);writeln('4. Menampilkan Data kuliah');
Gotoxy(15,16);writeln('5. Selesai');
Gotoxy(15,20);write('pilihan [1..5 ] :');readln(pilihan);
clrscr;
selesai:=false;
clrscr;
case pilihan of
'1' : Masukan_Data2;
'2' : Tambah_Data2;
'3' : Koreksi_Data2;
'4' :Tampil_data2;
'5' : selesai:=true;
end;
until selesai;
end;
begin
repeat
clrscr;
gotoxy(15,5);writeln('1. File Mahasiswa 2.File Kuliah ');
gotoxy(15,8);write('Masukan File Pilihan : ');readln(pil);
if pil =1 then
Layar_Menu_utama;
begin
if pil=2 then
Layar_Menu_utama2;
end;
gotoxy(15,8);write('Mau Ulang Lagi ?[Y/T]:');readln(U1);
until upcase(U1)<>'Y';
end.
Pascal Data Perpustakaan
Pascal Program Data Perpustakaan
Program Data_Perpustakaan;
Uses Crt ;
Type Perpustakaan = Record
NoMhs : word;
Nama : String[20];
Jurusan : String[20];
Judul : String[20];
Telat : Real;
Denda : Real;
End;
Var Fileperpustakaan : File of Perpustakaan;
Data : Perpustakaan;
Pil,Ul : Char;
Procedure Menu;
Begin
Clrscr;
Gotoxy(34,1);Write('MENU PILIHAN');
Gotoxy(34,2);Write('============');
Gotoxy(27,4);Write('1. Tambah Data Peminjam Buku');
Gotoxy(27,5);Write('2. Edit Data Peminjam Buku');
Gotoxy(27,6);Write('3. Hapus Data Peminjam Buku');
Gotoxy(27,7);Write('4. Tampilkan Data Peminjam');
Gotoxy(27,8);Write('5. View Mahasiswa Berdasarkan denda');
Gotoxy(27,9);Write('6. Hapus NoMhs Ganjil');
Gotoxy(27,10);Write('7. Keluar (Exit)');
Gotoxy(32,12);Write('Pilihan [1..7]: ');Pil:=Readkey;
End;
Procedure BukaFile;
Begin
Assign(Fileperpustakaan,'perpustakaan.Dat');
{$I-};
Reset(Fileperpustakaan);
{$I+};
End;
Procedure Tambah;
Var Lagi: Char;
Ada : Boolean;
i : Integer;
NOCR: Word;
Begin
Ul:='Y';
Lagi:='Y';
Clrscr;
BukaFile;
If IOResult<>0 Then
Rewrite(Fileperpustakaan);
Repeat
Clrscr;
Ada:=False;
i:=0;
Gotoxy(30,1);Write('TAMBAH DATA PEMINJAM BUKU ');
Gotoxy(30,2);Write('==========================');
Gotoxy(20,4);Write('NIM : ');Readln(NOCR);
While (Ada=False) And (i<>Filesize(Fileperpustakaan)) Do
Begin
Seek(Fileperpustakaan,i);
Read(Fileperpustakaan,Data);
If Data.NoMhs=NOCR Then
Ada:=True
Else
Inc(i);
End;
If (Ada=True) Then
Begin
Gotoxy(20,9);Write('Nomor Mahasiswa ",NOCR," Ini Sudah ada!');
End
Else
Begin
Seek(Fileperpustakaan,Filesize(Fileperpustakaan));
Data.NoMhs:=NOCR;
Gotoxy(20,5);Write('NAMA PEMINJAM : ');Readln(Data.Nama);
Gotoxy(20,6);Write('PROGRAM STUDY : ');Readln(Data.jurusan);
Gotoxy(20,7);Write('JUDUL BUKU : ');Readln(Data.judul);
Gotoxy(20,8);write('TELAT PENGEMBALIAN BUKU : ');Readln(data.telat);
data.denda :=data.telat*500;
Write(Fileperpustakaan,Data);
End;
Gotoxy(20,10);Write('Apakah Mau Tambah Data Lagi [Y/T]:');Lagi:=Upcase(Readkey);
Until Lagi<>'Y';
Close(Fileperpustakaan);
End;
Procedure Edit;
Var Lagi: Char;
Ada : Boolean;
i : Integer;
NOCR: Word;
Begin
Ul:='Y';
Lagi:='Y';
Clrscr;
BukaFile;
If IOResult<>0 Then
Write('Data Masih Kosong...!')
Else
Begin
Repeat
Clrscr;
Ada:=False;
i:=0;
Gotoxy(30,1);Write('EDIT DATA PEMINJAM BUKU ');
Gotoxy(30,2);Write('=======================');
Gotoxy(20,4);Write('NIM : ');Readln(NOCR);
While (Ada=False) And (i<>Filesize(Fileperpustakaan)) Do
Begin
Seek(Fileperpustakaan,i);
Read(Fileperpustakaan,Data);
If Data.NoMhs=NOCR Then
Begin
Ada:=True;
Gotoxy(20,5);Write('NAMA PEMINJAM : ');Readln(Data.Nama);
Gotoxy(20,6);Write('PROGRAM STUDI : ');Readln(Data.jurusan);
Gotoxy(20,7);Write('JUDUL BUKU : ');Readln(Data.judul);
Gotoxy(20,8);write('TELAT PENGEMBALIAN BUKU : ');Readln(data.telat);
data.denda :=data.telat*500;
End
Else
Inc(i);
End;
If (Ada=True) Then
Begin
Data.NoMhs:=NOCR;
Gotoxy(20,5);Write('NAMA PEMINJAM : ');Readln(Data.Nama);
Gotoxy(20,6);Write('PROGRAM STUDI : ');Readln(Data.jurusan);
Gotoxy(20,7);Write('JUDUL BUKU : ');Readln(Data.judul);
Gotoxy(20,8);write('TELAT PENGEMBALIAN BUKU : ');Readln(data.telat);
data.denda :=data.telat*500;
Seek(Fileperpustakaan,i);
Write(Fileperpustakaan,Data);
End
Else
Begin
Gotoxy(20,13);Write('Nomor Mahasiswa "',NOCR,'" Ini Tidak Ada!');
End;
Gotoxy(20,14);Write('Apakah Mau Edit Data Lagi [Y/T]: ');Lagi:=Upcase(Readkey);
Until Lagi<>'Y';
End;
Close(Fileperpustakaan);
End;
Procedure Hapus;
Var FileTmp : File of Perpustakaan;
Lagi,Hapus: Char;
Ada : Boolean;
i : Integer;
NOCR : Word;
Begin
Ul:='Y';
Lagi:='Y';
Clrscr;
Repeat
BukaFile;
If IOResult<>0 Then
Write('Data Masih Kosong...!')
Else
Begin
Clrscr;
Assign(FileTmp,'perpustakaan.tmp');
Rewrite(FileTmp);
Ada:=False;
i:=0;
Gotoxy(30,1);Write('HAPUS DATA PEMINJAM');
Gotoxy(30,2);Write('=====================');
Gotoxy(20,4);Write('NIM : ');Readln(NOCR);
While (Ada=False) And (i<>Filesize(Fileperpustakaan)) Do
Begin
Seek(Fileperpustakaan,i);
Read(Fileperpustakaan,Data);
If Data.NoMhs=NOCR Then
Ada:=True
Else
Inc(i);
End;
If (Ada=True) Then
Begin
Gotoxy(20,5);Write('NAMA PEMINJAM : ');Readln(Data.Nama);
Gotoxy(20,6);Write('PROGRAM STUDI : ');Readln(Data.jurusan);
Gotoxy(20,7);Write('JUDUL BUKU : ');Readln(Data.judul);
Gotoxy(20,8);write('TELAT PENGEMBALIAN BUKU : ');Readln(data.telat);
data.denda :=data.telat*500;
Gotoxy(20,9);Write('Apakah Data Ini Mau Di Hapus [Y/T]: ');Readln(Hapus);
If Upcase(Hapus)='Y' Then
Begin
For i := 1 to Filesize(Fileperpustakaan) Do
Begin
Seek(Fileperpustakaan,i-1);
Read(Fileperpustakaan,Data);
If Data.NoMhs<>NOCR Then
Write(FileTmp,Data);
End;
Close(Fileperpustakaan);
Assign(Fileperpustakaan,'perpustakaan.Dat');
Erase(Fileperpustakaan);
Assign(FileTmp,'perpustakaan.tmp');
Rename(FileTmp,'perpustakaan.Dat');
Gotoxy(20,10);Write('Nomor Mahasiswa "',NOCR,'" Sudah Di Hapus!');
End;
End
Else
Begin
Gotoxy(20,10);Write('Nomor Mahasiswa "',NOCR,'" Ini Tidak Ada!');
End;
Gotoxy(20,11);Write('Mau Hapus Data Lagi [Y/T]: ');Lagi:=Upcase(Readkey);
End;
Until Lagi<>'Y';
End;
Function TotalDenda(TDN:Real;n:integer):Real;
Begin
Totaldenda:=TDN+0;
End;
Procedure Tampil;
Var i : Integer;
TDN : Real;
Begin
Ul:='Y';
TDN:=0;
BukaFile;
If IoResult <> 0 Then
Write('Maaf Data Masih Kosong ! ')
Else
Begin
Clrscr;
Writeln(' DATA PEMINJAM BUKU DI PERPUSTAKAAN STMIK MERCUSUAR ');
Writeln;
Writeln('==============================================================================');
Writeln(' NO NIM NAMA JURUSAN JUDUL BUKU TELAT DENDA' );
Writeln('==============================================================================');
i:=0;
While Not EoF(Fileperpustakaan) Do
Begin
Inc(i);
Read(Fileperpustakaan,Data);
Writeln(i:3,Data.NoMhs:6,Data.Nama:15,Data.jurusan:20,Data.judul:13, data.telat:10:0, data.denda:10:2);
TDN:=TDN+Data.denda;
End;
Writeln('==============================================================================');
Writeln('TOTAL BIAYA DENDA PEMINJAM : ',Totaldenda(TDN,i):1:2);
Writeln('==============================================================================');
Close(Fileperpustakaan);
End;
Writeln;
Write('Press Any Key to Continue...');Readln;
End;
Procedure View_denda;
Var i : Integer;
denda2: real;
Lagi : Char;
Begin
Ul:='Y';
Lagi:='Y';
Repeat
Clrscr;
Write('Tampilkan Denda lebih Dari: ');Readln(denda2);
BukaFile;
If IoResult <> 0 Then
Write('Maaf Data Masih Kosong ! ')
Else
Begin
Writeln(' DATA PEMINJAM BUKU DI PERPUSTAKAAN STMIK MERCUSUAR ');
Writeln(' DENDA DI ATAS ',denda2:2,' RUPIAH ');
Writeln;
Writeln('=============================================================================');
Writeln(' NO NIM NAMA JURUSAN JUDUL BUKU TELAT DENDA ');
Writeln('=============================================================================');
i:=0;
While Not EoF(Fileperpustakaan) Do
Begin
Read(Fileperpustakaan,Data);
If Data.denda>denda2 Then
Begin
Inc(i);
Writeln(i:3,Data.NoMhs:6,Data.Nama:20,Data.jurusan:15,Data.judul:10, data.telat:10:0, data.denda:10:2);
End;
End;
Writeln('=============================================================================');
Close(Fileperpustakaan);
End;
Writeln;
Write('Mau Lihat Data Lagi [Y/T]: ');Lagi:=Upcase(Readkey);
Until Lagi<>'Y';
End;
Procedure Hapus_NoMhs;
Var FileTmp : File of perpustakaan;
Lagi,Hapus: Char;
i : Integer;
Begin
Ul:='Y';
Lagi:='Y';
Clrscr;
Repeat
BukaFile;
If IOResult<>0 Then
Write('Data Masih Kosong...!')
Else
Begin
Clrscr;
Assign(FileTmp,'perpustakaan.tmp');
Rewrite(FileTmp);
i:=0;
Gotoxy(20,3);Write('Mau Menghapus No. Mahasiswa Yang Ganjil [Y/T]: ');Readln(Hapus);
If Upcase(Hapus)='Y' Then
Begin
For i := 1 to Filesize(Fileperpustakaan) Do
Begin
Seek(Fileperpustakaan,i-1);
Read(Fileperpustakaan,Data);
If (Data.NoMhs Mod 2)=0 Then
Write(FileTmp,Data);
End;
Close(Fileperpustakaan);
Assign(Fileperpustakaan,'perpustakaan.Dat');
Erase(Fileperpustakaan);
Assign(FileTmp,'perpustakaan.tmp');
Rename(FileTmp,'perpustakaan.Dat');
Gotoxy(20,10);Write('Nomor Mahasiswa Sudah Di Hapus!');
End;
Gotoxy(20,11);Write('Mau Hapus Data Lagi [Y/T]: ');Lagi:=Upcase(Readkey);
End;
Until Lagi<>'Y';
End;
Begin
Repeat
Menu;
Case Pil Of
'1' : Tambah;
'2' : Edit;
'3' : Hapus;
'4' : Tampil;
'5' : View_denda;
'6' : Hapus_NoMhs;
End;
Until (Ul<>'Y') Or (Pil='7');
End.
Pascal Gaji Karyawan
Program Gaji Karyawan mengunakan record
Program gajikary;
Uses Crt;
Type Gaji = Record
NIK : String;
Nama: String;
GajiPokok : real;
Tunjangan : real;
total : real;
end;
Var
data : Array[1..100] of gaji;
I ,a : integer;
procedure jumlah;
begin
data[i].total:=data[i].gajipokok+data[i].tunjangan;
end;
begin
clrscr;
write('TOTAL INPUT DATA : ');readln(a);
Clrscr;
For I := 1 To a Do
Begin
CLRSCR;
Writeln('MASUKAN DATA KE : ',i:2);
Write('NIK : ');Readln(data[i].NIK);
Write('NAMA : ');Readln(data[i].Nama);
Write('GAJI POKOK : ');Readln(data[i].gajipokok);
Write('TUNJANGAN : ');Readln(data[i].tunjangan);
jumlah;
End;
CLRSCR;
Writeln('LAPORAN GAJI KARYAWAN ');
Writeln('PT. MEDIA INVESTASI INDONESIA');
Writeln;
Writeln('======================================================');
Writeln('| NO | NIK | NAMA | GAJI POKOK | TUNJANGAN | TOTAL |');
Writeln('========================================================');
For I := 1 To a Do
Begin
Writeln('|',i:2,' | ', data[i].NIK:8,' | ',data[i].nama:18,' | ',data[i].gajipokok:10:2,' | '
,data[i].tunjangan:10:2,' | ',data[i].total:10:2,' | ');
writeln('=======================================================');
end;
readln;
end.
Uses Crt;
Type Gaji = Record
NIK : String;
Nama: String;
GajiPokok : real;
Tunjangan : real;
total : real;
end;
Var
data : Array[1..100] of gaji;
I ,a : integer;
procedure jumlah;
begin
data[i].total:=data[i].gajipokok+data[i].tunjangan;
end;
begin
clrscr;
write('TOTAL INPUT DATA : ');readln(a);
Clrscr;
For I := 1 To a Do
Begin
CLRSCR;
Writeln('MASUKAN DATA KE : ',i:2);
Write('NIK : ');Readln(data[i].NIK);
Write('NAMA : ');Readln(data[i].Nama);
Write('GAJI POKOK : ');Readln(data[i].gajipokok);
Write('TUNJANGAN : ');Readln(data[i].tunjangan);
jumlah;
End;
CLRSCR;
Writeln('LAPORAN GAJI KARYAWAN ');
Writeln('PT. MEDIA INVESTASI INDONESIA');
Writeln;
Writeln('======================================================');
Writeln('| NO | NIK | NAMA | GAJI POKOK | TUNJANGAN | TOTAL |');
Writeln('========================================================');
For I := 1 To a Do
Begin
Writeln('|',i:2,' | ', data[i].NIK:8,' | ',data[i].nama:18,' | ',data[i].gajipokok:10:2,' | '
,data[i].tunjangan:10:2,' | ',data[i].total:10:2,' | ');
writeln('=======================================================');
end;
readln;
end.
Pascal Nilai Mahasiswa
Pascal Program IPK Mahasiswa
Program rangking;
(*--------------------------------------*)
(* Menentukan klasifikasi A,B,C,D dan E *)
(* Terhadap nilai akhir mahasiswa *)
(* -------------------------------------*)
Uses crt;
var
a , b , c, d ,e,f : real;
Grade, keterangan: string;
NIM, Nama, Jurusan : string;
Jenjang : string [2];
lagi:char;
begin
lagi:='Y';
repeat
clrscr;
writeln('--------------------------------------------');
writeln(' MOHON PERHATIKAN SAAT PROSES INPUT DATA ');
writeln(' ');
writeln(' 1. Jumlah Absen range 1 .............. 14');
writeln(' 2. Nilai Tugas, UTS , UAS range 10 ...100 ');
writeln('--------------------------------------------');
writeln(' ');
writeln(' ');
writeln('============================================');
writeln(' ');
writeln(' DATA NILAI MAHASISWA STMIK ');
writeln(' TAHUN 2010 ');
writeln(' ');
writeln('----------------INPUT DATA -----------------') ;
write(' Masukan NIM : '); readln(NIM);
write(' Masukan Nama : '); readln(Nama);
write(' Jenjang Pendidikan : '); readln(jenjang);
write(' Program Studi : '); readln( jurusan);
writeln(' ');
Writeln(' ---------------- INPUT NILAI ---------------') ;
Write(' Masukan Total Absen : '); readln(a);
write(' Masukan nilai Tugas : '); readln(b);
write(' Masukan nilai UTS : '); readln(c);
write(' Masukan nilai UAS : '); readln(d);
writeln('-------------------------------------------- ');
e:=a/14*100;
f:=e*10/100 + b*0.25 + c*0.25 + d*0.40;
if f >= 85 then
Grade :='A'
else
if f >= 75 then
Grade :='B'
else
if f >= 60 then
Grade :='C'
else
if f >= 45 then
Grade :='D'
else
Grade :='E';
begin
if f >= 85 then
keterangan :='LULUS'
else
if f >= 75 then
keterangan :='LULUS'
else
if f >= 60 then
keterangan :='LULUS'
else
if f >= 45 then
keterangan :='REMEDIAL'
else
keterangan :='GAGAL';
end;
writeln(' ');
writeln(' ');
writeln('=============================================');
writeln('| HASIL |');
writeln('=============================================');
Writeln('1. NIM : ',NIM);
writeln('2. Nama : ',Nama);
Writeln('3. Jenjang Pendidikan : ',Jenjang);
Writeln('4. Program Studi : ',Jurusan);
Writeln('5. Total Absen : ',a:2:0);
writeln('6. Nilai Tugas : ',b:2:0);
writeln('7. Nilai UTS : ',c:2:0);
writeln('8. Nilai UAS : ',d:2:0);
writeln('9. Nilai Total : ',f:2:0);
writeln('10.Grade : ',Grade);
writeln('11.Keterangan : ',Keterangan);
writeln('=============================================');
writeln(' ');
writeln(' ');
write('Mau coba lagi ( Y/T) ? '); readln(lagi);
until upcase(lagi)='T';
readln;
end.
(*--------------------------------------*)
(* Menentukan klasifikasi A,B,C,D dan E *)
(* Terhadap nilai akhir mahasiswa *)
(* -------------------------------------*)
Uses crt;
var
a , b , c, d ,e,f : real;
Grade, keterangan: string;
NIM, Nama, Jurusan : string;
Jenjang : string [2];
lagi:char;
begin
lagi:='Y';
repeat
clrscr;
writeln('--------------------------------------------');
writeln(' MOHON PERHATIKAN SAAT PROSES INPUT DATA ');
writeln(' ');
writeln(' 1. Jumlah Absen range 1 .............. 14');
writeln(' 2. Nilai Tugas, UTS , UAS range 10 ...100 ');
writeln('--------------------------------------------');
writeln(' ');
writeln(' ');
writeln('============================================');
writeln(' ');
writeln(' DATA NILAI MAHASISWA STMIK ');
writeln(' TAHUN 2010 ');
writeln(' ');
writeln('----------------INPUT DATA -----------------') ;
write(' Masukan NIM : '); readln(NIM);
write(' Masukan Nama : '); readln(Nama);
write(' Jenjang Pendidikan : '); readln(jenjang);
write(' Program Studi : '); readln( jurusan);
writeln(' ');
Writeln(' ---------------- INPUT NILAI ---------------') ;
Write(' Masukan Total Absen : '); readln(a);
write(' Masukan nilai Tugas : '); readln(b);
write(' Masukan nilai UTS : '); readln(c);
write(' Masukan nilai UAS : '); readln(d);
writeln('-------------------------------------------- ');
e:=a/14*100;
f:=e*10/100 + b*0.25 + c*0.25 + d*0.40;
if f >= 85 then
Grade :='A'
else
if f >= 75 then
Grade :='B'
else
if f >= 60 then
Grade :='C'
else
if f >= 45 then
Grade :='D'
else
Grade :='E';
begin
if f >= 85 then
keterangan :='LULUS'
else
if f >= 75 then
keterangan :='LULUS'
else
if f >= 60 then
keterangan :='LULUS'
else
if f >= 45 then
keterangan :='REMEDIAL'
else
keterangan :='GAGAL';
end;
writeln(' ');
writeln(' ');
writeln('=============================================');
writeln('| HASIL |');
writeln('=============================================');
Writeln('1. NIM : ',NIM);
writeln('2. Nama : ',Nama);
Writeln('3. Jenjang Pendidikan : ',Jenjang);
Writeln('4. Program Studi : ',Jurusan);
Writeln('5. Total Absen : ',a:2:0);
writeln('6. Nilai Tugas : ',b:2:0);
writeln('7. Nilai UTS : ',c:2:0);
writeln('8. Nilai UAS : ',d:2:0);
writeln('9. Nilai Total : ',f:2:0);
writeln('10.Grade : ',Grade);
writeln('11.Keterangan : ',Keterangan);
writeln('=============================================');
writeln(' ');
writeln(' ');
write('Mau coba lagi ( Y/T) ? '); readln(lagi);
until upcase(lagi)='T';
readln;
end.
Pascal Program Tulisan Berjalan
Program berjalan;
uses crt;
var
x,y :byte;
{putaran pertama}
begin
clrscr;
textcolor(white);
x:=70;
y:=12;
repeat
delay(20000);
gotoxy(x+1,y);writeln('SELAMAT ');
gotoxy(x,y);writeln(' ');
x:=x-1;
until(x=30);
begin
x:=2;
y:=12;
repeat
delay(20000);
gotoxy(x-1,y); writeln(' ');
gotoxy(x,y);writeln('DATANG');
x:=x+1;
until (x > 40);
gotoxy(32,12);
writeln('SELAMAT');
delay(60000);
delay(60000);
delay(60000);
delay(60000);
delay(60000);
delay(60000);
begin
delay(60000);
delay(60000);
delay(60000);
delay(60000);
delay(60000);
clrscr;
x:=2;
y:=2;
repeat
delay(10000);
gotoxy(x-1,y);
gotoxy(x,y);writeln('*');
x:=x+1;
until(x>78);
x:=78;
y:=2;
repeat
delay(10000);
gotoxy(x,y-1);
gotoxy(x,y);writeln('*');
y:=y+1;
until(y>24);
x:=78;
y:=24;
repeat
delay(10000);
gotoxy(x+15,y);
gotoxy(x,y);writeln('*');
x:=x-1;
until(x=1);
x:=2;
y:=24;
repeat
delay(10000);
gotoxy(x,y+1);
gotoxy(x,y);writeln('*');
y:=y-1;
until(y<4);
{ putaran kedua }
textcolor(yellow);
x:=2;
y:=4;
repeat
delay(20000);
gotoxy(x-1,y);
gotoxy(x,y);writeln('*');
x:=x+1;
until(x>74);
x:=74;
y:=4;
repeat
delay(20000);
gotoxy(x,y-1);
gotoxy(x,y);writeln('*');
y:=y+1;
until(y>22);
x:=74;
y:=22;
repeat
delay(20000);
gotoxy(x+15,y);
gotoxy(x,y);writeln('*');
x:=x-1;
until(x=6);
x:=6;
y:=22;
repeat
delay(20000);
gotoxy(x,y+1);
gotoxy(x,y);writeln('*');
y:=y-1;
until(y<6);
{ putaran ketiga }
textcolor(10);
x:=6;
y:=6;
repeat
delay(30000);
gotoxy(x-1,y);
gotoxy(x,y);writeln('*');
x:=x+1;
until(x>70);
x:=70;
y:=6;
repeat
delay(30000);
gotoxy(x,y-1);
gotoxy(x,y);writeln('*');
y:=y+1;
until(y>20);
x:=70;
y:=20;
repeat
delay(30000);
gotoxy(x+1,y);
gotoxy(x,y);writeln('*');
x:=x-1;
until(x=10);
x:=10;
y:=20;
repeat
delay(30000);
gotoxy(x,y+1);
gotoxy(x,y);writeln('*');
y:=y-1;
until(y<8);
{ putaran keempat }
textcolor(9);
x:=10;
y:=8;
repeat
delay(40000);
gotoxy(x-1,y);
gotoxy(x,y);writeln('*');
x:=x+1;
until(x>64);
x:=64;
y:=8;
repeat
delay(40000);
gotoxy(x,y-1);
gotoxy(x,y);writeln('*');
y:=y+1;
until(y>18);
x:=64;
y:=18;
repeat
delay(40000);
gotoxy(x+1,y);
gotoxy(x,y);writeln('*');
x:=x-1;
until(x=14);
x:=14;
y:=18;
repeat
delay(40000);
gotoxy(x,y+1);
gotoxy(x,y);writeln('*');
y:=y-1;
until(y<14);
textcolor(white);
x:=14;
y:=13;
repeat
delay(60000);
gotoxy(x-1,y);
gotoxy(x,y);writeln('*');
x:=x+1;
until(x>34);
delay(60000);
gotoxy(36,13);
textcolor(red);
writeln('FINISH');
textcolor(white);
begin
delay(60000);
delay(60000);
delay(60000);
delay(60000);
delay(60000);
clrscr;
delay(60000);
delay(60000);
delay(60000);
delay(60000);
textcolor(yellow);
x:=8;
y:=2;
repeat
delay(30000);
gotoxy(x+1,y);
gotoxy(x,y);writeln('*');
x:=x-1;
until(x=1);
x:=2;
y:=2;
repeat
delay(30000);
gotoxy(x,y-1);
gotoxy(x,y);writeln('*');
y:=y+1;
until(y>6);
x:=2;
y:=6;
repeat
delay(30000);
gotoxy(x-1,y);
gotoxy(x,y);writeln('*');
x:=x+1;
until(x>8);
x:=8;
y:=6;
repeat
delay(30000);
gotoxy(x,y-1);
gotoxy(x,y);writeln('*');
y:=y+1;
until(y>10);
x:=8;
y:=10;
repeat
delay(30000);
gotoxy(x+1,y);
gotoxy(x,y);writeln('*');
x:=x-1;
until(x=1);
x:=10;
y:=2;
repeat
delay(30000);
gotoxy(x,y-1);
gotoxy(x,y);writeln('*');
y:=y+1;
until(y>10);
x:=10;
y:=10;
repeat
delay(30000);
gotoxy(x-1,y);
gotoxy(x,y);writeln('*');
x:=x+1;
until(x>18);
x:=18;
y:=10;
repeat
delay(30000);
gotoxy(x,y+1);
gotoxy(x,y);writeln('*');
y:=y-1;
until(y=1);
x:=20;
y:=2;
repeat
delay(30000);
gotoxy(x-1,y);
gotoxy(x,y);writeln('*');
x:=x+1;
until(x>28);
x:=24;
y:=2;
repeat
delay(30000);
gotoxy(x,y-1);
gotoxy(x,y);writeln('*');
y:=y+1;
until(y>10);
{e}
x:=35;
y:=2;
repeat
delay(30000);
gotoxy(x+1,y);
gotoxy(x,y);writeln('*');
x:=x-1;
until(x=30);
x:=30;
y:=2;
repeat
delay(30000);
gotoxy(x,y-1);
gotoxy(x,y);writeln('*');
y:=y+1;
until(y>10);
x:=30;
y:=10;
repeat
delay(30000);
gotoxy(x-1,y);
gotoxy(x,y);writeln('*');
x:=x+1;
until(x>35);
x:=30;
y:=6;
repeat
delay(30000);
gotoxy(x-1,y);
gotoxy(x,y);writeln('*');
x:=x+1;
until(x>35);
x:=37;
y:=2;
repeat
delay(30000);
gotoxy(x-1,y);
gotoxy(x,y);writeln('*');
x:=x+1;
until(x>42);
uses crt;
var
x,y :byte;
{putaran pertama}
begin
clrscr;
textcolor(white);
x:=70;
y:=12;
repeat
delay(20000);
gotoxy(x+1,y);writeln('SELAMAT ');
gotoxy(x,y);writeln(' ');
x:=x-1;
until(x=30);
begin
x:=2;
y:=12;
repeat
delay(20000);
gotoxy(x-1,y); writeln(' ');
gotoxy(x,y);writeln('DATANG');
x:=x+1;
until (x > 40);
gotoxy(32,12);
writeln('SELAMAT');
delay(60000);
delay(60000);
delay(60000);
delay(60000);
delay(60000);
delay(60000);
begin
delay(60000);
delay(60000);
delay(60000);
delay(60000);
delay(60000);
clrscr;
x:=2;
y:=2;
repeat
delay(10000);
gotoxy(x-1,y);
gotoxy(x,y);writeln('*');
x:=x+1;
until(x>78);
x:=78;
y:=2;
repeat
delay(10000);
gotoxy(x,y-1);
gotoxy(x,y);writeln('*');
y:=y+1;
until(y>24);
x:=78;
y:=24;
repeat
delay(10000);
gotoxy(x+15,y);
gotoxy(x,y);writeln('*');
x:=x-1;
until(x=1);
x:=2;
y:=24;
repeat
delay(10000);
gotoxy(x,y+1);
gotoxy(x,y);writeln('*');
y:=y-1;
until(y<4);
{ putaran kedua }
textcolor(yellow);
x:=2;
y:=4;
repeat
delay(20000);
gotoxy(x-1,y);
gotoxy(x,y);writeln('*');
x:=x+1;
until(x>74);
x:=74;
y:=4;
repeat
delay(20000);
gotoxy(x,y-1);
gotoxy(x,y);writeln('*');
y:=y+1;
until(y>22);
x:=74;
y:=22;
repeat
delay(20000);
gotoxy(x+15,y);
gotoxy(x,y);writeln('*');
x:=x-1;
until(x=6);
x:=6;
y:=22;
repeat
delay(20000);
gotoxy(x,y+1);
gotoxy(x,y);writeln('*');
y:=y-1;
until(y<6);
{ putaran ketiga }
textcolor(10);
x:=6;
y:=6;
repeat
delay(30000);
gotoxy(x-1,y);
gotoxy(x,y);writeln('*');
x:=x+1;
until(x>70);
x:=70;
y:=6;
repeat
delay(30000);
gotoxy(x,y-1);
gotoxy(x,y);writeln('*');
y:=y+1;
until(y>20);
x:=70;
y:=20;
repeat
delay(30000);
gotoxy(x+1,y);
gotoxy(x,y);writeln('*');
x:=x-1;
until(x=10);
x:=10;
y:=20;
repeat
delay(30000);
gotoxy(x,y+1);
gotoxy(x,y);writeln('*');
y:=y-1;
until(y<8);
{ putaran keempat }
textcolor(9);
x:=10;
y:=8;
repeat
delay(40000);
gotoxy(x-1,y);
gotoxy(x,y);writeln('*');
x:=x+1;
until(x>64);
x:=64;
y:=8;
repeat
delay(40000);
gotoxy(x,y-1);
gotoxy(x,y);writeln('*');
y:=y+1;
until(y>18);
x:=64;
y:=18;
repeat
delay(40000);
gotoxy(x+1,y);
gotoxy(x,y);writeln('*');
x:=x-1;
until(x=14);
x:=14;
y:=18;
repeat
delay(40000);
gotoxy(x,y+1);
gotoxy(x,y);writeln('*');
y:=y-1;
until(y<14);
textcolor(white);
x:=14;
y:=13;
repeat
delay(60000);
gotoxy(x-1,y);
gotoxy(x,y);writeln('*');
x:=x+1;
until(x>34);
delay(60000);
gotoxy(36,13);
textcolor(red);
writeln('FINISH');
textcolor(white);
begin
delay(60000);
delay(60000);
delay(60000);
delay(60000);
delay(60000);
clrscr;
delay(60000);
delay(60000);
delay(60000);
delay(60000);
textcolor(yellow);
x:=8;
y:=2;
repeat
delay(30000);
gotoxy(x+1,y);
gotoxy(x,y);writeln('*');
x:=x-1;
until(x=1);
x:=2;
y:=2;
repeat
delay(30000);
gotoxy(x,y-1);
gotoxy(x,y);writeln('*');
y:=y+1;
until(y>6);
x:=2;
y:=6;
repeat
delay(30000);
gotoxy(x-1,y);
gotoxy(x,y);writeln('*');
x:=x+1;
until(x>8);
x:=8;
y:=6;
repeat
delay(30000);
gotoxy(x,y-1);
gotoxy(x,y);writeln('*');
y:=y+1;
until(y>10);
x:=8;
y:=10;
repeat
delay(30000);
gotoxy(x+1,y);
gotoxy(x,y);writeln('*');
x:=x-1;
until(x=1);
x:=10;
y:=2;
repeat
delay(30000);
gotoxy(x,y-1);
gotoxy(x,y);writeln('*');
y:=y+1;
until(y>10);
x:=10;
y:=10;
repeat
delay(30000);
gotoxy(x-1,y);
gotoxy(x,y);writeln('*');
x:=x+1;
until(x>18);
x:=18;
y:=10;
repeat
delay(30000);
gotoxy(x,y+1);
gotoxy(x,y);writeln('*');
y:=y-1;
until(y=1);
x:=20;
y:=2;
repeat
delay(30000);
gotoxy(x-1,y);
gotoxy(x,y);writeln('*');
x:=x+1;
until(x>28);
x:=24;
y:=2;
repeat
delay(30000);
gotoxy(x,y-1);
gotoxy(x,y);writeln('*');
y:=y+1;
until(y>10);
{e}
x:=35;
y:=2;
repeat
delay(30000);
gotoxy(x+1,y);
gotoxy(x,y);writeln('*');
x:=x-1;
until(x=30);
x:=30;
y:=2;
repeat
delay(30000);
gotoxy(x,y-1);
gotoxy(x,y);writeln('*');
y:=y+1;
until(y>10);
x:=30;
y:=10;
repeat
delay(30000);
gotoxy(x-1,y);
gotoxy(x,y);writeln('*');
x:=x+1;
until(x>35);
x:=30;
y:=6;
repeat
delay(30000);
gotoxy(x-1,y);
gotoxy(x,y);writeln('*');
x:=x+1;
until(x>35);
x:=37;
y:=2;
repeat
delay(30000);
gotoxy(x-1,y);
gotoxy(x,y);writeln('*');
x:=x+1;
until(x>42);
Pascal Nilai Akhir Mahasiswa
Total Kehadiran absen maximum 14 kali
program nilai;
uses crt;
var
a,b,c,d,e,f :real;
Grade , Keterangan :string;
Nama, NIM, Jenjang, Prodi: string[20];
begin
clrscr;
writeln('===========================================');
write('Input Nama :');readln(nama);
write('Input NIM :');readln(nim);
write('Input Jenjang Pendidikan :');readln(jenjang);
write('Input Program Studi :');readln(prodi);
write('Input total absen :');readln(a);
write('Input Nilai Tugas :');readln(b);
write('Input Nilai UTS :');readln(c);
write('Input Nilai UAS :');readln(d);
e:=a/14*100;
f:=e*0.10 + b*0.25 + c*0.25 + d*0.40;
if f >= 85 then
grade:='A'
else
if f >=80 then
grade:='B'
else
grade:='C';
begin
if f >=85 then
Keterangan:='Lulus'
else
if f >= 75 then
keterangan :='Remedal'
else
keterangan:='Tidak lulus';
end;
writeln(' ');
writeln('------------------------------------------');
writeln(' Hasil ');
writeln('------------------------------------------');
writeln('| Nama | ',Nama ,' ');
writeln('| NIM | ',NIM ,' ');
writeln('| Jenjang Pendidikan | ',Jenjang ,' ');
writeln('| Program Studi | ',Prodi ,' ');
writeln('| Nilai Total | ',f:2:0 ,' ');
writeln('| Grade | ',grade ,' ');
writeln('| Keterangan | ',keterangan ,'');
writeln('===========================================');
readln;
end.