You are on page 1of 12

FORTRAN

(FORmula TRANslation /
FORmula TRANslator)

Termasuk bahasa tingkat tinggi Orientasi ilmu pengetahuan dan teknik

Sejarah
Tertua dan pertama Th 1950, dikembangkan oleh John Backus Th 1954, referensi pertama dikeluarkan dalam bentuk laporan oleh Programming Research Group (divisi teknik terapan IBM) Th 1957, diterapkan pada komputer IBM 704 Th 1958, dikeluarkan FORTRAN II Th 1962, FORTRAN IV Th 1966, mulai standardisasi oleh American Standards Association Committee (FORTRAN 66) Th 1978, standar baru oleh American National Standard Institute (FORTRAN 77)

Struktur Program
5 kolom dimana setiap baris terdiri dari :

metacommand komentar statement sambungan dari statement baris sebelumnya

Aturan Penulisan
Kolom ke 1 komentar (metacommand) Kolom ke 1 - 5 label statement berupa angka yang menunjukkan letak statement

Kolom ke 6 sambungan statement dari baris sebelumnya Kolom ke 7 - 72 menulis statement Kolom ke 73 - 80 tidak digunakan, dapat digunakan sebagai komentar bebas

Contoh Program
$ TITLE : Contoh Program FORTRAN C Program ini untuk menunjukkan C struktur dari program FORTRAN C = 25.0 F = C * 1.8 + 32.0 WRITE (*,5) C,F 5 FORMAT (1X, F6.2, 1X, CELCIUS = , F6.2,1X, FAH RENHEIT) END Statement Indikasi baris sambungan Label statement Komentar Indikasi komentar Metacommand

Elemen Pembentuk Program

Metacommand (compiler directive) sifatnya optional, digunakan jika ingin berkomunikasi dengan compiler mengenai informasi tertentu Komentar Statement

Suatu statement dapat dibentuk dari


Konstanta Operator Ungkapan Nama Verb

Unit specifier Format specifier

Konstanta
nilai yang sudah pasti dan tidak akan berubah dalam program

Jenis Konstanta

Konstanta Numerik

Konstanta integer (bilangan bulat) 2 byte : -32767 s/d +32767 4 byte : -2147483647 s/d +2147483647 Konstanta real Single precission (ketepatan tunggal) Double precission (ketepatan ganda)

Konstanta Karakter non numerik, sebagai karakter ASCII yang ditulis dalam tanda petik tunggal Konstanta Logika logika benar dan salah

Operator
tanda operasi dalam perhitungan

Aritmatika pangkat

: ** :* :/ :+ :: .LT. : .EQ. : .NE. : .GT. : .GE.

kali bagi penjumlahan pengurangan

Hubungan Lebih kecil sama dengan Sama dengan Tidak sama dengan Lebih besar dari Lebih besar sama dengan

Logika

Tidak atau bukan Dan Atau

: .NOT. : .AND. : .OR.

Ungkapan
Aritmatika Contoh : A + B / C + D Karakter Contoh : JNSKEL = L Logika Contoh : X .AND. Y Hubungan Contoh : A .LT. B

Nama (identifier)
menunjukkan suatu variabel (variable), larik (array), fungsi (function) atau rutin bagian (subroutine) Ketentuan : 1. Maksimum 6 karakter 2. Karakter pertama harus berupa huruf 3. Tidak boleh ada spasi atau blank 4. Tidak boleh menggunakan karakter khusus

Nama Variabel
Menyimpan suatu nilai konstanta atau hasil dari suatu ungkapan

5 macam variabel
1. 2. 3. 4. 5. Variabel integer Variabel real ketepatan tunggal Variabel real ketepatan ganda Variabel karakter Variabel logika

Nama Larik
Larik (array) atau variabel berindeks digunakan untuk menyimpan beberapa nilai dalam satu larik.

Dimensi dalam Fortran : 1 - 7

Nama Fungsi
Digunakan untuk mendapatkan nilai dari fungsi tersebut

3 macam fungsi
1. Fungsi eksternal 2. Fungsi statement 3. Fungsi hakiki atau fungsi pustaka

Nama Rutin Bagian (subroutine)


Merupakan suatu unit program sendiri, ditunjukkan dengan menggunakan statement SUBROUTINE

Unit Specifier
Merupakan nomor unit alat dalam operasi input / output Berupa 1. * atau 0 alat yang digunakan berupa keyboard atau layar 2. Ungkapan integer Nilai integer selain 0 menunjukkan unit alat yang digunakan adalah file eksternal (printer atau file di disk)

Format Specifier
Menunjukkan format yang akan digunakan oleh data input atau output Berupa Label statement Nama variabel statement Ungkapan karakter *

STATEMENT
2 jenis statement, yaitu Nonexecutable statement statement yang tidak melakukan operasi Contoh : FORMAT, DATA, PARAMETER, SUBROUTINE, FUNCTION Executable statement statement yang melakukan operasi Contoh :

READ, WRITE, IF-ELSE-ENDIF, CALL, DO, GOTO, CONTINUE, ASSIGN

STATEMENT INPUT-OUTPUT
Statement untuk melakukan proses baca-tulis dalam program

Statement READ
Statement input untuk membaca data dari suatu media input Bentuk umum : READ(i,l) var1, var2, i : nomor alat input l : label format var1, var2, : nama variabel yang datanya dibaca Contoh : 11 READ(*,11)A,B,I FORMAT(2F10.2,I5)

Statement WRITE
Menuliskan isi suatu variabel pada suatu media output Bentuk umum : WRITE(i,l) var1, var2, i : nomor alat output l : label format var1, var2, : nama variabel yang datanya dibaca Contoh : 10 WRITE(*,10)A,B,C FORMAT(3F20.8)

Unit specifier
*, 1, 0 : ke layar

Statement FORMAT
Tata letak suatu data masukan pada media input atau keluaran pada media output

Data Numerik

: I, F, E

Format tipe I untuk integer Bentuk umum : nIw n : cacah format I w : banyak kolom yang dipakai oleh data jika n tidak ditulis berarti 1 Contoh : Akan dibaca NILAI = 95 110 READ(5,110)NILAI FORMAT(I5)

1 9

2 5

4 9

5 5

NILAI = NILAI =

95 95000

Format tipe F untuk real


Bentuk umum : nFw.d n : cacah format F w : banyak kolom yang dipakai oleh data d : cacah digit di belakang titik desimal Contoh : Akan dibaca A = 12.5 READ(5,250)A 250 FORMAT(F5.1) 1 2 1 3 2 4 . 5 5

Format tipe E untuk eksponential (floating point)


Bentuk umum : nEw.d

n w d

: cacah format E : banyak kolom yang dipakai oleh data : cacah digit di belakang titik desimal

Contoh : Akan dibaca VAK = 0.0025 atau VAK = 0.25 10-2 Floating point VAK = 0.25E-02 READ(5,50)VAK 50 FORMAT(E9.2) 1 2 0 3 . 4 2 5 5 6 E 7 8 0 9 2

Format tipe X
Memberitahu banyaknya ruang kosong (spasi) antar data yang dibaca atau ditulis Bentuk umum : nX n : banyaknya kolom ruang kosong (spasi) Contoh : Akan dibaca ANGKA = 25.6 dan NILAI = 45632 dengan spasi antara kedua data 3 kolom READ(*,100)ANGKA,NILAI 100 FORMAT(F5.1,3X,I6) 1 2 2 3 5 4 . 5 6 1 2 4 3 5 4 6 5 3 6 2

Format Campuran
Data tipe I, F, E ditulis pada satu kartu Contoh : Akan dibaca BIL = 0.0025, NO = 1250 dan NU = 7.5 READ(5,150)BIL,NO,NU 150 FORMAT(E9.2,I5,2X,F5.3) 1 2 0 3 . 4 2 5 5 6 E 7 8 0 9 2 1 2 1 3 2 4 5 5 0 1 7 2 . 3 5 4 5

Format H
Untuk menuliskan data literal langsung dari program ke printer Bentuk umum : nHxxxx. n : banyaknya data literal yang akan ditulis ke printer xxx.. : data literal yang akan ditulis ke printer sebanyak n Contoh : A = 4.5 WRITE(6,200)A 200 FORMAT(1X,10HNILAI A = ,F5.2) STOP END 1 N 2 I 3 L 4 A 5 I 6 7 A 8 9 = 0 1 2 4 3 . 4 5 5

Format Literal
Untuk menuliskan data literal langsung dari program ke printer Bentuk umum : XXXXX. : tanda format literal XXX. : data-data literal yang akan ditulis ke printer Contoh : A = 4.5 WRITE(6,200)A 200 FORMAT(1X,NILAI A = ,F5.2) STOP END 1 N 2 I 3 L 4 A 5 I 6 7 A 8 9 = 0 1 2 4 3 . 4 5 5

CARRIAGE CONTROL
Untuk mengatur jarak baris-baris penulisan pada printer Terletak pada kolom 1 tiap baris Bentuk umum : 1 0 + / : loncat ke halaman baru : loncat 2 baris sebelum menulis dan mulai menulis pada baris 2 : tidak berpindah baris (menulis pada baris yang sama) : turun satu baris A = 2.5 B = 3.5 C = 4.5 D = 5.5 E = 0.5 F = 1.5 WRITE(6,10)A WRITE(6,20)B WRITE(6,30)C WRITE(6,40)D WRITE(6,50)E WRITE(6,60)F FORMAT(1X,NILAI A = ,F4.1) FORMAT(1X,NILAI B = ,F4.1) FORMAT(1H0,NILAI C = ,F4.1) FORMAT(1X,NILAI D = ,F4.1//) FORMAT(1X,NILAI E = ,F4.1) FORMAT(1 NILAI F = ,F4.1)

Contoh :

10 20 30 40 50 60

Baris 1 : NILAI A = 2.5 ; normal carriage control : blank Baris 2 : NILAI B = 3.5 ; normal carriage control : blank Baris 3 : Baris 4 : NILAI C = 4.5 ; turun 2 baris carriage control : 0 Baris 5 : NILAI D = 5.5 ; setelah ini turun 2 baris Baris 6 : Baris 7 : Baris 8 : NILAI E = 0.5 ; penulisan ini jatuh di sini Pindah halaman baru dan cetak NILAI F = 1.5

STATEMENT STOP - END Statement STOP


Untuk menghentikan operasi program secara logika Statement END Batas akhir dari statement program Bentuk umum : STOP atau STOP c C : suatu karakter sebanyak 1 s/d 6 karakter yang akan ditulis ke printer jika statement dikerjakan

Statement Kontrol Untuk mengubah urutan langkah proses agar tercapai maksud dari pemrogram Urutan langkah proses dapat diperintahkan meloncat ke mana saja kita mau jika menggunakan statement kontrol

GOTO Tanpa Kondisi


Memerintahkan proses untuk meloncat langsung ke statement dengan label yang ditunjuk tanpa ada syarat yang diberikan Bentuk umum : n GOTO n

: label statement berupa angka

GOTO dengan Hitungan


Memerintahkan proses meloncat langsung ke statement dengan label nk apabila harga variabel = k Bentuk umum : GOTO(n1, n2, , nk) var Aturan : n1, n2, nk merupakan label statement berupa angka boleh tidak urut / sama harga variabel k dan variabel 0 harga variabel harus telah ditentukan sebelum program sampai statement ini Setiap nomor statement yang ada dalam program dapat dipergunakan dalam GOTO dengan hitungan kecuali nomor statement untuk format

Statement IF
Digunakan untuk menyeleksi suatu kondisi atau syarat dan proses akan melakukan tindakan tertentu bila kondisi yang diseleksi benar dan melakukan tindakan yang lainnya bila tidak benar

1. IF Hitungan
Untuk mencetak isi suatu variabel / hasil suatu pernyataan hitungan apakah negatif, nol atau positif . Dari hasil cek, program loncat ke nomor n1, n2, n3 Bentuk umum : IF (pernyataan) n1, n2, n3 pernyataan : hitungan (real, integer) n1, n2, n3: label statement Aturan : n1, n2, n3 dapat berupa dua buah yang sama tetapi tidak boleh semua sama Jika harga variabel atau hasil pernyataan hitungan < 0 (negatif) program loncat ke n1, hasil pernyataan hitungan = 0 (nol) program loncat ke n2, hasil pernyataan hitungan > 0 (negatif) program loncat ke n3

2. IF Nalar
Membandingkan dua atau lebih variabel secara nalar Bentuk umum : IF (ekspresi) statement

Statement DO
Memerintahkan untuk menjalankan deretan perintah, berulang-ulang dengan cara tertentu Bentuk umum : DO n var = m1,m2,m3 n var : nomor statement sebagai batas akhir dari deretan yang harus diproses berulang-ulang : variabel integer / real harganya berubah-ubah mulai dari harga awal m1 ke m2

You might also like