• Tidak ada hasil yang ditemukan

Kumpulan Modul Bahasa Pemrograman C++ 10. pointer

N/A
N/A
Protected

Academic year: 2017

Membagikan "Kumpulan Modul Bahasa Pemrograman C++ 10. pointer"

Copied!
15
0
0

Teks penuh

(1)

Pointer

Pointer

Pointer

Pointer

Bhs.Pemrograman 1

Bhs.Pemrograman 1

Oleh:

Oleh:

Desma Fitri, S.Kom

(2)

Pointer

(3)

DEKLARASI POINTER

Tipe data *nama_var_pointer

(4)

Operator

Pointer

Operator Alamat / Dereference Operator(&)

untuk mendapatkan alamat memori operand/ variable pointer. Cth: Bil1 = &Bil2;

dibaca: isi variabel bil1 sama dengan alamat bil2

Operator Reference (*)

untuk mengakses nilai data operand/ variable pointer.

Bil1=*Bil2;

(5)

Contoh:

/Program :pointer1. cpp

/Program :pointer1. cpp

#include <iostream.h>

#include <iostream.h>

#include<conio.h>

#include<conio.h>

// cetak p dan *p

// cetak p dan *p

void main(void)

void main(void)

{

{

int v = 7, *p;

int v = 7, *p;

p = &v;

p = &v;

cout << "Nilai v = " << v << " dan *p = " << *p

cout << "Nilai v = " << v << " dan *p = " << *p

<< " \nAlamatnya = " << p << 'n';

<< " \nAlamatnya = " << p << 'n';

getch();

getch();

}

}

Hasil dari program adalah sebagai berikut :

Hasil dari program adalah sebagai berikut :

Nilai v = 7 dan *p = 7

Nilai v = 7 dan *p = 7

Alamatnya = efffb24

(6)

contoh2

#include <stdio.h>

#include <conio.h> int main()

{

char pointerku[10]="";

pointerku[0]='a'; pointerku[1]='b';

printf("%s",pointerku);

(7)

contoh3

#include <stdio.h>

#include<conio.h>

int main()

{

char pointerku[10]="pointerku";

char tampung[10]="";

if(pointerku[2]=='i')

{

tampung[0]=pointerku[2];

}

printf("%s",tampung);

getch();

(8)

Contoh program operator pointer

:

//Program :pointer2. cpp

#include <iostream.h>

Int main()

{

int *ptr, num; // 1

ptr = &num; // 2

*ptr = 100; // 3

cout << num << “ “;

(*ptr)++; // 4

cout << num << “ “;

(*ptr)*2; // 5

cout << num << “\n “;

return 0;

}

(9)

Bila dijalankan hasilnya adalah sebagai berikut : 100 101 101

Penjelasan :

1. Kondisi variabel num menunjukkan angka 50 dan kondisi variabel pointer ptr masih kosong

2. Variabel pointer ptr menunjuk pada isi dari variabel num sehingga variabel pointer ptr isinya 50

3. Variabel num berisi angka 100 sedangkan variabel pointer ptr isinya tetap 50

4. Isi variabel num bertambah 1 dari 100 menjadi 101

5. Isi variabel num dari 101 menjadi 202. Hasil ini diperoleh dari 101*2

Pointer Aritmetika

Ada 4 operator aritmetika yang digunakan yaitu : ++, = =, + dan – Contoh program yang dapat menampilkan 10 buah data yang

mempunyai alamat berbeda-beda:

(10)

//Program :pointer3. cpp #include <iostream.h> int main()

{

int i [10], *i_ptr; double f[10], *f_ptr; int x;

i_ptr = i; f_ptr = f;

for(x=0; x<10; x++)

cout << i_ptr+x << “ “ << f_ptr+x << “\n”; return 0;

}

(11)

Pointer Perbandingan

Pointer dapat dibandingkan dengan Operator hubungan seperti !=, ==,<,

dan >.

//Program :pointer4. cpp #include <iostream.h> int main()

{

int num[10];

int *start, *end; start = num;

end = &num[9];

while(start != end) {

cout << “Masukkan bilangan sebanyak 9 data : ”; cin >> *start;

start++; }

return 0; }

(12)

Konstanta String Dan Pointer

Konstanta string terlihat dalam program teks dan disimpan dalam tabel.

String

Contoh Program pointer string //Program :pointer5. cpp

#include <iostream.h> int main()

{

char *s;

S = “Pointer mudah digunakan. \n”; cout << s;

return 0; }

Output :

Pointer mudah digunakan

(13)

Array Pointer

Pointer dapat di-array seperti tipe data lain dalam C++ integer contoh :

Int *pi[10];

Contoh Program array pointer //Program :pointer6. cpp

#include <iostream.h> int main()

{

Int numbers[5]; Int *p;

p = numbers; *p = 10; p++; *p =20;

p = &numbers[2]; *p = 30; p = numbers + 3; *p = 40; p = numbers; *(p+4) = 50; for (int n=0; n<5; n++)

cout << numbers[n] << “, “; return 0;

}

Output :

10, 20, 30, 40, 50,

(14)

Pointer Dalam Pointer

C++ memperbolehkan penggunaan pointer dalam pointer

Yang masing-masing berisi data yang sama atau berbeda.

address

value

pointer

variable

address

value

Pointer tunggal

address

pointer

pointer

variable

Pointer dalam pointer

(15)

Contoh : char a; char * b; char ** c; a = ‘z’ ; b = &a; c = &b;

Referensi

Dokumen terkait

pengendalian melalui program komputer, sehingga pembagian tanggung jawab fungsional dalam pelaksanaan transaksi dapat dikurangi. Perbedaan karakteristik Sistem Manual vs

Pengaruh Strategi Diferensiasi dan Positioning Produk Terhadap Motivasi Nasabah ( Studi Kasus Pada Produk Tabungan Investa Cendekia di BSM KCP Banyumanik2. Semarang )

Oleh karena itu, untuk mencegah penyakit HDB perlu dilakukan penyediaan benih yang bebas Xoo serta pemahaman mengenai waktu tanam yang sesuai dengan perkembangan penyakit Xoo

Instrumen yang digunakan dalam penelitian aspek kognitif ini berupa tes objektif tentang materi sistem koloid yang terdiri dari 25.. butir soal dengan 5 alternatif

Reducing levels of ROS allows ”uchu to interrupt the pathogenesis of ”PH by reducing tissue injury, DN“ damage, neoplastic transformation, and activation of growth factors that lead

Manfaat penelitian ini adalah untuk mengetahui ciri – ciri anak autis sehingga orang tua dapat mengetahui gejala anak autis sejak dini dan dapat merancang media edukasi

Penulis menyadari banyak pihak yang telah membantu dalam penyusunan makalah ini.. Maka dengan rendah hati, penulis

Yang dimaksud hak-hak yang sesuai dengan perundang-undangan yang berlaku atau hak- hak yang telah diatur dalam perjanjian kerja, peraturan perusahaan, atau perjanjian kerja