Konsep Dasar Struktur

Suatu struktur adalah kumpulan dari beberapa variabel, dimana tipe datanya dapat berbeda-beda. Struktur dideklarasikan dengan satu nama tunggal sehingga data dapat ditangani sebagai satu kesatuan. Tujuan dari penerapan struktur adalah untuk memudahkan manipulasi item-iten data. Struktur sangat berguna dalam menangani data yang kompleks, terutama dalam program-program besar. 

Contoh :

struct pegawai
{
    char nip[9];
    char nama[30];
    char alamat[64];
    char telepon[15];
    float gaji;
    float tunjangan;
};

Kata kunci struct menyatakan deklarasi suatu struktur. Nama yang mengikuti struct biasa disebut sebagai label, pada contoh di atas pegawai adalah label. Adapun nip, nama, alamat, telepon, gaji, dan tunjangan adalah elemen dari struktur itu. Label dapat digunakan untuk mendeklarasikan variabel lain dengan struktur yang sama, misalnya :

struct pegawai pegwai_kontrak;

mendefinisikan variabel pegawai_kontrak adalah suatu struktur dengan tipe pegawai. Suatu struktur dapat diberi nilai awal (inisialisasi) seperti berikut ini :

struct pegawai pegawai_kontrak = {”200612345″, “Tarmijan”, “Jl. Buritan Raya 44 Malang”, “0341-7733445″, 1250000, 250000};

Elemen dari suatu struktur dapat direferensikan dengan pernyataan berikut ini : 

label.elemen

Operator untuk elemen struktur (yaitu tanda titik) menghubungkan label dan elemennya. Jadi misalnya mendapatkan gaji total seorang pegawai_kontrak dapat dibuat dengan cara berikut :

gaji_total = pegawai_kontrak.gaji + pegawai_kontrak.tunjangan;

Contoh lengkap :

File struktur.c

#include <stdio.h>

struct pegawai
{
    char nip[9];
    char nama[30];
    char alamat[64];
    char telepon[15];
    float gaji;
    float tunjangan;
};

main()
{
  struct pegawai pegawai_kontrak = {”200612345″, “Tarmijan”, “Jl. Buritan Raya 44 Malang”,
  “0341-7733445″, 1250000, 250000};
  float gaji_total;

  gaji_total=pegawai_kontrak.gaji + pegawai_kontrak.tunjangan;

  printf(”Total Gaji %s adalah %.2f\n”, pegawai_kontrak.nama, gaji_total);
}

$ gcc -o struktur struktur.c
$ ./struktur
Total Gaji Tarmijan adalah 1500000.00
$

Suatu struktur dapat pula menrupakan elemen dari struktur yang lain. Sebagi contoh akan kita buat struktur tanggal yang nantinya bisa digunakan untuk membuat tanggal_lahir pegawai_kontrak.

Perhatikan contoh berikut :

File struktur2.c

#include <stdio.h>

struct tanggal
{
    char *tgl;
    char *bln;
    char *thn;
};

struct pegawai
{
    char *nip;
    char *nama;
    char *alamat;
    char *telepon;
    float gaji;
    float tunjangan;
    struct tanggal tanggal_lahir;
};

main()
{
  struct pegawai pegawai_kontrak;

  pegawai_kontrak.nip = “200612345″;
  pegawai_kontrak.nama = “Tarmijan”;
  pegawai_kontrak.alamat =  “Jl. Buritan Raya 44 Malang”;
  pegawai_kontrak.telepon =  “0341-7733445″;
  pegawai_kontrak.gaji =  1250000;
  pegawai_kontrak.tunjangan =  250000;

  pegawai_kontrak.tanggal_lahir.tgl = “02″;
  pegawai_kontrak.tanggal_lahir.bln = “01″;
  pegawai_kontrak.tanggal_lahir.thn = “1976″;

  printf(”Tanggal lahir %s adalah %s-%s-%s\n”, pegawai_kontrak.nama,
  pegawai_kontrak.tanggal_lahir.tgl,pegawai_kontrak.tanggal_lahir.bln,
  pegawai_kontrak.tanggal_lahir.thn);
}

$ gcc -o struktur2 struktur2.c
$ ./struktur2
Tanggal lahir Tarmijan adalah 02-01-1976
$

Dedicated for Light Intermutimedia
Perusahaan Software Pulsa