Sabtu, 08 April 2017

POINTER

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