Belajar Pemrograman C #11: Mengenal Tipe Data Struct

Belajar Pemrograman C #11: Mengenal Tipe Data Struct
Belajar Pemrograman C #11: Mengenal Tipe Data Struct

Apa itu Struct ?

Dalam Bahasa C/C++ , STRUCT adalah tipe data bentukan yang terdiri dari kumpulan tipe data lain.

Struct juga mirip dengan array,tetapi struct bisa menampung lebih dari 1 jenis tipe data.

Table Of Contents

Struct juga dikenal dengan record dalam bahasa pemorgraman lain seperti pascal.

mengapa kita membutuhkan struct ?

mari coba kita pikirkan

misal nie kalian ingin menyimpan data mahasiswa,kita bisa melakukannya seperti ini

char name[] = “Muhammad Arif’;

char address[] =”Palembang”;

char kelas [] =”IF1C”;

 

Lalu bagaimana kalau itu ada lebih dari satu mahasiswa

mungkin bisa saja sih kita buat seperti ini

char name[] = “Muhammad Arif’;

char adress[] =”Palembang”;

char kelas [] =”IF1C”;

 

char name2[] = “Muhammad Rahmad’;

char universitas[] =”Palembang”;

char uangsaku [] =”IF1A”;

 

char name3[] = “Muhammad Syahputra’;

char adress[] =”Palembang”;

char uangsaku [] =”IF1B”;

argh !! terlihat kagak bagusss..

biar tidak membuat banyak variabel seperti diatas, maka kita bisa mengunakan struct.

Cara Membuat Struct

tipe data struct adalah tipe data bentukan, dimana kita harus membuat dulu seperti apa isi komponen dari struct, baru kemudian diakses dari kode program utama.

kita bahas dengan contoh program berikut ini :

 

#include <stdio.h>

// membuat struct
struct Mahasiswa {
    char *name;
    char *address;
    int kelas;
};

void main(){

    // menggunakan struct
    struct Mahasiswa mhs1, mhs2;

    // mengisi nilai ke struct
    mhs1.name = "Muhammad Arif";
    mhs1.address = "Palembang";
    mhs1.kelas = IF1C;

    mhs2.name = "Bambang";
    mhs2.address = "Surabaya";
    mhs2.kelas = IF1B;

    // mencetak isi struct
    printf("## Mahasiswa 1 ##\n");
    printf("Nama: %s\n", mhs1.name);
    printf("Alamat: %s\n", mhs1.address);
    printf("Umur: %d\n", mhs1.kelas);

    printf("## Mahasiswa 2 ##\n");
    printf("Nama: %s\n", mhs2.name);
    printf("Alamat: %s\n", mhs2.address);
    printf("Umur: %d\n", mhs2.kelas);

}

Menggunakan typedef pada Struct

Kata kunci typedef adalah kata kunci untuk mendefinisikan tipe data baru.

Kita bisa menggunakan kata kunci ini di depan struct untuk menyatakannya sebagai tipe data baru.

Contoh:

Tanpa typedef kita akan menggunakan struct seperti ini.

// membuat struct
struct Distance{
    int feet;
    float inch;
};

void main() {
    // menggunakan struct
    struct Distance d1, d2;
}

Nah, kalau menggunakan typedef akan menjadi seperti ini:

// membuat struct dengan typedef
typedef struct Distance{
    int feet;
    float inch;
} distances;

void main() {
    // menggunakan struct
    distances dist1, dist2, sum;
}

Struct Bersarang

Struct dapat dibuat bersarang (nested). Bersarang artinya ada struct di dalam struct.

Contoh:

struct complex
{
 int imag;
 float real;
};

struct number
{
   struct complex comp;
   int integers;
} num1, num2;

Lalu cara menggunanya akan seperti ini:

num1.integer = 12;
num1.comp.real = 44.12;
num2.comp.imag = 11;

Passing Struct ke dalam Fungsi

Struct dapat kita buat sebagai parameter untuk fungsi.

Contoh:

#include <stdio.h>
struct student
{
    char name[50];
    int age;
};

void main() {
    struct student s1;

    printf("Enter name: ");
    scanf("%[^\n]%*c", s1.name);

    printf("Enter age: ");
    scanf("%d", &s1.age);

    display(s1);   // passing structure as an argument
}

// membuat fungsi dengan struct sebagai parameter
void display(struct student s) {
  printf("\nDisplaying information\n");
  printf("Name: %s", s.name);
  printf("\nRoll: %d", s.age);
}

Akhir Kata…

Kita sudah memperlajari dasar-dasr penggunaan Struct pada bahasa C. Selanjutnya silahkan berlatih dengan contoh program yang lain agar semakin paham.

Akhir kata…

Selamat belajar bahasa C.

 

© 2023 vishal majumdar - wordpress theme by. Ledger, the crypto asset wallet, is third on the list with a social signal score of 5461 following a tremendous 27. Roller blinds in dubai.