Sesi 11)
1. Buatlah ringkasan pemahaman anda mengenai perbedaan Struct dan Union serta berikan contoh
penerapannya.
Jawaban :
Struct
Struct adalah tipe data yang digunakan untuk menyimpan lebih dari satu nilai. Tidak seperti array
yang mengakses nilai di dalamnya berdasarkan indeks, struct mengakses nilai-nilai yang disimpan
dalam variabel berdasarkan nama yang dimiliki anggotanya.
struct nama_struct{
tipe_data anggota_ke_1;
tipe_data anggota_ke_2;
//.... tipe_data anggota_ke_n;
}nama_variabel;
Union
Selain menggunakan array dan struct, kalian bisa menggunakan union untuk mengelompokkan
sekumpulan variabel. Union adalah kumpulan data yang anggotanya disimpan di dalam memori yang
sama dan saling mempengaruhi satu sama lain.
union nama_union{
tipe_data anggota_ke_1;
tipe_data anggota_ke_2;
//....
tipe_data anggota_ke_n;
}nama_variabel;
2. Buatlah program untuk menghitung nilai akhir mahasiswa, adapun aturannya adalah
a. Buatlah tampilaan menu sebagai berikut:
Menu 1 untuk Input data mahasiswa.
Menu 2 untuk Input nilai.
Menu 3 untuk melihat nilai mahasiswa dan status
Menu 4 keluar dari program
Catatan: Validasikan jika mahasiswa yang dimasukkan sudah pernah diinput sebelumnya.
Catatan
Rumus perhitungan: Nilai Hadir 10% +Nilai Tugas 20% + Nilai Quiz 10% + Nilai keaktifan forum 10%
dan Nilai UAS 50%.
Status grade
Grade A = 100 – 90 (Lulus)
Grade B = 89 – 80 (Lulus)
Grade C = 79 – 70 (Lulus)
Grade D = 69 – 60 (Lulus)
Grade E = 59 – 50 (Tidak Lulus)
Jawaban :
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
struct penilaian
{
float hadir;
float tugas;
float quiz;
float keaktifan;
float uas;
};
int main(void)
{
struct penilaian nilai;
// float tugas,quiz,keaktifan,uas;
char ceknim[20];
char ceknama[40];
char cekmatkul[40];
char pil[5];
bool exit = false;
bool cek1 = false;
bool cek2 = false;
int pilihan;
do
{
printf("============================\n");
printf("SISTEM PENILAIAN MATA KULIAH\n");
printf("\n");
printf("Pilihan Menu: \n");
printf("1. Input Data Mahasiswa \n");
printf("2. Input Nilai \n");
printf("3. Lihat Nilai dan Status \n");
printf("4. Exit \n");
printf("Pilihan Anda: ");
scanf("%d", &pilihan);
if (pilihan == 1)
{
char nim[20];
char nama[40];
char matkul[40];