Anda di halaman 1dari 8

Tugas Personal ke-2

(Minggu 8 / Sesi 13)

1. Buatlah ringkasan pemahaman anda mengenai perbedaan Struct dan Union serta berikan
contoh penerapannya.

Struct adalah kumpulan dari beberapa variabel yang beragam dan dibungkus menjadi
satu variabel. Contoh:

#include <stdio.h>
#include <string.h>
enum jenis{pria, wanita};
struct student {
int id;
char nama[50];
enum jenis kelamin;
char tempat_lahir[50];
char tanggal_lahir[50];
char alamat[50];
char kota[30];
char kodepos[6];
char telepon[15];
char hobi[50];
};
char temp[1];
char kelamin[6];
int main() {
struct student dataStudent;
printf("INPUT STUDENT\n");
printf("ID\t\t : ");
scanf("%d", &dataStudent.id);
scanf("%c", &temp);
printf("Nama\t\t : ");
gets(dataStudent.nama);
printf("Kelamin\t\t : ");
gets(kelamin);
if(strcmp(kelamin, "pria") == 0){
dataStudent.kelamin = pria;
}else{
dataStudent.kelamin = wanita;
}
printf("Tempat Lahir\t : ");
gets(dataStudent.tempat_lahir);
printf("Tanggal Lahir\t : ");
gets(dataStudent.tanggal_lahir);
printf("Alamat\t\t : ");

COMP6112 – Algorithm and Programming


gets(dataStudent.alamat);
printf("Kota\t\t : ");
gets(dataStudent.kota);

printf("Kodepos\t\t : ");
gets(dataStudent.kodepos);
printf("Telephone\t\t : ");
gets(dataStudent.telepon);
printf("Hobi\t\t : ");
gets(dataStudent.hobi);
printf("\n\n");
printf("DATA STUDENT\n");
printf("ID\t\t: %05d\n", dataStudent.id);
printf("Nama\t\t: %s\n", dataStudent.nama);
printf("Kelamin\t\t: %d\n", dataStudent.kelamin);
printf("Tempat Lahir\t: %s\n", dataStudent.tempat_lahir);
printf("Tanggal Lahir\t: %s\n", dataStudent.tanggal_lahir);
printf("Alamat\t\t: %s\n", dataStudent.alamat);
printf("Kode post\t\t: %s\n", dataStudent.kodepos);
printf("Telephone\t\t: %s\n", dataStudent.telepon);
printf("Hobi\t\t: %s\n\n", dataStudent.hobi);
return 0;
}

COMP6112 – Algorithm and Programming


Union digunakan untuk menggabungkan memori. Suatu lokasi memori dapat ditempati
oleh dua atau beberapa variabel dengan tipe data yang berbeda. Contoh :

#include<stdio.h>

Union
{
int a;
int b;
}x;

void main()
{
x.a=10;
printf("nilai a adalah %d\n",x.a);
printf("nilai b adalah %d",x.b);
}

COMP6112 – Algorithm and Programming


2. Buatlah program untuk menghitung nilai akhir mahasiswa, adapun aturannya adalah

#include <stdio.h>

#include <string.h>

struct mn

int nim;

char nama[50], matakuliah[50];

struct mn *mnn;

int hadir, tugas, quiz, keaktifanforum, uas;

};

int main ()

struct mn n;

int pil, nilai1, nilai2, nilai3, nilai4, nilai5, totalnilai;

menu:

printf("\t - MENU PROGRAM -");

printf("\n1. DATA MAHASISWA");

printf("\n2. NILAI");

printf("\n3. NILAI DAN STATUS");

printf("\n4. EXIT");

printf("\n");

printf("\tMasukan pilihan menu: ");

scanf("%d", &pil);

printf("---------------------------------------\n");

COMP6112 – Algorithm and Programming


switch (pil)

case 1:;

printf("MENU 1");

printf("\n");

printf("Masukan NIM mahasiswa : ");

scanf("%d", &n.nim);

printf("Masukan nama mahasiswa : ");

scanf("%s", &n.nama);

printf("Masukan mata kuliah mahasiswa : ");

scanf("%s", &n.matakuliah);

printf("\n");

goto menu;

case 2:

printf("MENU 2");

printf("\n");

printf("Masukan NIM mahasiswa : ");

scanf("%d", &n.nim);

printf("Masukan kehadiran mahasiswa : ");

scanf("%d", &n.hadir);

printf("Masukan tugas mahasiswa : ");

scanf("%d", &n.tugas);

printf("Masukan quiz mahasiswa : ");

scanf("%d", &n.quiz);

COMP6112 – Algorithm and Programming


printf("Masukan keaktifan forum mahasiswa : ");

scanf("%d", &n.keaktifanforum);

printf("Masukan UAS mahasiswa : ");

scanf("%d", &n.uas);

printf("\n");

goto menu;

case 3:

printf("MENU 3");

printf("\nMasukan NIM mahasiswa : ");

scanf("%d", &n.nim);

printf("\nNIM Mahasiswa : %d",n.nim);

printf("\nKehadiran Mahasiswa : %d",n.hadir);

printf("\nTugas Mahasisw : %d",n.tugas);

printf("\nQuiz Mahasiswa : %d",n.quiz);

printf("\nKeaktifan Forum Mahasiswa : %d",n.keaktifanforum);

printf("\nUAS Mahasiswa : %d",n.uas);

nilai1 = n.hadir*0.1;

nilai2 = n.tugas*0.2;

nilai3 = n.quiz*0.1;

nilai4 = n.keaktifanforum*0.1;

nilai5 = n.uas*0.5;

COMP6112 – Algorithm and Programming


totalnilai = nilai1 + nilai2 + nilai3 + nilai4 +nilai5;

printf("\n");

printf("\nTotal Nilai: %d",totalnilai);

if (totalnilai >= 90 && totalnilai <= 100)

printf("\nGrade A | LULUS");

else if (totalnilai >= 80 && totalnilai <= 89)

printf("\nGrade B | LULUS");

else if (totalnilai >= 70 && totalnilai <= 79)

printf("\nGrade C | LULUS");

else if (totalnilai >= 60 && totalnilai <= 69)

printf("\nGrade D | LULUS");

else

printf("\nGrade E | TIDAK LULUS");

COMP6112 – Algorithm and Programming


printf("\n");

printf("\n");

goto menu;

case 4:

printf("\n");

printf("\n\t - EXIT -");

-=Selamat Mengerjakan=-

COMP6112 – Algorithm and Programming

Anda mungkin juga menyukai