
Go From Zero to Hero #05: Panduan Lengkap Konversi Data (Casting) & Modulo di Go-lang
- Daffa Fadhil
- Golang, Code
- 20 Mei 2026
Table of Contents
Halo Go Developers! Selamat datang kembali di seri Go From Zero to Hero.
Di artikel keempat kemarin, kita sudah berhasil membedah operator aritmatika dan logika dasar di Go-lang serta cara membuat program interaktif. Kita sudah belajar bagaimana cara menerima input langsung dari keyboard dan mengolahnya agar program kita bisa menghasilkan output dasar yang kita inginkan.
Nah, di artikel kelima ini, kita akan menaikkan lagi ketelitian kode program kita ke tingkat yang lebih tinggi! Kita akan berkenalan dengan sebuah konsep penting yang sering banget bikin para programmer pemula garuk-garuk kepala karena bingung dengan hasil hitungan komputernya, yaitu Konversi Tipe Data (Casting) dan operasi matematika cerdas bernama Modulo.
Pernah gak sih kamu iseng membagi angka 5 dengan 2 di kalkulator HP? Hasilnya pasti 2.5, kan? Tapi tahu gak, kalau kamu menyuruh komputer melakukan hal yang sama lewat tipe data bilangan bulat di Go-lang, hasilnya secara ajaib berubah menjadi 2! Ke mana perginya angka 0.5 tersebut?
Di artikel ini, kita akan mengupas tuntas kenapa fenomena “hilang angka desimal” itu bisa terjadi di dalam komputer, lengkap dengan analogi dunia nyata, cara menyelamatkannya lewat ilmu Casting, hingga trik memanfaatkan sisa pembagian tersebut untuk membuat logika program yang super cerdas.
Di akhir artikel nanti, kamu akan paham kenapa para programmer profesional sangat teliti dalam memilih tipe data angka agar tidak terjadi bug perhitungan yang fatal!
Sudah siap berdamai dengan matematika komputer agar kodemu terlihat lebih profesional? Yuk, siapkan teks editor favoritmu, ambil posisi duduk paling nyaman, dan mari kita mulai!
Misteri “Hilangnya” Angka Desimal (Integer Division)
Sebelum masuk ke codingan, kita harus tahu dulu aturan main di Go-lang. Go adalah bahasa yang sangat kaku dan disiplin. Jika kamu melakukan operasi matematika antara bilangan bulat (int) dengan bilangan bulat (int), maka Go akan selalu menghasilkan bilangan bulat juga.
Mari kita buktikan lewat contoh kode ini:
package main
import "fmt"
func main() {
pembilang := 5 // Tipe data otomatis int
penyebut := 2 // Tipe data otomatis int
hasil := pembilang / penyebut
fmt.Println("Hasil 5 / 2 adalah:", hasil)
}
Jika kode di atas dijalankan, output di terminalmu akan memunculkan angka 2, bukan 2.5.
Komputer tidak salah, Karena pembilang dan penyebut sama-sama bertipe int, komputer langsung memotong (truncate) bagian desimal di belakang koma. Angka .5-nya dibuang begitu saja. Fenomena ini disebut dengan Integer Division.
Lalu, bagaimana cara menyelamatkan angka di belakang koma tersebut? Di sinilah kita butuh ilmu Casting!
Menyelamatkan Desimal dengan Konversi Tipe Data (Casting)
Casting adalah proses memaksa suatu tipe data untuk berubah wujud menjadi tipe data lain. Agar hasil pembagian kita bisa memunculkan angka desimal, kita harus mengubah (mengonversi) variabel int tersebut menjadi float64 sebelum proses pembagian terjadi.
Cara menulis casting di Go-lang sangat mudah: ketik TipeDataTujuan(NamaVariabel).
Mari kita perbaiki kode di atas:
package main
import "fmt"
func main() {
pembilang := 5
penyebut := 2
// Kita ubah wujud kedua variabel menjadi float64 sebelum dibagi
hasilTepat := float64(pembilang) / float64(penyebut)
fmt.Println("Hasil 5 / 2 setelah casting adalah:", hasilTepat)
}
Output:
Hasil 5 / 2 setelah casting adalah: 2.5
Boom! Angka 2.5 berhasil diselamatkan. Sekarang komputermu sudah menghitung dengan akurasi yang tepat.
Mengenal Operator Modulo (%): Berburu Sisa Bagi
Jika operator garis miring (/) digunakan untuk mencari hasil bagi, maka Go-lang menyediakan operator persen (%) yang dinamakan Modulo. Fungsinya adalah untuk mencari sisa dari hasil pembagian.
Mari kita pakai analogi dunia nyata:
Kamu punya 5 buah kelereng dan ingin membagikannya secara adil kepada 2 orang temanmu. Masing-masing teman akan mendapatkan 2 kelereng secara rata. Nah, dari total 5 kelereng tadi, pasti tersisa 1 kelereng di tanganmu yang tidak bisa dibagi rata, kan? Angka 1 itulah yang disebut Modulo!
Mari kita praktekkan ke dalam kode Go:
package main
import "fmt"
func main() {
sisaKelereng := 5 % 2
fmt.Println("Sisa bagi dari 5 Modulo 2 adalah:", sisaKelereng)
}
Output:
Sisa bagi dari 5 Modulo 2 adalah: 1
Buat Apa Sih Modulo di Dunia Nyata?
Operator Modulo ini sering banget dipakai programmer untuk membuat logika cerdas, salah satu yang paling populer adalah mendeteksi bilangan ganjil atau genap.
Jika suatu angka di-modulo 2 hasilnya 0, maka angka itu pasti Genap (habis dibagi 2).
Jika suatu angka di-modulo 2 hasilnya 1, maka angka itu pasti Ganjil (ada sisa 1).
Kesimpulan & Penutup
Komputermu Sekarang Jauh Lebih Teliti! 🧠
Selamat! Kamu sudah menguasai salah satu trik paling krusial dalam dunia coding. Sekarang program Go kamu sudah jauh lebih teliti karena tidak akan lagi “kecolongan” kehilangan angka desimal lewat ilmu Casting, dan kamu juga sudah punya senjata rahasia Modulo untuk mendeteksi berbagai logika sisa pembagian.
Yuk, Nyicip Eksperimen Kecil! 🛠️
Biar makin paham, coba buat dua variabel angka bulat (int) bebas, lalu lakukan pembagian (/) tanpa menggunakan casting float64. Coba masukkan angka yang hasilnya pasti desimal (misalnya 7 dibagi 2).
Kira-kira apa hasil akhir yang dicetak oleh komputermu? Yuk, tulis hasilnya di kolom komentar!
🎯 Tantangan Untukmu (Challenge!):
Buatlah sebuah program Go yang meminta user memasukkan sebuah angka bulat secara interaktif melalui keyboard. Kemudian, gunakan operator Modulo (%) untuk mengecek sisa baginya jika dibagi 2. Cetak hasilnya di terminal! (Petunjuk: Jika output modulo-nya 0 berarti genap, jika 1 berarti ganjil).
Bisa ngerjainnya? Yuk, pamerkan kode hasil karyamu di kolom komentar di bawah! Kalau ada yang bingung atau ketemu error, tanyakan saja, kita selesaikan sama-sama.
Bocoran Artikel #06 🚀
Bisa mengubah tipe data dan mencari sisa bagi saja tentu belum cukup kalau program kita jalannya masih lurus-lurus saja dari atas ke bawah.
Di artikel Go From Zero to Hero #06 selanjutnya yang berjudul “Logika Percabangan Bagian 1 - Mengambil Keputusan dengan If-Else”, kita akan mulai memberikan “otak” kepada program kita agar bisa memilih jalur kodenya sendiri berdasarkan kondisi tertentu!
Sampai jumpa di artikel berikutnya, tetap semangat, dan happy coding!