Professional Documents
Culture Documents
(FORmula TRANslation /
FORmula TRANslator)
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 :
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
Metacommand (compiler directive) sifatnya optional, digunakan jika ingin berkomunikasi dengan compiler mengenai informasi tertentu Komentar Statement
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
Hubungan Lebih kecil sama dengan Sama dengan Tidak sama dengan Lebih besar dari Lebih besar sama dengan
Logika
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.
Nama Fungsi
Digunakan untuk mendapatkan nilai dari fungsi tersebut
3 macam fungsi
1. Fungsi eksternal 2. Fungsi statement 3. Fungsi hakiki atau fungsi pustaka
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 :
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
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 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
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