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.
Leave a Reply