M. Febriansyah., [email protected] - 9POINTER
DEFINISI POINTEROPERATOR POINTERPOINTER ARRAYPOINTER STRINGCONTOH PENGGUNAAN POINTEROUTLINE
DEFINISI POINTERPengertian pointer :Pointer adalah sebuah variabel yang berisi alamat memori dari variabel lain dan secara tidak langsung menunjuk ke variabel tersebut.
Fungsi pointer dalam pemrograman :Teknik pointer digunakan untuk menunjukkan suatu alamat memori sehingga alamat dari suatu variabel dapat diketahui dengan mudah.
Contoh analoginya :Andi berteman dengan Budi, lalu anda ingin mengetahui jumlah keluarga Budi untuk keperluan sensus penduduk. Sedangkan anda tidak mengetahui alamat Budi, tetapi anda mengenal Andi. Untuk mencari jumlah keluarga Budi, maka pertama-tama anda pergi kerumah Andi, misalnya rumah no 8321. Sesampai di rumah Andi, Andi memberitahukan kepada anda alamat rumah Budi, yaitu ada pada alamat 9821. Kemudian anda pergi ke rumah Budi lalu mencatat jumlah keluarga yang dimiliki Budi misal 5 orang.
KESIMPULAN :Andi bertindak sebagai pointer. Andi tidak memberitahukan jumlah keluarga Budi, tetapi hanya memberitahu alamat Budi (alamat 9821), maka dari situlah diketahui jumlah anggota keluarga Budi.
Jika alamat dari ditunjukkan dengan simbol & dan isi dari ditunjukkan dengan symbol *, maka hubungan analogi diatas adalah:
Dalam bentuk pointer, ditulis : Andi = &Budi; // baris 1 Budi = *(&Budi); // baris 2 Subtitusi pernyataan di baris 2 : Andi = *Andi;
NAMAALAMATISIAndi83219821 = &BudiBudi98215 = *(&Budi)
OPERATOR POINTERTerdapat 2 jenis operator untuk pointer, yaitu :
Operator alamat (&)Operator reference (*)
OPERATOR ALAMAT1
Contoh :
OPERATOR REFERENCE2
Contoh :
Keluarannya : Array[0] = 10 Menggunakan pointer = 10Disimpan dalam 0xdb72408Array[1] = 20Menggunakan pointer = 20Disimpan dalam 0xdb7240aArray[2] = 30Menggunakan pointer = 30Disimpan dalam 0xdb7240cArray[3] = 40Menggunakan pointer = 40Disimpan dalam 0xdb7240eMengapa hasil antara dua contoh diatas sama namun sintaksnya berbeda ? Karena array itu sebenarnya telah menunjuk ke alamat memori setiap elemennya, sehingga untuk mengetahui alamat memori setiap elemen array cukup dengan array + n dengan n bilangan bulat ( integer ).
Keluarannya :Nama awal : AndiNama menjadi : AndyJadi :String adalah array (susunan) dari karakter-karakterString dapat diakses dan dimanipulasi lewat pointer Alamat awal dari string dapat diperoleh dari namanya
VOID POINTERTipe pointer void merupakan tipe khusus. void pointers dapat menunjuk pada tipe data apapun, nilai integer value atau float, maupun string atau karakter. Keterbatasannya adalah tidak dapat menggunakan operator asterisk (*), karena panjang pointer tidak diketahui, sehingga diperlukan operator type casting atau assignations untuk mengembalikan nilai void pointer ketipe data sebenarnya.
POINTER UNTUK FUNCTIONSC++ memperbolehkan operasi dengan pointer pada function. Kegunaan yang utama adalah untuk memberikan satu function sebagai parameter untuk function lainnya. Deklarasi pointer untuk function sama seperti prototype function kecuali nama function dituliskan diantara tanda kurung () dan operator asterisk (*) diberikan sebelum nama.
Top Related