Assalamualaikum Warohmatullah Wabarokatuh.
berjumpa lagi dengan “WONG NDESO”
pada perjumpaan ini kita akan membahas tentang “POINTER“,
Apa itu POINTER ?
Pengertian Pointer
- Pointer adalah suatu variabel yang menunjuk ke alamat memory variabel yang lainnya.
- Suatu pointer bukan berisi dengan suatu nilai data seperti halnya pada variabel biasa, variabel pointer berisi dengan suatu alamat.
- Untuk mendeklarasikan variabel pointer kita menggunakan tanda asterik / bintang (*) didepan variabel yang di deklarasikan pada tipe data tertentu.
- Tanda ini juga dapat dipakai untuk mengakses nilai dari variabel yang telah ditunjuk.
- Untuk mendapatkan alamat dari variabel pointer kita menggunakan tanda &
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
- Mengurutkan suatu angka dan di tampilkan dalam indeks array dan indeks pointer
selanjutnya algoritmanya seperti berikut:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
void main()
{
static int a,b[16],c,d;
char e[16],*f;
menu:
printf(“\n Angka sebelum di urutkan \n”);
for(a=1;a<13;a++)
{
printf(“angka ke %d=”,a);
scanf(“%d”,&b[a]);
}
printf(“\n Angkka 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 Build & run
Tugas 2
#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;
}
}
Hasil
sekian pembelajaran kita kali ini, sekian dan terimakasih
Recent Comments