ELEMEN DASAR PROGRAM FORTRAN Kuliah ke-2
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
1
ELEMEN DASAR PROGRAM FORTRAN Metacommand Komentar program
debug c Program FORTRAN c menghitung nilai C = A + B Nama Verb
Format tampilan
A=1.0 B=12.0 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: Metacommand atau kompiler direktive yang bersifat optional. Komentar program, yang berupa tulisan bebas dari keterangan sebuah program. Berfungsi sebagai dokumentasi program. Statement, yang merupakan sekumpulan perintah dasar dari program. 4
2
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
3
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
4
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). Nama akan berisi ABC Contoh : Nama = ‘ABC’ Konstanta Logika Konstanta logika digunakan untuk memeberi suatu nilai logika, yaitu .TRUE. untuk logika benar dan . FALSE. untuk logika salah. 10
5
PROGRAM FORTRAN Dalam Fortran terdapat 3 operator yaitu operator aritmatika (arithmatic operator), operator hubungan (relational operator) dan operator logika (logical operator).
Operand ** * / + -
Keterangan Perpangkatan Perkalian Pembagian Penjumlahan Pengurangan
Hirarki 1 2 2 3 3
Contoh Y = X**3 C = A*B C = A/B C=A+B C=A-B 11
PROGRAM FORTRAN Tabel Operator Hubungan Operand .LT. .LE. .EQ. .NE. .GT. .GE.
Keterangan Lebih kecil dari Lebih kecil sama dengan dari Sama dengan Tidak sama dengan Lebih besar dari Lebih besar sama dengan dari
Contoh If (A .LT. B ) C=A*B If (A .LE. B ) C=A*B If (A .EQ. B ) C=A*B If (A .NE. B ) C=A*B If (A .GT. B ) C=A*B If (A .GE. B ) C=A*B
12
6
PROGRAM FORTRAN Tabel Operator Logika Operand .NOT. .AND. .OR.
Keterangan Tidak / bukan Dan Atau
Hirarki 1 2 3
Contoh If (A .NOT. 1.0) C=A*B
13
PROGRAM FORTRAN EKSPRESI Ungkapan (ekspresi) dapat berupa ekspresi aritmatika, hubungan dan logika. EKSPRESI aritmatika
hubungan
logika
CONTOH
KETERANGAN A+B C
(A+B)/C
B**2-4*A*C
B2-4AC
IF (A .LT. B) C=5.0
Jika A
IF (A .NE. B) C=15.0
Jika A<>B maka C =15
IF (A .GT. 10.0) .AND. (A .LT. 20.0) C=A*B
Jika 10
14
7
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 menjadi 2 byte ISI = 275
mendifinisikan variabel
ISI
16
8
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
9
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 : Untuk matrik N = 7 6 maka penulisan elemen-elemen matrik N adalah sebagai berikut N(1,1) = 5 , N(2,2) = 6 dst. 20
10
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
11
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
12
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
13
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
14
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
15
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 (nonexecutable statement). Non-executable statement : Statement FORMAT Statement DATA dan PARAMETER Statement spesifikasi, yaitu COMMON, DIMENSION, EQUIVALENCE, EXTERNAL, IMPLICIT, INTRINSIC, SAVE dan TYPE 32 Statement PROGRAM, FUNCTION dan SUBROUTINE
16
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, atau SUBROUTINE
FUNCTION Metacommand yang lain Statement IMPLICIT Statement FORMAT Statement spesifikasi lain
Baris komentar
Statement DATA Statement statement
fungsi
Executable Statement Statement END 34
17
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
18