Page 191 - MODUL ALGORTIMA DAN PEMROGRAMAN
P. 191
MATERI 6
TIPE DATA BENTUKAN
1. Program
#include <iostream>
using namespace std;
struct Mahasiswa {
string nim;
string nama;
string jurusan;
float ipk;
};
void inisialisasiMahasiswa(Mahasiswa &mahasiswa) {
cout << "Masukkan NIM: ";
cin >> mahasiswa.nim;
cout << "Masukkan nama: ";
cin.ignore(); // Mengabaikan sisa baris input
getline(cin, mahasiswa.nama);
cout << "Masukkan jurusan: ";
cin >> mahasiswa.jurusan;
cout << "Masukkan IPK: ";
cin >> mahasiswa.ipk;
}
void tampilkanMahasiswa(const Mahasiswa &mahasiswa) {
cout << "NIM: " << mahasiswa.nim << endl;
cout << "Nama: " << mahasiswa.nama << endl;
cout << "Jurusan: " << mahasiswa.jurusan << endl;
cout << "IPK: " << mahasiswa.ipk << endl;
}
float hitungRataRataIPK(const Mahasiswa mahasiswa[], int n) {
float totalIPK = 0;
for (int i = 0; i < n; i++) {
totalIPK += mahasiswa[i].ipk;
}
return totalIPK / n;
}
int main() {
Mahasiswa mahasiswa[100]; // Array untuk menyimpan data 100 mahasiswa
int n; // Jumlah mahasiswa yang akan diinput
cout << "Masukkan jumlah mahasiswa: ";
cin >> n;
for (int i = 0; i < n; i++) {
inisialisasiMahasiswa(mahasiswa[i]);
}
cout << endl << "Data Mahasiswa:" << endl;
for (int i = 0; i < n; i++) {
tampilkanMahasiswa(mahasiswa[i]);
}
float rataRataIPK = hitungRataRataIPK(mahasiswa, n);
cout << endl << "Rata-rata IPK: " << rataRataIPK << endl; 168
return 0;
}