Menu
CoddyTech

Apa Itu Pointer

Pelajaran 2 dari 19 dalam kursus Fungsi dan Pointer di Golang di Coddy.

Pertanyaan pertama yang perlu kita jawab adalah, apa itu pointer? Kita sudah mempelajari variabel, yang kita definisikan sebagai kotak untuk menyimpan nilai. Sebaliknya, pointer adalah kotak yang menyimpan alamat, bukan nilai.

Saat kita membuat variabel dalam bahasa pemrograman apa pun, variabel ini disimpan di memori, dan setiap ruang di memori memiliki alamat. Misalnya, jika kita mendefinisikan variabel seperti ini:

var name = "Coddy"

Kita bisa merepresentasikannya di memori seperti ini:


 

Agar bisa mendapatkan nilai apa pun dari memori, kita memerlukan alamat. Jadi, alamat memberi tahu kita lokasi ruang ini di memori.

Sebaliknya, pointer adalah kotak tempat kita menyimpan alamat memori, bukan nilainya. Itulah sebabnya kita menyebutnya pointer, karena pointer menunjuk ke alamat memori.

Sintaks untuk mendefinisikan pointer seperti ini:

var name = "Coddy"
namePointer := &name

Di sini, kita mendefinisikan pointer bernama namePointer dan menggunakan & untuk menunjuk ke alamat variabel name.

Kita bisa mendefinisikan pointer baru dengan nilai default, yaitu nil, seperti ini:

var coddy *string

Sintaks * ini membuat pointer baru bernama coddy dengan tipe string, dan nilai default pointer adalah nil.

Untuk mencetak alamat yang tersimpan di pointer, kita cukup memberikan nama pointer seperti ini:

fmt.Println(coddy)

Untuk mencetak nilai yang tersimpan di alamat pointer, kita menggunakan tanda bintang *:

fmt.Println(*coddy)
challenge icon

Tantangan

Mudah
  • Deklarasikan variabel bernama a dengan nilai 200.
  • Deklarasikan pointer baru bernama aPointer dengan tipe int.
  • Arahkan alamat variabel a ke pointer aPointer.
  • Cetak nilai pointer aPointer dan variabel a.

Coba sendiri

package main

import "fmt"

func main() {
    // Deklarasikan variabel bernama a dengan nilai 200.
     

    // Deklarasikan pointer baru bernama aPointer bertipe int.
    
    // Arahkan pointer aPointer ke alamat variabel a.
     

    // Cetak nilai pointer aPointer dan variabel a.
    fmt.Println("the value of the pointer:",?)
    fmt.Println("the value of the variable :",?)
}

Semua pelajaran di Fungsi dan Pointer di Golang

Latihan sendiri: Compiler Go online