Escolar Documentos
Profissional Documentos
Cultura Documentos
MODUL FORTRAN
A. Pendahuluan
Tujuan :
Perkembangan Fortran :
Fortran Singkatan Dari FORmula TRANslator, yang merupakan bahasa tingkat tinggi
Referensi pertama mengenai Fortran baru dikeluarkan dalam bentuk laporan tahun
1954 oleh Programming Research Group, suatu divisi teknik terapan dari IBM baru pada
Dibagi menjadi 5 bagian kolom dan tiap baris di dalam program dapat berisi :
1. Metacommand
2. Komentar
3. Statement
1. Konstanta 5. Verb
4. Nama
Konstanta :
Konstanta Integer (Numerik Bilangan Bulat) 2 byte berkisar antara -32767 sampai 32767
dan yang 4 byte berkisar antara -2147483647 sampai 2147483647. Kontanta Real
Positif -3.37E+38 sampai dengan -8.43E-37 Negatif Konstanta Real Ketepatan ganda
sampai dengan -4.19D-307 Negatif Konstanta Karakter (String) yang ditulis dalam tanda
Operator :
* Kali level 2
/ Bagi level 2
+ Penjumlahan level 3
- Pengurangan level 3
Hubungan :
Logika :
.AND. Dan
.OR. Atau
Ungkapan :
pangkat, kali, bagi, jumlah, kurang. Ungkapan Karakter tidak boleh menggunakan operator
aritmatik, tapi dapat berbentuk konstanta karakter atau nama variabel. Ungkapan hubungan
1. Maksimum panjangnya 1320 karakter tapi hanya 6 karakter pertama yang dibaca.
1. Variabel Integer untuk menyimpan nilai numerik bulat. Bila tidak didefinisikan, maka
harus ditunjukkan oleh nama variable yang diawali dengan huruf I, J, K, L, M atau N
2. Variabel Real ketepatan Tunggal menyimpan nilai pecahan 4 byte. Bila tidak didefinisikan
3. Variabel real ketepatan Ganda menyimpan pecahan 8 byte. Harus diawali dengan huruf
selain I,J,K,L,M,N.
4. Variabel Karakter menyimpan variabel karakter 4 byte. Kalau tidak didefinisikan dapat
5. Variabel Logika menyimpan nilai logika .TRUE. .FALSE. Diawali dengan huruf apa saja
boleh juga I, J, K, L, M, N.
Digunakan untuk menyimpan beberapa nilai dalam satu nama larik. Pada Fortran dapat
berdimensi satu, dua, tiga sampai tujuh. Bila tidak didefinisikan maka harus diawali dengan
huruf I, J, K, L, M, N.
Nama Fungsi :
Digunakan untuk mendapatkan suatu nilai dari fungsi tersebut. Dengan fungsi, nilai data
dapat dikirimkan ke fungsi dan fungsi akan memberikan hasil yang diminta. Dalam Fortran
1. Fungsi Eksternal yang dibuat sendiri oleh pembuat program dalam bentuk unit program
2. Fungsi Statement dedefinisikan tidak dalam bentuk unit program yang terpisah, tetapi
3. Fungsi Hakiki atau Fungsi pustaka yang sudah disediakan oleh fortran.
Verb adalah kata kerja perintah yang terdapat dalam statement. Hampir semua statement
2. Ungkapan Integer, yaitu nilai integer selain nilai 0 menunjukkan unit alat yang
dipergunakan adalah file eksternal (printer atau file disk). Statement OPEN
contoh : OPEN(1,File='LPT1:')
Format Specifier :
Digunakan untuk menunjukkan format yang akan dipergunakan oleh data input
ataupun output.
Statement :
suatu operasi dilakukan. Contoh : ASSIGN, CALL, CONTINUE, DO, ELSE, ELSEIF, AND,
ENDIF, GOTO, IF, PAUSE, RETURN, STOP, BACKSPACE, CLOSE, ENDFILE, OPEN,
FUNCTION SUBROUTINE.
STATEMEN FORMAT
Bentuk umum:
Kegunaan:
mengatur letak, tipe dan panjang dari data yang akan dimasukkan lewat alat input atau yang
Penjelasan:
data. Format specification ini harus ditulis dalam tanda kurung. Isi dari format
Statement FORMAT bebas diletakkan dimana saja didalam program, tetapi yang baik adalah
bila ada beberapa statement FORMAT, dapat anda kumpulkan sementara menjadi satu dan
diletakkan diujung bawah atau ujung atas program, sehingga mudah mencarinya.
Edit descriptor menunjukkan informasi mengenai letak tipe dan panjang dari masing-masing
data yang akan dimasukkan lewat alat input atau yang akan ditampilkan di alat output.
CARRIAGE CONTROL
Karakter pertama dari setiap data yang ditampilkan di layar maupun diprinter tidak
turun ditampilkan atau dicetak. Bila karakter carriage control berupa karakter:
Blank atau spasi, mempunyai efek ganti baris baru,tetapi tidak memberikan spasi.
printer).
Penjelasan:
Level.
Untuk memasukkan suatu data ke suatu variabel atau larik atau elemen dari suatu
Contoh A = 5.25
Contoh :
A(1) = 7.15
A(2) = 8.00
A(3) = 5.55
Maka larik A untuk elemen pertama berisi nilai 7.15, elemen kedua berisi nilai 8.00 dan
Contoh:
READ (*,10)
10 FORMAT (F5.2)
Bila data yang akan dimasukkan ke suatu variabel atau larik jumlahnya cukup banyak dan
sifatnya konstan, maka akan lebih baik bila digunakan statement DATA.
Banyak digunakan untuk memasukkan data konstan yang tidak begitu banyak.
STATEMENT DATA
Bentuk umum:
DATA<nlist>/<clist>/[[,]<nlist>/<clist>/]...
Penjelasan:
<nlist> merupakan satu atau kumpulan dari nama variabel, larik atau elemen larik.
<clist> merupakan satu atau kumpulan dari konstanta Jumlah konstanta untuk
masing-masing <clist> harus sama dengan jumlah dari nama variabel atau elemen
Data yang berbentuk konstanta yang akan dimasukkan ke suatu variabel harus
mempunyai tipe yang sama dengan variabelnya. Konstanta numerik harus dengan variable
numerik,konstanta karakter harus dengan variabel karakter, konstanta logika harus dengan
variabel logika. Ada beberapa cara untuk memasukkan data ke variabel dengan statement
factor Pengulang.
9
Seperti halnya data yang dimasukkan ke variabel, nilai data konstanta harus
mempunyai tipe yang sama dengan lariknya dan nama larik harus sudah disebutkan dengan
DAN TYPE)
STATEMENT DIMENSION
Bentuk umum:
DIMENSION<array>)[,<array>(<dim>]...
Kegunaan:
Mendefinisikan bahwa suatu nama yang dibentuk oleh pembuat program merupakan suatu
Penjelasan:
<dim> adalah deklarasi dimensi yang menunjukan jumlah elemen dari larik Suatu larik
maksimum dapat berdimensi sampai 7 buah dimensi & ukuran maksimum seluruh larik adalah
64 K atau 65536 byte. Kesalahan yang dideteksi oleh compiler menunjukan bahwa ukuran
larik melebihi batas 64 kilo byte. Deklarasi dimensi dari suatu larik yang menunjukan jumlah
elemen dari larik juga merupakan batas atas dari suatu dimensi dengan batas bawahnya
adalah nol.
1. Suatu konstanta integer positif tidak bertanda. Bila deklarasi dimensi berupa nilai integer
positif, maka larik yang bersangkutan mempunyai elemen dengan batas atas yang sudah pasti,
2. Suatu argument numerik integer. Bila suatu deklarasi dimensi berupa argument numeric
integer,maka jumlah elemen dari larik tersebut tidak pasti,tergantung dari nilai argument
numerik integer bersangkutan. Untuk kasus semacam ini, larik disebut dengan istilah larik
yang ukurannya dapat berubah (adjustable size array). Adjustable size array ini hanya dapat
Jika deklarasi dimensi adalah asterik (*),maka lariknya disebut dengan assumed-sizedarray
(larik dengan ukuran asumsi), yang berarti batas atas dari elemen larik tidak ditentukan,
STATEMENT INPUT/OUTPUT
1. READ
BU:
Dengan:
I : Nomor alat input, yaitu nomor yang menyatakan suatu alat input, misal: keyboard,
disk dll.
L : label FORMAT
Contoh
READ (*,11)A,B,I
11 FORMAT (2F10.2,I5)
Keterangan:
Harga-harga A, B , I dibaca memlalui alat input yang bertanda * (standar input) biasanya
I dengan FORMAT I5
1. WRITE
Dipergunakan untuk menuliskan isi suatu variabel pada suatu media output.
BU:
Dengan:
I : Nomor alat output, yaitu nomor yang menyatakan suatu alat output, misal monitor,
printer,disk
L : Label FORMAT
Contoh:
10 FORMAT(3F20.8)
Keterangan:
Harga-harga A,B,C dituliskan pada alat aoutput yang bertanda * ( standar output)
2. FORMAT
Dipergunakan untuk menentukan tata letak suatu data masukan pada media input maupun
data keluaran pada media output. Ada tiga jenis format untuk menyatakan data numeris
a. Format Tipe I
BU : nIw
Keterangan:
n = Cacah format I
Contoh:
100 FORMAT(I5,I5)
Atau
100 FORMAT(2I5)
b. Format Tipe F
BU: nFw.d
Keterangan:
n = cacah format F
Contoh:
READ(*,100) X1, X2
100 FORMAT(F4.2,F4.2)
Atau
100 FORMAT(2F4.2)
c. Format Tipe E
Tipe E dipakai untuk membaca atau menuliskan data-data REAL dengan cara
EXPONENT.
BU: nEw.d
Keterangan:
n = cacah format E
Contoh:
READ(*,100) X1, X2
100 FORMAT(E4.2,E4.2)
Atau
1
100 FORMAT(2E4.2)
d. Format Tipe X
Tipe X ini bukan untuk membaca atau menulis, melainkan hanya untuk memberitahu
banyak ruang kosong (spasi) antar data-data yang dibaca atau ditulis.
Contoh:
READ(*,100) PDAT,NILAI
100 FORMAT(F5.1,3X,I5)
e. Format Literal
BU: ‘ xxxxxxxxxx’
Contoh:
WRITE(*,100)
STATEMEN CONTROL
1. STATEMEN GO TO
a. GO TO tanpa syarat
Berfungsi memerintahkan proses untuk meloncat langsung ke statemen dengan label yang
ditunjuk.
Contoh:
C=A*B
1
GO TO 100
STOP
END
b. GO TO dengan hitungan
Statemen ini memberi perintah agar program loncat ke statemen dengan label nk apabila
- Harga var harus lebih kecil atau sama dengan m dan var ≠ 0.
- Harga var harus telah ditentukan sebelum program tiba pada statemen ini.
- Steiap nomor statemen yang ada dalam program dapat dipergunakan dalam GO TO
Contoh:
READ(*,10)N
GO TO (100,200,300)N
100 X=P*A
200 X=P*B
300 X=p*D
STOP
END
2. STATEMEN IF
- Statemen IF hitungan
- Statemen IF nalar.
a. Statemen IF hitungan adalah untuk mengecek isi suatu variabel atau hasil suatu
pernyataan hitungan, yaitu apakah negatif, nol atau positif. Dan berdasarkan hasil
1
cek yang diperoleh, program diperintahkan loncat ke nomor statemen: n1, atau n2
atau n3.
BU : IF (pr) n1,n2,n3
Dimana:
Penjelasan:
- Kalau harga variabel, atau hasil pernyataan hitungan < 0 (negatif), program loncat ke
n1. Hitungan = 0 (nol) program loncat ke n2 dan kalau hitungan > 0 (positif) program
loncat ke n3.
- N1,n2,n3 dapat dua buiah sama, tetapi tidak dapat semua sama.
statemen IF.
Contoh:
READ(*,10) A,B,C
IF(B**2-4*C)100,200,300
100 WRITE(*,110)
200 X=-B/(2.*A)
300 X1=(-B+SQRT(b**2-4*A*C))/(2.*A)
STOP
END
b. Statemen IF Nalar untuk membandingkan dua (atau lebih) variabel secara nalar,
kalau perbandingan nalar memberikan hasil “ya”, maka statemen I digarap, apabila
.OR. atau
.AND. dan
.NOT. bukan
Contoh:
WRITE(*,100)
STOP
150 WRITE(*,200)
200 FORMAT(1X,’LULUS’)
STOP
END
3. STATEMEN DO
BU : DO n var=m1,m2,m3
n : Nomor statemen dari suatu statemen yang merupakan batas akhir dari deretan
Var : Variabel integer/real yang harganya akan berubah-ubah dari suatu harga
Pada FORTRAN IV kalang DO tidak dapat diakhir dengan kontrol statemen, untuk
mengatasi ini dapat dipakai statemen CONTINUE. Sednag pada FORTARN 77 dijinkan.
Contoh:
DO 100 I =1,25
X=I**3
WRITE(*,10)X
200 CONTINUE
STOP
END
SUBPROGRAM
- subprogram FUNCTION
- subprogram SUBROUTINE
1. Subprogram FUNCTION
Sifat-sifat FUNCTION :
terjadi kesalahan.
subprogram FUNCTION.
- Boleh mempunyai lebih sari satu statemen RETURN, maupun juga statemen
STOP.
Contoh:
READ(*,10) A,B
C= TAMBAH(A,B)
WRITE(*,10)C
10 FORMAT(F8.2)
STOP
END
FUNCTION TAMBAH(X,Y)
TAMBAH=X+Y
RETURN
END
2. Subprogram SUBROUTINE
Sifat-sifat SUBROUTINE:
Contoh:
READ(*,10) A,B
TAMBAH(A,B)
STOP
END
SUBROUTINE TAMBAH(X,Y)
Z= X+Y
WRITE(*,100)Z
100 FORMAT(F8.2)
RETURN
END
1
Matematika Lanjut 2
INTEGER A,B,C
WRITE (*,'(24(/))')
READ (*,'(I2)') N
A=N
B=1
DO 10 I=1,N
DO 20 J=1,A
20 CONTINUE
DO 30 J=1,B
30 CONTINUE
WRITE (*,*)
A=A-1
B=B+2
2
10 CONTINUE
STOP
END
INTEGER A,B,C
WRITE (*,'(24(/))')
READ (*,'(I2)') N
A=N
C=N-1
B=1
DO 10 I = 1,N
DO 20 J = 1,A
20 CONTINUE
DO 30 K=1,B
30 CONTINUE
WRITE (*,'(I1)') A
B=B+2
ENDIF
A=A-1
10 CONTINUE
A=2
B=B-4
IF (N .NE. 1) THEN
DO 40 I=1,C
DO 50 J=1,A
2
50 CONTINUE
IF (C .EQ. 1) THEN
WRITE (*,'(I1)') A
ELSE
WRITE (*,'(I1,\)') A
DO 60 K=1,B
60 CONTINUE
WRITE (*,'(I1)') A
ENDIF
A=A+1
B=B-2
C=C-1
40 CONTINUE
ENDIF
STOP
END
INTEGER A,B,C
WRITE (*,'(24(/))')
READ (*,'(I2)') N
A=N
DO 10 I=1,N
B=I
DO 20 J=1,A
B=B+2
20 CONTINUE
2
WRITE(*,*)
A=A-1
10 CONTINUE
STOP
END
Keterangan :
3. Bisa dikumpulkan perkelas atau perorangan ( Nanti akan mendapatkan tanda / bukti
mengumpulkan tugas )