Dokumen tersebut membahas tentang kontrol aliran program dalam bahasa pemrograman Go meliputi konsep if-else, switch-case, dan perulangan for. Topik utama yang dibahas adalah fungsi dan penggunaan keyword seleksi kondisi serta perulangan beserta contoh kodenya.
2. Roadmap pembelajaran Go
- Setup GoSDK
- Struktur kode Go
- Kompilasi kode
Go
- If - else
- Switch - Case
- For
I
II
- Standar Lib Go
- Variabel
- Konstanta
- Tipe Data
- Operator
III
IV
...
API
3. Apa yang kita pelajari?
1. Kontrol Kondisi (If)
2. Switch - Case
3. For
4. For - Range
5. Break dan Continue
4. Tujuan pembelajaran
Poin - 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)
5. 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
6. IF - ELSE IF dan ELSE
• Cara penerapan if-else di Go sama dengan pada bahasa pemrograman
lain. Yang membedakanhanya 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.
7. // 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
}
8. 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")
}
}
9. 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
10. 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")
}
}
11. 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.
12. 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")
}
}
13. 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")
}
}
14. 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.
15. 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)
16. // 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
}
}
17. // Penggunaan looping for pada proses bersarang (nested)
for i := 1; i <= 5; i++ {
for j := i; j < 5; j++ {
fmt.Println(j, " ")
}
fmt.Println()
}
18. FOR - RANGE
• Perulangan (looping) for bisa juga dikombinasikan dengan keyword
range. Cara ini biasa digunakan untuk melakukan proses perulangan
pada data bertipe array.
19. 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)
}