Lompat ke konten utama
←

Go dari Nol

Pelajaran 3 dari 15

Program Go pertama: struktur, variabel, dan tipe

Tipe angka, teks, dan konversi

Setelah pelajaran ini kamu bisa memprediksi hasil pembagian bilangan bulat dan operator %, menulis konversi tipe yang eksplisit, dan memilih cara yang benar untuk mengubah angka menjadi teks.

±13 menitDiperiksa 5 Okt 2026

Latihan di pelajaran ini butuh akun gratis. Progres, kode, dan catatanmu hanya tersimpan di browser ini. Masuk untuk menyimpannya

Materi

Tipe dasar yang paling sering dipakai: int untuk bilangan bulat, float64 untuk bilangan pecahan, string untuk teks, dan bool untuk true atau false. Pembagian dua int menghasilkan int dengan bagian pecahan dibuang: 7 / 2 bernilai 3. Sisanya diambil dengan operator %, jadi 7 % 2 bernilai 1. Hasil pecahan hanya muncul bila operannya float64.

Go tidak pernah mengubah tipe secara diam-diam. Mengalikan harga bertipe int dengan diskon bertipe float64 ditolak dengan pesan mismatched types int and float64. Konversi ditulis eksplisit dengan nama tipe seperti memanggil fungsi: float64(harga) * diskon menghasilkan float64, dan int(x) membuang bagian pecahan x. Perhatikan letak konversinya: float64(7 / 2) bernilai 3, karena pembagian bulat sudah terjadi sebelum dikonversi.

package main

import (
	"fmt"
	"strconv"
)

func main() {
	harga := 15000
	diskon := 0.2
	fmt.Println(float64(harga) * diskon)    // 3000
	fmt.Println(7/2, 7%2, float64(7)/2)     // 3 1 3.5
	fmt.Println("Meja " + strconv.Itoa(12)) // Meja 12
	fmt.Println("Meja " + fmt.Sprint(12))   // Meja 12
}

Angka diubah menjadi teks dengan strconv.Itoa atau fmt.Sprint. Konversi string(12) memang lolos kompilasi, tetapi hasilnya satu karakter dengan kode Unicode 12, bukan teks "12"; go vet memperingatkan konversi seperti itu.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 1 dari 3

Apa yang dicetak program ini?

package main

import "fmt"

func main() {
	total := 7
	orang := 2
	fmt.Println(total/orang, total%orang)
	fmt.Println(float64(total) / float64(orang))
}
Pilih satu jawaban

Latihan 2 dari 3

Kompilasi program ini gagal. Pengganti baris potongan mana yang membuat program mencetak 1500?

package main

import "fmt"

func main() {
	harga := 15000
	diskon := 0.1
	potongan := harga * diskon
	fmt.Println(potongan)
}
Pilih satu jawaban

Latihan 3 dari 3

Isian ____ mana yang membuat program mencetak Meja 12?

package main

import "fmt"

func main() {
	nomor := 12
	label := "Meja " + ____
	fmt.Println(label)
}
Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke