Tipe data di Fortran 95 : Tipe Data Intrinsik dan Turunan
Bahasa pemprograman Fortran memiliki tipe data yang telah terdefinisi oleh bahasa Fortran sendiri, yang disebut sebagai intrinsic data types atau tipe data intrinsik yang terdiri dari lima tipe data. Namun, memungkinkan juga jika kita mendifinisikan tipe data lain berdasarkan kumpulan dari tipe data instrinsik, yang disebut sebagai derived data types. Bisa dibilang ada dua tipe dari tipe data ini.
1. Tipe Data Intrinsik.
Dari kelima tipe data yang ada, tiga diantaranya merupakan tipe numerik yang digunakan sebagai kalkulasi — integer, real, dan complex. Sedangkan, dua diantaranya merupakan non-numerik yang biasanya digunakan untuk pemprosesan text — character dan logical.
Integer, merupakan tipe data bilangan bulat, yang nilainya bisa signed atau unsigned — teman-teman pasti sangat familiar dengan yang ini. Kalau komputer kita 32 bit, n=32, secara default, range nya adalah -2n-1 hingga +2n-1-1 atau -2147483648 hingga +2147483648. Contoh,
integer, parameter :: a = 2147483648 !atau yang dibawah integer(kind=4), parameter :: a0 = 2147483648 !secara default, alokasi 4 byte integer(4), parameter :: a1 = 2147483648 !bisa juga disingkat penulisannya seperti ini integer(16), parameter :: a2 = 2147483648 !bisa juga mengalokasi 8,16,.. byte
Real, merupakan tipe data floating point yang digunakan di Fortran. Stadarnya, bernilai 10-37 hingga 10_37, dengan presisi enam digit desimal. Sama halnya seperti integer, alokasi memori secara default adalah 4 byte. Contoh,
real, parameter :: a = 12.345678e30
Complex, nah, kalo yang ini spesial punya Fortran, hehe. Merupakan tipe data bilangan kompleks, yang terdiri dari bilangan nyata dan bilangan imajiner. Nah, tipe data yang ini memerlukan dua kali alokasi memori dari data normal. Misalnya, default dari tipe data real adalah 4 byte, sedangkan bilangan complex menggunakan 4 byte untuk bilangan nyata, dan 4 byte untuk bilangan imajiner. Contoh,
complex, parameter :: a = (1.5,5.5) ! (bilangan nyata, bilangan imajiner)
Character, yang ini juga pasti familiar. Bedanya, di Fortran perlu dialokasikan terlebih dahulu panjang karakternya. Karakter ini bisa ditandai dengan satu atau dua tanda petik, seperti “KARAKTER” atau ‘KARAKTER’. Contoh,
character(len=20, kind=1), parameter : : tulisan_romawi = 'KARAKTER' character(len=20, kind=kanji) :: tulisan_kanji !yang ini, tidak semua compiler support, hehe.
Pada karakter ini, kita juga bisa menyingkat characer(20) :: tulisan_romawi
. Secara default, kind=1
.
Logical, merupakan tipe data yang berisi true/false. Pasti juga familiar. Contoh,
logical, parameter :: a = .true.
2. Tipe Data Turunan
Sering kali kita ingin memanipulasi objek yang lebih rumit dari sekedar data intrinsik. Misalnya, kita ingin memanipulasi objek yang memrepresentasikan personal. Contoh,
program tipeturunan type orang character(5) :: nama real :: umur integer :: nim endtype orang type(orang) :: saya,maneh !sedikit main-main saya = orang('cica',22.05,114) maneh = orang('unop',19.79,75) ! !misalnya, cari beda umur a=saya%umur-maneh%umur 700 format(a,a,a,a,a,f5.2,a) write(*,700)'beda umur ',saya%nama,' dan ',maneh%nama,' adalah',a,' tahun' endprogram tipeturunan
Nah, outputnya, kira-kira berbunyi “beda umur cica dan unop adalah 2.26 tahun”. Selanjutnya, kita juga bisa membuat turunan yang komponennya berupa turunan, disebut juga sebagai structure constructor. Misalnya, kita akan membuat tipe data lingkaran, yang komponenya berupa posisi pusat dan jari-jari, yaitu (a,b, dan r) jadi deklarasinya seperti ini,
type titik real::x,y endtype titik !definisi lingkaran baru bisa type lingkaran type(titik) :: a,b,r endtype lingkaran type(lingkaran)::L L%a%x=1 L%a%y=5 L%b%x=2.4 L%b%y=1.5 !dan seterusnya ......
Okay, sampai di sini dulu. Semoga bermanfaat. 😉
Postingan yang cukup sadiss bagi kaum hawa.. 🙂