Menu
CoddyTech

Konstanta (static final)

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Java di Coddy. Pelajaran 18 dari 87.

Menggabungkan static dan final menghasilkan konstanta, yaitu nilai yang menjadi milik class dan tidak pernah bisa berubah. Ini adalah cara standar untuk mendefinisikan konstanta di Java.

public class GameSettings {
    public static final int MAX_PLAYERS = 4;
    public static final double GRAVITY = 9.81;
    public static final String GAME_TITLE = "Space Adventure";
}

Sesuai konvensi, nama konstanta menggunakan UPPER_SNAKE_CASE untuk membedakannya dari variabel biasa. Karena keduanya bersifat static dan final, kamu mengaksesnya melalui nama class, dan nilainya dijamin tidak akan pernah berubah:

System.out.println(GameSettings.MAX_PLAYERS);  // 4
// GameSettings.MAX_PLAYERS = 8;  // error! Tidak dapat diubah

Konstanta biasanya dideklarasikan public karena dimaksudkan untuk digunakan bersama di seluruh aplikasi. Bayangkan nilai seperti Math.PI, konstanta final statis public yang dapat digunakan oleh kode apa pun.

Mengapa menggunakan konstanta alih-alih nilai yang ditulis langsung di dalam kode? Jika kamu menulis 4 di seluruh kodemu dan nanti perlu mengubahnya menjadi 6, kamu harus mencari dan memperbarui setiap kemunculannya. Dengan konstanta seperti MAX_PLAYERS, kamu cukup mengubahnya di satu tempat.

Konstanta juga membuat kode lebih mudah dibaca: MAX_PLAYERS lebih jelas daripada 4 yang misterius.

challenge icon

Tantangan

Mudah

Mari buat utility MathConstants yang menyimpan nilai matematika penting sebagai konstanta, serta CircleCalculator yang menggunakan konstanta tersebut untuk melakukan perhitungan.

Kamu akan membuat dua file untuk mengatur kodemu:

  • MathConstants.java: Buat class yang menyimpan konstanta matematika menggunakan field public static final:
    • PI dengan nilai 3.14159
    • E (bilangan Euler) dengan nilai 2.71828
    • GOLDEN_RATIO dengan nilai 1.61803
    Ingat untuk menggunakan UPPER_SNAKE_CASE pada nama konstanta!
  • Main.java: Gunakan konstanta untuk melakukan perhitungan lingkaran. Kamu akan menerima jari-jari sebagai input dan mencetak tiga baris:
    • Luas lingkaran: Area: [value]
    • Keliling lingkaran: Circumference: [value]
    • Diameter yang dikalikan dengan rasio emas: Golden Diameter: [value]

Untuk perhitungannya:

  • Area = PI * radius * radius
  • Circumference = 2 * PI * radius
  • Golden Diameter = 2 * radius * GOLDEN_RATIO

Kamu akan menerima satu input: jari-jari (double).

Format semua nilai output menjadi 2 angka di belakang koma menggunakan String.format("%.2f", value). Akses konstanta melalui nama class, seperti MathConstants.PI.

Coba sendiri

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double radius = scanner.nextDouble();
        
        // TODO: Hitung luas menggunakan MathConstants.PI
        // Rumus: PI * radius * radius
        
        // TODO: Hitung keliling menggunakan MathConstants.PI
        // Rumus: 2 * PI * radius
        
        // TODO: Hitung diameter emas menggunakan MathConstants.GOLDEN_RATIO
        // Rumus: 2 * radius * GOLDEN_RATIO
        
        // TODO: Cetak hasil dengan 2 angka di belakang koma
        // Gunakan String.format("%.2f", value) untuk memformat hasil
        // Format output:
        // Luas: [value]
        // Circumference: [value]
        // Golden Diameter: [value]
        
    }
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler Java online