Hello teman-teman, bertemu lagi dengan aku Oktavia Nur Rizky Angelina dari D3 Elka B. Kali ini aku akan membahas mengenai penggunaan variabel pointer yang dikombinasikan dengan variabel bertipe integer, array, dan string serta penggunaan pointer dalam suatu fungsi, baik sebagai penunjuk fungsi atau sebagai argument fungsi. Selain itu, pada kesempatan kali ini juga mempelajari mengenai variabel pointer sebagai penunjuk pointer lain. Semoga kalian semua dapat memahami apa yang aku paparkan yah. Untuk lebih jelasnya simak pembahasan berikut ini.

Apa itu Pointer?

Pointer adalah suatu variabel yang menyimpan alamat dari suatu variabel yang ditunjukkan oleh pointer yang bersangkutan. karena data yang ditunjukkan oleh pointer bervariasi, maka tipe data dari pointer harus disesuaikan dengan tipe data yang ditunjuk. Untuk memperkirakan ukuran data yang ditunjuk, sehingga alokasi memori terjaga dengan baik. Pointer berguna mentransfer data yang mempunyai kapasitas besar, melalui suatu fungsi. Pointer sangat erat kaitannya dengan array, sehingga variabel pointer dapat menggantikan fungsi dari variabel array.

Variabel bertipe pointer ditandai dengan adanya tanda asterisk (*) tepat sebelum penulisan tipe data ketika deklarasi. Sehingga apabila suatu variabel memiliki alamat pointer yang sama, maka nilainya pasti akan sama. Sedangkan apabila nilainya diubah maka variabel yang bertipe sama dengan pointer akan ikut berubah nilainya. Untuk penjelasan lebih lanjut simak uraian selanjutnya agar memahami penggunaan dari variabel pointer tersebut.

Jenis-jenis Pointer

  • Operator Dereference (&)

Operator Dereference (&) yaitu operator yang berfungsi mendeklarasikan sebuah variabel didalam penggantian memori. operator ini biasa disebut dengan “address of”. Karena dengan menggunakan operator dereference (&) ini, sebuah variabel akan menghasilkan alamat lokasi penyimpanannya di memori. Sebagai contoh “int angka” ditempatkan pada memori dengan alamat 0x6ffe34 untuk mengetahuinya maka dapat menuliskan code seperti ini cout<<“\nAlamat variabel angka (&angka) : “<<&angka;

  • Operator Reference (*)
Seandainya pada operator Dereference (&) dapat mengeluarkan alamat memory dari sebuah variabel, sedangkan pada Operator Reference (*) maka dapat mengeluarkan (menampilkan) nilai dari alamat memori yang di tunjuk. untuk penggunaan nya sendiri sobat dapat menambahkan identifier asterisk (*) didepan variabel. biasanya Operator reference disebut dengan “value pointed by”
Berikut adalah salah satu bentuk program yang dapat menggambarkan penggunaan dari variabel pointer tersebut.
  • Membuat program untuk menyimpan bilangan pecahan acak sebanyak 12 bilangan, yang disimpan dalam suatu array.

Berikut merupakan salah satu contoh bentuk program untuk menyimpan bilangan pecahan acak sebanyak 12 bilangan, yang disimpan dalam suatu array.

#include <stdio.h>
#include <conio.h>
#include <stdio.h>

int main()
{
int i,j,t, A[100];
int n=12;
int *p_A;

printf(“Masukkan 12 data anda\n”);

for(i=1; i<=n; i++)
{
printf(“Data %d = “, i); scanf(“%d”, &A[i]);
}

for(i=1; i<=(n-1); i++)
{
for(j=n; j>=(i+1); j–)
{
if(A[j-1]>A[j])
{
t=A[j-1];
A[j-1] = A[j];
A[j] = t;
}
}
}

printf(“\nUrutannya adalah : \n”);
for(i=1; i<=n; i++)
{

printf(“%d \n”, A[i]);

}
for(i=1; i<=n; i++)
{

printf(“index pointer = “);

printf(“%d\n”, p_A);
p_A++;
}
}

Setelah mengetik program diatas dalam Code Block maka langkah selanjutnya yakni tekan icon Build and Run kemudian akan muncul tampilan seperti gambar dibawah ini.

  • Facebook
  • Twitter
  • Google+
  • Pinterest

  • Membuat program yang menyimpan data karakter ‘X’ pada suatu array berdimensi 12×12

Berikut merupakan salah satu contoh bentuk program untuk membuat kalkulator sederhana.

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

main()

{

static int a[12][12],b,c,*d,e,f,g;
char h[8],*i;

menu1:

g=1;
for(e=0;e<12;e++)
{
for(f=0;f<12;f++)
a[e][f]=48;
}

menu2:

system(“cls”);
d=&a;
printf(“\n\r”);
for(e=1;e<13;e++)
{
for(f=1;f<13;f++)
printf(“%2c”,*d++);
puts(“”);
}
if(g>1)
{
printf(“\n Ketik ‘next’ untuk melanjutkan.”);
printf(“\n Ketik ‘repeat’ untuk mengulang dari awal.”);
printf(“\n Ketik ‘exit’ untuk keluar.\n “);
gets(h);
gets(h);

i=strlwr(h);
if(strcmp(i,”next”)==0)
{
g=1;
goto menu2;
}
else if(strcmp(i,”repeat”)==0)
goto menu1;
else if(strcmp(i,”exit”)==0);
else goto menu2;
}
else
{
g++;
printf(“\n Masukkan koordinat matriks :\n “); scanf(“%d%d”,&b,&c);
-b;
-c;
a[b][c]=120;
goto menu2;
}
}

Setelah mengetik program diatas dalam Code Block maka langkah selanjutnya yakni tekan icon Build and Run kemudian akan muncul tampilan seperti gambar dibawah ini.

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Kesimpulan

Berdasarkan percobaan yang sudah dilakukan dapat disimpulkan bahwa variabel pointer yaitu variabel yang berisi (menyimpan) alamat memori dari sebuah variabel lain atau pointer dapat diartikan sebagai variabel yang menunjuk ke sebuah alamat memori dari sebuah variabel lain. Pointer ini digunakan dengan maksud untuk menunjukan ke suatu alamat memori sehingga kita dapat mengetahui dengan mudah alamat dari sebuah variabel.