Struct
Modul ini ngajak kita untuk nyimpen banyak data dalam 1 variabel dengan field.
Struct
Berbeda dengan array, struct adalah tipe data yang bisa nyimpen beberapa tipe data sekaligus. Struct biasanya digunakan untuk nyimpen data yang berhubungan satu sama lain.
Struct juga bisa kita artikan kita membuat tipe data baru. Misalnya, kita punya struct Mahasiswa yang berisi nama, umur, dan jurusan. Kita bisa deklarasi struct Mahasiswa dan buat variabel Mahasiswa yang berisi nama, umur, dan jurusan.
Deklarasi Struct
Struktur deklarasi struct adalah sebagai berikut:
struct NamaStruct {
tipe_data1 nama_variabel1;
tipe_data2 nama_variabel2;
...
};
Contoh:
struct Mahasiswa {
string nama;
int umur;
string jurusan;
};
Kita mendeklarasikan struct dengan nama Mahasiswa yang berisi variabel atau field nama, umur, dan jurusan.
Membuat Variabel Struct
Lepas tu kita buat struct-nya, kita bisa buat variabel struct dengan cara berikut:
NamaStruct nama_variabel;
Contoh:
Mahasiswa mhs;
Kita mendeklarasikan variabel mhs dengan tipe Mahasiswa.
Mengakses Field Struct
Kita bisa mengakses field struct dengan cara berikut:
nama_variabel.nama_field;
Contoh:
mhs.nama = "Raana";
mhs.umur = 20;
mhs.jurusan = "Teknik Informatika";
cout << mhs.nama << endl;
cout << mhs.umur << endl;
cout << mhs.jurusan << endl;
Output:
Raana
20
Teknik Informatika
Nested Struct
Struct juga bisa berisi struct lain. Misalnya, kita punya struct Alamat yang berisi nama jalan, nomor rumah, dan kota. Kita bisa masukkan struct Alamat ke dalam struct Mahasiswa.
Contoh:
struct Alamat {
string jalan;
int nomor;
string kota;
};
struct Mahasiswa {
string nama;
int umur;
string jurusan;
Alamat alamat;
};
Kemudian kita bisa mengakses field alamat dari variabel mhs.
mhs.alamat.jalan = "Jalan Pramuka";
mhs.alamat.nomor = 9;
mhs.alamat.kota = "Samarinda";
cout << mhs.alamat.jalan << endl;
cout << mhs.alamat.nomor << endl;
cout << mhs.alamat.kota << endl;
Output:
Jalan Pramuka
9
Samarinda
Array Struct
Kita juga bisa membuat array dari struct. Misalnya, kita punya struct Mahasiswa dan kita mau buat array mhs yang berisi 3.
Contoh:
Mahasiswa mhs[3];
Kita mendeklarasikan array mhs yang berisi 3 elemen dengan tipe Mahasiswa.
Kemudian kita akses elemennya dengan cara berikut:
mhs[index].field;
Contoh:
mhs[0].nama = "Raana";
mhs[0].umur = 20;
mhs[0].jurusan = "Teknik Informatika";
mhs[1].nama = "Matcha";
mhs[1].umur = 21;
mhs[1].jurusan = "Teknik Elektro";
mhs[2].nama = "Tea";
mhs[2].umur = 22;
mhs[2].jurusan = "Teknik Mesin";
for (Mahasiswa data : mhs) {
cout << "Nama: " << data.nama << endl;
cout << "Umur: " << data.umur << endl;
cout << "Jurusan: " << data.jurusan << endl;
cout << endl;
}
Output:
Nama: Raana
Umur: 20
Jurusan: Teknik Informatika
Nama: Matcha
Umur: 21
Jurusan: Teknik Elektro
Nama: Tea
Umur: 22
Jurusan: Teknik Mesin
Source: