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
  2. Menampilkan alamat dari variabel tersebut
  3. Menyimpan alamatnya ke variabel pointer
  4. 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