Golang Dasar Part 2 : Operator, Kondisional, Loop

Golang

Intro 

Lanjut dari tahapan sebelumnya tentang tipe data, constant dan variable, kali ini pembahasan nya yaitu beberapa operator di golang baik itu aritmatik, logical bitwise dan lain sebagainya, ada juga pembahasan kondisional yaitu seperti if else atau case, dan pembahasan tentang loop di golang. btw sumber tulisan ini saya belajar dari sini ya https://www.tutorialspoint.com/go/index.htm


1. Operator

Di dalam bahasa pemrograman ada beberapa operator yang biasa kita gunakan, yang semuanya hampir sama yaitu operator aritmatik seperti tambah, kurang, bagi dan perkalian, nah disini saya akan coba contohkan penulisan operator di golang berikut adalah code nya.

A. Aritmatik Operator

// contoh aritmatik
package main

import "fmt"

func main() {

	var a int = 21
	var b int = 10
	var c int

	c = a + b
	fmt.Printf("Line 1 - Hasil Tambah %d\n", c)

	c = a - b
	fmt.Printf("Line 2 - Hasil Pengurangan %d\n", c)

	c = a * b
	fmt.Printf("Line 3 - Hasil Perkalian %d\n", c)

	c = a / b
	fmt.Printf("Line 4 - Hasil Pembagian %d\n", c)

	c = a % b
	fmt.Printf("Line 5 - Hasil Modulus %d\n", c)

	a++
	fmt.Printf("Line 6 - Hasil Increment %d\n", a)

	a--
	fmt.Printf("Line 7 - Hasil Decrement %d\n", a)
}

B. Relational operator berikut adalah contoh kode nya:

// realtional operator
package main

import "fmt"

func main() {
	var a int = 10
	var b int = 21

	if a == b { // operator sama dengan
		fmt.Printf("Line 1 - a sama dengan b\n")
	} else {
		fmt.Printf("Line 1 - a tidak sama dengan b\n")
	}
	if a < b { // operator lebih kecil dari
		fmt.Printf("Line 2 - a lebih kecil dari b\n")
	} else {
		fmt.Printf("Line 2 - a tidak lebih kecil dari b\n")
	}
	if a > b { // operator lebih besar dari
		fmt.Printf("Line 3 - a lebih besar dari b\n")
	} else {
		fmt.Printf("Line 3 - a tidak lebih besar dari b\n")
	}

	/* Lets change value of a and b */
	a = 5
	b = 20
	if a <= b { // operator <= lebih kecil sama dengan
		fmt.Printf("Line 4 - a lebih kecil sama dengan dari  b\n")
	}
	if b >= a { operator >= lebih besar sama dengan
		fmt.Printf("Line 5 - b lebih besar sama dengan dari a\n")
	}
}

C. Logical operator berikut adalah contoh  kode nya:

package main

import "fmt"

func main() {
   var a bool = true
   var b bool = false
   if ( a && b ) { // operator AND
      fmt.Printf("Line 1 - Condition is true\n" )
   }
   if ( a || b ) { // operator OR
      fmt.Printf("Line 2 - Condition is true\n" )
   }
   
   /* lets change the value of  a and b */
   a = false
   b = true
   if ( a && b ) {
      fmt.Printf("Line 3 - Condition is true\n" )
   } else {
      fmt.Printf("Line 3 - Condition is not true\n" )
   }
   if ( !(a && b) ) {
      fmt.Printf("Line 4 - Condition is true\n" )
   }
}

D. Bitwise Operator

package main

import "fmt"

func main() {
   var a uint = 60	/* 60 = 0011 1100 */  
   var b uint = 13	/* 13 = 0000 1101 */
   var c uint = 0          

   c = a & b       /* 12 = 0000 1100 */ 
   fmt.Printf("Line 1 - Value of c is %d\n", c )

   c = a | b       /* 61 = 0011 1101 */
   fmt.Printf("Line 2 - Value of c is %d\n", c )

   c = a ^ b       /* 49 = 0011 0001 */
   fmt.Printf("Line 3 - Value of c is %d\n", c )

   c = a << 2     /* 240 = 1111 0000 */
   fmt.Printf("Line 4 - Value of c is %d\n", c )

   c = a >> 2     /* 15 = 0000 1111 */
   fmt.Printf("Line 5 - Value of c is %d\n", c )
}

E. Assignment operator

package main

import "fmt"

func main() {
	var a int = 21
	var c int

	c = a
	fmt.Printf("Line 1 - =  Operator Example, Value of c = %d\n", c)

	c += a
	fmt.Printf("Line 2 - += Operator Example, Value of c = %d\n", c)

	c -= a
	fmt.Printf("Line 3 - -= Operator Example, Value of c = %d\n", c)

	c *= a
	fmt.Printf("Line 4 - *= Operator Example, Value of c = %d\n", c)

	c /= a
	fmt.Printf("Line 5 - /= Operator Example, Value of c = %d\n", c)

	c = 200

	c <<= 2
	fmt.Printf("Line 6 - <<= Operator Example, Value of c = %d\n", c)

	c >>= 2
	fmt.Printf("Line 7 - >>= Operator Example, Value of c = %d\n", c)

	c &= 2
	fmt.Printf("Line 8 - &= Operator Example, Value of c = %d\n", c)

	c ^= 2
	fmt.Printf("Line 9 - ^= Operator Example, Value of c = %d\n", c)

	c |= 2
	fmt.Printf("Line 10 - |= Operator Example, Value of c = %d\n", c)
}

2. Kondisional

Di dalam bahasa pemrograman pasti ada namanya kondisional nah sekarang kita akan contohkan beberapa kodisional di golang seperti if else elseif dan case.

A. If Else Dan Elseif

package main

import "fmt"

func main() {
	/* local variable definition */
	var a int = 100
	var b int = 200

	if a == 1010 {
		fmt.Printf("Kondisi Pertama terpenuhi a = %d\n", 100)
	} else if a == b {
		fmt.Printf("Kondisi kedua terpenuhi a = %d\n", b)
	} else {
		fmt.Println("Kondisi Default jika a dan b tidak terpenuhi")
	}
}

B. Switch dan Case

package main

import "fmt"

func main() {
	/* local variable definition */
	var ranking string = "B"
	var nilai int = 90

	switch nilai {
	case 90:
		ranking = "A"
	case 80:
		ranking = "B"
	case 50, 60, 70:
		ranking = "C"
	default:
		ranking = "D"
	}
	switch {
	case ranking == "A":
		fmt.Printf("Excellent!\n")
	case ranking == "B", ranking == "C":
		fmt.Printf("Well done\n")
	case ranking == "D":
		fmt.Printf("You passed\n")
	case ranking == "F":
		fmt.Printf("Better try ranking\n")
	default:
		fmt.Printf("Invalid ranking\n")
	}
	fmt.Printf("Your ranking is  %s\n", ranking)
}

3. Loop

Di dalam bahasa pemrograman pasti ada loop biasanya di gunakan untuk melakukan pengulangan terhadap kondisi Array.

1. Loop Menggunakan Foor

package main

import "fmt"

func main() {
	var b int = 15
	var a int
	numbers := [6]int{1, 2, 3, 5}

	/* for loop execution di eksekusi dari 0-9*/
	for a := 0; a < 10; a++ {
		fmt.Printf("value of a: %d\n", a)
	}
	for a < b {
		a++
		fmt.Printf("value of a: %d\n", a)
	}
	for i, x := range numbers {
		fmt.Printf("value of x = %d at %d\n", x, i)
	}
}

// nested loop
package main

import "fmt"

func main() {
   /* local variable definition */
   var i, j int

   for i = 2; i < 100; i++ {
      for j = 2; j <= (i/j); j++ {
         if(i%j==0) {
            break; // if factor found, not prime
         }
      }
      if(j > (i/j)) {
         fmt.Printf("%d is prime\n", i);
      }
   }  
}

2. Break Di Loop

package main

import "fmt"

func main() {
	/* local variable definition */
	var a int = 10

	/* for loop execution looping dari*/
	for a < 20 {
		fmt.Printf('value of a: %d\n', a)
		a++
		if a > 15 {
			/* berhenti jika pengulangan sudah mencapai angka 15 */
			break
		}
	}
}

2. Continue Di Loop

package main

import "fmt"

func main() {
	/* local variable definition */
	var a int = 10

	/* do loop execution */
	for a < 20 {
		if a == 15 {
			/* skip the iteration */
			a = a + 1
			continue
		}
		fmt.Printf("value of a: %d\n", a)
		a++
	}
}

Mungkin segitu yang bisa saya sharing semoga bermanfaat bagi teman-teman, jika ada yang tidak mengerti, ada kesalahan dalam penulisan dan ada yang ingin ditanyakan atau di tambahkan bisa tulis dikolom komentar terimakasih.

Posting Komentar

0 Komentar