RuangCodes Logo

RuangCodes

Pointer dan Referensi Data

Belajar memahami pointer dan referensi data di Golang dengan cara yang seru dan mudah dipahami.

Logo Golang

Apa Itu Pointer?

Bayangin kamu punya rumah, dan kamu kasih alamat rumah itu ke temanmu. Temanmu bisa datang dan mengubah isi rumahnya — bukan hanya fotokopi rumahnya.

Nah, pointer di Go itu seperti alamat rumah tadi. Dia menyimpan alamat dari variabel lain.

Kenapa Harus Belajar Pointer?

  • Untuk efisiensi memori

  • Untuk menghindari penyalinan data besar

  • Untuk mengubah data asli di fungsi

Contoh Pointer Sederhana

package main

import "fmt"

func main() {
    var angka int = 10
    var pointer *int = &angka

    fmt.Println("Nilai:", angka)
    fmt.Println("Alamat:", pointer)
    fmt.Println("Nilai dari pointer:", *pointer)
}

Penjelasan:

&angka

Mengambil alamat dari variabel angka

*pointer

Mengambil nilai dari alamat yang disimpan di pointer

Pointer dan Fungsi

func ubahNilai(n *int) {
    *n = *n + 10
}

func main() {
    x := 5
    ubahNilai(&x)
    fmt.Println(x) // hasilnya jadi 15
}

Pointer dan Struct

type User struct {
    Nama string
}

func ubahNama(u *User) {
    u.Nama = "RuangCodes"
}

func main() {
    user := User{Nama: "Anonim"}
    ubahNama(&user)
    fmt.Println(user.Nama)
}

Tips Belajar Pointer

Important

Jangan takut dengan pointer! Coba ubah-ubah kodenya, print alamat dan nilainya, dan lihat apa yang terjadi.

Kesimpulan

Pointer memang kelihatan ribet di awal, tapi dengan pemahaman yang tepat, pointer akan jadi alat yang sangat berguna dalam menulis kode Go yang efisien.

Bagikan Artikel Ini

© 2025 RuangCodes. Create with ❤️ by DevLab.