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

35
ALGORITMA DAN PEMROGRAMAN 2 3 SKS By : Sri Rezeki Candra Nursari

Upload: dophuc

Post on 18-Apr-2018

251 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

ALGORITMA DAN PEMROGRAMAN 2

3 SKS By : Sri Rezeki Candra Nursari

Page 2: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

MATERI

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

Destruktor• Kelas dan Obyek• Overloading Operator

• Inheritance (Pewarisan)• Polimorfisme • Template Fungsi dan

Kelas• File• Sort• Search

Page 3: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

POINTER

Pertemuan 02

3 SKS

Page 4: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

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

Page 5: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

Programcontoh 01

Page 6: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

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

Page 7: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

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

Page 8: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

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;

Page 9: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

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

Page 10: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

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

Page 11: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

Program contoh 02

Page 12: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

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

Page 13: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

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

Page 14: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

Program contoh 03

Page 15: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

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

Page 16: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

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

Page 17: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

Program contoh 04

Page 18: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

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

Page 19: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

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

Page 20: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

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

Page 21: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

Programcontoh 05

Page 22: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

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

Page 23: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

Programcontoh 06

Page 24: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

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

Page 25: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

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

Page 26: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

Program contoh 07

Page 27: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

Output

Page 28: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

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

Page 29: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

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

Page 30: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

Programcontoh 08

Page 31: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

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

Page 32: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

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

Page 33: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

Programcontoh 09

Page 34: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

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

Page 35: ALGORITMA DAN PEMROGRAMAN 2 - reezeki2011 Pointer • Pointer adalah variabel yang nilainya merupakan address dari variabel yang lain • Penggunaan pointer akan menjadi fatal apabila

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