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 dan hanya satu karakter. 1
2
5 6 7 8 ……
Number kolom
………………….
71 72
80 ……
Baris Rincian Penggunaan Kolom : 1. Pernyataan ditulis pd kolom 7 ÷ 72 dan dimulai tidak harus pd kolom 7 2. Bila pernyataan melebihi kolom 72, maka harus disambung dgn salah satu jenis karakter pd kolom 6.Maks : 19 Baris 3. Kolom 1÷ 5 dipakai untuk menulis nomer label pernyataan 4. Kolom 73 ÷ 80 todal diproses oleh komputer.Biasanya dimanfaatkan untuk menulis urutan baris program 5. 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 1
2 5
6
7 8
kolom
130 131 132
…………………. Baris
Ketentuan : 1. Maximum Karakter dalam satu baris 132 karakter 2. 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)
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 INFORMASIINFORMASI 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 INSTRUKSIINSTRUKSI 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
DISKRIPSI MASALAH
ANALISIS MATEMATIKA
MODELLING
ANALISIS NUMERIK
ALGORITMA
ANALISIS INFORMATIKA
FLOW CHART
PEMROGRAMAN DAN EKSEKUSI
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
MULAI
KEDALAM SKALA REAMUR ( R ) DAN FAHRENHEIT ( F ) ?
ANALISIS : RUMUS KONVERSI : R = 4 C / 5 ;
BACA C
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
R=4C/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.
MULAI C = 0. C= C+5 R= 4C/5 F = 9 C / 5 + 32 TULIS C, R, F
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
C < 90 TIDAK
SELESAI
YA
KARAKTER
TATA BAHASA DAN PENULISAN
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
KONSTANTA / DATA
TATA BAHASA DAN PENULISAN
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.12E39 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 )
FORMAT 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 )
PERNYATAAN PENGHENTIAN PROGRAM PERNYATAAN 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 =1M
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 D = B**2-4.*A*C IF(D.LT.0) GOTO 100 X1 = X2 = 100 STOP END
Dieksekusi bila jawaban “Ya”
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
CONTOH -
IF(D.GT.0.) THEN X1 = X2 = ELSE IF(D.EQ.0.)THEN X= ELSE WRITE(*,100) ENDIF -
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
CONTOH
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
10
K=1 DO 10 I=1,5,K KA = 2*I WRITE(*,*)’I=’,I,’K=’,KA END DO
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