package main

import (
	"bufio"
	"fmt"
	"strconv"
	"strings"
)

func main() {
	data := "nama, kota, umur\nBudi, Jakarta, 25\nSiti, Bandung, dua puluh\nDewi, Solo, 27"

	// bufio.Scanner membaca baris demi baris dari string.
	scanner := bufio.NewScanner(strings.NewReader(data))
	scanner.Scan() // buang baris kepala tabel
	for scanner.Scan() {
		// Split kolom lalu bersihkan spasi di tiap kolom.
		kolom := strings.Split(scanner.Text(), ",")
		for j := range kolom {
			kolom[j] = strings.TrimSpace(kolom[j])
		}

		// Kolom umur divalidasi sebagai angka.
		umur, err := strconv.Atoi(kolom[2])
		if err != nil {
			fmt.Printf("%s: kolom umur tidak valid (%v)\n", kolom[0], err)
			continue
		}
		fmt.Printf("%s (%s) berumur %d tahun\n", kolom[0], kolom[1], umur)
	}
}
