DIKTAT PENUNTUN PRAKTIKUM Fortran PDF
DIKTAT PENUNTUN PRAKTIKUM Fortran PDF
PEMOGRAMAN KOMPUTER
BAHASA FORTRAN
LABORATORIUM KOMPUTASI
JURUSAN TEKNIK SIPIL
FAKULTAS TEKNIK-UNIVERSITAS
ANDALAS PADANG
LORATORIUM KOMPUTASI
JURUSAN TEKNIK SIPIL PENDAHULUAN MODUL 1
FTUA
Tujuan
Perbekalan Praktikum
antara lain.
a. Central Processor Unit (CPU). Kegunaan utma dari CPU dalah untuk
Pendahuluan - 1
LORATORIUM KOMPUTASI
JURUSAN TEKNIK SIPIL PENDAHULUAN MODUL 1
FTUA
perintah dalam program diambil dan dieksekusi oleh CPU dari main
Pendahuluan - 2
LORATORIUM KOMPUTASI
JURUSAN TEKNIK SIPIL PENDAHULUAN MODUL 1
FTUA
Unix family merupakan perangkat lumak sistem operasi yang umum digunakan
Pemograman Komputer
level language ke bahasa mesin. Walaupun saat ini banyak perangkat lunak
yang demikian banyak tersedia, seperti C/C++, Pascal, COBOL, ADA, akan tetapi
a. Perumusan masalah.
b. Penyusunan algoritma.
Pendahuluan - 3
LORATORIUM KOMPUTASI
JURUSAN TEKNIK SIPIL PENDAHULUAN MODUL 1
FTUA
a. Perumusan Masalah
serta penjabaran masalah tersebut dalam bentuk yang lebih spesifik, yakni
dimaksud.
rumusan tersebut terlihat bahwa data masukan adalah lebar, panjang dan
tinggi. Penyelesaian persamaan V=l*p*t merupakan proses dan output adalah
volume balok.
b. Algoritma
Algoritma merupakan langkah-langkah yang harus dilakukan dalam
menyele-saikan masalah dalam butir a di atas. Langkah-langkah ini harus
sistematis dan terstruktur sedemikian sehingga penyelesaian masalah diperoleh
sesuai dengan yang diinginkan. Algoritma masalah dalam butir a di atas dapat
ditulis sebagai berukut:
1. Mulai.
2. Baca lebar, panjang dan tinggi balok.
3. Hitung V=l*p*t.
4. Tulis volume
5. Selesai.
c. Diagram Alir
Diagram alir merupakan gambaran/notasi tentang alur (pola fikir)
program komputer yang akan dibuat. Diagram alir memegang peranan penting
Pendahuluan - 4
LORATORIUM KOMPUTASI
JURUSAN TEKNIK SIPIL PENDAHULUAN MODUL 1
FTUA
baik dalam menyusun program komputer maupun pada saat pengecekan ulang
Contoh:
mulai
Baca : lebar,
panjang, tinggi
V= l*p*t
Tulis : volume
selesai
Pendahuluan - 5
LORATORIUM KOMPUTASI
JURUSAN TEKNIK SIPIL PENDAHULUAN MODUL 1
FTUA
Pendahuluan - 6
LORATORIUM KOMPUTASI
JURUSAN TEKNIK SIPIL PENDAHULUAN MODUL 1
FTUA
Gambar/notasi untuk
6.
subprogram.
Gambar/notasi untuk
7.
memulai dan mengakhiri
proses pengulangan
Pendahuluan - 7
LABORATORIUM KOMPUTASI DASAR-DASAR
JURUSAN TEKNIK SIPIL PEMOGRAMAN MODUL 2
FTUA
KOMPUTER
Tujuan
Perbekalan Praktikum
pola berikut,
1. Untuk program utama,
<deklarasi varibel>
<inisialisasi variabel>
<executable statement>
.
STOP
END
2. Untuk subprogram,
<blok subprogram>
<deklarasi varibel>
<inisialisasi variabel>
<executable statement>
RETURN
END
Walaupun dalam bahasa fortran tidak membedakan huruf besar dan kecil, akan
Contoh : PRAKTIKUM.FOR
Coba.f
Coments (Komentar)
Komentar ini sangat penting, baik bagi yang menyusun program itu sendiri
Contoh :
write(*,*)'panjang = '
read(*,*)p
write(*,*)'lebar = '
read(*,*)l
c proses
L=p*l
c hasil
write(*,*)L
end
komentar
indikasi komentar
tipe data tertentu, seperti apa variabel itu diperlakukan dan bagaimana pola
Program yang telah disusun dalam bentuk program sumber (source code)
kompilasi
build
eksekusi
sebagai berikut :
1. Tahap kompilasi.
- atau Ctrl + F7
Dasar-dasar Pemograman Komputer - 12
LABORATORIUM KOMPUTASI DASAR-DASAR
JURUSAN TEKNIK SIPIL PEMOGRAMAN MODUL 2
FTUA
KOMPUTER
2. Build
- atau F7
3. Execute program
- klik pada [build] > [execute]
- atau Ctrl + F5
Tipe Variabel/Data
point), bilangan bulat dan rangkaian dari karakter tertentu. Penamaan variabel
adalah INTEGER untuk semua variebel yang dimulai dengan huruf I-N
dan REAL untuk semua variabel yang dimulai dengan huruf A-H,O-Z.
Statement IMPLICIT mendefinisikan tipe dari semua variable atau larik yang
huruf pertama dari nama yang disebutkan. Huruf yang sama tidak boleh
didefinisikan ulang dengan statement IMPLICIT. Variabel atau huruf yang sudah
statement type.
Disamping itu, secara lengkap tipe data yang digunakan dalam FOOTRAN-77
yakni input, proses dan output. Proses Input/Output berhubungan dengan alat
(device) I/O standar seperti keyboard, konsul (monitor), file serta periferal
harus selalu dipatuhi. Setelah itu, setiap bagian program akan dibahas.
komentar.
(integer)
3 Kolom 6 Tempat tanda sambung. Semua karakter
karankter / dan \.
Input/Output (I/O)
dan menuliskan data keluaran dari memori komputer dari dan ke periferal
dimana,
berikutnya.
Contoh penggunaan :
WRITE(*,*)Nilai A =
READ(*,*)A
WRITE(*,*)Nilai A = ,A
END
Bila prograqm dijalankan akan didapat hasil :
WRITE(*,*)Nilai A =
6 ..ditulis (berdasarkan
READ(*,*)A)
FORMAT
masukan/keluaran yang meliputi tentang tata letak, tipe dan panjang data.
pernyataan READ/WRITE
edit list Merupakan edit descriptor yang merupakan
panjang data.
Contoh penggunaan :
WRITE(6,10)A,B
10 FORMAT(2(1X,F12.5))
Edit Descriptor
Dalam Tabel 2 berikut diberikan edit descriptor yang umum digunakan dalam
FORTRAN-77.
Contoh :
I=123
WRITE(*,'(3X,I2)')I
WRITE(*,'(3X,I3)')I
WRITE(*,'(3X,I5)')I
END
123
123
123.235
Press any key to continue
Penjelasan :
F7.3 - variable dapat menyimpan nilai sebesar 7 digit termasuk koma
- maksimal 3 angka dibelakang koma
1 2 3 . 2 3 5
Tugas :
Tentukan format terbaik untuk nilai :
- 32767
- -32768
Dasar-dasar Pemograman Komputer - 21
LABORATORIUM KOMPUTASI DASAR-DASAR
JURUSAN TEKNIK SIPIL PEMOGRAMAN MODUL 2
FTUA
KOMPUTER
- 1234567
- 123.356
- 12345678.9
- 1234567993.321
- 0.3333
- -555.66666
- -36544275865.5788
- 235E24
a. Tugas dibuat dalam bentuk program dengan statement read dan
write.
b. Masing-masing nilai dideklarasikan sebagai variable dan tentukan
type dari masing-masing variable.
Tujuan
komputer.
Perbekalan Praktikum
menggunakan,
1. Operator aritmatika.
3. Proses pengulangan.
4. Penggunaan array.
5. Penggunaan subprogram.
Operator aritmatika
aritmatika dengan hirarki yang lebih rendah dapat diproses terlebih dahulu,
1. IF
IF(<ekspresi>)<statement>
harus dibandingkan.
Operator Arti
Contoh penggunaan :
write(*,'(3x,a,\)')'nilai a = '
read(*,*)a
write(*,'(3x,a,\)')'nilai b = '
read(*,*)b
end
nilai a = 5
nilai b = 3
atau .FALSE.).
Operator Arti
.NOT. tidak
.AND. dan
.OR. atau
.EQV. ekivalen
.NEQV. tidak ekivalen
Contoh penggunaan :
Write(*,'(3X,A,\)')'NILAI A = '
READ(*,*)A
Write(*,'(3X,A,\)')'NILAI B = '
READ(*,*)B
Write(*,'(3X,A,\)')'NILAI C = '
READ(*,*)C
terkecil'
TERKECIL'
End
2. Aritmatik IF
Bentuk umum :
IF (<expresion>)<slabel1>,<slabel2>,<slabel3>
contoh:
CHARACTER*15 NILAI
WRITE(*,'(3X,A,\)')'NILAI X = '
READ(*,*)X
IF(X)1,2,3
1 NILAI = 'NILAI X NEGATIF'
GO TO 4
GO TO 4
GO TO 4
4 WRITE(*,'(3X,A)')NILAI
END
3. Blok IF
Blok IF digunakan untuk pengaturan logika program yang lebih luas dan
kompleks dengan pilihan yang lebih variatif. Blok IF disusun dengan struktur
berikut.
Contoh penggunaan :
Write(*,'(3X,A,\)')'NILAI A = '
READ(*,*)A
Write(*,'(3X,A,\)')'NILAI B = '
READ(*,*)B
Write(*,'(3X,A,\)')'NILAI C = '
READ(*,*)C
If((a.lt.b).and.(a.lt.c))then
write (*,*)'nilai a yang terkecil'
else
end if
End
Hal yang perlu diperhatikan bahwa jangan mengkontrol alur program menuju
3. GOTO
mengikuti label yang ditunjukkan dalam perintah GOTO. Ada 3 jenis GOTO
a. Assigment GOTO
Bentuk umum GOTO nvar,(label1,label2,).Penyataan ini
memerintahkan agar alur program berpindah ke label yang sesuai dengan nvar.
Contoh penggunaan :
GOTO I,(10,20,30)
Contoh di atas menunjukkan bahwa jika nilai I bernilai 10, 20 atau 30, maka
b. Computed GOTO
Bentuk umum GOTO (label1,label2,),n. Pernyataan ini memerintahkan
komputer untuk melanjutkan proses sesuai dengan urutan yang diberikan oleh
n.
Contoh penggunaan :
GOTO (10,20,30),n
Jika n=3, maka proses selanjutnya mengikuti perintah yang dimulai dari label
c. Unconditional GOTO
Pola GOTO ini adalah pola yang paling sederhana dengan bentuk umum GOTO
Contoh penggunaan :
IF(A.GT.B) GOTO 100
Jika A > B, maka proses dilanjutkan ke perintah yang dimulai dari label 100.
Tujuan
Perbekalan Praktikum
logis, perintah-perintah kontrol dan logika yang dijelaskan dalam Modul 3 dapat
digunakan untuk mengulang perintah-perintah yang sama dalam program.
ini.
I=0
SUM=0.0
10 I=I+1
WRITE(*,'(3X,A,I2)')'PERULANGAN KE ',I
IF(I.LT.10) GOTO 10
END
Bila program dijalankan akan didapat hasil :
perulangan ke 1
perulangan ke 2
perulangan ke 3
perulangan ke 4
perulangan ke 5
perulangan ke 6
perulangan ke 7
Proses (Perulangan)- 31
LABORATORIUM KOMPUTASI
PROSES
JURUSAN TEKNIK SIPIL
MODUL 4
FTUA Perulangan
perulangan ke 8
perulangan ke 9
perulangan ke 10
Dari contoh diatas dapat dilihat bahwa program akan terus diproses selama
masih memenuhi syarat (I.LT.10) dan akan berhenti setelah syarat tidak lagi
terpenuhi.
1. DO CONTINUE / DO END DO
DO <label> var=n1,n2,inc
pernyataan 1
pernyataan 2
pernyataan n
<label> CONTINUE
pengontrol perulangan.
Proses (Perulangan)- 32
LABORATORIUM KOMPUTASI
PROSES
JURUSAN TEKNIK SIPIL
MODUL 4
FTUA Perulangan
penerapan berikut.
Contoh penggunaan :
DO 10 I=1,10
WRITE(*,'(3X,A,I2)')'PERULANGAN KE ',I
10 CONTINUE
END
(nested loop). Dengan demikian akan ada kalang dalam (inner loop) dan kalang
luar (outer loop) seperti diperlihatkan dalam contoh perkalian matriks berikut.
Contoh penggunaan :
DO I=1,3
DO J=1,3
WRITE(*,'(3X,A,2I2)')'PERULANGAN KE ',I,J
END DO
END DO
END
Proses (Perulangan)- 33
LABORATORIUM KOMPUTASI
PROSES
JURUSAN TEKNIK SIPIL
MODUL 4
FTUA Perulangan
perulangan ke 1 1
perulangan ke 1 2
perulangan ke 1 3
perulangan ke 2 1
perulangan ke 2 2
perulangan ke 2 3
perulangan ke 3 1
perulangan ke 3 2
perulangan ke 3 3
Pada contoh diatas, perintah end do mempunyai tujuan yang sama dengan
continue
2. DO WHILEEND DO
i=0
do while(i.lt.10)
i=i+1
write(*,'(3x,a,2I2)')'perulangan ke ',I
end do
end
Proses (Perulangan)- 34
LABORATORIUM KOMPUTASI
PROSES
JURUSAN TEKNIK SIPIL
MODUL 4
FTUA Perulangan
hal yang perlu dicatat bahwa setiap loop harus tertutup dimulai dari loop yang
Proses (Perulangan)- 35
LABORATORIUM KOMPUTASI
PROSES
JURUSAN TEKNIK SIPIL
MODUL 5
FTUA Array
Tujuan
Perbekalan Praktikum
Kontras dengan variabel tunggal, dimana hanya ada satu nilai untuk tiap
DO 10 I=1,4,1
DO 20 J=1,4,1
DO 30 K=1,4,1
A(I,J)=A(I,J)+B(I,K)*C(K,J)
30 CONTINUE
20 CONTINUE
10 CONTINUE
Proses (Array)- 36
LABORATORIUM KOMPUTASI
PROSES
JURUSAN TEKNIK SIPIL
MODUL 5
FTUA Array
(indeks) yang disediakan untuk array tersebut. Oleh karenanya, pada awal
umum digunakan.
a. Dengan DIMENSION
DIMENSION var(n1:m1,n2:m2,..,nl:ml),
maupun karakter.
dituliskan dalam satu satuan DIMENSION. Default n1, n2, dan nn adalah 1.
Jika nilai awal n1, n2, dan nn adalah 1, jumlah indeks dalam penyataan
Contoh penggunaan :
DIMENSION A(4,4),B(4,4),C(4,4)
DO 10 I=1,4,1
DO 20 J=1,4,1
DO 30 K=1,4,1
Proses (Array)- 37
LABORATORIUM KOMPUTASI
PROSES
JURUSAN TEKNIK SIPIL
MODUL 5
FTUA Array
A(I,J)=A(I,J)+B(I,K)*C(K,J)
30 CONTINUE
20 CONTINUE
10 CONTINUE
Bentuk lain dari deklarasi array adalah dengan menyatakan secara eksplisit tipe
<type data> Tipe data yang digunakan dalam array, real, integer
atau karakter.
Dengan penyataan eksplisit ini, variabel real, integer dan karakter harus
dipisahkan dalam tiap kelompoknya.
Contoh penggunaan :
REAL*8 A(4,4),B(4,4),C(4,4)
DO 10 I=1,4,1
DO 20 J=1,4,1
DO 30 K=1,4,1
A(I,J)=A(I,J)+B(I,K)*C(K,J)
30 CONTINUE
20 CONTINUE
10 CONTINUE
Proses (Array)- 38
LABORATORIUM KOMPUTASI
PROSES
JURUSAN TEKNIK SIPIL
MODUL 5
FTUA Array
Proses (Array)- 39
LABORATORIUM KOMPUTASI
PROSES
JURUSAN TEKNIK SIPIL
MODUL 6
FTUA Subprogram
Tujuan
Perbekalan Praktikum
berulang-ulang, hanya perlu disusun satu kali. Untuk selanjutnya hanya perlu
SUBROUTINE
<nm>(vr1,varn) utama>
<deklarasi varibel> .
<inisialisasi variabel> .
CALL <nm>(vra,varz)
Proses (Subprogram)- 39
LABORATORIUM KOMPUTASI
PROSES
JURUSAN TEKNIK SIPIL
MODUL 6
FTUA Subprogram
<executable statement> .
RETURN STOP
END END
subroutine subroutine
digunakan digunakan
dalam dalam program
sama dengan
vr1,varn,
akan tetapi
harus dengan
Contoh penggunaan :
Program utama
.
CALL KALI(A,B,F)
Subprogram
SUBROUTINE KALI(A,B,C)
Proses (Subprogram)- 40
LABORATORIUM KOMPUTASI
PROSES
JURUSAN TEKNIK SIPIL
MODUL 6
FTUA Subprogram
DIMENSION A(4,4),B(4,4),C(4,4)
DO 10 I=1,4,1
DO 20 J=1,4,1
DO 30 K=1,4,1
A(I,J)=A(I,J)+B(I,K)*C(K,J)
30 CONTINUE
20 CONTINUE
10 CONTINUE
RETURN
END
FUNCTION
<nm>(vr1,varn) utama>
Proses (Subprogram)- 41
LABORATORIUM KOMPUTASI
PROSES
JURUSAN TEKNIK SIPIL
MODUL 6
FTUA Subprogram
<deklarasi varibel> .
<inisialisasi variabel> .
vo=<nm>(vra,varz)
<executable statement> .
RETURN STOP
END END
ingin ingin
ditentukan. ditentukan.
vr1,varn Variabel yang vra,varz Variabel yang
digunakan digunakan
Variabel ini
tidak perlu
sama dengan
vr1,varn,
akan tetapi
harus dengan
Proses (Subprogram)- 42
LABORATORIUM KOMPUTASI
PROSES
JURUSAN TEKNIK SIPIL
MODUL 6
FTUA Subprogram
vo Variabel yang
digunakan
dalam program
utama, yang
identik dengan
nilai fungsi
dalam
subprogram
Contoh penggunaan :
Program utama
SUHUC=CELS(F)
Subprogram
C
CELS=5.0/9.0*(FAH-32.0)
RETURN
END
Proses (Subprogram)- 43
LABORATORIUM KOMPUTASI
PENGATURAN
JURUSAN TEKNIK SIPIL
MODUL 7
FTUA DATA DAN FILE
Tujuan
Perbekalan Praktikum
Seperti dijelaskan dalam Modul 1 semua data yang akan dan diproses di
CPU dibaca dari main memory komputer. Main memory hanya menyimpan data
disimpan dalam bentul file. Dalam Modul 2 juga telah disinggung bagaimana
cara membaca dan menulis data dari media monitior maupun file ke main
memory. Pada Modul 7 ini akan dijelaskan tentang perintah yang umum
pemograman komputer.
OPEN
Penyataan OPEN digunakan untuk membuka file, baik file yang telah tersedia
maupun file yang harus disediakan. Setelah file ini terbuka, maka main memory
UNKNOWN.
format.
rec-leng Panjang record yang ditunjukkan oleh bilangan bulat
ACCESS=DIRECT
Contoh penggunaan :
Open(1,file = 'output.txt')
menunjukkan
read(*,*)y
C perhitungan
z = x*y
end
nilai x : 3.5
nilai y : 66
Contoh :
- output.abc (.abc adalah file extension buatan dan hanya bisa dibuka
- asadff (tanpa file extension, hanya bisa dibuka dalam notepad atau
fortran )
Nama file penyimpanan selain ditentukan dalam listing program, juga bisa
character*4 a
read(*,*)a
open(1,file = a)
read(*,*)x
write(*,'(5x,a,\)')'nilai y : '
read(*,*)y
c perhitungan
z = X*y
c data output dalam file
close(1)
end
nilai x : 3
nilai y : 2.3
CLOSE
Penutupan file ini diperlukan untuk space dalam main memory komputer.
Bentuk umumnya adalah.
Contoh penggunaan :
CLOSE(14,STATUS=DELETE)
Tujuan
program komputer.
2. Dapat mengatur program secara efektif dan efisien.
Perbekalan Praktikum
berikut.
dalam langkah3.
dan teknologi.
Langkah 1 Gunakan editor yang tersedia untuk menyusun program tersebut, gambar berikut memperlihatkan
editor yang telah disediakan Compaq Visual Fortran. Simpan source code program tersebut sebagai
source file.
Source file
Langkah 2 Compile source dengan compiler yang tersedia (perhatikan kembali Modul 2). Jika terjadi kesalahan
berupa syntax error, kembali ke langka 1. Jika tidak terjadi kesalahan, maka compiler akan
Langkah 3 Dalam menyusun program yang besar dan kompleks, sangat disarankan untuk membagi-bagi
program dalam bentuk subprogram (perhatikan gambar di atas untuk lebih jelas). Tiap subprogram
dapat disusun dan di-compile tersediri sesuai dengan langkah 1 dan 2 di atas. Pola ini akan
memudahkan dalam melihat, menyusun maupun menguji program yang disusun. Setelah semua
subprogram telah selesai di-compile, langkah selanjutnya adalah meng-link semua file object
tersebut.
Langkah 4 Jika semuanya berjalan lancar, langkah berikutnya adalah mengeksekusi program untuk menguji
dan memverifikasi program. Jika terdapat kesalahan berupa logic error, periksa kembali source code
di langka 1.
Untuk program sederhana, pengujian dengan cara hand trace atau desk check
dapat dilakukan jika terdapat kesalahan berupa logic error. Untuk program yang
besar dan kompleks, fasilitas debugging dan tracing Compaq Visual Fortran
4. Tekan F11 berulang kali hingga panah kuning pada bagian kiri listing
atau tulis nama variable tententu yang ingin diamati pada jendela watch
8. Ulangi langkah diatas sampai menemukan kesalahan dari program.
4 7 9