Blog information

  • Category: Kuliah

  • Posted By: AglaBridgeMedia

  • Post date: 10 Apr 2020

  • Keywords: materi informatika dasar pemrograman pointer, pointer bahasa c, contoh program pointer bahasa c, unan purwodadi, universitas an nuur purwodadi

  • Views: 399

Dasar Pemrograman: Pointer

Nah sampai kita pada materi terakhir di matakuliah Dasar Pemrograman. Sebelumnya kita mempelajari dasar-dasar pemrograman seperti variabel, tipe data, ekspresi, kemudian operator perbandingan, dilanjutkan dengan kondisionalloopingarray/larikstring dan juga contoh-contoh program menggunakan bahasa C. Materi yang akan dibahas kali ini adalah seputar pointer. Apa itu pointer? Sekilas mungkin yang ada di bayangan kita seperti pointer mouse yang ada di komputer atau laptop. Tapi pointer dalam pemrograman bukan itu. Nah kita simak baik-baik penjelasan pointer berikut ini ya.

  • KONSEP DASAR PONTER

Variabel pointer sering disebut sebagai variabel penunjuk obyek lain. Pada fakta sebenarnya, variabel pointer berisi alamat dari obyek lainnya, yaitu obyek yang ditunjuk oleh pointer. Contoh diberikan variabel pointer px, dan x adalah variabel yang ditunjuk oleh px. Misalkan x berada pada alamat memory 1000, maka px juga akan memiliki nilai 1000. Untuk lebih jelasnya kita lihat ilustrasi pada gambar di bawah ini.

Dari gambar di atas, variabel pointer px menunjuk variabel x yang berada pada alamat memory 1000.

  • DEKLARASI VARIABEL POINTER

Sebuah variabel pointer dideklarasikan dengan bentuk umum sebagai berikut.

tipe *nama_variabel

Keterangan:

  • tipe merupakan tipe data variabel yang sudah kita bahas sebelumnya.
  • nama_variabel adalah nama variabel dari pointer yang didahului dengan tanda * (bintang).
  • tanda * (bintang) menunjukkan kalau variabel itu adalah pointer.

Contoh:

int *px;
char *name1, *name2;

Contoh pertama menyatakan bahwa variabel px adalah variabel pointer dengan tipe data int, sedangkan contoh kedua menyatakan bahwa variabel name1 dan name2 merupakan variabel pointer dengan tipe data char.

  • AGAR POINTER BISA MENUNJUK KE VARIABEL LAIN

Lalu bagaimana caranya agar pointer bisa menunjuk ke variabel lain? Agar pointer bisa menunjuk ke variabel lain, hal pertama yang harus dilakukan adalah dengan mengisi pointer dengan alamat memory variabel tujuan. Untuk menyatakan alamat memory dari suatu variabel dapat menggunakan operator alamat & dengan menempatkan di depan nama variabel tujuan. Contoh, apabila variabel x dideklarasikan sebagai variabel dengan tipe data int, maka penulisan alamat memory nya adalah.

&x

Adapun cara agar pointer bisa menunjuk ke variabel x dapat menggunakan perintah sebagai berikut.

px = &x;

Dengan px adalah variabel pointer dan adalah variabel tujuan. Dengan menjalankan perintah di atas, berarti variabel pointer px diberikan nilai berupa alamat memory dari variabel x.

  • MENGAKSES ISI VARIABEL MENGGUNAKAN POINTER

Apabila variabel tujuan sudah ditunjuk oleh pointer, maka untuk mengakses variabel tujuan dapat menggunakan variabel itu sendiri (akses secara langsung) atau bisa juga dengan menggunakan variabel pointer (akses tidak langsung). Nah pengaksesan secara tak langsung atau sering disebut dengan indirection ini dapat menggunakan simbol * (bintang). Contoh:

px = &x;
y = *px;

Penjelasan dari kode di atas, variabel pointer px menunjuk ke variabel x sebagai variabel tujuan, kemudian variabel lain, yaitu y diberikan nilai dari variabel pointer *px, sehingga nilai dari variabel y akan sama dengan nilai variabel x. Untuk lebih memahami, berikut contoh kode program pointer menggunakan bahasa C.

#include 
void main()
{
    int a,b=75;
    int *pointer1;

    pointer1 = &b;
    a = *pointer1;
    printf("alamat b : %p\n",&b);
    printf("isi pointer1 : %p\n",pointer1);
    printf("isi a : %d\n",a);
    printf("nilai yang ditunjuk oleh pointer1 : %d\n",*pointer1);
    printf("nilai dari b : %d\n",b);
}
JIka kode di atas dieksekusi, maka akan menghasilkan output seperti gambar berikut.


Penjelasan:
  • mula-mula variabel b diberikan nilai 75.
  • variabel pointer1 ditujukan ke variabel b.
  • kemudian variabel a diberikan nilai dari variabel *pointer1.
  • maka nilai dari variabel akan sama dengan nilai dari variabel b

Sebagai catatan, tipe data variabel pointer dan tipe data variabel tujuan haruslah sama. Jika tidak, maka akan menghasilkan output yang tidak diharapkan. Selain itu, apabila menggunakan pointer dan pointer belum diinisialisasi, maka akan menyebabkan komputer tidak dapat dikendalikan (hang), hal ini sering disebut dengan bug.

  • MENGUBAH ISI VARIABEL POINTER

Pada poin terakhir pada materi ini, bagaimana cara mengubah isi dari variabel pointer? Sama seperti mengubah variabel lainnya. Nah berikut kode program untuk mengubah isi dari variabel pointer.

#include 
void main()
{
    float a = 54.75;
    float *pointer1;

    pointer1 = &a;
    printf("isi mula-mula a : %0.2f\n",a);
    printf("nilai yang ditunjuk oleh pointer1 : %0.2f\n",*pointer1);
    *pointer1 = *pointer1 + 5.25;
    printf("nilai dari a setelah penambahan : %0.2f\n",a);
}
Kode untuk mengubah nilai dari pointer bisa dilihat baris yang saya cetak tebal, yaitu *pointer = *pointer + 5.25. sehingga nilai dari variabel pointer akan bertambah, yang semula adalah 54.75 menjadi 60.00. Apabila kode di atas diekseskusi, maka akan menghasilkan output sebagai berikut.

Nah sekarang sudah ada gambaran materi tentang pointer ini bukan? Untuk terus bisa menambah pemahaman, silakan teman-teman eksplorasi mandiri dengan terus mencoba dengan studi kasus sederhana sampai yang kompleks. Tetap semangat mencari ilmu. Happy Coding ^_^





blog comments powered by Disqus