Selalu ingin mencoba hal - hal yang baru meski penuh resiko dan tantangan yang sulit. "Kain kafan tidak berkantung".

Golang tutorial indonesia – Tipe data : integer dan float

1
Degananda.com -

Built in vs Non built in

Dalam setiap bahasa pemrograman tentunnya pasti terdapat tipe data yang digunakan sebagai jenis dari suatu variable. Golang memiliki dua jenis tipe data pertama yakni built in dan non-built in. Tipe data built-in adalah tipe data yang telah didefinisikan oleh golang. Sedangkan non-built ini adalah tipe data yang dapat kita definisikan sesuai dengan keinginan.

Jika anda pernah menggunakan java maka built ini adalah primitive data type dan non built in adalah non primitive data type. Contoh built in data type dalam golang adalah Number, String dan Boolean. Ulasan ini akan membahas ketiga tipe data built in tersebut. Sedangkan untuk mendefinisikan non-built in data type pada golang dapat dibuat dengan menggunakan struct. Singkatnya struct adalah suatu object yang memiliki field (mirip object dalam javascript).

Tipe Data 1 : Number

Sesuai dengan namannya number atau jika dalam bahasa indonesia berarti “angka” maka tipe data ini khusus menangani hal-hal yang berhubungan dengan angka. Ciri utama data yang berupa angka atau number adalah

  1. Dapat dioperasikan dengan berbagai operator contohnya petambahan , pengurangan dan lain-laon
  2. Ditulis dengan angka (1,2,3,4,5,6,7,8,9,10) dan jika ingin menggunakan koma maka simbolnya adalah titik “.” bukan “,”.

Pada pemrograman golang tipe data number dibagi menjadi dua jenis yaitu

  1. Integer
    Integer digunakan untuk tipedata yang menyimpan bilangan bulat. Contohnya -125 , 128, 326. Integer juga memiliki kapasitas. Contohnya int32 memiliki kapasitas dari -2^32 sampai 2^32. Begitu juga dengan int64 kapasitasnya adalah mulai dari -2^64 hingga 2^64.
  2. Floating-point number
    Berbeda dengan integer yang menghandle bilangan bulat. Floating point number didalam golang ini digunakan untuk menyimpan angka desimal (angka yang menggunakan koma). Contohnya adalah 2.56 , 8129,325 dan lain sebagainnya. Floating point number juga memiliki kapasitas 32bit dan 64bit. Jika membutuhkan presisi yang tinggi maka gunakanlah 64bit.

Penulisan pada memory

Yang sebenarnya terjadi saat kita menuliskan 1,2,3,4,5 didalam komputer adalah angka-angka tersebut akan dikonversi menjadi bilangan biner. 0, 1, 11, 100, 101. karena komputer tidak dapat membaca angka selain satu dan nol.

1.1 Integer

Contoh tipe data integer adalah int32 dan int64. Namun selain dua tipe data integer tersebut juga terdapat jenis lain yakni unsigned integer (unit). int32 dan int64 adalah signed integer. Perbedaanya adalah signed integer (int32/int64) dapat menghandle bilangan bulat negative maupun positive. Sedangkan unsigned integer (uint32/uint64) hanya dapat menghandle bilangan bulat yang positive ataupun bernilai 0.

Dalam best practicenya selalu gunakanlah int yang secara default adalah int32. Jangan menggunakan uint jika memang tidak diperlukan. Contoh mendefinisikan integer dalam go adalah sebagai berikut ini

package main

import (
	"fmt"
)

func main() {
	/*
		Working with number
	*/
	fmt.Println("2+2 adalah", 2+2)
}

2 merupakan bilangan bulat yang berarti angka 2 adalah suatu integer. Kita dapat mengoperasikan setiap expresi yang melibatkan angka. Contohnya diatas yakni melakukan penjumlahan 2+2 yang menghasilkan angka 4. Jika anda ingin menampilkan dua data dengan jenis yang berbeda maka dipisahkan dengan menggunakan “,” koma. Jika datannya memiliki tipe sama maka dapat dilakukan operasi dengan menggunakan operator.

Daftar operator pada golang

Ini adalah beberapa operator dalam golang yang dapat digunakan di number.

Operator Fungsi
+ (plus) melakukan penjumlahan antar angka maupun melakukan concat pada suatu string (dibahas pada bagian string)
– (minus) Melakukan pengurangan pada angka Tidak bekerja diselesain angka
* (Multiply/kali) Melakukan operasi perkalian pada angka. Tidak bekerja diselesain angka
/ (divide/bagi) Melakukan pembagian pada angka Tidak bekerja diselesain angka

Jika anda ingin melakukan operasi lain maka gunakanlah package “Math” yang didalamnya terdapat beragam fungsi terkait dengan Matematika contohnya

  1. Mendapatkan nilai sin,cos,tan dan lain sebagainnya
  2. Melakukan akar, pow(pengkat)
  3. Dan lain – lain

Contoh penggunaan package math untuk melakukan pow atau pemangkatan adalah sebagai berikut ini.

package main

import (
	"fmt"
	"math"
)

func main() {
	/*
		Working with number
	*/
	fmt.Println(math.Pow(2, 3))
}

Dua akan dipangkatkan dengan 3 yang akan menghasilkan delapan (8). Itulah penggunaan integer dalam golang. Yang perlu digaris bawahi adalah

  1. Gunakan operator untuk melakukan operasi pada data yang memiliki tipe sama (int dengan int)
  2. Gunakan simbol “,” koma jika ingin menampilkan dua data yang memiliki tipe tidak sama (contohnya menggabungkan antara string dan integer).

1.2 Float

Pada tipe float terdapat dua jenis yakni float32 dan float64. Jika anda berasal dari background java float64 ini sama seperti tipe data dobule yang memiliki kapasitas 64 bit. Contoh dari float adalah 0.5, 0.83737 dan lain – lain. Operasi yang dapat dilakukan pada float sama seperti dengan integer. Terdapat penjumlahan(+) , pengurangan(-), perkalian (*) dan pembagian (/).

Selain dapat mengakomodasi bilangan desimal float juga dapat merepresentasikan bilangan NaN (not a number) yang biasannya dihasilkan dari pembagian 0/0 dan juga positif / negatif dari bilangan tak terhingga (infinity). Intinnya kita menggunakan float jika sedang bekerja  dengan bilangan desimal. Contoh penggunaan float pada golang

package main

import (
	"fmt"
	"math"
)

func main() {
	/*
		Working with Float
	*/
	fmt.Println("1.8+1.6 adalah", 1.8+1.6)
	fmt.Println(math.Pow(2, 3))
}

Golang akan secara otomatis mengkonversi nilai 1.8+1.6 menjadi float. begitu pula jika kita menambahkan bilangan desimal(float) dengan bilangan bulat(integer) maka secara otomatis akan menjadi float. Perhatikan contoh dibawah ini

package main

import (
	"fmt"
)

func main() {
	fmt.Println("1.5 + 8 adalah", 1.5+8)
}

kode diatas jika dieksekusi akan menghasilkan tampilan pada konsol seperti dibawah ini

angka akan secara otomatis dikonversikan menjadi float. Dan tidak dibulatkan. Inilah salah satu sifat dari go yakni memiliki kemampuan menyesuaikan hasil operasi.