1 Gambaran Operasi Golang
Dalam bahasa Go, operator digunakan untuk melakukan operasi kode program, termasuk operasi aritmatika, perbandingan relasional, operasi logis, dan lain-lain. Berbagai operator berkorespondensi dengan fungsionalitas dan skenario penggunaan yang berbeda. Memahami dan menguasai operator-operator ini merupakan dasar untuk pemrograman yang efektif.
2 Operator Aritmatika
Bahasa Go menyediakan serangkaian operator aritmatika:
- Penambahan (+): Operasi penambahan
- Pengurangan (-): Operasi pengurangan
- Perkalian (*): Operasi perkalian
- Pembagian (/): Operasi pembagian
- Sisa bagi (%): Operasi modulo
Contoh:
package main
import "fmt"
func main() {
// Operasi penambahan
sum := 10 + 5
fmt.Println("10 + 5 =", sum) // Output 15
// Operasi pengurangan
diff := 10 - 5
fmt.Println("10 - 5 =", diff) // Output 5
// Operasi perkalian
prod := 10 * 5
fmt.Println("10 * 5 =", prod) // Output 50
// Operasi pembagian
quot := 10 / 5
fmt.Println("10 / 5 =", quot) // Output 2
// Operasi modulo
rem := 10 % 5
fmt.Println("10 % 5 =", rem) // Output 0
}
3 Operator Logis
Operator logis dalam bahasa Go digunakan untuk menghubungkan beberapa kondisi (umumnya digunakan untuk nilai boolean). Ini mencakup tiga jenis: DAN (&&), ATAU (||), dan TIDAK (!).
3.1 DAN (&&)
Ketika semua kondisi benar, hasil dari operasi "AND" adalah benar.
Contoh:
package main
import "fmt"
func main() {
fmt.Println(true && true) // Output benar
fmt.Println(true && false) // Output salah
fmt.Println(false && false) // Output salah
// Hasilnya benar hanya jika kedua kondisi benar
}
3.2 ATAU (||)
Jika setidaknya satu kondisi benar, hasil dari operasi "OR" adalah benar.
Contoh:
package main
import "fmt"
func main() {
fmt.Println(true || true) // Output benar
fmt.Println(true || false) // Output benar
fmt.Println(false || false) // Output salah
// Hasilnya benar jika setidaknya satu kondisi benar
}
3.3 TIDAK (!)
Digunakan untuk membalikkan nilai boolean dari suatu kondisi.
Contoh:
package main
import "fmt"
func main() {
fmt.Println(!true) // Output salah
fmt.Println(!false) // Output benar
// Membalikkan nilai boolean
}
4 Operator Perbandingan
Operator perbandingan dalam bahasa Go digunakan untuk membandingkan dua variabel atau nilai:
- Sama dengan (==)
- Tidak sama dengan (!=)
- Lebih besar dari (>)
- Kurang dari (<)
- Lebih besar dari atau sama dengan (>=)
- Kurang dari atau sama dengan (<=)
Hasil dari operasi perbandingan adalah nilai boolean: true
atau false
.
5 Operator Bitwise
Di Go, operator bitwise memungkinkan kita untuk langsung memanipulasi bit biner data:
- Bitwise AND (&)
- Bitwise OR (|)
- Bitwise XOR (^)
- Bitwise left shift (<<)
- Bitwise right shift (>>)
Operator bitwise terutama digunakan dalam pemrograman tingkat rendah, seperti operasi langsung perangkat keras, enkripsi, dan skenario lainnya.
6 Operator Penugasan
Operator penugasan digunakan untuk memberikan nilai ke variabel. Dalam bahasa Go, terdapat berbagai bentuk operator penugasan:
- Penugasan sederhana (=)
- Penugasan penambahan (+=)
- Penugasan pengurangan (-=)
- Penugasan perkalian (*=)
- Penugasan pembagian (/=)
- Penugasan modulus (%=)
Operator-operator ini membuat kode lebih ringkas. Sebagai contoh, x += 1
ekuivalen dengan x = x + 1
.
7 Operator Khusus
7.1 Operator Peningkatan (++) dan Pengurangan (--)
Operator peningkatan (++) dan operator pengurangan (--) digunakan untuk menambahkan 1 dan mengurangkan 1 dari nilai variabel, secara berturut-turut. Mereka merupakan satu-satunya operator dalam bahasa Go yang dapat langsung berinteraksi dengan variabel itu sendiri (bukan pada suatu ekspresi).
package main
import "fmt"
func main() {
x := 1
x++
fmt.Println("x++ =", x) // Menghasilkan 2
y := 10
y--
fmt.Println("y-- =", y) // Menghasilkan 9
}
Perlu diingat bahwa dalam bahasa Go, x++
atau x--
tidak dapat menjadi bagian dari suatu ekspresi. Contohnya, z := x++
tidak diijinkan.
7.2 Konversi Tipe Data
Bahasa Go memiliki tipe data statis, yang berarti setelah sebuah variabel dideklarasikan, tipe datanya tidak dapat diubah. Oleh karena itu, terkadang perlu untuk mengonversi variabel dari satu tipe ke tipe lainnya. Go tidak memiliki konversi tipe data otomatis; konversi tipe eksplisit diperlukan.
Contoh:
package main
import (
"fmt"
)
func main() {
var i int = 42
fmt.Println(float64(i)) // Mengonversi int ke float64
var f float64 = 3.14
fmt.Println(int(f)) // Mengonversi float64 ke int, bagian desimal akan diabaikan
}
Saat melakukan konversi tipe data, penting untuk memastikan bahwa data aman selama proses konversi, seperti potensi kehilangan presisi saat mengonversi angka floating-point menjadi integer.