Wednesday, February 22, 2017

STRUCT dalam Bahasa C ( Ada Contoh Programnya )


STRUCT
  • Bentuk struktur data yang dapat menyimpan variabel-variabel dalam 1 nama, namun memiliki tipe data yang berbeda ataupun sama. Variable-variabel tersebut memiliki kaitan satu sama yang lain.
Bentuk umum :
typedef struct nama_struct{
tipe_data <nama_var>;
tipe_data <nama_var>;
....
};

DEKLARASI
Ada 2 cara pendeklarasian struct, yaitu :

Deklarasi  1:
typedef struct Mahasiswa {
char NIM[8];
char nama[50];
float ipk;
};

Deklarasi 2 :
struct {
char NIM[8];
char nama[50];
float ipk;
} mhs;

Contoh struct:
#include <stdio.h>
#include <iostream.h>

void main()

{
 struct orang
 {
      char nama[40];
      short umur;
 }saya;
 printf("nama : ");
 cin.getline(saya.nama,40);
 printf("umur :" );
 scanf("%i",&saya.umur);
 printf("%s berumur %i",saya.nama,saya.umur);
}

ARRAY OF STRUCT
Apabila hendak menggunakan 1 struct untuk beberapa kali, ada 2 cara :
  1. Deklarasi manual

Contoh :
#include <stdio.h>
typedef struct Mahasiswa {
         char NIM[8];
   char nama[50];
         float ipk;
};
      void main()
     {
         Mahasiswa a,b,c;
         ……
         ……
         ……
     }
      artinya struct mahasiswa digunakan untuk 3 variabel, yaitu a,b,c

2. Array of struct
Contoh :
#include <stdio.h>
typedef struct Mahasiswa {
         char NIM[8];
   char nama[50];
         float ipk;
};
      void main()
      {
         Mahasiswa mhs[3];
         ……
         ……
         ……
      }
     
artinya struct mahasiswa dapat digunakan untuk tiga variabel mhs, yaitu mhs[0], mhs[1], dan mhs[2].

Contoh lainnya :
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
typedef struct orang
{
 char nama[30];
 short umur;
 };
void main()

{
 orang saya[5];
 int i,x;
 for(i=0;i<=4;i++)
 {
    printf("nama ke-%i : ",i+1);
    cin.getline(saya[i].nama,30);
    printf("umur ke-%i : ",i+1);
    scanf("%i",saya[i].umur);
    printf("%s berumur %i",saya[i].nama,saya[i].umur);
 }
 for(x=0;x<=4;x++)
 {
    printf("nama %s berumur %d",saya[x].nama,saya[x].umur);
 }
 }



Share:

0 comments:

Post a Comment