Konverter Satuan Kustom
Unit Kustom: Pemodelan, Rumus, dan Praktik Terbaik
Tentukan unit pengukuran Anda sendiri yang terkait dengan 'Unit Dasar' atau unit kustom lainnya. Modelkan faktor linier atau ekspresi penuh, dan organisasikan keluarga yang konsisten untuk proyek atau domain Anda.
Konsep Fundamental
Pemodelan Berbasis Referensi
Referensi Anda adalah unit kustom lain atau 'Unit Dasar'.
Ekspresi konversi memetakan nilai input ke dalam ruang unit referensi (sistem ini sengaja agnostik terhadap unit).
- Keamanan DimensiDengan memilih referensi, Anda secara implisit mengikat unit kustom ke keluarga tersebut. Jaga agar keluarga tetap konsisten (mis., unit terkait yang merujuk ke dasar yang sama).
- KomposabilitasUbah referensi nanti tanpa mengubah nama unit—hanya ekspresinya yang perlu disesuaikan.
- KeterauditanSetiap unit memiliki definisi tunggal yang jelas: referensi + ekspresi.
Faktor vs Ekspresi
Unit sederhana menggunakan faktor konstan (mis., 1 foo = 0.3048 × Dasar).
Unit lanjutan dapat menggunakan ekspresi dengan fungsi (mis., 10 * log(x / 1e-3)).
- Faktor KonstanTerbaik untuk hubungan linier tetap (skala panjang, rasio area, dll.).
- EkspresiGunakan fungsi matematika untuk skala turunan atau non-linier (rasio, logaritma, pangkat).
- KonstantaKonstanta bawaan seperti PI, E, PHI, SQRT2, SQRT3, LN2, LN10, LOG2E, LOG10E, AVOGADRO, PLANCK, LIGHT_SPEED, GRAVITY, BOLTZMANN.
Penamaan, Simbol, dan Konsistensi
Pilih simbol yang singkat dan tidak ambigu. Hindari bentrokan dengan standar yang ada.
Dokumentasikan maksud di organisasi Anda—apa yang diukur dan mengapa ada.
- KejelasanPilih simbol yang ringkas (disarankan 1–4 karakter; UI memungkinkan hingga 6).
- StabilitasPerlakukan simbol sebagai pengidentifikasi yang stabil di seluruh kumpulan data dan API.
- GayaGunakan penulisan huruf besar/kecil seperti SI jika masuk akal (mis., 'foo', 'kFoo', 'mFoo').
- Unit kustom = unit referensi + ekspresi konversi.
- Referensi menambatkan dimensi; ekspresi mendefinisikan pemetaan nilai.
- Pilih faktor konstan untuk skala linier; gunakan ekspresi untuk kasus khusus.
Bahasa Rumus
Ekspresi mendukung angka, variabel x (nilai input), nilai alias, konstanta (PI, E, PHI, SQRT2, SQRT3, LN2, LN10, LOG2E, LOG10E, AVOGADRO, PLANCK, LIGHT_SPEED, GRAVITY, BOLTZMANN), operator aritmatika, dan fungsi matematika umum. Ekspresi dievaluasi menjadi nilai dalam unit referensi yang dipilih.
Operator
| Operator | Arti | Contoh |
|---|---|---|
| + | Penjumlahan | x + 2 |
| - | Pengurangan/Negasi Unary | x - 5, -x |
| * | Perkalian | 2 * x |
| / | Pembagian | x / 3 |
| ** | Pangkat (gunakan **; ^ dikonversi secara otomatis) | x ** 2 |
| () | Urutan Prioritas | (x + 1) * 2 |
Fungsi
| Fungsi | Tanda Tangan | Contoh |
|---|---|---|
| sqrt | sqrt(x) | sqrt(x^2 + 1) |
| cbrt | cbrt(x) | cbrt(x) |
| pow | pow(a, b) | pow(0.3048, 2) |
| abs | abs(x) | abs(x) |
| min | min(a, b) | min(x, 100) |
| max | max(a, b) | max(x, 0) |
| round | round(x) | round(x * 1000) / 1000 |
| trunc | trunc(x) | trunc(x) |
| floor | floor(x) | floor(x) |
| ceil | ceil(x) | ceil(x) |
| sin | sin(x) | sin(PI/6) |
| cos | cos(x) | cos(PI/3) |
| tan | tan(x) | tan(PI/8) |
| asin | asin(x) | asin(0.5) |
| acos | acos(x) | acos(0.5) |
| atan | atan(x) | atan(1) |
| atan2 | atan2(y, x) | atan2(1, x) |
| sinh | sinh(x) | sinh(1) |
| cosh | cosh(x) | cosh(1) |
| tanh | tanh(x) | tanh(1) |
| ln | ln(x) | ln(x) |
| log | log(x) | log(100) |
| log2 | log2(x) | log2(8) |
| exp | exp(x) | exp(1) |
| degrees | degrees(x) | degrees(PI/2) |
| radians | radians(x) | radians(180) |
| percent | percent(value, total) | percent(25, 100) |
| factorial | factorial(n) | factorial(5) |
| gcd | gcd(a, b) | gcd(12, 8) |
| lcm | lcm(a, b) | lcm(12, 8) |
| clamp | clamp(value, min, max) | clamp(x, 0, 100) |
| sign | sign(x) | sign(-5) |
| nthRoot | nthRoot(value, n) | nthRoot(8, 3) |
Aturan Ekspresi
- x adalah nilai input; nilai alias juga tersedia.
- Gunakan perkalian eksplisit (mis., 2 * PI, bukan 2PI).
- Konstanta yang tersedia: PI, E, PHI, SQRT2, SQRT3, LN2, LN10, LOG2E, LOG10E, AVOGADRO, PLANCK, LIGHT_SPEED, GRAVITY, BOLTZMANN.
- Sudut untuk fungsi trigonometri adalah dalam radian (gunakan fungsi bantu degrees() dan radians() untuk konversi).
- Referensi unit kustom lain berdasarkan nama (snake_case) atau simbol; nilai toBase mereka saat ini disuntikkan sebagai konstanta.
- Gunakan ** untuk pangkat (mesin secara otomatis mengonversi ^ menjadi **).
- Normalisasi input cerdas: ×, ÷, π, ², ³ secara otomatis dikonversi menjadi *, /, PI, ^2, ^3.
- Fungsi bantu yang tersedia: degrees(), radians(), percent(), factorial(), gcd(), lcm(), clamp(), sign(), nthRoot().
- Deteksi kesalahan yang ditingkatkan mencegah kesalahan umum (logaritma dari angka negatif, akar kuadrat dari angka negatif, pembagian dengan nol).
- Referensi unit kustom: Gunakan unit lain sebagai variabel dalam ekspresi (mis., 'x * A' di mana A adalah unit kustom lain).
- Spasi diabaikan; gunakan tanda kurung untuk mengontrol urutan prioritas.
- Ekspresi harus menghasilkan hasil numerik yang terbatas untuk input yang valid.
- Gunakan perkalian eksplisit (mis., 2 * PI).
- Sudut untuk fungsi trigonometri adalah dalam radian.
- log(x) adalah basis 10; ln(x) adalah logaritma natural (basis e).
Analisis Dimensi & Strategi
Sistem kustom ini agnostik terhadap unit. Modelkan keluarga dengan menambatkan unit terkait ke 'Unit Dasar' yang sama (atau referensi bersama). Jaga agar makna tetap konsisten di seluruh keluarga yang Anda rancang.
Strategi Pemodelan
| Strategi | Kapan Digunakan | Catatan |
|---|---|---|
| Faktor Langsung | Hubungan linier (mis., 1 foo = k × Dasar). | Gunakan angka konstan (tanpa x). Stabil dan tepat. |
| Penskalaan Pangkat | Diturunkan dari skala dasar (k^2, k^3). | Gunakan pow(k, n) di mana k adalah skala dasar. |
| Rasio atau Normalisasi | Unit yang didefinisikan relatif terhadap tingkat referensi (mis., x / ref). | Berguna untuk ukuran seperti indeks; jaga agar ref eksplisit dalam ekspresi. |
| Skala Logaritmik | Skala persepsi atau rasio daya (mis., gaya dB 10 * log(x/ref)). | Pastikan domainnya positif; dokumentasikan nilai referensi. |
| Pemetaan Afin | Kasus langka dengan offset (a * x + b). | Offset mengubah titik nol—hanya terapkan jika dibenarkan secara konseptual. |
Editor & Validasi
Buat unit dengan nama, simbol (hingga 6 karakter), tag warna, referensi (Unit Dasar atau unit kustom lain), dan faktor/ekspresi. Editor memvalidasi rumus secara real-time dengan deteksi kesalahan yang ditingkatkan dan mencegah referensi melingkar.
- Opsi referensi termasuk 'Unit Dasar' dan unit kustom yang ada. Opsi tidak aman yang akan membuat siklus secara otomatis disaring.
- Variabel: gunakan x (atau value) untuk nilai input. Referensi unit kustom lain dengan nama snake_case atau simbol; nilai toBase mereka saat ini disuntikkan sebagai konstanta.
- Konstanta yang didukung: PI, E, PHI, SQRT2, SQRT3, LN2, LN10, LOG2E, LOG10E, AVOGADRO, PLANCK, LIGHT_SPEED, GRAVITY, BOLTZMANN.
- Fungsi inti: sqrt, cbrt, pow, abs, min, max, round, trunc, floor, ceil, sin, cos, tan, asin, acos, atan, atan2, sinh, cosh, tanh, ln, log, log2, exp.
- Fungsi bantu: degrees(), radians(), percent(), factorial(), gcd(), lcm(), clamp(), sign(), nthRoot() untuk UX yang lebih baik.
- Operator: +, -, *, /, ** untuk pangkat. Normalisasi input cerdas: ×, ÷, π, ², ³ secara otomatis dikonversi.
- Validasi real-time dengan pratinjau (mis., 10 x → hasil), klasifikasi kompleksitas (sederhana/sedang/kompleks), dan saran yang sadar konteks.
- Deteksi kesalahan yang ditingkatkan menangkap kesalahan umum: logaritma dari angka non-positif, akar kuadrat dari angka negatif, pembagian dengan nol.
- Deteksi siklus lanjutan mencegah unit bergantung pada diri mereka sendiri (secara langsung atau tidak langsung) dengan pesan kesalahan yang jelas.
- Panel bantuan interaktif dengan contoh yang dikategorikan, cuplikan rumus yang dapat diklik, dan tombol unit kustom untuk penyisipan yang mudah.
Praktik Terbaik
- Pilih faktor konstan jika memungkinkan; ekspresi hanya jika perlu.
- Pilih unit referensi yang stabil, dipahami secara luas, dan tidak mungkin berubah.
- Hindari rantai referensi melingkar; jaga agar grafik tetap asiklik.
- Tambahkan nilai sampel dan periksa silang dengan kalkulator independen atau identitas yang diketahui.
- Jaga agar simbol tetap singkat, unik, dan terdokumentasi untuk organisasi Anda.
- Jika menggunakan logaritma, catat nilai referensi, basis, dan domain yang dimaksud dari x.
- Uji dengan 3–5 nilai representatif dan verifikasi konversi bolak-balik.
- Hindari referensi melingkar; pilih unit referensi yang stabil.
- Dokumentasikan asumsi (domain, offset, rentang tipikal).
Templat Awal & Contoh
Contoh-contoh ini mengilustrasikan pola pemodelan umum dalam sistem khusus kustom ini. Ganti konstanta dan referensi sesuai kebutuhan Anda.
| Nama | Rumus | Referensi | Catatan |
|---|---|---|---|
| Unit Skala Dasar (foo) | 0.3048 | Unit Dasar | Mendefinisikan 1 foo = 0.3048 × Dasar (faktor linier sederhana). |
| Skala Pangkat (foo²) | pow(0.3048, 2) | Unit Dasar | Diturunkan dari skala dasar (k^2). |
| Skala Volume (foo³) | pow(0.3048, 3) | Unit Dasar | Diturunkan dari skala dasar (k^3). |
| Indeks dari Referensi | x / 42 | Unit Dasar | Normalisasikan dengan tingkat tetap (domain x > 0). |
| Rasio Daya (gaya-dB) | 10 * log(x / 0.001) | Unit Dasar | Ukuran logaritmik relatif terhadap 1 mW (contoh). Pastikan x > 0. |
| Faktor Geometris | 2 * PI * 0.5 | Unit Dasar | Contoh konstanta dan perkalian. |
| Referensi Unit Kustom Lain | A * 2 | Unit Kustom A | Gunakan simbol/nama unit lain sebagai konstanta dalam ekspresi. |
| Hubungan Unit Kompleks | sqrt(x^2 + base_length^2) | Unit Dasar | Hubungan Pythagoras menggunakan unit kustom 'base_length' sebagai konstanta. |
| Unit Skala dengan Offset | x * scale_factor + offset_unit | Unit Dasar | Transformasi linier menggunakan dua unit kustom lain sebagai konstanta. |
| Persentase dari Unit Referensi | percent(x, reference_value) | Unit Dasar | Nyatakan input sebagai persentase dari unit kustom lain menggunakan fungsi bantu. |
| Rentang Unit Terjepit | clamp(x * multiplier, min_unit, max_unit) | Unit Dasar | Batasi nilai antara dua konstanta unit kustom menggunakan bantuan clamp. |
| Rasio Unit dengan GCD | x / gcd(x, common_divisor) | Unit Dasar | Hubungan matematis menggunakan bantuan GCD dengan konstanta unit kustom. |
| Rantai Konversi Sudut | degrees(x * PI / reference_angle) | Unit Sudut Kustom | Konversikan ke derajat menggunakan unit sudut kustom dan fungsi bantu degrees(). |
Tata Kelola & Kolaborasi
- Pelihara katalog unit kustom yang disetujui dengan pemilik dan tanggal peninjauan.
- Gunakan versioning saat definisi berkembang; hindari perubahan yang merusak simbol.
- Catat asal-usul konstanta dan referensi (standar, literatur, dokumen internal).
- Otomatiskan tes validasi (pemeriksaan rentang, konversi sampel, monotonisitas).
FAQ
Haruskah saya menggunakan faktor konstan atau ekspresi?
Pilih faktor konstan setiap kali hubungannya linier dan tetap. Gunakan ekspresi hanya jika pemetaan bergantung pada x atau memerlukan fungsi (pangkat, logaritma, trigonometri).
Bagaimana cara memilih unit referensi?
Pilih unit yang stabil, dipahami secara luas, yang menangkap dimensi yang Anda maksudkan (mis., meter untuk panjang, m² untuk area). Referensi menambatkan makna dimensional.
Apakah sudut dalam derajat atau radian?
Radian. Konversikan derajat dengan mengalikan dengan PI/180 sebelum menggunakan fungsi trigonometri.
Bisakah saya merangkai unit kustom?
Ya, tetapi hindari siklus. Jaga agar grafik tetap asiklik dan dokumentasikan rantai untuk menjaga kejelasan.
Direktori Alat Lengkap
Semua 71 alat yang tersedia di UNITS