Menghitung IPK

14

Click here to load reader

Transcript of Menghitung IPK

Page 1: Menghitung IPK

Menghitung IPK

Page 2: Menghitung IPK

uses crt;varNIM,nama:array [1..100] of string;tnb:array[1..100]of real;ttgs:array[1..100]of real;na:array[1..100]of real;nm:array[1..100]of real;nt:array[1..100]of real;nf:array[1..100]of real;nb:array [1..100] of byte;nh:array [1..100] of char;tmpN:real;tmpnm:string;h:char;n,i,j,A,B,C,D,E:byte;beginclrscr;i:=1;

Page 3: Menghitung IPK

write('NIM : ');readln(NIM[i]); repeat write('Nama : ');readln(Nama[i]); for j:=1 to 15 do begin write('Pertemuan ke ',j,'(H/T): ');readln(h); if (h='H')or(h='h') then inc(nb[i]); end; tnb[i]:=(nb[i]/15)*100; for j:=1 to 5 do begin write('Nilai Tugas ke ',j,': ');readln(NT[j]); ttgs[i]:=ttgs[i]+NT[j]; end; ttgs[i]:=ttgs[i]/5; write('Nilai Mid: ');readln(Nm[i]); write('Nilai FInal: ');readln(NF[i]); na[i]:=(0.1*tnb[i])+(0.2*ttgs[i])+(0.3*nm[i])+(0.4*nf[i]); if (na[i]>=80) then begin nh[i]:='A'; inc(A); end else if (na[i]>=65) then begin nh[i]:='B'; inc(B); end else if (na[i]>=50) then begin nh[i]:='C'; inc(C); end else if (na[i]>=40) then begin nh[i]:='D'; inc(D); end else begin nh[i]:='E'; inc(E); end;inc(i);write('NIM [x=Exit] : ');readln(NIM[i]);until NIM[i]='x';dec(i);for j:=1 to i-1 dobegin for n:=j+1 to i do begin if (na[j]<=na[n]) then

Page 4: Menghitung IPK

begin tmpnm:=nama[j]; nama[n]:=tmpnm; tmpnm:=nIM[j]; NIM[n]:=tmpnm; tmpn:=ttgs[j]; ttgs[n]:=tmpn; tmpn:=tnb[j]; tnb[n]:=tmpn; tmpn:=nm[j]; nm[n]:=tmpn; tmpn:=NF[j]; NF[n]:=tmpn; tmpn:=na[j]; na[n]:=tmpn; h:=Nh[j]; NH[n]:=h; end; end;end;writeln('Mahasiswa yang memiliki nilai akhir tertinggi yaitu : ');writeln('Nama : ',nama[1]);writeln('NIM : ',nIM[1]);writeln('Nilai Akhir : ',na[1]:10:2);writeln('Mahasiswa yang memiliki nilai akhir terendah yaitu : ');writeln('Nama : ',nama[i]);writeln('NIM : ',nIM[i]);writeln('Nilai Akhir : ',na[i]:10:2);writeln;readln;writeln('Daftar Nilai Mahasiswa setelah Di urutkan Berdasarkan yang terbesar: ');for j:=1 to i dobeginwriteln('Nama : ',nama[j]);writeln('NIM : ',nIM[j]);writeln('Nilai Absensi : ',tnb[j]:10:2);writeln('Nilai Tugas : ',ttgs[j]:10:2);writeln('Nilai MID : ',NM[j]:10:2);writeln('Nilai Final : ',nF[j]:10:2);writeln('Nilai Huruf : ',nh[j]);writeln('Nilai Akhir : ',na[j]:10:2);if (nh[j]='E') thenwriteln('Keterangan : Tidak Lulus ')elsewriteln('Keterangan : Lulus ');end;readlnend.

Page 5: Menghitung IPK

Tugas 2

uses crt;const max=10;type mata=record kmk:string; nmk:string; sks:integer; smt:integer; nh:char; bt:integer; bs:integer;end;type data=record nama:string; NIM:string; alamat:string; mk:array[1..max] of mata;end;varmhs:array[1..max]of data;i,x,y,j:integer;tsks:array[1..max]of integer;

Page 6: Menghitung IPK

jmlmk:array[1..max]of integer;ips:array[1..max]of real;tbs:array[1..max]of integer;beginclrscr;i:=1;write('Nim : ');readln(mhs[i].nim);repeatwrite('nama: ');readln(mhs[i].nama);write('alamat: ');readln(mhs[i].alamat);j:=1;write('Kode MK : '); readln(mhs[i].mk[j].kmk);repeatwrite('nama MK: '); readln(mhs[i].mk[j].nmk);write('smt: '); readln(mhs[i].mk[j].smt);write('sks: '); readln(mhs[i].mk[j].sks);tsks[i]:=tsks[i]+mhs[i].mk[j].sks;write('NH: ');readln(mhs[i].mk[j].NH);if mhs[i].mk[j].NH='A' thenbeginmhs[i].mk[j].Bt:=4;mhs[i].mk[j].Bs:=mhs[i].mk[j].Bt*mhs[i].mk[j].sks;tbs[i]:=tbs[i]+mhs[i].mk[j].Bs;end;if mhs[i].mk[j].NH='B' thenbeginmhs[i].mk[j].Bt:=3;mhs[i].mk[j].Bs:=mhs[i].mk[j].Bt*mhs[i].mk[j].sks;tbs[i]:=tbs[i]+mhs[i].mk[j].Bs;end;if mhs[i].mk[j].NH='C' thenbeginmhs[i].mk[j].Bt:=2;mhs[i].mk[j].Bs:=mhs[i].mk[j].Bt*mhs[i].mk[j].sks;tbs[i]:=tbs[i]+mhs[i].mk[j].Bs;end;if mhs[i].mk[j].NH='D' thenbeginmhs[i].mk[j].Bt:=1;mhs[i].mk[j].Bs:=mhs[i].mk[j].Bt*mhs[i].mk[j].sks;tbs[i]:=tbs[i]+mhs[i].mk[j].Bs;end;if mhs[i].mk[j].NH='E' thenbeginmhs[i].mk[j].Bt:=0;mhs[i].mk[j].Bs:=mhs[i].mk[j].Bt*mhs[i].mk[j].sks;tbs[i]:=tbs[i]+mhs[i].mk[j].Bs;end;inc(j);write('Kode MK (X=exit): '); readln(mhs[i].mk[j].kmk);inc(jmlmk[i]);until mhs[i].mk[j].kmk ='x';inc(i);write('nim (x=exit): ');readln(mhs[i].nim);until mhs[i].nim='x';dec(i);ips[i]:=tbs[i]/tsks[i];for x:=1 to i do

Page 7: Menghitung IPK

beginwriteln;writeln('stb: ',mhs[i].nim:2,'':2);writeln('nama: ',mhs[i].nama:2,'':2);writeln('Alamat: ',mhs[i].alamat:2,'':2);writeln('---------------------------------------------------------------');writeln('kmk':2,'':4, 'nmk':2,'':4, 'smt':2,'':4, 'sks':2,'':4,'NH':2,'':4,'BT':2,'':4,'B*S':2,'':4);writeln('---------------------------------------------------------------');dec(j);for y:=1 to j dobeginwrite(mhs[i].mk[y].kmk:2,'':4,mhs[i].mk[y].nmk:2,'':4,mhs[i].mk[y].smt:2,'':4);writeln(mhs[i].mk[y].sks:2,'':4,mhs[i].mk[y].NH:2,'':4,mhs[i].mk[y].Bt:2,'':4,mhs[i].mk[y].Bs:2,'':4);end;writeln('---------------------------------------------------------------');writeln('total Bobot * Sks: ',tbs[i]:2,'':2);writeln('total sks: ',tsks[i]:2,'':2);writeln('IPS: ',ips[i]:0:2,'':2);writeln('jumlah mata Kuliah: ',jmlmk[i]:2,'':2);writeln;end;readln;end.

Page 8: Menghitung IPK

Tugas 2

uses crt;const max=10;type mata=record kmk:string; nmk:string; sks:integer; smt:integer; nh:char; bt:integer; bs:integer;end;type data=record nama:string; NIM:string; alamat:string; mk:array[1..max] of mata;end;varmhs:array[1..max]of data;i,x,y,j:integer;tsks:array[1..max]of integer;jmlmk:array[1..max]of integer;ips:array[1..max]of real;

Page 9: Menghitung IPK

tbs:array[1..max]of integer;beginclrscr;i:=1;write('Nim : ');readln(mhs[i].nim);repeatwrite('nama: ');readln(mhs[i].nama);write('alamat: ');readln(mhs[i].alamat);j:=1;write('Kode MK : '); readln(mhs[i].mk[j].kmk);repeatwrite('nama MK: '); readln(mhs[i].mk[j].nmk);write('smt: '); readln(mhs[i].mk[j].smt);write('sks: '); readln(mhs[i].mk[j].sks);tsks[i]:=tsks[i]+mhs[i].mk[j].sks;write('NH: ');readln(mhs[i].mk[j].NH);if mhs[i].mk[j].NH='A' thenbeginmhs[i].mk[j].Bt:=4;mhs[i].mk[j].Bs:=mhs[i].mk[j].Bt*mhs[i].mk[j].sks;tbs[i]:=tbs[i]+mhs[i].mk[j].Bs;end;if mhs[i].mk[j].NH='B' thenbeginmhs[i].mk[j].Bt:=3;mhs[i].mk[j].Bs:=mhs[i].mk[j].Bt*mhs[i].mk[j].sks;tbs[i]:=tbs[i]+mhs[i].mk[j].Bs;end;if mhs[i].mk[j].NH='C' thenbeginmhs[i].mk[j].Bt:=2;mhs[i].mk[j].Bs:=mhs[i].mk[j].Bt*mhs[i].mk[j].sks;tbs[i]:=tbs[i]+mhs[i].mk[j].Bs;end;if mhs[i].mk[j].NH='D' thenbeginmhs[i].mk[j].Bt:=1;mhs[i].mk[j].Bs:=mhs[i].mk[j].Bt*mhs[i].mk[j].sks;tbs[i]:=tbs[i]+mhs[i].mk[j].Bs;end;if mhs[i].mk[j].NH='E' thenbeginmhs[i].mk[j].Bt:=0;mhs[i].mk[j].Bs:=mhs[i].mk[j].Bt*mhs[i].mk[j].sks;tbs[i]:=tbs[i]+mhs[i].mk[j].Bs;end;inc(j);write('Kode MK (X=exit): '); readln(mhs[i].mk[j].kmk);inc(jmlmk[i]);until mhs[i].mk[j].kmk ='x';inc(i);write('nim (x=exit): ');readln(mhs[i].nim);until mhs[i].nim='x';dec(i);ips[i]:=tbs[i]/tsks[i];for x:=1 to i dobeginwriteln;

Page 10: Menghitung IPK

writeln('stb: ',mhs[i].nim:2,'':2);writeln('nama: ',mhs[i].nama:2,'':2);writeln('Alamat: ',mhs[i].alamat:2,'':2);writeln('---------------------------------------------------------------');writeln('kmk':2,'':4, 'nmk':2,'':4, 'smt':2,'':4, 'sks':2,'':4,'NH':2,'':4,'BT':2,'':4,'B*S':2,'':4);writeln('---------------------------------------------------------------');dec(j);for y:=1 to j dobeginwrite(mhs[i].mk[y].kmk:2,'':4,mhs[i].mk[y].nmk:2,'':4,mhs[i].mk[y].smt:2,'':4);writeln(mhs[i].mk[y].sks:2,'':4,mhs[i].mk[y].NH:2,'':4,mhs[i].mk[y].Bt:2,'':4,mhs[i].mk[y].Bs:2,'':4);end;writeln('---------------------------------------------------------------');writeln('total Bobot * Sks: ',tbs[i]:2,'':2);writeln('total sks: ',tsks[i]:2,'':2);writeln('IPS: ',ips[i]:0:2,'':2);writeln('jumlah mata Kuliah: ',jmlmk[i]:2,'':2);writeln;end;readln;end.

Page 11: Menghitung IPK

Tugas 2

uses crt;const max=10;type mata=record kmk:string; nmk:string; sks:integer; smt:integer; nh:char; bt:integer; bs:integer;end;type data=record nama:string; NIM:string; alamat:string; mk:array[1..max] of mata;end;varmhs:array[1..max]of data;i,x,y,j:integer;tsks:array[1..max]of integer;jmlmk:array[1..max]of integer;ips:array[1..max]of real;

Page 12: Menghitung IPK

tbs:array[1..max]of integer;beginclrscr;i:=1;write('Nim : ');readln(mhs[i].nim);repeatwrite('nama: ');readln(mhs[i].nama);write('alamat: ');readln(mhs[i].alamat);j:=1;write('Kode MK : '); readln(mhs[i].mk[j].kmk);repeatwrite('nama MK: '); readln(mhs[i].mk[j].nmk);write('smt: '); readln(mhs[i].mk[j].smt);write('sks: '); readln(mhs[i].mk[j].sks);tsks[i]:=tsks[i]+mhs[i].mk[j].sks;write('NH: ');readln(mhs[i].mk[j].NH);if mhs[i].mk[j].NH='A' thenbeginmhs[i].mk[j].Bt:=4;mhs[i].mk[j].Bs:=mhs[i].mk[j].Bt*mhs[i].mk[j].sks;tbs[i]:=tbs[i]+mhs[i].mk[j].Bs;end;if mhs[i].mk[j].NH='B' thenbeginmhs[i].mk[j].Bt:=3;mhs[i].mk[j].Bs:=mhs[i].mk[j].Bt*mhs[i].mk[j].sks;tbs[i]:=tbs[i]+mhs[i].mk[j].Bs;end;if mhs[i].mk[j].NH='C' thenbeginmhs[i].mk[j].Bt:=2;mhs[i].mk[j].Bs:=mhs[i].mk[j].Bt*mhs[i].mk[j].sks;tbs[i]:=tbs[i]+mhs[i].mk[j].Bs;end;if mhs[i].mk[j].NH='D' thenbeginmhs[i].mk[j].Bt:=1;mhs[i].mk[j].Bs:=mhs[i].mk[j].Bt*mhs[i].mk[j].sks;tbs[i]:=tbs[i]+mhs[i].mk[j].Bs;end;if mhs[i].mk[j].NH='E' thenbeginmhs[i].mk[j].Bt:=0;mhs[i].mk[j].Bs:=mhs[i].mk[j].Bt*mhs[i].mk[j].sks;tbs[i]:=tbs[i]+mhs[i].mk[j].Bs;end;inc(j);write('Kode MK (X=exit): '); readln(mhs[i].mk[j].kmk);inc(jmlmk[i]);until mhs[i].mk[j].kmk ='x';inc(i);write('nim (x=exit): ');readln(mhs[i].nim);until mhs[i].nim='x';dec(i);ips[i]:=tbs[i]/tsks[i];for x:=1 to i dobeginwriteln;

Page 13: Menghitung IPK

writeln('stb: ',mhs[i].nim:2,'':2);writeln('nama: ',mhs[i].nama:2,'':2);writeln('Alamat: ',mhs[i].alamat:2,'':2);writeln('---------------------------------------------------------------');writeln('kmk':2,'':4, 'nmk':2,'':4, 'smt':2,'':4, 'sks':2,'':4,'NH':2,'':4,'BT':2,'':4,'B*S':2,'':4);writeln('---------------------------------------------------------------');dec(j);for y:=1 to j dobeginwrite(mhs[i].mk[y].kmk:2,'':4,mhs[i].mk[y].nmk:2,'':4,mhs[i].mk[y].smt:2,'':4);writeln(mhs[i].mk[y].sks:2,'':4,mhs[i].mk[y].NH:2,'':4,mhs[i].mk[y].Bt:2,'':4,mhs[i].mk[y].Bs:2,'':4);end;writeln('---------------------------------------------------------------');writeln('total Bobot * Sks: ',tbs[i]:2,'':2);writeln('total sks: ',tsks[i]:2,'':2);writeln('IPS: ',ips[i]:0:2,'':2);writeln('jumlah mata Kuliah: ',jmlmk[i]:2,'':2);writeln;end;readln;end.