Program
C++ menginput nilai mahasiswa ini adalah materi dari pertemuan pertama pada
mata kuliah struktur data yaitu dengan materi array,struct, continuous dan
selanjutnya materi sorting lalu dikembangkan sehingga kita mampu menginput,
menghitung, dan mengurutkan hasil laporan nilai akhir mahasiswa.
#include <iostream>
using namespace std;
struct mahasiswa
{
int nim[100];
string nama[100];
char gender[50],l,L,p,P;
string gender1[50];
int nilai_akhir[50];
};
struct mahasiswa
{
int nim[100];
string nama[100];
char gender[50],l,L,p,P;
string gender1[50];
int nilai_akhir[50];
};
awal:
cout<<"========= PROJECT AKHIR =========== "<<endl;
cout<<"=====MENGINPUT NILAI MAHASISWA====="<<endl;
cout<<"==================================="<<endl<<endl;
cout<<"@ Masukkan jumlah mahasiswa : ";
cin>>x;
cout<<"----------------------------------"<<endl;
Scriptnya adalah sebagai berikut :
Pada
artikel kali ini akan menjelaskan step by step program secara detail.
contoh tampilan pada saat program di jalankan.
| Proses Input Data & Nilai |
#include <iostream>
#include <iomanip>
#include <conio.h>using namespace std;
struct mahasiswa
{
int nim[100];
string nama[100];
char gender[50],l,L,p,P;
string gender1[50];
int nilai_akhir[50];
};
2. Pembuatan
Variabel Pada Program Menginput Nilai
Mahasiswa
Pembuatan
Variable adalah proses pembuatan variable dalam sebuah kode program. Untuk
membuat variable kita membutuhkan tipe data, untuk mewakili bentuk nilai yang
akan disimpan pada sabuah nama.
a. Pada
variable “struct mahasiswa” mempunyai lima anggota yaitu, Nim [100] dengan tipe
data int, Nama [100] dengan tipe data string, Gender [50],l,Lp,P dengan tipe
data char, gender1 [50] dengan tipe data string, dan nilai_akhir [50] dengan
tipe data int.
Script nya adalah sebagai berikut:
struct mahasiswa
{
int nim[100];
string nama[100];
char gender[50],l,L,p,P;
string gender1[50];
int nilai_akhir[50];
};
b. Pada
int main ada variabel “Mahasiswa b” mempunyai empat anggota yaitu,Tugas[50],N_Tugas[50],UTS[50],N_UTS[50],UAS[50],N_UAS[50],N_akhir[50],absen[50],x,z,j,l
dengan tipe data int, N_absen[50] dengan tipe data float, y,nama[100][100]
dengan tipe data char dan temp,U,Imaks dengan tipe data int.
Script
nya adalah sebagai berikut:
int main()
{
mahasiswa b;
int Tugas[50],N_Tugas[50],UTS[50],N_UTS[50],UAS[50],N_UAS[50],N_akhir[50],absen[50],x,z,j,l;
float N_absen[50];
char y,nama[100][100];
int temp,U, Imaks;
{
mahasiswa b;
int Tugas[50],N_Tugas[50],UTS[50],N_UTS[50],UAS[50],N_UAS[50],N_akhir[50],absen[50],x,z,j,l;
float N_absen[50];
char y,nama[100][100];
int temp,U, Imaks;
c. Pada
saat program di eksekusi, tampilan awal pada program yang akan muncul adalah
judul dari program yang kita input dan perintah memasukan berapa banyak nama
mahasiswa yang akan diinput.
Script nya adalah sebagai berikut:
awal:
cout<<"========= PROJECT AKHIR =========== "<<endl;
cout<<"=====MENGINPUT NILAI MAHASISWA====="<<endl;
cout<<"==================================="<<endl<<endl;
cout<<"@ Masukkan jumlah mahasiswa : ";
cin>>x;
cout<<"----------------------------------"<<endl;
d. Proses
selanjutnya pengulangan pada input yaitu,
untuk menentukan pengulangan dan perhitungan pada inputan data mahasiswa
diwawali dengan deklarasi variable z=1 sebagai nomor input awal yang dimulai
dari angka 1,z<=x akan memeriksa apakah inputan tidak sama dengan variable
z<=x, jika iya maka z++ akan terus melakukan pengulangan sampai didapatkan
kondisi dimana batas hitungan inputan sudah terpenuhi. Variabel z dibelakang
“Nim Mahasiswa” merupakan nilai hitungan awal input data mahasiswa, karena
sudah di tentukan diatas maka hitungan akan dimulai dengan angka 1 yang
menandakan penginputan data untuk mahasiswa pertama. Kemdunian Nim dan Nama Mahasiswa berisi variable struct
elemen array yang berfungsi sebgai variable inputannya.
Script nya adalah sebagai berikut:
//input
for(int z=1;z<=x;z++){
cout<<"\n* Masukkan NIM Mahasiswa ke "<<z<<" : ";
cin>>b.nim[z];
cout<<"* Masukkan Nama Mahasiswa ke "<<z<<" : ";
cin>>b.nama[z];
cout<<"* Masukkan Jenis Kelamin (L/P) : ";
cin>>b.gender[z];
if(b.gender[z]=='l' || b.gender[z]=='L'){
b.gender1[z] = "Laki";
}
else if(b.gender[z]=='p' || b.gender[z]=='P'){
b.gender1[z] = "Perempuan";
}
for(int z=1;z<=x;z++){
cout<<"\n* Masukkan NIM Mahasiswa ke "<<z<<" : ";
cin>>b.nim[z];
cout<<"* Masukkan Nama Mahasiswa ke "<<z<<" : ";
cin>>b.nama[z];
cout<<"* Masukkan Jenis Kelamin (L/P) : ";
cin>>b.gender[z];
if(b.gender[z]=='l' || b.gender[z]=='L'){
b.gender1[z] = "Laki";
}
else if(b.gender[z]=='p' || b.gender[z]=='P'){
b.gender1[z] = "Perempuan";
}
e. Selanjutnya proses dalam mengolah
nilai - nilai seperti Nilai Absen, Nilai Tugas, Nilai UTS, dan Nilai UAS untuk
masuk kepada Nilai Akhir yaitu ("N_akhir").
Yang disetiap masing masing nilai terdapat pengolahan nilai yg berbeda beda.
Yang disetiap masing masing nilai terdapat pengolahan nilai yg berbeda beda.
Script
nya adalah sebagai berikut:
cout<<"* Masukkan nilai Absensi "<<nama[z]<<" : ";
//hitung nilai absensi
do{
cin>>absen[z];
}while(absen[z]>14);
N_absen[z] = (absen[z]*10)/14;
cout<<"* Masukkan nilai Tugas "<<nama[z]<<" : ";
//hitung nilai tugas
cin>>Tugas[z];
if(Tugas[z]>100)
{
N_Tugas[z] = 20;
cout<<"* Masukkan nilai UTS "<<nama[z]<<" : ";
//hitung nilai UTS
cin>>UTS[z];
if(UTS[z]>100)
{
N_UTS[z] = 30;
cout<<"* Masukkan nilai UAS "<<nama[z]<<" : ";
//hitung nilai UAS
cin>>UAS[z];
cout<<endl;
if(UAS[z]>100)
{
N_UAS[z] = 40;
N_akhir[z] = N_absen[z]+N_Tugas[z]+N_UTS[z]+N_UAS[z];
}
else
{
N_UAS[z] = (UAS[z]*40)/100;
N_akhir[z] = N_absen[z]+N_Tugas[z]+N_UTS[z]+N_UAS[z];
}
}
else
{
N_UTS[z] = (UTS[z]*30)/100;
cout<<"* Masukkan nilai UAS "<<nama[z]<<" : ";
//hitung nilai UAS
cin>>UAS[z];
cout<<endl;
if(UAS[z]>100)
{
//hitung nilai absensi
do{
cin>>absen[z];
}while(absen[z]>14);
N_absen[z] = (absen[z]*10)/14;
cout<<"* Masukkan nilai Tugas "<<nama[z]<<" : ";
//hitung nilai tugas
cin>>Tugas[z];
if(Tugas[z]>100)
{
N_Tugas[z] = 20;
cout<<"* Masukkan nilai UTS "<<nama[z]<<" : ";
//hitung nilai UTS
cin>>UTS[z];
if(UTS[z]>100)
{
N_UTS[z] = 30;
cout<<"* Masukkan nilai UAS "<<nama[z]<<" : ";
//hitung nilai UAS
cin>>UAS[z];
cout<<endl;
if(UAS[z]>100)
{
N_UAS[z] = 40;
N_akhir[z] = N_absen[z]+N_Tugas[z]+N_UTS[z]+N_UAS[z];
}
else
{
N_UAS[z] = (UAS[z]*40)/100;
N_akhir[z] = N_absen[z]+N_Tugas[z]+N_UTS[z]+N_UAS[z];
}
}
else
{
N_UTS[z] = (UTS[z]*30)/100;
cout<<"* Masukkan nilai UAS "<<nama[z]<<" : ";
//hitung nilai UAS
cin>>UAS[z];
cout<<endl;
if(UAS[z]>100)
{
N_UAS[z] = 40;
N_akhir[z] = N_absen[z]+N_Tugas[z]+N_UTS[z]+N_UAS[z];
}
else
{
N_UAS[z] = (UAS[z]*40)/100;
N_akhir[z] = N_absen[z]+N_Tugas[z]+N_UTS[z]+N_UAS[z];
}
}
}
else
{
N_Tugas[z] = (Tugas[z]*20)/100;
cout<<"* Masukkan nilai UTS "<<nama[z]<<" : ";
//hitung nilai UTS
cin>>UTS[z];
if(UTS[z]>100)
{
N_UTS[z] = 30;
cout<<"* Masukkan nilai UAS "<<nama[z]<<" : ";
//hitung nilai UAS
cin>>UAS[z];
cout<<endl;
if(UAS[z]>100)
{
N_UAS[z] = 40;
N_akhir[z] = N_absen[z]+N_Tugas[z]+N_UTS[z]+N_UAS[z];
}
else
{
N_UAS[z] = (UAS[z]*40)/100;
N_akhir[z] = N_absen[z]+N_Tugas[z]+N_UTS[z]+N_UAS[z];
}
}
else
{
N_UTS[z] = (UTS[z]*30)/100;
cout<<"* Masukkan nilai UAS "<<nama[z]<<" : ";
N_akhir[z] = N_absen[z]+N_Tugas[z]+N_UTS[z]+N_UAS[z];
}
else
{
N_UAS[z] = (UAS[z]*40)/100;
N_akhir[z] = N_absen[z]+N_Tugas[z]+N_UTS[z]+N_UAS[z];
}
}
}
else
{
N_Tugas[z] = (Tugas[z]*20)/100;
cout<<"* Masukkan nilai UTS "<<nama[z]<<" : ";
//hitung nilai UTS
cin>>UTS[z];
if(UTS[z]>100)
{
N_UTS[z] = 30;
cout<<"* Masukkan nilai UAS "<<nama[z]<<" : ";
//hitung nilai UAS
cin>>UAS[z];
cout<<endl;
if(UAS[z]>100)
{
N_UAS[z] = 40;
N_akhir[z] = N_absen[z]+N_Tugas[z]+N_UTS[z]+N_UAS[z];
}
else
{
N_UAS[z] = (UAS[z]*40)/100;
N_akhir[z] = N_absen[z]+N_Tugas[z]+N_UTS[z]+N_UAS[z];
}
}
else
{
N_UTS[z] = (UTS[z]*30)/100;
cout<<"* Masukkan nilai UAS "<<nama[z]<<" : ";
//hitung nilai UAS
cin>>UAS[z];
cout<<endl;
if(UAS[z]>100)
{
N_UAS[z] = 40;
N_akhir[z] = N_absen[z]+N_Tugas[z]+N_UTS[z]+N_UAS[z];
}
else
{
N_UAS[z] = (UAS[z]*40)/100;
N_akhir[z] = N_absen[z]+N_Tugas[z]+N_UTS[z]+N_UAS[z];
}
}
}
cout<<"========================== "<<endl;
cin>>UAS[z];
cout<<endl;
if(UAS[z]>100)
{
N_UAS[z] = 40;
N_akhir[z] = N_absen[z]+N_Tugas[z]+N_UTS[z]+N_UAS[z];
}
else
{
N_UAS[z] = (UAS[z]*40)/100;
N_akhir[z] = N_absen[z]+N_Tugas[z]+N_UTS[z]+N_UAS[z];
}
}
}
cout<<"========================== "<<endl;
f. Nah, bagian ini adalah hasil dari
inputan Mahasiswa diatas yg telah kita input tadi yaitu:NIM, Nama, Gender dan
Nilai, dengan format memanggil variable dari masing - masing nama tersebut
seperti "b.nim" untuk NIM, "b.nama" untuk Nama,
"b.gender" untuk Gender, dan "N_akhir" hasil pengolahan
dari nilai absen, nilai tugas, nilai uts, dan nilai uas.
Scriptnya adalah sebagai berikut :
}
for(int z=1;z<=x;z++)
{
cout<<" Mahasiswa Ke : "<<z<<" "<<endl;
cout<<endl;
cout<<" NIM : "<<b.nim[z]<<endl;
cout<<" Nama : "<<b.nama[z]<<endl;
cout<<" Gender : "<<b.gender1[z]<<endl;
cout<<" Nilai : "<<N_akhir[z]<<endl;
cout<<"=========================="<<endl;
}
cout<<" Nilai Mahasiswa :"<<endl<<endl;
for(int z=1;z<=x;z++)
{
cout<<b.nama[z]<<" = "<<N_akhir[z]<<endl;
}
for(z=1;z<=x;z++)
cout<<N_akhir[z]<<endl;
g. Yang terakhir adalah proses
pengurutan dari masing - masing nama dan nilai diatas dengan format sorting
dari nilai tertinggi sampai nilai terendah.
Script nya adalah sebagai berikut:
//Proses Pengurutan
U=z-1;
for(z=1; z<=x-2; z++)
{
Imaks=z;
for (j=z+1;j<=U;j++)
{
if(N_akhir[j] > N_akhir[Imaks])
Imaks=j;
}
temp=N_akhir[z];
N_akhir[z]=N_akhir [Imaks];
N_akhir [Imaks]=temp;
cout<<endl;
cout<<"\n--------------------------"<<endl;
for (z=1; z<=x; z++)
cout<<setw(3)<<N_akhir[z];
}
cout<<"\n\n Nilai Akhir Mahasiswa:"<<endl;
for(z=1; z<=x; z++)
cout<<b.nama[z]<<" = "<<N_akhir[z]<<endl;
}
proses sorting ini dapat menyesuaikan data lainnya,sehingga hasil yang didapatkan sesuai dengan jumlah nilai akhir.
sekian penjelasan mengenai Menghitung nilai akhir,Semoga bermanfaat teman-teman,wasallamualaikum..
sekian penjelasan mengenai Menghitung nilai akhir,Semoga bermanfaat teman-teman,wasallamualaikum..
Mantapppp
ReplyDelete