Selamat datang di Altekinfo
Di pagi yang cerah ini saya akan membagikan suatu PROGRAM untuk melakukan penghitungan pada INDEKS PRESTASI anda. Di
dalam pendidikan, evaluasi dilakukan untuk memetakan kemampuan seorang siswa
dalam menyerap materi pelajaran yang telah diberikan. Pada level SD sampai
SLTA, evaluasi dilakukan setiap 1 semester sekali (untuk kurikulum saat ini)
dan menggunakan rapot sebagai acuan prestasi yang sudah diraih. Nilai pada
rapor berkisar 0-10 atau 0-100. Seorang siswa dinyatakan naik kelas jika
memenuhi standar minimal yang telah ditetapkan.
Saat kuliah, sistem penilaian berubah
drastis. Di level perguruan tinggi dikenal dengan istilah Indeks Prestasi atau
lebih sering disebut IP. IP adalah sistem penilaian yang digunakan untuk
evaluasi yang menentukan apakah seorang mahasiswa sudah menguasai materi yang
diberikan selama masa perkuliahan. IP dibagi menjadi 2, yaitu Indeks Prestasi
Semester (IPS) dan Indeks Prestasi Kumulatif (IPK).
IPS adalah indeks prestasi berdasarkan capaian nilai mata kuliah per semesternya. Sementara IPK adalah hasil rata-rata dari IPS yang dicapai setiap semesternya. IPK inilah yang menjadi salah satu kunci pertama seorang sarjana dalam mencari pekerjaan. Sebelum menentukan IPK, kita harus mencari IPS kita terlebih dulu, kemudian baru di rata-rata dengan hasil IPS yang lain. Adapun rumus mencari IPS adalah sebagai berikut :
IPS adalah indeks prestasi berdasarkan capaian nilai mata kuliah per semesternya. Sementara IPK adalah hasil rata-rata dari IPS yang dicapai setiap semesternya. IPK inilah yang menjadi salah satu kunci pertama seorang sarjana dalam mencari pekerjaan. Sebelum menentukan IPK, kita harus mencari IPS kita terlebih dulu, kemudian baru di rata-rata dengan hasil IPS yang lain. Adapun rumus mencari IPS adalah sebagai berikut :
Berbeda dengan sistem rapot, sistem
penilaian SKS menggunakan huruf. Masing-masing huruf merepresentasikan nilai
angka. Nilai angka pada sistem SKS berkisar antara 0 sampai 4, bukan 0 sampai
10. Berikut tabel konversi nilai huruf ke nilai angka pada sistem SKS :
Nilai Huruf
|
Nilai Angka
|
A
|
4
|
AB
|
3,5
|
B
|
3
|
BC
|
2,5
|
C
|
2
|
D
|
1
|
E
|
0
|
Tabel
konversi nilai huruf - angka
Untuk mempermudah penjelasan, saya
contohkan hasil IP saya semester 1 kemarin. Saya mengambil 20 SKS yang dibagi
menjadi 7 mata kuliah. Adapun detail bobot SKS masing-masing mata kuliah
beserta nilainya adalah sebagai berikut :
Semester 2
|
||
Mata Kuliah
|
Jumlah SKS
|
Nilai
|
Algoritma
dan Pemrograman
|
4
|
AB
|
Human
Computer Interaction
|
2
|
B
|
Kalkulus 2
|
3
|
BC
|
Matematika Diskrit
|
3
|
C
|
Organisasi Komputer
|
3
|
A
|
Konsep
Teknologi Informasi
|
2
|
A
|
Sistem
Operasi
|
3
|
AB
|
Berikut ini adalah langkah-langkah yang
digunakan untuk mencari IP dalam waktu semester (IPS) :
-
Konversikan nilai masing-masing mata
kuliah ke dalam nilai angka (sesuai dengan range nilai pada tabel)
-
Kalikan nilai masing-masing mata kuliah
dengan bobot SKS mata kuliah tersebut.
-
Kemudian jumlahkan semua hasil
perkalian mata kuliah dengan bobot SKS.
-
Hasil penjumlahan dibagi dengan jumlah
SKS yang diambil dalam 1 semester, hasil pembagian inilah yang disebut IP
(Indeks Prestasi) Semester.
-
IP berkisar dari 0 sampai 4.
Kali ini kita akan dengan mudah mengimplementasikannya ke dalam source code.
Source code yang akan digunakan adalah bahasa C/C++. Source code beserta
penjelasannya adalah sebagai berikut :
Implementasi dengan C/C++
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <algorithm>
//tipe data buatan, untuk menyimpan
detail masing-masing mata kuliah
typedef struct makul
{
char nama[101];
int sks;
char nilaiHuruf[3];
double nilaiAngka;
}tMakul;
tMakul transkrip[144];
//fungsi yang digunakan untuk
mengkonversi nilai huruf menjadi nilai angka
float decisionAngka(int sumMakul,int i)
{
double result;
printf("%s\n",transkrip[i].nilaiHuruf);
int angka;
if(transkrip[i].nilaiHuruf[0] == 'A')
{
result = 4;
if(transkrip[i].nilaiHuruf[1] == 'B')
result = 3.5;
}
else if(transkrip[i].nilaiHuruf[0] == 'B')
{
result = 3;
if(transkrip[i].nilaiHuruf[1] == 'C')
result = 2.5;
}
else if(transkrip[i].nilaiHuruf[0] == 'C')
{
result = 2;
}
else if(transkrip[i].nilaiHuruf[0] == 'D')
{
result = 1;
}
else
{
result = 0;
}
return result;
}
//fungsi yang digunakan untuk
memasukkan data mata kuliah
void InputMakul(int sumMakul)
{
char temp[2];
printf("Untuk masing-masing mata kuliah,\n\n");
gets(temp);
for(int i=0; i<sumMakul; i++)
{
printf("Mata Kuliah : ");
gets(transkrip[i].nama);
printf("Jumlah SKS : ");
scanf("%d",&transkrip[i].sks);
printf("Nilai Huruf : ");
gets(temp);
gets(transkrip[i].nilaiHuruf);
transkrip[i].nilaiAngka = decisionAngka(sumMakul,i);
printf("\n");
}
}
//fungsi yang digunakan unuk
menampilkan detail mata kuliah
void displayNilai(int semester, char
name[101],char nrp[101], int summakul)
{
system("cls");
float total=0,multiResult,IP;
int jumSKS=0;
printf("Transkrip Nilai Semester %d\n",semester);
printf("Nama Mahasiswa : %s\n",name);
printf("NRP : %s\n",nrp);
printf("===========================================================================\n");
printf("No. | Mata Kuliah
| SKS | Nilai Huruf | Nilai Angka |
SKS*Nilai angka |\n");
for(int i=0;i<summakul;i++)
{
printf("%d ",i+1);
printf("%s
",transkrip[i].nama);
printf("%d
",transkrip[i].sks);
printf("%s
",transkrip[i].nilaiHuruf);
printf("%.2f
",transkrip[i].nilaiAngka);
multiResult = transkrip[i].sks * transkrip[i].nilaiAngka;
printf("%.2f\n",multiResult);
total += multiResult;
jumSKS += transkrip[i].sks;
}
IP = total / jumSKS;
printf("\n\n\n");
printf("IP = %.2f\n",IP);
}
//fungsi utama
int main()
{
char name[101],temp[2];
char nrp[101];
int summakul,semester;
printf("Transkrip Nilai Semester : ");
scanf("%d",&semester);
printf("Nama Mahasiswa :
");
gets(temp);
gets(name);
printf("NRP : ");
gets(nrp);
printf("Jumlah Mata Kuliah : ");
scanf("%d",&summakul);
InputMakul(summakul);
displayNilai(semester,name,nrp,summakul);
return 0;
}
Seperti itulah program untuk menghitung IP dengan nilai huruf A, AB, B, BC, C, D, E
Sekian yang dapat saya sampaikan jumpa lagi di lain kesempatan
No comments:
Post a Comment