Assalamualaikum Wr. Wb
Haloooooooooo teman teman pembaca setia redaksi PENS
Kembali lagi bertemu dengan saya ilham mahasiswa kampus perjuangan.Kali ini kita akan belajar tentang variabel pointer dan penggunaannya. Kita akan mempelajari penggunaan variabel pointer yang dipadukan dengan variabel bertipe integer, array, dan string serta penggunaan pointer dalam suatu fungsi, baik sebagai penunjuk fungsi atau sebagai argument fungsi.
Suatu pointer adalah suatu variabel yang menyimpan alamat dari suatu variabel yang ditunjuk oleh pointer yang bersangkutan. Karena data yang ditujuk oleh pointer bervariasi, maka type dari pointer harus disesuaikan dengan tipe data yang ditunjuk,untuk memperkirakan ukuran datauang ditunjuk sehingga alokasi memori terjaga dengan baik.
Kegunaan pointer yang utama adalah untuk menyimpan alamat memori dari sebuah variabel (data type atau object dari class). Selain menyimpan alamat dari variabel, pointer juga dapat digunakan untuk menyimpan alamat dari sebuah fungsi (function pointer). Pointer sangat erat kaitannya dengan array , sehingga variable pointer dapat menggantikan fungsi dari variable array.
Pointer memiliki beberapa tipe data , akan tetapi yang dimaksud bukan tipe dari pointernya melainkan tipe dari dta yang ditunjuk seperti
- Mensubstitusikan address sebuah variabel ke pointer dengan memakai address operator &
int x;
int *ptr;
ptr = &x; - Mensubstitusikan address awal sebuah array ke pointer
char t[5];
char *ptr;
ptr = t; - Mensubstitusikan address salah satu elemen array dengan address operator
char t[5] ;
char *ptr; ptr = &t[3]; - Mensubstitusikan address awal character string ke pointer char
char *ptr; ptr = “jakarta” - Mensubstitusikan NULL pada pointer. NULL ada pointer kosong, menunjukkan suatu status dimana pointer itu belum diinisialisasikan dengan sebuah address tertentu.
Seperti halnya variabel yang lain, variabel pointer juga harus dideklarasikan terlebih dahulu sebelum digunakan. Bentuk Umum :
Tipe_data *nama_pointer;
Contoh : int *nilai; ==> char *huruf;
Setelah mengenal variabel pointer secara umum ,sekarang kita akan membuat program menggunakan variabel ponter tersebut agar lebih paham.
Langsung cusss…
- Program untuk menyimpan bilagan pecahan acak sebanyak 12 bilangan, yang disimpan dalam suatu array, kemudian mengurutkan bilangan bilangan tersebut dan menampilkannya sebelum dan sesudah diurutkan menggunakan index array dan pointer.
Ketiklah program berikut :
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{
static int a,b[16],c,d;
char e[16],*f;
menu:
printf(“\n Angka sebelum diurutkan …\n”);
for(a=1;a<13;a++)
{
printf(” Angka ke %d = “,a);
scanf(“%d”,&b[a]);
}
printf(“\n Angka setelah diurutkan …\n”);
for(a=1;a<13;a++)
{
for(d=a+1;d<13;d++)
{
if(*(b+a)>*(b+d))
{
c=*(b+d);
*(b+d)=*(b+a);
*(b+a)=c;
}
}
printf(” Angka ke %d = %d\n”,a,*(b+a));
}
printf(“\n Ketik ‘exit’ untuk keluar …\n”);
gets(e);
printf(” “);
gets(e);
f=strlwr(e);
if(strcmp(f,”exit”)==0);
else
{
system(“cls”);
goto menu;
}
}
Lalu jalankan programnya dengan klik built and run, lalu masukkan nilai angka secara acak , kemudian akan didapatkan hasil pemograman seperti berikut
- Program yang menyimpan data karakter ‘X’ pada suatu array berdimensi 12 x 12, kemudian tampilkan menggunakan index pointer.
Ketiklah program berikut:
#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 ‘lanjut’ untuk melanjutkan.”);
printf(“\n Ketik ‘ulang’ untuk mengulang dari awal.”);
printf(“\n Ketik ‘exit’ untuk keluar.\n “);
gets(h);
gets(h);
i=strlwr(h);
if(strcmp(i,”lanjut”)==0)
{
g=1;
goto menu2;
}
else if(strcmp(i,”ulang”)==0)
goto menu1;
else if(strcmp(i,”exit”)==0);
else goto menu2;
}
else
{
g++;
printf(“\n Masukkan koordinat matrix dengan jarak 1 – 12 …\n “);
scanf(“%d%d”,&b,&c);
–b;
–c;
a[b][c]=120;
goto menu2;
}
}
Lalu jalankan programnya dengan klik built and run, masukkan nilai kordinat matrix dengan jarak 1-12,kemudian akan didapatkan hasil pemograman seperti berikut
Nah …kita sudah mempelajari bagaimana cara membuat program menggunakan variabel pointer dalam bahasa C, tidak sulit kan.! Semoga artikel ini bermanfaat. Dan sampai berjumpa di artikel selanjutnya.
See youuu
Wassalamualaikum WR.WB
Recent Comments