Hallo sobat ambyar kembali lagi bersama saya Nando dari D3 ELKA 2019. Kali ini kita akan mempelajari variabel dan fungsi pointer.
Simak pembahasannya ya guys.
Suatu pointer adalah suatu variabel yang menyimpan alamat dari suatu variabel yang ditunjuk oleh pointer yang bersangkutan. Karena data yang ditunjuk oleh pointer bervariasi, maka tipe dari pointer harus disesuaikan dengan tipe data yang ditunjuk, untuk memperkirakan ukuran data yang ditunjuk, sehingga alokasi memori terjaga dengan baik. Pointer berguna untuk mentransfer data yang memiliki kapasitas besar, melalui suatu fungsi. Pointer sangat erat kaitannya dengan array, sehingga variabel pointer dapat menggantikan fungsi dan variabel array.
Tujuan dari percobaan kali ini ialah Mempelajari penggunaan variabel pointer yang dipadukan dengan variabel bertipe integer, array dan string serta penggunaan ponter dalam suatu fungsi, baik sebagai penunjuk fungsi atau sebagai argument fungsi.
Tugas 9.4.1
Membuat program untuk menyimpan bilangan pecahan acak sebanyak 12 bilangan, disimpan dalam suatu array. Mengurutkan bilangan tersebut dan menampilkan hasil sebelum dan sesudah diurutkan.
#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;
}
}
Setelah membuat program tersebut klik build and run.
Tugas 9.4.2
Membuat program yang menyimpan data karakter ‘X’ pada suatu array berdimensi 12×12, kemudian menampilkan menggunakan index pointer.
#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;
}
}Setelah membuat program tersebut klik build and run.
Disini saya memasukkan koordinat matrix dengan jarak 6-9 maka hasilnya seperti pada gambar diatas.
Sekian pembahasan dari saya sampai jumpa kembali sobat ambyar saya, semoga kalian semua paham tentang materi ini.
Waalaikumsalam Wr.Wb.
Recent Comments