FlowingDev

Satuan, Dijelaskan: Jangan Sampai Penjelajah Mars-mu Jatuh

Pelajari kenapa konversi satuan itu lebih dari sekadar matematika, dari satuan dasar SI yang menjalankan dunia kita hingga kegagalan epik yang terjadi saat kita salah menggunakannya.

Coba tool-nya: Konverter Satuan

Dalam satu kalimat

Konversi satuan adalah proses menerjemahkan pengukuran kuantitas fisik dari satu satuan (seperti kaki) ke satuan lain (seperti meter) sambil mempertahankan nilai dasarnya.

Masalah yang dipecahkannya

Pernah coba ngikutin resep yang minta "satu batang mentega" padahal mentega yang kamu punya bentuknya blok 250g? Atau pernah debat sama teman soal apakah satu miliar itu seribu juta atau sejuta juta? Selamat datang di dunia satuan yang seru sekaligus kacau.

Hampir sepanjang sejarah manusia, pengukuran itu super berantakan. Satu "kaki" (foot) adalah panjang kaki raja (repot juga kalau rajanya ganti dan kakinya lebih kecil). Satu "hasta" (cubit) adalah panjang lengan bawah. Sistem ini oke-oke saja untuk membangun gubuk lokal, tapi parah banget buat sains dan perdagangan internasional. Bayangkan mencoba memesan kayu dari negara lain dalam satuan "kaki raja"—raja yang mana? Yang dari tahun 1780 atau penggantinya yang pendek?

Revolusi Prancis, nggak puas cuma menggulingkan monarki, memutuskan buat menggulingkan sistem pengukuran yang nggak konsisten juga. Mereka mempelopori sistem yang logis dan universal berdasarkan alam: sistem metrik. Sistem ini kemudian berevolusi menjadi Système International d'Unités (SI), atau Sistem Satuan Internasional, yang merupakan standar global untuk sains, kedokteran, dan sebagian besar perdagangan dunia.

Tapi, cara-cara lama masih aja bertahan. Amerika Serikat, seperti yang kita tahu, ngotot dengan sistemnya sendiri yang menggunakan inci, pon, dan galon. Perbedaan antara imperial vs. metrik ini menciptakan kebutuhan konstan untuk penerjemahan. Melakukannya dengan benar itu krusial untuk segala hal, dari membuat kue hingga meluncurkan roket. Kalau salah... yah, akibatnya bisa super mahal.

Cara kerjanya di balik layar

Pada intinya, konversi satuan hanyalah perkalian dan pembagian yang dibuat keren. Triknya adalah tahu apa yang harus dikali atau dibagi. Seluruh sistem ini bergantung pada satu konsep tunggal yang elegan: satuan dasar.

### Satuan Dasar adalah Raja

Untuk menghindari kekacauan, para ilmuwan menyepakati satu set satuan dasar fundamental dalam sistem SI. Segala sesuatu yang lain bisa diturunkan dari tujuh pilar pengukuran ini. Yang paling sering kita temui sehari-hari adalah:

  • Panjang: meter (m)
  • Massa: kilogram (kg)
  • Waktu: detik (s)
  • Suhu: kelvin (K)

Anggap saja satuan dasar ini sebagai "root user"-nya dunia pengukuran. Setiap satuan lain dalam kategori yang sama (sentimeter, inci, kaki, mil) hanyalah user dengan izin berbeda, yang ditentukan oleh hubungannya dengan si root. Misalnya, satu kilometer hanyalah singkatan praktis untuk "1000 meter". Satu inci didefinisikan sebagai "tepat 0,0254 meter".

Ini memberi kita "lingua franca" untuk konversi. Untuk mengonversi dari satuan A ke satuan B, kamu tidak perlu tabel konversi langsung di antara keduanya. Kamu hanya perlu tahu bagaimana A dan B berhubungan dengan satuan dasar.

### Konversi dengan Rasio (dan Trik Dua Langkah)

Cara paling andal untuk mengonversi antara dua satuan adalah proses dua langkah yang sederhana:

  1. Konversikan nilai awalmu ke satuan dasar.
  2. Konversikan nilai dari satuan dasar ke satuan targetmu.

Misalnya, kita ingin mengonversi 5 mil menjadi kilometer. Satuan dasar kita untuk panjang adalah meter.

  1. Ke Satuan Dasar: Kita tahu bahwa 1 mil = 1609,344 meter. 5 mil * 1609.344 m/mil = 8046.72 meter

  2. Dari Satuan Dasar: Kita tahu bahwa 1 kilometer = 1000 meter (atau 1 meter = 0,001 kilometer). 8046.72 meter * 0.001 km/m = 8.04672 kilometer

Tada! Alat konverter satuan mengotomatiskan ini dengan menyimpan tabel raksasa berisi faktor konversi ini relatif terhadap satuan dasar. Saat kamu memintanya untuk mengonversi mil ke kilometer, yang sebenarnya terjadi adalah nilai * (meter_per_mil / meter_per_kilometer).

### Suhu: Si Aneh dengan Offset

Kebanyakan konversi hanyalah perkalian. Suhu itu yang paling aneh karena skalanya tidak memiliki titik nol yang sama.

  • Celsius (ºC): 0°C adalah titik beku air.
  • Fahrenheit (ºF): 0°F adalah titik beku larutan garam tertentu. Titik beku air adalah 32°F.
  • Kelvin (K): 0 K adalah nol mutlak, suhu terdingin yang mungkin di mana semua gerakan atom berhenti.

Karena titik nol untuk Celsius dan Fahrenheit berbeda, kamu tidak bisa hanya mengalikannya. Kamu harus memperhitungkan offset-nya. Inilah mengapa rumusnya terlihat lebih kompleks:

  • °C = (°F - 32) * 5/9
  • °F = (°C * 9/5) + 32

Kamu harus mengurangi offset terlebih dahulu untuk menyelaraskan titik nol, baru kemudian menerapkan faktor skala. Kelvin lebih sederhana karena ukuran "langkah"-nya sama dengan Celsius; hanya digeser. K = °C + 273.15.

### Satuan Data: Debat Klasik 1000 vs. 1024

Buat developer, ini jebakan klasik. Apa itu kilobyte?

  • Produsen hard drive akan bilang itu 1000 byte (10³). Mereka mengikuti standar SI di mana "kilo" berarti 1000.
  • Sistem operasi kamu sering kali akan mengukur file dan bilang itu 1024 byte (2¹⁰). Ini karena memori dan arsitektur komputer didasarkan pada pangkat 2 (biner).

Perbedaan ini menyebabkan kebingungan selama puluhan tahun, bikin pengguna bingung ke mana perginya sisa ruang hard drive mereka yang "hilang". Untuk mengatasi ini, International Electrotechnical Commission (IEC) memperkenalkan satu set awalan baru untuk pengukuran berbasis biner:

Awalan SI (Desimal) Simbol Nilai (10^x) Awalan IEC (Biner) Simbol Nilai (2^x) ~% Lebih Besar
kilobyte kB 10³ = 1.000 kibibyte KiB 2¹⁰ = 1.024 2.4%
megabyte MB 10⁶ = 1Jt mebibyte MiB 2²⁰ ≈ 1.05Jt 4.9%
gigabyte GB 10⁹ = 1M gibibyte GiB 2³⁰ ≈ 1.07M 7.4%

Jadi, kalau kamu melihat ukuran file, periksa satuannya! File 10 MB tidak sama dengan file 10 MiB. Kebanyakan software modern perlahan-lahan mengadopsi konvensi KiB/MiB/GiB agar lebih presisi.

Kisah di dunia nyata

### Kesalahan Matematika Senilai $125 Juta

Pada tahun 1999, Mars Climate Orbiter milik NASA sedang melakukan pendekatan terakhirnya ke Planet Merah. Rencananya adalah wahana itu masuk ke orbit dan mempelajari atmosfer Mars. Tapi, wahana antariksa itu masuk terlalu rendah, menabrak atmosfer pada sudut yang salah, dan langsung hancur.

Hasil investigasinya mengungkap kesalahan yang konyolnya luar biasa simpel. Satu tim insinyur di Lockheed Martin membuat software yang menghitung gaya pendorong dalam satuan pound-force seconds (satuan imperial). Tim navigasi di Jet Propulsion Laboratory NASA mengira angka-angka itu dalam satuan newton-seconds (satuan SI). Tidak ada kode dari kedua pihak yang melakukan konversi. Setiap kali pendorong dinyalakan, kesalahan navigasi menjadi sedikit lebih besar, sampai akhirnya orbiter seharga $125 juta itu benar-benar terbakar habis oleh bug konversi satuan.

Pelajaran: API itu sebuah kontrak. Dan kontrak itu wajib menyertakan satuan. Ketika dua sistem berkomunikasi, jangan pernah berasumsi mereka berbicara bahasa yang sama.

### Pesawat yang Menjadi Pesawat Luncur

Pada tahun 1983, Air Canada Penerbangan 143, sebuah Boeing 767 baru, sedang bersiap untuk penerbangan dari Montreal ke Edmonton. Kanada saat itu sedang dalam proses beralih ke sistem metrik, dan ini adalah salah satu pesawat pertama di armada yang diukur dalam kilogram dan liter, bukan pon dan galon.

Karena pengukur bahan bakar rusak, kru darat harus menghitung muatan bahan bakar secara manual. Angkanya benar, tapi satuannya salah. Mereka menghitung jumlah yang dibutuhkan dalam pon bukannya kilogram. Karena satu pon kurang dari setengah kilogram, pesawat itu diisi kurang dari setengah bahan bakar yang dibutuhkan. Di tengah penerbangan, di ketinggian 41.000 kaki di atas Kanada tengah, mesinnya mati. Pesawat seberat 132 ton itu menjadi pesawat luncur. Dalam sebuah aksi kepiawaian penerbangan yang ajaib, kapten (yang merupakan pilot pesawat luncur berpengalaman) berhasil mendaratkan jet tanpa daya itu dengan selamat di landasan pacu militer yang sudah tidak terpakai di Gimli, Manitoba.

Pelajaran: Kesalahan manusia dalam konversi satuan bisa berakibat fatal. Selalu periksa ulang satuanmu, terutama ketika sebuah sistem beralih dari satu standar ke standar lainnya.

### Kegagalan Desain Responsif yang Memalukan

Seorang developer junior ditugaskan untuk membuat halaman marketing baru yang cantik. Dia mendapatkan mockup desain dan dengan teliti membuatnya ulang di laptop 15 inci miliknya, menggunakan px (piksel) untuk setiap ukuran font, margin, dan lebar kontainer. Tampilannya pixel-perfect. Dia pun merilisnya.

Manajer proyek membukanya di monitor 4K 32 inci miliknya. Seluruh website meringkuk di sebuah kolom kecil di tengah layar. CEO membukanya di ponselnya dan disambut dengan teks tumpang tindih yang berantakan dan harus di-scroll ke samping dengan panik. Si developer mendapat pelajaran berharga tentang satuan CSS. Dengan menggunakan satuan tetap (px), dia membuat layout yang cuma berfungsi di satu ukuran layar spesifik. Seharusnya dia menggunakan satuan relatif seperti rem (relatif terhadap ukuran font root) dan vw (persentase dari lebar viewport) untuk membuat desain yang fleksibel dan responsif.

Pelajaran: Dalam software, pilihan satuanmu berdampak langsung pada pengalaman pengguna. Memilih satuan yang tepat—baik fisik maupun logis—adalah kunci untuk membangun aplikasi yang kuat dan mudah diakses.

Kesalahan umum dan jebakan

  • Tertukar antara KiB dan kB. Ini adalah jebakan nomor satu bagi developer. Kamu mengalokasikan database 2 GB di penyedia cloud (yang menjual dalam GB - 10⁹ byte) tetapi alat monitoring-mu melaporkan penggunaan dalam GiB (2³⁰ byte), membuatnya seolah-olah kamu menggunakan lebih sedikit ruang daripada yang kamu bayar.
  • Lupa dengan offset suhu. Kamu tidak bisa begitu saja mencari rasio untuk mengonversi Celsius ke Fahrenheit. Menulis fungsi return celsius * 1.8 itu jelas salah. Kamu harus menangani offset-nya (+ 32).
  • Menganggap "galon" itu universal. Satu galon AS (≈3,785 liter) berbeda dengan satu galon Imperial (≈4,546 liter) yang digunakan di Inggris dan Kanada. Ini bisa menyebabkan masalah besar dalam resep, perhitungan bahan bakar, dan pengukuran ilmiah.
  • Menulis 'magic number' secara hard-code. Melihat const km = miles * 1.609 di dalam kode adalah sebuah red flag. "Magic number" ini rapuh. Jika nanti kamu butuh presisi lebih, kamu harus mencari setiap kemunculannya. Lebih baik definisikan faktor konversi di satu tempat terpusat atau gunakan library yang andal.
  • Akumulasi error floating-point. Merangkai beberapa konversi bisa menimbulkan error presisi kecil yang makin lama makin menumpuk. Mengonversi inci ke meter lalu meter ke milimeter itu tidak masalah. Tapi mengonversi inci -> kaki -> rantai -> furlong -> mil -> tahun cahaya mungkin akan membuatmu pusing jika butuh presisi tinggi. Praktik terbaik adalah selalu mengonversi ke satuan dasar, lalu ke satuan target dalam dua langkah bersih.

Kenapa ini harus kamu perhatikan

Sebagai developer, kamu adalah jembatan konstan antara data digital dan dunia nyata. Jembatan itu dibangun dengan satuan. Kamu perlu memikirkannya setiap kali:

  • Melakukan parsing data dari sumber eksternal, terutama API, database, atau file CSV.
  • Mengerjakan aplikasi yang diinternasionalisasi (i18n) yang menampilkan ukuran kepada pengguna di berbagai negara.
  • Menulis CSS. Memilih antara px, em, rem, %, dan vw adalah keputusan arsitektural fundamental untuk UI-mu.
  • Menghitung penyimpanan data, penggunaan memori, atau bandwidth jaringan. Perbedaan KiB/kB sangat penting untuk perencanaan kapasitas yang akurat.
  • Berurusan dengan domain apa pun yang melibatkan kuantitas fisik: sains, teknik, keuangan, logistik, atau bahkan pelacakan kebugaran.

Singkatnya: jika sebuah angka bukan hanya sekadar penghitung tetapi mewakili sesuatu yang nyata, kamu perlu bertanya, "Satuannya apa?"

Pelajari lebih dalam

Teori beres. Saatnya praktik — 100% di browser kamu.

Coba tool-nya: Konverter Satuan