Anda di halaman 1dari 6

UJIAN AKHIR SEMESTER

MATA KULIAH UMUM UNIVERSITAS


Nama : Rangga Permana
Nim : 21086270
Mata Kuliah : Pengantar Koding
Waktu : 2 x 24 jam
Dosen Pengampu : Drs. Denny Kurniadi, M.Kom
Sifat Ujian : TAKE HOME, OPEN BOOK and Notes

Penting: Lembar jawaban berupa file word dan dikumpulkan HARUS tepat waktu
melalui email YANG TELAH DITENTUKAN SEPERTI BIASA, jika terlambat
dianggap tidak IKUT ujian

Kasus:
Panitia Hari Bahagia se Dunia menyelenggarakan suatu perlombaan Membuat Sumur bagi warga
Kampung Kapunduang. Perlombaan diikuti oleh sebanyak N peserta dan pengerjaan sumur diberi
waktu yang sama untuk seluruh peserta.
Anda diminta membuat program yang dapat digunakan untuk mengelola hasil perlombaan tersebut
dan menghasilkan berbagai informasi yang diinginkan.
Ketentuan program:
 Program harus modular (terdiri dari fungsi-fungsi yang dibutuhkan)
 Program harus memiliki fasilitas entri sebagai berikut:
◦ Data Nama setiap peserta
◦ Data Nomor setiap peserta
◦ Ukuran kedalaman sumur setiap peserta
◦ Ukuran diameter sumur setiap peserta
 Program harus dapat menghitung volume sumur yang dihasilkan setiap peserta
 Program harus melibatkan array of struct yang dapat menyimpan data berikut:
◦ untuk menyimpan nama-nama N orang peserta
◦ untuk menyimpan N buah nomor peserta
◦ untuk menyimpan nilai kedalaman sumur dalam meter (double)
◦ untuk menyimpan nilai diameter sumur dalam meter (double)
◦ untuk menyimpan nilai volume sumur dalam meter kubik (double dan harus dihitung)
 Program harus memiliki Menu Pilihan, sbb:
◦ pilihan 1 Melihat Daftar Peserta beserta hasil pertandingan
◦ pilihan 2 Mencari data tertentu
◦ pilihan 3 Melihat Daftar Juara Lomba
 Ketentuan lainnya silahkan buat asumsi anda sendiri tetapi harus logis
JAWAB

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
void judul();
void menu(); void cari(); void entri();
void daftarPeserta(); void selesai();
void daftarJuara(); void balik();
typedef struct peserta{ char nama[5]; char np[4]; double ks; double dms; double vs;
}peserta;

peserta ps[5]; int i,n;

int main(){ menu();


}

void menu(){ int pilih;


system("cls");
printf("============================================================
=====
==\n");
printf("\tProgram Pengolahan Data Peserta Lomba Gali Sumur\n"); printf("\t\tProgrammer:
Anggun Yunita Putri\n");

printf("============================================================
=====
==\n");
printf("1. Entri Data Peserta \n");
printf("2. Lihat Daftar Peserta beserta Hasil Pertandingan \n"); printf("3. Mencari Data
Tertentu \n");
printf("4. Melihat Daftar Juara Lomba \n\n"); printf("Masukan Pilihan Anda = ");
scanf("%d",&pilih);

switch (pilih) { case 1 :


entri(); break;
case 2 :
daftarPeserta(); break;
case 3 :
cari(); break;
case 4 :
daftarJuara();
break;
}
}

void entri (){ double jr;

printf("====================******==================\n");
printf("\tMasukan Jumlah Peserta = "); scanf("%d",&n);

for (i = 1; i <= n; i++){ printf("\n\nData Peserta Ke- %d",i);


printf("\nMasukam Nama Peserta = "); scanf("%s",&ps[i].nama); printf("Masukan Nomer
Peserta = "); scanf("%s",&ps[i].np);
printf("Masukan Kedalaman Sumur = "); scanf("%lf",&ps[i].ks);
printf("Masukan Diameter Sumur = "); scanf("%lf",&ps[i].dms);
jr = 0.5*ps[i].dms;
ps[i].vs = 3.14*jr*jr*ps[i].ks;
}
balik();
}

void daftarPeserta(){

printf("
printf("\t\tDaftar Peserta dan Hasil Pertandingan\n"); printf("

\n");

\n");

printf("Nama\t\tNomor Peserta\tKedalaman Sumur\t\tDiameter Sumur\t\tVolume Sumur\n");


for (i = 1; i <= n; i++){
printf("%s\t\t%s\t\t%.2f meter\t\t%.2f meter\t\t
%.2f\n",ps[i].nama,ps[i].np,ps[i].ks,ps[i].dms,ps[i].vs);
}
balik();
}

void cari() { char nama[5];


printf("Masukan Data yang akan Dicari = "); scanf("%s",&nama);
printf("\tData Masih Kosong nih, Silahkan tekan Enter untuk kembali ke Menu\n"); getch();
for (i = 1; i <= n; i++){
if ( nama == ps[i].nama){

printf("
printf("Peserta Ditemukan\n");

/n");

printf("Nama\tNomor Peserta\t\tKedalaman Sumur\t\tDiameter Sumur\n");


printf("%s\t%s\t%.2f\t%.2f\n");
}
}
balik();
}

void selesai(){ printf("\nProgram Selesai");


}

void daftarJuara(){ double temp;


int j;

for (i = 1; i<= n; i++){ for (j = 1; j <= n; j++){ if (ps[i].vs > ps[j].vs){


temp = ps[i].vs; ps[i].vs = ps[j].vs; ps[j].vs = temp;
}
}
}

for (i = 1; i <= n; i++){


printf("Juara ke- %d = %.2f Bernama %s \n",i,ps[i].vs,ps[i].nama);
}
balik();
}

void balik(){ char pilihan;

choice :
fflush(stdin);
printf("\nKembali Ke Menu? (Y/N) = "); scanf("%c",&pilihan);
if (pilihan == 'Y' || pilihan == 'y'){ menu();
} else if (pilihan == 'N' || pilihan == 'n'){ selesai();
} else {
printf("Pilihan yang Anda Masukan Salah"); goto choice;

Running
program menu
pilihan 1
Running
program menu
pilihan ke 2
Running program menu pilihan ke S

Running program pili

Anda mungkin juga menyukai