Kamis, 22 Maret 2012

ASD TUGAS 1


PROGRAM C/C++: PROGRAM DATA MAHASISWA MENGGUNAKAN ARRAY OF STRUCT

Program data mahasiswa merupakan sebuah program yang berfungsi untuk menampilkan data-data mahasiswa setelah dilakukan penginputan data. Pada program ini, data mahasiswa yang dimaksud terbatas pada NIM, Nama, dan IPK.

Pembuatan program ini menggunakan array of struct, yaitu gabungan dari fungsi array dan struct. Array merupakan sekelompok data sejenis yang disimpan ke dalam variabel dengan nama yang sama, dengan memberi indeks pada variabel untuk membedakan antara yang satu dengan yang lain.

Jika dibayangkan, array adalah sebuah lemari yang terdiri dari beberapa rak tempat pakaian di dalamnya. Rak-rak di dalam lemari sebagai penempatan elemen-elemen array. Elemen yang berada di rak satu dengan lainnya memiliki jenis yang sama.

Sedangkan Struct adalah tipe data buatan yang dibuat oleh programmer yang berisi kumpulan dari tipe data-tipe data primitif (integer, float, dll.).

Berikut adalah source code dari program ini.

#include <stdlib.h>
#include <stdio.h>
struct mahasiswa{char nim[20];
                        char nama [30];
                        float ipk;};         
typedef struct mahasiswa mhs;
int main (){
    mhs siswa[3];
    int a;
    //judul porgram   
    printf("Program Struct Data Mahasiswa\n\n");
    //perulangan 3x untuk input data 3 mahasiswa
    for(a=1;a<=3;a++){
    printf("Masukkan Data Mahasiswa ke-%d:\n",a);
    printf("NIM : "); scanf("%[^\n]",&siswa[a-1].nim,20); fflush(stdin);
    printf("Nama: "); scanf("%[^\n]",&siswa[a-1].nama,30); fflush(stdin);
    printf("IPK : "); scanf("%f",&siswa[a-1].ipk); fflush(stdin);
    system("cls");
      }
    //perulangan untuk menampilan data
    for(a=1;a<=3;a++){
    printf("Data Mahasiswa ke-%d sebagai berikut:",a);
    printf("\nNIM : %s",siswa[a-1].nim,20);
    printf("\nNama: %s",siswa[a-1].nama),30;
    printf("\nIPK : %.2f\n\n",siswa[a-1].ipk);
      }    
    system("pause");
    return 0;
}

Keterangan:
fflush(stdin); = berfungsi menghapus buffer keyboard, membersihkan memori agar data yang akan dimasukkan berikutnya tidak terganggu
system("cls"); = digunakan untuk membersihkan layar.
scanf("%[^\n]",. . .); = memiliki fungsi untuk input karakter “spasi”.

Berkut ini screenshot dari program diatas:


Perlu diketahui bahwa program diatas hanya dapat menyimpan 3 data mahasiswa. Sebenarnya bisa saja lebih dari 3 data, namun syntaxnya harus diubah.
 Yang perlu diubah adalah elemen array siswa (mhs siswa[3]), dan perulangan (for(a=1;a<=3;a++)). Ubah angka 3 menjadi sesuai dengan jumlah data yang ingin diinput.

Tidak ada komentar:

Posting Komentar