Rabu, 26 November 2014

Pointer pada C++



                Pada pembahasan kali ane akan coba menjelaskan sedikit tentang Pointer yang tentunya masih pada C++. Pointer sendiri memang ane akuin sedikit agak susah dipahami sih, ane aja harus baca-baca dari modul dan literature lain dulu baru bisa sedikit agak paham nih sama yang namanya pointer pada C++. Langsung aja ya gan….Cekidot…!!!.




  •         Pengertian Pointer


Pointer merupakan sebuah variabel yang berisi alamat dari variabel lain. Suatu pointer dimaksudkan untuk menunjukan ke suatu alamat memori sehingga alamat dari suatu variabel dapat diketahui dengan mudah. Arti pointer dalam bahasa sehari-hari adalah petunjuk atau bisa di bilang penentu atau pointer secara sederhana bisa diartikan sebagai tipe data yang nilainya mengarah pada nilai yang terdapat pada sebuah area memori (alamat memori). Namun dalam bahasa C, Pointer bisa berfungsi sebagai variabel array berarti pointer sebagai penunjuk elemen array ke-0 dalam variabel C. 



  •      Fungsi Pointer
 
Fungsi Pointer yang utama adalah untuk menyimpan alamat memori dari sebuah variable. Selain menyimpan alamat dari sebuah variable, Pointer juga berfungsi untuk menyimpan alamat memori dari sebuah fungsi. 



  •       Macam-macam Pointer



Terdapat dua macam operator pointer yang disediakan oleh C++, yaitu :

1.    Operator Dereference (&)
       Operator ini biasa disebut dengan “address of” atau operator alamat. Dengan menggunakan operator dereference ini, suatu variable akan menghasilkan/menampilkan alamat lokasi memori.



Keterangan :

Jika dilihat dari gambar di atas, sudah ditentukan dimana nilai variable dari ILHAM adalah 75, sedangkan nilai variabel AMIR sama dengan nilai variabel ILHAM yaitu 75 (AMIR=ILHAM), dan nilai variabel RAKA sama dengan alamat memori dari nilai variabel ILHAM (RAKA=&ILHAM) karena menggunakan operator dereference yang ditandai dengan tanda (&). Jadi yang output untuk nilai variabel RAKA adalah hanya alamat dari memori nilai variabel ILHAM yaitu 0x0012ff88.

Cara mendeklarasikan Operator Pointer Dereference adalah sebagai berikut :

tipe_data *nama_variabel

Contoh Program menggunakan Pointer Dereference :

/*Penggunaan Pointer Dereference*/
#include<iostream>
#include<conio>
main()
{
    int ilham,*raka,amir;
    ilham=75;
    raka=&ilham;   /*Nilai variabel raka adalah merupakan alamat memori dari nilai ilham*/
    amir=ilham;
    cout<<"Nilai Iham adalah "<<ilham<<endl;
    cout<<"Nilai Raka adalah "<<raka<<endl;
    cout<<"Nilai Amir adalah "<<amir<<endl;
    getch();
}


Tampilan Programnya adalah :



2.    Operator Reference (*)

Operator Reference atau biasa disebut dengan “value pointed by”. Bedanya dengan Operator Dereference, operator ini akan menampilkan nilai yang terdapat dalam suatu alamat memori, bukan menampilkan alamat memorinya.

Ilham=75;
Raka=&Ilham;
Rafli=*Raka;
      

                
 Keterangan :

Dari gambar di atas dimana nilai variabel ILHAM (Ilham=75) sudah ditentukan sebelumnya yaitu 75 dengan alamat memori 0x001ff88. Sedangkan nilai variabel RAKA adalah merupakan alamat memori dari nilai variabel ILHAM (Raka=&Ilham) karena menggunakan operator pointer deference (diawali dengan tanda “&”) yaitu 0x001ff88 dan untuk nilai variabel RAFLI merupakan nilai yang terdapat dalam alamat memori dari nilai variabel RAKA (Rafli=*Raka) karena menggunakan operator pointer reference (diawali dengan tanda “*”) yaitu 75.




/*Penggunaan Pointer Reference*/
#include<conio>
#include<iostream>
main()
{
   int ilham,rafli,*raka;
   ilham=75;
   raka=&ilham;
   rafli=*raka;

   cout<<"Nilai Ilham adalah : "<<ilham<<endl;
   cout<<"Nilai Raka adalah  : "<<raka<<endl;
   cout<<"Nilai Rafli adalah : "<<rafli<<endl;

   getch();
}

Untuk tampilan Programnya adalah :



Nah itu tadi panjelasan tentang Pointer pada C++. Bagi yang ingin download script programnya bisa klik disini.













19 komentar:

  1. terima kasih atas penjelasannya mas... sangat membantu

    BalasHapus
  2. Makasih atas penjelasannya, saya sudah paham

    BalasHapus
  3. Makasih atas penjelasannya, saya sudah paham

    BalasHapus
  4. Baru jelas setelah membaca artikel ini, thanks

    BalasHapus
  5. terimakasih atas penjelasannya, tapi kok programnya gak bisa di compile ya?

    BalasHapus
  6. terimakasih banyak, sangat memvbantu ^^ izin copy ya buat tugas

    BalasHapus
  7. terima kasih sangat membantu untuk mengerjakan tugas

    BalasHapus
  8. mantap bos. ini baru nih, singkat padat jelas. keep it up gan

    BalasHapus
  9. izin comot buat tugas untuk dipublikasikan di blogger baru ku

    BalasHapus
  10. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  11. tq ya gan,ngebantu parah nih haha

    BalasHapus
  12. Kebalik tuh, reference '&' dan dereference '*' harusnya

    BalasHapus
  13. jelaskan no 1 kenapa program tampilannya kalau di eksekusi seperti itu,jelaskan


    BalasHapus
  14. Kok alamatnya bisa random gitu ya masih gapaham nih. Thanks

    BalasHapus
  15. Paham, cuman bingung kenapa susah2 pakai pointer ?

    Apa bedanya dengan deklarasi Ilham = 75; Raka = Ilham ; Rafli = Raka;

    Mohon pencerahannya gan, ..

    BalasHapus
  16. terimakasih semoga bermanfaat..

    BalasHapus