Go From Zero to Hero #04: Membuat Program Interaktif dan Mengolah Data dengan Operator Go

Go From Zero to Hero #04: Membuat Program Interaktif dan Mengolah Data dengan Operator Go

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 DasarNotasi 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_1 dan nilai_y merupakan variabel atau wadah yang digunakan untuk menampung data dari user.
  • Instruksi Scan lebih direkomendasikan apabila kamu belum memahami string format.
  • Scanf merupakan instruksi input dengan format data tertentu. Di mana kode %d merupakan 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 PenandaTipe Data yang DitangkapKeterangan
%sStringDigunakan jika data yang diinput berupa teks (satu kata tanpa spasi).
%dIntegerDigunakan jika data yang diinput berupa angka bilangan bulat.
%fFloatDigunakan jika data yang diinput berupa angka desimal.
%tBooleanDigunakan 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 DasarNotasi dalam Bahasa GoKeterangan / 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 Println lebih 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 \n di 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 DasarNotasi Bahasa GoArti / 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 DasarNotasi Bahasa GoArti / 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:

OperatorNamaPenjelasan SingkatContoh 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!

Tags :
Share :
comments powered by Disqus

Related Posts

Go From Zero to Hero #03: Memahami Variabel, Data, dan Tipe Data Dasar pada Go

Go From Zero to Hero #03: Memahami Variabel, Data, dan Tipe Data Dasar pada Go

Halo Go Developers! Selamat datang kembali di seri Go From Zero to Hero. Di artikel kedua kemarin, kamu berhasil membuat program Hello World dan membedah kodenya. Gimana, seru kan? Nah, kalau kemarin …

Go From Zero to Hero #02: Membuat Program Pertama Hello World dan Memahami Struktur Kode Go

Go From Zero to Hero #02: Membuat Program Pertama Hello World dan Memahami Struktur Kode Go

Halo Go Developers! Selamat datang kembali di seri Go From Zero to Hero. Di artikel pertama sebelumnya, kita sudah berhasil melewati gerbang awal, yaitu melakukan instalasi Go di komputer …

Go From Zero to Hero #01: Pengenalan Golang dan Cara Setup Environment di Laptopmu

Go From Zero to Hero #01: Pengenalan Golang dan Cara Setup Environment di Laptopmu

Kenapa kamu harus belajar golang? Bayangkan kalau kamu bisa punya bahasa pemrograman yang punya kecepatan setara C++, tapi cara nulis kodenya segampang Python. Terdengar terlalu indah untuk jadi …