Bahasa Pascal

Tipe Data Real Pada Bahasa Pemrograman Pascal

Assalamu’alaikum, Selamat datang di matericoding.com. Pada kesempatan kali ini akan dibahas tipe data real pada bahasa pemrograman pascal. Tipe data real adalah salah satu tipe data yang sering digunakan pada bahasa pemrograman pascal. Berikut ini penjelasan lebih lanjut tentang tipe data Real dan cara penggunaanya.

Pengertian Tipe Data Real Pada Bahasa Pemrograman 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 Pada Bahasa Pemrograman Pascal

Cara penggunaan tipe data real sama dengan cara penggunaan pada tipe data integer yang telah dibahas pada materi sebelumnya. Untuk contohnya sebagai berikut:

program tipe_real;{matericoding.com}
uses wincrt;
var
  //deklarasi variabel dengan tipe data real
  a:real;
begin
  clrscr;
  a:=3.14;//isi data dengan tipe data Real
  writeln('a: ',a); //menampilkan data dengan tipe data real
  
  a:=999.99; //isi data dengan tipe data Real
  writeln('a: ',a); //menampilkan data dengan tipe data real
  
  a:= a + 0.01; //isi data dengan tipe data Real
  writeln('a: ',a); //menampilkan data dengan tipe data real
  readln;
end.

Jika dijalankan hasilnya seperti berikut:

run program Tipe Data Real Pada Bahasa Pemrograman Pascal

Jika dilihat, tampilannya kaya eror tetapi itu tidak eror , 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

Untuk tampilan normal, kita tambahkan karakter khusus di writeln saat ingin menampilkan data di layar. Sebagai contoh bisa dilihat pada program berikut:

program tipe_real;{matericoding.com}
uses wincrt;
var
  //deklarasi variabel dengan tipe data real
  a:real;
begin
  a:=3.14;//isi data dengan tipe data Real
  writeln('a: ',a:4:2); //menampilkan data dengan tipe data real
  
  a:=999.99; //isi data dengan tipe data Real
  writeln('a: ',a:4:2); //menampilkan data dengan tipe data real
  
  a:= a + 0.01; //isi data dengan tipe data Real
  writeln('a: ',a:4:2); //menampilkan data dengan tipe data real
  readln;
end.

Untuk hasilnya adalah sebagai berikut:

contoh penggunaan tipe data real

Kali ini akan tampil sebagai mana 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:10:3) berarti saya ingin menampilkan angka dari variabel b dengan 10 digit sebelum tanda koma dan 3 digit setelah tanda koma.

Contoh lain sebagai berikut:

program tipe_real;{matericoding.com}
uses wincrt;
var
  //deklarasi variabel dengan tipe data real
  a,b,c:real;
begin
  a:=3.141;//isi data dengan tipe data Real
  writeln('a: ',a:4:2); //menampilkan data dengan tipe data real
  
  b:=999.9999; //isi data dengan tipe data Real
  writeln('b: ',b:4:2); //menampilkan data dengan tipe data real
  
  c:= 65653.5555; //isi data dengan tipe data Real
  writeln('c: ',c:10:3); //menampilkan data dengan tipe data real
  readln;
end.

Hasilnya adalah:

run pembatasan angka koma

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.9999. Ini karena kita hanya menyediakan 2 angka dibelakang koma, sehingga angka 9 yang ‘terpotong’ akan dibulatkan menjadi 10.

Contoh lain, angka 65653.5555 akan dibulatkan menjadi 65653.556 karena perintah writeln(‘c: ‘,c:10:3) hanya menyediakan 3 digit dibelakang koma, sehingga digit ke-5 dibulatkan menjadi 6.

Jenis – Jenis Tipe Data Real Pada 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:

program tipe_real;{matericoding.com}
uses wincrt;
var
  a:real;
  b:single;
  c:double;
  d:extended;
  e:comp;
begin
  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.

Hasilnya adalah

run contoh tipe data real

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. Untuk contoh lain dari penggunaan tipe data pascal bisa dilihat di contoh program pascal.

Demikian tadi sedikit penjelasan tentang tipe data real pada pascal, semoga bermanfaat. Jika ada pertanyaan lebih lanjut, bisa ditanyakan lewat kolom komentar.

Sekian dan Terimakasih

Wassalamu’alaikum Wr Wb

(sumber)

Leave a Comment