- Home >
- Teknik Komputer dan Jaringan | Jangan lupa follow Instagram @Radiwan_Helmi >
- Contoh Program Pascal "Database Sederhana Penghitungan Nilai Siswa"
Posted by : KaHelmi
Friday, 17 February 2017
Contoh Program Pascal "Database Sederhana Penghitungan Nilai Siswa"
Tema Database sederhana siswa
Variabel
Input
a.
Nama
Lengkap
b.
Nis
c.
Nilai
Tugas
d.
Nilai
Kehadiran
e.
Nilai
Ulangan Semester
f.
Nama
( Pencarian )
g.
Pilihan
( Menu Pilihan )
h.
Ulang
( Y/T )
Proses
Program
a.
Perhitungan
( Penjumlahan Nilai + Konversi nilai ke abjad )
b.
Pencarian
Linear ( Sequensial )
c.
Pengurutan
( Masih Belum )
d.
Perulangan
( For to do + While do )
e.
Seleksi
( If Then + If Then Else If )
f.
Case
of
Output
Program
a.
No
b.
Nis
Nis
c.
Nama
d.
Nilai
Tugas
e.
Nilai
Kehadiran
f.
Nilai
Ulangan Semester
Kode
Program
Program
Program_Mengitung_Nilai_Seseorang;
Uses wincrt;
Var
X,JN,pilih :byte;
procedure
Input;
type
th = Record
Nama : String[7];
Nis : String[7];
NT , NK , NUS : byte;
TN , rata : real;
nh :char;
var
kdth
: file of th;
ddth
: th;
ulng
: char;
begin
assign(kdth,'th.dat');
rewrite(kdth);
ulng :='y';
while upcase(ulng)='Y' do
begin
clrscr;
with ddth do
begin
writeln(' PROGRAM MENGHITUNG NILAI
SESEORANG');
writeln('============================================================================');
begin
writeln;
gotoxy(5,6); write ('
Nama Peserta : ');
gotoxy(5,7); write ('
Nis : ');
gotoxy(5,8); write ('
Nilai Tugas : ');
gotoxy(5,9); write ('
Nilai Kehadiran : ');
gotoxy(5,10); write ('
Nilai Ulangan Semester : ');
gotoxy(0,14);
writeln('============================================================================');
gotoxy(0,15);
writeln('============================================================================');
gotoxy(38,6); readln (Nama);
gotoxy(38,7); readln (Nis);
gotoxy(38,8); readln (NT);
gotoxy(38,9); readln (NK);
gotoxy(38,10); readln (NUS);
TN
:= (NT + NK + NUS);
rata :=(TN/3);
If (Rata >=85) and (Rata <=100) then
Nh:= 'A' else
If (Rata >=75) and (Rata <=84) then Nh:= 'B' else
Nh:= 'C'
end;
end;
write(kdth,ddth);
writeln;
write('apakah anda ingin memasukan data
lagi[Y/T] ? : '); readln(ulng);
end;
close (kdth);
end;
procedure Lihat_data;
type
th = Record
Nama : String[7];
Nis : String[7];
NT , NK , NUS : Byte;
TN , Rata :real;
nh :char;
end;
var
kdth
: file of th;
ddth
: th;
begin
assign(kdth,'th.dat');
reset(kdth);
clrscr;
writeln;
Writeln('
__________________________________________________________________________') ;
writeln(' | | |___________Nilai_____________| Total |
Rata | |') ;
Writeln(' | Nama
| Nis | Tugas | Kehadiran | Ulangan | Nilai | Rata |Predikat|') ;
Writeln('
|____________|_____|_______|___________|_________|_______|______|________|') ;
while
not eof (kdth) do
begin
read(kdth,ddth);
with ddth do
Writeln('
|',Nama:12,'|',Nis:5,'|',NT:7,'|',NK:11,'|',NUS:9,'|',TN:7:0,'|',Rata:6:0,'|',nh:8,'|');
end;
Writeln('
|____________|_____|_______|___________|_________|_______|______|________|') ;
writeln;
Writeln('Ketentuan...!!! ') ;
writeln;
Writeln('Jika Nilai Rata-Rata 85 Sampai
100 Maka Nilai Predikatnya " A " ') ;
Writeln('Jika Nilai Rata-Rata 75 Sampai
84 Maka Nilai Predikatnya " B
" ') ;
Writeln('Jika Nilai Rata-Rata Dibawah
75 Maka Nilai Predikatnya "
C " ') ;
end;
procedure Cari;
type
th = Record
Nama : String[7];
Nis : String[7];
NT , NK , NUS : Byte;
TN , rata : real;
nh :char;
end;
var
kdth
: file of th;
ddth
: th;
i,jml
: integer;
nocari : string[7];
ulng
: char;
ketemu : boolean;
begin
assign(kdth,'th.dat');
reset(kdth);
jml
:= filesize(kdth);
ulng
:='y';
while upcase(ulng)='Y' do
begin
clrscr;
ketemu := false;
gotoxy(3,1); write('_________________________________');
gotoxy(3,3); write('Masukan NAMA yang akan dicari : ');
gotoxy(3,4); write('_________________________________');
gotoxy(34,3); readln(nocari);
writeln;
for i:= 1 to jml do
begin
read(kdth,ddth);
if ddth.Nama=nocari then
begin
ketemu := true;
writeln;
Writeln('
__________________________________________________________________________') ;
writeln(' | | |___________Nilai_____________| Total |
Rata | |') ;
Writeln(' | Nama
| Nis | Tugas | Kehadiran | Ulangan | Nilai | Rata |Predikat|') ;
Writeln('
|____________|_____|_______|___________|_________|_______|______|________|') ;
begin
Writeln('
|',ddth.Nama:12,'|',ddth.Nis:5,'|',ddth.NT:7,'|',ddth.NK:11,'|',ddth.NUS:9,'|',ddth.TN:7:0,'|'
,ddth.Rata:6:0,'|',ddth.nh:8,'|');
end;
Writeln('
|____________|_____|_______|___________|_________|_______|______|________|') ;
end;
end;
if
not ketemu then
writeln('Data anda cari tidak ditemukan
!!!');
writeln;
write('Tekan enter untuk kembali ke
MENU');
readln(ulng);
end;
clrscr;
close(kdth);
end;
begin
while
true do
begin
clrscr;
gotoxy(3,1); write('____________________________');
gotoxy(10,2); write('MENU PROGRAM');
gotoxy(5,3); write('DATABASE SEDERHANA SISWA');
gotoxy(3,4); write('____________________________');
gotoxy(5,5); write('1. Input data awal');
gotoxy(5,6); write('2. Lihat semua data');
gotoxy(5,7); write('3. Cari data');
begin
gotoxy(5,9); write('Masukan pilihan : ');
gotoxy(3,10); write('____________________________');
gotoxy(22,9);readln(pilih);
case pilih of
1: Input;
2: begin
lihat_data;
writeln;
write('Tekan enter untuk kembali ke
MENU');
readln;
end;
3: Cari;
end;
end;
end;
end.
Navigation