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
   174   175   176   177   178   179   180   181   182   183   184