Anda di halaman 1dari 4

Permasalahan: Kita diminta untuk menghitung nilai IP seorang mahasiswa pada suatu semester.

Program
membaca input berupa sejumlah N matakuliah. Setiap matakuliah memiliki nilai input berupa : kode
matakuliah, nama matakuliah, sks matakuliah, nilai huruf matakuliah. Untuk menghitung IP berlakuk
ketentuan sbb:

Nilai Angka Nilai Huruf Bobot


x >=80 A 4
70 <= x < 80 B 3
60 <= x < 70 C 2
50 <= x < 60 D 1
x < 50 E 0
Solusi:
n

∑ Bobot i x SKSi
i=1
IP ¿ n

∑ SKSi
i=1

MK 1: nilai huruf A, nilai bobot 4, nilai SKS 12

MK 1: nilai huruf B, nilai bobot 3, nilai SKS 8

IP = ((4 x12) + (8x3))/(12+8) = 72/20 = 3.60

Sum_sks = sks_mk1 + sks_mk2 + sks_mk3 + …..+ sks_mkn

Sum_bobot_sks = sks_mk1 * bobot_nilaiMk1 + sks_mk2 * bobot_nilaiMk2 + … + sks_mkn * bobot_mkN

PROGRAM Menghitung IP

{ menghitung nilai IP seorang mahasiswa pada suatu semester. Program membaca input berupa
sejumlah N matakuliah. Setiap matakuliah memiliki nilai input berupa : kode matakuliah, nama
matakuliah, sks matakuliah, nilai huruf matakuliah.

DEKLARASI:

Int: jumlah_matakuliah,i

Char[6]: kode_matakuliah,

Char [50]: nama_matakuliah,

Int: sks_matakuliah

Char: nilai_huruf

Int: bobot_nilai

Float: ip,sum_sks,sum_bobot_sks
Algoritma:

Read(jumlah_matakuliah)

Sum_bobot_sks =0;

Sum_sks = 0;

For i = 1 to jumlah_matakuliah do

{membaca nilai matakuliah}

Read(kode_matakuliah)

Read(nama_matakuliah)

Read(sks_matakuliah)

Read(nilai_huruf)

{konversi nilai huruf ke bobot_nilai}

If nilai_huruf = ‘A’ then bobot_nilai = 4

Else If nilai_huruf = ‘B’ then bobot_nilai = 3

Else If nilai_huruf = ‘C’ then bobot_nilai = 2

Else If nilai_huruf = ‘D’ then bobot_nilai = 1

Else then bobot_nilai = 0;

{menghitung nilai perkalian sks*bobot dan menambahikannya pada nilai sum_bobot_sks}

Sum_bobot_sks  sum_bobot_sks + sks_matakuliah*bobot_nilai

{menambahkan sks_matakuliah pada nilai sum_bobot_sks}

Sum_sks  sum_sks + sks_matakuliah

End for

Ip  sum_bobot_sks/sum_sks

Write (ip)
Mk 1: sks = 3 niloai = ‘A’ , sks_matakuliah * bobot_nilai = 3 * 4 = 12

Sum_bobot_sks = 0 + 12 = 12;

Sum_sks = 0 + 3 = 3;

Mk2 : sks= 2, nilai = ‘B’ sks_mk*bobot_nilai = 2 * 3 = 6

Sum_bobot-sks = 12 + 6 = 18;

Sum_sks = 3 + 2 = 5;

#include <stdio.h>
int main()
{
int jumlah_matakuliah, i;
float ip;
float sum_sks_bobot, sum_sks;
char kode_matakuliah[6] ;
char nama_matakuliah[50];
char nilai_huruf;
int sks_matakuliah;
int bobot_nilai;
sum_sks_bobot =0;
sum_sks = 0;
printf("Input jumlah matakuliah:
");scanf("%d",&jumlah_matakuliah);
for (i=1;i<=jumlah_matakuliah;i++){
//baca input matakuliah
printf("input kode mk: "); scanf("%s", &kode_matakuliah);
printf("input nama mk: "); scanf("%s", &nama_matakuliah);
printf("input sks: "); scanf("%d", &sks_matakuliah);
printf("input nilai huruf: "); scanf("%s", &nilai_huruf);
//konversi nilai huruf ke bobot_nilai
if (nilai_huruf == 'A' || nilai_huruf == 'a') bobot_nilai =
4;
else if (nilai_huruf == 'B' || nilai_huruf == 'b')
bobot_nilai = 3;
else if (nilai_huruf == 'C' || nilai_huruf == 'c')
bobot_nilai = 2;
else if (nilai_huruf == 'D' || nilai_huruf == 'd')
bobot_nilai = 1;
else bobot_nilai = 0;
printf ("bobot_nilai = %d",bobot_nilai);
//hitung bobot*sks_matakuliah
sum_sks_bobot = sum_sks_bobot + sks_matakuliah*bobot_nilai;
printf ("sum_sks_bobot = %d",sum_sks_bobot);
//hitung sum_sks
sum_sks = sum_sks + sks_matakuliah;
printf ("sum_sks = %d",sum_sks);
}
ip = sum_sks_bobot/sum_sks;
printf("IP = %.2f", ip);
return 0;
}

Anda mungkin juga menyukai