Ads Home1

C++ Pengertian Fungsi Pointer dan Konsep dari Pointer


http://www.xcodeplus.net/2017/02/c-pengertian-fungsi-pointer.html
www.xcodeplus.net / C++ Pengertian Fungsi Pointer

www.xcodeplus.net

POINTER

Salah satu kelebihan dari bahasa pemrograman C/C++ karena bahasa ini mendukung sepenuhya untuk pemanipulasian memori dengan menggunakan pointer. Namun di balik itu, pointer juga merupakan salah satu fitur C++ yang berbahaya karena dapat mengakibatkan sistem operasi pada komputer kita menjadi "CRASH" (rusak). Penggunaan pointer dengan cara yang salah juga dapat menyebabkan "BUG" yang sangat sulit untuk ditemukan pada program kita.


BACA JUGA : C++ Penjelasan Memory Leak "Mencegah Terjadinya Kebocoran Memori"


Variabel Pointer

Sebelum saya membahas lebih jauh, mungkin anda bingung apa yang dimaksud dengan Pointer dan seberapa pentingkah pointer di dalam program ? Pointer adalah suatu variabel yang dideklarasikan untuk menyimpan alamat memori. Perbedaan variabel lain dengan pointer adalah variabel lain hanya berisikan nilai saja sedangkan pointer berisikan alamat. Pada saat kita mendeklarasikan sebuah variabel, variabel-varibel tersebut hanya berisikan nilai, bukan alamat.

Jika kita mempunyai sebuah variabel dengan tipe data tertentu, maka untuk mendapatkan dari variabel tersebut adalah dengan menggunakan operator & (ampersand). Alamat inilah yang kemudian akan disimpan ke dalam variabel yang bertipe pointer. Untuk mendeklarasikan variabel sebagai pointer, kita hanya menambahkan tanda asterisk ( * ) di depan nama variabel. Berikut ini bentuk umum dari pendeklarasian variabel yang bertipe pointer.

tipe_data *nama_pointer;

atau

tipe_data* nama_pointer;

atau

tipe_data * nama_pointer;

Catatan : Pemberian spasi pada tanda * (asterisk) tidak akan mengubah arti.

Tipe data di atas berguna untuk menyatakan bahwa pointer yang kita deklarasikan tersebut akan ditempati oleh data dengan tipe tertentu. Sebagai contoh, kita akan mendeklarasikan pointer P yang akan di tempati oleh tipe data int, maka bentuk pendeklarasiannya adalah sebagai berikut:

http://www.xcodeplus.net/2017/02/c-pengertian-fungsi-pointer.html
www.xcodeplus.net / C++ Pengertian Fungsi Pointer


Jika kita mempunyai sebuah variabel yang bertipe int (contoh misal int A), maka kita dapat memerintahkan pointer P di atas untuk menujuk ke alamat yang ditempati oleh variabel A. Untuk melakukan hal tersebut, kita perlu menuliskan kode seperti berikut:



http://www.xcodeplus.net/2017/02/c-pengertian-fungsi-pointer.html
www.xcodeplus.net / C++ Pengertian Fungsi Pointer


Apabila kita perhatikan kode program di atas, sebenarnya konsep dari pointer sangatlah sederhana. Kita tahu bahwa P adalah pointer yang berisikan alamat dan &X juga berisi alamat, maka kita dapat menyimpan alamat dari variabel A tersebut ke dalam pointer P. Kita tidak diizinkan untuk memasukan sebuah nilai (bukan alamat) ke dalam pointer P, seperti yang ditunjukan oleh kode berikut:


http://www.xcodeplus.net/2017/02/c-pengertian-fungsi-pointer.html
www.xcodeplus.net / C++ Pengertian Fungsi Pointer


Apabila kita memang ingin mengisikan nilai ke dalam alamat yang disimpan oleh Pointer P, maka seharusnya kita menggunakan tanda asterisk ( * ) di depan nama pointer tersebut, yaitu dengan mengubah kode di atas menjadi seperti di bawah ini.

http://www.xcodeplus.net/2017/02/c-pengertian-fungsi-pointer.html
www.xcodeplus.net / C++ Pengertian Fungsi Pointer

Catatan : Bahwa *P ini disebut dengan dereference pointer.


BACA JUGA : C++ Defeating Mr. Memory Leak "Solusi Mengatasi Memory Leak"



Agar anda dapat lebih memahami konsep pointer, Berikut ini gambar yang saya sertakan untuk mengilustrasikan kasus di atas.

http://www.xcodeplus.net/2017/02/c-pengertian-fungsi-pointer.html
www.xcodeplus.net / C++ Pengertian Fungsi Pointer


Pada gambar di atas Alamat 1 dari memori ditempati oleh variabel A yang bertipe int. Nilai dari variabel A tersebut adalah 10. Di atas kita mempunyai pointer P yang menunjuk ke alamat A, maka untuk mendapatkan nilai A kita dapat menggunakan dereference pointer, yaitu dengan *P. Dengan demikian, dapat disimpulakan bahwa jika:


http://www.xcodeplus.net/2017/02/c-pengertian-fungsi-pointer.html
www.xcodeplus.net / C++ Pengertian Fungsi Pointer


Untuk membuktikan hal di atas, disini kita akan mengimpletasikannya ke dalam sebuah program sederhana. Kode dari program tersebut adalah sebagai berikut:

Source code program:



Hasil yang akan diberikan oleh kode program di atas adalah sebagai berikut:

Output program:
http://www.xcodeplus.net/2017/02/c-pengertian-fungsi-pointer.html
www.xcodeplus.net / C++ Pengertian Fungsi Pointer
 
Apabila kita amati hasil program di atas, pada saat kita mengisikan variabel A dengan nilai 10, *P juga akan bernilai 10. Begitu juga pada saat kita memasukan nilai ke dalam *P dengan nilai 20, variabel A juga akan berubah nilainya menjadi 20. Hal in menunjukan bahwa *P dan variabel A tersebut menempati alamat yang sama yaitu 0x28fee8.

Penting untuk diketahui setiap kita mendeklarasikan sebuah pointer, sebenarnya pointer tersebut akan menunjuk ke lokasi acak di memori. Oleh karena itu, kita perlu mengatur pointer yang kita deklarasikan tersebut dalam keadaan NULL, atau tidak menunjuk lokasi manapun.

Untuk melakukan hal tersebut silakan baca juga artikel saya tentang cara melakukan inisialisasi pada pointer di bawah ini:


BACA JUGA : C++ Panduan Melakukan Inisialisasi pada Pointer dengan Baik dan Benar

 

Semoga apa yang saya berikan saat ini memberikan pengetahuan luas bagi anda mengenal apa itu POINTER dengan baik tanpa adanya kendala dalam mempelajari bahasa pemrograman C/C++.

 
http://www.xcodeplus.net/
C++ merupakan bahasa pemrograman yang berkekuatan tinggi (powerful) dan sangat populer yang berorientasi objek (Object Oriented Programming). Berdasarkan penelitian yang dilakukan oleh TIOBE, tidak hanya Java dan C, C++ juga selalu masuk ke dalam jajaran bahasa pemrograman yang paling banyak banyak digunakan oleh para programmer profesional di seluruh dunia, C++ biasanya digunakan untuk mengembangkan beraneka ragam program di berbagai bidang, seperti: Games, Graphic, Bisnis, Telekomunikasi, Embedded system dan sebagainya.

Tapi dengan begitu C++ termasuk bahasa pemrograman yang tidak mudah dipelajari karena C++ merupakan bahasa middle level language, oleh sebab itu XCODEPLUS sebagai forum tutorial pembelajaran C++, hadir untuk memberikan pembelajaran bagi para programmer pemula yang ingin menguasai C++.

Kami berharap segala postingan yang kami berikan bermanfaat bagi anda. Dan untuk memotivasi kami agar terus update jangan lupa Like, Follow dan Subscribe segala sosial media kami. Terimakasih.


FOLLOW US ON SOCIAL MEDIA
Twitter     : @XcodePlus
Facebook : @xcodeplus18
Google+   : @xcodeplus

Salam, XCode.++plus😄😏










No comments:

Kami menerima masukan dari anda jika memang ada pembahasan yang keliru dan kami sangat senang jika anda dapat berkontribusi untuk menyempurnakan postingan kami. Anda dapat mengirimkan email ke : hari18.muhammad@gmail.com

Jika postingan ini bermanfaat jangan lupa share postingan ini. Kami sangat merekomendasikan untuk anda yang membutuhkan informasi tentang computer stuff silakan subscribe blog kami dapatkan informasi terupdate dari kami secara gratiss. Terimakasih!

Powered by Blogger.