1. Dasar Fungsi round()
Python
Ikhtisar Fungsi round()
Fungsi round()
Python adalah fungsi dasar untuk membulatkan angka. Ini terutama digunakan untuk membulatkan angka ke jumlah tempat desimal tertentu. Dengan ini, Anda dapat dengan mudah menyesuaikan tampilan data dan hasil perhitungan.
Sintaks Dasar
round(number[, ndigits])
- number: Angka yang akan dibulatkan.
- ndigits: Jumlah tempat desimal (opsional). Jika dihilangkan, angka akan dibulatkan ke bilangan bulat terdekat.
Contoh Penggunaan
print(round(3.14159)) # Hasil: 3
print(round(3.14159, 2)) # Hasil: 3.14
print(round(1.5)) # Hasil: 2
Seperti yang ditunjukkan, fungsi round()
dapat membulatkan ke jumlah digit yang ditentukan, dan jika ndigits
tidak ditentukan, itu akan dibulatkan ke bilangan bulat terdekat.

2. Metode Pembulatan Python: “Pembulatan Bankir”
Apa itu Pembulatan Bankir?
Fungsi round()
Python menggunakan metode yang disebut “Pembulatan Bankir (Banker’s Rounding)”. Ini adalah metode di mana ketika bagian desimal adalah 0.5, angka dibulatkan ke bilangan genap terdekat. Misalnya, 2.5
dibulatkan menjadi 2
, dan 3.5
dibulatkan menjadi 4
. Metode ini digunakan dalam data statistik dan perhitungan keuangan untuk mencegah bias data.
Contoh Spesifik Pembulatan Bankir
print(round(2.5)) # Hasil: 2
print(round(3.5)) # Hasil: 4
Dengan cara ini, pembulatan bankir membulatkan ke bilangan genap ketika bagian desimal adalah 0.5, mencegah akumulasi kesalahan.
Keuntungan Pembulatan Bankir
Metode ini dapat mengurangi kesalahan kumulatif yang disebabkan oleh pembulatan ke atas atau pembulatan ke bawah sederhana. Ini sangat membantu dalam menjaga keseimbangan data secara keseluruhan saat memproses sejumlah besar data.
3. Masalah Bilangan Pecahan (Floating-Point)
Representasi Internal dan Kesalahan Bilangan Pecahan
Di Python, bilangan pecahan direpresentasikan dalam basis biner. Karena itu, angka desimal mungkin tidak direpresentasikan secara akurat, dan hasil yang tidak terduga dapat diperoleh selama proses pembulatan. Secara khusus, hasil fungsi round()
mungkin tidak sesuai harapan jika angka tidak dapat direpresentasikan secara akurat secara internal.
Contoh Masalah Bilangan Pecahan
n = 3.15
print(round(n, 1)) # Hasil: 3.1 (Perkiraan: 3.2)
Dalam contoh ini, 3.15
direpresentasikan secara internal sebagai 3.149999...
, sehingga hasil yang diharapkan tidak diperoleh. Ini disebabkan oleh keterbatasan bilangan pecahan.
Alasan Terjadinya Kesalahan Bilangan Pecahan
Bilangan pecahan direpresentasikan dalam basis biner, dan angka seperti 1.15 atau 3.15 tidak dapat direpresentasikan secara akurat. Hal ini menyebabkan kesalahan selama pembulatan. Untuk menghindari masalah ini, disarankan untuk melakukan pemrosesan angka presisi tinggi seperti modul decimal
yang akan dijelaskan selanjutnya.

4. Modul decimal
untuk Menjaga Presisi
Ikhtisar Modul decimal
Dengan menggunakan modul decimal
, Anda dapat menghindari kesalahan bilangan pecahan dan melakukan perhitungan numerik presisi tinggi. Ini sangat berguna ketika hasil yang akurat diperlukan dalam perhitungan keuangan dan ilmiah.
Contoh Penggunaan
from decimal import Decimal, ROUND_HALF_UP
n = Decimal('3.15')
print(n.quantize(Decimal('0.1'), rounding=ROUND_HALF_UP)) # Hasil: 3.2
Kelas Decimal
digunakan untuk menghindari kesalahan bilangan pecahan dan melakukan perhitungan presisi tinggi. ROUND_HALF_UP
berfungsi sama dengan pembulatan ke atas biasa.
Mode Pembulatan Lainnya
Modul decimal
memiliki berbagai mode pembulatan. Misalnya:
- ROUND_DOWN: Selalu membulatkan ke bawah.
- ROUND_CEILING: Membulatkan angka positif ke atas, dan angka negatif ke bawah.
- ROUND_FLOOR: Selalu membulatkan ke bawah (termasuk angka negatif).
Menggunakan mode-mode ini memungkinkan pemrosesan pembulatan yang fleksibel sesuai dengan kebutuhan.
5. Metode Pembulatan Lainnya: math.floor()
dan math.ceil()
math.floor()
: Pembulatan ke Bawah (Truncate)
Fungsi math.floor()
membulatkan nilai desimal ke bawah ke bilangan bulat terdekat. Untuk angka negatif, ia dibulatkan ke arah bawah.
import math
print(math.floor(3.9)) # Hasil: 3
math.ceil()
: Pembulatan ke Atas (Round Up)
Di sisi lain, fungsi math.ceil()
selalu membulatkan nilai desimal ke atas.
import math
print(math.ceil(3.1)) # Hasil: 4
Perbedaan dengan round()
Sementara round()
membulatkan ke bilangan bulat terdekat, math.floor()
dan math.ceil()
selalu membulatkan ke satu arah, membuat hasilnya lebih mudah diprediksi. Fungsi-fungsi ini efektif ketika pembulatan yang akurat diperlukan bahkan untuk angka negatif.

6. Contoh Aplikasi Praktis
Aplikasi dalam Perhitungan Mata Uang
Perhitungan mata uang memerlukan perhitungan presisi tinggi. Misalnya, menggunakan modul decimal
untuk menghitung total atau diskon dapat menghasilkan jumlah yang akurat.
from decimal import Decimal, ROUND_HALF_UP
price = Decimal('19.995')
print(price.quantize(Decimal('0.01'), rounding=ROUND_HALF_UP)) # Hasil: 20.00
Aplikasi dalam Perhitungan Ilmiah
Dalam perhitungan ilmiah, kesalahan bilangan pecahan menjadi masalah, oleh karena itu penting untuk menggunakan modul decimal
untuk perhitungan yang akurat. Ini membantu menjaga presisi hasil pengukuran dan data eksperimen.
Aplikasi dalam Analisis Data
Dalam analisis data, pembulatan angka yang tepat diperlukan untuk mencegah akumulasi kesalahan. Menggunakan decimal
dan round()
secara tepat saat mengumpulkan data statistik dan big data dapat menghasilkan hasil yang akurat.
7. Kesimpulan
Fungsi round()
Python adalah alat yang nyaman untuk membulatkan angka desimal dengan mudah, tetapi perhatian khusus harus diberikan pada kesalahan bilangan pecahan. Dalam situasi yang membutuhkan presisi keuangan dan ilmiah, penting untuk memanfaatkan modul decimal
untuk meningkatkan akurasi pembulatan. Selain itu, memahami metode pembulatan lainnya seperti math.floor()
dan math.ceil()
, dan menggunakannya secara tepat sesuai dengan kebutuhan, memungkinkan pemrosesan numerik yang fleksibel.