Cari Blog Ini

1 Contoh Program If, If Ganda, If Bersarang

Selasa, 24 Desember 2013
contoh program pascal if
uses wincrt;
var a,b : integer;
begin
write('masukan a :');readln(a);
write('masukan b :');readln(b);
if (a<b) then
writeln(a,  'lebih kecil dari'  ,b);
end.


==========================================
program if_ganda
uses wincrt;
var c,d:integer;
begin
write('masukan c:');readln(c);
write('masukan d:');readln(d);
if (c>d) then
begin
write(c,'lebih besar dari',d);
end
else
begin
write(c,' lebih kecil dari',d);
end
end.


========================================
program if_bersarang
uses wincrt;
var nama :string;
status,ja:integer;
T,ti,ta,gapok,gaber:real;
begin
clrscr;
write('masukan nama pegawai     :');readln(nama);
write('masukan gaji pokok       :');readln(gapok);
write('masukan status           :');readln(status);
if status= 1 then
  begin
   write('masukan jumlah anak      :');readln(ja);
   ti:=0.1*gapok;
   ta:=0.05*ja*gapok;
 end
 else if status = 2 then
   begin
t:=0;
 end
 else if status =3 then
  begin
write('masukan jumlah anak      :');readln(ja);
ti:=0;
ta:=0.05*ja*gapok;
T:=ti+ta;
 end;
gaber:=gapok+t;
write('nama    : ',nama,'==========>>Gaji Bersih Anda: ',gaber:10:2);
;
end.
Kurang Relevan? Coba Pencarian Lain!
B
Read more

0 contoh progam Pascal | Case of

uses wincrt;
var c:integer; x:char;
begin
repeat
writeln('masukan hari ke :');readln(c);
case (c) of
     1:write('Hari ke :',c,' adalah Senin');
     2:write('Hari ke :',c,' adalah Selasa');
     3:write('Hari ke :',c,' adalah Rabu');
     4:write('Hari ke :',c,' adalah Kamis');
     5:write('Hari ke :',c,' adalah Jumat');
     6:write('Hari ke :',c,' adalah sabtu');
     7:write('Hari ke :',c,' adalah Minggu');
     else write('jangan bcanda akh!!:P');
end;
readln;
write('Apakah Anda Ingin Mengulang Lagi [Y/T]: ');readln(x);
until upcase (x)<>'Y';
end.
Kurang Relevan? Coba Pencarian Lain!
B
Read more

0 CONTOH PROGRAM PASCAL | Array

uses wincrt;
var Nama:array[1..3] of string;
x,i,h,a,b,c,d:integer;
nilai:array[1..3] of real;
begin for I:= 1 to 3 do
begin
clrscr;
writeln('SELAMAT DATANG DI PROGRAM KALKULASI KELULUSAN');
WRITELN('+++++++++++++++++++++++++++++++++++++++++++++');
writeln('KETERANGAN :');
WRITELN('INPUT NILAI 1-10');
writeln('BATAS KETUNTASAN ADALAH 5.0');
WRITELN('===========================');
       write('masukan nama             :');readln(Nama[i]);
       write('masukan nilai keseharian :');readln(a);
       write('masukan nilai UTS        :');readln(b);
       write('masukan nilai UAS        :');readln(c);
nilai[i]:=(a+b+c)*0.5;

  
end;
clrscr;

for I:=1 to 3 do
if (nilai[i]) >=5then
                      begin
                      writeln('Nama    : ',Nama[I],' mendapat nilai : ',nilai[i]:5:2);
                      writeln('SELAMAT  ' ,NAMA[I],    '  ANDA LULUS');
                      writeln('------------------------------');
                      end
                      else
                      begin
                      writeln('Nama    : ',Nama[I],' mendapat nilai : ',nilai[i]:5:2);
                      Writeln('MAAF  '  , NAMA[I] ,    '  ANDA GAGAL');
                      writeln('------------------------------');
                      end;
 
 readln;
End.
Kurang Relevan? Coba Pencarian Lain!
Read more

0 Contoh Program pascal | Perhitungan nilai

uses wincrt;
var  a,b,c : string;
x : integer;
d:char;          
Grade : string;
begin
repeat
clrscr;
write('masukan nama siswa :');readln(a);
write('masukan angkatan   :');readln(b);
write('masukan kelas      :');readln(c);
write ('Inputkan Nilai Angka : '); readln(x);
case x of
0..44 : Grade :='E';
45..54 : Grade :='D';
55..69 : Grade :='C';
70..84 : Grade :='B';
85..100 : Grade :='A';
else
grade :='Tidak ada Nilai';
end;
writeln('==============...HASIL....=============');
writeln('Nama           :',a);
writeln('angkatan       :',b);
writeln('kelas          :',c);
writeln ('IPK        :',Grade);
writeln('=======================================');  readln;
clrscr;
write('apakah anda ingin mengitung lagi?[y/t]');readln(d);
until upcase(d)<>'Y';
end.
Kurang Relevan? Coba Pencarian Lain!
Read more

0 contoh program pascal | perhitungan segitiga

uses wincrt;
var A:integer;
begin
clrscr;
Writeln ('masukan rumus: 1> pesegi 2>segi tiga');readln(A);
case (a) of
1:write('Rumus Yang anda pilih',a,'adalah persegi panjang');
2:write('Rumus Yang anda pilih',a,'adalah segi tiga');
else write('tetot');
if (1)then
begin
write('masukan panjang:');readln(p);
write('masukan luas:');readln(l);
luas:=p*l;
writeln('luas',luas);
end
else
begin
write('masukan alas:');readln(al);
write('masukan tinggi:');readln(t);
hasil:=0.5*al*t;
writeln('hasil',hasil);
end;
end.
Kurang Relevan? Coba Pencarian Lain!
Read more

0 contoh program pascal, Perhitungan bilangan

Var I,Jum:integer;
Begin
 Clrscr;
 Jum:=0;
 Write('Penjumlahan bilangan dari 1 - 100 adalah : ');
 for I:=1 to 100 do
  Jum:=Jum+I;
 Write(Jum);
 Readln;
End.

Program Kasus5;
Uses wincrt;
Var I,Jum:integer;
Begin
 Clrscr;
 Jum:=0;
 Write('Penjumlahan bilangan Genap dari 1 - 100 adalah : ');
 for I:=1 to 100 do
  If I mod 2 = 0 Then
   Jum:=Jum+I;
 Write(Jum);
 Readln;
End.


Kurang Relevan? Coba Pencarian Lain!
B
Read more

1 contoh program pascal sorting

Program Sorting;
uses wincrt;
var  pilih:char;
     a,i,j,n:integer;
     data:array[1..50] of integer;
     y:integer;
     jwb:char;

Type
W=array[1..50]of integer;
var
Z:W;

{Sub Program Merge Sort}
procedure merge(var A,B:W;L,mid,R:integer);
var I,J,K,T:integer;
  begin
       I:=L;K:=L;J:=mid+1;
       repeat
       if A[I]
       Begin
            B[k]:=A[I];
            inc(I)
       end
       else
       begin
            B[K]:=A[J];
            inc(J);
       end;
       inc(k)
       until (I>mid)or (J>R);
       if I>mid then
          for T:=J to R do B[K+T-J]:=A[T]
       else
           for T:=I to mid do B[K+T-I]:=A[T]
  end;

Procedure order(var A,B:W;N,C:integer);
var I,T:integer;
  begin
       I:=1;
       while I<=(N-2*C+1)do
       begin
            Merge(A,B,I,I+C-1,I+2*C-1);
            I:=I+2*C;
       end;
       if(I+C-1)
                     Merge(A,B,I,I+C-1,N)
       else
           for T:=I to N do B[T]:=A[T]
  end;


Procedure mergesort(Var A:W;N:integer);
var C:integer;
B:W;
begin
     C:=1;
     while C
     begin
          Order(A,B,N,C);
          C:=2*C;
          Order(B,A,N,C);
          C:=2*C
     end;
end;

{Sub Program Quick Sort}
procedure change(var a,b:integer);
var c:integer;
begin
     c:=a;
     a:=b;
     b:=c;
end;

procedure quick_sort(L,R:integer);
var
mid,i,j:integer;
begin
     i:=L; j:=R; mid:=data[(L+R)div 2];
     repeat
           while data[i]
           while data[j]>mid do dec(j);
           if i<=j then
           begin
                change(data[i],data[j]);
                inc(i);dec(j);
           end;
     until i>j;
     if L
     if i
end;

label ulang;
begin
     writeln('Selamat datang di program Sorting');
     write('Ini adalah program yang akan ');
     writeln('membantu anda mengurutkan data');
     ulang:
     writeln;
     writeln('Silakan pilih salah satu menu di bawah ini :');
     writeln('  1. Selection Sort');
     writeln('  2. Buble Sort');
     writeln('  3. Insertion Sort');
     writeln('  4. Quick Sort');
     writeln('  5. Merge Sort');
     write('Masukkan nomor menu pilihan anda: ');readln(pilih);
     case pilih of
     '1':
       begin
          clrscr;
          writeln('Selamat Datang di Program Selection Sort');
          writeln;
          write('Banyaknya data: ');readln(n);
          write('Masukkan datanya ');
          writeln('(tekan enter setiap memasukkan satu data): ');
          for i:=1 to n do readln(data[i]);
          for j:=1 to (n-1) do
          begin
               for i:=j+1 to n do
               begin
                    y:=data[j];
                    if data[i]
                    begin
                         data[j]:=data[i];
                         data[i]:=y;
                    end;
               end;
          end;
          writeln;
          writeln('Data setelah diurutkan: ');
          for i:=1 to n do write(data[i]:5);
       end;
     '2':
       begin
          clrscr;
          writeln('Selamat Datang di Program Bubble Sort');
          writeln;
          write('Banyaknya data: ');readln(n);
          write('Silakan masukkan datanya ');
          writeln('(tekan enter setiap memasukkan satu data): ');
          for i:=1 to n do readln(data[i]);
          for i:=2 to n do
          for j:=n downto i do
          begin
               y:=data[j];
               if data[j]
               begin
                    data[j]:=data[j-1];
                    data[j-1]:=y;
               end;
          end;
          writeln;
          writeln('Data setelah diurutkan: ');
          for i:=1 to n do write(data[i]:5);              
       end;
     '3':
       begin
          clrscr;
          writeln('Selamat Datang di Program Insertion Sort');
          writeln;
          write('Berapa banyaknya data? ');readln(n);
          write('Masukkan datanya ');
          writeln('(tekan enter setiap memasukkan satu data) :');
          for i:=1 to n do readln(data[i]);
          for i:=2 to n do
          begin
               y:=data[i];
               j:=i-1;
               while (y1) do
               begin
                    data[j+1]:=data[j];
                    j:=j-1;
               end;
               if y>=data[j] then data[j+1]:=y
               else
               begin
                    data[j+1]:=data[j];
                    data[j]:=y;
               end;
          end;
          writeln;
          writeln('Data setelah diurutkan:');
          for i:=1 to n do write(data[i]:5);
       end;
     '4':
       begin
          clrscr;
          writeln('Selamat Datang di Program Quick Sort');
          writeln;
          write('Banyaknya data ');readln(n);
          write('Silakan masukkan datanya ');
          writeln('(tekan ENTER setiap memasukkan satu data):');
          for a:=1 to n do
          readln(data[a]);
          for a:=1 to n do quick_sort(1,n);
          writeln('Data terurutnya adalah : ');
          for a:=1 to n do writeln(data[a]:10);
       end;
     '5':
       begin
          clrscr;
          writeln('Selamat Datang di Program Merge Sort');
          writeln;
          write('Banyaknya data : ');readln(n);
          writeln('Masukkan datanya ');
          writeln('(tekan ENTER setiap memasukkan satu data): ');
          for a:=1 to n do readln(Z[a]);
          for a:=1 to n do mergesort(Z,n);
          writeln('Data terurutnya adalah : ');
          for a:=1 to n do writeln(Z[a]:10);
       end;
     end;
     writeln;
     write('TEKAN ENTER jika anda sudah selesai memahami data terurut');
     readln;
     clrscr;
     write('Apakah anda mau mengulang lagi? (jawab y atau t): ');
     readln(jwb);
     if jwb='y' then goto ulang;
     writeln;
     write('Anda memilih untuk meninggalkan program sorting ini.');
     writeln(' Terima kasih...');
     writeln;
     writeln('Tekan ENTER untuk menutup jendela ini');
     readln;
     donewincrt;
end.
Kurang Relevan? Coba Pencarian Lain!
Read more

0 | perhitungan aljabar sederhana

uses wincrt;
var x,x_satu,x_dua,x_tiga:integer;
f:integer;
begin;
clrscr;
writeln('selamat datang di program 2x+1)');
write('masukan x :');readln(x);
f:=2*x+1;
writeln('==============================');
writeln('hasil total :',f);
end.
Kurang Relevan? Coba Pencarian Lain!
Read more

0 contoh program pascal array

 uses wincrt;
type
databuku=record
judul_buku :string;
kode :char;
pengarang :string;
edisi:integer;
tahun_terbit:integer;
penerbit:string;
end;
var
perpustakaan:array[1..20] of databuku;
jumlah,i,j:byte;
dummy:databuku;
begin
write('Masukan Jumlah Buku =');readln(jumlah);
for i:=1 to jumlah do
with perpustakaan[i] do
begin
writeln;
write('Masukan Judul Buku ke-',i:2,':');readln(judul_buku);
write('masukan kode Buku ke-',i:2,':');readln(kode);
write('masukan pengarang buku ke-',i:2,':');readln(pengarang);
write('masukan edisi buku ke-',i:2,':');readln(edisi);
write('masukan tahun terbit buku ke-',i:2,':');readln(tahun_terbit);
write('masukan penerbit buku ke-',i:2,':');readln(penerbit);
end;
for i:=1 to jumlah-i do
for j:=1 to jumlah-j do
if perpustakaan[j].judul_buku>perpustakaan[j+1].judul_buku then
begin
dummy:=perpustakaan[j];
perpustakaan[j]:=perpustakaan[j+1];
perpustakaan[j+1]:=dummy
end;
writeln;
writeln('================DAFTAR BUKU===============');
writeln('==========================================');
writeln('Judul Buku____Kode Buku____Pengarang Buku____Edisi____Tahun Terbit____Penerbit');
writeln('_______________________________________________________________________________');
for i:=1 to jumlah do
begin
with perpustakaan [i] do
writeln(judul_buku:10,kode:10,pengarang:15,Edisi:13,tahun_terbit:10,penerbit:17);
end;
writeln('_______________________________________________________________________________');
end.
Kurang Relevan? Coba Pencarian Lain!
B
Read more

1 Contoh Program Pascal mengurutkan bilangan

Contoh Program Pascal mengurutkan bilangan
uses wincrt;
var A,B,C:integer;
Begin
     Writeln('Program Menurut Bilangan');
     Writeln('=========================');readln;
     readln;
     write('Masukan Nilai A: ');readln(A);
     write('Masukan Nilai B: ');readln(B);
     write('Masukan Nilai C: ');readln(C);
     readln;

     if(A<=B)and(A<=C)then
       if(B<=C)then
         Writeln(A,' ',B,' ',C)
       Else
         Writeln(A,' ',C,' ',B)
     Else if(B<=A)and(B<=C)then
       if(A<=C)then
         Writeln(B,' ',A,' ',C)
       Else
         Writeln(B,' ',C,' ',A)
     Else if(C<=A)and(C<=B)then
       if(A<=B)then
         Writeln(C,' ',A,' ',B)
       Else
         Writeln(C,' ',B,' ',A)
end.
Kurang Relevan? Coba Pencarian Lain!
Read more

1 Contoh Program Pascal Perhitungan Ipk

Contoh Program Pascal  Perhitungan Ipk
uses wincrt;
var  a,b,c : string;
x : integer;
d:char;        
Grade : string;
begin
repeat
clrscr;
write('masukan nama siswa :');readln(a);
write('masukan angkatan   :');readln(b);
write('masukan kelas      :');readln(c);
write ('Inputkan Nilai Angka : '); readln(x);
case x of
0..44 : Grade :='E';
45..54 : Grade :='D';
55..69 : Grade :='C';
70..84 : Grade :='B';
85..100 : Grade :='A';
else
grade :='Tidak ada Nilai';
end;
writeln('==============...HASIL....=============');
writeln('Nama           :',a);
writeln('angkatan       :',b);
writeln('kelas          :',c);
writeln ('IPK        :',Grade);
writeln('=======================================');  readln;
clrscr;
write('apakah anda ingin mengitung lagi?[y/t]');readln(d);
until upcase(d)<>'Y';
end.
Kurang Relevan? Coba Pencarian Lain!
B
Read more

0 Contoh Program Pascal IF

Contoh Program Pascal IF
uses wincrt;
var a,b : integer;
begin
write('masukan a :');readln(a);
write('masukan b :');readln(b);
if (a<b) then
writeln(a,  'lebih kecil dari'  ,b);
end.


==========================================
program if_ganda
uses wincrt;
var c,d:integer;
begin
write('masukan c:');readln(c);
write('masukan d:');readln(d);
if (c>d) then
begin
write(c,'lebih besar dari',d);
end
else
begin
write(c,' lebih kecil dari',d);
end
end.


========================================
program if_bersarang
uses wincrt;
var nama :string;
status,ja:integer;
T,ti,ta,gapok,gaber:real;
begin
clrscr;
write('masukan nama pegawai     :');readln(nama);
write('masukan gaji pokok       :');readln(gapok);
write('masukan status           :');readln(status);
if status= 1 then
  begin
   write('masukan jumlah anak      :');readln(ja);
   ti:=0.1*gapok;
   ta:=0.05*ja*gapok;
 end
 else if status = 2 then
   begin
t:=0;
 end
 else if status =3 then
  begin
write('masukan jumlah anak      :');readln(ja);
ti:=0;
ta:=0.05*ja*gapok;
T:=ti+ta;
 end;
gaber:=gapok+t;
write('nama    : ',nama,'==========>>Gaji Bersih Anda: ',gaber:10:2);
;
end.
Kurang Relevan? Coba Pencarian Lain!
Read more

0 Pascal???

Pascal adalah bahasa pemrograman yang pertama kali di buat oleh Profesor Niklaus Wirth, seorang anggota International Federation of Information Processing (IFIP) pada tahun 1971. Dengan mengambil nama dari matematikawan Perancis, Blaise Pascal, yang pertama kali menciptakan mesin penghitung, Profesor Niklaus Wirth membuat bahasa Pascal ini sebagai alat bantu untuk mengajarkan konsep pemrograman komputer kepada mahasiswanya. Selain itu, Profesor Niklaus Wirth membuat Pascal juga untuk melengkapi kekurangan-kekurangan bahasa pemrograman yang ada pada saat itu.
Read more

0 Program Konversi Biner

program konvesi_biner;
uses wincrt;
var desimal,d,sisa,biner:longint;

begin
write('angka desimal= ');readln(desimal);
d:=0;
repeat
      sisa:=desimal mod 2;
      desimal:=desimal div 2;
      if (d=0) then
         d:=1
      else
          d:=d*10;
      biner:=biner+sisa*d;
until desimal=0;
write( 'biner = ',biner);
end.


Read more

0 Program Perpangkatan

program perpangkatan;
uses wincrt;
var i, o, p: longint; hasil: real;
begin  writeln ('a pangkat b');
       writeln ('masukkan a= '); readln (o);
       writeln ('masukkan b= '); readln (p);
       hasil:=1;
       for i:=1 to abs (p) do
       hasil:=o * hasil;
       if (p<0) then
       begin
       write ('hasil= '); write (1/hasil);
       end
       else
       begin
       write ('hasil= '); write (hasil)
       end;
end.

Read more

0 Program Binomial

program binomial;
uses wincrt;
var
i,j,k,n,x:longint;
a,b,c,d,e,p: real;

begin
     readln (n);
     readln (x);
     readln (p);
     a:=1;b:=1;c:=1;d:=1;e:=1;
     for i:=1 to n do
     a:=a*i;
     for j:=1 to x do
     begin
     b:=b*j;
     c:=c*p;
     end;
     for k:=1 to (n-x) do
     begin
     d:=d*k;
     e:=e*(1-p);
     end;
     writeln (a/(b*d)*c*e:0:4);

end.

Read more

0 Program Bernouli

program bernouli;
uses wincrt;
var i,x:integer;
a,hasil:real;
function bernoulli(p:real):integer;
var u:real;
begin
u:=random;
if u<=p then
bernoulli:=1
else bernoulli:=0;
end;
begin
write('besar nilai peluang:');
readln(a);
write('kode peluang yang ingin di cari, peluang sukses (ketik:1) atau peluang gagal (ketik:0)?');
readln(x);
if x=1 then
hasil:=bernoulli(a)*a
else
hasil:=bernoulli(a)*(1-a);
writeln(hasil:0:2);
end.

Read more

0 Program Bintang Kotak

program bintang_kotak;
uses wincrt;
var n,i:integer;
begin
write('masukkan nilai n= ');readln(n);
for i:=1 to n do
write('* ');writeln;
for i:=1 to n-2 do
writeln ('*','*':n*2-2);
for i:=1 to n do
write('* ');writeln;
end.


Read more

2 Program Bintang Silang

program bintang_silang;
uses wincrt;
var a,n,b,i:integer;
begin
write('masukkan nilai n= ');readln(n);
a:=n-1;
for i:=1 to n div 2 do
begin
writeln('*':i,'*':a);
a:=a-2;
end;
if n mod 2=1 then
begin
writeln('*':(n div 2)+1);
end
else
a:=n;
for i:=n div 2 downto 1 do
begin
a:=a+2;
writeln('*':i,'*':a);
end;
end.


Read more

0 Program Bintang Tambah

program bintang_tambah;
uses wincrt;
var i,n:integer;
begin
write ('masukkan nilai n= ');readln(n);
for i:=1 to n div 2 do
writeln('*':n);
for i:=1 to n do
write('* ');writeln;
for i:=1 to n div 2 do
writeln ('*':n);
end.


Read more

0 Program Penjumlahan Deret Ganjil

program penjumlahanganjil;
uses wincrt;
var i,j,k:integer;
begin
write ('input= ');readln(j);
i:=0;k:=-1;
repeat
if i>=1 then write ('+');
i:=i+1;
k:=k+2;
write (k);
if i=j then write ('=',j*j);
until i=j
end.


Read more

0 Program Penjumlahan Deret Segitiga Pascal

program penjmlhn_sgtgapascal;
uses wincrt;
var
n,m,i,a,b,c:longint;
d,e:real;
begin
write('input: ');readln(n);
for m:=0 to n do
begin
a:=1;b:=1;c:=1;
for i:=1 to n do
a:=a*i;
for i:=1 to n-m do
b:=b*i;
for i:=1 to m do
c:=c*i;
begin
d:=a/(b*c);
e:=e+d;
if n=m then
write(d:0:0)
else
write(d:0:0,'+');
end;
end;
write('=',e:0:0);
end.





Read more

0 Program Mean-Varians

program mean_var;
uses wincrt;
var
i,n:integer;a,b,c,d:real;x:array[1..100] of integer;
begin
write('masukkan jumlah data: ');readln(n);
a:=0;
for i:=1 to n do
begin
write('x[',i,']= ');readln(x[i]);
a:=a+x[i];
end;
writeln;
writeln('rata-rata: ',a/n:0:2);
for i:=1 to n do         
begin
b:=x[i]-(a/n);
c:=b*b;
d:=d+c;
end;
writeln('varians: ',d/(n-1):0:2);
end.


Read more

0 Program Faktorial

program faktorial;
uses wincrt;
var
n,i,a:longint;
begin
write('input:');readln(n);
write(n,'!=');
a:=1;
begin
for i:=1 to n do
begin
a:=a*i;
end;
end;
for i:=n downto 2 do
write(i,'x');
write(1);
if n>1 then
write('=',a);
end.
 
 
Read more

0 menampilkan 1 sampai 10

Jumat, 20 Desember 2013
source code untuk menampilkan angka 1 to 10 dengan fungsi for..to..do
uses crt;
  var
  a,b : integer;
  f : longint;
Begin
   clrscr;
   a:=1;
   b:=10;
   for a :=1 to b do
   begin
   writeln(a);
   end;
   readln;
   end.
Read more

3 [Turbo Pascal] Program Data Mahasiswa dengan Type Data Terstruktur

Sabtu, 26 Oktober 2013
Program Data_Mahasiswa;
Uses wincrt;

{------------TYPE RECORD------------}

  Type Tabel_Mhs = Record
     nim : String;
     nama: String;
     tgl : String;
  End;

  Type Tabel_MK = Record
     kode_MK : String;
     Nama_MK : String;
     jum_SKS : Integer;
  End;

  Type Tabel_Nilai = Record
     tugas     : Real;
     UTS       : Real;
     UAS       : Real;
     nil_Angka : Real;
     nil_Huruf : Char;
  End;

Var
  Mhs  : Array[1..20] of Tabel_Mhs;  
  MK   : Array[1..20] of Tabel_MK;
  Nilai: Array[1..20] of Tabel_Nilai;
  Angka: Real;
  i, n : Integer;


  {---PROCEDURE INPUT DATA MAHASISWA---}

     Procedure Mahasiswa;
     Begin
      With Mhs[i] do
        Begin          
          write('Nim Mahasiswa    : ');readln(nim);
          write('Nama Mahasiswa   : ');readln(nama);
          write('tgl lahir        : ');readln(tgl);
          Writeln;
        End;
      End;

  
  {---PROCEDURE INPUT MATAKULIAH---}

      Procedure Mata_Kuliah;
      Begin
       With MK[i] do
         Begin
           Write('Kode Mata Kuliah : ');readln(kode_MK);
           Write('Nama Mata Kuliah : ');readln(Nama_MK);
           Write('Jumlah SKS       : ');readln(jum_SKS);
           Writeln;
         End;
      End;


  {---FUNCTION HITUNG NILAI ANGKA---}

      Function Nilai_Mhs(tugas,UTS,UAS : Real; Var nil_Angka : Real) : Real; 
      Begin
        nil_Angka:= (0.2 * tugas) + (0.3 * UTS) + (0.5 * UAS);
        Nilai_Mhs:= nil_Angka;
      End;


{-----------PROGRAM UTAMA----------}

Begin
Write('Jumlah Data : ');readln(n);
Writeln;
For i:= 1 to n do
Begin
Writeln('Data',i);
Writeln('-------');
Mahasiswa;
Mata_Kuliah; 

With Nilai[i] do
   Begin
     Write('Nilai Tugas      : ');readln(tugas);
     Write('Nilai UTS        : ');readln(UTS);
     Write('Nilai UAS        : ');readln(UAS);
     Writeln('Nilai Angka      : ',Nilai_Mhs(tugas,UTS,UAS,nil_Angka):0:2);
     Angka:=Nilai_Mhs(tugas,UTS,UAS,nil_Angka);

      if Angka >= 81 then
         nil_Huruf:= 'A'
      Else if Angka >= 71 then
         nil_Huruf:= 'B'
      Else if Angka >= 61 then
         nil_Huruf:= 'C'
      Else if Angka >= 51 then
         nil_Huruf:= 'D'
      Else if Angka < 51 then
         nil_Huruf:= 'E';
     
     Writeln('Nilai Huruf      : ',nil_Huruf);readln;
   End;
 End;


{---MENAMPILKAN DATA DALAM BENTUK TABEL---}

Begin
Clrscr;
gotoxy(1,2);Writeln('DATA REPORT':45);
gotoxy(1,4);Writeln('[----][-------------][---------------][-----------][-----------][-------][-----]');
gotoxy(1,5);Writeln('[ NO ][     NIM     ][      Nama     ][  Kode MK  ][  Nama MK  ][  N.A  ][ N.H ]');
gotoxy(1,6);Writeln('[----][-------------][---------------][-----------][-----------][-------][-----]');

For i:= 1 to n do
 Begin
  gotoxy(1,6+i);Write('[    ][             ][               ][           ][           ][       ][     ]');
  gotoxy(3,6+i);Write(i);
  gotoxy(9,6+i);Write(Mhs[i].nim);
  gotoxy(24,6+i);Write(Mhs[i].nama);
  gotoxy(41,6+i);Write(Mk[i].Kode_MK);
  gotoxy(54,6+i);Write(Mk[i].nama_MK);
  gotoxy(67,6+i);Write(Nilai[i].nil_Angka:0:2);
  gotoxy(77,6+i);Write(Nilai[i].nil_Huruf);
 End;             
End;

End.
Read more

0 Pascal: Program Jumlah Persentasi Kehadiran Mahasiswa


Read more