Tekan 20 lalu % dan layar menampilkan 0.2. Sekarang tekan 100, lalu +, kemudian 10, lalu % — dan kalkulator tidak menampilkan 10.1. Ia menampilkan 110. Tombol yang sama, hasil yang benar-benar berbeda. Tombol persen adalah salah satu tombol yang paling sensitif terhadap konteks pada kalkulator, dan kebingungan yang ditimbulkannya sepenuhnya dapat diprediksi setelah Anda memahami dua fungsi yang dimilikinya.
Fungsi pertama: persen berdiri sendiri
Ketika % adalah satu-satunya operasi — tanpa penjumlahan, pengurangan, perkalian, atau pembagian yang mendahuluinya dalam ekspresi saat ini — itu berarti satu hal: membagi dengan 100. Ketik 20% dan kalkulator mengembalikan 0.2. Ketik 75% dan hasilnya 0.75. Ini adalah versi yang paling banyak dipelajari orang pertama kali, dan versi ini masuk akal secara matematis jika berdiri sendiri.
Dalam kode sumber kalkulator di atas, kasus ini ditangani dengan mengganti setiap number% yang muncul di awal ekspresi (atau setelah tanda kurung buka) dengan (number / 100). Hasil dari 20% secara harfiah adalah 20 / 100 = 0.2. Tidak ada ambiguitas di sini.
Fungsi kedua: persen dari jumlah berjalan
Di sinilah perilaku ini mengejutkan banyak orang. Ketika % muncul di akhir ekspresi yang sudah mengandung operator (+, −, ×, atau ÷), kalkulator melakukan sesuatu yang berbeda: ia menghitung persentase dari sub-ekspresi di sebelah kiri operator terakhir itu, lalu menggunakan hasil itu sebagai nilai kedua.
Ikuti contoh konkret berikut. Masukkan 100 + 10% dan tekan sama dengan:
- Kalkulator melihat bahwa
%mengakhiri ekspresi dengan operator sebelumnya. - Ia mengevaluasi bagian di sebelah kiri
+terakhir, yaitu100. - Ia menghitung
10%dari nilai tersebut:100 × 10 / 100 = 10. - Ia mengganti hasil itu, menjadi
100 + 10 = 110.
Ini adalah perilaku persentase dari dasar, dan ini tepat seperti yang Anda butuhkan untuk tugas sehari-hari seperti menambahkan pajak penjualan atau menerapkan diskon. Untuk menambahkan pajak 8% pada barang seharga $45, ketik 45 + 8% dan tekan sama dengan: jawabannya adalah 48.6, bukan 45.08. Tanpa perilaku ini, Anda harus menghitung 8% dari 45 secara terpisah lalu menambahkannya.

Mengapa perilaku berubah dengan konteks operator
Desain ini disengaja, bukan kebetulan. Seperti yang Raymond Chen jelaskan dalam posting yang banyak dikutip tentang Kalkulator Windows, tombol persen dirancang untuk pembeli sehari-hari, bukan insinyur. Tujuannya adalah menjawab pertanyaan "berapa X ditambah Y persen dari X?" dalam satu kali tekan tombol, tanpa pengguna perlu memahami aljabar persentase. Bentuk matematisnya kurang jelas; bentuk praktisnya langsung berguna.
Logika yang sama berlaku untuk pengurangan. Ketik 200 − 15% dan kalkulator mengembalikan 170 — ia menghitung 15% of 200 = 30, lalu mengurangkannya: 200 − 30 = 170. Itu adalah diskon 15% pada harga $200. Kebanyakan orang yang menggunakan tombol persen dalam konteks itu sedang menghitung diskon, bukan meminta 0,15.
Apa yang terjadi dengan operator berantai
Perilaku ini meluas ke ekspresi yang lebih panjang. Pertimbangkan 10 + 10 + 10%. Kalkulator mengevaluasi bagian sebelum operator terakhir: 10 + 10 = 20. Kemudian menghitung 10% dari 20, yaitu 2. Hasil akhirnya adalah 20 + 2 = 22.
Ini dikonfirmasi langsung dalam kode sumber alat di atas: penangan persen menggunakan regex serakah untuk menemukan semua hingga operator terakhir, mengevaluasi sub-ekspresi itu secara rekursif, lalu mengalikannya dengan nilai persen dibagi 100. Persentase selalu dihitung relatif terhadap total berjalan pada titik operator terakhir itu.
Kapan menggunakan tombol % dan kapan mengetik desimal
Tombol persen adalah jalan pintas dengan makna khusus. Ini bekerja baik untuk tugas-tugas berikut:
- Menambahkan pajak atau biaya —
price + rate%secara otomatis menghitung pajak pada harga. - Menerapkan diskon —
price − rate%mengurangi jumlah yang tepat. - Mencari sebagian nilai dengan cepat —
500 × 20%menghasilkan100(20% dari 500).
Tapi kurang cocok untuk tugas-tugas berikut:
- Mengubah persentase menjadi desimal secara terpisah —
20%menghasilkan0.2, yang benar, tapi jika Anda melanjutkan dengan operator, konteksnya berubah. - Ekspresi kompleks di mana "dasar" bukan sub-ekspresi di sebelah kiri — jika angka yang ingin Anda ambil persentasenya bukan tepat sebelum operator terakhir, jalan pintas ini akan menghitung dasar yang salah. Dalam kasus itu, hitung persentasenya secara terpisah dan tambahkan hasilnya secara manual.
Coba ini: masukkan100 + 10%di kalkulator di atas dan tekan sama dengan. Hasilnya adalah 110 — bukan 100,1. Kemudian masukkan10%sendiri: hasilnya 0,1. Tombol yang sama, dua hasil berbeda, sepenuhnya ditentukan oleh apa yang ada sebelumnya.