Statistiche web Belajar Bahasa C : #10 Struct - Sobat Ambisius

Iklan 1

Belajar Bahasa C : #10 Struct

Hallo Sobat Ambisius!!

Pada kesempatan kali ini, kita akan mulai mempelajari penggunaan struct pada bahasa C.

Struct merupakan kumpulan dari suatu variabel yang dapat berisi berbagai macam tipe data.

Struct digunakan ketika kita ingin menyimpan hal yang memiliki data didalamnya.

Contohnya :
Struct dari data mahasiswa terdiri dari :

·        Nama

·        NIM

·        Kelas

·        Umur

·        Jurusan

Dan berbagai macam data lainnya yang berbubungan dengan data mahasiswa tersebut. Tergantung pada data yang ingin kamu input nantinya.

Syntax dari struct

struct NamaStruct{
    tipeData Variabel1;
    tipeData Variabel2;
    ... ... ...
};

Contohnya :

struct Mahasiswa{
    char nama[50];
    char jurusan[50];
    int umur;
    float ipk;
};

Cara mendeklarasikan variabel penggunaan struct

struct Data{
   // kode
data1data2data3[20];

Penjelasan :

·        data1, data2, data3 merupakan variabel yang dideklarasikan. Variabel yang di deklarasikan dapat berupa array.

Contoh lain dalam mendeklarasikan variabel struct

struct Data{
  // kode
};

int main() {
  struct Data data1data2data3[20];
  return 0;
}
Penggunaan kedua kode diatas sama saja yaitu berfungsi untuk mendeklarasikan sebuah variabel.

1. Penggunaan struct dasar

Contoh program penggunaan struct :

 
#include <stdio.h>
#include <string.h>

struct Mahasiswa {
  char nama[50];
  char jurusan[50];
  int umur;
  float ipk;
} Data1;

int main() {

  // Mengisi data pada variabel array
  strcpy(Data1.nama, "Jaenudin");
  strcpy(Data1.jurusan, "Teknik Informatika");
  
  // Mengisi data pada variabel int dan float
  Data1.umur = 21;
  Data1.ipk = 3.64;

  // print isi variabel struct 
  printf("Nama: %s\n", Data1.nama);
  printf("Jurusan: %s\n", Data1.jurusan);
  printf("Umur: %d\n", Data1.umur);
  printf("IPK : %.2f\n", Data1.ipk);

  return 0;
}
Penjelasan :

·        Code diatas membutuhkan #include string.h karena untuk memasukkan data string membutuhkan strcpy.

·        Fungsi ‘.’ (titik) pada code diatas yaitu untuk mengakses isi struct. Misalnya Data1.umur nantinya variabel umur lah yang akan diakses.

·        Data1 merupakan deklarasi variabel struct.

Output :

2. Keyword typedef pada struct

Kamu dapat menggunakan keyword typedef pada struct jika kamu ingin menyederhanakan syntax dari deklarasi suatu variabel.

Untuk lebih jelasnya mari kita lihat perbandingan code di bawah ini.

a. struct tanpa menggunakan typedef :

struct Mahasiswa{
  // kode
};

int main() {
  struct Mahasiswa data1data2;
  return 0;
}

b. struct menggunakan typedef :

typedef struct Mahasiswa{
  // kode
}dataMhs;

int main() {
  dataMhs data1data2;
  return 0;
}

Contoh program penggunaan  typedef struct :


#include <stdio.h>
#include <string.h>

// struct dengan typedef
typedef struct Kendaraan{
  char jenisKendaraan[50];
  int  TahunProduksi;
  float harga;
} mobil;

int main() {

  // membuat variabel mobil
  mobil data1, data2;

  // Mengisi data pada variabel array
  strcpy(data1.jenisKendaraan, "Sedan");
  strcpy(data2.jenisKendaraan, "Minibus");
  
  // Mengisi data pada variabel float dan int
  data1.TahunProduksi = 2007;
  data1.harga = 97.500000;
  data2.TahunProduksi = 2012;
  data2.harga = 120.500000;

  // print variabel
  printf("Data 1\n");
  printf("Jenis kendaraan: %s\n", data1.jenisKendaraan);
  printf("Tahun produksi : %d\n", data1.TahunProduksi);
  printf("Harga Kendaraan: %f\n\n", data1.harga);
  
  printf("Data 2\n");
  printf("Jenis kendaraan: %s\n", data2.jenisKendaraan);
  printf("Tahun produksi : %d\n", data2.TahunProduksi);
  printf("Harga Kendaraan: %f", data2.harga);

  return 0;
}

Penjelasan :

·        Code diatas membutuhkan #include string.h karena untuk memasukkan data string membutuhkan strcpy.

·        Fungsi ‘.’ (titik) pada code diatas yaitu untuk mengakses isi struct. Misalnya Data1.umur nantinya variabel umur lah yang akan diakses.

·        mobil merupakan deklarasi variabel struct. Yang nantinya berfungsi untuk mendeklarasikan variabel data1 dan data2.

·        Penggunaan typedef berbeda pada bagian deklarasi variabel.

Output :

3. Nested struct

Nested struct yaitu penggunaan struct didalam struct.

#include <stdio.h>
#include <string.h>

struct perusahaan{
    int  Jumlahkaryawan;
    char namaPerusahaan[50];
};

struct karyawan{
    int id;
    char namaKaryawan[20];
    float gaji;
    
    // struct didalam struct
    struct perusahaan data_perusahaan;
}data_karyawan;

int main() 
{
    struct  karyawan data_karyawan = {9876, "Andi", 8.750000, 121, "PT Maju Sukses"};
    printf(" Id   : %d \n", data_karyawan.id);
    printf(" Nama : %s \n", data_karyawan.namaKaryawan);
    printf(" Gaji : %f \n\n", data_karyawan.gaji);

    printf(" Jumlah Karyawan : %d Karyawan\n", data_karyawan.data_perusahaan.Jumlahkaryawan);
    printf(" Nama Perusahaan  : %s \n", data_karyawan.data_perusahaan.namaPerusahaan);
    return 0;
}

Penjelasan :

·        Fungsi ‘.’ (titik) pada code diatas yaitu untuk mengakses isi struct.

·        Code diatas merupakan nested struct karena ada dua struct dan struct di dalam struct.

Output :

4. struct pointer

Kamu dapat menggunakan pointer pada struct untuk mempassing sebuah alamat suatu variabel.

Syntax dari struct pointer

struct buah{
  // kode
};

int main() {
  struct buah *ptr, apel;
  return 0;
}

Contoh program penggunaan struct pointer :

#include <stdio.h>
struct buah{
   int berat;
   char namaBuah[50];
};

int main(){
  
    struct buah *buahPtr, data1;
    buahPtr = &data1;   

    printf("Input: \n");
    printf("Masukkan Berat buah : ");
    scanf("%d", &buahPtr->berat);
    printf("Masukkan Nama buah  : ");
    scanf("%s", &buahPtr->namaBuah);

    printf("\nOutput: \n");
    printf("Berat buah : %dkg\n", buahPtr->berat);
    printf("Nama buah  : %s\n", buahPtr->namaBuah);

    return 0;
}

Penjelasan :

·        Untuk mendeklarasikan variabel pointer struct sama saja pada struct pada umumnya hanya membutuhkan * .

·        Pada code diatas kita dapat menginput sebuah data lalu menampilkan outputnya.

·        Tanda ‘->’ berfungsi untuk mengakses data isi struct.

Output :

Kesimpulan :

Penggunaan struct pada bahasa c seringkali digunakan pada materi struktur data. Struct berfungsi untuk menampung kumpulan variabel dari berbagai macam tipe data. Untuk mengakses data isi struct jika kamu menggunakan struct tanpa pointer maka menggunakan titik ‘.’ Jika kamu menggunakan struct pointer menggunakan tana panah ‘->’.

Inilah informasi yang membahas tentang Struct pada bahasa C. Semoga dengan penjelasan tersebut dapat membuat Sobat Ambisius menjadi lebih semangat dalam mempelajari bahasa C. Terima kasih dan semoga bermanfaat.

0 Response to "Belajar Bahasa C : #10 Struct"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel