Monday, April 9, 2018

Pengenalan Pointer (basic)



Helo sobat, pada kesempatan kali ini kita akan membahas mengenai Pengenalan Pointer (basic). C++ merupakan peluasan dari Bahasa Pemrograman C yang tergolong dalam Bahasa Pemrograman Tingat Menengah (Middle Level Language), yang berarti Bahasa Pemrograman C++ memiliki semua fitur dan kelebihan yang bahasa pemrograman C miliki, termasuk kelebihan Bahasa C yaitu kita dimungkinkan untuk menggunakan Bahasa Pemrograman Assembly di dalam pengkodingan C, dan juga menyediakan fasilitas untuk memanipulasi memori tingkat rendah.

Pointer adalah variable yang berisi alamat memory sebagai nilainya dan berbeda dengan variable biasa yang berisi nilai tertentu. Dengan kata lain, pointer berisi alamat dari variable yang mempunyai nilai tertentu. Pada kesempatan kali ini saya akan membahas mengenai penyalinan alamat sebuah variabel A ke variabel B sehingga variabel B akan memiliki nilai atau isi yang sama dengan variabel A.

Sebelum kita mulai adabaiknya kita mengenai sedikit tentang pointer agar kita dapat memahami fungsi dari pointer tersendiri, berikut merupakan beberapa ulasan singkat mengenai pointer, semoga bermanfaat.
  • Pointer adalah built-in type di C dan C++, dimana C++ mengambil konsep pointer dari C. Pointer sebenarnya sangat terkait dengan "Abstract C Machine", yaitu model mesin abstrak dimana program C bekerja. Abstract C Machine adalah mesin abstrak dimana mesin tersebut memiliki prosesor untuk   menginterpretasikan   stream   of   instruction,   dan   addressable memory  yang  terbagi  kedalam  3  bagian  :  automatic  memory,  static memory  dan  free  memory. 
    Addressable memory adalah memory  yang konten-nya  dapat  diambil  jika  diketahui  alamatnya.  Lebih  jauh  lagi, terdapat asumsi bahwa konten memori dapat di ambil dengan waktu konstan, tidak peduli berapa nilai alamat.Hal ini disebut dengan Random Access Memory.
  • Pointer  adalah  sebuah  variabel  yang  berisi  alamat  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 putunjuk 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
  • Dalam  bahasa  C,  Pointer  bisa  berfungsi  sebagai  variabel  array  berarti pointer sebagai penunjuk elemen array ke-0 dalam variabel C. 
//v1
#include<iostream>
int main(){
 int *P;
 int
 A[5]={2,1,7,0,5};
 P=A;
std::cout<<*P<<std::endl; //meampilkan nilai a[o]
P++; //increase menjadi a[1]
std::cout<<*P; //menampilkan nilai a[1]
}

//v2
#include<iostream>
int main(){
int *P;
int A[5]={2,1,7,0,5};
P=A;
std::cout<<*P++<<std::endl;
std::cout<<*P;
}

//v3
#include<iostream>
int main(){
int *P;
int A[5]={2,1,7,0,5};
P=A;
std::cout<<*++P<<std::endl;
std::cout<<*P;
}

//v4
#include<iostream>
int main(){
int *P;
int A[5]={2,1,7,0,5};
P=A;
std::cout<<++*P<<std::endl;
std::cout<<*P;
}

Penjelasan (1) :

  • Pernyataan P=A menyebabkan pointer P menunjuk ke elemen A[0], sehingga pernyataan cout<<*P<<endl mencetak angka 2.
  • Pernyataan P++ menyebabkan pointer P maju 1 langkah menunjuk ke elemen A[1].
  • Pernyataan cout<<*P<<endl mencetak isi elemen yang sedang ditunjuk oleh P, sehingga tercetak angka 1.

Penjelasan (2) :

  • Pernyataan cout<<*P++<<endl mencetak isi elemen yang sedang ditunjuk oleh P, sehingga tercetak angka 2, setelah itu pointer maju satu langkah menunjuk ke A[1]
  • Pernyataan cout<<*P<<endl mencetak isi elemen yang sedang ditunjuk oleh P, sehingga tercetak angka 1.

Penjelasan (3) :

  • Pernyataan cout<<*++P<<endl menyebabkan pointer maju satu langkah ke A[1] kemudian mencetak isi array yg sedang ditunjukknya yaitu angka 1.
  • Pernyataan cout<<*P<<endl mencetak isi elemen yang sedang ditunjuk oleh P, sehingga tercetak angka 1

Penjelasan (4) :

  • Elemen yang sedang ditunjuk oleh P adalah A[0] yang isinya 2. Pernyataan cout<<++*P<<endl akan menambah isi elemen A[0] dengan 1 sehingga isinya menjadi 3, kemudian mencetak isi elemennya yaitu angka 3.
  • Pernyataan cout<<*P<<endl mencetak isi elemen yang sedang ditunjuk oleh P, sehingga tercetak angka 3

Sekian pembahasan mengenai basic pointer, semoga artikel ini dapat membantu dan menambah wawasan kita semua. Terimakasih atas kunjungan kalian.
NEXT ARTICLE Next Post
PREVIOUS ARTICLE Previous Post
NEXT ARTICLE Next Post
PREVIOUS ARTICLE Previous Post
 
banner