Anum-Mat 1b-Dasar Pemrograman Komputer (Fortran) - SHR
Anum-Mat 1b-Dasar Pemrograman Komputer (Fortran) - SHR
[FORTRAN]
Metode Numerik dan Pemrograman Komputer
(MO184302)
●
Salah satu bahasa pemrograman TERTUA yang
masih digunakan hingga saat ini.
●
Why?
– Good at math and manipulation of large data sets
– Standardized by ANSI and ISO
– Fortran is the dominant programming language
used in engineering applications.
– it’s FAST!
comment
Baris ini menunjukkan dimulainya
akhir program dg nama tertentu (optional)
program
Proses compiling akan ditunjukkan pada kolom tersebut. Jika proses gagal akan
muncul notifikasi error (warna merah).
●
Manusia dapat memahami bahasa secara baik meski
banyk kesalhan dalm peunlisan.
●
Sebaliknya, komputer (compiler) tidak sepengertian itu
●
Program code harus mengikuti peraturan penulisan
bahasa fortran.
●
INTEGER = angka diskrit, eg: -1, 30, +2
●
REAL = angka yang berbentuk decimal ataupun
exponential, eg: -3.462, -.12, .58, 7e3, -4.1e2, 6.3e-3
●
CHARACTER = semua karakter yang berada dalam
double/single quote ‘a text’ (6 karakter, spasi dihitung)
●
LOGICAL = .true. , .false.
●
COMPLEX = bilangan kompleks
●
INTEGER = default (i - n)
●
REAL = default (a-h, o-z)
●
Semua variabel secara default dianggap sebagai integer/real
sesuai huruf pertama pada namanya.
●
Misal: j_12 (integer), x3 (real)
●
Kecuali jika di awal code dicantumkan :
IMPLICIT NONE
●
Maka nama variable dapat kita declare tanpa mengikuti default
●
plus (+) digunakan untuk penjumlahan
●
slash (/) digunakan untuk pembagian
●
hyphen (–) digunakan untuk pengurangan/minus
●
asterisk ( * ) digunakan untuk perkalian
●
Double asterisk (**) digunakan untuk menyatakan
pangkat
●
period ( . ) digunakan sebagai decimal point
➢
.LT. meaning < (less than)
➢
.LE. <= (less than or equal to)
➢
.GT. > (greater than)
➢
.GE. >= (greater than or equal to)
➢
.EQ. = (equal to)
➢
.NE. ≠ (not equal to)
unit format
Metode Numerik dan ProKom 13
IF
➢
Format umum→ if (logical expression) action
Jika logical expression .TRUE. , maka action akan
dieksekusi. Contoh,
if(a.gt.0) b=a*5
➢
Bentuk lainnya:
if(a.gt.0) b=a*5 else b=a+10
if(a.gt.0) then
b=a*5
else
b=a+10
end if
Metode Numerik dan ProKom 14
GO TO
➢
Perintah GO TO atau GOTO digunakan untuk
menentukan statement dengan label tertentu yang
akan di-eksekusi berikutnya. Contoh,
if(a.gt.0)goto 10 else goto 20
10 b=a+4
20 b=a*3
➢
Format: if(e)s1,s2,s3
e: dapat berupa variabel integer, real, atau lainnya.
s1, s2, s3: label statement yang dieksekusi jika
e<0, e=0, e>0
➢
Contoh:
if(a*b) 10,20,20
10 c=1
20 c=2
➢
Rasionalisasi:
• Digunakan jika suatu statement digunakan berkali-kali
• Mengurangi kompleksitas code yg panjang
➢
Contoh, program complicated
a=1
if(a.gt.0) b=f(a)/2
end
function f(x)
f=x+2
end Metode Numerik dan ProKom 17
subroutine & function
➢
Contoh (2),
program complicated
a=1
call sub(a,c)
if(a.gt.0) b=c/2
end
subroutine sub(x,y)
y=x+2
end