Tutorial Belajar Pascal Part 13: Pengertian dan Cara Penggunaan Tipe Data Real Pascal

81

Yodha.web.id – Setelah membahas tipe data integer pascal pada tutorial sebelumnya, kali ini kita akan membahas tentang pengertian dan cara penggunaan tipe data real dalam bahasa pemrograman pascal.


Pengertian Tipe Data Real Pascal

Dalam bahasa pemrograman Pascal, tipe data real digunakan untuk angka desimal (pecahan), seperti 0.11, 3.14, atau 999.99. Tipe data ini dikenal juga dengan tipe data float atau floating point.

Karena menggunakan format amerika, penulisan nilai real di dalam Pascal menggunakan karakter titik sebagai penanda angka ‘desimal’, bukan karakter koma sebagaimana yang kita gunakan sehari-hari.

Pascal mendukung beberapa tipe data yang termasuk kategori float, yakni: Real, Single, Double, Extended, Comp dan Currency.


Cara Penggunaan Tipe Data Real Pascal

Untuk melihat cara penggunaan tipe data real, langsung saja kita lihat contoh kode programnya:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
program tipe_real;
uses crt;
var
  a:real;
begin
  clrscr;
  a:=3.14;
  writeln('a: ',a);
 
  a:=999.99;
  writeln('a: ',a);
 
  a:= a + 0.01;
  writeln('a: ',a);
  readln;
end.

Dalam kode program diatas, saya mendeklarasikan variabel a sebagai tipe data real (baris ke-4). Sepanjang kode program, variabel a ini diubah-ubah nilainya dan ditampilkan menggunakan perintah writeln. Seperti apa hasilnya? Mari kita lihat:

 Apa yang terjadi? Angka apa ini? Apakah kode kita terdapat error?

Tidak, ini memang format tampilan default dari Pascal, dimana tipe data real akan ditampilkan dalam format angka scientific. Huruf E disini mewakili pangkat sepuluh, sehingga angka:

  • 3.14000000000000E+000  = 3.14 * 100 = 3.14
  • 9.99990000000000E+002 = 9.9999 * 102 = 999.99
  • 1.00000000000000E+003 = 1 * 103 = 1000

Bagaimana jika kita ingin menampilkan angka-angka tersebut dengan tampilan ‘normal’? Cukup dengan menambahkan beberapa karakter khusus di dalam perintah writeln. Berikut contohnya:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
program tipe_real;
uses crt;
var
  a:real;
begin
  clrscr;
  a:=3.14;
  writeln('a: ',a:4:2);
 
  a:=999.99;
  writeln('a: ',a:4:2);
 
  a:= a + 0.01;
  writeln('a: ',a:4:2);
  readln;
end.

Kali ini angka kita tampil sebagaimana mestinya.

Perintah tambahan di dalam writeln digunakan untuk menformat tampilan angka-angka ini. Sebagai contoh, writeln(‘a: ‘,a:4:2) berarti saya ingin menampilkan angka dari variabel a dengan 4 digit sebelum tanda koma (tanda pemisah bilangan desimal), dan 2 digit setelah tanda koma.

Sebagai contoh lain, writeln(‘b: ‘,b:6:3) berarti saya ingin menampilkan angka dari variabel b dengan 6 digit sebelum tanda koma dan 3 digit setelah tanda koma.

Contoh berikut ini akan memperjelas cara menformat tampilan angka real:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
program tipe_real;
uses crt;
var
  a,b,c:real;
begin
  clrscr;
  a:=123.456;
  writeln('a: ',a:4:2);
 
  b:=999.999;
  writeln('b: ',b:4:2);
 
  c:=6782.555555;
  writeln('c: ',c:6:4);
  readln;
end.

Seperti yang terlihat, tampilan variabel real akan diformat sesuai dengan jumlah digit yang ditetapkan. Selain itu, nilai-nilai ini juga akan dibulatkan. Sebagai contoh, variabel b akan ditampilan dengan nilai 1000, bukan 999.999. Ini karena kita hanya menyediakan 2 angka dibelakang koma, sehingga angka 9 yang ‘terpotong’ akan dibulatkan menjadi 10.

Contoh lain, angka 6782.555555 akan dibulatkan menjadi 6782.5556 karena perintah writeln(‘c: ‘,c:6:4) hanya menyediakan 4 digit dibelakang koma, sehingga digit ke-5 dibulatkan menjadi 6.


Jenis-jenis Tipe Data Real di dalam Pascal

Sama seperti tipe data integer, Pascal mendukung berbagai jenis tipe data real yang dibedakan menurut jangkauannya. Tabel berikut merangkum tipe-tipe data real yang terdapat di dalam compiler Free Pascal:

TypeRangeSignificant digitsUkuran (dalam byte)
Realplatform dependant*???*4 – 8
Single1.5E-45 s/d 3.4E387-84
Double5.0E-324 s/d 1.7E30815-168
Extended1.9E-4932 s/d 1.1E493219-2010
Comp-2E64+1 s/d 2E63-119-208
Currency-922337203685477.5808 s/d 922337203685477.580719-208

*Khusus untuk jangkauan tipe data real, bergantung kepada processor yang digunakan, dan akan berbeda-beda.

Berikut contoh penggunaan berbagai tipe data ini:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
program tipe_real;
uses crt;
var
  a:real;
  b:single;
  c:double;
  d:extended;
  e:comp;
begin
  clrscr;
  a:=12345.6789;
  b:=12345.6789;
  c:=12345.6789;
  d:=12345.6789;
  e:=12345.6789;
 
  writeln('a: ',a:6:4);
  writeln('b: ',b:6:4);
  writeln('c: ',c:6:4);
  writeln('d: ',d:6:4);
  writeln('e: ',e:6:4);
  readln;
end.

Dalam contoh diatas saya membuat 5 variabel: a, b, c, d, dan e dengan berbagai tipe data real. Hampir semua memberikan hasil yang sama (kecuali single dan comp). Selain jangkauan, setiap tipe data ini juga bisa memberikan hasil yang berbeda terutama untuk proses perhitungan yang butuh ketelitian. Kita akan membahas hal ini pada tutorial tentang operator Pascal.


Dalam lanjutan tutorial belajar pascal kali ini kita telah membahas tipe data real, yang digunakan untuk menampung angka yang berbentuk pecahan (desimal). Dalam tutorial selanjutnya kita akan membahas tipe data Char Pascal.