Program Daftar Nilai Mahasiswa di Pascal

Salam Blogger..
Assalamualaikum wr.wb.




Selamat sore semua.kembali lagi dengan saya di Dev Pascal sebelumnya saya sudah memposting cara memasang kamera CCTV di blog dan Membuat Link Pelangi atau berkedip di blog. dan kali ini saya akan berbagi tentang cara membuat daftar nilai mahasiswa dengan sorting dan searchnya juga di pascal.

Mungkin kalo kita membuatnya di Microsoft Excel mah gampang tapi kalo di pascal mah berbeda gan kita main koding bro haha.

Ini dia Script Membuat Program Daftar Nilai Mahasiswa di dev Pascal :


program Daftar_Nilai;
{I.S. : User memasukan data mahasiswa(1:N)}
{F.S. : Menampilkan Dafrtar Nilai Mahasiswa}
uses crt;
// Kamus Global

const
  Maks_Mhs = 50;
type
    Dt_Mhs = record
     Nim,Nama : string;
     Nilai    : integer;
     Indeks   : char;
    end;//End Record
    Mahasiswa = array[1..Maks_Mhs] of Dt_Mhs;

var
 Mhs : Mahasiswa;
 N : integer;

Function Indeks_Nilai(Nilai : integer):char;
{I.S. : Nilai Sudah Terdefinisi}
{F.S. : Menghasilkan fungsi indeks}
begin
  Case (Nilai) of
       80..100 : Indeks_Nilai := 'A';  // Indeks Nilai --> Sama Dengan Nama Function
       70..79  : Indeks_Nilai := 'B';
       60..69  : Indeks_Nilai := 'C';
       50..59  : Indeks_Nilai := 'D';
       0..49   : Indeks_Nilai := 'E';
  end;//End Case
end;// End Function

procedure Isi_Data(var Mhs:mahasiswa; var N:integer);
{I.S. : Nilai Sudah Terdefinisi}
{F.S. : Menghasilkan fungsi indeks}
var
 i : integer;
begin
  write('Banyaknya Data : '); readln(N);

  clrscr;
   writeln('             DAFTAR NILAI MAHASISWA               ');
   writeln('|------------------------------------------------|');
   writeln('| NO |   NIM   | NAMA MAHASISWA | NILAI | INDEKS |');
   writeln('|================================================|');

   for i := 1 to N do
 begin
     gotoxy(1,i+4);
     writeln('|    |         |                |       |        |');

     gotoxy(3,i+4);write(i);

     gotoxy(8,i+4); readln(Mhs[i].NIM);

     gotoxy(19,i+4); readln(Mhs[i].Nama);

     gotoxy(37,i+4); readln(Mhs[i].Nilai);

     Mhs[i].Indeks := Indeks_Nilai(Mhs[i].Nilai);

     gotoxy(46,i+4); write(Mhs[i].Indeks);
 end;// End for
   writeln;
   writeln('-------------------------------------------------|');

end;// End Procedure

procedure Urut_NIM(var Mhs:Mahasiswa; N:integer);
{I.S. : }
{F.S. : }

var
 i,j,min : integer;
 Temp    : Dt_Mhs;

begin
 for i := 1 to (N-1) do
   begin
     min := i;
       for j := (i+1) to N do
         begin
           if(Mhs[j].NIM < Mhs[min].NIM)
            then
              min := j;
         end; // End For

         // Menukarkan Data
         Temp    := Mhs[i];
         Mhs[i]  := Mhs[min];
         Mhs[min] := Temp;

   end; // End For
end;// End Procedure

procedure Tampil_Data(Mhs:mahasiswa; N:integer);
{I.S. : }
{F.S. : Menampilkan daftar nilai mahasiswa}
var
 i : integer;
begin

  clrscr;
   writeln('             DAFTAR NILAI MAHASISWA               ');
   writeln('|------------------------------------------------|');
   writeln('| NO |   NIM   | NAMA MAHASISWA | NILAI | INDEKS |');
   writeln('|================================================|');

   for i := 1 to N do
    begin
     gotoxy(1,i+4);
     writeln('|    |         |                |       |        |');

     gotoxy(3,i+4);write(i);

     gotoxy(8,i+4); write(Mhs[i].NIM);

     gotoxy(19,i+4); write(Mhs[i].Nama);

     gotoxy(37,i+4); write(Mhs[i].Nilai);

     gotoxy(46,i+4); write(Mhs[i].Indeks);
   end;// End for
     writeln;
     writeln('|================================================|');

end;// End Procedure

procedure seq_search;

var

bil : string;
i: integer;

begin
 write('Angka yang dicari= '); readln(bil);
 i:=1;
 while (i < Maks_Mhs) and (Mhs[i].NIM <> bil) do
 begin
    i:=i+1;
 end;
    if (Mhs[i].NIM = bil)
      then
       write(Mhs[i].Nama)
    else
       writeln('Tidak ditemukan!');
 end;

// Program Utama
begin
   Isi_Data(Mhs,N);
   readln;
   Urut_NIM(Mhs,N);
   Tampil_Data(Mhs,N);
   seq_search;
   readln;
end.

Untuk tahapanya :
1. Masukan banyaknya data yang ingin di inputkan.


2. Inputkan Datanya.


3. Tekan enter maka data akan terurut berdasarkan NIM.


4. Masukan NIM yang di cari. Misal saya inputkan 1012 dan hasilnya seperti gambar di bawah ini.


Terimakasih sudah berkujung.

Silahkan jika ada yang di tanyakan.






Previous
Next Post »
Silahkan Komentar dengan akun Facebook