Anda di halaman 1dari 4

Penjelasan Nesting Structure

Written by: Fajar   |   Updated on: Maret 8, 2018

Pada data structure kita dimungkinkan untuk menggunakan object degan data structure lain di
dalam data structure. Pada dasarnya object merupakan variabel, yang berbeda hanyalah tipe
datanya saja. Mendirikan member tergolong sebagai object dari struct lain, dimungkinkan
selama member dari struct merupakan tempat penyimpanan.

Penjelasan Nesting Structure

Nesting Structures adalah data structure di dalam data structure, dengan cara penggunaan tipe
structure yang telah dideklarasikan sebelumnya menjadi bagian dari anggota data structure
lain.

Contoh penulisan

1struct anak{
2    string nama;
int umur;
3};
4struct siswa{
5    anak anak; //nesting
6    int noInduk;
    float niaiUjian;
7};
8
9

Pada penulisan di atas setiap kita mendirikan object dengan tipe structure siswa, maka kita
akan otomatis mendapatkan data structure anak pada object ber identitas anak.

Cara Inisialisasi Nesting Structure

Ada banyak cara inisialisasi, yaitu dengan cara non-static initialization, initializer list, dan
uniform initialization. dan hal tersebut telah dijelaskan pada artikel sebelumnya, yaitu struct.

Untuk inisialisasi dengan cara non-static initialization, tidak akan berbeda seperti apa yang
telah jelaskan. Jadi kali ini penulis hanya membahas inisialisasi menggunakan cara initializer
list / uniform initialization saja.

Tidak jauh beda seperti apa yang telah dijelaskan, hanya saja. Untuk inisialisasi struct di
dalam struct akan dibutuhkan sepasang block { } , hal ini akan mirip seperti inisialisasi pada
array multidimensi.

struct siswa budi{{"Budi ini Budi", 19}, 123, 70.5}; //uniform


1initialization

Cara Akses Nested Structure

untuk mengakses anggota struct kita membutuhkan tanda ”Member Access Operator ( . )” di
antara nama object.

Contoh Penulisan

1tono.anak.nama = "Tono Ono Loro";


2tono.anak.umur = 18;

Contoh program

1 #include <iostream>
#include <string>
2
using namespace std;
3
 
4 struct siswa{
5     struct{ //mendirikan struct juga dapat dilakukan di dalam struct
6                      string nama;
7                      int umur;
              }anak;
8     int noInduk;
9     float nilaiUjian;
1 };
0  
1 void printIt(const struct siswa &a){
1     cout<<"Nama \t\t = "<<a.anak.nama<<endl;
    cout<<"Umur \t\t = "<<a.anak.umur<<endl;
1     cout<<"Nomer Induk \t = "<<a.noInduk<<endl;
2     cout<<"Nilai Ujian \t = "<<a.nilaiUjian<<endl<<endl;
1 }
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2  
1 int main() {
    struct siswa budi{{"Budi ini Budi", 19}, 123, 70.5};
2     struct siswa tono;
2
 
2     tono.anak.nama = "Tono Ono Loro";
3     tono.anak.umur=18;
2     tono.noInduk=124;
4     tono.nilaiUjian=7.8;
2  
    printIt(budi);
5     printIt(tono);
2  
6     return 0;
2 }
7
2
8
2
9
3
0
3
1
3
2
3
3
3
4

Nesting structure, struct juga dimungkinkan untuk memiliki struct itu sendiri sebagai
member. Kita memang tidak dimungkinkan untuk memiliki struct tersebut digunakan dalam
struct itu sendiri jika didirikan sebagai member bias. Tapi hal itu akan dimungkinkan jika
member tersebut merupakan pointer.
Baca :   Penjelasan Dan Cara Menggunakan Static Member Variable

Untuk pembahasan lebih dalam mengenai struct memiliki struct itu sebagai member ber
pointer akan penulis sampaikan pada artikel selanjutnya.

Anda mungkin juga menyukai