PENDAHULUAN
Dalam dunia aplikasi komputer dikenal istilah hardware (mesin komputer) dan
software (program komputer). Software dibuat dengan menggunakan bahasa (bahasa
pemograman) yang bisa dimengerti oleh mesin komputer (bahasa mesin).
Bagan alir adalah diagram yang disusun untuk menyederhanakan arus logika suatu
program, khususnya untuk program-program yang rumit, dengan menggunakan
simbol-simbol yang sudah standard, antara lain :
SIMBOL PENJELASAN
Proses PERHITUNGAN
PENGECEKAN (JIKA)
Jawab :
Luas persegi panjang A = P x L
Jika diperoleh A < 0, maka ada salah memasukkan data panjang (P) atau lebar (L).
Flow chart :
Lembar kerja (worksheet) pada bahasa Fortran terdiri dari baris dan kolom. Yang
digunakan dalam penulisan program hanya dari kolom 1 s/d kolom 72, selebihnya
tidak akan terbaca oleh komputer. Aturan penulisan adalah sebagai berikut :
1. Kolom 7 s/d kolom 72 : Tempat MENULIS STATEMEN.
2. Kolom 6 : Tempat TANDA SAMBUNG. Apabila statemen lebih dari kolom
72 maka sambungan statemen ditulis pada baris dibawahnya dan diberi tanda
sambung pada kolom 6. Tanda sambung menggunakan karakter : 1 , 2 , * ,
% , @ , % , a , A , C , dll.
3. Kolom 1 s/d kolom 5 : Tempat NOMOR ALAMAT STATEMEN.
4. Kolom 73 keatas : Tidak akan diproses oleh komputer.
5. Apabila kolom 1 diberi huruf C maka tulisan yang ada kolom 2, 3, dst
tidak akan diproses oleh komputer.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 71 72 73
C C O N T O H A T U R A N
A = 1 0 . 5
B = 10 * A + A * * 3 + ... - 1 0 +
& 5 * * 3
W R I T E ( * , 5 ) B
5 F O R M A T ( F 5 . 2 )
S T O P
E N D
A. Konstanta
Konstanta ada 2 macam, yaitu konstanta INTEGER dan konstanta REAL. Konstanta
integer adalah konstanta yang tidak mengandung titik desimal sedangkan konstanta
real adalah sebaliknya.
B. Variabel
Variabel integer: untuk menyimpan konstanta integer dan huruf pertamanya adalah
huruf : I, J, K, L, M, N. Sedangkan variabel real: untuk menyimpan konstanta real
dan huruf pertamanya adalah huruf : A s/d Z kecuali I N.
C. Operator Aritmetika
D. Aturan Tambahan
1. Hal perpangkatan :
a. Variabel integer dipangkatkan variabel integer : DIPERBOLEHKAN.
Contoh : K = N**2 (benar)
2. Dua operator tak boleh ditulis berderet. Untuk mengatasi hal ini dipakai tanda
kurung.
Contoh : A = 3.5 * - 10.5 (salah)
A = 3.5 * (- 10.5) (benar)
Program yang telah dibuat pada lembar kerja disimpan (SAVE) dengan nama
sembarang dan harus diberi nama tambahan (extension name) adalah .FOR .
Contoh : RUNGEKUT.FOR. Selanjutnya pilih COMPILE, BUILD dan EXECUTE.
Pada saat proses Compile, komputer akan memberi informasi bila terdapat kesalahan
dalam penulisan program. Informasi ini dapat dibaca pada tampilan layar bawah
yang muncul pada saat proses Compiling. Informasi ini memperlihatkan nomor baris
letak kesalahan dan jenis kesalahan. Contoh tampilan kesalahan adalah sbb :
Compiling Fortran...
D:\My Documents\Bahan Kuliah\RUNGEKUT.FOR
D:\My Documents\Bahan Kuliah\RUNGEKUT.FOR(13): error FOR3852: syntax error
D:\My Documents\Bahan Kuliah\RUNGEKUT.FOR(21): error FOR3655: missing label on FORMAT
D:\My Documents\Bahan Kuliah\RUNGEKUT.FOR(49): error FOR3852: syntax error detected between G and )
D:\My Documents\Bahan Kuliah\RUNGEKUT.FOR(123): error FOR3309: undefined label 4
Error executing fl32.exe.
RUNGEKUT.OBJ - 4 error(s), 0 warning(s)
Input dan Output (I/O) biasanya menggunakan 2 statemen yaitu : I/O Statemen dan
Format Statemen.
Penjelasan :
i : nomor alat input atau output
1 : nomor alamat FORMAT statemen
var1, var2, dst : nama variabel
Contoh :
READ (8,10) A,B
10 FORMAT (2F10.2)
C=A*B
WRITE (8,20) C
20 FORMAT (F10.2)
Bila i diganti dengan tanda * , berarti data di input ataupun di output melalui
layar monitor komputer.
Bila 1 diganti dengan tanda * , maka format penulisan bisa bebas menggunakan
integer ataupun real tergantung dari macam variabel.
Contoh :
READ (*,*) A
READ (*,10) B
10 FORMAT (F10.2)
C=A*B
WRITE (*,*) C
_
_
A. Format I
Penjelasan :
n : jumlah data format I
w : banyak kolom yang dipakai oleh data
WRITE (*,10) I
10 FORMAT (I5)
WRITE (*,20) J, K, L
20 FORMAT (I4, 2I6)
_
_
B. Format F
Penjelasan :
n : jumlah data format F
w : banyak kolom yang dipakai oleh data
d : banyak digit dibelakang titik desimal
Contoh :
_
_
WRITE (*,20) B, C, D
20 FORMAT (F7.3, 2F10.4)
_
_
C. Format X
Penjelasan :
n : jumlah spasi antara data
Contoh :
_
_
WRITE (*,20) A, B
20 FORMAT (1x, F7.3, 2x, F10.4)
_
_
Penjelasan :
: tanda format literal
aaa... : pernyataan yang ditulis
Contoh :
_
_
E. Format A
Penjelasan :
n : jumlah data format A
w : banyak kolom yang dipakai oleh data
Penjelasan :
n : banyak kolom yang dipakai oleh data
var1, var2, dst : nama variabel
Contoh :
CHARACTER *20 NAMA, SODIAK
READ (*,30) NAMA, SODIAK
30 FORMAT (2A20)
atau
Contoh :
_
_
WRITE (*,10)
10 FORMAT (Panjang persegi panjang = , \)
READ (*,*) P
WRITE (*,30) ALUAS
30 FORMAT (///,Luas persegi panjang = , F5.2,//)
_
_
Contoh :
_
_
IF (A.LT.0.0) STOP
_
_
STOP
END
Penjelasan :
n : nomor alamat (label) instruksi yang selanjutnya harus dikerjakan.
Contoh :
5 READ (*,*) A,B
10 C=A*B
_
IF (C.LT.0.0) GOTO 5
_
GOTO 10
_
STOP
END
5.2. Statemen IF
IF (C.LT.0.0) GOTO 5
D=A-B
_
STOP
END
Penjelasan :
n : nomor alamat (label) yang merupakan batas akhir proses berulang
var : variabel integer atau real yang harganya akan berubah-ubah dari suatu
harga awal m1 ke harga akhir m2 dengan langkah m3.
m1 : konstanta integer atau real yang menyatakan harga awal variabel var.
m2 : konstanta integer atau real yang menyatakan harga akhir variabel var.
m3 : konstanta integer atau real yang menyatakan besar langkah.
Contoh 1 :
_
DO 10 I = 1,100,2
J=I+1
10 CONTINUE
_
STOP
END
Contoh 2 :
_
DO 10 I = 100,1,-2
J=I+1
10 CONTINUE
_
STOP
END
DO 10 I = 1,100
J=I+1
10 CONTINUE
_
STOP
END
DO 10 I = 1,100
J=I+1
DO 20 K = 1,5
L=K+1
20 CONTINUE
10 CONTINUE
_
STOP
END
DO 10 I = 1,100
J=I+1
CONTOH
DO 20 K = 1,5
SALAH
L=K+1
10 CONTINUE
20 CONTINUE
_
STOP
END
DO 10 I = 1,100
5 J=I+1
CONTOH
DO 20 K = 1,5
SALAH
L=K+1
20 CONTINUE
10 CONTINUE
GOTO 5
_
STOP
END
DO 10 I = 1,100
J=I+1
IF (J.GT.50) GOTO 5
DO 20 K = 1,5
L=K+1
20 CONTINUE
10 CONTINUE
_
5 STOP
END
Notasi matrix adalah contoh variabel yang berindex. Misalnya matrix A2x2 maka
elemen-elemennya adalah aij :
a11 a12
a21 a22
i = nomor baris
j = nomor kolom
i dan j disebut index dan karena ada dua index maka variabel A disebut variabel dua
dimensi.
Di dalam bahasa FORTRAN variabel berindex ditulis dengan cara :
A(I,J) : I dan J adalah index.
Penjelasan :
var1, var2 : nama variabel yang dinyatakan sebagai variabel ber-index.
i1 : adalah harga maksimum index ke 1 dari var1
i2 : adalah harga maksimum index ke 2 dari var1
im : adalah harga maksimum index ke m dari var1
demikian juga j1, j2, jm untuk variabel var2.
Contoh :
DIMENSION A(2,2)
DO 10 I = 1,2
DO 20 J = 1,2
READ (*,*) A(I,J)
WRITE (*,*) A(I,J)
20 CONTINUE
10 CONTINUE
STOP
END
Contoh :
DIMENSION A(2,2,2,2,2,2,2)
_
_
STOP
END
Contoh :
DIMENSION A(2,2)
CONTOH
SALAH
I=0
J = -1
WRITE (*,*) A(I,J)
_
_
STOP
END
3. Index tidak boleh melebihi nilai maksimum yang sudah dinyatakan dalam
Statemen DIMENSION.
Contoh :
DIMENSION A(2,2)
CONTOH
SALAH
I=5
J=2
WRITE (*,*) A(I,J)
_
_
STOP
END
Penjelasan :
n : nomor alat input atau output
1 : nomor alamat FORMAT statemen
var : nama variabel
i : index yang akan berjalan
m1 : harga awal implied DO loop, berupa konstanta integer maupun variabel
integer.
m2 : harga akhir implied DO loop, berupa konstanta integer maupun variabel
integer.
m3 : banyaknya langkah implied DO loop, berupa konstanta integer maupun
variabel integer.
Contoh 1. :
a. Dengan DO-CONTINUE
DIMENSION A(4)
DO 10 I = 1,4
READ (*,*) A(I)
WRITE (*,*) A(I)
10 CONTINUE
STOP
END
DIMENSION A(4)
STOP
END
a. Dengan DO-CONTINUE
DIMENSION A(2,4)
DO 10 I = 1,2
DO 20 J = 1,4
READ (*,*) A(I,J)
WRITE (*,*) A(I,J)
20 CONTINUE
10 CONTINUE
STOP
END
DIMENSION A(2,4)
STOP
END
DIMENSION A(2,4)
DO 10 I = 1,2
READ (*,*) (A(I,J), J=1,4)
WRITE (*,*) (A(I,J), J=1,4)
10 CONTINUE
STOP
END
DIMENSION A(7,7),B(7),X(7)
CHARACTER*20 DAT,HAS
WRITE (*,2)
2 FORMAT (3X,' MASUKKAN NAMA FILE DATA (?) : ',\)
READ (*,'(A20)') DAT
WRITE (*,3)
3 FORMAT (3X,' MASUKKAN NAMA FILE HASIL (?) : ',\)
READ (*,'(A20)') HAS
WRITE (*,5)
5 FORMAT (3X,' MASUKKAN JUMLAH ITERASI MAKSIMUM (?) : ',\)
READ (*,*) ITER
WRITE (*,7)
7 FORMAT (3X,' MASUKKAN TOLERASI KESALAHAN IZIN (?) : ',\)
READ (*,*) TOL
NI = N+1
RES = 0
DO 14 I=1,N
XA = X(I)
SUM = B(I)+A(I,I)*X(I)
DO 16 J=1,N
SUM = SUM-A(I,J)*X(J)
16 CONTINUE
X(I) =SUM/A(I,I)
14 CONTINUE
IF (RES.LT.TOL.OR.ITR.EQ.ITER) GOTO 22
GOTO 18
22 CLOSE (4)
CLOSE (8)
END