Free Web Hosting by Netfirms
Web Hosting by Netfirms | Free Domain Names by Netfirms

next up previous contents
Next: Round off Error pada Up: Scalar Previous: Pembatasan pada Nilai Scalar   Contents

Nilai Scalar Floating Point

Perl juga bisa digunakan untuk menangani operasi-operasi yang menggunakan bilangan floating point. Floating point bisa menggunakan tanda minus (-), tanda desimal (.) atau eksponensial. Berikut adalah contoh sebuah floting point.

12.5

-876

-9.7

.7

3.

Nilai pada eksponensial merepresentasikan nilai tersebut apakah dikalikan atau dibagi dengan nilai berikutnya. Sebagai contoh, eksponen e+01 memberitahukan interpreter perl untuk mengalikan nilai scalar 10 dengan 1 sehingga hasilnya menjadi 10. hal ini berarti nilai scalar 8e+01 sama dengan 8 dikalikan dengan 10 atau 80. Dengan cara yang sama, eksponen e+02 sama dengan 100, e+03 sama dengan 1000 dan seterusnya. Nilai scalar berikut ini memiliki kesamaan satu sama lain.

561e+01

56.1e+02

5.61e+03

Penggunaan eksponen negatif diartikan oleh interpreter perl untuk melakukan pembagian dengan 10. sebagai contoh, nilai 55e-01 sama saja dengan 55 dibagi dengan 10, yaitu 5,4. dengan cara yang sama, e-02 akan dibagi dengan 100, dan e-03 diabagi dengan 1000 demikian seterusnya. Eksponen e+00 sama artinya dengan melakukan perkalian sebuah nilai dengan 1, yang berarti tidak ada perubahan pada nilai. Contoh program berikut merupakan contoh penggunaan operasi floating point pada perl.

#!/usr/bin/perl

$nilai = 34.0;

print ("Nilai pertama adalah ",$nilai, "\n");

$nilai = 114.6e-01;

print ("Nilai kedua adalah ",$nilai, "\n");

$nilai = 178.263e+19;

print ("Nilai ketiga adalah ", $nilai, "\n");

$nilai = 12345678900000000000000000;

print ("Nilai keempat adalah ", $nilai, "\n");

$nilai = 1.23e+999;

print ("Nilai kelima adalah ", $nilai, "\n");

$nilai = 1.23e-999;

print ("Nilai keenam adalah ", $nilai, "\n");

Keluaran dari program di atas adalah seperti berikut.

Nilai pertama adalah 34

Nilai kedua adalah 11.46

Nilai ketiga adalah 1.78263e+21

Nilai keempat adalah 1.23456789e+25

Nilai kelima adalah inf

Nilai keenam adalah 0

Baris program ini digunakan untuk menyimpan dan menampilkan berbagai bentuk nilai scalar. Baris 2 menyimpan sebuah nilai floating point 34.0 ke dalam variabel $nilai. Baris 3 digunakan untuk menampilkan nilai yang berada pada variabel sebelumnya. Nilai pada variabel $nilai pertama tidak menyimpan angka signifikan setelah tanda desimal, perl menampilkan hasilnya sebagai sebuah bilangan integer menjadi 34. Baris 4 berisikan sebuah nilai 114.6e-01 pada $nilai. Baris 5 digunakan untuk menampilkan nilai tersebut. Seperti sudah diterangkan di atas, pada baris ini dilakukan pembagian dengan 10 sehingga keluaran menjadi 11.46. Pada baris 7 dan 8 ditunjukkan bagaimana sebuah angka yang memiliki ukuran cukup besar dikonversikan dengan menampilkannya sebagai sebuah notasi saintifik. Sehingga dari nilai yang tadinya 178.26e+19 dikonversikan menjadi 1.78263e+21. Dalam hal ini tanda desimal digeser dua langkah ke arah kiri, sehingga nilai eksponen yang sebelumnya 19 menjadi 21. Jika sebuah bilangan integer memiliki panjang yang cukup besar untuk untuk ditampilkan, interpreter perl akan melakukan konversi ke dalam notasi saintifik seperti yang diperlihatkan pada baris 8 dan 9.

Baris 10 dan 11 menunjukkan apa yang terjadi jika terdapat nilai yang memiliki panjang melebihi nilai yang dapat ditampung pada register floating point. Pada kasus seperti ini, interpreter perl menampilkan nilai inf yang berarti infinity. Ukuran maksimum dari floating point berbeda antara satu mesin dengan mesin lainnya. Pada umumnya, ukuran yang mungkin untuk dimasukkan ke dalam sebuah register berkisar e+308.

Sedangkan baris 12 dan 13 menunjukkan kasus sebuah bilangan yang memiliki eksponen negatif cukup besar. Dalam hal ini perl akan menampilkan hasil dengan nilai 0. Nilai yang mungkin untuk eksponen negatif berkisar menjadi e-309.


next up previous contents
Next: Round off Error pada Up: Scalar Previous: Pembatasan pada Nilai Scalar   Contents
2002-10-29