Tentukan nilai akhir dan kelulusan dari seorang mahasiswa pada sebuah matakuliah. Dengan
ketentuan nilai UTS mempunyai bobot 30%, UAS 40% dan Tugas 30%. Sedangkan grade nilai
mahasiswa adalah sebagai berikut:
Nilai grade
80 – 100 = A;
68 – 79 = B;
56 – 67 = C;
45 – 55 = D;
0 – 44 = E;
Mahasiswa dinyatakan tidak lulus jika nilainya dibawah 55.
Jawab :
Definisi masalah :
Input : nilai tugas, nilai uts, nilai uas, nilai akhir
Output : index
Proses : nilai akhir = (nilai tugas x 30% + nilai uts x 30% + nilai uas x 40%).
Index = jika nilai akhir >= 80, index = A
Jika nilai akhir >=68, index=B
Jika nilai akhir >=56, index=C
Jika nilai akhir >=45, index=D (Tidak lulus)
Jika nilai akhir >=0, index=E (Tidak lulus)
Selain itu, index = X
Outline Solusi
INPUT PROSES OUTPUT
nilai_akhir=(0.3*tugas)+(0.3*uts)+(0.4*uas);
if (nilai_akhir>=80) then
index='A';
Baca Nilai_Tugas else if (nilai_akhir>=68) then
Baca Nilai_Uts index='B';
Baca Nilai_Uas else if (nilai_akhir>=56) then
index='C'; Index
else if (nilai_akhir>=45) then
index='D';
cout<<"Tidak lulus,"<<endl;
else if (nilai_akhir>=0) then
index='E';
cout<<"Tidak lulus,"<<endl;
Flowchart
Pemeriksaan Algoritma
Input data
Variable Data1 Data2
Tugas 80 40
Uts 80 40
Uas 80 55
Output data
Variable Data1 Data2
Nilai Akhir 80 46
Index A B
Desk checking
Data1 Data2
Baca tugas 80 40
Baca uts 80 40
Baca uas 80 55
Cetak nilai akhir 80 46
Cetak index A D
main()
char index;
cout<<"\t ==============="<<endl;
clrscr();
cout<<"\t ==============="<<endl;
cout<<"\t ==============="<<endl;
cout<<"\t ================"<<endl;
nilai_akhir=(0.3*tugas)+(0.3*uts)+(0.4*uas);
if (nilai_akhir>=80)
{
index='A';
else if (nilai_akhir>=68)
index='B';
else if (nilai_akhir>=56)
index='C';
else if (nilai_akhir>=45)
index='D';
cout<<"Tidak lulus,"<<endl;
else if (nilai_akhir>=0)
{
index='E';
cout<<"Tidak lulus,"<<endl;
}
else
index='X';
cout<<"Grade : "<<index<<endl;
getch();