Page 179 - MODUL ALGORTIMA DAN PEMROGRAMAN
P. 179
cin.ignore(); // Mengabaikan sisa baris input
getline(cin, mahasiswa.nama);
cout << "Masukkan jurusan: ";
cin >> mahasiswa.jurusan;
cout << "Masukkan IPK desimal: ";
cin >> mahasiswa.ipkDesimal;
// Konversi IPK desimal ke huruf
if (mahasiswa.ipkDesimal >= 4.0) {
mahasiswa.ipkHuruf = 'A';
} else if (mahasiswa.ipkDesimal >= 3.0) {
mahasiswa.ipkHuruf = 'B';
} else if (mahasiswa.ipkDesimal >= 2.0) {
mahasiswa.ipkHuruf = 'C';
} else if (mahasiswa.ipkDesimal >= 1.0) {
mahasiswa.ipkHuruf = 'D';
} else {
mahasiswa.ipkHuruf = 'E';
}
cout << endl << "Data Mahasiswa:" << endl;
cout << "NIM: " << mahasiswa.nim << endl;
cout << "Nama: " << mahasiswa.nama << endl;
cout << "Jurusan: " << mahasiswa.jurusan << endl;
cout << "IPK desimal: " << mahasiswa.ipkDesimal << endl;
cout << "IPK huruf: " << mahasiswa.ipkHuruf << endl;
return 0;
}
Output:
Masukkan NIM: 200209501062
Masukkan nama: Ainun
Masukkan jurusan: JTIK
Masukkan IPK desimal: 3.70
Data Mahasiswa:
NIM: 200209501062
Nama: Ainun
Jurusan: JTIK
IPK desimal: 3.69997
IPK huruf: B
Penjelasan Program:
• struct Mahasiswa: Struktur data ini mendefinisikan tipe data baru bernama Mahasiswa yang
digunakan untuk menyimpan informasi tentang seorang mahasiswa.
• nim: String untuk menyimpan nomor induk mahasiswa.
• nama: String untuk menyimpan nama mahasiswa.
• jurusan: String untuk menyimpan jurusan mahasiswa.
• union: Struktur union digunakan untuk menyimpan dua variabel dengan tipe data yang
berbeda (float dan char) dalam satu lokasi memori. Dalam kasus ini, variabel ipkDesimal dan
ipkHuruf tidak dapat digunakan secara bersamaan.
• ipkDesimal: Float untuk menyimpan nilai IPK desimal.
• ipkHuruf: Char untuk menyimpan nilai IPK huruf (A, B, C, D, atau E).
170