Aplikasi Sederhana Menggunakan Golang

Alfira Saputri

Sosial Media


1 orang menyukai ini
Suka

Summary

Golang atau Bahasa Go adalah salah satu bahasa pemrograman open-source yang dikembangkan Google oleh Robert Gresemer, Rob Pike dan Ken Thompson pada tahun 2007 dan mulai diperkenalkan di publik pada tahun 2009. Golang dibuat berdasarkan kekuatan bahasa pemrograman lama seperti keluarga C (C++, C#, C) dan digabungkan dengan kenyamanan saat mengembangkan aplikasi dengan bahasa modern sehingga memiliki performa yang cepat.

Bahasa Golang biasanya digunakan untuk bahasa backend dalam aplikasi website, mobile, maupun dekstop. Golang terkenal dengan kemudahannya dalam menggunakan konkurensi (concurrency) dengan fitur goroutine-nya. Selain itu, Golang mampu membangun aplikasi web yang aman dan scalable, mampu mengatasi sistem yang kompleks yang membutuhkan kinerja tinggi.

Description

Pada portofolio ini saya akan membahas tentang Aplikasi Sederhana Menggunakan Golang bertema Perhitungan dasar Matematika. Aplikasi berbasis command line dengan fitur-fitur berikut:

  1. Buatlah aplikasi untuk menghitung luas persegi! 
  2. Buatlah aplikasi untuk menghitung luas segi tiga! 
  3. Buatlah aplikasi untuk menghitung luas lingkaran! 
  4. Buatlah aplikasi untuk menghitung sudut sinus, cosinus, tangen! 
  5. Buatlah aplikasi untuk menghitung gerak lurus beraturan! 
  6. Buatlah aplikasi untuk menghitung gerak lurus berubah beraturan!
  7. Buatlah aplikasi untuk menghitung energi potensial, kinetik! h. Buatlah aplikasi untuk menghitung frekuensi atau getaran! 
  8. Buatlah aplikasi untuk menghitung masa jenis! 
  9. Buatlah aplikasi untuk menghitung daya, tekanan, usaha dan gaya!
  10. Buatlah aplikasi untuk konversi untuk semua satuan suhu! 

Berikut adalah programnya: 

package main 

 

import ( 

    "fmt" 

    "math" 

) 

func main() { 

 

    varuserChoice int 

 

    fori:= 1; i > 0; i++{ 

   fmt.Println(" Menu:")        fmt.Println("1. Hitung Luas Persegi")         fmt.Println("2. Hitung Luas Segitiga")         fmt.Println("3. Hitung Luas Lingkaran")         fmt.Println("4. Hitung Sudut Trigonometri ")         fmt.Println("5. Hitung Gerak Lurus Berarturan")         fmt.Println("6. Hitung Gerak Lurus Berubah Berarturan")        fmt.Println("7. Hitung Energi Potensial dan Kinetik")         fmt.Println("8. Hitung frekuensi dan getaran")         fmt.Println("9. Hitung massa jenis")         fmt.Println("10. Hitung daya, tekanan, usaha dan gaya")         fmt.Println("11. Konversi suhu")         fmt.Println("99. Exit Program")        fmt.Print("pilih [1-11]: ")         fmt.Scan(&userChoice)         switch userChoice{             case1:                 LuasPersegi()             case2:                 LuasSegitiga()             case3: 

               GetLuasLingkaran() 

       case4:                 HitungTrigonometry()             case5:                 HitungGLB()             case6:                 HitungGLBB()             case7: 

                HitungPotensialKinetik()             case8: 

                HitungFrekuensiGetaran()             case9: 

                HitungMassaJenis()             case10:                 HitungDayaGaya()             case11:                 KonversiSuhu()             case99: 

                i =-1  // stop looping            default: 

               fmt.Println("Invalid input!") 

      } 

}

 

func LuasPersegi() {     varsisi float64     fmt.Println(" #1. Menghitung Luas Persegi")     fmt.Println("Rumus -> Luas Persegi = sisi * sisi")     fmt.Print("Panjang sisi (cm) = ")    fmt.Scan(&sisi)     fmt.Printf("Luas Persegi = %.1f cm ", (sisi * sisi)) 

} 

 

func LuasSegitiga() {     varalastinggifloat64     fmt.Println(" #2. Menghitung Luas Segitiga")     fmt.Println("Rumus -> Luas Segitiga = 1/2 * alas * tinggi")     fmt.Print("Panjang alas (cm) = ")     fmt.Scan(&alas)    fmt.Print("Tinggi segitiga (cm) = ")    fmt.Scan(&tinggi)    fmt.Printf("Luas segitiga = %.1f cm ", (1.0/2.0* alas * tinggi)) 

}

func GetLuasLingkaran() {     varjariJari float64     fmt.Println(" #3. Menghitung Luas Lingkaran")     fmt.Println("Rumus -> Luas Lingkaran = phi * r * r")     fmt.Print("Panjang Jari Jari (cm) = ")     fmt.Scan(&jariJari) 

 

    fmt.Printf("Luas Lingkaran = %.1f cm ", (math.Pi * jariJari * jariJari)) 

} 

 

func HitungTrigonometry(){     varalasmiringtinggi float64     fmt.Println(" #4. Menghitung Sudut Trigonometri")     fmt.Print("Panjang Alas = ")     fmt.Scan(&alas)     fmt.Print("Panjang Sisi Miring = ")     fmt.Scan(&miring)    fmt.Print("Tinggi = ")    fmt.Scan(&tinggi)   fmt.Printf("Sin = %.2f ", tinggi / miring)   fmt.Printf("Cos = %.2f ", alas / miring)   fmt.Printf("Tan = %.2f ", tinggi / alas) 

 

func HitungGLB(){     varuserChoice int     varkecepatanjarakTempuhwaktuTempuh float64     fmt.Println(" #5. Menghitung Gerak Lurus Beraturan")     fmt.Println("Menu:")     fmt.Println("1. Hitung kecepatan")     fmt.Println("2. Hitung jarak tempuh")     fmt.Println("3. Hitung waktu tempuh")     fmt.Print("Pilih [1-3]: ")     fmt.Scan(&userChoice) 

 

    switch userChoice {         case1: 

            fmt.Println(" #Menghitung Kecepatan")            fmt.Println("Rumus -> Kecepatan = JarakTempuh / WaktuTempuh")           fmt.Print("Jarak tempuh (km) = ")            fmt.Scan(&jarakTempuh)           fmt.Print("Waktu tempuh (jam) = ")           fmt.Scan(&waktuTempuh) 

    fmt.Printf("Kecepatan = %.2f km/jam ", jarakTempuh/waktuTempuh ) 

      case2: 

          fmt.Println(" #Menghitung Jarak Tempuh")          fmt.Println("Rumus -> JarakTempuh = Kecepatan * WaktuTempuh")            fmt.Print("Kecepatan (km/jam) = ")             fmt.Scan(&kecepatan)             fmt.Print("Waktu tempuh (jam) = ")             fmt.Scan(&waktuTempuh)             fmt.Printf("Jarak Tempuh = %.2f km ", kecepatan*waktuTempuh ) 

        case3: 

            fmt.Println(" #Menghitung Waktu Tempuh")            fmt.Println("Rumus -> WaktuTempuh = jarak tempuh / kecepatan")            fmt.Print("Jarak tempuh (km) = ")             fmt.Scan(&jarakTempuh)             fmt.Print("Kecepatan (km/jam) = ")            fmt.Scan(&kecepatan)             fmt.Printf("Waktu Tempuh = %.2f jam ", jarakTempuh/kecepatan ) 

        default: 

           fmt.Println("Invalid input!") 

   } 

}

func HitungGLBB(){     varuserChoice int     varkecepatanAkhirkecepatanAwalpercepatanjarakwaktu float64     fmt.Println(" #6. Menghitung Gerak Lurus Berubah Beraturan")     fmt.Println("Menu:")     fmt.Println("1. Hitung kecepatan akhir")     fmt.Println("2. Hitung waktu tempuh")     fmt.Print("Pilih [1 atau 2]: ")     fmt.Scan(&userChoice) 

 

    switch userChoice {         case1: 

            fmt.Println(" #Menghitung Kecepatan Akhir") 

            fmt.Println("Rumus -> Kecepatan Akhir = Kecepatan Awal + percepatan * waktu")             fmt.Print("Kecepatan Awal (m/s)= ")             fmt.Scan(&kecepatanAwal)             fmt.Print("Percepatan (m/s^2)= ")             fmt.Scan(&percepatan)             fmt.Print("Waktu (s)= ")             fmt.Scan(&waktu)             kecepatanAkhir= kecepatanAwal + percepatan*waktu     fmt.Printf("Kecepatan AKhir = %.2f m/s ",  kecepatanAkhir) 

      case2: 

          fmt.Println(" #Menghitung Jarak") 

            fmt.Println("Rumus -> Jarak  = (Kecepatan Akhir - Kecepatan Awal) / percepatan")            fmt.Print("Kecepatan Awal (m/s)= ")             fmt.Scan(&kecepatanAwal)             fmt.Print("Kecepatan Akhir (m/s)= ")             fmt.Scan(&kecepatanAkhir)             fmt.Print("Percepatan (m/s^2)= ")             fmt.Scan(&waktu)             jarak= (kecepatanAkhir - kecepatanAwal) / waktu             fmt.Printf("Waktu = %.2f s ",  jarak)         default: 

            fmt.Println("Invalid Input!") 

    } 

} 

 

func HitungPotensialKinetik(){     varuserChoice int     varenergiPotensialenergiKinetikmassaBendagravitasiketinggiankecepatanfloat64   fmt.Println(" #7. Menghitung Energi Potensial dan Kinetik")     fmt.Println("Menu:")     fmt.Println("1. Hitung Energi Potensial Gravitasi")     fmt.Println("2. Hitung Energi Kinetik")     fmt.Print("Pilih [1 atau 2]: ")     fmt.Scan(&userChoice) 

 

    switch userChoice {     case1: 

        fmt.Println(" #Menghitung Energi Potensial Gravitasi")         fmt.Println("Rumus -> Ep  = massa benda * gravitasi * ketinggian")         fmt.Print("Massa benda (kg)= ")        fmt.Scan(&massaBenda)         fmt.Print("Gravitasi (m/s2)= ")         fmt.Scan(&gravitasi)         fmt.Print("Ketinggian (m)= ")         fmt.Scan(&ketinggian)         energiPotensial= massaBenda * gravitasi * ketinggian       fmt.Printf("Energi Potensial = %.2f Joule ",  energiPotensial) 

  case2:          

    fmt.Println(" #Menghitung Energi Kinetik")     fmt.Println("Rumus -> Ek  = (massa * kecepatan^2) / 2")  fmt.Print("Massa (kg)= ")       fmt.Scan(&massaBenda)       fmt.Print("Kecepatan (m/s)= ")       fmt.Scan(&kecepatan)         energiKinetik= 1.0/2.0* massaBenda * kecepatan * kecepatan         fmt.Printf("Energi Kinetik = %.2f Joule ",  energiKinetik)    default: 

        fmt.Println("Invalid Input!") 

    } 

} 

 

func HitungFrekuensiGetaran(){     varjumlahGetaranwaktufloat64     fmt.Println(" #8. Menghitung Frekuensi dan Getaran")     fmt.Println("Rumus -> Frekuensi  = jumlah getaran / waktu yang dibutuhkan")     fmt.Print("Jumlah Getaran = ")     fmt.Scan(&jumlahGetaran)     fmt.Print("Waktu (s) = ") 

 fmt.Scan(&waktu)  fmt.Printf("Frekuensi = %.2f hz ",  jumlahGetaran / waktu) 

}

func HitungMassaJenis(){     varmassavolumefloat64     fmt.Println(" #9. Menghitung Massa Jenis")     fmt.Println("Rumus -> massa / volume")     fmt.Print("Massa (kg) = ")     fmt.Scan(&massa)     fmt.Print("Volume (m3)) = ")     fmt.Scan(&volume)     fmt.Printf("Massa jenis = %.2f kg/m3 ",  massa / volume) 

} 

 

func HitungDayaGaya(){     varuserChoice int     varusahagayaalaswaktujarak float64     fmt.Println(" #10. Menghitung Daya, Tekanan, Usaha dan Gaya")     fmt.Println("Menu:")     fmt.Println("1. Hitung Daya")    fmt.Println("2. Hitung Tekanan") fmt.Println("3. Hitung Usaha") fmt.Println("4. Hitung Gaya") fmt.Print("Pilih [1-4]: ") fmt.Scan(&userChoice) 

  switch userChoice{ 

      case1: 

          fmt.Println(" #Menghitung Daya")             fmt.Println("Rumus -> Daya = Usaha / waktu")             fmt.Print("Usaha (joule) = ")             fmt.Scan(&usaha)             fmt.Print("Waktu (s) = ")             fmt.Scan(&waktu)                     fmt.Printf("Gaya = %.2f J/s ",  usaha / waktu)         case2: 

            fmt.Println(" #Menghitung Tekanan")             fmt.Println("Rumus -> Tekanan = Gaya / Luas alas ")             fmt.Print("Gaya (N) = ")             fmt.Scan(&gaya)             fmt.Print("Luas alas (m2) = ")            fmt.Scan(&alas)             fmt.Printf("Tekanan = %.2f N/m2 ",  gaya / alas)     case3: 

        fmt.Println(" #Menghitung Usaha")         fmt.Println("Rumus -> Usaha = Gaya * Jarak")         fmt.Print("Gaya (N) = ") 

      fmt.Scan(&gaya)         fmt.Print("Jarak (m) = ")         fmt.Scan(&jarak)                   fmt.Printf("Usaha = %.2f J ",  gaya * jarak)         case4: 

            fmt.Println(" #Menghitung Gaya")             fmt.Println("Rumus -> Gaya = Usaha / Jarak")             fmt.Print("Usaha (J) = ")             fmt.Scan(&usaha)             fmt.Print("Waktu (s) = ")             fmt.Scan(&jarak)                     fmt.Printf("Gaya = %.2f N ",  usaha / jarak)         default 

            fmt.Println("Invalid input!") 

    } 

}   

func KonversiSuhu(){   varuserChoice int   varsuhu float64 fmt.Println(" #11. Konversi Susu")fmt.Println("Pilih Jenis Suhu yang dimiliki") fmt.Println("1. Celcius") fmt.Println("2. Fahrenheit")fmt.Println("3. Reamur")   fmt.Println("4. Kelvin")     fmt.Print("Pilihan [1-4] : ")     fmt.Scan(&userChoice) 

 

    switch userChoice {     case1: 

        fmt.Print("Masukkan suhu dalam Celcius = ")         fmt.Scan(&suhu)         fmt.Printf("%.2f Celcius = %.2f Reamur ", suhu, suhu * 4.0/5.0)         fmt.Printf("%.2f Celcius = %.2f Fahrenheit ", suhu, (suhu / 5.0* 9.0+ 32)         fmt.Printf("%.2f Celcius = %.2f Kelvin ", suhu, (suhu /5.0* 5.0+ 273)     case2: 

        fmt.Print("Masukkan suhu dalam Fahrenheit = ")         fmt.Scan(&suhu)         fmt.Printf("%.2f Fahrenheit = %.2f Celcius ", suhu, (suhu - 32/ 9.0* 5.0)       fmt.Printf("%.2f Fahrenheit = %.2f Reamur ", suhu, (suhu -32/ 9.0* 4.0)       fmt.Printf("%.2f Fahrenheit = %.2f Kelvin ", suhu, ((suhu - 32) / 9.0* 5.0+ 273)   case3: 

    fmt.Print("Masukkan suhu dalam Reamur = ") 

   fmt.Scan(&suhu)     fmt.Printf("%.2f Reamur = %.2f Celcius ", suhu, suhu / 4.0* 5.0)     fmt.Printf("%.2f Reamur = %.2f Fahrenheit ", suhu, (suhu /4.0* 9.0+ 32)         fmt.Printf("%.2f Reamur = %.2f Kelvin ", suhu, (suhu /4.0* 5.0+ 273)     case4: 

        fmt.Print("Masukkan suhu dalam Kelvin = ")         fmt.Scan(&suhu)         fmt.Printf("%.2f Kelvin = %.2f Celcius ", suhu, (suhu - 273/ 5.0* 5.0)         fmt.Printf("%.2f Kelvin = %.2f Reamur ", suhu, (suhu -273/ 5.0* 4.0)         fmt.Printf("%.2f Kelvin = %.2f Fahrenheit ", suhu, ((suhu - 273) / 5.0* 9.0+ 32)     default: 

        fmt.Println("Invalid input!") 

    } 

} 

 

 

Informasi Course Terkait
  Kategori: Web Programming
  Course: Bahasa pemrograman GO