pelatihan fortran
TRANSCRIPT
Pelatihan fortran
JURUSAN TEKNIK SIPIL 2014 / 2015
STRUKTUR PROGRAM
FORTRAN
STRUKTUR DARI PROGRAM FORTRAN DIBAGI MENJADI 5
BAGIAN KOLOM DAN TIAP-TIAP BARIS DI DALAM
PROGRAM DAPAT BERISI :
1) METACOMMAND
2) KOMENTAR
3) STATEMENT
4) SAMBUNGAN DARI STATEMENT BARIS SEBELUMNYA
STRUKTUR PROGRAM
FORTRAN
CARA PENULISAN PROGRAM FORTRAN 77
Program Komp.FORTRAN Ditulis/diketikpd editor melalui media layar monitor yg dibagi menjadi 80 kolom dan setiap kolom berisi satu danhanya satu karakter.
……
72
Baris
8071871 62 5 Number kolom
……………………….
Rincian Penggunaan Kolom :1. Pernyataan ditulis pd kolom 7÷ 72 dan dimulai tidak harus pd
kolom 72. Bila pernyataan melebihi kolom 72, maka harus disambung dgn salah
satu jenis karakter pd kolom 6.Maks : 19 Baris3. Kolom 1÷ 5 dipakai untuk menulis nomer label pernyataan4. Kolom 73÷ 80 todal diproses oleh komputer.Biasanya dimanfaatkan
untuk menulis urutan baris program5. Bila kolom 1 diisi kar.huruf c/*, maka kolom 2÷ 80 tidak dieksekusi
shg dpt digunakan sbg tempat menulis komentar/keterangan
CARA PENULISAN PROGRAM MS Power Station 4.0
130
Baris
132871 62 5 kolom
………………….
Ketentuan :1. Maximum Karakter dalam satu baris 132 karakter2. Dalam satu baris boleh terdapat lebih dari satu pernyataan, dipisahkan
oleh semicolon (;) tapi diusahakan satu pernyataan saja.3. Bila karakter bersambung dalam beberapa baris, digunakan tanda (&)
seperti :PRINT *, “masukkan nilai ketinggian (m) dan &
&masukkan nilai kecepatan (m/det)”4. Character setelah tanda (!) dianggap sebagai komentar
Integer : Axial ! Nilai axial pada kolom A(40x60)
131
ELEMEN DARI PROGRAM
FORTRAN ELEMEN-ELEMEN YANG MEMBENTUK PROGRAM :
1) METACOMMAND ATAU COMPILER DIRECTIVE SIFATNYA ADALAH
OPTIONAL (TIDAK HARUS ADA). METACOMMAND DIGUNAKAN JIKA
INGIN BERKOMUNIKASI DENGAN COMPILER MENGANAI INFORMASI-
INFORMASI TERTENTU
2) KOMENTAR DAPAT BERUPA TULISAN BEBAS APAPAUN YANG BERGUNA
UNTUK MEMBERI KETERANGAN PADA PROGRAM, SEHINGGA
MEMUDAHKAN UNTUK MEMBACA PROGRAM TERSEBUT.
3) STATEMENT MERUPAKAN INTI DARI PROGRAM YANG BERUPA INSTRUKSI-
INSTRUKSI KEPADA KOMPUTER. LOGIKA PROGRAM DALAM BENTUK
STATEMENT KEPADA COMPILER UNTUK DIPROSES.
SUATU STATEMENT DAPAT DIBENTUK DENGAN ELEMEN-ELEMEN SEBAGAI
BERIKUT :
1) KONSTANTA
2) OPERATOR
3) UNGKAPAN
4) NAMA
ELEMEN DARI PROGRAM
FORTRAN
METODOLOGI PENYELESAIAN
MASALAH TEKNIK
MODELLING
DISKRIPSI
MASALAH
ANALISIS
MATEMATIKA
ANALISIS
NUMERIK
ANALISIS
INFORMATIKA
PEMROGRAMAN DAN EKSEKUSI
ALGORITMA
FLOW CHART
EDITING, COMPLING,
RUNNING
ALGORITMA
PROSEDUR PEMECAHAN MASALAH DALAM BENTUK
VERBAL ( KALIMAT ) YANG BERSIFAT BERURUTAN
SELANGKAH DEMI SELANGKAH.
PERSYARATAN YANG HARUS DIPENUHI :
• SETIAP LANGKAH HARUS BERUPA INSTRUKSI YANG
DAPAT DILAKSANAKAN.
• LANGKAH HARUS TERTENTU, JELAS DAN
BERURUTAN.
• MEMPUNYAI AKHIR / TERMINAL.
• BEBAS DARI BAHASA PEMROGRAMAN SEHINGGA
DAPAT DITERJEMAHKAN KEDALAM BAHASA
APAPUN.
FLOW CHART
DIAGRAM YANG MERUPAKAN REPRESENTASI DARI
ALGORITMA AGAR MUDAH DIBACA DAN SETIAP
ORANG MEMPUNYAI INTERPRETASI YANG SAMA
TERHADAPNYA.
DIAGRAM PEMBANTU UNTUK MEMBUAT DAN
MEMERIKSA ALGORITMA YANG BENAR.
DINYATAKAN DENGAN SIMBOL SIMBOL YANG
TELAH DISEPAKATI SECARA INTERNASIONAL (
STANDART ).
SIMBOL-SIMBOL YG DIGUNAKAN DIBUAT OLEH IBM.
FLOW CHART
1. Anak Panah : Menyatakan Arah Proses
Kebawah Keatas Kekiri Kekanan
2. Bulat Telor : Tanda Mulai / Selesai
Start
3. Jajaran Genjang : Pernyataan Masukan / Keluaran ( Input / Output )
FLOW CHART
4. Persegi Panjang : Pernyataan Proses / Ekspresi
5. Belah Ketupat : Pernyataan Kontrol/Pengujian/Pengambilan Kptsn
6. Segi Enam Tak Beraturan : Menyatakan Persiapan ( Inisialisasi ) /Pernyataan Berulang ( Looping )
FLOW CHART
7. Segi Empat : Pernyataan Subprogram
8. Lingkaran Kecil : Tanda Sambungan / Label
9. Potongan Kertas : Keluaran yg dicetak oleh Printer
ALGORITMA & FLOWCHART
CONTOH :
CARILAH KONVERSI SUHU DARI SKALA CELCIUS
KEDALAM SKALA REAMUR ( R ) DAN FAHRENHEIT ( F ) ?
ANALISIS :
RUMUS KONVERSI : R = 4 C / 5 ;
F = 9 C / 5 + 32
ALGORITMA :
1. MULAI
2. BACA DATA C
3. HITUNG R = 4 C/5 ; F = 9 C/5 + 32
4. TULIS C, R, F
5. SELESAI
MULAI
BACA
C
R = 4 C / 5
F = 9 C / 5 + 32
TULIS
C, R, F
SELESAI
ALGORITMA & FLOWCHART
SOAL :
BUATLAH TABEL SUHU DALAM SKALA REAMUR
DAN FAHRENHEIT U/ HARGA- HARGA
CELCIUS MULAI DARI 5o S / D 90o DENGAN
LAJU KENAIKAN 5o ?
ANALISIS :
RUMUS KONVERSI : R = 4 C / 5 ; F = 9 C / 5 +
32 ; HARGA AWAL C = 0. ; LAJU KENAIKAN C
= C + 5
ALGORITMA :
1. MULAI
2. AMBIL C = 0.
3. HITUNG C=C+5 ; R = 4C/5 ; F = 9C/5+32
4. TULIS C, R, F
5. UJI APAKAH “ C < 90 “, APABILA YA
KEMBALI KE 3, BILA TIDAK KE 6.
6. SELESAI
MULAI
C = 0.
YA
C = C + 5
R = 4 C / 5
F = 9 C / 5 + 32
TULIS
C, R, F
C < 90
TIDAK
SELESAI
TATA BAHASA DAN
PENULISAN KARAKTER
MACAM-MACAMNYA :
KARAKTER HURUF A ÷ Z
KARAKTER ANGKA 0 ÷ 9
KARAKTER KHUSUS :
KOSONG / SPASI
= SAMA DENGAN
+ TAMBAH
- KURANG
* BINTANG
/ GARIS MIRING
( KURUNG BUKA
) KURUNG TUTUP
, KOMA
. TITIK
‘ APOSTROP
: TITIK DUA
TATA BAHASA DAN
PENULISAN KONSTANTA / DATA
KONSTANTA INTEGER BILANGAN BULAT, MISAL : 2, 10, 151, 1245, 10456,… MAKS : ± 2147483647 ►►► TERGANTUNG PADA
KOMPILER !!!
KONSTANTA RIIL BILANGAN PECAHAN / DESIMAL, MISAL :
0.50, 1.754, 13.429,… PENULISAN : DESIMAL : 2.0 = 2. , 14.500,
…ATAU ILMIAH : 0.17E+0.1, 0.850E-11 DALAM BENTUK UMUM
( FLOATING POINT ) : E ± n = 10 ± n , MAKS : - 0.34E+39 ÷ - 0.12E-
39 DAN 0.12E-39 ÷ 0.34E+39 , KETELITIAN : 7 ANGKA.
KONSTANTA PRESISI GANDA BILANGAN PECAHAN / DESIMAL DENGAN KETELITIAN > 15 ANGKA DIBELAKANG KOMA,
PENULISAN : 0.314159265358989D+01, MAKS : - 0.18D+309 ÷ -0.22D-309 DAN 0.22D-309 ÷0.18D+309 ►►►MEMERLUKAN
MEMORI GANDA !!!
TATA BAHASA DAN
PENULISAN
KONSTANTA KOMPLEKS BILANGAN KOMPLEKS
YANG TERDIRI DARI BAGIAN RIIL DAN IMAJINER, MISAL
: - 3.5 + 0.5 i, DGN i = IMAJINER, PENULISAN : ( - 0.35
E+01, 0.5 E+00 ) = ( RIIL, IMAJINER ).
KONSTANTA LOGIKAL SIMBOL YANG MENYATAKAN
BENAR / True DAN SALAH / False , MISAL : BENAR /
True = T, SALAH / FALSE = F.
KONSTANTA KARAKTER BERISI HURUF DAN TIDAK
BERLAKU OPERASI BILANGAN, MISAL : PERMINTAAN
INPUT BERUPA NAMA FILE, MAKS : 32767 KARAKTER.
TATA BAHASA DAN
PENULISAN
VARIABEL INTEGER : MENYIMPAN KONSTANTA INTEGER, DENGAN SYARAT HURUF PERTAMA NAMA VARIABEL HARUS : I, J, K, L, M, N (MISAL : LUAS, KELILING)
BILA TIDAK DIDEFINISIKAN SECARA KHUSUS, MAKA VARIABEL YANG BERAWALAN HURUF I, J, K, L, M, N AKAN SECARA OTOMATIS DIANGGAP SEBAGAI VARIABEL INTEGER
VARIABEL RIIL : MENYIMPAN KONSTANTA INTEGER, DENGAN SYARAT HURUF PERTAMA NAMA VARIABEL HARUS : A S.D H DAN O S.D Z
OPERATOR FORTRAN
OPERATOR MATEMATIKA
OPERATOR FORTRAN
OPERATOR RELASI
CONTOH :
1. A > B A.GE.B
2. X Y X.NE.Y
OPERATOR FORTRAN
OPERATOR LOGIKA
CONTOH :
1. 15 X 123 15.LE.X.AND.X.LE.123
2. N 1 ATAU N MAX N.LE.1.OR.N.GE.MAX
OPERATOR FORTRAN
CONTOH :
SQRT = SQUARE ROOT = √
EXP = EXPONENT = e
READ = PERNYATAAN U/ MEMBACA DATA
WRITE = PERNATAAN U/ MENULIS DATA
PROGRAM = PERNYATAAN NAMA PROGRAM
OPEN = PERNYATAAN MEMBUKA FILE DATA
STOP = PERNYATAAN MENGHENTIKAN OPERASI PROGRAM
END = PERNYATAAN BATAS AKHIR PROGRAM
PERNYATAAN SPESIFIKASI
PERNYATAAN PROGRAM
PERNYATAAN YG HANYA BERFUNGSI SEBAGAI PEMBERI
NAMA PROGRAM, BERSIFAT TIDAK DIEKSEKUSI DAN
TIDAK WAJIB ADA. NAMUN AKAN BERGUNA BAGI
PENULIS / PEMBACA PROGRAM.
SYARAT : NAMA PROGRAM MAKSIMAL 6
KARAKTER DAN DIMULAI DENGAN KARAKTER
HURUF.
CONTOH : PROGRAM GAUSS NAMA PROGRAM ( GAUSS ) TERDIRI DARI 5
KARAKTER.
PERNYATAAN SPESIFIKASI
PERNYATAAN JENIS
PERNYATAAN UNTUK MENYATAKAN JENIS VARIABEL
DILUAR ATURAN BAKU.
CONTOH :
1. INTEGER CONT, ISI, X, KL 4. COMPLEX T, RA, S2
2. REAL ISI, LA, TOTAL 5. LOGICAL P, Q
3. DOUBLE PRECISION X, AL, Y
PERNYATAAN SPESIFIKASI
PERNYATAAN MASUKAN
PERNYATAAN UNTU MEMBACA DATA MELALUI MEDIA INPUT (
LAYAR MONITOR ATAU FILE )
BENTUK I : READ*, VAR1,VAR2 , …
VAR1, VAR2, . . . = NAMA VARIABEL YANG AKAN DIBACA,
TANDA * = DEFAULT ( DITENTUKAN SISTEM )
BENTUK II : READ ( I , * ) VAR1 , VAR2, …..
VAR1, VAR2, …. = NAMA VARIABEL YG AKAN DIBACA MELALUI
MEDIA INPUT DGN NOMER I, I = NOMER MEDIA INPUT ( TERGANTUNG SOFTWARE )
PERNYATAAN SPESIFIKASI
PERNYATAAN KELUARAN
PERNYATAAN UNTUK MENULIS HASIL PROGRAM PADA MEDIA
OUTPUT ( LAYAR, FILE ATAU PRINTER )
BENTUK I : WRITE ( I , * ) VAR1, VAR2, ….
VAR1, VAR2, . . . . = NAMA VARIABEL YANG AKAN DITULIS
PADA MEDIA OUTPUT DENGAN NOMER I.
BENTUK II : PRINT*, VAR1, VAR2, …
HANYA DAPAT DITERIMA SOFTWARE TERTENTU !!!
FORMAT
PERNYATAAN FORMAT
PERNYATAAN UNTUK MENENTUKAN TATA LETAK
DATA MASUKAN / HASIL KELUARAN PADA MEDIA
INPUT / OUTPUT.
FORMAT
A. FORMAT JENIS I FORMAT UNTUK DATA INTEGER
BENTUK : n I w
n = JUMLAH FORMAT I,
w = JUMLAH KOLOM YG DIGUNAKAN.
CONTOH :
AKAN DIBACA NILAI = 95 DAN MAKS = 3200
READ ( 0 , 100 ) NILAI , MAKS
100 FORMAT ( 2 I 5 )
B. FORMAT JENIS F FORMAT UNTUK DATA RIIL.
BENTUK : n F w . d
n = JUMLAH FORMAT F,
W = JUMLAH KOLOM YG DIGUNAKAN,
d = JUMLAH ANGKA DIBELAKANG KOMA.
CONTOH :
AKAN DIBACA A = 12.50 DAN F2 = 4250.65
READ ( * , 100 ) A , F2
100 FORMAT ( 2 F 7 . 2 )
FORMAT
C. FORMAT X FORMAT UNTUK MEMBERITAHU BANYAK SPASI /
ANTARA DATA YG DIBACA / DITULIS PADA MEDIA YG DIGUNAKAN.
BENTUK : n X
JUMLAH SPASI YANG DIBUTUHKAN.
CONTOH :
AKAN DIBACA PDAT = 25.5 DAN NILAI = 97257 DENGAN JARAK 3
SPASI.READ ( * , 150 ) PDAT , NILAI
150 FORMAT ( F5.1 , 3X , I5 )
FORMAT
D. FORMAT JENIS E FORMAT UNTUK DATA RIIL DGN CARA
EKSPONEN ( FLOATING POINT )
BENTUK : n E w . d
n = JUMLAH FORMAT E,
W = JUMLAH KOLOM YG DIGUNAKAN,
d = JUMLAH ANGKA DIBELAKANG KOMA.
CONTOH :
AKAN DIBACA EPS = 0.0025 EPS = 0.25E-02
READ ( 0 , 150 ) EPS
150 FORMAT ( E 9 . 2 )
FORMAT
E. FORMAT LITERAL FORMAT UNTUK MENULIS DATA LITERAL
LANGSUNG ( KATA / KALIMAT ) KE MEDIA YG DIGUNAKAN.
WRITE ( 0 , 100 ) A
100 FORMAT ( 1X , ’ NILAI A = ‘ , F4.2 )
FORMAT
PERNYATAAN PENGHENTIAN
PROGRAMPERNYATAAN UNTUK MENGHENTIKAN SEMENTARA ATAU SETERUSNYA PROSES KOMPUTASI DAN MENGAKHIRI PROGRAM.
PERNYATAAN STOP DAN END
A. STOP PERNYATAAN UNTUK MENGHENTIKAN PROSES
EKSEKUSI PROGRAM, DAPAT DILETAKKAN DIMANAPUN
DAN JUMLAHNYA DAPAT LEBIH DARI SATU.
B. END PERNYATAAN UNTUK MEMBERITAHU BATAS AKHIR
PROGRAM PADA KOMPILER, JADI BATAS AKHIR PROGRAM.
LATIHAN SOAL
HITUNG MOMEN MAKSIMUM PADA BALOK SEDERHANA
DENGAN BEBAN MERATA
Q = 1000 KG, L = 4 M
DENGAN SOAL YANG SAMA HITUNG MOMEN PADA X
= 1 M
PERNYATAAN KENDALI / PILIHAN
PERNYATAAN UNTUK MERUBAH URUTAN LANGKAH PROSES PENGGARAPAN PROGRAM.
SECARA UMUM URUTAN LANGKAH PROSES BERURUTAN BARIS PER BARIS SEHINGGA
DENGAN PERNYATAAN INI DIMUNGKINKAN MELONCAT KEMANA SAJA YG DIMINTA.
PERNYATAAN GOTO TANPA BERSYARAT
PERNYATAAN UNTUK MELONCAT LANGSUNG KE PERNYATAAN DENGAN LABEL YANG
DITUNJUK.
BENTUK : GOTO n
n = LABEL INSTRUKSI LANJUT YG HARUS
DILAKSANAKAN.
100 READ ( 5 , 10 ) A , B
C = A*B
GOTO 100
PERINTAH MELONCAT KE LABEL 100 LAGI
PERNYATAAN IF LOGIKA
Untuk membandingkan dua atau lebih var. secara logika, bila hasilnya “Ya”
pernyataan disamping dieksekusi. Bila “Tidak” maka program
menunjukkan pernyataan dibawahnya.
Bentuk : IF (ekspresi logika) pernyataan Dieksekusi bila
jawaban “Ya”-D = B**2-4.*A*C
-
IF(D.LT.0) GOTO 100
-
X1 =
X2 =
-100 STOP
END
Dieksekusi bila memang D<0
PERNYATAAN IF STRUKTURAL
Untuk mengendalikan instruksi program dengan cara terstruktur/
terorganisasi dengan mengkombinasikan pernyataan-pernyataan kendali
dasar.
A. PERNYATAAN IF-THEN-ELSE
IF (kondisi) THEN BLOK PERNYT.1
ELSE BLOK PERNYT.2
ENDIF
( kondisi ) Ekspresi Logika
-
IF(D.GT.0.) THEN
X1 =
X2 =
-
ELSE
X =
-
ENDIF
-
B. PERNYATAAN IF-THEN-ELSE IF
IF( kondisi1) THEN
BLOK PERNYT.1
ELSE
IF(kondisi2) THEN
BLOK PERNYT.2
ELSE
IF(kondisi3) THEN
BLOK PERNYT.3
ELSE
BLOK PERNYT.4
ENDIF
ENDIF ENDIF
IF( kondisi1) THEN
BLOK PERNYT.1
ELSE IF(kondisi2) THEN
BLOK PERNYT.2
ELSE IF(kondisi3) THEN
BLOK PERNYT.3
ELSE
BLOK PERNYT.4
ENDIF
-
IF(D.GT.0.) THEN
X1 =
X2 =
ELSE IF(D.EQ.0.)THEN
X =
ELSE
WRITE(*,100)
ENDIF
-
CONTOH
PERNYATAAN LOOPING DO DAN CONTINUE DAN END DO
UNTUK MENYATAKAN PERINTAH BERULANG-ULANG DENGAN CARA TERTENTU
Bentuk : DO n var = a,b,c
n = Label
var = variabel INTEGER/RIIL yang berubah-ubah dari
a÷b dengan langkah c
-
K = 1
DO 10 I=1,5,K
KA = 2*I
10 WRITE(*,*)’I=’,I,’K=’,KA
-
Atau : -K = 1
DO 10 I=1,5,K
KA = 2*I
WRITE(*,*)’I=’,I,’K=’,KA
10 CONTINUE
Atau
K = 1
DO 10 I=1,5,K
KA = 2*I
WRITE(*,*)’I=’,I,’K=’,KA
10 END DO
CONTOH
CATATAN
- Tidak boleh meloncat masuk ke dalam suatu unit DO – END DO
- Namun diperbolehkan meloncat keluar dari
suatu unit DO – END DO
LATIHAN SOAL
MEMBUAT BAHASA FOTRAN UNTUK MENGHITUNG REAKSI
DAN MOMEN MAKSIMUM PADA BALOK JEPIT-BEBAS ATAU
SENDI-ROLL DENGAN BEBAN MERATA