Minggu, 06 September 2015

Assalamualaikum Wr. Wb

Teman-teman saya akan berbagi contoh pemograman menggunakan bahasa C dengan Aplikasi CodeBlock. Terdapat 6 pelari di lapangan FIK UNNES, mereka bernama Andre, Dwi, Aris, Vica, Nanda, dan Romeo. Mereka berlari dengan jarak tempuh 20 km dengan waktu yang mereka tempuh.

Waktu yang mereka tempuh nantinya akan diurutkan sesuai jarak tempuh watu yang mereka peroleh. Yaitu berapa jam, menit, dan berapa detik. Nah dalam program ini, kami akan mengurutkan atau menyorting hasil waktu yang pelari tempuh.

Berikut adalah script program contoh diatas:

#include <stdio.h>
#include <stdlib.h>
#define a 6

struct data//struct data untuk peserta lari
{
    int n;
    char na[30];//maksimal nama 20 karakter
    int j;
    int m;
    int d;
    int t;
};
int main()
{
    int i;
    int j;
    int k;
    int l;
    struct data pelari[a], temp;//membuat variable baru dari data peserta dengan nama pelari dengan array dengan nilai [a] dan variable temp
    for(i=0; i<a; i++)//input data pelari
    {
            printf("NO : ");
            scanf("%d",&pelari[i].n);
            printf("Nama : ");
            scanf("%s",&pelari[i].na);
            printf("Jam : ");
            scanf("%d",&pelari[i].j);
            printf("Menit : ");
            scanf("%d",&pelari[i].m);
            printf("Detik : ");
            scanf("%d",&pelari[i].d);
            printf("\n");
            pelari[i].t=(pelari[i].j*3600)+(pelari[i].m+pelari[i].d);//untuk menghitung jumlah detik para pelari
    };
    printf("----------------------------------------\n");
    //pelari dihitung dengan metode sorting bubble sort
    for(j=0; j<a-1; j++)
        for(k=0; k<a-1; k++)
            if(pelari[k].t > pelari[k+1].t)
            {
                temp = pelari[k];//temp diisi dengan nilai pelari saat ini
                pelari[k] = pelari[k+1];//nilai pelari saat ini diganti dengan nilai pelari selanjutnya
                pelari[k+1] = temp;//nilai peari selanjutnya digantikan dengan nilai pelari akhir
            }
    //menampilkan nilai pelari setelah disoting
    for (l=0; l<a; l++)
    {
        printf("No : %d\n",pelari[l].n);
        printf("Nama : %s\n",pelari[l].na);
        printf("Jam : %d\n",pelari[l].j);
        printf("Menit : %d\n",pelari[l].m);
        printf("Detik : %d\n",pelari[l].d);
        printf("Total waktu : %d\n\n",pelari[l].t);
    }
    return 0;
}

Sedikit pembahasan tentang script diatas:

#include <stdio.h>
#include <stdlib.h>
#define a 6
  • Include merupakan salah satu jenis pengarah praprosesor (prepocessor directive). Pengarah praprosesor ini dipakai untuk membaca file yang diantaranya berisi deklarasi fungsi dan definisi konstanta. Define merupakan konstanta yang telah ditetapkan.
struct data//struct data untuk peserta lari
{
    int n;
    char na[30];//maksimal nama 20 karakter
    int j;
    int m;
    int d;
    int t;
};
  • Script diatas namanya struct. struct merupakan tipe data yang saling terkait (seperti nama, jam, menit, detik, total).
int main()
{
    int i;
    int j;
    int k;
    int l;
    struct data pelari[a], temp;//membuat variable baru dari data peserta dengan nama pelari dengan array dengan nilai [a] dan variable temp
    for(i=0; i<a; i++)//input data pelari
    {
            printf("NO : ");
            scanf("%d",&pelari[i].n);
            printf("Nama : ");
            scanf("%s",&pelari[i].na);
            printf("Jam : ");
            scanf("%d",&pelari[i].j);
            printf("Menit : ");
            scanf("%d",&pelari[i].m);
            printf("Detik : ");
            scanf("%d",&pelari[i].d);
            printf("\n");
            pelari[i].t=(pelari[i].j*3600)+(pelari[i].m+pelari[i].d);//untuk menghitung jumlah detik para pelari
    };
    printf("----------------------------------------\n");
    //pelari dihitung dengan metode sorting bubble sort
    for(j=0; j<a-1; j++)
        for(k=0; k<a-1; k++)
            if(pelari[k].t > pelari[k+1].t)
            {
                temp = pelari[k];//temp diisi dengan nilai pelari saat ini
                pelari[k] = pelari[k+1];//nilai pelari saat ini diganti dengan nilai pelari selanjutnya
                pelari[k+1] = temp;//nilai peari selanjutnya digantikan dengan nilai pelari akhir
            }
    //menampilkan nilai pelari setelah disoting
    for (l=0; l<a; l++)
    {
        printf("No : %d\n",pelari[l].n);
        printf("Nama : %s\n",pelari[l].na);
        printf("Jam : %d\n",pelari[l].j);
        printf("Menit : %d\n",pelari[l].m);
        printf("Detik : %d\n",pelari[l].d);
        printf("Total waktu : %d\n\n",pelari[l].t);
    }
    return 0;
}
  • Dari script diatas sudah di jelaskan dan inputan yang paling kecil nanti akan tersorting paling atas.
Berikut capture dari penginputan nama dan waktu tempuh pelari :

Dan hasil capture setelah di sorting(diurutkan):


Itulah program dari bahasa C yang dapat saya suguhkan, semoga bisa menjadi referensi untuk kalian semua. Dan bermanfaat untuk kalian yang berkunjung ke blog saya. Amin

Waalaikumsalam Wr. Wb.

Tidak ada komentar:

Posting Komentar