Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

POINTERS 1 Pemrograman Dasar. Memory 2 Memory merupakan ruang penyimpanan informasi di dalam komputer. Memory dalam komputer dibagi ke dalam satuan-satuan.

Presentasi serupa


Presentasi berjudul: "POINTERS 1 Pemrograman Dasar. Memory 2 Memory merupakan ruang penyimpanan informasi di dalam komputer. Memory dalam komputer dibagi ke dalam satuan-satuan."— Transcript presentasi:

1 POINTERS 1 Pemrograman Dasar

2 Memory 2 Memory merupakan ruang penyimpanan informasi di dalam komputer. Memory dalam komputer dibagi ke dalam satuan-satuan kecil yang disebut Byte. Masing-masing byte pada memory memiliki alamat tersendiri. Komputer mengakses (baca atau tulis) memory dengan menggunakan alamat tersebut.

3 Pointer 3 Pointer seperti variabel, menyimpan suatu nilai. Hanya saja, nilai yang disimpan di dalam pointer adalah berupa alamat memori.

4 Operator referensi 4 Untuk melihat alamat memori suatu variabel, kita dapat menggunakan operator referensi : " & ". Misalkan pernyataan: abc = &def; Menugaskan nilai alamat variabel def ke dalam abc.

5 Alamat memory variabel 5 void main() { int abc = 5; float def = 7.5; double ghi = ; cout<<"Isi variabel :"<

6 Deklarasi Pointer 6 Suatu variabel pointer dideklarasikan sebagai berikut: tipeData* namaPointer; Contoh: int *a; float *b, *c; // bukan float *b, c;

7 Deklarasi pointer 7 Agar pointer menunjuk ke variabel lain, mula-mula harus diisi dengan alamat suatu variabel. Contoh: int nilai; int *pNilai; Pointer pNilai diatur agar menunjuk ke variabel a dengan cara: pNilai = &nilai;

8 Operator dereferensi 8 Untuk mengakses nilai yang berada pada alamat yang ditunjuk oleh pointer, kita menggunakan operator " * ". Contoh: int nilai = 20; int *pNilai; pNilai = &nilai; cout<< *pNilai <

10 Contoh 10 int main () { int abc, def; int *tunjuk; tunjuk = &abc; *tunjuk = 10; tunjuk = &def; *tunjuk = 20; cout << "nilai abc: " << abc << endl; cout << "nilai def: " << def << endl; system("pause"); return 0; }

11 Pointer 11 Misalkan terdapat potongan kode program seperti berikut: int andy, fred; int *ted; andy = 25; fred = andy; ted = &andy; Maka nilai tiap variabel setelah itu adalah:

12 Pointer 12 Jika program sebelumnya dilanjutkan dengan: int beth; beth = *ted; Maka isi masing-masing variabel adalah: Keterangan tambahan: beth=ted; // beth sama dengan ted (1776) beth=*ted; //beth adalah nilai yang ditunjuk oleh ted (25)

13 Inisialisasi pointer 13 Suatu pointer dapat langsung diisi nilai saat deklarasi. Caranya: int angka; int *pAngka = &angka; Pernyataan ini ekivalen dengan: int angka; int *pAngka; pAngka = &angka; Dan BERBEDA dengan: int angka; int *pAngka; *pAngka = &angka;

14 Uji pemahaman 14 Terka output program berikut: int main () { int abc = 5, def = 15; int *p1, *p2; p1 = &abc;//p1=alamat abc p2 = &def;//p2=alamat def *p1 = 10; //nilai yang ditunjuk p1=10 *p2 = *p1; //nilai yang ditunjuk p2=nilai yang ditunjuk p1 p1 = p2; //p1=p2 (nilai pointer disalin) *p1 = 20; // nilai yang ditunjuk p1=20 cout << "isi abc " << abc << endl; cout << "isi def " << def << endl; system("pause"); return 0; }

15 Pointer dan Array 15 Pointer dan array mempunyai hubungan yang dekat. Secara internal, array juga menyatakan alamat. Misalkan terdapat suatu array dan suatu pointer: int angka [5]; int *pArray; Maka agar pointer pArray menunjuk ke array angka, pernyataan yang valid adalah: pArray = angka; Sebaliknya, pernyataan pArray = &angka; menjadi tidak valid karena array angka juga merupakan suatu identifier yang menyatakan alamat.

16 Pointer dan Array 16 Meskipun pArray = angka; boleh dilakukan, perintah angka = pArray tidaklah valid. Hal ini karena tidak seperti alamat pada pointer pArray, alamat pada array angka tidak dapat diubah. Suatu array dapat dipandang sebagai konstanta pointer.

17 Pointer dan Array 17 Setelah baris pArray = angka, maka: Identifier angka[0] sama dengan *pArray. Identifier angka[1] sama dengan *(pArray+1). Identifier angka[2] sama dengan *(pArray+2). Array pointer juga dapat digeser. Misalkan mula-mula pArray menunjuk pada angka[0], maka: int angka[5] = {1,2,3,4,5}; int *pArray = angka; cout<<*pArray<

18 Contoh array pointer 18 int main () { int angka[5]; int * p; p = angka; *p = 10; p++; *p = 20; p = &angka[2]; *p = 30; p = angka + 3; *p = 40; p = angka; *(p+4) = 50; for (int n=0; n<5; n++) cout << angka[n] <

19 Thank You for your attention 19 Thanks to: cplusplus.com Pemrograman C++ by Abdul Kadir Yoannita S.Kom & Hermawan S.Kom  Sumber slide


Download ppt "POINTERS 1 Pemrograman Dasar. Memory 2 Memory merupakan ruang penyimpanan informasi di dalam komputer. Memory dalam komputer dibagi ke dalam satuan-satuan."

Presentasi serupa


Iklan oleh Google