Lewati ke konten utama

Membulatkan ke 2 Tempat Desimal di Python: 7 Metode Dijelaskan

Pelajari cara membulatkan angka ke dua tempat desimal di Python menggunakan round(), f-strings, format(), modul decimal, NumPy, dan lainnya — lengkap dengan tabel perbandingan metode.
Diperbarui 2 Jun 2026  · 7 mnt baca

Membulatkan angka ke dua tempat desimal adalah teknik penting di Python. Ini sangat berguna dalam perhitungan keuangan, penyajian data, dan pelaporan ilmiah.

Python menyediakan beragam metode untuk pembulatan yang presisi. Dalam tutorial ini, saya akan menunjukkan cara membulatkan angka ke dua tempat desimal di Python menggunakan fungsi bawaan, pustaka, dan metode pemformatan.

Jika Anda baru memulai sebagai analis data, saya merekomendasikan mengikuti kursus Introduction to Python dari DataCamp untuk mempelajari dasar-dasar Python untuk manipulasi dan transformasi data. Anda juga akan menemukan tutorial Python NumPy kami bermanfaat jika Anda perlu membulatkan array angka besar dalam alur kerja analisis data.

TL;DR

  • Gunakan round(number, 2) untuk pembulatan aritmetika — ini mengubah nilai sebenarnya.

  • Gunakan f"{number:.2f}" atau str.format() hanya untuk tampilan — float asli tidak berubah.

  • Gunakan modul decimal ketika dibutuhkan presisi desimal yang tepat (misalnya, perhitungan keuangan).

  • Gunakan np.round(array, 2) untuk membulatkan seluruh array NumPy sekaligus.

  • Waspadai kejutan presisi float: round(2.675, 2) mengembalikan 2.67, bukan 2.68, karena cara float disimpan di memori.

Memahami Pembulatan dan Tempat Desimal

Tempat desimal mengacu pada angka-angka yang muncul tepat setelah tanda desimal pada sebuah bilangan. Tempat desimal penting karena menentukan tingkat presisi suatu bilangan. Semakin banyak tempat desimal, semakin presisi, dan sebaliknya.

Membulatkan angka berarti menyesuaikan angka dengan mengurangi jumlah tempat desimal. Teknik ini biasanya diterapkan untuk menyederhanakan angka sekaligus menjaga konsistensi di seluruh perhitungan. Namun, membulatkan angka ke tempat desimal tertentu memengaruhi akurasi nilai yang dihitung karena adanya kesalahan kecil yang diperkenalkan selama pembulatan.

Python menyediakan berbagai metode untuk membulatkan angka ke dua tempat desimal. Contoh-contoh berikut memberikan penjelasan mendetail tentang teknik-teknik ini.

Menggunakan round() untuk Membulatkan Angka di Python

Fungsi round() adalah fungsi bawaan Python untuk membulatkan bilangan floating-point ke jumlah tempat desimal yang ditentukan. Anda dapat menentukan jumlah tempat desimal dengan memberikan nilai pada argumen kedua. Contoh di bawah ini mencetak 34,15.

# Example number to be rounded
number = 34.14559

# Rounding the number to 2 decimal places
rounded_number = round(number, 2)

print(rounded_number)

# 34.15

Fungsi round() Python menggunakan "round half to even" sebagai mode pembulatan default saat Anda menghilangkan argumen kedua. Round half to even (pembulatan bankir) adalah ketika suatu angka berada tepat di tengah antara dua bilangan bulat, maka dibulatkan ke bilangan bulat genap terdekat. Teknik ini berguna karena dapat membantu meminimalkan kesalahan pembulatan kumulatif.

Kejutan presisi float dengan round()

Ada satu kehalusan yang perlu diketahui sebelum Anda mengandalkan round() dalam kode keuangan. Coba ini:

print(round(2.675, 2))  # You might expect 2.68
# Output: 2.67

Hasilnya adalah 2.67, bukan 2.68. Nilai 2.675 tidak dapat direpresentasikan secara tepat dalam floating-point biner (IEEE 754); nilai yang disimpan sedikit kurang dari 2.675, sehingga Python membulatkan ke bawah.

Jika Anda memerlukan pembulatan yang tepat untuk perhitungan keuangan, gunakan modul decimal dengan mode pembulatan eksplisit:

from decimal import Decimal, ROUND_HALF_UP

result = Decimal("2.675").quantize(Decimal("0.01"), rounding=ROUND_HALF_UP)
print(result)  # 2.68

Menggunakan Teknik Pembentukan String untuk Membulatkan Angka di Python

Teknik pemformatan string berguna untuk membulatkan angka ke dua tempat desimal, terutama saat menampilkan angka pada output.

Perlu diingat bahwa ketika Anda menggunakan teknik pemformatan string di Python untuk membulatkan angka, keluaran yang dibulatkan ditampilkan sebagai string, tetapi angka aslinya tetap tidak berubah. Jika Anda melakukan operasi matematika pada angka asli, perhitungannya didasarkan pada nilai yang tidak dibulatkan, yang dapat menghasilkan kejutan.

Membulatkan dengan operator %

Operator % menawarkan metode tradisional untuk memformat angka ke dua tempat desimal. Operator % memungkinkan pembuatan string terformat dengan menyisipkan nilai ke dalam placeholder.

Pada contoh di bawah, f menunjukkan nilai sebagai bilangan floating-point sementara .2 menentukan tempat desimal untuk membulatkan angka.

# Example number to be rounded
number = 3.14159

# Using the % operator to round to 2 decimal places
formatted_number = "%.2f" % number

print(formatted_number)

# 3.14

Membulatkan dengan str.format()

Metode str.format() menyediakan cara yang lebih fleksibel untuk menangani teknik pembulatan yang kompleks. Karena menggunakan placeholder bernama, pengembang cenderung lebih menyukai metode ini daripada operator %. Pada contoh di bawah, :.2f digunakan di dalam kurung kurawal untuk menentukan bahwa angka dibulatkan ke dua tempat desimal. Kode akan mencetak 3.14.

# Example number to be rounded
number = 3.14159

# Using str.format() to round to 2 decimal places
formatted_number = "{:.2f}".format(number)

print(formatted_number)

# 3.14

Membulatkan dengan f-strings (Python 3.6+)

F-string hadir di Python 3.6 dan kini menjadi cara yang disukai untuk menyisipkan nilai ke dalam string. Sintaks f-string sangat ringkas untuk pembulatan: Anda mendapatkan pemformatan tampilan dalam satu baris tanpa pemanggilan terpisah. Kode di bawah ini mencetak 14.68.

# Example number to be rounded
number = 14.67856

# Using f-strings to round to 2 decimal places
formatted_number = f"{number:.2f}"

print(formatted_number)

# 14.68

Menggunakan format() untuk Membulatkan Angka di Python

Fungsi bawaan format() menerima sebuah nilai dan spesifikasi format lalu mengembalikan string terformat. Berbeda dengan str.format(), Anda meneruskan angkanya langsung alih-alih menyematkannya dalam template string. Kode di bawah ini mencetak 345.69.

# Example number to be rounded
number = 345.68776

# Using the built-in format() to round to 2 decimal places
formatted_number = format(number, ".2f")

print(formatted_number)

# 345.69

Menggunakan Modul Lain untuk Membulatkan Angka di Python

Di luar Python dasar, ada banyak modul lain yang dapat Anda gunakan untuk membulatkan angka di Python. Saya akan menunjukkan tiga contoh paling menonjol: math, decimal, dan NumPy.

Membulatkan dengan modul math

Modul math tidak menyediakan fungsi yang secara langsung membulatkan angka ke tempat desimal tertentu. Namun, Anda dapat menggabungkan modul math dan aritmetika lain untuk membulatkan angka ke dua tempat desimal.

Fungsi math.floor() digunakan untuk membulatkan ke bawah suatu angka ke bilangan bulat terdekat. Untuk membulatkan ke bawah angka ke dua tempat desimal, Anda mengalikannya dengan 100, menerapkan fungsi math.floor(), lalu membaginya dengan 100. Kode di bawah ini mencetak 3.14.

# Import math module
import math

# Example number to be rounded
number = 3.14159

# Using math.floor() to round down to 2 decimal places
rounded_down = math.floor(number * 100) / 100

print(rounded_down)

# 3.14

Demikian pula, fungsi math.ceil() membulatkan angka ke atas ke bilangan bulat terdekat. Untuk membulatkan ke atas angka ke dua tempat desimal, kalikan dengan 100, terapkan fungsi math.ceil(), lalu bagi dengan 100. Kode di bawah ini mencetak 3.15.

# Import the math module
import math

# Example number to be rounded
number = 3.14159

# Using math.ceil() to round up to 2 decimal places
rounded_up = math.ceil(number * 100) / 100

print(rounded_up)

# 3.15

Membulatkan dengan modul decimal

Modul decimal di Python berguna untuk membulatkan angka float ke tempat desimal yang presisi menggunakan metode .quantize(). Pada contoh di bawah, kita menetapkan presisi sebagai 0.01 untuk menunjukkan bahwa kita ingin membulatkan angka ke dua tempat desimal.

# Import the decimal module
from decimal import Decimal

# Example number to be rounded
number = Decimal("18.73869")

# Define the rounding precision to 2 decimal places
precision = Decimal('0.01')

# Using the quantize method with ROUND_UP 
# to round the number up to 2 decimal places
rounded_number = number.quantize(precision)

print(rounded_number)

# 18.74

Jika Anda mencari perilaku pembulatan ke atas secara spesifik, lihat tutorial terbaru kami tentang Cara Membulatkan Angka ke Atas di Python untuk mempelajari lebih lanjut penggunaan modul math dan decimal, serta teknik lain untuk memastikan angka selalu dibulatkan ke atas, bukan ke bawah. Jika Anda ingin memahami transformasi data secara lebih umum, ikuti jalur karier Data Analyst with Python untuk mengembangkan keterampilan analitis Anda.

Membulatkan dengan NumPy

Saat bekerja dengan array di NumPy, gunakan np.round() untuk membulatkan setiap elemen sekaligus. Ini lebih cepat dan lebih mudah dibaca daripada melakukan loop secara manual.

import numpy as np

prices = np.array([1.2345, 9.8765, 3.14159])
rounded_prices = np.round(prices, 2)

print(rounded_prices)
# [1.23 9.88 3.14]

np.round() menerapkan aturan pembulatan bankir yang sama seperti round() bawaan Python. Metode .round() bekerja dengan cara yang sama pada DataFrame dan Series di pandas:

import pandas as pd

df = pd.DataFrame({"price": [1.2345, 9.8765, 3.14159]})
df["price_rounded"] = df["price"].round(2)

print(df)
#      price  price_rounded
# 0   1.2345           1.23
# 1   9.8765           9.88
# 2  3.14159           3.14

Untuk gambaran yang lebih luas tentang transformasi data dengan pandas, lihat tutorial pandas kami.

Kapan Menggunakan Setiap Metode Pembulatan Python

Berikut referensi cepat untuk memilih pendekatan pembulatan yang tepat:

Metode Paling cocok untuk Mengubah nilai? Mengembalikan
round(x, 2) Aritmetika umum Ya float
f"{x:.2f}" Tampilan / cetak Tidak str
str.format() Tampilan / cetak Tidak str
% operator Tampilan / cetak (warisan) Tidak str
format(x, ".2f") Tampilan / nilai tunggal Tidak str
math.floor() / ceil() Selalu ke bawah / selalu ke atas Ya float
Decimal.quantize() Keuangan / desimal tepat Ya Decimal
np.round(arr, 2) Array NumPy Ya ndarray

Beberapa pedoman praktis untuk membantu pilihan:

  • Hanya menampilkan angka? Gunakan f-string (f"{x:.2f}"). Satu baris, tanpa import, tanpa efek samping pada nilai asli.

  • Melakukan aritmetika dengan hasilnya? Gunakan round(x, 2). Mengembalikan float yang dapat terus Anda gunakan untuk menghitung.

  • Kode keuangan atau akuntansi? Gunakan Decimal.quantize(). Kejutan presisi float (round(2.675, 2) == 2.67) tidak terjadi dengan modul decimal.

  • Perlu selalu ke atas atau selalu ke bawah? Gunakan math.ceil() atau math.floor(). Keduanya mengabaikan aturan pembulatan sama sekali.

  • Bekerja dengan array NumPy atau kolom pandas? Gunakan np.round(arr, 2) atau series.round(2). Keduanya menangani seluruh koleksi sekaligus.

  • Memelihara kode lama? Operator % masih berfungsi, tetapi f-string menggantikannya di Python 3.6 — lebih disarankan untuk kode baru.

Penutup

Membulatkan angka ke dua tempat desimal adalah teknik penting untuk meningkatkan presisi dalam perhitungan keuangan dan ilmiah. Dalam artikel ini, kita telah membahas berbagai metode untuk membulatkan angka ke dua tempat desimal, termasuk fungsi bawaan, teknik pemformatan string, dan modul math. Penting untuk memahami dan memilih metode yang sesuai berdasarkan kebutuhan spesifik, seperti presisi dan gaya pemformatan. Saya mendorong Anda untuk mempraktikkan berbagai metode menggunakan beragam contoh agar lebih memahami kecocokan terbaik untuk kasus penggunaan Anda.

Jika Anda ingin meningkatkan keterampilan Python Anda, lihat jalur keterampilan Python Programming kami, yang membahas fungsi, dekorator, dan pola Python tingkat lanjut. Jalur karier Python Developer kami juga dirancang untuk membantu Anda meningkatkan kemampuan sebagai pengembang sambil mempelajari struktur data dan algoritma yang lebih maju.


Allan Ouko's photo
Author
Allan Ouko
LinkedIn
Penulis teknis Data Science dengan pengalaman langsung dalam analitik data, business intelligence, dan data science. Saya menulis konten praktis berfokus industri tentang SQL, Python, Power BI, Databricks, dan rekayasa data, yang berakar pada pekerjaan analitik dunia nyata. Tulisan saya menjembatani kedalaman teknis dan dampak bisnis, membantu para profesional mengubah data menjadi keputusan yang meyakinkan.

Pertanyaan yang Sering Diajukan

Apa cara termudah untuk membulatkan angka ke dua tempat desimal di Python?

Cara termudah untuk membulatkan angka ke dua tempat desimal adalah dengan menggunakan fungsi bawaan round().

Mengapa angka dibulatkan ke bilangan bulat terdekat saat menggunakan fungsi round()?

Metode default fungsi round() adalah round half to even. Untuk membulatkan angka ke dua tempat desimal, Anda harus memberikan argumen kedua sebagai 2 pada fungsi, yaitu round(3.14159, 2).

Bagaimana fungsi format() digunakan untuk membulatkan angka ke dua tempat desimal?

Fungsi format() digunakan untuk membulatkan angka ke jumlah tempat desimal yang ditentukan dan menampilkannya dalam string terformat.

Apa itu round half to even?

Metode rounding half to even atau pembulatan bankir melibatkan pembulatan angka yang tepat berada di tengah antara dua bilangan bulat ke bilangan bulat genap terdekat.

Apakah modul math menyediakan pembulatan angka ke dua tempat desimal di Python?

Anda hanya dapat menggunakan fungsi math.floor() dan math.ceil() bersama aritmetika lain untuk membulatkan angka ke jumlah tempat desimal yang ditentukan.

Mengapa round(2.675, 2) mengembalikan 2.67 alih-alih 2.68?

Ini adalah masalah presisi floating-point. Nilai 2.675 tidak dapat direpresentasikan secara tepat dalam floating-point biner (IEEE 754); nilai yang disimpan sedikit kurang dari 2.675, sehingga Python membulatkan ke bawah menjadi 2.67.

Untuk menghindarinya dalam kode keuangan, gunakan modul decimal dengan mode pembulatan eksplisit: Decimal("2.675").quantize(Decimal("0.01"), rounding=ROUND_HALF_UP) mengembalikan 2.68 seperti yang diharapkan.

Bagaimana cara membulatkan semua nilai di DataFrame pandas ke 2 tempat desimal?

Gunakan metode .round() pada DataFrame atau Series. Untuk membulatkan satu kolom: df["price"] = df["price"].round(2). Untuk membulatkan seluruh kolom numerik sekaligus: df = df.round(2).

Topik

Belajar Python bersama DataCamp

Kursus

Pengantar Python

4 Hr
6.9M
Kuasai dasar-dasar analisis data dengan Python dalam 4 jam. Kursus online ini memperkenalkan antarmuka Python dan pustaka populer.
Lihat DetailRight Arrow
Mulai Kursus
Lihat Lebih BanyakRight Arrow
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat Lebih BanyakLihat Lebih Banyak