Back to Blog
Go Language

🧠 Latihan Pointer di Golang

14 April 20252 min read
🧠 Latihan Pointer di Golang

Soal 1 - Dasar Pointer

Deskripsi:

Buat program yang:

  1. Membuat variabel angka dengan nilai 5
  1. Menampilkan alamat dari variabel tersebut
  1. Menyimpan alamatnya ke variabel pointer
  1. Tampilkan nilai dari pointer

Contoh Output:

plaintext
Alamat dari angka: 0xc000012034
Nilai dari pointer: 5

Soal 2 - Ubah Nilai Lewat Pointer

Deskripsi:

Buat fungsi ubahNilai yang menerima parameter pointer ke int. Fungsi ini akan mengubah nilai integer tersebut menjadi 100.

Panggil fungsi itu dari main() dan tunjukkan bahwa nilai aslinya berubah.


Soal 3 - Pointer dengan Struct

Deskripsi:

Buat struct Product dengan field:

go
type Product struct {
    Name string
    Price int
}

Lalu buat fungsi UpdatePrice yang menerima pointer ke Product dan mengubah harga produknya menjadi 50.

Coba jalankan fungsi itu di main() dan cetak perubahan harganya.


Soal 4 - Nil Pointer

Deskripsi:

Buat pointer ke string tanpa menginisialisasinya (alias nil).

Coba akses nilainya, dan amati apa yang terjadi.

Lalu, gunakan if untuk mengecek apakah pointer tersebut nil sebelum mengaksesnya, agar tidak panic.


Soal 5 - Swap 2 Variabel

Deskripsi:

Buat fungsi swap(a *int, b *int) yang menukar isi dari dua variabel integer menggunakan pointer.

Contoh:

go
x := 10
y := 20
swap(&x, &y)
fmt.Println(x, y)  // Output: 20 10

🔁 Bonus Challenge - Pointer Array

Deskripsi:

Buat array [5]int, lalu buat fungsi ubahArray(arr *[5]int) yang akan mengubah semua elemen array menjadi 1.

Cetak array sebelum dan sesudah perubahan.


Article Series

Golang Basic

Lanjutkan membaca seri ini untuk melihat perjalanan lengkapnya.

  1. 1
  2. 2
    Menginisiasi Project Golang
    23 Mar 20252 min read
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
    Function di Golang
    30 Mar 20253 min read
  8. 8
  9. 9
  10. 10
  11. 11
    Pointer di Golang
    14 Apr 20253 min read
  12. 12
    🧠 Latihan Pointer di Golang
    14 Apr 20252 min readCurrent article
  13. 13