My first Magazine pemrograman-kompetitif-dasar | Page 153
12.5 Presisi Bilangan Riil
II Sekilas Info JJ
22
22
Hati-hati! Nilai π tidak sama dengan . Penggunaan
hanyalah aproksimasi dari nilai
7
7
π yang sesungguhnya.
π = 3.14159265359..
22
7
= 3.14285714285..
Untuk perhitungan pada kompetisi pemrograman, Anda dapat menggunakan nilai π yang
diberikan pada soal. Jika soal tidak memberikan nilai π yang digunakan, Anda dapat mencarinya
dengan fungsi arc-cosinus, yaitu fungsi pada trigonometri. Nilai π didapatkan dari:
• Pascal: arccos(−1)
• C++: acos(−1) (memerlukan include cmath)
12.5
Presisi Bilangan Riil
Pada kompetisi pemrograman, disarankan selalu mengutamakan penggunaan bilangan bulat
daripada bilangan riil. Hal ini dikarenakan komputer memiliki keterbatasan dalam merepresenta-
sikan bilangan riil. Representasi bilangan riil dari angka 1 bisa jadi adalah 0.999999999999
atau 1.00000000001. Akibatnya, perhitungan yang melibatkan bilangan riil kurang akurat jika
dibandingkan dengan perhitungan dengan bilangan bulat. Masalah lainnya adalah dalam hal me-
meriksa kesamaan dua bilangan. Nilai dari ekspresi (1.0/3 ∗ 3 = 3.0) mungkin saja mengembalikan
false.
Sebagai ilustrasi, perhatikan contoh soal berikut.
Contoh Soal 12.1: Potongan Pizza
Pak Dengklek sedang memesan pizza pada suatu restoran. Ia menemukan dua buah menu
pizza. Pizza pertama memiliki jari-jari A inci dan akan dibagi menjadi B potong sama rata.
Sementara pizza kedua memiliki jari-jari C inci dan akan dibagi menjadi D potong sama rata.
Pak Dengklek penasaran, apakah satu potong pada pizza pertama memiliki luas yang sama
dengan satu potong pada pizza kedua. Bantulah Pak Dengklek mencari jawabannya!
Algoritma 71 Solusi Potongan Pizza versi 1.
function CHECK P IZZA (A, B,C, D)
2:
return (π × A × A)/B = (π ×C ×C)/D
3: end function
1:
Soal Potongan Pizza ini cukup sederhana. Solusi yang mudah terpikirkan adalah dengan
menghitung luas masing masing potongan pizza, lalu melakukan perbandingan seperti pada
Algoritma 71.
143