BISMILLAHIRROHMANIRROHIM,

ASSALAMU’ALAIKUM WR. WB,

 

     HAII SOBAT REDAKSI PENS… GIMANA KABAR KALIAN? SEMOGA TETAP DALAM LINDUNGAN_NYA (AAMIIN) DAN JANGAN LUPA SENYUM SIMETRIS :). EITS, SAYA A. RIZAL IRWANTO DARI D3 TEKNIK ELEKTRONIKA B. JUMPA LAGI DENGAN TULISAN SAYA, SEMOGA APA YANG SAYA TULIS BERMANFAAT BAGI KALIAN SEMUA. KALI INI SAYA MEMBAHAS variabel pointer DALAM BAHASA C.

 

Suatu Pointer adalah suatu variable yang menyimpan alamat dari suatu variable 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.

Variabel bertipe pointer ditandai dengan adanya tanda asterisk (*) tepat sebelum penulisan tipe data ketika deklarasi. Variabel-variabel yang memiliki reference atau alamat pointer yang sama, saling berhubungan satu sama lain dan nilainya pasti sama. Ketika ada perubahan nilai, maka akan memberikan efek kepada variabel lain (yang referensi-nya sama) yaitu nilainya ikut berubah.

Langsung saja, mari kita membuat program dengan bermain variabel pointer dalam bahasa C…

  1. Program untuk menyimpan bilangan pecahan acak sebanyak 12 bilangan, yang disimpan dalam suatu array. kemudian diurutkan bilangan-bilangan tersebut dan menampilkan sebelum dan sesudah diurutkan menggunakan index array dan pointer. Yuk langsung saja kita lihat source code-nya, cekidott…

#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 kalian membuat source code di atas, langkah selanjutnya yaitu melakukan compile & run.

Berikut hasil compile-nya :

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

#Program untuk menyimpan data X pada suatu array berdimensi 12×12, kemudian menampilkan menggunakan index pointer. Yuk langsung saja kita lihat source code-nya, cekidott…

#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;

      }

}

Setelah kalian membuat source code di atas, langkah selanjutnya yaitu melakukan compile & run.

Berikut hasil compile-nya :

  • Facebook
  • Twitter
  • Google+
  • Pinterest

 

Pointer berguna untuk mentransfer data yang mempunyai kapasitas besar, melalui suatu fungsi. Pointer sangat erat kaitannya dengan array, sehingga variable pointer dapat menggantikan fungsi dari variable array. Setelah melakukan praktikum di atas dapat disimpulkan bahwa Belajar pemrogaman bahasa C adalah hal yang asik dan tidak sesulit yang dibayangkan. Namun kalian harus teliti dalam menulis hurufnya dan mengetahui kegunaan setiap statement.

Kesempurnaan hanya milik Allah, untuk itu saya menyadari bahwa artikel yang telah saya susun masih memiliki banyak kekurangan baik dari segi teknis maupun non-teknis. Untuk itu saya membuka pintu yang selebar-lebarnya kepada semua pihak agar dapat memberikan saran dan kritik yang membangun demi penyempurnaan penulisan-penulisan mendatang. Dan apabila di dalam artikel ini terdapat hal-hal yang dianggap tidak berkenan di hati pembaca mohon dimaafkan.

WASSALAMU’ALAIKUM WR. WB.

  • Facebook
  • Twitter
  • Google+
  • Pinterest