Anda di halaman 1dari 6

Penghitungan Indeks Prestasi

Dengan C/C++ (Tanpa Database)


Fadlika Dita Nurjanto
fadlikadn@gmail.com http://fadlikadn.wordpress.com

Lisensi Dokumen:
Copyright 2003-2011 IlmuKomputer.Com Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.

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 :

RUMUS IPS =

Komunitas eLearning IlmuKomputer.Com Copyright 2003-2011 IlmuKomputer.Com

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
A AB B BC C D E

Nilai Angka
4 3,5 3 2,5 2 1 0

Tabel konversi nilai huruf - angka

Untuk mempermudah penjelasan, saya contohkan hasil IP saya semester 2 kemarin. Saya mengambil 20 SKS yang dibagi menjadi 7 mata kuliah. Adapun detail bobot SKS masingmasing mata kuliah beserta nilainya adalah sebagai berikut :

Semester 2
Mata Kuliah Agama Islam Algoritma dan Struktur Data Kalkulus 2 Matematika Diskrit Organisasi Komputer Pengantar Ilmu Lingkungan Teori Graf dan Otomata Jumlah SKS 2 4 3 3 3 2 3 Nilai AB B BC C A A AB

Berdasarkan nilai mata kuliah yang saya capai, IP yang saya dapat adalah 3,15. Sekarang pertanyaannya, bagaimana cara menyimpulkan 3,15 adalah IP saya? 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.

Komunitas eLearning IlmuKomputer.Com Copyright 2003-2011 IlmuKomputer.Com

Untuk mempermudah rekap, buat excel dengan tampilan seperti berikut : (Untuk mengetahui rumus yang digunakan, double click pada tabel excel di bawah)

No. 1 2 3 4 5 6 7

Mata Kuliah Jumlah SKS Nilai Huruf Nilai Angka SKS * Nilai Angka Agama Islam 2 AB 3,5 7 Algoritma dan Struktur Data 4 B 3 12 Kalkulus 2 3 BC 2,5 7,5 Matematika Diskrit 3 C 2 6 Organisasi Komputer 3 A 4 12 Pengantar Ilmu Lingkungan 2 A 4 8 Teori Graf dan Otomata 3 AB 3,5 10,5 Total SKS yang diambil Total Bobot 20 63 IP yang didapat

3,15

Penjelasan Tabel : - Kolom Nilai Angka merupakan hasil dari penyeleksian nilai huruf yang ada di kolom Nilai Huruf. Nilai angka yang dihasilkan sesuai dengan tabel konversi nilai di atas. - Kolom SKS * Nilai Angka merupakan hasil perkalian jumlah SKS masing-masing kuliah dengan hasil yang didapat pada mata kuliah tersebut. - Baris Jumlah SKS yang diambil merupakan akumulasi dari semua SKS pada masing-masing mata kuliah. - Baris Jumlah Bobot merupakan akumulasi hasil perkalian jumlah SKS dengan nilai angka yang didapat pada masing-masing mata kuliah. - IP didapatkan dengan cara membagi jumlah total bobot dengan jumlah total SKS. Pada worksheet di atas, IP didapat dengan rumus =F9/C9. Cell F9 menunjukkan cell tempat total SKS berada, sementara cell C9 menunjukkan cell tempat total bobot berada.

Komunitas eLearning IlmuKomputer.Com Copyright 2003-2011 IlmuKomputer.Com

Setelah manual cara penghitungan IP diketahui, 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++
/* Penghitungan IP dengan menggunakan C/C++ (Tanpa Database) Fadlika Dita Nurjanto Teknik Informatika Institut Teknologi Sepuluh Nopember, Surabaya Blog : fadlikadn.wordpress.com E-mail : fadlikadn@gmail.com */ #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')

Komunitas eLearning IlmuKomputer.Com Copyright 2003-2011 IlmuKomputer.Com

{ 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;

Komunitas eLearning IlmuKomputer.Com Copyright 2003-2011 IlmuKomputer.Com

} 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; }

Biografi Penulis
Fadlika Dita Nurjanto. Menyelesaikan pendidikan di SD 2 Wonosobo tahun 2004, SMP 1 Wonosobo tahun 2007, dan SMK 1 tahun 2010. Sekarang berstatus sebagai mahasiswa Teknik Informatika Institut Teknologi Sepuluh Nopember, Surabaya. Artikel menarik lainnya bisa ditemukan di http://fadlikadn.wordpress.com. Sharing dengan penulis bisa kirim email ke fadlikadn@gmail.com.

Komunitas eLearning IlmuKomputer.Com Copyright 2003-2011 IlmuKomputer.Com

Anda mungkin juga menyukai