Menu
CoddyTech

Ringkasan: Menangani Masalah

Termasuk bagian Dasar-Dasar dalam perjalanan GO di Coddy. Pelajaran 109 dari 109.

challenge icon

Tantangan

Mudah

Mari berlatih menangani error di Go dengan program konversi suhu sederhana.

Tugasmu adalah mengimplementasikan fungsi yang mengonversi suhu dari Celsius ke Fahrenheit, dengan penanganan error yang tepat.

Lengkapi fungsi celsiusToFahrenheit yang:

  • Mengonversi suhu Celsius ke Fahrenheit menggunakan rumus: F = C × 9/5 + 32
  • Mengembalikan error jika suhu berada di bawah nol mutlak (-273.15°C)

Untuk pesan error, kamu harus mengembalikan tepat: "Error: temperature below absolute zero"

Fungsi main berisi kasus uji untuk memverifikasi implementasimu.

Coba sendiri

package main

import (
	"errors"
	"fmt"
)

// celsiusToFahrenheit mengonversi suhu dari Celsius ke Fahrenheit
// Mengembalikan error jika suhu di bawah nol mutlak (-273.15°C)
func celsiusToFahrenheit(celsius float64) (float64, error) {
	// TODO: Terapkan logika konversi
	// 1. Periksa apakah suhu di bawah nol mutlak (-273.15°C)
	// 2. Jika valid, konversi menggunakan rumus: F = C × 9/5 + 32
	// 3. Kembalikan nilai dan error yang sesuai
	return 0, nil
}

func main() {
	// Uji suhu yang valid
	fmt.Println("Converting 25°C to Fahrenheit:")
	fahrenheit, err := celsiusToFahrenheit(25)
	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Printf("25°C = %.2f°F\n", fahrenheit)
	}

	// Uji suhu valid lainnya
	fmt.Println("\nConverting 0°C to Fahrenheit:")
	fahrenheit, err = celsiusToFahrenheit(0)
	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Printf("0°C = %.2f°F\n", fahrenheit)
	}

	// Uji suhu yang tidak valid (di bawah nol mutlak)
	fmt.Println("\nConverting -300°C to Fahrenheit:")
	fahrenheit, err = celsiusToFahrenheit(-300)
	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Printf("-300°C = %.2f°F\n", fahrenheit)
	}
}

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler Go online