Algoritma
Dan Pemrograman 2
Pointer
Pointer
adalah
variabel
yang berisi alamat
memori
sebagai
penilaianya
dan
berbeda
dengan
variabel
biasa
yang berisi nilai
tertentu.
Dengan
kata lain, pointer berisi alamat
dari
variabel
yang mempunyai nilai
tertentu.
Adapun
bentuk
umum
dari
pernyataan
variabel
pointer dalam C++ adalah:
Type
*variabel
name;
Dengan:
1)
Type adalah tipe
dasar
pointer
2)
Variabel
name adalah nama
variabel
pointer
3)
* adalah
operator memori yang
fungsinya
untuk
mengembalikan
nilai
variabel
pada
alamatnya
yang ditentukan oleh
operand
Kegunaan Pointer
Mengapa
harus menggunakan POINTER dalam bahasa C?
•Karena
dapat
meningkatkan
kinerja
untuk
operasi
yang dilakukan secara
berulang
à
variabel
pointer bersifat dinamis
(dapat
diubah-ubah
lokasi
penyimpannya
dalam
memory).
•
•Pada
variabel
biasa
kita
tidak
perlu
tahu
alamat
memory dari variabel
tersebut.
Untuk
mengakses
hanya
perlu
nama
variabel
tersebut.
Tapi
untuk
struktur
data dinamis
(linked list, tree dsb) hal
tersebut
tidak
bisa.
Deklarasi Pointer
Bentuk
Umum: tipe_data *nama_pointer;
Contoh:
int
*nilai;
char
*huruf;
•Pendeklarasian
variabel
pointer menggunakan tanda
*
sebelum
nama
variabelnya.
•Sedangkan
untuk
menampilkan
nilai
yang ditunjuk oleh
suatu
variabel
pointer, juga digunakan
operator
*
•Untuk
menampilkan
alamat
tempat
penyimpanan
nilai
yang ditunjuk oleh
suatu
variabel
pointer, digunakan operator
&
Tipe Data Pointer
1.Mensubstitusikan address sebuah variabel ke
pointer dengan memakai
address operator &
int x;
int *ptr;
ptr =
&x;
2. Mensubstitusikan
address awal sebuah
array ke
pointer
char t[5];
char *ptr;
ptr = t;
3. Mensubstitusikan
address salah satu elemen
array dengan
address operator
char t[5] ;
char *ptr;
ptr =
&t[3];
4. Mensubstitusikan
address awal
character string ke
pointer char
char *ptr;
ptr =
"jakarta“
5. Mensubstitusikan NULL
pada
pointer. NULL ada
pointer kosong, menunjukkan suatu
status dimana
pointer itu belum diinisialisasikan dengan sebuah
address tertentu.
6. Memakai fungsi MALLOC.
Contoh 1:
#include<stdio.h>
int main ()
{
char *alamat_x;
char x;
x='b';
alamat_x=&x;
printf ("=========== Tugas Pointer 1 ===========\n\n");
printf ("nilai variabel x, yaitu %c, disimpan pada alamat %p,x,alamat_x\n\n");
printf ("Nama : Muhammad Tri Wiartanto\n");
printf ("NIM : 2016140233\n");
}
Contoh 2 :
#include <stdio.h>
int main ()
{
int i, j;
int *p;
p=&i;
*p=5;
j=i;
printf ("====== Tugas Pointer 2 ======\n\n");
printf ("%d %d %d\n",i, j, *p);
printf ("Nama : Muhammad Tri Wiartanto\n");
printf ("NIM : 2016140233");
}
Contoh 3 :
#include <stdio.h>
int main ()
{
int *p;
printf ("====== Tugas Pointer 2 ======\n\n");
printf ("Nama : Muhammad Tri Wiartanto\n");
printf ("NIM : 2016140233\n\n");
printf ("%d\n", *p);
}
Pointer sebagai parameter
#include <stdio.h>
#include <iostream>
using namespace std;
void swap (int *i, int *j)
{
int t;
t=*i;
*i=*j;
*j=t;
}
int main ()
{
int a,b;
a=5;
b=10;
printf ("====== Tugas Pointer 2 ======\n\n");
printf ("Nama : Muhammad Tri Wiartanto\n");
printf ("NIM : 2016140233\n\n");
printf ("%d %d \n", a, b);
swap (&a,&b);
printf ("%d %d \n", a, b);
printf ("=============================");
}
Tidak ada komentar:
Posting Komentar