Penggunaan Struct Pada C++

|| || || Leave a komentar
  • Struct adalah tipe data bentukan yang berisi kumpulan variabel-variabel
    yang bernaung dalam satu nama yang sama dan memiliki kaitan satu
    sama lain.
  • Berbeda dengan array hanya berupa kumpulan variabel yang bertipe data
    sama, struct bisa memiliki variabel-variabel yang bertipe data sama atau
    berbeda, bahkan bisa menyimpan variabel yang bertipe data array atau
    struct itu sendiri.
  • Variabel-variabel yang menjadi anggota struct disebut dengan elemen
    struct.
Bentuk umum dari struct:
typedef struct{
   tipe_data <nama_var>;
   tipe_data <nama_var>;
   .... }
Struct bisa diumpamakan sebagai sebuah obyek, misalnya: obyek Mahasiswa. Struct Mahasiswa memiliki property atau atribut atau variabel yang melekat padanya:
  • NIM misal karakter sejumlah 8
  • Nama yaitu karakter
  • IPK yaitu bilangan pecahan

Struct tidak memiliki operasi (method) atau function. Struct dapat digunakan dengan cara membuat variabel yang bertipe struct tersebut.
Misalnya :
  • variabel anton bertipe struct Mahasiswa
  • variabel erick bertipe struct Mahasiswa
Dengan demikian variabel anton dan erick memiliki NIM, Nama, dan IPK masing-masing.
Ada dua cara untuk mendeklarasikan struct pada C yaitu:
Menggunakan keyword typedef:
typedef struct Mahasiswa {
  char NIM[8];
  char nama[50];
  float ipk;
};
//untuk menggunakan struct Mahasiswa dengan membuat variabel mhs dan mhs2
Mahasiswa mhs,mhs2;
//untuk menggunakan struct Mahasiswa dengan membuat variabel array m;
Mahasiswa m[100];
Menggunakan keyword struct:
struct {
  char NIM[8];
  char nama[50];
  float ipk;
} mhs;
Berarti kita sudah mempunyai variabel mhs yang bertipe data struct seperti diatas
Cara penggunaan struct dan pengaksesan elemen-elemennya:
  • Penggunaan/pemakaian tipe data struct dilakukan dengan membuat suatu variabel yang bertipe data struct tersebut
  • Pengaksesan elemen struct dilakukan secara individual dengan menyebutkan nama variabel struct diikuti dengan operator titik (.)
  • Misalnya dengan struct mahasiswa seperti contoh di atas, kita akan akses elemen-elemennya seperti contoh berikut:
Contoh Program 1 (Penggunaan Struct Sederhana) :
#include <stdio.h>
#include <conio.h>

//Pendeklarasian tipe data baru struct Mahasiswa 
typedef struct Mahasiswa{
         char NIM[9];
         char nama[30];
         float ipk;
 };

void main(){
      //Buat variabel mhs bertipe data Mahasiswa
      Mahasiswa mhs;
      clrscr();

      printf("NIM = ");scanf("%s",mhs.NIM);
      printf("Nama = ");scanf("%s",mhs.nama);
      printf("IPK = ");scanf("%f",&mhs.ipk); 

      printf("Data Anda : \n");
      printf("NIM : %s\n",mhs.NIM);
      printf("Nama : %s\n",mhs.nama);
      printf("IPK : %f\n",mhs.ipk);
      getch();
}

Contoh Program 2 (Penggunaan Struct dalam Struct) :
#include <stdio.h>
#include <conio.h> 

typedef struct Date{
          int dd;
          int mm;
          int yyyy;
}; 

typedef struct Time{
          int h;
          int m;
          int s;
};

typedef struct Login{
          int ID;
          Date tglLogin;
          Time waktuLogin;
}; 

int main(){
     Login user1; 

     printf("USER 1\n");
     printf("ID : ");scanf("%d",&user1.ID);
     printf("Tanggal Login\n");
     printf("Hari : ");scanf("%d",&user1.tglLogin.dd);
     printf("Bulan : ");scanf("%d",&user1.tglLogin.mm);
     printf("Tahun : ");scanf("%d",&user1.tglLogin.yyyy);
     printf("Waktu Login\n");
     printf("Jam : ");scanf("%d",&user1.waktuLogin.h);
     printf("Menit : ");scanf("%d",&user1.waktuLogin.m);
     printf("Detik : ");scanf("%d",&user1.waktuLogin.s);
     printf("Terimakasih\n");
     printf("Data Anda :\n");
     printf("ID : %d\n",user1.ID);
     printf("Date : %d - %d - %d\n",user1.tglLogin.dd,user1.tglLogin.mm,user1.tglLogin.yyyy);
     printf("ID :%d:%d:%d\n",user1.waktuLogin.h,user1.waktuLogin.m,user1.waktuLogin.s);
     getch();
}
Contoh 3 (Penggunaan Array Of Struct)
#include <stdio.h>
#include <conio.h> 

typedef struct Date{
          int dd;
          int mm;
          int yyyy;
        }; 

typedef struct Time{
          int h;
          int m;
          int s;
        }; 

typedef struct Login{
          int ID;
          Date tglLogin;
          Time waktuLogin;
          };

int main(){
     Login user[3]; 

     //3 user 
     for(int i=0;i<3;i++){
         printf("\nUSER ke-%d\n",i+1);
         printf("ID : ");scanf("%d",&user[i].ID);
         printf("Tanggal Login\n");
         printf("Hari : ");scanf("%d",&user[i].tglLogin.dd);
         printf("Bulan : ");scanf("%d",&user[i].tglLogin.mm);
         printf("Tahun : ");scanf("%d",&user[i].tglLogin.yyyy);
         printf("Waktu Login\n");
         printf("Jam : ");scanf("%d",&user[i].waktuLogin.h);
         printf("Menit : ");scanf("%d",&user[i].waktuLogin.m);
         printf("Detik : ");scanf("%d",&user[i].waktuLogin.s);
         printf("Terimakasih Atas Pengisiannya\n");
         printf("\nData User ke-%d:\n",i+1);
         printf("Login ID : %d\n",user[i].ID);
         printf("Login Date : %d - %d - %d\n",user[i].tglLogin.dd,user[i].tglLogin.mm,user[i].tglLogin.yyyy);
         printf("Login Time : %d:%d:%d\n",user[i].waktuLogin.h,user[i].waktuLogin.m,user[i].waktuLogin.s);
      }
      getch();
}
/[ 0 komentar Untuk Artikel Penggunaan Struct Pada C++]\

Posting Komentar