welcome back man-teman Radaksiana, kembali lagi dengan saya Shella dari kelas 1 D3 Elektronika B. Sudah hampir 3 pekan saya tidak menulis, nah kali ini saya akan memberi sedikit materi tentang Variabel Pointer dalam Bahasa Pemrograman C. Mari kita sama-sama belajar…
APA ITU POINTER ?
Pointer adalah suatu variabel yang berisi alamat memori dari suatu variabel lainnya. Alamat ini merupakan lokasi dari objek lain di dalam memori. Untuk mendeklarasikan sebuah variabel pointer, kita harus menggunakan tanda asterik/bintang ( * ) di depan variabel yang akan dideklarasikan.
Deklarasi & Isi
Deklarasi variabel pointer seperti halnya deklarasi variabel lainnya hanya ditambahkan tanda * pada depan nama variabel.
int *b
Untuk mendapatkan alamat memori pointer (address of) maka perintah yang digunakan adalah menambahkan tanda & didepan variabel
&b
Untuk mendapatan Isi atau nilai dari variabel pointer maka perintah yang digunakan cukup nama variabelnya saja.
b
Untuk mendapatkan isi atau nilai dari alamat yang terdapat pada isi pointer (value pointed by) maka perintah yang digunakan adalah menambahkan tanda * didepan variabel
*b
CONTOH PENERAPAN
- 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++;
}
}
2. Program untuk menyimpan data karakter ‘X’ pada suatu array berdimensi 12×12
#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;
}
}
Semoga dengan pemberian sedikit wawasan mengenai materi ini, kita dapat memanfaatkannya secara bijak.
Recent Comments