MATERI POINTER TKJ K13

8
Ali Majid Wardana XI TKJ2 SMK NEGERI 1 BATAM

Transcript of MATERI POINTER TKJ K13

Page 1: MATERI POINTER TKJ K13

Ali Majid Wardana

XI TKJ2

SMK NEGERI 1 BATAM

Page 2: MATERI POINTER TKJ K13

Apakah itu Pointer?

Variable yang berisi alamat memory sebagai nilainya dan berbeda dengan variable biasa yang berisi nilai tertentu. Dengan kata lain, pointer berisi alamat dari variable yang mempunyai nilai tertentu.

Page 3: MATERI POINTER TKJ K13

Operator Pointer

Ada beberapa operator yang bisa digunakan dalam pointer.Operator tersebut adalah operator alamat (yang dilambangkan dengansimbol &) dan operator unary yang mengembalikan alamat darioperandnya.

1. Operator &

Operator & bersifat unary (hanya memerlukan satu operand saja). Operator &

menghasilkan alamat dari operandnya.

2. Operator *

Operator * bersifat unary (hanya memerlukan satu operand saja). Operator *

menghasilkan nilai yang berada pada sebuah alamat.

Page 4: MATERI POINTER TKJ K13

Pointer AritmatikaContoh ://Program:pointer4.cpp#include <iostream.h>int main(){int i[10], *i_ptr;double f[10], *f_ptr;int x;i_ptr = i; // i_ptr points to first element of if_ptr = f; // f_ptr points to first element of ffor(x=0; x<10; x++)cout << i_ptr+x << " " << f_ptr+x << "\n";return 0;}

Bila program dijalankan :0xeffffd9c 0xeffffd480xeffffda0 0xeffffd500xeffffda4 0xeffffd580xeffffda8 0xeffffd60

Hanya 4 operator aritmatika dapat digunakan

pada pointer ++, = =, +, dan -. Asumsi integer

32 bit.

Page 5: MATERI POINTER TKJ K13

Pointer ke Variabel

Variabel pointer adalah suatu variable yang menunjuk ke alamat yang digunakan untuk menampung data yang akan diproses.

Bentuk Umum :

Var <NamaVar> : <^TipeData>

Contoh :

Var

JumlahData : ^integer;

NamaSiswa : ^string[25];

NilaiSiswa : ^real;

Page 6: MATERI POINTER TKJ K13

Pointer ke ArrayContoh ://Program:pointer6.cpp#include <iostream.h>#include <stdio.h>int main(){char str[80];char token[80];char *str_ptr, *tk_ptr;cout << "Masukkan sebuah kalimat : ";gets(str);str_ptr = str;while(*str_ptr) {tk_ptr = token;while( *str_ptr != ' ' && *str_ptr ) {*tk_ptr = *str_ptr;tk_ptr++;str_ptr++;}if(*str_ptr) str_ptr++;*tk_ptr = '\0';cout << token << endl;}return 0; }

Array dan pointer adalah dua struktur

data yang saling berkaitan satu

dengan yang lain dalam C, dan dapat

saling dipertukarkan penggunaannya.

Karena array dapat didefinisikan

sebagai pointer.

Page 7: MATERI POINTER TKJ K13

Konstanta String-Pointer

Contoh ://Program:pointer9.cpp#include <iostream.h>int main(){char *s;s = "Pointers are fun to use.\n";cout << s;return 0;}Bila program diatas dijalankan, maka hasilnya adalah sebagai berikut :Pointers are fun to use.

Konstanta string terlihat dalam program teks dan disimpan dalam tabel string serta

setiap entry dalam tabel string, pointer string dibangkitkan.

Page 8: MATERI POINTER TKJ K13

SEKIANTERIMAKASIH