Struktur Program Minimal Sebuah program yang dapat dijalankan harus mempunyai sebuah program utama sedangkan bagian unit program lain dapat ditambahkan jika diperlukan (misalnya sub program: SUBROUTINE) Tiap bagian program dapat dicompile secara terpisah sebuah FUNCTION atau SUBROUTINE dapat berada dalam file yang sama dengan program utama atau terpisah
Bagian-bagian Program Sebuah file program dapat berisi bagian-bagian program Contoh file program: PROGRAM Contoh A = 5 ... END SUBROUTINE Misal READ(*,*) DATA
Pernyataan Program (Statements) Statement program: Executable Non-executable Executable Statement Perintah tindakan/ hitungan Non-executable Statement Mendefinisikan atribut data (tipe, format, dll.)
Urutan Pernyataan Program Dalam suatu program, statement program harus mengikuti tata urutan tertentu Terdapat pernyataan yang harus mengikuti, mendahului, atau sejajar (urutan dapat dibolak-balik) dengan yang lain Lihat diagram berikut
Diagram Posisi Statement
Variabel, Konstan, Nilai, Operator Tempat menyimpan nilai yang dapat berubah Konstan Tempat menyimpan nilai yang tetap Tipe Jenis variabel atau konstan Menentukan cara penyimpanan nilai dalam memori
Tipe Bilangan Text, Character, String (CHARACTER) Bulat (INTEGER) Pecah (REAL) Kompleks (COMPLEX) Text, Character, String (CHARACTER) LOGICAL (=benar atau salah) BYTE (= INTEGER*1)
Integer Variabel: Integer = Bilangan Bulat Default (kalau tidak didefinisikan) nya Simbol : didahului dengan huruf I,J,K,L,M,N Ukuran : 4 byte Dapat didefinisikan sesuai keperluan, misalnya: INTEGER*2 COUNTER Maksudnya variabel COUNTER didefinisikan sebagai integer dengan ukuran 2 byte Definisi dilakukan pada baris-baris tempat deklarasi variabel, yaitu di awal program setelah baris statement program (PROGRAM <nama program>)
Definisi Tipe : Integer Terdapat Default Setting untuk tipe variabel atau konstan (jika tidak didefinisikan) Variabel atau konstan dengan huruf awal: I, J, K, L, M, atau N : INTEGER*4 Selain di atas: REAL*4 INTEGER Default: INTEGER*4 (4 byte) Contoh pernyataan definisi variabel: INTEGER*2 nomor, tabel(2,n) Artinya: varaibel nomor dan tabel adalah bilangan bulat dengan ukuran 2 byte
Definisi Tipe : Real REAL Default: REAL*4 (4 byte) Contoh pernyataan definisi variabel: REAL*8 data(i,j), jumlah Artinya: variabel data dan jumlah adalah bilangan pecah dengan ukuran 8 byte Variabel data adalah array variable dengan dimensi 2 yaitu dengan nomor i dan j
Definisi Tipe : Bilangan Kompleks COMPLEX Bilangan kompleks mempunyai bagian nyata dan khayal a = b + i c, artinya variabel bilangan kompleks a terdiri dari variabel bagian nyata b dan bagian khayal c, i adalah akar -1 Default: COMPLEX*8 (4 byte) Contoh pernyataan definisi variabel: COMPLEX potensial Artinya: variabel potensial adalah bilangan kompleks dengan ukuran 8 byte
Definisi Tipe : Karakter CHARACTER Tempat menyimpan (variabel atau konstan) yang berisi rangkaian huruf dan simbol Nama_File = ‘data.txt’ Variabel Nama_File tersebut di atas harus bertipe CHARACTER, minimal CHARACTER*8 (mewadahi 8 huruf) Default: CHARACTER*1 Contoh pernyataan definisi variabel: CHARACTER*12 Nama_File Artinya: variabel Nama_File adalah rangkaian huruf dengan ukuran maksimum 12 huruf
Definisi Tipe : Lojik LOGICAL Tempat menyimpan (variabel atau konstan) yang hanya mempunyai 2 kemungkinan nilai benar atau salah Contoh : Lampu_menyala = .TRUE. Identik artinya dengan : Lampu_mati = .FALSE. Perhatikan bahwa dua buah titik selalu mengapit kata TRUE atau FALSE
Nilai atau Value Merupakan isi variabel atau konstan Disimpan ke dalam variabel atau konstan (value assignment) dengan cara seperti contoh di bawah A = 5.0 Artinya: nilai 5.0 disimpan dalam variabel A Konsekuensi: A bernilai 5.0 A = A + 7.0 Artinya: nilai 7.0 ditambah nilai yg disimpan dalam variabel A sebelumnya, kemudian hasilnya disimpan dalam variabel A lagi (overwriting)
Operator : jenis-jenis Merupakan operator matematika seperti +, -, x, :, pangkat, log, ‘dan’, ‘atau’, dll. Dalam sebuah assignment selalu di ruas kanan. Contoh: a = 5.0 * b c = a / 6.0 d = c**1.5 f = (x + 7.0)/d**0.5 Simbol * digunakan untuk perkalian, / untuk pembagian, ** untuk pangkat
Operator : urutan eksekusi Urutan eksekusi: **, * atau /, kemudian + atau -, jika diinginkan lain harus diapit tanda kurung lengkung, ( ) Dapat diletakkan langsung sebagai argumen input suatu fungsi. Contoh: WRITE(*,*) a+b CALL Hitung(t, c/d) b = luas_lingkaran(2*jari_jari1) sudah = periksa(lampu_mati .AND. keran_mati)
Operator untuk LOGICAL Selalu diapit dua titik. Contoh: .AND. .OR. .NOT. Urutan eksekusi: .NOT., .AND., kemudian .OR., jika diinginkan lain harus diapit tanda kurung lengkung, ( ) Yg lain .EQ. atau .EQV. : equivalent .XOR. atau .NEQV. : exclusive .OR.
Pembandingan Lebih besar: .GT. IF (A.GT.B) THEN C=F+T Lebih kecil: .LT. Sama: .EQ. Lebih besar atau sama dengan: .GE. Lebih kecil atau sama dengan: .LE.
Penulisan Lis Program (Program Code) Pernyataan program pada: kolom 7 s/d 72 Tanda baris lanjutan pada kolom 6 Nomor / label pernyataan pada kolom 1 s/d 5 Tanda baris catatan/ komentar, C pada kolom 1 Nomor pernyataan biasanya ditulis pada kolom 73 ke atas
Penghentian hitungan Perintah penghentian hitungan adalah STOP Digunakan untuk mengakhiri program utama, diletakkan sebelum END Pada subprogram, SUBROUTINE dan FUNCTION, sebelum END selalu didahului perintah RETURN untuk mengembalikan execution pointer ke pemanggilnya STOP dapat diletakkan di bagian lain yang dikehendaki untuk menghentikan hitungan / langkah kerja komputer
Perintah (Command) : I/O Input/Output READ(.[,.,.]) var [,var,.,.,...] READ(1) test untuk file BINARY READ(3,*) data untuk file ASCII READ(21, 35, END=99) nomor, data(i) WRITE(.[,.,.]) var [,var,.,.,...] PRINT ., var [,var,.,.,...]
Perintah (Command) : Format Input/Output label FORMAT( ) Untuk menetapkan bentuk data I/O WRITE(*,5) data 5 FORMAT(‘Hasil =‘, F10.2) Bilangan bulat I6 artinya: disediakan 6 kolom Bilangan pecah F10.2 artinya: disediakan 10 kolom dengan 2 angka setelah tanda desimal
Perintah (Command) : Kondisional Conditional IF (logical var) THEN statement IF (logical var) THEN Statements END IF ELSE
Perintah (Command) : ELSE IF Conditional IF (logical var) THEN Statements ELSE IF (logical var) THEN END IF
Perintah (Command) : Select Case Conditional SELECT CASE var CASE value Statements END SELECT
Perintah (Command) : Loop - Iterasi DO label var = value,value[,value] statements label CONTINUE atau END DO
Resume FORTRAN Struktur Program (unit : utama, sub, data blok) Statement dan urutannya Variabel, konstan, nilai, operator Tipe Var.: integer, real, character, logical Operator: jenis dan urutan eksekusi Penulisan program Perintah-perintah I/O, format, kondisional,iterasi
Sampai di sini dahulu