Rabu, 09 September 2015

Sorting dalam Struct Bahasa C

Haii guys, selamat datang di blog saya..
Kali ini saya akan berbagi ilmu mengenai Array, Looping, Struck, Rumus Konversi Waktu, dan Sorting yang telah saya dapat dari Mata Kuliah Pemrograman Berbasis Objek.
Sebelumnya saya juga pernah memposting materi tentang Array dan Looping, untuk mengingatnya kembali saya jelaskan maknanya lagi.. disimak yaa.. :)

Array adalah sekumpulan variabel yang memiliki tipe data yang sama dan dinyatakan dengan nama yang sama.
Looping atau biasa disebut dengan perulangan ialah proses yang dilakukan secara berulang-ulang sampai batas yang ditentukan.

Istilah baru yang dipelajari yaitu Struct dan Sorting.
Definisi Struktur (struct) sendiri adalah kumpulan dari variabel yang dinyatakan dengan sebuah nama, dengan sifat setiap variabel dapat memiliki tipe yang berlainan.
Sedangkan Sorting yaitu proses menyusun elemen-elemen dengan tata urut tertentu dan proses tersebut terimplementasi dalam bermacam aplikasi. Hampir seluruh pengguna pada sistem yang akan memilih tampilan daftar berurutan secara ascending (urut dari nilai terkecil ke nilai terbesar) atau descending  (urut dari nilai terbesar ke nilai terkecil) demi kenyamanan dalam penelusuran data. Beberapa macam algoritma sorting telah dibuat karena proses tersebut sangat mendasar dan sering digunakan. Oleh karena itu, pemahaman atas algoritma-algoritma yang ada sangatah berguna.

Soal latihan :



Untuk menjawab soal tersebut, maka tuliskan script ini pada program (codeblock atau sejenisnya) :


#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
struct datas
{
    char nama[20];
    int jam;
    int menit;
    int detik;
    int total;
};
int main()
{
    int i, z, y;
    int  jumlah;
    struct datas penyelam[20], c;
    printf("Masukan Jumlah Penyelam : ");
    scanf("%d", &jumlah);
    for(i=0;i<jumlah;i++)
    {
        printf("Masukan nama : ");
        scanf("%s", &penyelam[i].nama);
        printf("Masukan jam : ");
        scanf("%d", &penyelam[i].jam);
        printf("Masukan menit : ");
        scanf("%d", &penyelam[i].menit);
        printf("Masukan detik : ");
        scanf("%d", &penyelam[i].detik);
        penyelam[i].total=(penyelam[i].jam*3600)+(penyelam[i].menit*60)+(penyelam[i].detik*1);
        printf("\n");
    }
    printf("Data Sebelum Diurutkan\n\n");
    printf("Nama\tJam\tMenit\tDetik\tTotal\n");
    for(i=0;i<jumlah;i++)
    {
        printf("%s\t%d\t%d\t%d\t%d\n", penyelam[i].nama, penyelam[i].jam, penyelam[i].menit, penyelam[i].detik, penyelam[i].total);
    }
    for(z=0;z<jumlah-1;z++)
    {
        for(y=0;y<jumlah-1;y++)
        {
            if(penyelam[y].total > penyelam[y+1].total)
            {
                c=penyelam[y];
                penyelam[y]=penyelam[y+1];
                penyelam[y+1]=c;
            }
        }
    }
    printf("Data Setelah Diurutkan\n");
    printf("Nama\tJam\tMenit\tDetik\tTotal\n");
    for(i=0;i<jumlah;i++)
    {
        printf("%s\t%d\t%d\t%d\t%d\n", penyelam[i].nama, penyelam[i].jam, penyelam[i].menit, penyelam[i].detik, penyelam[i].total);
    }
}

Kemudian klik BUILD AND RUN, maka akan muncul hasilnya sebagai berikut :

Input Data


Hasil yang ditampilkan


Selamat mencoba, :)

Sekiaaaan.. Terimakasih ^_^
Continue reading Sorting dalam Struct Bahasa C