Ooiijoji
Ooiijoji
MODUL I
PENDAHULUAN, PROGRAM KONDISIONAL DAN ITERASI
Tujuan Praktikum
1.1 Pendahuluan
1. Tata Cara Penulisan Program Bahasa FORTRAN
a) Struktur Penulisan
Struktur Penulisan bahasa Fortran memiliki aturan tersendiri.
1
4 5 6 7 8 72 73
Kolom 1 digunakan untuk menulis pernyataan C (comment). Semua pernyataan di
sepanjang baris itu di tidak akan dieksekusi.
Kolom 1 5 digunakan untuk label pernyataan pengulangan dan format yang berbentuk
angka.
Kolom 6 disediakan untuk tanda sambung yang menghubungan baris sebelumnya dan
baris sesudahnya. Biasanya diisi dengan karakter angka.
b) Jenis Data
Ada lima jenis data standard yang di kenal dalam bahasa Fortran seperti pada table di bawah ini.
Table 1, Deklarasi jenis data
Jenis Data
Deklarasi
Integer
Integer
Ril (presisi tunggal dan ganda)
Real, Real*4, Real*8, double precision
Kompleks
Complex
Logika
Logical
Karakter
Character*n ( 1 < n < 32767 )
Satu jenis lain yang hanya pada MS FORTRAN, yaitu jenis Record, merupakan perkembangan
mutakhir.
data numeris
data real
data alphabetis
data integer
Penjelasan
1.
2.
3.
4.
5.
Suatu proses
6.
Proses pengecekan
7.
8.
Tanda sambung
Tulis sudA
sudA
selesai
penjelasan :
mula-mula dibaca input/masukan beerupa nilai a, b, dan c kemudian dihitung sudA dengan rumus yang
telah ditentukan. Dan akhirnya mencetak hasilnya.
Tim Asisten Metode Numerik 2015 Ridho,Ikhsan, Hikari,Lucki, Chandra, Nur,
Rizki,Aderia
Statement Program
Sebuah program dapat diberi nama di awal program tersebut dengan statement program yang single.
Layout Program
Layout Program pada fortran terdiri dari 80 kolom dengan spesifikasi sebagai berikut :
Kolom
1-5
6
7-72
73-80
Penggunaan
Statemen label
Penyambung karakter atau dapat dikosongkan
Statemen FORTRAN
Tidak digunakan
Comments
Huruf C atau tanda seru (!) pada kolom 1 membuat kompiler mengabaikan tulisan pada baris tersebut
yang dapat digunakan sebagai komentar untuk memberi informasi kepada semua orang yang
membaca program tersebut.
Contoh program:
Program Program_Pertama
write(*,*)ini program pertama Saya
write(*,*)
stop
end
Program Biodata
write(*,*)'Nama
: .....'
write(*,*)'NIM
: .....'
write(*,*)'Alamat : ....'
write(*,*)'Jenis Kelamin
write(*,*)'No. Telp. :.....'
stop
end
: .....'
Program Membedakan_Bilangan_Real_dan_Integer
Tim Asisten Metode Numerik 2015 Ridho,Ikhsan, Hikari,Lucki, Chandra, Nur,
Rizki,Aderia
c
c
c
c
c
c
Kegunaan (aritmatik)
Perkalian
Pembagian
Penjumlahan
Pengurangan
Pangkat
sisa hasil pembagian
Operator
Eq
Ne
Lt
Gt
Le
Ge
Kegunaan (pembanding)
Sama dengan
Tidak sama dengan
Kurang dari
Lebih dari
Kurang dari sama dengan
Lebih dari sama dengan
Operator
=
Contoh perhitungan dengan operator aritmatik:
Kegunaan (penugasan)
Menyatakan nilai suatu
variabel
Program Waktu_tidur
integer a,b,x,y,z,t,t1
write(*,*)'Masukkan lamanya dirimu tidur dalam 1 hari (jam,menit)'
read(*,*)a,b
c
c
c
c
c
TUGAS :
1. Bagaimana bentuk flowchart untuk syntax SELECT CASE dan jelaskan serta analisis maksud dari
program diatas!
2. Kendala apa yang ditemukan pada program diatas? Beri penjelasan!
TUGAS :
1. Bagaimana bentuk flowchart untuk syntax IF-THEN-ELSE dan jelaskan serta analisis maksud dari
program diatas!
2. Apa perbedaan antara perintah ELSE dengan ELSEIF?
3. Kendala apa yang ditemukan pada program diatas? Beri penjelasan!
20
if (i.lt.10) then
pow=pow*num
i=i+1
write(*,*)num,' pangkat',i,' adalah',pow
goto 20
endif
write(*,*)'Coba lagi? (y/n)'
read(*,*)q
if ((q.eq.'y').or.(q.eq.'Y')) then
goto 10
endif
stop
end
TUGAS :
1. Bagaimana bentuk flowchart untuk dan jelaskan serta analisis maksud dari program diatas!
2. Apa perbedaan antara syntax IF-THEN-ELSE dengan IF-THEN?
3. Cobalah untuk membuat program iterasi :
X / Y dengan Y dari 1 sampai 20 dan X di masukkan dari keyboard
dengan menggunakan if-then seperti program diatas!
Kata Bijak :
MODUL II
SUBPROGRAM
Tujuan praktikum
kode yang sama secara berulang-ulang. Subprogram ada dua macam : subprogram fungsi dan
subprogram subroutine.
1. Subprogram Fungsi
Subprogram fungsi dipanggil atau dipakai dengan cara menuliskan nama fungsi disertai argument
yang sesuai. Nama argument pada pernyataan pemanggilan tidak perlu sama dengan parameter yang
dipakai pada waktu pendefinisian fungsi. Argument boleh berupa konstanta, nama peubah, ekspresi
hitungan atau nama subprogram lainnya. Yang terpenting adalah argument-argumen harus memiliki
padanan satu-satu pada dengan urutan dan tipe data parameter pada deklarasi pendefinisian fungsi.
Struktur fungsi :
FUNCTION name(argument list)
Declaration part
Subprogram statement
END
Cara pemanggilan :
Menyebutkan nama fungsi dan argumennya.
Contoh : N=name(argument list)
Contoh Program :
c
c
Program luas
pendeklarasian variabel
real a,b,c,z
pemasukan nilai
write(*,*)'Masukkan nilai a:'
read(*,*)a
write(*,*)'Masukkan nilai b:'
read(*,*)b
write(*,*)'Masukkan nilai c :'
read(*,*)c
proses menghitung
z=F(a)-F(b)+F(c)
write(*,*)'Luas daerah =',z
end
fungsi
real function F(x)
F=100/(x)
end
2. Subprogram Subroutine
Subroutine digunakan apabila diperlukan perhitungan lebih dari satu nilai selain itu juga digunakan
untuk melakukan suatu tugas tertentu.
Pernyataan pertama dalam subroutine harus diawali dengan deklarasi subroutine.
SUBROUTINE name(argument-list)
Nama suatu subroutine tidak dikaitkan dengan suatu nilai, karena nama subroutine tidak dikaitkan
dengan sutu nilai maka diperlukan suatu pernyataan khusus yaitu pernyataan Call.
CALL name(argument-list)
Subroutine tidak selalu memerlukan parameter sehingga dibolehkan tidak mempunyai parameter.
Sebaliknya fungsi paling sedikit harus memiliki satu parameter. Syntax dari subroutine subprogram mirip
dengan subprogram fungsi.
Struktur subroutine :
SUBROUTINE statement
Declaration part
Subprogram statement
END
Cara pemanggilan :
Menuliskan pernyataan Call.
Contoh : CALL name(argument list)
Contoh program :
Program Menghitung
c
Penentuan cara
Pemilihan subroutine
read(*,*)A
if(A.eq.1) then
call Tambah(a,b,c)
else if(A.eq.2) then
call Kurang(a,b,c)
else
write(*,*)'Tekan angka yang tepat'
goto 1
end if
stop
end
list subroutine
SUBROUTINE Tambah(a,b,c)
integer a,b,c
write(*,*)
write(*,*)'Anda akan melakukan operasi penambahan'
write (*,*)'Masukkan nilai a'
read (*,*)a
write (*,*)'Masukkan nilai b'
read (*,*)b
c=a+b
write(*,*)
write(*,*)'hasil jumlah =',c
stop
return
end
SUBROUTINE Kurang(a,b,c)
integer a,b,c
write(*,*)
write(*,*)'Anda akan melakukan operasi pengurangan'
write (*,*)'Masukkan nilai a'
read (*,*)a
write (*,*)'Masukkan nilai b'
read (*,*)b
c=a-b
write(*,*)
write(*,*)'hasil kurang =',c
stop
return
end
Kata Bijak :