SlideShare a Scribd company logo
Pertemuan 11
Cendana25.blogspot.com
8/5/2017
Menny
cendana25.blogspot.com
POINTER
8/5/2017
Menny
cendana25.blogspot.com
Mengenalkan pointer untuk mengakses data. Diharapkan mahasiswa
dapat mengerti pointer untuk berbagai kepentingan pemrograman
MATERI
Pointer adalah variabel yang berisi alamat suatu data. Hal ini yang
membedakan pointer dengan variabel non pointer data(bukan alamat data)
8/5/2017
Menny
cendana25.blogspot.com
Int p; // non pointer Int *p; //pointer
Ya, pointer memang berisi alamat. Melalui hal ini, dimungkinkan untuk mengubah isi
argument pada pemanggilan fungsi oleh fungsi. Selain itu pointer memungkinkan
pembuatan struktur seperti antrian ataupun senarai berantai, yang memungkinkan
data dapat ditambah atau di kurangi secara dinamis
8/5/2017
Menny
cendana25.blogspot.com
Cara menggunakan pointer
POINTER berisi alamat ? Manfaatnya apa ?
Cara mendeklarasikan pointer dan mengisikan nilai ke dalam variabel pointer.
Deklarasi pointer sebagai berikut:
Tipe *variabelpointer
Contoh:
8/5/2017
Menny
cendana25.blogspot.com
Int *pbil;
Contoh ini menyatakan pointer pbil
yang akan menunjuk data bertipe int
Int bilx = 77;
Akses melalui pointer Akses melalui non-pointer
*pbil=32; Bilx = 32;
*pbil = *pbil-2 Bilx= bilx-2
Cout<< *pbil<<endl; Cout <<bilx <<endl;
Cin>> *pbil; Cin >> bilx;
Pengaksesan data melalui variabel pointer dan no-pointer
latihan
8/5/2017
Menny
cendana25.blogspot.com
#include <iostream>
using namespace std;
int main() {
int *pBil;
int bilX = 77;
pBil = &bilX;
cout << "Isi bilX = " << bilX << endl;
cout << "Nilai yang ditunjuk pBil = "
<< *pBil << endl;
*pBil = *pBil + 3;
cout << "Isi bilX sekarang = " << bilX << endl;
cout << "Nilai yang ditunjuk pBil = "
<< *pBil << endl;
return 0;
}
Apakah isi pointer bissa ditempilkan dengan cout ? Ya, daapat di lihat
pada contoh program berikut ini :
8/5/2017
Menny
cendana25.blogspot.com
#include <iostream>
using namespace std;
int main() {
int *pBil;
int bilX = 77;
pBil = &bilX;
cout << "Isi pBil = " << pBil << endl;
cout << "Nilai yang ditunjuk pBil = "
<< *pBil << endl;
return 0;
}
Mengubah nilai argumen fungsi melalui pointer. Ya, dapat dilihat
pada contoh program berikut:
8/5/2017
Menny
cendana25.blogspot.com
#include <iostream>
using namespace std;
void ubah(int *x);
int main() {
int arg = 12;
cout << "isi arg semula = " << arg << endl;
ubah(&arg);
cout << "isi arg sekarang = " << arg << endl;
return 0;
}
void ubah(int *x) {
*x = 34;
}
Apakah pointer bisa digunakan untuk menunjuk string ? YA, Namun karena
STRING terbagi atas 2 macam maka penganganannya juga berbeda.
8/5/2017
Menny
cendana25.blogspot.com
J 0ZZA
Array Karakter: data
Char *musik=data;
Jazz
String yang ditunjuk ileh pointer musik
String *musik=new string(“JAZZ”);
Pada array karakter, cara untuk mengakses isi array melalui pointer ?
Untuk kepentingan ini kita membutuhkan 2 buah pointer , tujuannya adalahagar
salah satuh pointer tetap menunjukke awal string, sedangkan pointer yg kedua
bisa digesr untuk menunjukkarakter yg diakses; contoh program berikut :
8/5/2017
Menny
cendana25.blogspot.com
#include <iostream>
using namespace std;
int main() {
char data[] = "Jazz";
char *musik = data;
char *tmp; // Pointer yang menunjuk ke char
tmp = musik; // Pointer tmp menunjuk ke data
// yang ditunjuk oleh musik
int indeks = 0;
while (tmp[indeks]) {
cout << tmp[indeks] << endl;
indeks++;
}
return 0;
}
8/5/2017
Menny
cendana25.blogspot.com
musik J 0ZZA
temp
while (tmp[indeks]) {
cout << tmp[indeks] << endl;
indeks++;
}
Temp [0]
Temp [1] Temp [2] Temp [3] Temp [4]
Contoh lain program untuk mengakses karakter yg ditunjuk pointer:
8/5/2017
Menny
cendana25.blogspot.com
#include <iostream>
using namespace std;
int main() {
char data[] = "Jazz";
char *musik = data;
char *tmp; // Pointer yang menunjuk ke char
tmp = musik; // Pointer tmp menunjuk ke data
// yang ditunjuk oleh musik
int indeks = 0;
while (*tmp) {
cout << *tmp << endl;
tmp++;
}
return 0;
}
Contoh program yang terdiri dari elemen-elemen array bertipe int
8/5/2017
Menny
cendana25.blogspot.com
#include <iostream>
using namespace std;
int main() {
int bilangan[] = {77, 66,55, 44, 33, 22, 11};
int *ptr = bilangan;
int jumData = sizeof(bilangan) / sizeof(int);
cout << "Cara pertama:" << endl;
for (int i = 0; i < jumData; i++)
cout << *(ptr + i) << endl;
cout << "Cara kedua:" << endl;
for (int i = 0; i < jumData; i++)
cout << ptr[i] << endl;
return 0;
}
Dapatkah suatu array berisi pointer ?
Cth: string *mermobil[5]
8/5/2017
Menny
cendana25.blogspot.com
HONDA
MITSUBISHI
KIA
HYUNDAI
TOYOTA
Array merkmobil
Tipe string
Contoh program
8/5/2017
Menny
cendana25.blogspot.com
#include <iostream>
using namespace std;
int main() {
string *merkMobil[5];
// Pengisian ke pointer
merkMobil[0] = new string ("Honda");
merkMobil[1] = new string("Hyundai");
merkMobil[2] = new string("Kia");
merkMobil[3] = new string("Mitsubishi");
merkMobil[4] = new string("Toyota");
for (int i = 0; i < 5; i++)
cout << *merkMobil[i] << endl;
return 0;
}
Apa yang dimaksud dengan pointer 0 ?
Adalah pointer yg tidak menunjuk ke data manapun. Nilainya
diisi dengan nol atauNULL
contoh:
int *p;
p=0;
8/5/2017
Menny
cendana25.blogspot.com
Pointer yang menunjuk ke suatu fungsi adalah untuk melewatkan fungsi
sebagai argumen. Dalam argumen fungsi pointer yg menunjuk ke fungsi
ditulis dengan bentuk :
Tipe (*fungsi)(argumen1, argumen2…)
Perhatikan contoh program berikut ini:
8/5/2017
Menny
cendana25.blogspot.com
#include <iostream>
using namespace std;
// Prototipe
int penjumlahan (int a, int b);
int pengurangan (int a, int b);
int operasi (int x, int y, int
(*panggilFungsi)(int,int));
int main () {
int m,n;
int (*minus)(int,int) = pengurangan;
m = operasi (7, 5, penjumlahan);
n = operasi (20, m, minus);
cout << n;
return 0;
}
int penjumlahan (int a, int b) {
return (a+b);
}
int pengurangan (int a, int b) {
return (a-b);
}
int operasi (int x, int y, int
(*panggilFungsi)(int,int)) {
int hasil;
hasil = (*panggilFungsi)(x,y);
return (hasil);
}
Pointer yang munjuk ke pointer:
8/5/2017
Menny
cendana25.blogspot.com
ptr1 ptr2 Just the way you are
Pointer ptr1 menunjuk ke pointer ptr2
Contoh program berikut ini:
8/5/2017
Menny
cendana25.blogspot.com
#include <iostream>
using namespace std;
int main() {
string lagu = "Just The Way You Are";
string *ptr2; // satu tanda *
string **ptr1; // dua tanda ** // Buat hubungan antara
pointer dan data
// yang ditunjuk
ptr2 = &lagu;
ptr1 = &ptr2; // Tampilkan data
cout << "Via ptr2: " << *ptr2 << endl;
cout << "Via ptr1: " << **ptr1 << endl;
return 0;
}
Pointer bisa menjadi nilai balik fungsi
8/5/2017
Menny
cendana25.blogspot.com
#include <iostream>
using namespace std;
char *posisiKar(char str[], char kar);
int main() {
char teks[] = {"Tes...tes...123"};
// Tampilkan mulai posisi pointer hingga
// karakter null dijumpai
char *ptr = posisiKar(teks, 't');
while (*ptr != '0') {
cout << *ptr;
ptr++;
}
cout << endl;
return 0;
}
char *posisiKar(char str[], char kar) {
char *ptr = str;
do {
if (*ptr == kar)
break;
ptr++;
} while (*ptr != '0');
return ptr;
}
Algoritma&Pemrograman C++ Pertemuan 11

More Related Content

PDF
3. Pointer dan List Berkait Singly
PDF
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
PDF
MATERI POINTER TKJ K13
PPT
Pointer
PDF
Pembahasan Soal Perulangan : Pola Bintang
PDF
Pointer c++
PPT
Pointer
PDF
2. Array of Record (Struktur Data)
3. Pointer dan List Berkait Singly
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
MATERI POINTER TKJ K13
Pointer
Pembahasan Soal Perulangan : Pola Bintang
Pointer c++
Pointer
2. Array of Record (Struktur Data)

What's hot (17)

DOCX
Laporan
PPT
Pengenalan Bahasa C
PDF
8 Data Record
PPT
Pertemuan 8
PPTX
Topik 10 Fungsi
PPTX
11 operasi dasar masukan dan keluaran
PPT
Materi kuliah 22 pointer part 2
PPT
Pertemuan 5 : Algoritma & Pemrograman
PPT
Materi kuliah 22 pointer part 2
PDF
Pertemuan 6 Fungsi String
DOCX
Laporan praktikum modul vii
PPT
Pengenalan Bahasa C++
PPTX
Kelompok 2.3
PPTX
11 operasi dasar masukan dan keluaran
DOCX
Lapopran praktikum struktur data pertemuan 1 Tipe Data
PPT
Fungsi dan Prosedur
PPTX
Materi kuliah 18 fungsi part 1
Laporan
Pengenalan Bahasa C
8 Data Record
Pertemuan 8
Topik 10 Fungsi
11 operasi dasar masukan dan keluaran
Materi kuliah 22 pointer part 2
Pertemuan 5 : Algoritma & Pemrograman
Materi kuliah 22 pointer part 2
Pertemuan 6 Fungsi String
Laporan praktikum modul vii
Pengenalan Bahasa C++
Kelompok 2.3
11 operasi dasar masukan dan keluaran
Lapopran praktikum struktur data pertemuan 1 Tipe Data
Fungsi dan Prosedur
Materi kuliah 18 fungsi part 1
Ad

Similar to Algoritma&Pemrograman C++ Pertemuan 11 (20)

PPTX
Materi Array Dasprog pointer struct.pptx
PDF
Pertemuan 10 Pointer dan Macro
PPTX
Structure and pointer
PPT
PDF
Modul 2 strukdat
PDF
Modul 2 strukdat
PPT
Pertemuan6.ppt
PPTX
Kelompok 6 pemrograman dasasr c++(1).pptx
PPT
9a8439a95ac746c9ad9cbe7e3921bf93___Pertemuanke1tipedasar___27636.ppt
PPTX
pertemuan 3.pptx
PPT
m01-struktur-dasar-contoh dalam bahasa c.ppt
PPT
m01-struktur-dasar-c.ppt
PPT
Spt3102 fungsi(0910)
PPTX
Algoritma&Pemrograman C++ Pertemuan 4
PPTX
Algoritma&Pemrograman C++ Pertemuan 9
PDF
struktur-dasar-c++ OK.pdf
PPTX
Materi kuliah 03 pointer part 1
 
PPTX
Materi kuliah 03 pointer part 1
PPT
PDF
Ix struktur pointer
Materi Array Dasprog pointer struct.pptx
Pertemuan 10 Pointer dan Macro
Structure and pointer
Modul 2 strukdat
Modul 2 strukdat
Pertemuan6.ppt
Kelompok 6 pemrograman dasasr c++(1).pptx
9a8439a95ac746c9ad9cbe7e3921bf93___Pertemuanke1tipedasar___27636.ppt
pertemuan 3.pptx
m01-struktur-dasar-contoh dalam bahasa c.ppt
m01-struktur-dasar-c.ppt
Spt3102 fungsi(0910)
Algoritma&Pemrograman C++ Pertemuan 4
Algoritma&Pemrograman C++ Pertemuan 9
struktur-dasar-c++ OK.pdf
Materi kuliah 03 pointer part 1
 
Materi kuliah 03 pointer part 1
Ix struktur pointer
Ad

More from Menny SN (15)

PPTX
04 materi table
PPTX
03 materi form
PPTX
02 materi dasar html
PPTX
01 pengenalan dasar internet
PDF
Perhitungan Matematika Dasar berbasis Multimedia menggunakan Metode Jarimatik...
PPTX
Algoritma&Pemrograman C++ Operasi string
PPTX
Algoritma&Pemrograman C++ Statemen kendali
PPTX
Algoritma&Pemrograman C++ Pertemuan 12
PPTX
Algoritma&Pemrograman C++ Pertemuan 10
PPTX
Algoritma&Pemrograman C++ Pertemuan 7
PPTX
Algoritma&Pemrograman C++ Pertemuan 6
PPTX
Algoritma&Pemrograman C++ Pertemuan 5
PPTX
Algoritma&Pemrograman C++ Pertemuan 3
PPTX
Algoritma&Pemrograman C++ Pertemuan 1
PPTX
Algoritma dan pemrograman dengan C++ Pertemuan 2
04 materi table
03 materi form
02 materi dasar html
01 pengenalan dasar internet
Perhitungan Matematika Dasar berbasis Multimedia menggunakan Metode Jarimatik...
Algoritma&Pemrograman C++ Operasi string
Algoritma&Pemrograman C++ Statemen kendali
Algoritma&Pemrograman C++ Pertemuan 12
Algoritma&Pemrograman C++ Pertemuan 10
Algoritma&Pemrograman C++ Pertemuan 7
Algoritma&Pemrograman C++ Pertemuan 6
Algoritma&Pemrograman C++ Pertemuan 5
Algoritma&Pemrograman C++ Pertemuan 3
Algoritma&Pemrograman C++ Pertemuan 1
Algoritma dan pemrograman dengan C++ Pertemuan 2

Recently uploaded (20)

PPTX
9ICP - Hubungan antara Pancasila dengan UUD 1945Bhinneka Tunggal Ika.pptx
PDF
2. Capaian-Pembelajaran-Koding-Dan-Kecerdasan-Artifisial-Pusbuk.pdf
PPTX
MATERI NARKOBA RTS badan anti narkoba.pptx
DOCX
Modul Ajar Deep Learning Bahasa Inggris Lanjutan Kelas 11 SMA Terbaru 2025
PPTX
ppt kelas XII materi sifat koligatif larutan
DOCX
Modul Ajar Deep Learning Bahasa Inggris Kelas 12 SMA Terbaru 2025
PPTX
PPT MATERI KODING DAN KECERDASAN ARTIFISIAL UNTUK PEMBELAJARAN
PPTX
PPT Kurikulum Berbasis Cinta tahun 2025.
PPTX
Keragaman kerajinan tangan mancanegara.pptx
PPT
Teknologi-Pangan-Pertemuan-820728132309-.ppt
PPTX
Paparan Penyesuaian Juknis BOSP Tahun 2025
PPTX
5. Bahan Bacaan Asinkronus Modul 5_ Perencanaan Pembelajaran.pptx
DOCX
Modul Ajar Deep Learning Prakarya Kerajinan Kelas 12 SMA Terbaru 2025
PPTX
Model Lintas minat dan pendalaman materi
DOCX
Modul Ajar Deep Learning PKN Kelas 10 SMA Terbaru 2025
DOCX
CONTOH RANCANGAN MODUL PROYEK KOKURIKULER SMA 1.docx
PPTX
Pancasila: fondasi peradaban dan kebudayaan berkelanjutan
DOCX
Modul Ajar Deep Learning PAI & BP Kelas 10 SMA Terbaru 2025
PPTX
PPT SURAT AL FIL LOMBA MAPSI SEKOLAH DASAR
PPTX
2. Modul 2 Fase C Berpikir Komputasional.pptx
9ICP - Hubungan antara Pancasila dengan UUD 1945Bhinneka Tunggal Ika.pptx
2. Capaian-Pembelajaran-Koding-Dan-Kecerdasan-Artifisial-Pusbuk.pdf
MATERI NARKOBA RTS badan anti narkoba.pptx
Modul Ajar Deep Learning Bahasa Inggris Lanjutan Kelas 11 SMA Terbaru 2025
ppt kelas XII materi sifat koligatif larutan
Modul Ajar Deep Learning Bahasa Inggris Kelas 12 SMA Terbaru 2025
PPT MATERI KODING DAN KECERDASAN ARTIFISIAL UNTUK PEMBELAJARAN
PPT Kurikulum Berbasis Cinta tahun 2025.
Keragaman kerajinan tangan mancanegara.pptx
Teknologi-Pangan-Pertemuan-820728132309-.ppt
Paparan Penyesuaian Juknis BOSP Tahun 2025
5. Bahan Bacaan Asinkronus Modul 5_ Perencanaan Pembelajaran.pptx
Modul Ajar Deep Learning Prakarya Kerajinan Kelas 12 SMA Terbaru 2025
Model Lintas minat dan pendalaman materi
Modul Ajar Deep Learning PKN Kelas 10 SMA Terbaru 2025
CONTOH RANCANGAN MODUL PROYEK KOKURIKULER SMA 1.docx
Pancasila: fondasi peradaban dan kebudayaan berkelanjutan
Modul Ajar Deep Learning PAI & BP Kelas 10 SMA Terbaru 2025
PPT SURAT AL FIL LOMBA MAPSI SEKOLAH DASAR
2. Modul 2 Fase C Berpikir Komputasional.pptx

Algoritma&Pemrograman C++ Pertemuan 11

  • 2. POINTER 8/5/2017 Menny cendana25.blogspot.com Mengenalkan pointer untuk mengakses data. Diharapkan mahasiswa dapat mengerti pointer untuk berbagai kepentingan pemrograman MATERI
  • 3. Pointer adalah variabel yang berisi alamat suatu data. Hal ini yang membedakan pointer dengan variabel non pointer data(bukan alamat data) 8/5/2017 Menny cendana25.blogspot.com Int p; // non pointer Int *p; //pointer
  • 4. Ya, pointer memang berisi alamat. Melalui hal ini, dimungkinkan untuk mengubah isi argument pada pemanggilan fungsi oleh fungsi. Selain itu pointer memungkinkan pembuatan struktur seperti antrian ataupun senarai berantai, yang memungkinkan data dapat ditambah atau di kurangi secara dinamis 8/5/2017 Menny cendana25.blogspot.com Cara menggunakan pointer POINTER berisi alamat ? Manfaatnya apa ? Cara mendeklarasikan pointer dan mengisikan nilai ke dalam variabel pointer. Deklarasi pointer sebagai berikut: Tipe *variabelpointer
  • 5. Contoh: 8/5/2017 Menny cendana25.blogspot.com Int *pbil; Contoh ini menyatakan pointer pbil yang akan menunjuk data bertipe int Int bilx = 77; Akses melalui pointer Akses melalui non-pointer *pbil=32; Bilx = 32; *pbil = *pbil-2 Bilx= bilx-2 Cout<< *pbil<<endl; Cout <<bilx <<endl; Cin>> *pbil; Cin >> bilx; Pengaksesan data melalui variabel pointer dan no-pointer
  • 6. latihan 8/5/2017 Menny cendana25.blogspot.com #include <iostream> using namespace std; int main() { int *pBil; int bilX = 77; pBil = &bilX; cout << "Isi bilX = " << bilX << endl; cout << "Nilai yang ditunjuk pBil = " << *pBil << endl; *pBil = *pBil + 3; cout << "Isi bilX sekarang = " << bilX << endl; cout << "Nilai yang ditunjuk pBil = " << *pBil << endl; return 0; }
  • 7. Apakah isi pointer bissa ditempilkan dengan cout ? Ya, daapat di lihat pada contoh program berikut ini : 8/5/2017 Menny cendana25.blogspot.com #include <iostream> using namespace std; int main() { int *pBil; int bilX = 77; pBil = &bilX; cout << "Isi pBil = " << pBil << endl; cout << "Nilai yang ditunjuk pBil = " << *pBil << endl; return 0; }
  • 8. Mengubah nilai argumen fungsi melalui pointer. Ya, dapat dilihat pada contoh program berikut: 8/5/2017 Menny cendana25.blogspot.com #include <iostream> using namespace std; void ubah(int *x); int main() { int arg = 12; cout << "isi arg semula = " << arg << endl; ubah(&arg); cout << "isi arg sekarang = " << arg << endl; return 0; } void ubah(int *x) { *x = 34; }
  • 9. Apakah pointer bisa digunakan untuk menunjuk string ? YA, Namun karena STRING terbagi atas 2 macam maka penganganannya juga berbeda. 8/5/2017 Menny cendana25.blogspot.com J 0ZZA Array Karakter: data Char *musik=data; Jazz String yang ditunjuk ileh pointer musik String *musik=new string(“JAZZ”);
  • 10. Pada array karakter, cara untuk mengakses isi array melalui pointer ? Untuk kepentingan ini kita membutuhkan 2 buah pointer , tujuannya adalahagar salah satuh pointer tetap menunjukke awal string, sedangkan pointer yg kedua bisa digesr untuk menunjukkarakter yg diakses; contoh program berikut : 8/5/2017 Menny cendana25.blogspot.com #include <iostream> using namespace std; int main() { char data[] = "Jazz"; char *musik = data; char *tmp; // Pointer yang menunjuk ke char tmp = musik; // Pointer tmp menunjuk ke data // yang ditunjuk oleh musik int indeks = 0; while (tmp[indeks]) { cout << tmp[indeks] << endl; indeks++; } return 0; }
  • 11. 8/5/2017 Menny cendana25.blogspot.com musik J 0ZZA temp while (tmp[indeks]) { cout << tmp[indeks] << endl; indeks++; } Temp [0] Temp [1] Temp [2] Temp [3] Temp [4]
  • 12. Contoh lain program untuk mengakses karakter yg ditunjuk pointer: 8/5/2017 Menny cendana25.blogspot.com #include <iostream> using namespace std; int main() { char data[] = "Jazz"; char *musik = data; char *tmp; // Pointer yang menunjuk ke char tmp = musik; // Pointer tmp menunjuk ke data // yang ditunjuk oleh musik int indeks = 0; while (*tmp) { cout << *tmp << endl; tmp++; } return 0; }
  • 13. Contoh program yang terdiri dari elemen-elemen array bertipe int 8/5/2017 Menny cendana25.blogspot.com #include <iostream> using namespace std; int main() { int bilangan[] = {77, 66,55, 44, 33, 22, 11}; int *ptr = bilangan; int jumData = sizeof(bilangan) / sizeof(int); cout << "Cara pertama:" << endl; for (int i = 0; i < jumData; i++) cout << *(ptr + i) << endl; cout << "Cara kedua:" << endl; for (int i = 0; i < jumData; i++) cout << ptr[i] << endl; return 0; }
  • 14. Dapatkah suatu array berisi pointer ? Cth: string *mermobil[5] 8/5/2017 Menny cendana25.blogspot.com HONDA MITSUBISHI KIA HYUNDAI TOYOTA Array merkmobil Tipe string
  • 15. Contoh program 8/5/2017 Menny cendana25.blogspot.com #include <iostream> using namespace std; int main() { string *merkMobil[5]; // Pengisian ke pointer merkMobil[0] = new string ("Honda"); merkMobil[1] = new string("Hyundai"); merkMobil[2] = new string("Kia"); merkMobil[3] = new string("Mitsubishi"); merkMobil[4] = new string("Toyota"); for (int i = 0; i < 5; i++) cout << *merkMobil[i] << endl; return 0; }
  • 16. Apa yang dimaksud dengan pointer 0 ? Adalah pointer yg tidak menunjuk ke data manapun. Nilainya diisi dengan nol atauNULL contoh: int *p; p=0; 8/5/2017 Menny cendana25.blogspot.com Pointer yang menunjuk ke suatu fungsi adalah untuk melewatkan fungsi sebagai argumen. Dalam argumen fungsi pointer yg menunjuk ke fungsi ditulis dengan bentuk : Tipe (*fungsi)(argumen1, argumen2…) Perhatikan contoh program berikut ini:
  • 17. 8/5/2017 Menny cendana25.blogspot.com #include <iostream> using namespace std; // Prototipe int penjumlahan (int a, int b); int pengurangan (int a, int b); int operasi (int x, int y, int (*panggilFungsi)(int,int)); int main () { int m,n; int (*minus)(int,int) = pengurangan; m = operasi (7, 5, penjumlahan); n = operasi (20, m, minus); cout << n; return 0; } int penjumlahan (int a, int b) { return (a+b); } int pengurangan (int a, int b) { return (a-b); } int operasi (int x, int y, int (*panggilFungsi)(int,int)) { int hasil; hasil = (*panggilFungsi)(x,y); return (hasil); }
  • 18. Pointer yang munjuk ke pointer: 8/5/2017 Menny cendana25.blogspot.com ptr1 ptr2 Just the way you are Pointer ptr1 menunjuk ke pointer ptr2 Contoh program berikut ini:
  • 19. 8/5/2017 Menny cendana25.blogspot.com #include <iostream> using namespace std; int main() { string lagu = "Just The Way You Are"; string *ptr2; // satu tanda * string **ptr1; // dua tanda ** // Buat hubungan antara pointer dan data // yang ditunjuk ptr2 = &lagu; ptr1 = &ptr2; // Tampilkan data cout << "Via ptr2: " << *ptr2 << endl; cout << "Via ptr1: " << **ptr1 << endl; return 0; }
  • 20. Pointer bisa menjadi nilai balik fungsi 8/5/2017 Menny cendana25.blogspot.com #include <iostream> using namespace std; char *posisiKar(char str[], char kar); int main() { char teks[] = {"Tes...tes...123"}; // Tampilkan mulai posisi pointer hingga // karakter null dijumpai char *ptr = posisiKar(teks, 't'); while (*ptr != '0') { cout << *ptr; ptr++; } cout << endl; return 0; } char *posisiKar(char str[], char kar) { char *ptr = str; do { if (*ptr == kar) break; ptr++; } while (*ptr != '0'); return ptr; }