POINTER. Outline Pointer dan Struktur Pointer dan Array Pointer dan Function.

21
POINTER

Transcript of POINTER. Outline Pointer dan Struktur Pointer dan Array Pointer dan Function.

Page 1: POINTER. Outline Pointer dan Struktur Pointer dan Array Pointer dan Function.

POINTER

Page 2: POINTER. Outline Pointer dan Struktur Pointer dan Array Pointer dan Function.

Outline

• Pointer dan Struktur• Pointer dan Array• Pointer dan Function

Page 3: POINTER. Outline Pointer dan Struktur Pointer dan Array Pointer dan Function.

Pointer dan Struktur(Step-By-Step)

1. Seperti diketahui, deklarasi struktur sbb :struct tag {

char Fname[20]; char Lname[20]; int age;

};

Page 4: POINTER. Outline Pointer dan Struktur Pointer dan Array Pointer dan Function.

Pointer dan Struktur2. Deklrasikan sebuah variable pointer

struct tag *st_ptr; 3. Deklarasikan variable struktur

struct tag my_struct; 4. Mengarahkan pointer kepada variable struktur

st_ptr = &my_struct; 5. Mengakses / memberi nilai melalui de-referensi pointer. Model Integer

(*st_ptr).age = 63; atau st_ptr->age = 63; atau

Model Char strcpy(st_ptr->nama,"Agus");

Page 5: POINTER. Outline Pointer dan Struktur Pointer dan Array Pointer dan Function.

LatihanPointer dan Struktur

• Buatlah struktur ttg mhs (nama, usia, alamat)• Berikan nilai terhadap mhs tsb

(inisialiasi/input)• Tampilkan hasil isian nilai tsb

Page 6: POINTER. Outline Pointer dan Struktur Pointer dan Array Pointer dan Function.

Kebimbangan :

1. Cara mengakses atribut salah :

scanf(“%d”, usia); apa salahnya ?

usia itu ada didalamnya struktur, sehingga harus diawali dengan nama strukturnya

scanf(“%d”, st_ptr->usia);

Page 7: POINTER. Outline Pointer dan Struktur Pointer dan Array Pointer dan Function.

Kebimbangan :2. Cara memasukkan Nilai

(*st_ptr).usia = 63; Atau

scanf(“%d”, st_ptr->usia);

Solusinya ? Pilih salah satu

Page 8: POINTER. Outline Pointer dan Struktur Pointer dan Array Pointer dan Function.

Pointer dan Array

1. Seperti diketahui, deklarasi pointer sbb :int *ptr;

2. Mendeklarasikan array :int my_array[] = {1,23,17,4,-5,100};

Page 9: POINTER. Outline Pointer dan Struktur Pointer dan Array Pointer dan Function.

Pointer dan Array

3. Mengarahkan pointer ke array elemen pertama

ptr = &my_array[0]; Atau

ptr = my_array;

Tapi tidak boleh dibalik seperti ini : my_array = ptr;

Page 10: POINTER. Outline Pointer dan Struktur Pointer dan Array Pointer dan Function.

`

4. Menampilkan Nilai Array, ada 2 cara pilihan :1.Melalui : variable array

cout<<my_array[1]; Atau 2. Melalui : variable pointer

(recommended) cout<< *(ptr+1);

Page 11: POINTER. Outline Pointer dan Struktur Pointer dan Array Pointer dan Function.

Pertanyaan

Piye carane datane array kuwi, diketokke nang layar monitor, umpamane tampilane koyo ngisor iki :

Array ke 0 = 1 Array ke 1 = 23Array ke 2 = 17Array ke 3 = 4Array ke 4 = -5Array ke 5 = 100

Page 12: POINTER. Outline Pointer dan Struktur Pointer dan Array Pointer dan Function.

Pointer dan Array#include <iostream.h> int my_array[] = {12,23,17,43,-5,10}; //Deklarasi Arrayint *ptr; //Deklarasi pointerint main(void){ int i; ptr = &my_array[0]; // mengarahkan pointer ke array ke 0 for (i = 0; i < 6; i++) {

cout<<" ptr + "<< i<<" = "<< *(ptr+i)<<"\n"; }}

Page 13: POINTER. Outline Pointer dan Struktur Pointer dan Array Pointer dan Function.

Kegalauan

1. Menampilkan semua elemen array.SALAH : perintahnya satu persatu

cout<<*(ptr+0); cout<<*(ptr+1); cout<<*(ptr+2); cout<<*(ptr+3);

BENAR : gunakan perulangan (for / while) for (i = 0; i < 4; i++) { cout<<*(ptr+i); }

Page 14: POINTER. Outline Pointer dan Struktur Pointer dan Array Pointer dan Function.

Next Weekmaterial

Pointer and FunctionPrepare, please!

Page 15: POINTER. Outline Pointer dan Struktur Pointer dan Array Pointer dan Function.

Pointer dan Function

1. Variable pointer dapat didefinisikan (deklarasikan) sebagai lokal maupun global

2. Juga variable pointer dapat didefinisikan (deklarasikan) sebagai parameter didalam sebuah function

Page 16: POINTER. Outline Pointer dan Struktur Pointer dan Array Pointer dan Function.

Letak Deklarasi

• GlobalDiletakkan diatas program utama dan diluarFunction.

• LokalDiletakkan didalam program utama atau didalamFunction.

• ParameterDiletakkan didalam nama function

Page 17: POINTER. Outline Pointer dan Struktur Pointer dan Array Pointer dan Function.

Contoh Deklarasi Global

Variable my_struct dan *st_ptr

Page 18: POINTER. Outline Pointer dan Struktur Pointer dan Array Pointer dan Function.

Contoh Deklarasi Lokal

Variable my_struct dan *st_ptr

Page 19: POINTER. Outline Pointer dan Struktur Pointer dan Array Pointer dan Function.

Contoh Deklarasi Parameter

Variable pointer *p bertipe struct tag

Page 20: POINTER. Outline Pointer dan Struktur Pointer dan Array Pointer dan Function.

void show_name(struct tag *p, int x, int y){

}

Si pemanggil function :Show_name (st_ptr, 9,4);

Page 21: POINTER. Outline Pointer dan Struktur Pointer dan Array Pointer dan Function.