sciencecalc-rs adalah pustaka (crate) Rust yang menyediakan berbagai fungsi kalkulasi ilmiah β matematika, fisika, dan kimia β dengan antarmuka yang mudah digunakan.
Tambahkan pustaka ini ke proyek Cargo Anda dengan perintah:
cargo add sciencecalc-rsAtau tambahkan secara manual ke bagian dependencies pada file Cargo.toml:
sciencecalc-rs = "<Versi Crates>"Import pustaka dan modul sesuai kebutuhan:
use sciencecalc_rs::matematika;
use sciencecalc_rs::fisika;
use sciencecalc_rs::kimia;
fn main() {
// Implementasi kode di sini
}Untuk mengakses fungsi-fungsi kalkulasi, panggil dengan namespace modul yang bersangkutan:
use sciencecalc_rs::matematika::aritmetika;
use sciencecalc_rs::fisika::gaya;
use sciencecalc_rs::kimia::stoikiometri;use sciencecalc_rs::matematika::aritmetika;
fn main() {
let x = 100;
let y = 5;
let z = [5, 6, 8, 125];
let hasil = aritmetika::tambah(
aritmetika::tambah(
aritmetika::tambah(x, y),
aritmetika::kali(x, y)
),
aritmetika::super_kurang(&z)
);
println!("{}", hasil);
}Output:
471use sciencecalc_rs::matematika::aljabar::*;
fn main() {
let a = 6.0;
let b = 12.0;
let x = Aljabar::splsv(a, b);
let a1 = 4.0; let b1 = -3.0; let c1 = 18.0;
let a2 = 3.0; let b2 = 1.0; let c2 = 7.0;
let hasil = Aljabar::spldv(a1, b1, c1, a2, b2, c2);
println!("{}\n{:?}", x, hasil.unwrap());
}Output:
(-2.0)
(3.0, -2.0)use sciencecalc_rs::matematika::aritmetika;
use sciencecalc_rs::matematika::basis;
fn main() {
let x: u64 = 680;
let y: u64 = 87;
let a = basis::konversi_basis(aritmetika::tambah(x, y), 2);
let b = basis::desimal_ke_biner(aritmetika::kali(x, y));
let c = basis::biner_ke_hexadesimal(
&basis::desimal_ke_biner(aritmetika::kurang(x, y))
);
let d = basis::hexadesimal_ke_oktal(
&basis::desimal_ke_hexadesimal(aritmetika::bagi(x, y))
);
println!("{}\n{}\n{}\n{}", a, b, c, d);
}Output:
1011111111
1110011100011000
251
7use sciencecalc_rs::fisika::gaya;
fn main() {
let m = 10.0;
let a = 9.8;
let gaya = gaya::gaya(m, a);
println!("Gaya (m=10, a=9.8): {}", gaya);
}Output:
Gaya (m=10, a=9.8): 98use sciencecalc_rs::kimia::stoikiometri;
fn main() {
let massa = 18.0;
let massa_molar = 18.0;
let mol = stoikiometri::jumlah_mol(massa, massa_molar);
println!("Jumlah mol (massa=18g, massa molar=18g/mol): {}", mol);
}Output:
Jumlah mol (massa=18g, massa molar=18g/mol): 1Matematika
- Aritmetika dasar: tambah, kurang, kali, bagi, pembulatan, modulo, nilai absolut.
- Aljabar: faktorial, kombinasi, permutasi, sistem persamaan linear (SPL satu, dua, tiga variabel), persamaan kuadrat, operasi matriks 2x2 dan 3x3 (perkalian, invers, determinan, transpose).
- Trigonometri: sinus, cosinus, tangen, invers, konversi derajat/radian.
- Geometri: rumus luas dan keliling berbagai bangun datar dan volume bangun ruang.
- Statistika: rata-rata, median, modus, deviasi standar, operasi data statistik.
- Kombinatorika & Peluang: perhitungan kombinatorik (faktorial, permutasi, kombinasi), peluang sederhana.
- Konversi basis bilangan: desimal, biner, oktal, heksadesimal.
- Deret Fibonacci: rekursif, iteratif, rumus Binet, cek genap dan prima.
- Operasi pada array: penjumlahan, pengurangan, perkalian, pembagian banyak bilangan sekaligus.
Fisika
- Gaya: perhitungan gaya (F = m Γ a).
- Energi: energi kinetik, energi potensial, hukum kekekalan energi.
- Listrik: hukum Ohm (arus, tegangan, hambatan), daya listrik.
- Gerak: GLB, GLBB, jarak, kecepatan, percepatan.
- Konversi satuan fisika: massa, panjang, waktu, energi, dan lain-lain.
- Hukum Newton: gaya, percepatan, massa, dan penerapannya.
Kimia
- Gas: hukum gas ideal, tekanan, volume, suhu, jumlah mol.
- Reaksi: massa produk reaksi, persentase hasil reaksi, stoikiometri reaksi.
- Larutan: konsentrasi, molaritas, pH, volume, massa zat terlarut.
- Stoikiometri: perhitungan jumlah mol, konversi massa ke mol, dan sebaliknya.
Dokumentasi lengkap pustaka ini dapat diakses di:
Dokumentasi sciencecalc-rs
Pustaka ini masih dalam tahap pengembangan aktif, sehingga mungkin terdapat bug atau keterbatasan.
Kontribusi dan masukan sangat diharapkan untuk meningkatkan kualitas pustaka ini.
Selamat mencoba!
Warning
REPOSITORI INI SERING DAN SELALU MENDAPATKAN UPDATE.
KESTABILAN DI DALAM BRANCH master TIDAK DAPAT DIPASTIKAN!