• Tidak ada hasil yang ditemukan

Think Different Tugas ASD : Pointer to Struct

N/A
N/A
Protected

Academic year: 2017

Membagikan "Think Different Tugas ASD : Pointer to Struct"

Copied!
15
0
0

Teks penuh

(1)

Algoritma dan Struktur Data

(2)

Definition —

Structure

• Beberapa variabel (dapat berbeda tipe)

(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

};

(4)

struct

• E.g.,

struct motor { float volts; float amps; int phases; float rpm; };

typedef struct motor motor;

Name of

(5)

struct

• E.g.,

struct motor { float volts; float amps; int phases; float rpm; };

typedef struct motor motor;

Members of the

(6)

struct

• Mendefinisikan tipe data baru

• E.g.,

struct motor {

float volts;

float amps;

int phases;

float rpm;

};

typedef struct motor motor;

Agar pa

da saat d

eklarasi

variabel

cukup d

engan

memangg

il motor

(7)

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;

(8)

Mengakses anggota

struct

• Deklarasi

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 — is the voltage of the ith motor

(9)

Mengakses elemen

struct

menggunakan pointer

• Deklarasi

motor *p;

• Maka

(*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

Mengapa

memakai

(10)

Mengakses elemen

struct

menggunakan pointer

• Notasi

(*p).member

kurang nyaman

dipakai

• Cara yang lebih singkat

p->member

, di mana p merupakan variabel

(11)

Contoh sebelumnya menjadi …

• Deklarasi

motor *p;

• Maka

p -> volts — is the voltage of the motor pointed

to by p

(12)

contoh

struct motor { float volts; float amps; };

typedef struct motor motor; void main()

{

motor m1; motor *pm1;

m1.volts = 100; m1.amps = 110;

pm1 = &m1;

printf("voltase motor m1 : %f\n", m1.volts); printf("amps motor m1 : %f\n", m1.amps); printf("voltase motor m1 : %f\n", pm1->volts); printf("amps motor m1 : %f", pm1->amps);

(13)
(14)

Operasi pada

struct

• Copy/assign

struct motor p, q; p = q;

• Get address

struct motor p; struct motor *s s = &p;

• Access members

(15)

Example

struct item {

char *s;

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!!!

Yes! Thi

Referensi

Dokumen terkait

• Queue merupakan linear list di mana data dimasukkan melalui sebuah ujung yang.. disebut end/rear dan dihapus dari ujung lain yang

Dengan memperhatikan persoalan di atas, sebenarnya simulasi ini selain berisi antrian juga berisi tumpukan, yakni pada saat sebuah mobil yang berada di 37 tengah akan

Bagaimana cara mengakses data yang alamatnya disimpan oleh variabel pointer?. Apa

menggunakan pointer, dimana setiap node memiliki 3 field, yaitu 1 field pointer yang menunjuk pointer berikutnya (next), 1 field menunjuk pointer sebelumnya (prev), serta sebuah

node yang didelete memiliki 1 anak berwarna merah maka ganti warna anak tersebut menjadi hitam. • Jika proses delete tersebut

Data dari element paling belakang akan menjadi return value (nilai yang dikembalikan). Pergeseran

 Teknik menyusuri tiap node dalam sebuah tree secara sistematis, sehingga semua node dapat dan hanya satu kali saja dikunjungi3.  Ada tiga

Struct merupakan tipe yang menghimpun sejumlah data dengan tipe yang berbeda-beda sehingga data yang diletakkan dalam sebuah struct adalah data yang terkait. Di dalam