ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
II
(Standard Library, Variabel, Konstanta Tipe Data, Operator)
Roadmap pembelajaran Go
- Setup GoSDK
- Struktur kode Go
- Kompilasi kode
Go
I
II
- Standar Lib Go
- Variabel
- Konstanta
- Tipe Data
- Operator
III
IV
...
API
Apa yang kita pelajari?
1. Standar Library GO
2. Package
3. Import
4. Variabel
5. Tipe Data
6. Konstanta
7. Operator dan Delimiter
Tujuan pembelajaran
Poin - poin yang kita harap dapatkan pada sesi ini :
Pengetahuan
• Mengetahui pustaka standar pada Go
• Mengetahui keyword (var, const, package, import) pada Go
• Mengetahui tipe data pada Go
• Mengetahui operator pada Go
Skills
• Dapat menggunakan keyword Go pada aplikasi
• Dapat menggunakan tipe data
• Dapat menggunakan operator
Pustaka (Library)
• Library adalah kumpulan dari fungsi, class-class, object, konstanta, dan template yang digunakan
untuk melakukan operasi-operasi dasar dan beberapa fungsi lainnya.
• koleksi dari rutin-rutin program yang digunakan untuk membangun dan mengembangkan
perangkat lunak (https://id.wikipedia.org/wiki/Pustaka_perangkat_lunak)
Pustaka Standar (Standard Library) Go
• Pustaka (library) standar Go dilengkapi dengan banyak paket yang berguna yang
dapat digunakan untuk membangun aplikasi. Contohnya pustaka (library) standar
"net / http", paket yang terdapat dalam pustaka ini dapat digunakan untuk
membangun aplikasi atau layanan berbasis web. Paket dari pustaka standar
tersedia pada folder "pkg" yaitu subdirektori dari direktori GOROOT.
Library Package Deskripsi
fmt Paket fmt digunakan untuk fungsi I/O, penamaan fungsi-fungsinya menyerupai dengan fungsi pada C (contoh :
printf and scanf)
encoding ascii85, asn1,
base32, base64, csv,
hex, json, xml...
Paket encoding digunakan untuk melakukan mengkonversi data ke dan dari satu format ke format yang lain baik
pada tingkatan byte ataupun tekstual.
net http (cgi, cookiejar,
fcgi, httptest,
httptrace ...),
mail, rpc (jsonrpc),
smtp, url, ...
Paket net menyediakan antarmuka untuk fungsi-fungsi seperti network I/O, termasuk TCP/IP, UDP, domain name
resolution (dns) dan Unix domain sockets.
regexp syntax Paket regexp menyediakan fungsi pencarian teks menggunakan regular expression
strconv Paket strconv menyediakan fungsi-fungsi konversi tipe data.
time Paket time menyediakan fungsi - fungsi mengukur dan menampilkan waktu.
math big, cmplx, rand Paket math menyediakan fungsi-fungsi matematika.
image color(palette), draw,
gif, jpeg, png
Paket image menyediakan fungsi-fungsi dasar pemrosesan image 2 dimensi (2D)
errors Paket errors menyediakan fungsi-fungsi untuk pemrosesan error
database driver Paket sql menyediakan fungsi-fungsi umum SQL database.
crypto aes, cipher, des, dsa,
md5, hmac, rsa, ...
Paket crypto menyediakan fungsi-fungsi kriptografi
Library Package Deskripsi
archive tar, zip Paket archive menyediakan fungsi-fungsi pengaksesan file arsip (zip atau tar)
html template Paket html menyediakan fungsi-fungsi untuk pemrosesan HTML text.
log syslog Paket log menyediakan fungsi-fungsi sederhana penulisan log
sumber : https://golang.org/pkg/#stdlib
Kata kunci (Keywords)
• Pada bahasa pemrograman Go terdapat 25 kata kunci (keywords)
yang dapat dituliskan sebagai berikut:
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var
Paket (Package)
• File sumber (source file) Go disusun didalam direktori sistem yang disebut paket,
kode-kode tersebut dimungkinkan untuk dapat digunakan diseluruh aplikasi Go.
• Konvensi penamaan pada paket Go menggunakan nama direktori sistem di mana
kita meletakkan file sumber, sehingga nama paket akan sama untuk semua file
sumber yang termasuk ke direktori tersebut.
Paket utama (Package main)
• Paket utama (Package main) digunakan pada aplikasi standalone atau aplikasi yang hasil akhirnya
dapat dieksekusi atau dijalankan. Fungsi utama dalam paket/package "main" akan menjadi titik
masuk program.
• Pustaka bersama (shared library) adalah kode yang ditujukan untuk dapat digunakan kembali.
• Kode yang ditujukan untuk membuat pustaka bersama (shared library) tidak akan mempunyai
"package main" dan "func main".
package main
import "fmt"
func main(){
fmt.Println("Hello Go!")
}
Import
• Digunakan untuk memuat berbagai macam library, baik dari luar maupun yang telah disediakan
oleh bahasa pemrograman Go.
package main
// style-1 //
import "fmt"
func main(){
fmt.Println("Hello Go!")
}
package main
// style-2 //
import (
f "fmt"
"lib/math"
)
func main(){
f.Println("Hello Go!")
}
Var (Variabel)
• Statement var digunakan untuk mendeklarasikan variabel beserta tipe datanya.
Skema penggunaan keyword var :
// style - 1 //
var (
name string // deklarasi variabel name dengan tipe data string
umur int // deklarasi variabel umur dengan tipe data int (integer)
lokasi string // deklarasi variabel lokasi dengan tipe data string
)
// style - 2 //
var (
name, lokasi string // grup deklarasi variabel bertipe data sama
umur int
)
// style - 3 //
var name string
var umur int
var lokasi string
var <nama variabel> <tipe data>
var <nama variabel> <tipe data> = <nilai>
• Deklarasi var juga bisa ditambahkan inisialisasi nilai setiap variabel
• Jika diinisilisasi, maka tipe data bisa tidak digunakan sehingga tipe variabel akan mengikuti nilai
yang diberikan kepada variabel tersebut (inferred typing).
var (
nama string = "Dodo"
umur int = 32
lokasi string = "Jakarta"
)
// style - 1 //
var (
nama = "Dodo"
umur = 32
lokasi = "Jakarta"
)
// style - 2 //
var (
nama, lokasi, umur = "Dodo", "Jakarta", 32
)
Deklarasi variabel tanpa var (implisit)
Deklarasi variabel dengan var (eksplisit)
package main
import "fmt"
func main(){
nama, umur, lokasi := "Agung", 25, "jakarta" // deklarasi variabel tanpa var (secara implisit)
fmt.Println("Nama : ", nama)
fmt.Println("Umur : ", umur)
fmt.Println("Lokasi : ", lokasi)
}
package main
import "fmt"
func main(){
var (
nama, umur, lokasi = "Agung", 25, "jakarta"
) // deklarasi variabel dengan var (secara eksplisit)
fmt.Println("Nama : ", nama)
fmt.Println("Umur : ", umur)
fmt.Println("Lokasi : ", lokasi)
}
Variabel underscore "_"
• Go memiliki aturan unik yang tidak dimiliki bahasa pemrograman lain
yaitu tidak boleh ada satu variabel pun yang "menganggur". Artinya
setiap variabel yang dideklarasikan harus digunakan, jika ada variabel
yang tidak digunakan maka aplikasi akan gagal dikompilasi.
• Underscore ( _ ) adalah predefined variabel yang bisa dimanfaatkan
untuk menampung nilai yang tidak dipakai.
• Variabel underscore pada tipe deklarasi implisit
• Variabel underscore pada tipe deklarasi eksplisit
package main
import "fmt"
func main(){
nama, umur, _ := "Agung", 25, "jakarta" // deklarasi variabel tanpa var (secara implisit)
fmt.Println("Nama : ", nama)
fmt.Println("Umur : ", umur)
}
package main
import "fmt"
func main(){
var (
nama, umur, _ = "Agung", 25, "jakarta"
) // deklarasi variabel dengan var (secara eksplisit)
fmt.Println("Nama : ", nama)
fmt.Println("Umur : ", umur)
}
Tipe Data
• Golang mengenal beberapa jenis tipe data, diantaranya adalah tipe
data numerik (desimal & non-desimal), string, dan boolean.
Tipe Data Numerik Non-Desimal
• Tipe data numerik non-desimal atau non floating point di Go ada
beberapa macam. Secara umum ada 2 tipe data yang perlu diketahui,
yaitu:
• uint, merupakan tipe data untuk bilangan cacah (bilangan positif)
• int, merupakan tipe data untuk bilangan bulat (bilangan negatif dan
positif)
Tipe Data Cakupan Bilangan
uint8 0 - 255
uint16 0 - 65535
uint32 0 - 4294967295
uint64 0 - 18446744073709551615
uint sama dengan uint32 atau uint64 (tergantung nilai)
byte sama dengan uint8
int8 -128 - 127
int16 -32768 - 32767
int32 -2147483648 - 2147483647
int64 -9223372036854775808 - 9223372036854775807
int sama dengan int32 atau int64 (tergantung nilai)
rune sama dengan int32
package main
import "fmt"
func main(){
var a int8 = 10
var negatifA int8 = -50
var b uint16 = 54300
var c uint = 33
fmt.Printf("nilai a = %dn", a)
fmt.Printf("nilai negatifA = %dn", negatifA)
fmt.Printf("nilai b = %dn", b)
fmt.Printf("nilai c = %dn", c)
}
Tipe Data Numerik Desimal
• Tipe data numerik desimal yang perlu diketahui ada 2, float32
dan float64. Perbedaan kedua tipe data tersebut berada pada
lebar cakupan nilai desimal yang bisa ditampung. Untuk lebih
jelasnya bisa merujuk ke spesifikasi IEEE-754 32-bit floating-point
numbers.
package main
import "fmt"
func main(){
var decimalA = 2.26
fmt.Printf("nilai decimalA = %fn", a)
fmt.Printf("nilai decimalA = %3fn", a)
}
Tipe Data Boolean
• Tipe data bool berisikan hanya 2 variasi nilai, true dan false.Tipe
data ini biasa dimanfaatkan dalam seleksi kondisi dan perulangan
package main
import "fmt"
func main(){
var betul bool = true
fmt.Printf("betul = %tn", betul)
}
Tipe Data String
• Ciri khas dari tipe data string adalah nilainya diapit oleh tanda
quote atau petik dua (").
• Selain menggunakan tanda quote, deklarasi string juga bisa
dengan tanda grave accent/backticks (`). Keistimewaan string yang
dideklarasikan menggunakan backtics adalah membuat semua
karakter didalamnya tidak akan di escape, semua akan terdeteksi
sebagai string.
var pesan string = "Hallo Dunia..!!"
fmt.Printf("%s /n", pesan)
package main
import "fmt"
func main(){
var pesan = `Nama saya "Dodo".
Salam kenal.
Mari belajar "Golang".`
fmt.Println(pesan)
}
Nilai nil Dan Nilai Default Tipe Data
• Semua tipe data yang sudah dibahas sebelumnya memiliki nilai default. Artinya meskipun
variabel dideklarasikan tanpa nilai awal, akan ada nilai default-nya.
• Nilai default string adalah "" (string kosong)
• Nilai default bool adalah false
• Nilai default tipe numerik non-desimal adalah 0
• Nilai default tipe numerik desimal adalah 0.0
• nil bukan merupakan tipe data, melainkan sebuah nilai. Variabel yang isi nilainya nil, berarti
variabel tersebut memiliki nilai kosong. Beberapa tipe data yang bisa di-set nilainya dengan nil,
diantaranya:
• pointer
• tipe data fungsi
• slice
• map
• channel
• interface kosong atau interface{}
Const (Konstanta)
• Const digunakan untuk mendeklarasikan sebuah konstanta.
• Konstanta adalah variabel yang nilainya tidak bisa diubah.
Inisialisasi nilai hanya dilakukan sekali di awal.
• Konstanta hanya dapat berupa karakter (character), string, boolean,
atau numerik (numeric) dan tidak bisa dideklarasikan menggunakan
operator ":=".
• Konstanta yang tidak didefinisikan tipe datanya akan secara otomatis
menggunakan tipe data yang sesuai dengan nilai yang diberikan.
package main
import "fmt"
const Pi = 3.14
const Pesan= "Hello World!"
const emptyString = ""
const (
StatusOK = 200
StatusCreated = 201
)
func main() {
fmt.Println(StatusOK)
fmt.Println(StatusCreated)
fmt.Println(Pesan)
fmt.Println(emptyString)
fmt.Println(Pi)
}
Operator dan delimiter
• Go juga mempunyai operator dan delimiter yang tidak jauh berbeda dari beberapa bahasa
pemrograman pada umumnya
• Secara umum operator dibagi menjadi 3 kategori: operator aritmatika, perbandingan, dan logika.
+ & += &= && == != ( ) -
| -= |= || < <= [ ] * ^
*= ^= <- > >= { } / << /=
<<= ++ = := , ; % >> %= >>=
-- ! ... . : &^ &^=
Operator Aritmatika
• Operator aritmatika adalah operator yang digunakan untuk operasi yang sifatnya perhitungan
Tanda Penjelasan
+ Penjumlahan
- Pengurangan
* Perkalian
/ Pembagian
% Modulus
++ Penambahan 1 pada variabel (int)
-- Pengurangan 1 pada variabel (int)
package main
import "fmt"
func main() {
var a int = 21
var b int = 10
var c int
c = a + b
fmt.Println("Nilai C = ", c )
c = a - b
fmt.Println("Nilai C = ", c )
c = a * b
fmt.Println("Nilai C = ", c )
c = a / b
fmt.Println("Nilai C = ", c )
c = a % b
fmt.Println("Nilai C = ", c )
a++
fmt.Println("Nilai A = ", a )
a--
fmt.Println("Nilai A = ", a )
}
Operator Perbandingan
• Operator perbandingan digunakan untuk menentukan kebenaran suatu kondisi. Hasilnya berupa
nilai boolean, true atau false.
Tanda Penjelasan
== apakah nilai kiri sama dengan nilai kanan
!= apakah nilai kiri tidak sama dengan nilai kanan
< apakah nilai kiri lebih kecil dari nilai kanan
<= apakah nilai kiri lebih kecil atau sama dengan nilai kanan
> apakah nilai kiri lebih besar dari nilai kanan
>= apakah nilai kiri lebih besar atau sama dengan nilai kanan
Contoh :
var hasil = ((2 + 6) % 3) * 4 - 2) / 3
var isEqual = (value == 2)
package main
import "fmt"
func main() {
var a int = 21
var b int = 10
var c = a + b
var isEqual = (c == 31)
fmt.Println(" Apakah nilai C sama dengan 31 : ", isEqual)
}
Operator Logika
• Operator ini digunakan untuk mencari benar tidaknya kombinasi data bertipe bool
Tanda Penjelasan
&& And
|| OR
! Negasi / nilai kebalikan
package main
import "fmt"
func main() {
var a bool = true
var b bool = false
var and = (a && b)
var or = (a || b)
fmt.Println(" A and B : ", and)
fmt.Println(" A OR B : ", or)
}

More Related Content

GoLang_2

  • 1. II (Standard Library, Variabel, Konstanta Tipe Data, Operator)
  • 2. Roadmap pembelajaran Go - Setup GoSDK - Struktur kode Go - Kompilasi kode Go I II - Standar Lib Go - Variabel - Konstanta - Tipe Data - Operator III IV ... API
  • 3. Apa yang kita pelajari? 1. Standar Library GO 2. Package 3. Import 4. Variabel 5. Tipe Data 6. Konstanta 7. Operator dan Delimiter
  • 4. Tujuan pembelajaran Poin - poin yang kita harap dapatkan pada sesi ini : Pengetahuan • Mengetahui pustaka standar pada Go • Mengetahui keyword (var, const, package, import) pada Go • Mengetahui tipe data pada Go • Mengetahui operator pada Go Skills • Dapat menggunakan keyword Go pada aplikasi • Dapat menggunakan tipe data • Dapat menggunakan operator
  • 5. Pustaka (Library) • Library adalah kumpulan dari fungsi, class-class, object, konstanta, dan template yang digunakan untuk melakukan operasi-operasi dasar dan beberapa fungsi lainnya. • koleksi dari rutin-rutin program yang digunakan untuk membangun dan mengembangkan perangkat lunak (https://id.wikipedia.org/wiki/Pustaka_perangkat_lunak)
  • 6. Pustaka Standar (Standard Library) Go • Pustaka (library) standar Go dilengkapi dengan banyak paket yang berguna yang dapat digunakan untuk membangun aplikasi. Contohnya pustaka (library) standar "net / http", paket yang terdapat dalam pustaka ini dapat digunakan untuk membangun aplikasi atau layanan berbasis web. Paket dari pustaka standar tersedia pada folder "pkg" yaitu subdirektori dari direktori GOROOT.
  • 7. Library Package Deskripsi fmt Paket fmt digunakan untuk fungsi I/O, penamaan fungsi-fungsinya menyerupai dengan fungsi pada C (contoh : printf and scanf) encoding ascii85, asn1, base32, base64, csv, hex, json, xml... Paket encoding digunakan untuk melakukan mengkonversi data ke dan dari satu format ke format yang lain baik pada tingkatan byte ataupun tekstual. net http (cgi, cookiejar, fcgi, httptest, httptrace ...), mail, rpc (jsonrpc), smtp, url, ... Paket net menyediakan antarmuka untuk fungsi-fungsi seperti network I/O, termasuk TCP/IP, UDP, domain name resolution (dns) dan Unix domain sockets. regexp syntax Paket regexp menyediakan fungsi pencarian teks menggunakan regular expression strconv Paket strconv menyediakan fungsi-fungsi konversi tipe data. time Paket time menyediakan fungsi - fungsi mengukur dan menampilkan waktu. math big, cmplx, rand Paket math menyediakan fungsi-fungsi matematika. image color(palette), draw, gif, jpeg, png Paket image menyediakan fungsi-fungsi dasar pemrosesan image 2 dimensi (2D) errors Paket errors menyediakan fungsi-fungsi untuk pemrosesan error database driver Paket sql menyediakan fungsi-fungsi umum SQL database. crypto aes, cipher, des, dsa, md5, hmac, rsa, ... Paket crypto menyediakan fungsi-fungsi kriptografi
  • 8. Library Package Deskripsi archive tar, zip Paket archive menyediakan fungsi-fungsi pengaksesan file arsip (zip atau tar) html template Paket html menyediakan fungsi-fungsi untuk pemrosesan HTML text. log syslog Paket log menyediakan fungsi-fungsi sederhana penulisan log sumber : https://golang.org/pkg/#stdlib
  • 9. Kata kunci (Keywords) • Pada bahasa pemrograman Go terdapat 25 kata kunci (keywords) yang dapat dituliskan sebagai berikut: break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for import return var
  • 10. Paket (Package) • File sumber (source file) Go disusun didalam direktori sistem yang disebut paket, kode-kode tersebut dimungkinkan untuk dapat digunakan diseluruh aplikasi Go. • Konvensi penamaan pada paket Go menggunakan nama direktori sistem di mana kita meletakkan file sumber, sehingga nama paket akan sama untuk semua file sumber yang termasuk ke direktori tersebut.
  • 11. Paket utama (Package main) • Paket utama (Package main) digunakan pada aplikasi standalone atau aplikasi yang hasil akhirnya dapat dieksekusi atau dijalankan. Fungsi utama dalam paket/package "main" akan menjadi titik masuk program. • Pustaka bersama (shared library) adalah kode yang ditujukan untuk dapat digunakan kembali. • Kode yang ditujukan untuk membuat pustaka bersama (shared library) tidak akan mempunyai "package main" dan "func main".
  • 12. package main import "fmt" func main(){ fmt.Println("Hello Go!") }
  • 13. Import • Digunakan untuk memuat berbagai macam library, baik dari luar maupun yang telah disediakan oleh bahasa pemrograman Go.
  • 14. package main // style-1 // import "fmt" func main(){ fmt.Println("Hello Go!") } package main // style-2 // import ( f "fmt" "lib/math" ) func main(){ f.Println("Hello Go!") }
  • 15. Var (Variabel) • Statement var digunakan untuk mendeklarasikan variabel beserta tipe datanya. Skema penggunaan keyword var : // style - 1 // var ( name string // deklarasi variabel name dengan tipe data string umur int // deklarasi variabel umur dengan tipe data int (integer) lokasi string // deklarasi variabel lokasi dengan tipe data string ) // style - 2 // var ( name, lokasi string // grup deklarasi variabel bertipe data sama umur int ) // style - 3 // var name string var umur int var lokasi string var <nama variabel> <tipe data> var <nama variabel> <tipe data> = <nilai>
  • 16. • Deklarasi var juga bisa ditambahkan inisialisasi nilai setiap variabel • Jika diinisilisasi, maka tipe data bisa tidak digunakan sehingga tipe variabel akan mengikuti nilai yang diberikan kepada variabel tersebut (inferred typing). var ( nama string = "Dodo" umur int = 32 lokasi string = "Jakarta" ) // style - 1 // var ( nama = "Dodo" umur = 32 lokasi = "Jakarta" ) // style - 2 // var ( nama, lokasi, umur = "Dodo", "Jakarta", 32 )
  • 17. Deklarasi variabel tanpa var (implisit) Deklarasi variabel dengan var (eksplisit) package main import "fmt" func main(){ nama, umur, lokasi := "Agung", 25, "jakarta" // deklarasi variabel tanpa var (secara implisit) fmt.Println("Nama : ", nama) fmt.Println("Umur : ", umur) fmt.Println("Lokasi : ", lokasi) } package main import "fmt" func main(){ var ( nama, umur, lokasi = "Agung", 25, "jakarta" ) // deklarasi variabel dengan var (secara eksplisit) fmt.Println("Nama : ", nama) fmt.Println("Umur : ", umur) fmt.Println("Lokasi : ", lokasi) }
  • 18. Variabel underscore "_" • Go memiliki aturan unik yang tidak dimiliki bahasa pemrograman lain yaitu tidak boleh ada satu variabel pun yang "menganggur". Artinya setiap variabel yang dideklarasikan harus digunakan, jika ada variabel yang tidak digunakan maka aplikasi akan gagal dikompilasi. • Underscore ( _ ) adalah predefined variabel yang bisa dimanfaatkan untuk menampung nilai yang tidak dipakai.
  • 19. • Variabel underscore pada tipe deklarasi implisit • Variabel underscore pada tipe deklarasi eksplisit package main import "fmt" func main(){ nama, umur, _ := "Agung", 25, "jakarta" // deklarasi variabel tanpa var (secara implisit) fmt.Println("Nama : ", nama) fmt.Println("Umur : ", umur) } package main import "fmt" func main(){ var ( nama, umur, _ = "Agung", 25, "jakarta" ) // deklarasi variabel dengan var (secara eksplisit) fmt.Println("Nama : ", nama) fmt.Println("Umur : ", umur) }
  • 20. Tipe Data • Golang mengenal beberapa jenis tipe data, diantaranya adalah tipe data numerik (desimal & non-desimal), string, dan boolean.
  • 21. Tipe Data Numerik Non-Desimal • Tipe data numerik non-desimal atau non floating point di Go ada beberapa macam. Secara umum ada 2 tipe data yang perlu diketahui, yaitu: • uint, merupakan tipe data untuk bilangan cacah (bilangan positif) • int, merupakan tipe data untuk bilangan bulat (bilangan negatif dan positif)
  • 22. Tipe Data Cakupan Bilangan uint8 0 - 255 uint16 0 - 65535 uint32 0 - 4294967295 uint64 0 - 18446744073709551615 uint sama dengan uint32 atau uint64 (tergantung nilai) byte sama dengan uint8 int8 -128 - 127 int16 -32768 - 32767 int32 -2147483648 - 2147483647 int64 -9223372036854775808 - 9223372036854775807 int sama dengan int32 atau int64 (tergantung nilai) rune sama dengan int32
  • 23. package main import "fmt" func main(){ var a int8 = 10 var negatifA int8 = -50 var b uint16 = 54300 var c uint = 33 fmt.Printf("nilai a = %dn", a) fmt.Printf("nilai negatifA = %dn", negatifA) fmt.Printf("nilai b = %dn", b) fmt.Printf("nilai c = %dn", c) }
  • 24. Tipe Data Numerik Desimal • Tipe data numerik desimal yang perlu diketahui ada 2, float32 dan float64. Perbedaan kedua tipe data tersebut berada pada lebar cakupan nilai desimal yang bisa ditampung. Untuk lebih jelasnya bisa merujuk ke spesifikasi IEEE-754 32-bit floating-point numbers.
  • 25. package main import "fmt" func main(){ var decimalA = 2.26 fmt.Printf("nilai decimalA = %fn", a) fmt.Printf("nilai decimalA = %3fn", a) }
  • 26. Tipe Data Boolean • Tipe data bool berisikan hanya 2 variasi nilai, true dan false.Tipe data ini biasa dimanfaatkan dalam seleksi kondisi dan perulangan
  • 27. package main import "fmt" func main(){ var betul bool = true fmt.Printf("betul = %tn", betul) }
  • 28. Tipe Data String • Ciri khas dari tipe data string adalah nilainya diapit oleh tanda quote atau petik dua ("). • Selain menggunakan tanda quote, deklarasi string juga bisa dengan tanda grave accent/backticks (`). Keistimewaan string yang dideklarasikan menggunakan backtics adalah membuat semua karakter didalamnya tidak akan di escape, semua akan terdeteksi sebagai string. var pesan string = "Hallo Dunia..!!" fmt.Printf("%s /n", pesan)
  • 29. package main import "fmt" func main(){ var pesan = `Nama saya "Dodo". Salam kenal. Mari belajar "Golang".` fmt.Println(pesan) }
  • 30. Nilai nil Dan Nilai Default Tipe Data • Semua tipe data yang sudah dibahas sebelumnya memiliki nilai default. Artinya meskipun variabel dideklarasikan tanpa nilai awal, akan ada nilai default-nya. • Nilai default string adalah "" (string kosong) • Nilai default bool adalah false • Nilai default tipe numerik non-desimal adalah 0 • Nilai default tipe numerik desimal adalah 0.0 • nil bukan merupakan tipe data, melainkan sebuah nilai. Variabel yang isi nilainya nil, berarti variabel tersebut memiliki nilai kosong. Beberapa tipe data yang bisa di-set nilainya dengan nil, diantaranya: • pointer • tipe data fungsi • slice • map • channel • interface kosong atau interface{}
  • 31. Const (Konstanta) • Const digunakan untuk mendeklarasikan sebuah konstanta. • Konstanta adalah variabel yang nilainya tidak bisa diubah. Inisialisasi nilai hanya dilakukan sekali di awal. • Konstanta hanya dapat berupa karakter (character), string, boolean, atau numerik (numeric) dan tidak bisa dideklarasikan menggunakan operator ":=". • Konstanta yang tidak didefinisikan tipe datanya akan secara otomatis menggunakan tipe data yang sesuai dengan nilai yang diberikan.
  • 32. package main import "fmt" const Pi = 3.14 const Pesan= "Hello World!" const emptyString = "" const ( StatusOK = 200 StatusCreated = 201 ) func main() { fmt.Println(StatusOK) fmt.Println(StatusCreated) fmt.Println(Pesan) fmt.Println(emptyString) fmt.Println(Pi) }
  • 33. Operator dan delimiter • Go juga mempunyai operator dan delimiter yang tidak jauh berbeda dari beberapa bahasa pemrograman pada umumnya • Secara umum operator dibagi menjadi 3 kategori: operator aritmatika, perbandingan, dan logika. + & += &= && == != ( ) - | -= |= || < <= [ ] * ^ *= ^= <- > >= { } / << /= <<= ++ = := , ; % >> %= >>= -- ! ... . : &^ &^=
  • 34. Operator Aritmatika • Operator aritmatika adalah operator yang digunakan untuk operasi yang sifatnya perhitungan Tanda Penjelasan + Penjumlahan - Pengurangan * Perkalian / Pembagian % Modulus ++ Penambahan 1 pada variabel (int) -- Pengurangan 1 pada variabel (int)
  • 35. package main import "fmt" func main() { var a int = 21 var b int = 10 var c int c = a + b fmt.Println("Nilai C = ", c ) c = a - b fmt.Println("Nilai C = ", c ) c = a * b fmt.Println("Nilai C = ", c ) c = a / b fmt.Println("Nilai C = ", c ) c = a % b fmt.Println("Nilai C = ", c ) a++ fmt.Println("Nilai A = ", a ) a-- fmt.Println("Nilai A = ", a ) }
  • 36. Operator Perbandingan • Operator perbandingan digunakan untuk menentukan kebenaran suatu kondisi. Hasilnya berupa nilai boolean, true atau false. Tanda Penjelasan == apakah nilai kiri sama dengan nilai kanan != apakah nilai kiri tidak sama dengan nilai kanan < apakah nilai kiri lebih kecil dari nilai kanan <= apakah nilai kiri lebih kecil atau sama dengan nilai kanan > apakah nilai kiri lebih besar dari nilai kanan >= apakah nilai kiri lebih besar atau sama dengan nilai kanan Contoh : var hasil = ((2 + 6) % 3) * 4 - 2) / 3 var isEqual = (value == 2)
  • 37. package main import "fmt" func main() { var a int = 21 var b int = 10 var c = a + b var isEqual = (c == 31) fmt.Println(" Apakah nilai C sama dengan 31 : ", isEqual) }
  • 38. Operator Logika • Operator ini digunakan untuk mencari benar tidaknya kombinasi data bertipe bool Tanda Penjelasan && And || OR ! Negasi / nilai kebalikan
  • 39. package main import "fmt" func main() { var a bool = true var b bool = false var and = (a && b) var or = (a || b) fmt.Println(" A and B : ", and) fmt.Println(" A OR B : ", or) }