Anda di halaman 1dari 12

TUGAS

MATA KULIAH PRAKTIK PEMGORAMAN DASAR

OLEH

Saif Adzzahabi

20076101

Pendidikan Teknik Informatika

DOSEN PEMBIMBING

Drs. Denny Kurniadi, M.Kom

UNIVERSITAS NEGERI PADANG

2020 / 2021
Kasus 1

Buatlah sebuah program yang dapat digunakan untuk mendata hasil pertandingan lompat tinggi
dari sejumlah peserta. Lalu urutkan peserta berdasarkan tinggi lompatan.

Listing Program

#include <stdio.h>
#include <string.h>

typedef struct Peserta


{
int Nomor;
char Nama[50];
float TinggiLompatan;
}PESERTA;

const int N = 3;

PESERTA PesertaLompatTinggi[3];

void InputPeserta()
{
int No;
char Nama[50];
float Tinggi;
int i;
for(i= 0; i < N; i++)
{
printf("\n Input Peserta Ke - %d" ,i+1);
printf("\
n====================================================\n");
printf(" Masukkan Nomor Peserta : ");
fflush(stdin); scanf("%d",&No);

printf(" Masukkan Nama Peserta : ");


fflush(stdin); gets(Nama);

printf(" Masukkan Tinggi Lompatan :");


fflush(stdin); scanf("%f" ,&Tinggi);

printf("====================================================\
n");

PesertaLompatTinggi[i].Nomor = No;
strcpy(PesertaLompatTinggi[i].Nama, Nama);
PesertaLompatTinggi[i].TinggiLompatan = Tinggi;
}
}

void Sort()
{
printf("\n Urutan Peserta Berdasarkan Tinggi Lompatan : \n");

PESERTA Temp;
int i;
for (i = 0; i < N; i++)
{
int j;
for (j = i+1; j < N; j++)
{
if (PesertaLompatTinggi[i].TinggiLompatan <
PesertaLompatTinggi[j].TinggiLompatan)
{
Temp = PesertaLompatTinggi[i];
PesertaLompatTinggi[i] = PesertaLompatTinggi[j];
PesertaLompatTinggi[j] = Temp;
}
}

printf("\
n====================================================");
printf("\n Peserta Nomor = %d" ,PesertaLompatTinggi[i].Nomor);
printf("\n Nama Peserta = %s" ,PesertaLompatTinggi[i].Nama);
printf("\n Tinggi Lompatan = %g
Meter" ,PesertaLompatTinggi[i].TinggiLompatan);
printf("\
n====================================================");
printf("\n");
}
}

main()
{
printf("\n ===>> Program Pertadingan Lompat Tinggi <<===\n");

InputPeserta();
Sort();
}
Hasil Output Program
Penjelasan Program:

Pada kasus ini kita diminta untuk membuat suatu program dalam menentukan kejuaraan
dari pertandingan Lompat Tinggi. Pada program ini kita menggunakan fungsi dari searching
dan sorting.

Di dalam program ini juga tetap menggunakan fungsi-fungsi yang diperlukan oleh setiap
bentuk program. Setelah melakukan compile dan run maka kita diminta untuk menginputkan
data seperti nomor, nama dan tinggi lompatan peserta yang nantinya akan diisi sesuai dengan
berapa jumlah yang sudah kita tentukan disaat membuat program ini.

Lalu hasil outputnya akan secara otomatis menampikan urutan hasil perlombaan dari
peserta yang memperoleh lompatan tertinggi.

Kasus 2

Buatlah program yang dapat digunakan untuk mengolah hasil pertandingan balap sepeda
sehingga program dapat menentukan dan menampilkan para juara lomba.

Listing Program
#include <stdio.h>
#include <string.h>

typedef struct Peserta


{
int Nomor;
char Nama[50];
int LamaWaktu;
}PESERTA;

const int N = 3;
PESERTA PesertaBalapSepeda[3];

void InputPeserta()
{
int No;
char Nama[50];
int Waktu;
int i;
for( i = 0; i < N; i++)
{
printf("\n Input Peserta Ke - %d" ,i+1);
printf("\
n====================================================\n");

printf(" Masukkan Nomor Peserta : ");


fflush(stdin); scanf("%d",&No);

printf(" Masukkan Nama Peserta : ");


fflush(stdin); gets(Nama);
printf(" Masukkan Lama Waktu (Dalam Menit): ");
fflush(stdin); scanf("%d" ,&Waktu);

printf("====================================================\
n");

PesertaBalapSepeda[i].Nomor = No;
strcpy(PesertaBalapSepeda[i].Nama, Nama);
PesertaBalapSepeda[i].LamaWaktu = Waktu;

}
}

void Sort()
{

PESERTA Temp;
int i;
for ( i = 0; i < N; i++)
{
int j;
for (j = i+1; j < N; j++)
{
if (PesertaBalapSepeda[i].LamaWaktu >
PesertaBalapSepeda[j].LamaWaktu)
{
Temp = PesertaBalapSepeda[i];
PesertaBalapSepeda[i] = PesertaBalapSepeda[j];
PesertaBalapSepeda[j] = Temp;
}
}
}
}
void HasilJuara()
{
printf("\n Urutan Juara Berdasarkan Kecepatan Mencapai Finish : \n");
int i;
for(i = 0; i < N; i++)
{
printf("\
n====================================================");
printf("\n Peserta Nomor = %d" ,PesertaBalapSepeda[i].Nomor);
printf("\n Nama Peserta = %s" ,PesertaBalapSepeda[i].Nama);
printf("\n Mencapai Finish Dalam : %d Menit.",
PesertaBalapSepeda[i].LamaWaktu);
printf("\n");
printf("\n Peserta Mendapat JUARA Ke- %d.",i+1);
printf("\
n====================================================");
printf("\n");
}
}
main()
{
printf("\n ===>> Program Pertadingan Balap Sepeda <<===\n");
InputPeserta();
Sort();
HasilJuara();
}
Hasil Output Program
Penjelasan Program:
Pada kasus kedua ini kita diminta untuk menentukan suatu program untuk menentukan
kejuaraan dalam perlombaan balap sepeda, sama halnya pada program pada kasus pertama. Pada
program ini kita juga menggunakan fungsi program untuk searching dan sorting.

Di dalam program ini juga tetap menggunakan fungsi-fungsi yang diperlukan oleh setiap
bentuk program. Setelah melakukan compile dan run maka kita diminta menginputkan data yang
diraih oleh setiap peserta balap yang nantinya akan diisi sesuai dengan berapa jumlah yang sudah
kita tentukan disaat membuat program ini. Data yang dimasukkan harus sesuai dengan kecepatan
yang didapat.
Lalu hasil outputnya akan secara otomatis menentukkan siapa saja pemenang pertama,
kedua dan ketiga dari dari hasil balap sepeda yang didasarkan pada kecepatan waktu yang kita
inputkan sebelumnya.

Anda mungkin juga menyukai