1. Dasar Pembulatan: Mengapa Diperlukan?
Dalam pemrograman, sangat penting untuk mengontrol presisi angka dengan benar. Khususnya ketika hasil perhitungan melibatkan angka desimal, pembulatan digunakan untuk merapikan hasil agar lebih mudah dipahami. Misalnya, dalam perhitungan jumlah uang atau rekap data pengukuran, pembulatan digunakan di berbagai situasi.
Contoh Konkret Pembulatan
Misalnya, jika 2.5 dibulatkan menjadi 3, sedangkan 2.3 dibulatkan menjadi 2. Proses ini sering dijumpai dalam kehidupan sehari-hari. Di dunia pemrograman, situasi di mana hasil perhitungan disederhanakan dengan cara seperti ini juga sangat umum.
2. Cara Melakukan Pembulatan di Bahasa C
Untuk melakukan pembulatan di bahasa C, gunakan fungsi round()
yang tersedia di pustaka math.h
. Fungsi ini akan membulatkan nilai desimal yang diberikan sebagai argumen ke bilangan bulat terdekat.
Cara Dasar Menggunakan Fungsi round()
Berikut contoh dasar penggunaan fungsi round()
:
#include <stdio.h>
#include <math.h>
int main() {
double x = 2.5;
printf("Hasil pembulatan: %f\n", round(x));
return 0;
}
Saat program dijalankan, akan muncul output “Hasil pembulatan: 3.000000”. Ini menunjukkan bahwa fungsi round()
membulatkan 2.5
ke bilangan bulat terdekat, yaitu 3
. Jangan lupa untuk menyertakan pustaka math.h
.
3. Pembulatan dengan Jumlah Digit Tertentu
Untuk membulatkan dengan jumlah digit desimal tertentu di bahasa C, diperlukan sedikit trik. Umumnya, angka dikalikan dengan kelipatan 10 sesuai digit yang diinginkan, dibulatkan, lalu dibagi lagi agar kembali ke skala awal.
Contoh Kode Pembulatan dengan Jumlah Digit Tertentu
#include <stdio.h>
#include <math.h>
int main() {
double num = 123.456;
num = num * 100; // Ubah menjadi bilangan bulat hingga dua digit desimal
double result = round(num) / 100; // Bulatkan lalu kembalikan ke skala semula
printf("%.2f\n", result); // Hasilnya 123.46
return 0;
}
Pada program ini, num
dikalikan 100 untuk memindahkan dua digit desimal ke bilangan bulat, dibulatkan dengan round()
, lalu dibagi 100 lagi untuk mengembalikan ke posisi semula. Dalam contoh ini, 123.456
dibulatkan menjadi 123.46
.
4. Pembulatan Tanpa Menggunakan Fungsi
Di bahasa C, pembulatan juga bisa dilakukan tanpa round()
. Cukup tambahkan 0.5 pada nilai desimal, lalu casting ke tipe int
untuk memperoleh hasil pembulatan.
Cara Membulatkan Secara Manual
#include <stdio.h>
int main() {
double num = 2.3;
int rounded = (int)(num + 0.5);
printf("Hasil pembulatan: %d\n", rounded);
return 0;
}
Pada kode ini, 2.3
ditambah 0.5
menjadi 2.8
, lalu casting ke int
menghasilkan 2
. Cara ini dapat digunakan sebagai alternatif jika tidak ingin menggunakan round()
.

5. Pembulatan Angka Negatif
Tidak hanya angka positif, angka negatif juga dapat dibulatkan, meskipun terkadang hasilnya tidak intuitif. Sebagai contoh, hasil pembulatan -2.5 adalah -3, bukan -2. Fungsi round()
di bahasa C akan membulatkan angka negatif sesuai aturan yang berlaku.
Contoh Pembulatan Angka Negatif
#include <stdio.h>
#include <math.h>
int main() {
double num = -2.5;
printf("Hasil pembulatan: %f\n", round(num));
return 0;
}
Jika program dijalankan, -2.5
akan dibulatkan menjadi -3.0
. Hal ini karena aturan pembulatan tetap berlaku untuk angka negatif. Pastikan hasil sesuai dengan kebutuhan saat bekerja dengan angka negatif.
6. Metode Pembulatan Lain di Bahasa C
Selain pembulatan (round), ada juga metode truncation (floor) dan pembulatan ke atas (ceil). Di bahasa C, gunakan floor()
untuk pembulatan ke bawah dan ceil()
untuk pembulatan ke atas, keduanya tersedia di pustaka math.h
.
Contoh Penggunaan floor() dan ceil()
#include <stdio.h>
#include <math.h>
int main() {
double num = 2.7;
printf("Floor: %f\n", floor(num)); // Hasil: 2.0
printf("Ceil: %f\n", ceil(num)); // Hasil: 3.0
return 0;
}
Pada program ini, 2.7
menggunakan floor()
menjadi 2.0
, sedangkan dengan ceil()
menjadi 3.0
. floor()
akan mengabaikan angka desimal dan menurunkan nilainya, ceil()
membulatkan ke atas.
7. Kesimpulan
Pembulatan di bahasa C dapat dilakukan dengan mudah menggunakan fungsi round()
dari pustaka math.h
. Jika ingin membulatkan hingga digit tertentu atau menangani angka negatif, perlu sedikit penyesuaian pada implementasinya. Selain pembulatan, metode floor dan ceil juga dapat digunakan sesuai kebutuhan untuk pengolahan angka yang lebih fleksibel.