Pada tutorial kali ini SaungIT akan membahas array dan fungsi secara detail beserta contohnya. Silahkan lanjut membaca.
BACA JUGA: Pengenalan Pointer Pada C++
Array Pada Pointer
Jika Anda menulis sebuah array tanpa tanda “[ ... ]” atau indeksnya maka akan menunjukan alamat pertama pada array tersebut. Misalkan Anda membuat sebuah pointer bertipe int dengan nama “contohArray” dan sebuah array dengan tipe yang sama yaitu “valueArray”, maka format seperti ini dalam pemberian nilai dapat dikatakan benar:int *contohArray;
int valueArray[5];
contohArray = valueArray;
Bila diperhatikan, variabel pointer dengan nama contohArray sekarang merujuk pada alamat memori pertama pada valueArray. Secara tidak langsung Anda dapat mengakses nilai elemen array dengan menggunakan variabel pointer.
Contoh sintaks program:
#include <iostream>
using namespace std;
int main(){
int nilaiArray[5] = {2,3,4,5,6};
int *pointerArray;
pointerArray = nilaiArray;
cout<<"Nilai pada elemen 0 nilaiArray adalah = "<<nilaiArray[0]<<endl;
cout<<"Alamat Pointer pada elemen 0 nilaiArray adalah = "<<*pointerArray<<endl;
pointerArray++;
*pointerArray = 10;
cout<<"Nilai pada elemen 1 nilaiArray adalah = "<<nilaiArray[1]<<endl;
cout<<"Alamat Pointer pada elemen 1 nilaiArray adalah = "<<*pointerArray<<endl;
pointerArray = nilaiArray;
cout<<endl;
cout<<"Akses semua nilai array dengan pointer dengan pengulangan for"<<endl;
for(int i = 0; i < 5; i++){
cout<<"Nilai indeks["<<i<<"] adalah = " <<*(pointerArray+i)<<endl;
}
return 0;
}
Hasil outputnya:
Dengan melihat hasil eksekusi program di atas, maka akan terlihat cara mengakses nilai array dengan menggunakan pointer. Namun yang perlu diperhatikan adalah pointer bertipe int hanya bisa digunakan untuk menunjuk pada variabel int. Alasannya karena tipe data tersebut menentukan sifat pointer ketika alamat pointer tersebut dilakukan increment. Hal ini berlaku untuk tipe data yang lain asal mempunyai kesamaan.
Fungsi Pada Pointer
Sebagaimana pada array, pointer juga dapat digunakan pada parameter suatu fungsi. Sifat pointer pada fungsi hanya sebagai penunjuk, maka setiap perubahan pada parameter, sebenarnya terjadi pada variabel yang ditunjuk, bukan pada variabel pointer.Contoh Program:
#include<iostream>
using namespace std;
void tambah(int *angka){
*angka += 20;
}
int main(){
int nilai = 10;
cout<<"Nilai variabel nilai adalah = " <<nilai<<endl;
tambah(&nilai);
cout<<"Nilai variabel nilai adalah = "<<nilai<<endl;
return 0;
}
Hasil Program:
Pada program di atas ketika variabel nilai berisi 10, maka ketika ditambahkan suatu fungsi tambah(), di mana pada fungsi tambah +20, otomatis menghasilkan nilai 30. Yang menarik pada fungsi tambah di atas walaupun menggunakan void tanpa kembalian nilai berupa return, namun nilai parameter tetap berubah.
***
Demikianlah tutorial array dan fungsi pada pointer di kesempatan kali ini. Semoga artikel ini bermanfaat baik sebagai media pembelajaran maupun referensi.
Salam,
Saung IT
Comments