unitconv adalah utilitas command-line ringan untuk konversi satuan, dibuat dengan Rust — cepat, sederhana, dan cocok dipakai langsung dari terminal.
- 🔁 Konversi Suhu: Celsius ⇄ Fahrenheit ⇄ Kelvin
- 📏 Konversi Panjang: cm ⇄ inch ⇄ km ⇄ miles
- ✅ Validasi Cerdas: menolak konversi antar kategori berbeda (mis. cm → celsius)
- 📜 Riwayat Konversi: menyimpan riwayat ke
conversion.json - 📚 List Satuan:
listmenampilkan semua satuan yang didukung - ⚙️ Dibangun dengan: Rust, clap (CLI parsing), serde (JSON)
Pastikan Rust toolchain sudah terinstall.
- Clone repo
git clone https://github.com/achmadichzan/unit-converter.git
cd unitconv- Jalankan dengan Cargo
gunakan
--untuk memisahkan argumen Cargo dan argumen aplikasi
cargo run -- --helpContoh output singkat:
Usage: unitconv.exe <COMMAND>
Commands:
convert Melakukan konversi dari satu satuan ke satuan lain
list Menampilkan daftar semua satuan yang didukung
history Menampilkan riwayat konversi
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
Konversi Suhu
cargo run -- convert --from celsius --to fahrenheit --value 100
# Output: 100 °C = 212.0000 °FKonversi Panjang
cargo run -- convert --from cm --to km --value 16000
# Output: 16000 cm = 0.1600 kmDaftar Satuan
cargo run -- list
# Menampilkan: celsius, fahrenheit, kelvin, cm, inch, km, miles
# Satuan yang didukung:
# 1. [suhu] celsius
# 2. [suhu] fahrenheit
# 3. [suhu] kelvin
# 4. [panjang] cm
# 5. [panjang] inch
# 6. [panjang] km
# 7. [panjang] milesRiwayat Konversi
cargo run -- history
# Menampilkan riwayat yang tersimpan di conversion.json
# Riwayat Konversi:
# 1. 100 °C = 212.0000 °F
# 2. 16000 cm = 0.1600 kmContoh validasi
cargo run -- convert --from cm --to celsius --value 87
# Output (error): tidak dapat mengonversi satuan yang berbeda kategoriUntuk membuat binary release yang teroptimasi:
cargo build --releaseBinary terletak di target/release/unitconv (Windows: unitconv.exe).
Contoh menjalankan binary langsung:
# PowerShell (Windows)
.\target\release\unitconv.exe convert --from kelvin --to celsius --value 273.15
# Output: 273.15 K = 0.0000 °CRiwayat konversi disimpan ke file conversion.json di direktori kerja aplikasi.
(Silakan tambah ke .gitignore agar tidak ikut ter-push.)
- CLI parsing: clap
- Serialisasi riwayat: serde_json
- Modular: modul terpisah untuk
units,parser,io - Error handling: hasilkan pesan user-friendly untuk input yang salah
Senang menerima kontribusi — silakan:
- Fork repository
- Buat branch feature:
feat/my-feature - Commit & push, lalu buka Pull Request
Tambahkan test sederhana untuk fungsi konversi agar integrasi mudah diverifikasi.
Jika ada fitur yang ingin ditambahkan atau bug, buka issue di repo: https://github.com/achmadichzan/unit-converter/issues
Terima kasih sudah menggunakan unitconv — semoga membantu konversi cepat dari terminal! 🚀