Think Different Materi ASD (SISKOM)
Algoritma dan Struktur Data
Pointer Pada Struct
Definition — Structure
• Beberapa variabel (dapat berbeda tipe)
yang dikelompokkan menjadi satu dengan
sebuah nama baru
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 motor;
struct
• E.g.,
t
f
o
e
m
a
N
pe
y
t
he
struct motor {
float volts;
float amps;
int phases;
float rpm;
};
typedef struct motor motor;
struct
• E.g.,
struct motor {
float volts;
Members of the
float amps;
struct
int phases;
float rpm;
};
typedef struct motor motor;
struct
• Mendefinisikan tipe data baru
• E.g.,
struct motor {
si
a
r
float volts;
a
kl
e
d
at
an
a
float amps;
g
s
n
da up de ja
a
p
r
a
k
s
a
int phases;
u
g
r
c
o
A
l
t
e
o
b
m
a
float rpm;
vari anggil
mem
};
typedef struct motor motor;
Menggunakan tipe data baru
motor p, q, r;
• Mendefinisikan tiga variable – p, q, dan r – masing
masing bertipe data motor
motor M[25];
• Mendeklarasikan array M berisi 25 data bertipe
motor
motor *m;
• Mendeklarasikan variabel pointer yang menyimpan
alamat slot memori yang berisi data bertipe motor
Mengakses anggota struct
• Deklarasi
nama_var_struct . nama_var_elemen;
motor p;
motor q[10];
• Maka
p.volts
— is the voltage
p.amps — is the amperage
p.phases
— is the number of phases
p.rpm
— is the rotational speed
q[i].volts
q[i].rpm
— is the voltage of the ith motor
— is the speed of the ith motor
10
• Sebuah kondisi dimana di dalam sebuah struct terdapat tipe data
berupa struct lagi.
11
• Contoh (Ubah ke C++)
12
• Sebuah array yang setiap data elemennya bertipe struct.
Umumnya dipakai untuk menyimpan object data yang terstruktur,
misal: data mahasiswa, karyawan, buku, barang, dsb.
13
14
Mengakses elemen struct
menggunakan pointer
• Deklarasi
motor *p;
•
i ()
a
k
ma
?
e
m
a
Maka
ap
g
n
Me
(*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 motor;
int main()
{
motor m1;
motor *pm1;
m1.volts = 100;
m1.amps = 110;
pm1 = &m1;
cout
Pointer Pada Struct
Definition — Structure
• Beberapa variabel (dapat berbeda tipe)
yang dikelompokkan menjadi satu dengan
sebuah nama baru
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 motor;
struct
• E.g.,
t
f
o
e
m
a
N
pe
y
t
he
struct motor {
float volts;
float amps;
int phases;
float rpm;
};
typedef struct motor motor;
struct
• E.g.,
struct motor {
float volts;
Members of the
float amps;
struct
int phases;
float rpm;
};
typedef struct motor motor;
struct
• Mendefinisikan tipe data baru
• E.g.,
struct motor {
si
a
r
float volts;
a
kl
e
d
at
an
a
float amps;
g
s
n
da up de ja
a
p
r
a
k
s
a
int phases;
u
g
r
c
o
A
l
t
e
o
b
m
a
float rpm;
vari anggil
mem
};
typedef struct motor motor;
Menggunakan tipe data baru
motor p, q, r;
• Mendefinisikan tiga variable – p, q, dan r – masing
masing bertipe data motor
motor M[25];
• Mendeklarasikan array M berisi 25 data bertipe
motor
motor *m;
• Mendeklarasikan variabel pointer yang menyimpan
alamat slot memori yang berisi data bertipe motor
Mengakses anggota struct
• Deklarasi
nama_var_struct . nama_var_elemen;
motor p;
motor q[10];
• Maka
p.volts
— is the voltage
p.amps — is the amperage
p.phases
— is the number of phases
p.rpm
— is the rotational speed
q[i].volts
q[i].rpm
— is the voltage of the ith motor
— is the speed of the ith motor
10
• Sebuah kondisi dimana di dalam sebuah struct terdapat tipe data
berupa struct lagi.
11
• Contoh (Ubah ke C++)
12
• Sebuah array yang setiap data elemennya bertipe struct.
Umumnya dipakai untuk menyimpan object data yang terstruktur,
misal: data mahasiswa, karyawan, buku, barang, dsb.
13
14
Mengakses elemen struct
menggunakan pointer
• Deklarasi
motor *p;
•
i ()
a
k
ma
?
e
m
a
Maka
ap
g
n
Me
(*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 motor;
int main()
{
motor m1;
motor *pm1;
m1.volts = 100;
m1.amps = 110;
pm1 = &m1;
cout