golang_3

20
III (IF-ELSE, FOR)

Upload: dimas-prawira

Post on 13-Apr-2017

20 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: GoLang_3

III(IF-ELSE, FOR)

Page 2: GoLang_3

Roadmap pembelajaran Go

- Setup GoSDK- Struktur kode Go

- Kompilasi kode Go

- If - else- Switch - Case

- For

III

- Standar Lib Go- Variabel

- Konstanta- Tipe Data- Operator

III

IV...

API

Page 3: GoLang_3

Apa yang kita pelajari?1. Kontrol Kondisi (If)2. Switch - Case3. For4. For - Range5. Break dan Continue

Page 4: GoLang_3

Tujuan pembelajaranPoin - poin yang kita harap dapatkan pada sesi ini :

Pengetahuan

• Mengetahui fungsi seleksi kondisi

• Mengetahui keyword seleksi kondisi (IF - ELSE dan Switch - Case)

• Mengetahui fungsi perulangan

• Mengetahui keyword fungsi perulangan (FOR)

Skills

• Dapat menggunakan fungsi seleksi kondisi (IF - ELSE dan Switch - Case)

• Dapat menggunakan fungsi perulangan (FOR)

Page 5: GoLang_3

Seleksi Kondisi• Seleksi kondisi digunakan untuk mengontrol alur program• Yang dijadikan acuan oleh seleksi kondisi adalah nilai bertipe bool,

bisa berasa dari variabel, ataupun hasil operasi perbandingan. Nilai tersebut akan menentukan blok kode mana yang akan dieksekusi.• Go memiliki 2 macam keyword untuk seleksi kondisi, yaitu if else dan

switch.• Go tidak mendukung seleksi kondisi menggunakan ternary.

contoh : var data = (isExist ? "ada" : "tidak ada") // Error

Page 6: GoLang_3

IF - ELSE IF dan ELSE• Cara penerapan if-else di Go sama dengan pada bahasa pemrograman

lain. Yang membedakan hanya tanda kurungnya (parentheses), di Go tidak perlu ditulis.• brace pada seleksi kondisi IF atau operasi kontrol struktur pada Go

tidak boleh ditempatkan pada baris baru.

Page 7: GoLang_3

// contoh penempatan brace pada kontrol struktur Go yang benar if i < 10 { // benar // lakukan sesuatu disini }

// contoh penempatan brace pada kontrol struktur Go yang salah if i < 10 { // salah // lakukan sesuatu disini }

Page 8: GoLang_3

package main

import "fmt"

func main(){ var point = 8

if point == 10{ fmt.Println("Lulus dengan nilai sempurna..") }else if point > 5{ fmt.Println("Lulus") }else if point == 4{ fmt.Println("Hampir lulus") }else{ fmt.Println("Tidak lulus") } }

Page 9: GoLang_3

Variabel temporer pada IF-ELSE• Variabel temporary adalah variabel yang hanya bisa digunakan pada

blok seleksi kondisi dimana ia ditempatkan saja.• Beberapa manfaat dari penggunaan variabel temporer pada IF-ELSE

sebagai berikut :• Scope atau cakupan variabel jelas, hanya bisa digunakan pad blok seleksi

kondisi itu saja.• Kode menjadi lebih rapi

Page 10: GoLang_3

package main

import "fmt"

func main(){ var point = 8840.0

if persentase := point / 100; persentase >= 100{ fmt.Println("Lulus dengan nilai sempurna..") }else if point > 70{ fmt.Println("Lulus") }else{ fmt.Println("Tidak lulus") } }

Page 11: GoLang_3

SWITCH• Switch merupakan seleksi kondisi yang sifatnya fokus pada satu variabel.• Pada Go ketika sebuah kondisi pada case terpenuhi, maka proses tidak akan dilanjutkan ke proses

selanjutnya (meskipun tidak menggunakan keyword break). Untuk memaksa proses dilanjutkan ke case selanjutnya maka gunakan keyword fallthrough.

• Pada Go suatu case bisa menggunakan beberapa nilai kondisi sekaligus (multiple condition).• Operator brace "{" dan "}" bersifat opsional pada keyword case dan default.

Page 12: GoLang_3

package main

import "fmt"

func main(){ var point = 10 switch point{ case 10: // Kondisi tunggal fmt.Println("Lulus sempurna") case 8: fmt.Println("Lulus memuaskan") case 7, 6, 5: // Kondisi beragam (multiple) fmt.Println("Lulus") default: { fmt.Println("Tidak Lulus") }}

Page 13: GoLang_3

package main

import "fmt"

func main(){ var point = 10 switch point{ case 10: // Kondisi tunggal fmt.Println("Lulus sempurna") case 8: fmt.Println("Lulus memuaskan") fallthrough case 7, 6, 5: // Kondisi beragam (multiple) fmt.Println("Lulus") default: { fmt.Println("Tidak Lulus") }}

Page 14: GoLang_3

Perulangan (Looping)• Perulangan merupakan proses mengulang-ulang eksekusi blok kode

tanpa henti, selama kondisi yang dijadikan acuan terpenuhi. Biasanya disiapkan variabel untuk iterasi atau variabel penanda kapan perulangan akan diberhentikan.• Di Go keyword perulangan hanya for saja, tetapi meski demikian,

kemampuannya merupakan gabungan for, foreach, dan while pada bahasa pemrograman lain.

Page 15: GoLang_3

FOR• Di Golang proses perulangan (looping) hanya menggunakan keyword

for saja. • Perulangan sama seperti halnya seleksi kondisi (if), bisa juga dilakukan

pada kondisi bersarang (nested)

Page 16: GoLang_3

// looping for menggunakan variabel counter beserta kondisi //for i := 0; i < 5; i++ { fmt.Println(i)}

// looping for menggunakan dengan argumen kondisi saja //var i int = 0

for i < 5 { fmt.Println(i) i++}

// looping for tanpa argumen //var i int = 0

for { fmt.Println(i) i++ if i == 5 { break }}

Page 17: GoLang_3

// Penggunaan looping for pada proses bersarang (nested)for i := 1; i <= 5; i++ { for j := i; j < 5; j++ { fmt.Println(j, " ") } fmt.Println() }

Page 18: GoLang_3

FOR - RANGE• Perulangan (looping) for bisa juga dikombinasikan dengan keyword

range. Cara ini biasa digunakan untuk melakukan proses perulangan pada data bertipe array.

Page 19: GoLang_3

BREAK dan CONTINUE• Keyword break dan continue bisa digunakan pada proses perulangan, dimana statement break

digunakan untuk "memaksa" menghentikan proses perulangan yang sedang berjalan. Statement continue digunakan untuk memaksa maju ke perulangan berikutnya.

for i := 1; i <= 10; i++ { if i % 2 == 1 { continue }

if i > 8 { break }

fmt.Println(i)}

Page 20: GoLang_3

Saran dan Masukan (Feedback)