Rabu, 18 Maret 2015

Array dan Record pada Pascal

Contoh program Array dan Record beserta flowchart pada Pascal tentang data Mahasiswa
 
Program DataMahasiswa;
uses crt;
Type Rec = Record
     Kode,Kode1, NMK,NMK1, NIM,NIM1, Nama, Grade : String;
     SKS : Integer;
end;

var Data : Array[1..100] of Rec;
    Pilih : Char;
    jlhMK, jlhmhsswa,I,a,b,n,k,s  : integer;
    Cocok : String;

Procedure InputMataKuliah;
Begin
clrscr;
write(' Masukkan Jumlah Mata Kuliah : ');readln(jlhMK);
n:=jlhMK;
for I:=1 to jlhMK do
 begin
  writeln(' ___________________________________');
  writeln('|           Data Ke-',I,'               |');
  writeln('|-----------------------------------|');
  writeln('| Kode             :                |');
  writeln('| Nama Mata Kuliah :                |');
  writeln('| SKS              :                |');
  writeln('|___________________________________|');
  gotoxy(22,5+(7*(I-1)));readln(Data[I].Kode);
  gotoxy(22,6+(7*(I-1)));readln(Data[I].NMK);
  gotoxy(22,7+(7*(I-1)));readln(Data[I].SKS);
  writeln;
 end;
end;

Procedure InputNilaiMahasiswa;
Begin
clrscr;
write(' Masukkan Jumlah Mahasiswa : ');readln(jlhmhsswa);
for I:=1 to jlhmhsswa do
 begin
  writeln(' ___________________________________');
  writeln('|           Data Ke-',I,'               |');
  writeln('|-----------------------------------|');
  writeln('| NIM               :               |');
  writeln('| Nama              :               |');
  writeln('| Kode              :               |');
  writeln('| Nama Mata Kuliah  :               |');
  writeln('| Grade             :               |');
  writeln('|___________________________________|');
  gotoxy(23,5+(9*(I-1)));readln(Data[I].NIM);
  gotoxy(23,6+(9*(I-1)));readln(Data[I].Nama);
  gotoxy(23,7+(9*(I-1)));readln(Data[I].Kode1);
   for a:=1 to n do
    begin
     IF Data[I].Kode=Data[a].Kode1 then
      begin
       Cocok:='y';
       b:=a;
      end;
    end;
   IF Cocok='y' then
    Data[I].NMK1:=Data[b].NMK else
    Data[I].NMK1:='Kode Tidak Ada';
    gotoxy(23,8+(9*(I-1)));writeln(Data[I].NMK1);
    gotoxy(23,9+(9*(I-1)));readln(Data[I].Grade);
  writeln;
 end;
end;

Procedure Table;
Begin
 writeln('|             |                  |     |');
 writeln('|_____________|__________________|_____|');
 writeln('|                                      |');
 writeln('| Total SKS :     SKS                  |');
 writeln('|______________________________________|');
end;

Procedure CetakMataKuliah;
Begin
k:=0;
 clrscr;
 writeln(' ______________________________________');
 writeln('|            NILAI MAHASISWA           |');
 writeln('|______________________________________|');
 writeln('|     Kode    | Nama Mata Kuliah | SKS |');
 writeln('|_____________|__________________|_____|');
 writeln('|             |                  |     |');
 for I:=1 to jlhMK do
  begin
   with Data[I] do
    begin
     gotoxy(1,6+i);Table;
     gotoxy(3,6+i);writeln(Data[I].Kode);
     gotoxy(17,6+i);writeln(Data[I].NMK);
     gotoxy(37,6+i);writeln(Data[I].SKS);
     k:=k+Data[I].SKS;
    end;
  end;
gotoxy(15,9+i);writeln(k);
 readkey;
end;

Procedure Table1;
Begin
 writeln('|           |               |            |                  |       |');
 writeln('|___________|_______________|____________|__________________|_______|');
end;

Procedure ProcedureCetakRekapNilai;
Begin
 clrscr;
 writeln(' ___________________________________________________________________');
 writeln('|                             Rekap Nilai                           |');
 writeln('|___________________________________________________________________|');
 writeln('|    NIM    |      Nama     |     Kode   | Nama Mata Kuliah | Grade |');
 writeln('|___________|_______________|____________|__________________|_______|');
 writeln('|           |               |            |                  |       |');
 for I:=1 to jlhmhsswa do
  begin
   with Data[I] do
    begin
     gotoxy(1,6+i);Table1;
     gotoxy(3,6+i);writeln(Data[I].NIM);
     gotoxy(15,6+i);writeln(Data[I].Nama);
     gotoxy(31,6+i);writeln(Data[I].Kode1);
     gotoxy(44,6+i);writeln(Data[I].NMK1);
     gotoxy(63,6+i);writeln(Data[I].Grade);
    end;
  end;
 readkey;
end;


Procedure CetakKHS;
Begin
I:=1;
clrscr;
 writeln(' __________________________________________________');
 writeln('| NIM  :                                                                                |');
 writeln('| Nama :                                                                              |');
 writeln('|__________________________________________________|');
 writeln('|                   KARTU HASIL STUDI                                   |');
 writeln('|__________________________________________________|');
 writeln('| Kode Mata Kuliah | Nama Mata Kuliah |    Grade   |');
 writeln('|__________________|__________________|____________|');
 writeln('|                  |                  |            |');
 writeln('|__________________|__________________|____________|');
 gotoxy(10,2);readln(Data[I].NIM1);
 for a:=1 to jlhmhsswa do
  begin
   IF Data[I].NIM1=Data[a].NIM then
    begin
   gotoxy(10,3);writeln(Data[a].Nama);
   gotoxy(3,9);writeln(Data[a].Kode1);
   gotoxy(22,9);writeln(Data[a].NMK1);
   gotoxy(41,9);writeln(Data[a].Grade);
    end;
  end;
 readkey;
end;

Procedure Keluar;
begin
clrscr;
writeln('*********************************');
writeln('*********************************');
writeln('**       ___       __         __         **');
writeln('**         |  |__| |__| |\ | |/ |__         **');
writeln('**         |  |    | |   | | \| |\  __|        **');
writeln('**                                             **');
writeln('*********************************');
writeln('*********************************');
readkey;
end;


Begin
repeat
clrscr;
writeln(' ____________________________');
writeln('|        Menu Pilihan                      |');
writeln('| 1. Input Mata Kuliah                  |');
writeln('| 2. Input Nilai Mahasiswa           |');
writeln('| 3. Cetak Mata Kuliah                 |');
writeln('| 4. Cetak Rekap Nilai                 |');
writeln('| 5. Cetak KHS                           |');
writeln('| 6. Keluar                                  |');
writeln('|____________________________|');
writeln('|                                                  |');
writeln('| Masukkan Pilihan :                      |');
writeln('|____________________________|');
gotoxy(22,11);readln(Pilih);
Case Pilih of
 '1' : InputMataKuliah;
 '2' : InputNilaiMahasiswa;
 '3' : CetakMataKuliah;
 '4' : ProcedureCetakRekapNilai;
 '5' : CetakKHS;
 '6' : Keluar;
end;
Until (Pilih)='6';
end.




Link download : Program Array & Record + flowchart

Tidak ada komentar:

Posting Komentar