Mengenal Python Float: Bekerja dengan Bilangan Desimal
Setelah membahas bilangan bulat (integer), kini saatnya kita beralih ke "saudaranya", yaitu bilangan yang memiliki komponen desimal. Dalam dunia nyata, kita sering berurusan dengan nilai-nilai yang tidak bulat sempurna, seperti harga barang, hasil pengukuran, atau konstanta matematis seperti Pi. Di Python, semua ini ditangani oleh tipe data Float.
Tipe data float, kependekan dari floating-point number, adalah cara Python merepresentasikan bilangan riil. Memahaminya sangat penting karena perilakunya sedikit berbeda dari integer, terutama dalam hal presisi.
Kapan Python Menggunakan Float? 📏
Python akan secara otomatis menganggap sebuah bilangan sebagai float jika ia menemukan salah satu dari dua hal ini:
- Titik Desimal: Cukup dengan menambahkan titik desimal, bahkan pada bilangan yang terlihat bulat, akan membuatnya menjadi
float. - Operasi Pembagian Biasa (
/): Hasil dari operasi pembagian menggunakan/akan selalu menjadifloat.
# Dibuat dengan titik desimal
nilai_pi = 3.14
jarak = 50.0 # Meskipun nilainya 50, ini adalah float
# Dihasilkan dari operasi pembagian
hasil_bagi = 100 / 4 # Hasilnya 25.0, sebuah float
print(f"Nilai Pi: {nilai_pi}, Tipe: {type(nilai_pi)}")
print(f"Jarak: {jarak}, Tipe: {type(jarak)}")
print(f"Hasil Bagi: {hasil_bagi}, Tipe: {type(hasil_bagi)}") Semua contoh di atas akan dikonfirmasi oleh Python sebagai .
Notasi Ilmiah (Scientific Notation / E-notation)
Untuk merepresentasikan bilangan yang sangat besar atau sangat kecil, mengetik semua angka nol tentu tidak efisien. Python, seperti kalkulator ilmiah, mendukung notasi-e. Huruf e atau E digunakan untuk berarti "dikalikan sepuluh pangkat..."
# 3.5 x 10^6 (3,500,000)
bilangan_besar = 3.5e6
print(f"Bilangan besar: {bilangan_besar}")
# 1.2 x 10^-4 (0.00012)
bilangan_kecil = 1.2e-4
print(f"Bilangan kecil: {bilangan_kecil}")
print(f"Tipe datanya: {type(bilangan_besar)}")Isu Penting: Masalah Presisi ⚠️
Ini adalah karakteristik terpenting dari float yang harus selalu Anda ingat. Karena cara komputer menyimpan bilangan desimal dalam sistem biner, representasinya sering kali tidak 100% akurat. Ini adalah sebuah aproksimasi atau pendekatan.
Seperti yang pernah kita bahas di artikel tentang pecahan, operasi sederhana bisa memberikan hasil yang tidak terduga.
hasil = 0.1 + 0.2
print(hasil) # Outputnya adalah 0.30000000000000004 Karena masalah ini, sangat tidak disarankan untuk membandingkan dua bilangan float menggunakan operator kesetaraan (==). Sebagai gantinya, cara yang lebih aman adalah dengan memeriksa apakah selisih keduanya sangat kecil atau menggunakan fungsi math.isclose().
import math
a = 0.1 + 0.2
b = 0.3
print(f"Perbandingan dengan '==': {a == b}") # Hasil: False (Berisiko!)
print(f"Perbandingan dengan math.isclose(): {math.isclose(a, b)}") # Hasil: True (Aman!)Kesimpulan
Tipe data Float sangat esensial untuk menangani bilangan desimal dalam komputasi. Ia sangat berguna untuk berbagai aplikasi ilmiah dan sehari-hari. Namun, penting untuk selalu waspada terhadap masalah presisi yang melekat padanya. Dengan memahami cara kerja dan keterbatasannya, serta kapan harus menggunakan alat bantu seperti modul fractions atau fungsi math.isclose(), Anda dapat menulis program yang akurat dan andal.

