Langsung ke konten utama

POINTER

 POINTER


Pengertian

Pointer merupakan tipe data yang berisi alamat memori dari sebuah variabel, untuk lebih mudah memahami ini, Kita akan coba membahas terlebih dahulu bagaimana bahasa pemrograman lain menyimpan nilai dari sebuah variabel. Ketika kita akan mendeklarasikan sebuah variabel (misalkan variabel angka’), bahasa pemrograman akan menyiapkan sebuah tempat di memory komputer. Tempat ini memiliki alamat, yang berfungsi untuk menandai lokasi variabel tersebut.

Cara Penggunaan Pointer

Untuk dapat membuat pointer, kita harus menyesuaikan dengan variabel yang ingin kita akses Maksudnya seperti ini, Jika kita mendeklarasikan sebuah variabel ‘angka’ :

Disini variabel ‘angka’ disiapkan untuk menampung tipe data integer.Disini variabel ‘angka’

Angka : integer

disiapkan untuk menampung tipe data integer.Untuk bisa menampung alamat memori dari variabel ‘angka’ ini, kita harus membuat pointer yang juga di-set untuk menampung tipe data pointer integer. Berikut cara penulisannya

pointer_angka : ^integer

Perhatikan tanda ‘topi’ atau ‘caret’. Inilah cara pendeklarasian tipe data pointer di dalam bahasa pemrograman. ^integer berarti kita mempersiapkan sebuah pointer untuk variabel integer.

Jika kita butuh pointer ke tipe data lain, penulisannya juga akan berbeda. Misalnya, untuk membuat pointer ke alamat variabel yang bertipe data char, bisa ditulis sebagai berikut:

pointer_kata : ^char

Di dalam Bahasa Pemrograman, biasanya kita membutuhkan karakter untuk memanggil alamat memori sebuah variabel, Pada bahasa Pascal menggunakan karakter ‘@’, atau pada bahasa C/C++ menggunakan ‘&’.

angka : integer

poiter_angka : ^integer

pointer_angka = @angka (pada Pascal)

pointer_angka = &angka (pada C/C++)

Baris terakhir: pointer_angka:= @angka adalah kode yang ‘mengaitkan’ kedua variabel ini. Sekarang, variabel pointer_angka akan berisi alamat memori dari variabel ‘angka’. Silahkan anda pahami sebentar maksud kalimat ini.

Apabila ditampilkan, variabel pointer_angka akan berisi: 40960. Inilah alamat memory yang dipergunakan pascal untuk menyimpan variabel ‘angka’. Alamat ini sepenuhnya ditentukan oleh pascal, terserah akan menyimpan di alamat memori mana.

Tipe pointer dideklarasikan pada bagian deklarasi type

Bentuk umum deklarasi pointer adalah :

Type

Pengenal = ^simpul;

Simpul = type;

(pengenal : nama pengenal yang menyatakan data bertipe pointer; simpul : nama simpul; tipe : tipe data dari simpul)

Deklarasi Pointer

Tanda ^ di depan nama impul harus ditulis seperti apa adanya menunjukkan bahwa pengenal adalah suatu tipe data pointer. Tipe data simpul yang dinyatakan dalam tipe bia berupa sembarang tipe data, misalnya char, integr, atau real.

Contoh :

Type Bulat : ^integer

Dalam contoh diatas Bulat menunjukkan tipe data baru, yaitu bertipe pointer. Dalam hal ini pointer tersebut akan menunjukkan ke suatu data yang bertipe integer. Misalnya,

X, K : Bulat 


Implementasi Pointer Pada Record

Pada program-program terapan, biasanya terdapat sekumpulan data yang dikumpulkan dalam sebuah rekaman (record), maka akan banyak dijumpai tipe data pointer yang elemennya (data yang ditunjukkan) adalah sebuah rekaman.

Contoh :

type

text=string[30];

    point=^data;

    data=record

    nama_peg : teks; 

alamat : teks;

pekerjaan : teks;

berikut : point

End

Var

    P1, P2 : point;

A,B,C : Teks

Simpul yang berisi medan bertipe pointer dapat digambarkan sbb:


(P1 pada bagian atas, dan P2 pada bagian bawah.)

Pada contoh di slide sebelumnya, P1 dan P2 adalah pointer yang akan menempati lokasi tertentu dalam pengingat. Kedua perubah ini masing-masing belum menunjuk ke suatu simpul nilai, dinyatakan sebagai nil. Untuk mengalokasikan simpul dalam pengingat, statemen yang digunakan adalah statemen new.

Bentuk Umum :

new(P1);

new(P2);

Operasi Pada Pointer

Secara umum ada dua operasi pada pointer dasar :

Mengkopi pointer, sehingga sebuah simpul akan ditunjuk oleh lebih dari sebuah pointer.
Mengkopi isi simpul, sehingga dua atau lebih simpul yang ditunjuk oleh pointer yang berbeda mempunyai isi yang sama.
Syarat-syarat operasi pointer adalah kedua pointer yang dioperasikan harus mempunai deklarasi yang sama.

Contoh :

Type Mahasiswa = ^Data;

^Data = record

    nama : string; 

    alamat : string;

    Brikut : Mahasiswa

End;

Var T1, T2 : Mahasiswa;

Pada deklarasi di atas, pointer T1 dan T2 mempunyai deklarasi simpul yang sama, sehingga memenuhi syarat untuk operasi pointer. Sekarang kita berikan statement

New (T1);

New (T2);

Artinya kita mempunyai dua simpul, yaitu :



Komentar

Postingan populer dari blog ini

Queue

 QUEUE Pengertian Queue adalah salah satu struktur data yang sering digunakan dalam pemrograman. Queue merupakan antrian data yang hanya dapat diakses pada ujung depan atau ujung belakangnya. Data yang pertama kali dimasukkan ke dalam queue akan menjadi data yang pertama kali diambil atau dikeluarkan dari queue. Queue dapat diibaratkan seperti antrian orang yang menunggu untuk melakukan suatu tindakan. Karakteristik FIFO (First In First Out): Data yang pertama kali dimasukkan ke dalam queue akan menjadi data yang pertama kali diambil atau dikeluarkan dari queue. Enqueue: Menambahkan data ke dalam queue. Dequeue: Mengambil data dari queue. Front: Menunjukkan data yang berada pada ujung depan queue. Rear: Menunjukkan data yang berada pada ujung belakang queue. Queue sering digunakan dalam pemrograman untuk menyelesaikan masalah yang membutuhkan urutan data yang spesifik. Contoh penggunaan queue adalah dalam pengolahan data yang membutuhkan urutan waktu, seperti pengolahan data sensor...

Apa Itu Struktur Data

     Struktur Data Pengertian Struktur data adalah pengaturan data di dalam memori komputer. Struktur data adalah cara untuk menyimpan, mengambil, dan menyusun data dengan efisien di dalam komputer, Struktur data memungkinkan data yang ada di komputer lebih mudah diakses dan diperbarui. Apasih Manfaat Dan Fungsi Struktur Data? Manfaat Struktur Data adalah agar diperoleh sebuah pemograman lebih efisien,mudah,dan elegan.Dan supaya data yang disimpan lebih mudah/efisien dalam pengaksesan/pemrosesan data tersebut. Struktur data tidak hanya berfungsi sebagai penyusun data, tetapi juga memiliki peran penting dalam proses pengolahan, pengambilan, dan penyimpanan data. Struktur data bisa digunakan untuk mengelola database, melakukan kompres file, hingga mengolah data lainnya. Struktur data juga akan mempengaruhi ketepatan algoritma pemrograman. Macam-Macam Operasi Dalam Struktur Data 1.Record sebuah nilai yang berisi nilai-nilai lain, biasanya dengan banyak dan urutan nilai yang ...