Algoritma Menghitung nilai IPK mahasiswa menggunakan C++
Assalamualaikum wr. wbKali ini saya akan memposting tentang Algoritma Menghitung IPK menggunakan program C++, langsung saja ke TKP :
- Analisis
2. Outpunya akan menghasil nilai IPK berdasar SKS dan Nilai huruf yang telah di inputkan.
- Algoritma
Deklarasi
i -> integer
bnilai[100]->integer
mutu[100]->integer
Deskripsi
for(i=1;i<=jmk;i++):
read(matkul[i]);
if (matkul[i]=='A') then bnilai[i]=4;
else if (matkul[i]=='B') then bnilai[i]=3;
else if (matkul[i]=='C') then bnilai[i]=2;
else if (matkul[i]=='D') then bnilai[i]=1;
else if (matkul[i]=='E') then bnilai[i]=0;
endif
read(bsks[i]);
if(bsks[i]>=1 && bsks[i]<=4) then bsks[i]= bsks[i];
endif
mutu[i]=bnilai[i]*bsks[i];
endfor
float tmutu=0, tbobot=0;
for(z=1; z<=jmk; z++):
tmutu+=mutu[z];
tbobot+=bsks[z];
endfor
float ipk;
ipk=tmutu/tbobot;
write(ipk).
- Source kode C++ :
#include<conio.h>
#include<ctype.h>
#include<stdlib.h>
#include<stdio.h>
#include<windows.h>
using namespace std;
typedef struct{
char npm[15];
char nama[50];
char fakultas[25];
char prodi[25];
}mahasiswa;
class matakuliah {
private:
int bsks[170];
int bnilai[170];
int total[170];
int mutu[170];
int jmk,i;
char matkul[170];
char *cbsks[170];
char sem;
public:
matakuliah();
void input();
void output();
};
matakuliah::matakuliah(){
mahasiswa mhs;
cout<<"=== Hitung IPK Mahasiswa===";
cout<<"Masukkan Nama: "; cin>>mhs.nama;
cout<<"Masukkan NIM: "; cin>>mhs.npm;
cout<<"Masukkan Fakultas: "; cin>>mhs.fakultas;
cout<<"Masukkan Program Studi: "; cin>>mhs.prodi;
cout<<"Anda Sekarang Semester: "; cin>>sem;
}
void matakuliah::input(){
int jmk, i, z;
cout<<"Masukkan Jumlah Mata Kuliah: "; cin>>jmk;
cout<<"===================================\n\n";
cout<<"Masukkan Nilai Anda [A..E]\n";
for(i=1; i<=jmk; i++){
kondisi:
cout<<"Mata kuliah ke "<<i<<" : "; cin>>matkul[i];
if(matkul[i]=='a' || matkul[i]=='A'){
bnilai[i]=4;
}
else if(matkul[i]=='b' || matkul[i]=='B'){
bnilai[i]=3;
}
else if(matkul[i]=='c' || matkul[i]=='C'){
bnilai[i]=2;
}
else if(matkul[i]=='d' || matkul[i]=='D'){
bnilai[i]=1;
}
else if(matkul[i]=='e' || matkul[i]=='E'){
bnilai[i]=0;
}
else{
cout<<"Masukkan HANYA A,B,C,D,E!!\n";
goto kondisi;
}
kond:
cout<<"Bobot SKS [1..4]: "; cin>>bsks[i];
if(bsks[i]>=1 && bsks[i]<=4){
bsks[i]=bsks[i];
}
else{
cout<<"Masukkan HANYA Angka 1-4!!\n";
goto kond;
}
mutu[i]=bnilai[i]*bsks[i];
}
cout<<"\n\nHASIL\n";
}
void matakuliah::output(){
mahasiswa mhs;
float tmutu=0, tbobot=0;
for(int z=1; z<=jmk; z++){
tmutu+=mutu[z];
tbobot+=bsks[z];
}
float ipk;
ipk=tmutu/tbobot;
cout<<"========================\n";
cout<<"NIM: "<<mhs.npm;
cout<<"Semester: "<<sem;
cout<<"Jumlah Mata Kuliah: "<<jmk;
cout<<"Total Mutu: "<<tmutu;
cout<<"Total SKS: "<<tbobot;
cout<<"Total IPK: "<<ipk;
cout<<"========================";
}
int main(){
matakuliah matkul;
matkul.input();
matkul.output();
getch();
return 0;
}
Berikut hasil compile :
Sekian dan terima kasih.
Komentar ini telah dihapus oleh pengarang.
BalasHapus