algoritma dan pemrograman 2 - reezeki2011 pointer • pointer adalah variabel yang nilainya...

Post on 18-Apr-2018

251 Views

Category:

Documents

7 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ALGORITMA DAN PEMROGRAMAN 2

3 SKS By : Sri Rezeki Candra Nursari

MATERI

• Teks/string• Pointer• Struktur• Kelas• Konstruktor dan

Destruktor• Kelas dan Obyek• Overloading Operator

• Inheritance (Pewarisan)• Polimorfisme • Template Fungsi dan

Kelas• File• Sort• Search

POINTER

Pertemuan 02

3 SKS

Alamat dan Pointer• Pointer berisi alamat bukan data, sedang variabel

berisi data• Suatu pointer dalam program dimaksudkan untuk

menunjuk ke suatu alamat memori• Alamat suatu variabel dapat diketahui dengan

menambahkan operator alamat berupa simbol ‘&’ didepan nama variabel

• Notasi 0x pada alamat variabel menyatakan notasi heksadesimal

Programcontoh 01

Algoritma.........?????Pseudocode.......??????

Mendefinisikan Pointer• Pointer adalah variabel yang nilainya merupakan

address dari variabel yang lain• Penggunaan pointer akan menjadi fatal apabila suatu

pointer tidak mempunyai arah yang terdefinisi• Apabila mendefinisikan suatu variabel menjadi

pointer, maka variabel tersebut mengandung address tempat variabel tersebut akan dialokasikan, tetapi bukan nilai address itu sendiri– Contoh :

• Y sebuah variabel dengan type integer dan Y menunjuk ke PX.– PX = *X– Y = *PX

Mendefinisikan Pointer• Syntaks :

tipe_data *nama_variabel;• tipe_data seperti pada tipe data variabel biasa

nama_variabel adalah nama dari variabel pointer• Contoh :

– int *pint;– char *pchar1, *pchar2;– float *pfl;

Perbedaan Pointer vs Referensi• Referensi :

– merupakan alias dari suatu variabel– Referensi yang digunakan sebagai argumen berguna untuk

mengubah nilai argumen dalam fungsi, tetapi dengan menambahkan operator & didepan nama argumen

• Pointer :– merupakan alamat dari suatu variabel– merupakan mekanisme yang biasa digunakan pada bahasa C

untuk mengubah nilai dari dalam fungsi– Pointer yang digunakan sebagai argumen berguna untuk

mengubah nilai argumen dalam fungsi

Mengisi dan Mengakses Variabel Pointer

• Variabel pointer harus diisi dengan alamat dari variabel yang ditunjuk supaya dapat menunjuk ke variabel tersebut

• Contoh:int vint = 63;int *pint;pint = &vint; pint diisi dengan alamat dari vint

• Nilai vint dapat diakses melalui pint dengan menggunakan operator *cout << pint; memunculkan alamat vintcout << *pint; memunculkan nilai vint yaitu 63*pint = 66; merubah nilai vint menjadi 66

Program contoh 02

Algoritma.........?????Pseudocode.......??????

Pointer void

• Merupakan Pointer yang tak bertipe• Dengan meletakkan kata kunci void pada

bagian penentu tipe pointer• Contoh

–Void *x–Merupakan pernyataan untuk

mendefinisikan x sebagai variabel pointer void

Program contoh 03

Algoritma.........?????Pseudocode.......??????

Array Pointer

• Dapat digunakan untuk menyimpan sejumlah pointer

• Contoh–char *namahari[7]

• Mendefinisikan array nama hari yang berisi 7 buah elemen berupa pointer

• Pointer ini menunjuk ke data yang bertipe char

Program contoh 04

Algoritma.........?????Pseudocode.......??????

Pointer

• Pointer terbagi menjadi “1. Pointer dan variabel statis

a. Pointer menunjuk variabel datab. Pointer menunjuk pointer

2. Pointer dan variabel dinamisa. Pointer menunjuk variabel data dinamis

tunggalb. Pointer menunjuk struktur

1.a. Pointer menunjuk variabel data

• Program ini menyiapkan variabel dalam memory– Nama : n – Type data : integer – Kemudian mengisi variabel n dengan nilai integer 44– Pointer pn, menyimpan alamat variabel n

Programcontoh 05

Algoritma.........?????Pseudocode.......??????

Programcontoh 06

Algoritma.........?????Pseudocode.......??????

1.b. Pointer menunjuk pointer

• Program ini menyiapkan variabel dalam memory– Nama : n – Type data : integer – Kemudian mengisi variabel n dengan nilai integer 44– Pointer pn, menyimpan alamat variabel n

Program contoh 07

Output

Algoritma.........?????Pseudocode.......??????

2.a. Pointer menunjuk variabel data dinamis tunggal

• Program ini menyiapkan variabel dalam memory– Pointer pn, menunjuk suatu tempat (area) dimana area

tersebut tidak diberi nama – Atau Pointer pn, mengisi variabel dengan nilai integer 44

• Dikatakan dinamis karena dapat disiapkan/disisip dan dapat dihapus pada saat program sedang dijalankan

• Program yang dapat membentuk sebuah area tanpa nama seukuran (sizeof), dimana alamat area dicatat dalam pointer pn

Programcontoh 08

Algoritma.........?????Pseudocode.......??????

2.b. Pointer menunjuk struktur

• Yang bersifat dinamis, bukan saja sebuah variabel tunggal, tapi dapat juga merupakan suatu structure variabel

• Pointer P dan pointer Q, disiapkan untuk menunjuk (mencatat alamat/address) structure variabel yanng biasa disebut node.

• Dalam struktur terdiri dari 2 variabel, yaitu NilaiUTS dan NilaiUAS

• Untuk menunjuk sebuah elemen, pointer menggunakan tanda panah. Tanda panah ini dibuat dengan dua karakter yaitu tanda kurang (-) dan tanda lebih besar (>)

Programcontoh 09

Algoritma.........?????Pseudocode.......??????

Tugas Teori Pertemuan 02 1. Apa yang Anda ketahui tentang pointer2. Jelaskan fungsi simbol & pada C++

penggunaan pointer3. Jelaskan fungsi simbol * pada C++

penggunaan pointer4. Apa yang Anda ketahui tentang NULL Pointer

top related