Assalamualaikum Wr.Wb.
Pada kesempatan kali ini, kita akan belajar pembahasan dari belajar tentang VARIABEL POINTER & PENGGUNAANNYA DALAM FUNGSI.
Sebelum masuk pada pembahasan, Tujuan dari pembahasan kali ini yaitu Mempelajari penggunaan Variable pointer yang diapdukan dengan variable bertipe integer, array dan string serta penggunaan pointer dalam suatu fungsi, baik sebagai petunjuk fungsi atau sebagai argumen fungsi.
Pointer adalah sebuah variabel berisi alamat memori dari variabel yang lain. Pointer seperti variabel pada umumnya, ia harus dideklarasikan atau dibuat dulu sebelum dapat digunakan.
Cara membuat pointer:
int *nama_pointer;
double *nama_pointer;
float *nama_pointer;
char *nama_pointer;
Pointer selalu diawali dengan tanda bintang (*) di depannya. Simbol ini akan menandakan, kalau ini adalah sebuah pointer.
Tipe data yang digunakan pada pointer tergantung dari tipe data variabel yang akan menjadi referensinya.
Contoh:
float a = 4.12;
float *pa = &a;
Pointer *pa akan menyimpan alamat memori dari variabel a. Pointer *pa juga akan bisa mengakses dan mengubah nilai dari variabel a.
Nah, setelah mengetahui tentang String kali ini mari mencoba membuat sebuah program dengan memberikan Pointer.
Membuat program untuk menyimpan bilangan pecahan acak sebanyak 12 bilangan, yang disimpan dalam suatu array. Urutkan bilangan-bilangan tersebut dan ditampilkan sebelum dan sesudah diurutkan menggunakan index array dan pointer.
Pada kesempatan kali ini saya menggunakan aplikasi CodeBlock pada Windows
#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;
}
}
#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”,&c,&b);
-b;
-c;
a[b][c]=120;
goto menu2;
}
}
Sekian dari saya semoga artikel ini bermanfaat di kemudian hari
Recent Comments