Algoritma Menghitung nilai IPK mahasiswa menggunakan C++

Assalamualaikum wr. wb
         Kali ini saya akan memposting tentang Algoritma Menghitung IPK menggunakan program C++, langsung saja ke TKP :
  • Analisis
              1. Input yang akan digunakan disini adalah , menginputkan jumlah SKS dan Input nilai dalam bentuk huruf A-E.
              2. Outpunya akan menghasil nilai IPK berdasar SKS dan Nilai huruf yang telah di inputkan.
  • Algoritma
                     Procedure IPK (input/output matkul[50] ::char , jmk :: integer, bsks::integer)
                    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<iostream>
#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.

1 komentar: