package main

import (
	"errors"
	"fmt"
)

// bagi membagi a dengan b dan melaporkan galat saat pembagi nol.
func bagi(a, b int) (int, error) {
	if b == 0 {
		return 0, errors.New("pembagi tidak boleh nol")
	}
	return a / b, nil
}

// minMax mengembalikan nilai terkecil dan terbesar dari slice.
func minMax(angka []int) (int, int) {
	kecil := angka[0]
	besar := angka[0]
	for _, v := range angka {
		if v < kecil {
			kecil = v
		}
		if v > besar {
			besar = v
		}
	}
	return kecil, besar
}

func main() {
	hasil, err := bagi(10, 2)
	if err != nil {
		fmt.Println("Galat:", err)
	} else {
		fmt.Println("10 / 2 =", hasil)
	}

	hasil, err = bagi(10, 0)
	if err != nil {
		fmt.Println("Galat:", err)
	} else {
		fmt.Println("10 / 0 =", hasil)
	}

	kecil, besar := minMax([]int{23, 7, 45, 15})
	fmt.Printf("Terkecil: %d, Terbesar: %d\n", kecil, besar)

	// Pengenal kosong _ membuang nilai pertama.
	_, terbesar := minMax([]int{8, 3, 19})
	fmt.Println("Hanya butuh terbesar:", terbesar)
}
