2
Posted by Eni Tui3z
on
15:48
Virtual Lab Sem 1 2013-2014
Komputasi Numerik
1.
Jelaskan Struktur Program Fortran dan
Aturan Penulisan dalam Fortran!
Jawab :
Struktur Program Fortran :
Dibagi menjadi 5 bagian kolom dan
tiap baris di
dalam program dapat berisi :
a. Metacommand
b. Komentar
c. Statement
d. Sambungan dari statement baris sebelumnya.
Aturan Penulisan Dalam Bahasa Fortran
a.
Kolom
pertama digunakan untuk indicator metacommand atau komentar untuk metacommand
digunakan karakter “$” sedangkan jika berisi “C” atau “c” berarti baris
tersebut merupakan suatu komentar.
b.
Kolom 1- 5
digunakan sebagai label statement, berupa suatu angka yang menunjukkan letak
dari suatu statement
c.
Kolom 6
digunakan sebagai indikator sambungan dari baris sebelumnya. Baris sambungan
harus diberi indikator dengan cara meletakkan di kolom ke 6 karakter apapun
kecuali ”blank” atau ”0”. Sampai dengan baris 19 baris sambungan berturut-turut
dapat dipergunakan.
d.
Kolom 7 – 72
digunakan sebagai tempat untuk penulisan rutin program (statement) FORTRAN
e.
Kolom 73 –
80 digunakan sebagai dokumentasi yang sifatnya optional.
2. Apa perbedaan Statement
Stop dan End?
a.
Statement STOP
berfungsi menghentikan proses operasi pengerjaan program secara logika dan
cirinya penulisannya bebas, yang merupakan indikator bahwa operasi program secara logika telah
berakhir. Pada umumnya statement STOP selalu mengiringi statement END didalam
penulisan bahasa pemrograman FORTRAN.
b.
Statement END
digunakan untuk memberitahu komputer sebagai batas akhir dari statement
program. Statement END harus diletakkan paling akhir di suatu program, tidak
boleh diberi label statement dan harus berdiri sendiri tidak boleh digabung
dengan statement lainnya. Statement
End dapat berupa ENDCASE, ENDFOR,
ENDIF, ENDWHILE [unit] END.
3. Perbedaan Procedure dan Function
a.
Procedure
(Prosedur) adalah suatu bagian yang terpisah dari program dan dapat diaktifkan
di manapun
di dalam
program. Procedure dibuat jika program akan dibagi menjadi beberapa blok modul.
Procedure dibuat di dalam program dengan cara mendeklarasikannya di bagian deklarasi procedure. Kata cadangan
PROCEDURE digunakan sebagai judul dari bagian deklarasi procedure, diikuti oleh
identifier yang merupakan nama procedurenya dan secara optional dapat diikuti
lagi oleh kumpulan parameter yang diakhiri dengan titik koma.
Bentuk Umum :
Procedure
( statement 1)
( statement 1)
( statement 2)
( statement 3)
b.
Function
(Fungsi)
1)
Bersifat
otonom, sehingga nama-nama variabel di dalam subprogram boleh sama dengan
nama-nama variabel di dalam program pemanggil dengan tidak terjadi
kesalahan, oleh karena memang pada prinsipnya terpisah. Boleh melakukan operasi
READ atau WRITE, boleh memanggil subprogram yang lain.
2)
Dipanggil
langsung dengan namanya.
3)
Argumen-argumen hanya merupakan input, output
keluar melalui nama subprogram function. Sehingga akibatnya, input bisa banyak
(sebab argumen-argumen bisa banyak), tetapi output selalu hanya satu yaitu melalui nama
function.
4)
Boleh
mempunyai lebih dari satu statement RETURN, maupun juga statement STOP.
5)
Hubungan
antar argumen dalam program pemanggil dan program dipanggil adalah hubungan
atas dasar posisi, bukan atas dasar nama variabel.
6)
Argumen-argumen dapat berupa konstanta maupun
variabel baik real ataupun integer.
Bentuk umum :
FUNCTION nf(arg1,
arg2,…argm)
Keterangan :
nf : nama subprogram function, sekaligus sebagai nama variabel
outputnya, apabila namanya real maka sifat functionya real, begitu pula jika
integer
Arg1,arg2,…argm : argumen-argumen yang dikirim dari program
pemanggil ke subprogram function. Argumen boleh berupa variabel ataupun
konstanta, baik real maupun integer.
4. Program Fortran
a.
Program
Menghitung Luas Trapesium
PROGRAM
luastrapesium
real*4
A
real
s1,s2,
write(*,*)'
Program ini berfungsi untuk menghitung luas dari bangun trapesium'
write(*,*)
' masukkan nilai sisi sejajar 1 (s1)'
write(*,'(A,$)')
' s1= '
read(*,*)s1
write(*,*)
' masukkan nilai sisi sejajar 2 (s2)'
write(*,'(A,$)')
's2= '
read(*,*)s2
write(*,*)
' masukkan nilai tinggi trapesium (t)'
write(*,'(A,$)')
't= '
read(*,*)t
A=
(s1+s2)*t / 2
write(*,*)
'luas trapesium = ', A
stop
end
b.
Program Perkalian Matrik
PROGRAM matriks
IMPLICIT NONE
INTEGER :: N, M, L, I, J, K
REAL :: A(1000,1000), B(1000,1000), C(1000,1000)
WRITE(*,*) 'program perkalian matriks'
WRITE(*,*)
WRITE(*,*) 'Jumlah baris matriks A='
READ(*,*) N
WRITE(*,*) 'Jumlah kolom matriks A='
READ(*,*) M
WRITE(*,*) 'Jumlah baris matriks B='
READ(*,*) M
WRITE(*,*) 'Jumlah kolom matriks B='
READ(*,*) L
WRITE(*,*)
DO I=1,N
DO J=1,M
WRITE(*,*) 'masukan matriks A baris, I, kolom, J'
READ(*,*) A(I,J)
END DO
END DO
DO J=1,M
DO K=1,L
WRITE(*,*) 'masukan matriks B baris, J, kolom, J'
END DO
END DO
DO I=1,N
DO K=1,L
C(I,K)=0
DO J=1,M
C(I,K)=C(I,K)+A(I,J)*B(J,K)
END DO
END DO
END DO
WRITE(*,*)
WRITE(*,*) 'matriks A'
DO I=1,N
WRITE(*,*) (A(I,J),J=1,M)
END DO
WRITE(*,*)
WRITE(*,*) 'matriks B'
DO J=1,M
WRITE(*,*) (A(J,K),K=1,L)
END DO
WRITE(*,*)
WRITE(*,*) 'matriks C= matriks A kali matriks B'
DO I=1,N
WRITE(*,*) (A(I,K),K=1,L)
END DO
END
5. Hasil
output dari program yaitu:
a.
Jika
‘Masukan Banyaknya Deret = 5’
5 5 5 5
4 4 4 4
3 3 3 3
1
2 2 2
1
1 1 1
b.
Jika
‘Masukan Banyaknya Deret = 5’
5
4
3 3
2 2
1 1
2 2
3 3
4
4
5
c.
Jika ‘Masukan Jumlah Deret = 5’
1 3 5 7 9
2 4 6 8
3 5 7
4 6
5