
Go From Zero to Hero #04: Membuat Program Interaktif dan Mengolah Data dengan Operator Go
- Daffa Fadhil
- Golang , Code
- 19 Mei 2026
Table of Contents
Halo Go Developers! Selamat datang kembali di seri Go From Zero to Hero.
Di artikel ketiga kemarin, kita sudah berhasil memberikan “daya ingat” pada program kita lewat variabel dan tipe data. Tapi kalau kamu perhatikan, program kita kemarin masih terasa sepi dan membosankan karena kodenya baru berjalan satu arah. Komputer cuma menampilkan apa yang sudah kita tulis, tanpa mau mendengarkan apa yang diinginkan oleh penggunanya.
Nah, di artikel keempat ini, kita akan menaikkan level program kita secara drastis! Kita akan membuat program yang jauh lebih hidup dan bisa berkomunikasi dua arah.
Tidak tanggung-tanggung, dalam satu artikel ini kita akan menggabungkan dua materi super penting sekaligus: Input-Output (I/O) untuk menangkap ketikan dari keyboard, dan Operator untuk mengolah data tersebut lewat hitungan matematika dan logika.
Di akhir artikel nanti, kamu tidak cuma belajar teori saja, tapi kita akan langsung mempraktikkannya untuk membuat sebuah aplikasi Kalkulator Pintar buatanmu sendiri!
Sudah tidak sabar melihat program Go kamu bisa diajak tanya-jawab dan berhitung? Yuk, siapkan teks editor favoritmu, ambil posisi duduk paling nyaman, dan mari kita mulai!
Input & Output
input output (I/O) adalah interaksi paling dasar di dalam go yang harus kamu kuasai. Kenapa?, karena lewat input dan output cara kita berkomunikasi dengan user dalam menginput data dari keyboard dan menampilkan data yang telah di olah ke dalam terminal. mari kita bahas secara detail satu persatu.
Input (Memasukkan Data)
Jika di artikel sebelumnya kita menginput data secara statis di kode program kali ini kita akan membuat program kita bisa menerima input dari keyboard yang di ketik user dan di simpan ke dalam variable yang telah di tentukan.
Di dalam sintax go ada beberapa perintah untuk menerima input dari keyboard user tergantung kebutuhan kita. Berikut adalah tabel sintax input di dalam go:
Notasi Instruksi Dasar Input
Berikut adalah perbandingan antara notasi algoritma (instruksi dasar) dan penerapannya langsung ke dalam kode bahasa Go:
| Notasi Instruksi Dasar | Notasi dalam Bahasa Go |
|---|---|
| input(var_1) | fmt.Scan(&var_1) fmt.Scanf("%d", &var_1) |
| input(var_1, nilai_y) | fmt.Scan(&var_1, &nilai_y) |
Keterangan Penting:
var_1dannilai_ymerupakan variabel atau wadah yang digunakan untuk menampung data dari user.- Instruksi
Scanlebih direkomendasikan apabila kamu belum memahami string format. Scanfmerupakan instruksi input dengan format data tertentu. Di mana kode%dmerupakan format khusus untuk data yang berupa bilangan bulat (integer).
Kode Penanda (Formatting Verbs) pada Scanf
ketika kamu menggunakan perintah fmt.Scanf(), kamu wajib memberi tahu Go format tipe data apa yang akan diketik oleh user.
Berikut adalah kode penanda yang paling sering digunakan untuk menangkap input:
| Kode Penanda | Tipe Data yang Ditangkap | Keterangan |
|---|---|---|
%s | String | Digunakan jika data yang diinput berupa teks (satu kata tanpa spasi). |
%d | Integer | Digunakan jika data yang diinput berupa angka bilangan bulat. |
%f | Float | Digunakan jika data yang diinput berupa angka desimal. |
%t | Boolean | Digunakan jika data yang diinput berupa nilai logika (true atau false). |
Output (Menampilkan Data)
jika input adalah data dari user, maka Output adalah instruksi untuk menampilkan data yang telah di input atau di olah oleh program ntuk menampilkan data atau informasi kembali kepada user melalui terminal.
Sama seperti input, di output juga ada beberapa perintah fungsi print di dalam paket fmt. Berikut adalah tabel perbandingannya:
| Notasi Instruksi Dasar | Notasi dalam Bahasa Go | Keterangan / Sifatnya |
|---|---|---|
output(var_1) | fmt.Print(var_1) | Mencetak data secara polos. Tidak menambahkan spasi maupun baris baru di akhir kalimat. |
output(var_1) | fmt.Println(var_1) | Otomatis menambahkan spasi jika menggabungkan beberapa variabel dengan koma (,), dan otomatis membuat baris baru (\n) di akhir kalimat. |
output(var_1) | fmt.Printf("Format", var_1) | Mencetak dengan format khusus (formatted string). Kita bisa menyisipkan variabel ke dalam teks menggunakan kode penanda khusus. |
Kode Penanda (Formatting Verbs) pada Printf
Saat menggunakan fmt.Printf, kamu akan sering menggunakan kode penanda khusus yang disesuaikan dengan tipe data variabel yang ingin ditampilkan. Berikut beberapa yang paling sering digunakan:
%s: Digunakan untuk menampilkan data berupa teks (String).%d: Digunakan untuk menampilkan data berupa angka bilangan bulat (Decimal/Integer).%f: Digunakan untuk menampilkan data berupa angka desimal (Float).%t: Digunakan untuk menampilkan data berupa logika benar/salah (Boolean).
Keterangan & Aturan Main:
- Instruksi
Printlnlebih direkomendasikan untuk pemula karena penggunaannya yang simpel dan otomatis merapikan baris baru di terminal tanpa perlu pusing memikirkan kode format. - Jika menggunakan
Printf, jangan lupa menambahkan kode\ndi akhir teks jika kamu ingin kursor terminal pindah ke baris baru secara manual.
Operator Aritmatika & Perbandingan
Setelah kita bisa mengambil data dari user lewat perintah Input, sekarang pertanyaannya: Bagaimana cara program mengolah data tersebut? Di sinilah kita menggunakan Operator. Jika variabel adalah wadah penyimpanannya, maka Operator adalah “otak” atau mesin yang melakukan tindakan, mulai dari berhitung matematika sampai membandingkan data.
Di dalam bahasa Go, operator dasar ini dibagi menjadi dua kelompok utama yang wajib kamu kuasai:
Operator Aritmatika (Mesin Hitung)
Operator ini digunakan untuk melakukan operasi matematika dasar pada tipe data angka (int dan float).
| Notasi Dasar | Notasi Bahasa Go | Arti / Kegunaan |
|---|---|---|
+ | + | Pertambahan |
- | - | Pengurangan |
* | * | Perkalian |
/ | / | Pembagian |
mod | % | Modulus (Sisa Hasil Bagi) |
Note
Modulus adalah sisa dari hasil pembagian. Contohnya, 5 % 2 hasilnya adalah 1. Kenapa? Karena 5 dibagi 2 yang paling mendekati adalah 4, dan sisanya adalah 1. Operator ini sangat berguna di dunia nyata, salah satunya untuk mengecek apakah suatu angka ganjil atau genap.
Operator Perbandingan (Mesin Logika)
Operator ini digunakan untuk membandingkan dua buah nilai. Hasil dari operator perbandingan ini selalu berupa tipe data Boolean, yaitu kalau tidak true (benar) pasti false (salah).
| Notasi Dasar | Notasi Bahasa Go | Arti / Kegunaan |
|---|---|---|
= | == | Sama dengan |
≠ | != | Tidak sama dengan |
> | > | Lebih besar dari |
< | < | Lebih kecil dari |
≥ | >= | Lebih besar atau sama dengan |
≤ | <= | Lebih kecil atau sama dengan |
Warning
Peringatan Pemula: Jangan sampai tertukar antara = dan ==.
- Tanda
=(satu) digunakan untuk mengisi data (assignment) ke dalam variabel. - Tanda
==(dua) digunakan untuk membandingkan apakah data di kiri dan di kanan nilainya sama.
Operator Logika (Gerbang Logika)
Nah, kalau sebelumnya kita sudah bisa membandingkan nilai pakai operator pembanding (seperti >, <, ==), sekarang gimana kalau kondisi yang mau kita cek ada lebih dari satu?
Misalnya: “Kamu boleh masuk sistem kalau username benar DAN password juga benar.” Untuk menggabungkan dua kondisi atau lebih seperti itu, kita butuh yang namanya Operator Logika. Di bahasa Go, ada 3 operator logika dasar yang wajib banget kamu tahu:
Operator Logika (Gerbang Logika)
Nah, kalau sebelumnya kita sudah bisa membandingkan nilai, sekarang gimana kalau kondisi yang mau kita cek ada lebih dari satu? Misalnya: “Kamu baru bisa login kalau username benar DAN password juga benar.” Untuk menggabungkan kondisi-kondisi seperti itu, kita butuh Operator Logika. Di bahasa Go, cuma ada 3 operator dasar yang wajib kamu tahu:
| Operator | Nama | Penjelasan Singkat | Contoh Nyata |
|---|---|---|---|
&& | AND (DAN) | Hasilnya true kalau semua kondisi benar. Ada satu aja yang salah, langsung gagal. | (umur > 17) && punyaSIM(Harus cukup umur DAN punya SIM) |
|| | OR (ATAU) | Hasilnya true kalau salah satu kondisi benar. Baru gagal kalau semuanya salah. | punyaKTP || punyaPaspor(Bisa pakai KTP ATAU pakai Paspor) |
! | NOT (KEBALIKAN) | Tugasnya cuma memutarbalikkan nilai. true jadi false, sebaliknya juga begitu. | !hujan(Kalau hujan = true, hasilnya jadi false) |
Jka udah materi tidak lengkap rasanya kalau kita belum praktek membuat program dengan input output (I/O) dan operator pada go
Contoh Penerapan Program
Membuat program menghitung volume balok sederhana
package main
import "fmt"
func main () {
var p,l,t int //Membuat variable untuk menyimpan input
fmt.Print("Masukkan angka: ") //Membuat tampilan untuk input angka
fmt.Scan(&p, &l, &t) // angka yang di inpun di scan dan di simpan di variable p (panjang), l (lebar), t (tinggi)
rumus:= p*l*t //membuat variable langsung tanpa perlu mendeklarasikan di var menggunakan := agar lebih rapi
//p*l*t proses penghitungan agka dari input dan di simpan di variable rumus
fmt.Print("hasil: ", rumus) //Menampilkan hasil proses yang di simpan di variable rumus
// fmt.Printf("hasil: %d\n", rumus) Menggunakan Printf dan kode penanda (%d) karena input integer output juga integer
}
Cara input data antara variable di pisahkan dengan spasi misal kita input kode di atas 15 8 10 (15 untuk panjang, 8 untuk lebar, 10 untuk tinggi) jadi setiap variable di pisah spasi.
Kesimpulan & Penutup
Selamat! Sampai di titik ini, kamu sudah berhasil menaikkan level kemampuan kodingmu secara drastis.
Dalam satu artikel ini, kita tidak hanya belajar teori, tapi juga berhasil membuat sebuah program dua arah yang interaktif. Kamu sudah bisa menyuruh komputer menerima ketikan dari keyboard (Input), mengolahnya menggunakan rumus matematika (Operator), dan menampilkan hasilnya kembali dengan rapi ke layar (Output). Program Pencari Volume Balok yang kamu buat tadi adalah bukti nyata bahwa kamu sudah memahami pondasi penting di bahasa Go!
🔍 Bocoran Artikel Selanjutnya: Membuat Program Mengambil Keputusan
Program hitung volume balok yang kita buat tadi memang sudah berjalan dengan baik, tapi kodenya masih sangat “lugu”. Program tersebut langsung menghitung apa saja angka yang dimasukkan oleh user, bahkan jika user iseng memasukkan angka 0 atau angka minus (-) yang sebenarnya tidak masuk akal untuk ukuran sebuah balok.
Nah, di Artikel #05 nanti, kita akan belajar cara memberikan “hak memilih” atau kemampuan mengambil keputusan pada program kita menggunakan logika Percabangan (if-else).
Nantinya, kita akan memanfaatkan Operator Perbandingan (seperti >, ==, <, dll) yang sudah kita pelajari hari ini sebagai syarat penentu kondisinya. Dengan if-else, kita bisa membuat program kita jauh lebih cerdas dan aman, misalnya:
- Jika (if) angka yang diinput lebih besar dari 0 (
p > 0), maka program akan melanjutkan hitungan. - Selain itu (else), program akan menampilkan pesan peringatan: “Input tidak valid! Angka harus lebih besar dari 0.”
Seru banget, kan? Jadi program kita tidak akan langsung crash atau mengeluarkan hasil minus kalau user salah ketik. Jangan sampai kelewatan artikel selanjutnya, ya!
Sekarang, coba kamu praktikkan kode di atas di laptop masing-masing. Jika berhasil running atau punya pertanyaan seputar input-output ini, langsung saja coret-coret di kolom komentar di bawah. Sampai jumpa di artikel berikutnya, dan happy coding!