Assalamualaikum Wr Wb
Selamat siang teman-teman.
Selamat siang teman-teman.
Kali ini saya akan berbagi informasi kepada teman-teman semua mengenai pemrograman yaitu sorting data. Sorting adalah metode pengurutan data yang sebelumnya tersusun secara acak atau tidak terurut menjadi terurut dan teratur berdasarkan aturan tertentu. Secara umum pengurutan dilakukan secara ascending (pengurutan dari angka/karakter terkecil menuju terbesar) dan descending (pengurutan dari angka/karakter terbesar menuju terkecil).
Untuk pengurutan data dalam array, kita tidak bisa secara langsung melakukan penukaran isi dari variabel yang ada, akan tetapi harus menggunakan metode penukaran (swap). Misalnya penukaran yang tidak bisa dilakukan adalah :
nilai[1] = nilai[2];
nilai[2] = nilai[1];
Akan tetapi dengan melakukan metode penukaran (swap) adalah sebagai berikut :
temp = nilai[1];
nilai[1] = nilai[2];
Jadi berdasarkan metode penukaran di atas harus dibuat variabel baru yaitu temp yang berfungsi sebagai penampung data untuk selanjutnya dilakukan penukaran. Untuk contoh program sorting teman-teman dapat melihat pada postingan ini.
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
struct datas
{
char nama[20];
int jam;
int menit;
int detik;
int total;
};
//data yang diinputkan kita jadikan dalam satu struct yang terdiri dari berbagai type data. Ditambahkan satu data total yaitu untuk menampung hasil semua capaian dari pelari.
//data yang diinputkan kita jadikan dalam satu struct yang terdiri dari berbagai type data. Ditambahkan satu data total yaitu untuk menampung hasil semua capaian dari pelari.
int main()
{
int i, z, y; // deklarasi variabel-variabel yang dipakai
int jumlah;
struct datas pelari[20], c;
printf("Masukan Jumlah Pelari : "); //menentukan jumlah data yang diinputkan
scanf("%d", &jumlah); //jumlah akan disimpan divariabel jumlah.
for(i=0;i<jumlah;i++) //looping untuk banyaknya jumlah yang didimpan divariabel jumlah.
{
printf("Masukan nama : ");
scanf("%s", &pelari[i].nama);
printf("Masukan jam : ");
scanf("%d", &pelari[i].jam);
printf("Masukan menit : ");
scanf("%d", &pelari[i].menit);
printf("Masukan detik : ");
scanf("%d", &pelari[i].detik);
pelari[i].total=(pelari[i].jam*3600)+(pelari[i].menit*60)+(pelari[i].detik*1);
//rumus menghitung waktu, dimana waktu dari jam dan menit akan dikonversikan ke detik lalu dijumlahkan.
//rumus menghitung waktu, dimana waktu dari jam dan menit akan dikonversikan ke detik lalu dijumlahkan.
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", pelari[i].nama, pelari[i].jam, pelari[i].menit, pelari[i].detik, pelari[i].total);
}
for(z=0;z<jumlah-1;z++)
//pengulangan pembandingan data jumlah-1 karena kita hanya membandingkan jumlah data dikurang 1, misal ada 3 data maka yang dibandingkan adalah 2 data saja, karena satu data yang lainnya sudah menjadi patokan.
//pengulangan pembandingan data jumlah-1 karena kita hanya membandingkan jumlah data dikurang 1, misal ada 3 data maka yang dibandingkan adalah 2 data saja, karena satu data yang lainnya sudah menjadi patokan.
{
for(y=0;y<jumlah-1;y++)
{
if(pelari[y].total > pelari[y+1].total)
{
c=pelari[y];
pelari[y]=pelari[y+1];
pelari[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", pelari[i].nama, pelari[i].jam, pelari[i].menit, pelari[i].detik, pelari[i].total);
}
}
Sekian informasi yang dapat saya sampaikan, kurang lebihnya saya mohon maaf.
Semoga postingan saya kali ini dapat bermanfaat bagi semuanya.
Terimakasih
Wassalamualaikum Wr Wb
Sekian informasi yang dapat saya sampaikan, kurang lebihnya saya mohon maaf.
Semoga postingan saya kali ini dapat bermanfaat bagi semuanya.
Terimakasih
Wassalamualaikum Wr Wb






0 komentar:
Posting Komentar