Algoritma dan Struktur Data Pointer Pada Struct Definition








![Mengakses anggota struct • Deklarasi motor p; motor q[10]; nama_var_struct. nama_var_elemen; • Maka p. Mengakses anggota struct • Deklarasi motor p; motor q[10]; nama_var_struct. nama_var_elemen; • Maka p.](https://slidetodoc.com/presentation_image_h2/59cebe396387ca5c9188ffd10ac535ad/image-9.jpg)












- Slides: 21
Algoritma dan Struktur Data Pointer Pada Struct
Definition — Structure • Beberapa variabel (dapat berbeda tipe) yang dikelompokkan menjadi satu dengan sebuah nama baru
Definisi dan deklarasi Struct Syntax: struct nama_struct { tipe_data_1 nama_var_1; tipe_data_2 nama_var_2; tipe_data_3 nama_var_3; …… }; 3
struct • Penting untuk implementasi ADT / membuat tipe data baru • E. g. , struct motor { float volts; //voltage of the motor float amps; //amperage of the motor int phases; //# of phases of the motor float rpm; //rotational speed of motor }; typedef struct motor;
struct pe y t he t f o e Nam struct motor { float volts; float amps; int phases; float rpm; }; typedef struct motor; • E. g. ,
struct • E. g. , struct motor { float volts; Members of the float amps; struct int phases; float rpm; }; typedef struct motor;
struct • Mendefinisikan tipe data baru • E. g. , struct motor { si float volts; a r a kl e d n float amps; at a a g s a en a d d a p int phases; r p cuku or saj a g t A l o e b m float rpm; a vari anggil }; mem typedef struct motor;
Menggunakan tipe data baru motor p, q, r; • Mendefinisikan tiga variable – p, q, dan r – masing bertipe data motor M[25]; • Mendeklarasikan array M berisi 25 data bertipe motor *m; • Mendeklarasikan variabel pointer yang menyimpan alamat slot memori yang berisi data bertipe motor
Mengakses anggota struct • Deklarasi motor p; motor q[10]; nama_var_struct. nama_var_elemen; • Maka p. volts p. amps p. phases p. rpm — is the voltage — is the amperage — is the number of phases — is the rotational speed q[i]. volts q[i]. rpm — is the voltage of the ith motor — is the speed of the ith motor
Contoh (Ubah menjadi c++) 10
Nested Struct • Sebuah kondisi dimana di dalam sebuah struct terdapat tipe data berupa struct lagi. 11
Nested Struct • Contoh (Ubah ke C++) 12
Array of Struct • Sebuah array yang setiap data elemennya bertipe struct. Umumnya dipakai untuk menyimpan object data yang terstruktur, misal: data mahasiswa, karyawan, buku, barang, dsb. 13
Array of Struct 14
Mengakses elemen struct menggunakan pointer • Deklarasi motor *p; • Maka em m pa ? ) ( i aka ga n e M (*p). volts — is the voltage of the motor pointed to by p (*p). phases — is the number of phases of the motor pointed to by p
Mengakses elemen struct menggunakan pointer • Notasi (*p). member kurang nyaman dipakai • Cara yang lebih singkat – p->member, di mana p merupakan variabel pointer
Contoh sebelumnya menjadi … • Deklarasi motor *p; • Maka — is the voltage of the motor pointed to by p p -> phases — is the number of phases of the motor pointed to by p p -> volts
contoh struct motor { float volts; float amps; }; typedef struct motor; int main() { motor m 1; motor *pm 1; m 1. volts = 100; m 1. amps = 110; pm 1 = &m 1; cout << “voltase motor m 1 : “ << m 1. volts; cout << “namps motor m 1 : “ << m 1. amps; cout << “nvoltase motor m 1 : “ << pm 1 ->volts; cout << “namps motor m 1 : “ << pm 1 ->amps; getch(); }
Hasil eksekusi program
Operasi pada struct • Copy/assign struct motor p, q; p = q; • Get address struct motor p; struct motor *s s = &p; • Access members p. volts; s -> amps;
Example ! l a g s le i s struct item { i h T ! s e char *s; Y struct item *next; } • • Sebuah item dapat berisi alamat item lain… … yang dapat menunjuk item lain … yang juga dapat menunjuk item yang lain lagi … etc. Dengan demikian membentuk rangkaian item!!!