pointer. outline pointer dan struktur pointer dan array pointer dan function

21
POINTER

Upload: joe-pearsall

Post on 14-Dec-2015

284 views

Category:

Documents


6 download

TRANSCRIPT

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