0Pricing
Java Academy · Pelajaran

Dasar-Dasar Class Math

Gunakan Math.abs, Math.pow, Math.sqrt, Math.random, dan berbagai metode Math yang sering digunakan.

Dasar-Dasar Class Math adalah pelajaran Java Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Java Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Java Academy mencakup 4 pelajaran total.

Kelas Math

Kelas java.lang.Math menyediakan metode utilitas statis untuk operasi matematika umum. Kelas ini selalu tersedia dan tidak memerlukan import.

Nilai Absolut dan Tanda

Math.abs() mengembalikan nilai absolut, yaitu nilai yang tidak negatif. Math.signum() mengembalikan -1.0, 0.0, atau 1.0 bergantung pada tandanya.

System.out.println(Math.abs(-42));      // 42
System.out.println(Math.abs(3.14));     // 3.14
System.out.println(Math.signum(-5.0));  // -1.0
System.out.println(Math.signum(0.0));   //  0.0
System.out.println(Math.signum(7.0));   //  1.0

Pangkat, Akar Kuadrat, dan Akar Pangkat Tiga

Gunakan Math.pow(base, exp) untuk menghitung pangkat, Math.sqrt() untuk akar kuadrat, dan Math.cbrt() untuk akar pangkat tiga.

System.out.println(Math.pow(2, 10));  // 1024.0
System.out.println(Math.sqrt(144));   // 12.0
System.out.println(Math.cbrt(27));    // 3.0

// Hypotenuse of a right triangle (a=3, b=4)
double hyp = Math.sqrt(Math.pow(3, 2) + Math.pow(4, 2));
System.out.println(hyp); // 5.0

Nilai Minimum, Maksimum, dan Batas

Math.min() dan Math.max() mengembalikan nilai yang lebih kecil atau lebih besar dari dua nilai. Gabungkan keduanya untuk menerapkan pembatas yang menjaga nilai tetap dalam suatu rentang.

int a = 10, b = 20;
System.out.println(Math.min(a, b)); // 10
System.out.println(Math.max(a, b)); // 20

// Clamp value between 0 and 100
int clamp(int value, int min, int max) {
    return Math.max(min, Math.min(value, max));
}
System.out.println(clamp(150, 0, 100)); // 100
System.out.println(clamp(-5,  0, 100)); // 0
System.out.println(clamp(75,  0, 100)); // 75

Pembulatan ke Bawah, ke Atas, dan Terdekat

Math.floor() membulatkan ke bawah, Math.ceil() membulatkan ke atas, dan Math.round() membulatkan ke bilangan bulat terdekat (setengah dibulatkan ke atas).

double price = 9.3;
System.out.println(Math.floor(price));  // 9.0
System.out.println(Math.ceil(price));   // 10.0
System.out.println(Math.round(price));  // 9

double shipping = 3.5;
System.out.println(Math.round(shipping)); // 4 (half-up)

// Round to 2 decimal places
double tax = 7.5678;
double rounded = Math.round(tax * 100.0) / 100.0;
System.out.println(rounded); // 7.57

Logaritma dan Eksponensial

Math.log() menghitung logaritma natural (basis e), Math.log10() menghitung logaritma basis 10, dan Math.exp() menghitung e^x.

System.out.println(Math.log(Math.E));   // 1.0
System.out.println(Math.log10(1000));   // 3.0
System.out.println(Math.exp(1));        // 2.718281828...

// Change of base: log2(8)
double log2 = Math.log(8) / Math.log(2);
System.out.println(log2); // 3.0

// Compound interest: P * e^(r*t)
double principal = 1000, rate = 0.05, years = 10;
double amount = principal * Math.exp(rate * years);
System.out.printf("Amount: %.2f%n", amount); // 1648.72

Metode Trigonometri

Math menyediakan fungsi trigonometri yang menerima sudut dalam radian. Gunakan Math.toRadians() untuk mengonversi derajat menjadi radian.

double angle = Math.toRadians(45);
System.out.printf("sin(45): %.4f%n", Math.sin(angle)); // 0.7071
System.out.printf("cos(45): %.4f%n", Math.cos(angle)); // 0.7071
System.out.printf("tan(45): %.4f%n", Math.tan(angle)); // 1.0000

// Distance between two GPS coordinates (simplified)
double lat1 = Math.toRadians(40.7128);
double lat2 = Math.toRadians(34.0522);
double deltaLat = lat2 - lat1;
System.out.printf("Delta lat (rad): %.4f%n", deltaLat);

Bilangan Acak

Math.random() mengembalikan double dalam rentang [0.0, 1.0). Kalikan dan lakukan konversi tipe untuk mendapatkan bilangan bulat dalam suatu rentang. Untuk keacakan yang lebih baik, gunakan java.util.Random.

// Random double [0.0, 1.0)
double rand = Math.random();

// Random int [min, max] inclusive
int min = 1, max = 6;
int dice = (int) (Math.random() * (max - min + 1)) + min;
System.out.println("Dice roll: " + dice); // 1–6

// Prefer java.util.Random for more features
import java.util.Random;
Random rng = new Random();
int secureRoll = rng.nextInt(6) + 1; // cleaner API
System.out.println("Secure roll: " + secureRoll);

Konstanta: PI dan E

Math.PI dan Math.E adalah konstanta double untuk π dan bilangan Euler e. Gunakan keduanya dalam perhitungan geometri dan keuangan.

System.out.println(Math.PI); // 3.141592653589793
System.out.println(Math.E);  // 2.718281828459045

// Circle area and circumference
double radius = 7.0;
double area = Math.PI * Math.pow(radius, 2);
double circumference = 2 * Math.PI * radius;

System.out.printf("Area: %.2f%n", area);           // 153.94
System.out.printf("Circumference: %.2f%n", circumference); // 43.98

Math.floorDiv dan Math.floorMod

Math.floorDiv() dan Math.floorMod() menangani bilangan negatif secara konsisten, berbeda dari operator / dan % yang dapat menghasilkan perilaku tak terduga pada bilangan negatif.

// Regular % can be negative with negative dividend
System.out.println(-7 % 3);           // -1 (may surprise you)
System.out.println(Math.floorMod(-7, 3)); // 2  (always non-negative)

// Floor division rounds toward negative infinity
System.out.println(-7 / 3);              // -2 (truncates toward zero)
System.out.println(Math.floorDiv(-7, 3)); // -3 (floors down)

// Use floorMod for cyclic calculations like days of week
int day = Math.floorMod(-1, 7); // Sunday (6), not -1
System.out.println(day); // 6

Praktik: Jarak dan Fisika

Menerapkan metode Math pada masalah fisika: menghitung jarak luncur proyektil menggunakan trigonometri dan akar kuadrat.

// Projectile range: R = v^2 * sin(2*angle) / g
double velocity = 50.0;   // m/s
double angleDeg = 45.0;   // degrees
double g = 9.81;          // m/s^2

double angleRad = Math.toRadians(angleDeg);
double range = Math.pow(velocity, 2) * Math.sin(2 * angleRad) / g;

System.out.printf("Projectile range: %.1f m%n", range); // 254.8 m

Pemeriksaan Cepat

Apa keluaran dari Math.floorMod(-7, 3)?

Ringkasan: Kelas Math

Inti pembelajaran:

  • Math.abs, Math.min, dan Math.max untuk perbandingan dasar
  • Math.pow, Math.sqrt, dan Math.cbrt untuk pangkat dan akar
  • Math.floor, Math.ceil, dan Math.round untuk pembulatan
  • Math.log, Math.log10, dan Math.exp untuk logaritma dan eksponensial
  • Math.sin, Math.cos, dan Math.tan menggunakan radian—konversikan dengan Math.toRadians
  • Math.floorMod menangani bilangan negatif dengan rapi untuk aritmetika siklik
  • Math.PI dan Math.E adalah konstanta bawaan

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Dasar-Dasar Class Math” gratis?

Ya — teks lengkap “Dasar-Dasar Class Math” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Java Academy, upgrade ke CoddyKit PRO. Kursus Java Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Dasar-Dasar Class Math”?

Gunakan Math.abs, Math.pow, Math.sqrt, Math.random, dan berbagai metode Math yang sering digunakan. Kamu berlatih Java Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Java Academy?

Tidak diperlukan pengalaman sebelumnya. Java Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Dasar-Dasar Class Math” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Java Academy ini?

Ya. Setiap pelajaran Java Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Dasar-Dasar Class Math
  2. Aritmetika Bilangan Bulat dan Overflow
  3. BigDecimal untuk Perhitungan Keuangan
  4. NumberFormat dan printf
← Kembali ke Java Academy