Popular Post

Popular Posts

About

Facebook : Radiwan Helmi Instagram : Radiwan_Helmi Gmail : Radiwanhelmi05april@gmail.com Yahoo : Radiwanhelmi@yahoo.com
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
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;
end;
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.

Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © Radiwan Helmi - Official Site - Devil Survivor 2 - Powered by Blogger - Designed by Johanes Djogan -