package main

import (
	"fmt"
	"sync"
)

// Pengguna menyimpan data profil seorang pengguna.
type Pengguna struct {
	Nama string `json:"nama"`
	Umur int    `json:"umur"`
	mu   sync.Mutex
}

// tampilkan mencetak umur pengguna dengan kunci terlindungi.
func tampilkan(p *Pengguna) {
	p.mu.Lock()
	defer p.mu.Unlock()
	fmt.Printf("Umur: %d\n", p.Umur)
}

func main() {
	p := Pengguna{Nama: "Budi", Umur: 25}
	tampilkan(&p)
}
