Program Struktur Data dan Pengurutannya dalam C

18 May

Berikut saya akan memberikan contoh program struktur data dan pengurutannya dalam bahasa C.Saya mempelajari ini waktu di semester 1 di Universitas Indonesia. Silakan dicek:


#include <stdio.h> // Standard Library

typedef struct data_mahasiswa // Pembuatan alias
{
 // Di bawah ini adalah pendefinisian struct data_mahasiwa berupa variabel-variabel yang dibutuhkan
 char Nama [100];
 char Alamat [100];
 char NPM [100];
 char Fakultas [100];
 char Prodi [100];
} mahasiswa; // Alias yang dibuat bernama mahasiswa

void pengurutan (mahasiswa data [], int ukuran); // Fungsi untuk mengurutkan struktur data

int main () // Fungsi utama yang wajib ada
{
 mahasiswa mhs [100]; // Struktur data mahasiswa bernama mhs
 int jumlah; // Variabel untuk menampung benyaknya struktur data yang diinginkan
 int loop; // Variabel looping

 printf ("***Program Struktur Data***");

 while (jumlah <= 0)
 {
 printf ("\n\nMasukkan jumlah data yang ingin dimasukkan: "); // Memerintahkan User
 scanf ("%d", &jumlah); // Menerima input banyaknya struktur data yang diinginkan
 }

 // Di bawah ini adalah looping setelah banyaknya struktur data telah diketahui
 for (loop =0; loop < jumlah; loop++)
 {
 printf ("\nMahasiswa %d\n", loop+1);

 printf ("Nama: ");
 getchar();
 gets (mhs [loop].Nama);
 printf ("Alamat: ");
 gets (mhs [loop].Alamat);
 printf ("NPM: ");
 gets (mhs [loop].NPM);
 printf ("Fakultas: ");
 gets (mhs [loop].Fakultas);
 printf ("Program Studi: ");
 gets (mhs [loop].Prodi);
 }

 pengurutan (mhs, jumlah); // Memanggil fungsi pengurutan struktur data

 // Di bawah ini adalah Output program
 for (loop =0; loop < jumlah; loop++)
 {
 printf ("\nMahasiswa %d\n", loop +1);

 printf ("Nama: ");
 printf ("%s", mhs [loop].Nama);
 printf ("\nAlamat: ");
 printf ("%s", mhs [loop].Alamat);
 printf ("\nNPM: ");
 printf ("%s", mhs [loop].NPM);
 printf ("\nFakultas: ");
 printf ("%s", mhs [loop].Fakultas);
 printf ("\nProgram Studi: ");
 printf ("%s",mhs [loop].Prodi);
 }

getchar ();
 getchar ();
 return 0; // Program sukses
}

// Di bawah ini adalah pendefinisian fungsi pengurutan
void pengurutan (mahasiswa data [], int ukuran)
{
 int i;
 int j;
 mahasiswa temp;
 int min;

 for (i = 0; i < ukuran; i++)
 {
 min = i;
 for (j = i; j < ukuran; j++)
 {
 if ((strcmp ((data + min)-> NPM,(data + j) -> NPM)) > 0)
 min = j;
 }
 temp = data [i];
 data [i] = data [min];
 data [min] = temp;
 }
}

Bagaimana reaksi anda? Ayo dicoba code-nya dan silakan dicoba buat sendiri.

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: