STRUKTUR adalah struktur data C++ yang dapat digunakan untuk menyimpan bersama elemen dari tipe data yang berbeda. Dalam C++, struktur adalah tipe data yang ditentukan pengguna. Struktur tersebut membuat tipe data untuk mengelompokkan item dari tipe data yang berbeda di bawah satu tipe data.
Misalnya:
Misalkan Anda perlu menyimpan informasi tentang seseorang, nama mereka, kewarganegaraan, dan usia. Anda dapat membuat variabel seperti nama, kewarganegaraan, dan usia untuk menyimpan data secara terpisah.
Namun, Anda mungkin perlu menyimpan informasi tentang banyak orang di masa mendatang. Ini berarti variabel untuk individu yang berbeda akan dibuat. Misalnya, nama1, kewarganegaraan1, usia1 dll. Untuk menghindarinya, lebih baik buat struct.
Dalam tutorial C++ ini, Anda akan belajar:
Apa itu Struct di C++?
Kapan menggunakan Struktur?
Inisialisasi Struktur C++
Membuat Instance Struct
Mengakses Anggota Struktur
Petunjuk ke Struktur
Struktur sebagai Argumen Fungsi
Batasan struktur C++
Kapan menggunakan Struktur?
Berikut adalah beberapa alasan menggunakan struktur dalam C++.
Gunakan struct saat Anda perlu menyimpan elemen dari tipe data yang berbeda di bawah satu tipe data.
Struktur C++ adalah tipe nilai daripada tipe referensi. Gunakan struct jika Anda tidak ingin mengubah data setelah dibuat.
Inisialisasi Struktur C++
Untuk membuat struktur C++, kita menggunakan kata kunci struct, diikuti dengan pengenal. Pengidentifikasi menjadi nama struct. Berikut adalah sintaks untuk pembuatan struct C++:
Sintaks:
struct struct_name
{
// struct members
}
Dalam sintaks di atas, kami telah menggunakan kata kunci struct. struct_name adalah nama struktur.
Anggota struct ditambahkan dalam kurung kurawal. Anggota ini mungkin memiliki tipe data yang berbeda.
Misalnya:
struct Person
{
char name[30];
int citizenship;
int age;
}
Dalam contoh di atas, Person adalah struktur dengan tiga anggota. Anggotanya meliputi nama, kewarganegaraan, dan usia. Satu anggota adalah tipe data char, sedangkan 2 sisanya adalah bilangan bulat ketika struktur dibuat, memori tidak dialokasikan. Memori hanya dialokasikan setelah variabel ditambahkan ke struct.
Membuat Instance Struct
Pada contoh di atas, kita telah membuat sebuah struct bernama Person. Kita dapat membuat variabel struct sebagai berikut:
Person p;
p adalah variabel struct dari tipe Person. Kita dapat menggunakan variabel ini untuk mengakses anggota struct.
Mengakses Anggota Struktur
Untuk mengakses anggota struct, kita menggunakan instance dari struct dan operator titik (.). Misalnya, untuk mengakses usia anggota struct Person:
p.age = 27;
Kami telah mengakses usia anggota struct Person menggunakan instance struct, hal. Kami kemudian menetapkan nilai usia anggota menjadi 27.
Contoh 1:
#include <iostream>
using namespace std;
struct Person
{
int citizenship;
int age;
};
int main(void) {
struct Person p;
p.citizenship = 1;
p.age = 27;
cout << "Person citizenship: " << p.citizenship << endl;
cout << "Person age: " << p.age << endl;
return 0;
}
Keluaran:
Berikut adalah screenshot kodenya:
Penjelasan Kode:
Sertakan file header iostream dalam program kami untuk menggunakan fungsi yang ditentukan di dalamnya.
Sertakan namespace std untuk menggunakan kelasnya tanpa memanggilnya.
Buat struct bernama Person.
Awal dari badan struct.
Buat anggota struct bernama kewarganegaraan bertipe integer.
Buat anggota struct bernama age of type integer.
Akhir dari badan struct.
Panggil fungsi main(). Logika program harus ditambahkan dalam isi fungsi ini.
Buat instance dari struct Person dan beri nama p.
Tetapkan nilai kewarganegaraan anggota struct ke 1.
Tetapkan nilai usia anggota struct menjadi 27.
Cetak nilai kewarganegaraan anggota struct di konsol bersama beberapa teks lainnya.
Cetak nilai usia anggota struct di konsol bersama beberapa teks lainnya.
Program akan mengembalikan nilai jika berhasil dijalankan.
Akhir dari fungsi main().
Penunjuk ke Struktur
Dimungkinkan untuk membuat pointer yang menunjuk ke suatu struktur. Ini mirip dengan bagaimana pointer yang menunjuk ke tipe data asli seperti int, float, double, dll. dibuat. Perhatikan bahwa pointer di C++ akan menyimpan lokasi memori.
Sertakan file header iostream dalam program kami untuk menggunakan fungsinya.
Sertakan ruang nama std dalam program kami untuk menggunakan kelasnya tanpa memanggilnya.
Buat struct bernama Panjang.
Awal dari badan panjang struct.
Buat anggota struct bernama meter dari tipe data integer.
Buat anggota struct bernama sentimeter bertipe integer.
Akhir tubuh panjang struct.
Panggil fungsi main().
Awal isi fungsi main().
Buat variabel pointer *ptr dan variabel normal l dengan tipe Length.
Simpan alamat variabel l dalam variabel pointer kita.
Menampilkan pesan di konsol, meminta pengguna memasukkan nilai untuk pengukur variabel.
Baca nilai yang dimasukkan oleh pengguna melalui keyboard. Pengukur fungsi anggota di sini diakses menggunakan variabel penunjuk.
Menampilkan pesan di konsol, meminta pengguna memasukkan nilai sentimeter variabel.
Baca nilai yang dimasukkan oleh pengguna melalui keyboard. Sentimeter fungsi anggota di sini diakses menggunakan variabel pointer.
Menampilkan nilai yang dibaca dari pengguna di konsol bersama beberapa teks lainnya.
Program harus mengembalikan nilai setelah eksekusi berhasil.
Akhir dari isi fungsi main().
Struktur sebagai Argumen Fungsi
Anda dapat meneruskan struct ke fungsi sebagai argumen. Ini dilakukan dengan cara yang sama seperti memberikan argumen normal. Variabel struct juga dapat diteruskan ke suatu fungsi. Contoh yang baik adalah ketika Anda perlu menampilkan nilai anggota struct. Mari kita tunjukkan ini:
Contoh 3:
#include<iostream>
using namespace std;
struct Person
{
int citizenship;
int age;
};
void func(struct Person p);
int main()
{
struct Person p;
p.citizenship = 1;
p.age = 27;
func(p);
return 0;
}
void func(struct Person p)
{
cout << " Person citizenship: " << p.citizenship<<endl;
cout << " Person age: " << p.age;
}
Keluaran:
Berikut adalah screenshot kodenya:
Penjelasan Kode:
Sertakan file header iostream ke dalam file kita. Kami kemudian akan menggunakan fungsinya tanpa mendapatkan kesalahan.
Sertakan ruang nama std dalam program kami untuk menggunakan kelasnya. Kita tidak perlu memanggil namespace untuk menggunakan kelasnya.
Buat struct bernama Person.
Awal dari tubuh struct Person.
Buat anggota struct Person. Anggota bernama kewarganegaraan dan bertipe integer.
Buat anggota struct Person. Anggota tersebut bernama usia dan bertipe integer.
Akhir dari badan struct Person.
Buat fungsi yang mengambil instance struct Person, p, sebagai argumen.
Memanggil fungsi utama. { menandai awal dari isi fungsi main().
Buat instance struct Person dan beri nama p.
Mengakses kewarganegaraan variabel anggota struct menggunakan instance struct, p, dan memberinya nilai 1.
Akses usia variabel anggota struct menggunakan instance struct, p, dan beri nilai 27.
Panggil fungsi dan berikan instance dari struct Person, p, sebagai argumennya.
Fungsi harus mengembalikan nilai setelah eksekusi berhasil.
Akhir dari isi fungsi main().
Buat isi fungsi.
Awal dari isi fungsi.
Akses nilai kewarganegaraan anggota struct dan cetak di konsol bersama teks lainnya.
Akses nilai usia anggota struct dan cetak di konsol bersama teks lainnya.
Akhir dari fungsi tubuh.
Batasan struktur C++
Berikut ini adalah batasan struktur:
Tipe data struct tidak dapat diperlakukan seperti tipe data bawaan.
Operator seperti + -, dan lainnya tidak dapat digunakan pada variabel struktur.
Struktur tidak mendukung penyembunyian data. Anggota struktur dapat diakses oleh fungsi apa pun terlepas dari cakupannya.
Anggota statis tidak dapat dideklarasikan di dalam badan struktur.
Konstruktor tidak dapat dibuat di dalam struktur.
Ringkasan:
Struktur adalah struktur data yang menyimpan elemen data dari tipe yang berbeda.
Sementara array menyimpan elemen data dari tipe yang sama, struct menyimpan elemen data dari tipe yang berbeda.
Sebuah struct harus digunakan ketika elemen data tidak diharapkan untuk mengubah nilai.
Anggota struct diakses menggunakan operator titik (.).
Kita harus membuat instance dari struct.
Untuk membuat struct C++, kita menggunakan kata kunci struct.
Penunjuk yang menunjuk ke struct dibuat mirip dengan bagaimana penunjuk yang menunjuk ke tipe reguler dibuat.
Sebuah struct dapat diteruskan sebagai argumen ke suatu fungsi dengan cara yang sama seperti fungsi biasa dilewatkan.