ELEMEN DASAR PROGRAM FORTRAN
ELEMEN DASAR PROGRAM FORTRAN
1 PROGRAM FORTRAN Mengapa dengan FORTRAN ?
FORmula TRANslation adalah bahasa pemrograman komputer tingkat tinggi yang langsung berorientasi pada permasalahan teknik, dan umum dipakai oleh para insinyur teknik sejak 1950an sampai sekarang.
Banyak kode program hidraulik yang ditulis dengan FORTRAN dan dapat kita dapatkan bebas di internet. Sehingga akan lebih memudahkan kita untuk belajar sendiri tentang Komputasi Hidraulika.
2
ELEMEN DASAR PROGRAM FORTRAN
Metacommand Komentar program debug c Program FORTRAN c menghitung nilai C = A + B
Nama Format tampilan A=1.0 B=12.0
Verb C=A+B write (*,10) C 10 format (1x,'Nilai A+B = ',f6.2) stop 'Program selesai' end Gambar 1. Contoh elemen – elemen program Fortran
3 PROGRAM FORTRAN
Elemen-elemen dasar dari suatu program FORTRAN: atau kompiler direktive yang bersifat optional.
Metacommand
, yang berupa tulisan bebas dari
Komentar program
keterangan sebuah program. Berfungsi sebagai dokumentasi program.
Statement, yang merupakan sekumpulan perintah dasar dari program.
4
PROGRAM FORTRAN
Suatu statement program dalam fortran dapat terdiri dari :
1. Konstanta
2. Operator
3. Ungkapan/ekspresi
4. Nama/identifier
5. Verb / assignment
6. Unit specifier
7. Format specifier
8. Statement
5 PROGRAM FORTRAN
Konstanta adalah nilai yang sudah pasti besarnya, dan tidak akan berubah dalam suatu program. Dalam bahasa FORTRAN terdapat berbagai konstanta yaitu konstanta numerik (numeric constant), konstanta karakter (character constant) dan konstanta logika (logic constant).
6
PROGRAM FORTRAN
Konstanta numerik terbagi atas :
Konstanta integer, yaitu semua bilangan bulat positip dan
negatif dalam rentang
- 3267 s/d +3267 : untuk integer 2 byte
- 2147483647 s/d +2147483647 : untuk integer 4 byte
7 PROGRAM FORTRAN Konstanta real , yaitu semua bilangan bulat dan pecahan yang
berada dalam jangkauan :
8.43 E-37 s/d 3.37 E+38 : bilangan positip single precision
4.91D-307 s/d 1.67D+308 : bilangan positip double precision
- 3.37 E+38 s/d –8.43 E-37 : bilangan negatif single precision
- 1.67 D+308 s/d –4.19D-307 : bilangan negatif double precision
8
PROGRAM FORTRAN Konstanta Karakter
Disebut juga dengan konstanta non numerik atau konstanta string, yang berupa sekumpulan tanda ASCII yang ditulis dalam tanda petik (apostrhope).
Contoh : Nama = ‘ABC’ Nama akan berisi ABC
9 PROGRAM FORTRAN Konstanta Karakter
Disebut juga dengan konstanta non numerik atau konstanta string, yang berupa sekumpulan tanda ASCII yang ditulis dalam tanda petik (apostrhope).
Contoh : Nama = ‘ABC’ Nama akan berisi ABC Konstanta Logika
Konstanta logika digunakan untuk memeberi suatu nilai logika, yaitu .TRUE. untuk logika benar dan . FALSE. untuk logika salah.
10
- **3
- * Perkalian
- *B
- + Penjumlahan
- - Pengurangan
- - B
If (A .GE. B ) C=A*B
Lebih besar dari If (A .GT. B ) C=A*B .GE. Lebih besar sama dengan dari
If (A .NE. B ) C=A*B .GT.
Sama dengan If (A .EQ. B ) C=A*B .NE. Tidak sama dengan
Lebih kecil sama dengan dari If (A .LE. B ) C=A*B .EQ.
.LT. B ) C=A*B .LE.
Lebih kecil dari If (A
12 PROGRAM FORTRAN Operand Keterangan Contoh .LT.
3 C = A + B
3 C = A
2 C = A /B
/ Pembagian
2 C = A
1 Y = X
Perpangkatan
Operand Keterangan Hirarki Contoh **
Dalam Fortran terdapat 3 operator yaitu operator aritmatika (arithmatic operator), operator hubungan (relational operator) dan operator logika (logical operator).
11 PROGRAM FORTRAN
Tabel Operator Hubungan
PROGRAM FORTRAN
Tabel Operator Logika
Operand Keterangan Hirarki Contoh Tidak / bukan
1 .NOT.
If (A .NOT. 1.0) C=A*B .AND. Dan
2 Atau
3 .OR.
13 PROGRAM FORTRAN EKSPRESI
Ungkapan (ekspresi) dapat berupa ekspresi aritmatika, hubungan dan logika. aritmatika A + EKSPRESI CONTOH KETERANGAN (A+B)/C B C logika hubungan IF (A .GT. 10.0) .AND. (A .LT. 20.0) C=A*B Jika 10<A<20 maka C =A * B IF (A .NE. B) C=15.0 Jika A<>B maka C =15 IF (A .LT. B) C=5.0 Jika A<B maka C =5 B**2-4*A*C B -4AC
2
14
PROGRAM FORTRAN NAMA / IDENTIFIER
Nama atau pengenal (identifier) dalam fortran dapat menunjukkan suatu variabel (variable), larik (array) dan bagian program (subroutine). Nama didefinisikan sendiri oleh pembuat program (user
defined name ). Aturan penulisan nama dalam fortran
sebagai berikut :
1. Panjang maksimum 1320 karakter 2. Karakter awal harus berupa huruf.
3. Tidak boleh ada spasi atau blank
4. Tidak boleh mengandung karakter khusus
15 PROGRAM FORTRAN Variabel Integer
Digunakan untuk menyimpan nilai integer. Bila tidak didefinisikan terlebih dahulu maka variabelinteger harus ditunjukkan oleh nama variabel yang diawali dengan huruf I,J,K,L,M dan N. Besar memory yang dibutuhkan 2 byte atau 4 byte (default). Contoh :
INTEGER*2 ISI mendifinisikan variabel
ISI menjadi 2 byte
ISI = 275
16
PROGRAM FORTRAN Variabel Real
Digunakan untuk menyimpan nilai real. Nama variabel real adalah selain yang diawali huruf I,J,K,L,M dan N, kecuali didefinisikan terlebih dahulu. Besar memory adalah 4 byte (SP) dan 8 byte (DP).
Contoh :
REAL NILAI REAL*8 NILAI mendefinisikan dalam 8 byte DOUBLE PRECISION NILAI mendefinisikan 8 byte (DP)
17 PROGRAM FORTRAN Variabel Karakter
Digunakan untuk menyimpan nilai karakter. Besar memory adalah 4 byte (default) dan dapat diubah maksimum 127 byte. Nama variabel adalah bebas diawali oleh huruf apapun.
Contoh :
CHARACTER NAMA CHARACTER*20 NAMA mengalokasikan 20 byte untuk NAMA
18
PROGRAM FORTRAN Variabel Logika Variabel logika digunakan untuk menyimpan nilai logika.
Default-nya membutuhkan memory 4 byte dan dapat diubah menjadi 2 byte. Nama variabel dapat bebas diawali huruf apapun.
Contoh : STATUS = .TRUE. LOGICAL STATUS LOGICAL*2 STATUS
19 PROGRAM FORTRAN Larik (Array)
Larik (array) atau variabel berindeks digunakan untuk menyimpan beberapa nilai dalam satu nama larik (array).
Larik mempunyai sifat yang sama dengan variabel, yaitu bila larik integer maka nama harus dimulai dengan huruf I, J, K, L, M dan N (kecuali didefinisikan).
5
8 Contoh :
7
6 Untuk matrik N =
maka penulisan elemen-elemen matrik N adalah sebagai berikut N(1,1) = 5 , N(2,2) = 6 dst.
20
PROGRAM FORTRAN Fungsi
Fungsi digunakan untuk mendapatkan suatu nilai dari fungsi tertentu. Dengan fungsi, nilai data dapat dikirimkan ke fungsi dan fungsi akan memberikan data yang diminta. Dalam fortran terdapat 3 macam fungsi :
Fungsi eksternal (external function)
Yaitu fungsi yang dibuat sendiri oleh pengguna, dalam bentuk unit program yang terpisah tetapi masih dalam satu program.
21 PROGRAM FORTRAN Fungsi statement ( statement function)
Fungsi statement didefinisikan tidak dalam bentuk unit program yang terpisah tetapi dalam sebuah statement tunggal.
Fungsi pustaka ( intrinsic function)
Adalah fungsi-fungsi yang sudah disediakan oleh fortran untuk membantu perhtiungan permasalahan tertentu.
Pengguna dapat mendefinisikan sendiri suatu fungsi pustaka dengan statement INTRINSIC.
22
PROGRAM FORTRAN Sub-routine program
Sub-routine merupakan suatu unit program tersendiri, sebagaimana fungsi eksternal. Sub-routine ini diawali oleh kata SUBROUTINE dan diikuti dengan namanya.
Contoh : SUBROUTINE AKAR (x,akarx) Nama subroutine Argumen subroutine
23 PROGRAM FORTRAN Sub-routine program
Subroutine dapat dipanggil/diaktifkan dengan menggunakan statement CALL.
Contoh : CALL AKAR (nilaix,hasil) Nilai yang dikirim ke subroutine
Nilai hasil perhitungan oleh subroutine
24
PROGRAM FORTRAN
VERB
Verb adalah kata kerja perintah yang terdapat dalam statement. Hampir semua statement FORTRAN mempunyai verb, kecuali assignment statement, yaitu :
A= B + C Verb ini menunjukan pekerjaan yang harus dilakukan oleh kompiler.
Contoh :
WRITE perintah untuk mencetak CALL perintah untuk memanggil subroutine
25 PROGRAM FORTRAN UNIT SPECIFIER
Unit specifier atau logical unit number (LUN) merupakan nomer unit alat logika yang akan dipergunakan dalam operasi input/output. Unit specifier ini digunakan pada statement I/O, yaitu statement yang berhubungan dengan operasi input/output.
Statement yang menggunakan unit specifier yaitu statement READ, WRITE dan OPEN
26
PROGRAM FORTRAN UNIT SPECIFIER
Unit specifier dapat berupa :
- atau 0, menunjukkan unit alat yang dipergunakan adalah keyboard. Jadi kalau dipergunakan pada statement WRITE maka akan ditampilkan hasilnya di layar.
Unit specifier ini tidak dapat digunakan oleh statement OPEN.
Contoh : WRITE (*,10) C
10 FORMAT (1x,'Nilai A+B = ',F6.2)
27 PROGRAM FORTRAN
Ungkapan integer, yaitu nilai integer selain 0, menunjukkan alat yang akan dipergunakan adalah file eksternal (printer atau file disk). Jika dipergunakan dengan statement OPEN maka menunjukkan sebagai berikut :
LPT1 unit alat yang digunakan adalah printer utama. CON unit alat yang digunakan keyboard / console. LPT2 unit alat yang digunakan adalah printer kedua. COM unit alat yang digunakan port communication. COM1 unit alat yang digunakan adalah COM1 dst. Nama File unit alat yang digunakan file di disk.
28
PROGRAM FORTRAN
Contoh : c menulis nilai dalam file FTCS_DIF.DAT OPEN(5, FILE= 'four_dif.dat')
Nama file di harddisk
29 PROGRAM FORTRAN FORMAT SPECIFIER
Format specifier menunjukkan format yang akan digunakan oleh data input maupun data output. Kalau dipergunakan pada statement : READ menunjukkan format dari data yang dibaca.
WRITE menunjukkan format data yang ditampilkan.
30
PROGRAM FORTRAN
Format Specifier dapat berupa :
1. Label statement, menunjukkan letak dari statemen FORMAT yang dipergunakan untuk pengaturan bentuk datanya.
2. Nama variabel integer
3. Ungkapan karakter
4. Tanda *
Contoh : READ(5,*) Bo,S WRITE(6,40) Bo,S
40 FORMAT (3x, ,'lebar = ', f6.2/3x,'kemiringan =',f6.2//)
31 PROGRAM FORTRAN STATEMENT
Statement dalam bahasa fortran dapat digolongkan ke dalam 2 bagian, yaitu statement yang dijalankan (executable
statement) dan statement yang tidak dijalankan (non- . executable statement)
- executable statement :
Non
Statement FORMAT Statement DATA dan PARAMETER Statement spesifikasi, yaitu COMMON, DIMENSION, EQUIVALENCE, EXTERNAL, IMPLICIT,
INTRINSIC, SAVE dan TYPE
32 Statement PROGRAM, FUNCTION dan SUBROUTINE
PROGRAM FORTRAN
Sedang yang termasuk dalam statement yang dijalankan oleh komputer (executable statement) adalah : Statement pengerjaan (assigment) dan ASSIGN. Statement kontrol, yang terdiri dari CALL, CONTINUE, DO, ELSE, ELSEIF, END, ENDIF, GOTO, PAUSE, IF, RETURN dan STOP. Statement input/output yang terdiri dari BACKSPACE, CLOSE, ENDFILE, OPEN, READ, REWIND, WRITE.
33 PROGRAM FORTRAN Metacommand $DO66 atau $STORAGE Statement PROGRAM, FUNCTION Meta- Baris atau SUBROUTINE command komentar yang lain Statement IMPLICIT Statement FORMAT Statement spesifikasi lain Statement DATA Statement fungsi statement Executable Statement Statement END
34
PROGRAM FORTRAN
Penjelasan :
1. Metacommand harus diletakkan paling atas sendiri, dan demikian juga untuk statement END terletak paling akhir dari sebuah program FORTRAN.
2. Statement FORMAT dapat diletakkan di sembarang tempat diantara statement IMPLICIT, statement spesifikasi lain, statement DATA, statement fungsi statement dan executable statement. Tetapi untuk statement FORMAT harus diletakkan dibawah metacommand, statement PROGRAM, FUNCTION, SUBROUTINE dan diatas END.
35 PROGRAM FORTRAN
3. Metacommand lain dapat diletakkan dimanapun, asal dibawah $DO dan $STORAGE dan diatas END.
4. Baris komentar program dapat dilakukan dengan indikasi ‘C’ atau ‘*’ pada kolom pertama dan adapt diletakkan di manapun dalam program.
36