Fortran - Tipe Data
Fortran menyediakan lima tipe data intrinsik, namun Anda juga bisa mendapatkan tipe data Anda sendiri. Lima tipe intrinsik adalah -
- Jenis bilangan bulat
- Tipe nyata
- Tipe kompleks
- Tipe logis
- Jenis karakter
Jenis Integer
Jenis integer hanya dapat menampung nilai integer. Contoh berikut mengekstrak nilai terbesar yang dapat disimpan dalam integer empat byte biasa -
program testingInt
implicit none
integer :: largeval
print *, huge(largeval)
end program testingInt
Ketika Anda mengkompilasi dan menjalankan program di atas, ini menghasilkan hasil sebagai berikut -
2147483647
Perhatikan bahwa file huge()function memberikan angka terbesar yang dapat dipegang oleh tipe data integer tertentu. Anda juga dapat menentukan jumlah byte menggunakankindpenentu. Contoh berikut menunjukkan ini -
program testingInt
implicit none
!two byte integer
integer(kind = 2) :: shortval
!four byte integer
integer(kind = 4) :: longval
!eight byte integer
integer(kind = 8) :: verylongval
!sixteen byte integer
integer(kind = 16) :: veryverylongval
!default integer
integer :: defval
print *, huge(shortval)
print *, huge(longval)
print *, huge(verylongval)
print *, huge(veryverylongval)
print *, huge(defval)
end program testingInt
Ketika Anda mengkompilasi dan menjalankan program di atas, ini menghasilkan hasil sebagai berikut -
32767
2147483647
9223372036854775807
170141183460469231731687303715884105727
2147483647
Tipe Nyata
Ini menyimpan angka floating point, seperti 2.0, 3.1415, -100.876, dll.
Biasanya ada dua tipe nyata yang berbeda, default real jenis dan double precision Tipe.
Namun, Fortran 90/95 memberikan kontrol lebih besar atas ketepatan tipe data nyata dan integer melalui file kind specifier, yang akan kita pelajari di bab Bilangan.
Contoh berikut menunjukkan penggunaan tipe data nyata -
program division
implicit none
! Define real variables
real :: p, q, realRes
! Define integer variables
integer :: i, j, intRes
! Assigning values
p = 2.0
q = 3.0
i = 2
j = 3
! floating point division
realRes = p/q
intRes = i/j
print *, realRes
print *, intRes
end program division
Ketika Anda mengkompilasi dan menjalankan program di atas, ini menghasilkan hasil sebagai berikut -
0.666666687
0
Tipe Kompleks
Ini digunakan untuk menyimpan bilangan kompleks. Bilangan kompleks memiliki dua bagian, yaitu bagian nyata dan bagian imajiner. Dua unit penyimpanan numerik yang berurutan menyimpan dua bagian ini.
Misalnya, bilangan kompleks (3.0, -5.0) sama dengan 3.0 - 5.0i
Kami akan membahas tipe Kompleks lebih detail, di bab Bilangan.
Jenis Logis
Hanya ada dua nilai logika: .true. dan .false.
Jenis Karakter
Tipe karakter menyimpan karakter dan string. Panjang string dapat ditentukan oleh penentu len. Jika tidak ada panjang yang ditentukan, itu adalah 1.
For example,
character (len = 40) :: name
name = “Zara Ali”
Ekspresi, name(1:4) akan memberikan substring "Zara".
Pengetikan Implisit
Versi lama Fortran mengizinkan fitur yang disebut pengetikan implisit, misalnya, Anda tidak perlu mendeklarasikan variabel sebelum digunakan. Jika variabel tidak dideklarasikan, maka huruf pertama dari namanya akan menentukan tipenya.
Nama variabel yang dimulai dengan i, j, k, l, m, atau n, dianggap untuk variabel integer dan variabel lainnya adalah variabel nyata. Namun, Anda harus mendeklarasikan semua variabel karena ini adalah praktik pemrograman yang baik. Untuk itu Anda memulai program Anda dengan pernyataan -
implicit none
Pernyataan ini mematikan pengetikan implisit.