PERTEMUAN SDATA 04

POINTER DAN LINK LIST
  Pointer adalah suatu variabel penunjuk yang menunjuk pada suatu alamat memori komputer tertentu. Pointer merupakan variabel level rendah yang dapat digunakan untuk menunjuk nilai integer, character, float, double, atau single, dan bahkan tipe-tipe data lain yang didukung oleh bahasa C. Variabel biasa, sifatnya statis dan sudah pasti, sedangkan pada pointer sifatnya dinamis dan dapat lebih fleksibel. Variabel pointer yang tidak menunjuk pada nilai apapun berarti memiliki nilai NULL, dan disebut sebagai dangling pointer karena nilainya tidak diinisialisasi dan tidak dapat diprediksi.
   Pendeklarasian variabel pointer menggunakan tanda * sebelum nama variabelnya, sedangkan untuk menampilkan nilai yang ditunjuk oleh suatu variabel pointer, juga digunakan operator * (tanda asterisk). Jika diinginkan untuk menampilkan alamat tempat penyimpanan nilai yang ditunjuk oleh suatu variabel pointer, digunakan operator & (tanda ampersand).
  Pada suatu tipe data array, variabel pointer hanya perlu menunjuk pada nama variabel arraynya saja tanpa perlu menggunakan tanda ampersand, atau menunjuk pada nama variabel array pada indeks yang ke nol nya.
Definisi Variabel Pointer

Pointer yang menunjuk objek bertipe int
- int *A;
Pointer yang menunjuk objek bertipe char
- char *B;
Pointer yang menunjuk objek yang tipenya didefinisikn sendiri
- Mahasiswa *Ahmad;


Contoh pointer yang tidak diberi nilai awal
int *iPtr;       // iPtr pointer menunjuk objek bertipe int
char *s;         // s pointer menunjuk objek bertipe char
Rational *rPtr;  // rPtr pointer menunjuk objek Rational

Contoh pointer yang diberi nilai awal
int i = 1;
char c = 'y';
int *ptr;        // ptr pointer menunjuk objek bertipe int
ptr = &i;       // ptr pointer menunjuk ke alamat i
char *t;  // t pointer menunjuk objek bertipe char
t = &c;          // t pointer menunjuk ke alamat c

Link List
Linked list tidak lain adalah suatu struktur data yg merupakan suatu rangkaian atau daftar record berjenis sama. Kemudian dihubungkan melalui bantuan pointer. Pengalokasian daftar dapat dilakukan secara dinamis sehingga isi dari daftar dapat dimanipulasi. Untuk memahami linked list, terlebih dahulu anda harus tahu konsep pointer dan pengalokasian memori.
Aplikasi link list
class Node {
public:  
int data;
Node *berikut;
};
//perintah
Node *A = new Node;
  A->data = 1;
    A->berikut = 0;


Node *B = new Node;
    B->data = 2;
    B->berikut = 0;
  A->berikut = B;



Komentar