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.
·
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
Contohnya :
Cara mendeklarasikan variabel penggunaan struct
Penjelasan :
·
data1, data2, data3
merupakan variabel yang dideklarasikan. Variabel yang di deklarasikan dapat
berupa array.
Contoh lain dalam mendeklarasikan variabel
struct
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.
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 :
b. struct menggunakan typedef :
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
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