Monday, December 17, 2018

Struct

Struct adalah sebuah tipe data yang menyimpan banyak tipe data yang berbeda.
Deklarasi struct:
struct nama_tipe_data
{
     data_type variable_name;
     data_type2 variable_name2;
     .....
} nama_struct;

struct data
{
     int age;
     char name[20];
}mhs;
Struct dapat juga berupa array(Array of Structure), sebagai contoh:
struct data
{
     int age;
     char name[20];
}mhs[20]; // dapat muat 20 data yang berisi age dan name

Inisialisasi struct dapat dilakukan secara global dan secara local
Secara global:
struct data
{
     int age;
     char name[20];
}mhs[20];

int main()
{
  .....


Secara local
struct data
{
     int age;
     char name[20];
};

int main()
{
      struct data mhs[20];
      .....
}

ATAU

int main()
{
      struct data
     {
           int age;
           char name[20];
      }mhs[20];
      .....
}


Nested Structure
Adalah struct di dalam struct. Sebagai contoh:
struct dataLahir
{
       int date;
       int month;
       int year;
       char tempatLahir[20];
}

struct biodata
{
       char nama[20];
       int age;
       struct dataLahir data; // struct dataLahir dalam struct biodata
}

int main()
{
    struct biodata mahasiswa[20]; 
    ......
}

Accessing array
Untuk mengakses array, digunakan "." untuk mengakses isi dari array
Untuk menyatakan nilai pada string, digunakan library string.h, function strcpy;
Contoh:
#include<stdio.h>
#include<string.h>
struct data
{
     int age;
     char name[20];
}mhs;

int main()
{
    strcpy(mhs.name,"Adit");
    mhs.age = 19;
    printf("%s %d\n",mhs.name, mhs.age);

Output :
Adit 19

Akses array of structure
Contoh:

struct data
{
     int age;
     char name[20];
}mhs[20];

int main()
{
    strcpy(mhs[0].name,"Adit");
    mhs[0].age = 19;
    strcpy(mhs[1].name,"Lili");
    mhs[1].age = 17;
    strcpy(mhs[2].name,"Jojo");
    mhs[2].age = 18;


    for(int i = 0 ; i < 3 ; i++)
    {
          printf("%s %d\n",mhs[i].name, mhs[i].age); // mengakses array mahasiswa ke i, bagian name
                                                                                 // mengakses array mahasiswa ke i, bagian age
     }
     return 0;

Output:
Adit 19
Lili 17
Jojo 18

No comments:

Post a Comment

Sorting and Searching

Dalam pemograman, ada kalanya kita diminta untuk sorting data berdasarkan kategori tertentu. Ada berbagai macam cara sorting, namun berbeda ...