Trigonometri adalah cabang matematika yang mempelajari hubungan antara panjang sisi dan sudut segitiga. Fungsi dasar trigonometri seperti Sinus (sin), Cosinus (cos), dan Tangen (tan) didasarkan pada rasio sisi-sisi segitiga siku-siku.
Fungsi Dasar Trigonometri
Sinus (sin): Rasio sisi depan sudut dengan hipotenusa (sisi miring).
Cosinus (cos): Rasio sisi samping sudut dengan hipotenusa.
Tangen (tan): Rasio sisi depan sudut dengan sisi samping.
Tabel Sudut Istimewa (Derajat)
Sudut (θ)
0°
30°
45°
60°
90°
sin θ
0
1/2
½√2
½√3
1
cos θ
1
½√3
½√2
1/2
0
tan θ
0
1/√3
1
√3
∞
Cara Menggunakan Kalkulator Trigonometri
Masukkan nilai sudut yang ingin Anda hitung pada kolom Nilai Sudut.
Pilih apakah nilai tersebut dalam bentuk Derajat atau Radian.
Pilih fungsi trigonometri yang diinginkan (Sin, Cos, Tan, dll).
Klik tombol "Hitung Sekarang" untuk melihat hasil beserta penjelasannya.
Contoh Soal
Pertanyaan: Berapakah nilai dari sin(30°)?
Langkah: Masukkan angka 30, pilih satuan "Derajat", dan pilih fungsi "Sinus". Hasilnya adalah 0.5.
function calculateTrig() {
var valInput = document.getElementById("trigValue").value;
var unit = document.getElementById("trigUnit").value;
var func = document.getElementById("trigFunction").value;
var precision = parseInt(document.getElementById("trigPrecision").value);
var resultDisplay = document.getElementById("trigResultDisplay");
var explanation = document.getElementById("trigExplanation");
var resultArea = document.getElementById("trigResultArea");
if (valInput === "") {
alert("Mohon masukkan nilai sudut.");
return;
}
var angle = parseFloat(valInput);
var radAngle = angle;
// Convert to radians if input is in degrees
if (unit === "deg") {
radAngle = angle * (Math.PI / 180);
}
var finalResult = 0;
var isUndefined = false;
switch (func) {
case "sin":
finalResult = Math.sin(radAngle);
break;
case "cos":
finalResult = Math.cos(radAngle);
break;
case "tan":
// Handle tangent 90, 270, etc.
if (unit === "deg" && (Math.abs(angle) % 180 === 90)) {
isUndefined = true;
} else {
finalResult = Math.tan(radAngle);
}
break;
case "csc":
var sinVal = Math.sin(radAngle);
if (Math.abs(sinVal) < 1e-10) isUndefined = true;
else finalResult = 1 / sinVal;
break;
case "sec":
var cosVal = Math.cos(radAngle);
if (Math.abs(cosVal) < 1e-10) isUndefined = true;
else finalResult = 1 / cosVal;
break;
case "cot":
var tanVal = Math.tan(radAngle);
if (Math.abs(tanVal) < 1e-10) isUndefined = true;
else finalResult = 1 / tanVal;
break;
}
resultArea.style.display = "block";
if (isUndefined) {
resultDisplay.innerHTML = "Tidak Terdefinisi";
explanation.innerHTML = "Fungsi " + func.toUpperCase() + " untuk sudut " + angle + " " + unit + " tidak terdefinisi (asimtot).";
} else {
// Rounding logic to fix floating point issues (e.g. cos 90 should be 0)
if (Math.abs(finalResult) < 1e-10) finalResult = 0;
var formattedResult = finalResult.toFixed(precision);
resultDisplay.innerHTML = func.toUpperCase() + "(" + angle + (unit === "deg" ? "°" : " rad") + ") = " + formattedResult;
explanation.innerHTML = "Perhitungan dilakukan menggunakan mode " + (unit === "deg" ? "Derajat" : "Radian") + " dengan presisi " + precision + " angka di belakang koma.";
}
}