Langsung ke konten utama

Pengenalan Struktur Kontrol pada Go Language

     Struktur kontrol pada bahasa pemrograman Go mirip dengan bahasa C, namun cara penulisannya yang sedikit berbeda. Tidak ada pengulangan do dan while, semuanya sudah ditangani oleh fordan switchyang lebih fleksibel. ifdan switchmenerima pernyataan inisialisasi seperti yang terdapat pada for. Selain itu break dan continue mengambil opsional label untuk mengidentifikasi dalam melakukan operasinya.
1. Penggunaan IF
Penggunaan kondisi atau if sangat mudah dan sederhana seperti yang terdapat pada kode program berikut ini:
|=====================================================================
|package main
|import "fmt"
|import "os"
|func main() {
|      var x int = 10;
|      var y int;
|      if x < 20 {
|            y = 20;
|            fmt.Println("Nilai x =",x)
|            fmt.Println("Nilai y =",y)
|      }
|      //Penggunaan if dengan statement
|      if x = 50; x > y {
|            fmt.Println("x > y")
|      }
|      os_name, err := os.Hostname()
|      if err == nil {
|            fmt.Println("\nOs Name : "+os_name)
|
|      }
|}
|=====================================================================
Perhatikan potongan kode di atas, di sana terdapat tiga contoh penggunaan kondisi  dengan parameter yang berbeda. Hal ini menunjukkan bahwa Go programming menawarkan beberapa alternatif kepada programmer dalam mengembangkan aplikasi yang singkat dan jelas, berikut adalah tampilan ketika program dijalankan.
Untuk lebih jelasnya bisa dilihat video berikut
2. Penggunaan For
Bahasa pemrograman tentu saja tidak lepas dari kondisi maupun perulangan karena hal tersebut merupakan dasar dalam menyusun program dalam menyelesaikan berbagai macam persoalan. Go dalam hal ini menyediakan tiga cara penggunaan perulangan ataufor yang mirip dengan bahasa C, seperti yang terdapat pada potongan program berikut.
=====================================================================
// seperti penulisan for pada bahasa C
for init; condition; post { }

// seperti penulisan while pada bahasa C
for condition { }

// seperti penulisan for(;;)pada bahasa C
for { }
===================================================================== 
Dengan demikian maka hanya dengan menggunakan for saja programmer dapat menggukan berbagai macam kombinasi sekaligus, bahasa pemrograman Go mencoba mereduksi penggunaan kode sehingga lebih general, mudah dipahamidan hal juga akan menjadi pemicu para pengembang dalam mengembangkan aplikasi dengan cara yang mudah dan berbeda.Berikut adalah implementasi perulangan for dalam pemrograman Go.
=====================================================================
package main
import "fmt"

func main() {
   for i :=0; i<5; i++ {
      fmt.Println("Nilai i = ",i)
   }

   var j int = 0;
   for  j<5 {
      fmt.Println("Nilai j = ",j)
      j++
   }

   for pos, char := range "САШАРВО" {
      fmt.Printf("character %#U starts at byte position %d\n", char, pos)
   }

   for {
      if j++; j <= (10) {
            fmt.Println("Nilai j = ",j)
      }else{
            break
      }
   }
}
=====================================================================

3. Penggunaan Switch
Penggunaana switchpada pemrograman Go lebih umum daripada bahasa C. Ekspresi yang dilewatkan tidak harus constant atau integer. Selain itu jika switch tidak mempunyai ekspresi, maka otomatis ekspresi pada switch diberi nilai true.
=====================================================================
package main

import "fmt"

func main() {

      var karakter byte = '?'
      switch (karakter){
            case 'A' :  fmt.Println("Karakter A")
            case 'B' :  fmt.Println("Karakter B")
            case '?' :  fmt.Println("Karakter ?")
      }

      var nilai int32 = 91; // nilai silahkan diubah-ubah

      switch {
            case nilai >90 :  fmt.Println("Nilai Anda A")
            case nilai >70 :  fmt.Println("Nilai Anda B")
            case nilai >60 :  fmt.Println("Nilai Anda C")
            default :  fmt.Println("Nilai Anda D")
      }

      for i:=0; i<10;i++{
            switch {
                  case i%2 == 0 : fmt.Println("Nilai i % 2 = ",i)
                  case i%5 == 0 : fmt.Println("Nilai i % 5 = ",i)
            }
      }
}
=====================================================================
Untuk lebih jelasnya bisa dilihat video berikut
4. Fungsi
Salah satu fitur yang unik pada bahasa pemrograman Go adalah fungsi yang dapat memberikan lebih dari satu nilai kembalian (multiple return value). Dibandingkan dengan bahasa pemrograman lain, Go adalah bahasa program yang memberikan kemudahan dalam menyediakan multiple return value karena tanpa menggunakan bantuan collection atau penggabungan data sebelum di kembalikan (return). Aturan penulisan fungsi dan method pada Go dapat dituliskan sebagai berikut:
=====================================================================
func (<parameter>,…n) (<type return value>,…n){
      // isi dari fungsi
}
===================================================================== 

Program diawali dengan kata kunci funclalu diikuti parameter dan jenis return value yang diinginkan. Fungsi yang dijalankan pertama kali oleh Go sebagai fungsi utama adalah func main()tanpa adanya program utama ini makaprogram tidak akan dapat berjalan danhanya dapat dikompilasi sebagai library saja.Untuk lebih jelasnya, silahkan mengamati dan lakukan percobaan program berikut ini.
=====================================================================
package main

import "fmt"

func main() {
      var nilai, err int

      // silahkan diganti dengan bilangan negatif
      nilai, err = penjumlahan(2,3)
      fmt.Println("Hasil = ", nilai)
      fmt.Println("Pesan = ", err)
}

func penjumlahan(a int, b int) (int, int){
      var err int;

      if a<0 || b<0{ // periksa bilangan negatif
            err = -1
      } else{
            err = 0
      }

      return a+b, err;
}
=====================================================================
Berikut hasil programnya ketika dijalankan.
Untuk lebih jelasnya bisa dilihat video berikut
5. Array
Array adalah suatu kumpulan elemen dengan tipe data yang sama dan panjang elemennya tetap. Sebagai contoh, terdapat 5 orang siswa kelas XI SMK yang mengikuti Lomba Kompetensi Siswa Tingkat Nasional dengan masing-masing siswa mempunyai nomor urut: 701, 702, 703, 704 dan 705. Maka kalimat tersebut dapat dibahasakan ke dalam bahasa program sebagai berikut.
=====================================================================
package main
import "fmt"
func main() {
      // contoh 1
      var no_urut [5]int
      no_urut[0] = 701
      no_urut[1] = 702
      no_urut[2] = 703
      no_urut[3] = 704
      no_urut[4] = 705
      fmt.Println("Elemen Array 0: ", no_urut[0])

      // contoh 2
      no_urut1 := [5]int{701, 702, 703, 704, 705}

      fmt.Println("Elemen Array 1: ", no_urut1[1])

      // contoh 3
      var total int32;
      score := [...]int32{10, 20, 15, 3, 18}
      for _, ni := range score {
         total += ni
      }
      fmt.Println("Total Score: ", total)
}
=====================================================================
Untuk lebih jelasnya bisa dilihat video berikut

Komentar

Postingan populer dari blog ini

Without Water Everything Is Nothing

 Pernah Gak sih kalian ngerasa hidup tanpa air itu seperti semua kebahagian kalian itu hilang??? Aku mau cerita sedikit, aku dulu pernah ngerasa hidup tanpa air segalanya itu jadi tidak ada apa-apanya. Pertama kali perjalanan jauh naik pesawai yang kurang lebih 8 jam didalam pesawat aku harus nahan buang air kecil, dan itu kira-kira Januari 2015. Aku kira didalam toilet pesawat itu ada air 😓 karena aku belum pernah masuk toilet pesat biasanya aku tahan dan kalau sudah sampai aku langsung nyari toilet, ternyata tidak ada dan itu aku merasa tersiksa banget sumpah dan anehnya lagi aku berkali-kali bulak-balik toilet seperti untuk memastikan ada air apa tidak 😪.  Tiba-tiba ada penumpang lain yang memaksa ingin membeli air mineral yang biasa untuk minum, bapaknya itu marah-marah karena pramugari tidak memberikan air mineral tersebut untuk dibeli. Bapaknya itu maksa sampe mau beli 1 botol yang isinya 1liter seharga seratus ribu. Tapi aku salut sama pramugarinya sabar dan masih ngejalanin S

Simulasi Arduino + Soil Moisture Sensor "tinkercad"

Haloooooo Hari ini kita akan simulasi arduino dan  soil moisture sensor dengan menggunakan tinkercad. yang harus disiapkan adalah arduino dan soil moisture sensor Buatlah rangkaian seperti gambar dibawah ini Setelah dibuat rangkaiannya klik tombol code kemudian ubah edit mode ke text dan ketikan code dibawah ini int soil; void setup() { Serial.begin(9600); } void loop() { soil = analogRead(A0); Serial.println(soil); delay(15); } Setelah memasukan code diatas kemudian klik start simulation dan teman-teman bisa mengatur kelembaban dengan menggeser icon embun. Untuk lebih jelasnya bisa cek di video ini https://youtu.be/_wM2EjpJIIE

Air Berbau Minyak Tanah

 Assalamualaikum 🙋 Perjalanan 11 hari yang mengesankan!!! Hari pertama sebelum keberangkatan, kami melakukan sholat sunat safar terlebih dahulu dan berpamitan kepada keluarga yang ditinggalkan. Sebelum kebandara kami berkumpul terlebih dahulu di Masjid Pusdai. Dari rumah kami berangkat kira-kira pukul 00.30 WIB dan alhamdulillah perjalanan ke Masjid Pusdai lancar. Setelah sampai di masjid kita diberi pengarahan terlebih dahulu kemudian doa bersama sebelum berangkat ke Bandara Soekarno Hatta. Rombongan berangkat dari masjid kira-kira pukul 02.00 WIB dan tiba di bandara sekitar pukul 04.30 WIB dan alhamdulillah jalanan lancar tidak ada hambatan sedikitpun. Setelah sampai dibandara kami menunggu pembimbing ibadah umroh dari Bogor, kemudian menunggu jam keberangkatan yang dijadwalkan pukul 10.30 WIB. Sekitar pukul 07.00 WIB kami sarapan terlebih dahulu dan menunggu jam keberangkatan di lounge. Karena ditiket pesawat terdapat tulisan tidak dapat makan kaget lah saya dan akhirnya saya mengi