Anda di halaman 1dari 51

BUKU PETUNJUK PRAKTIKUM

PEMROGRAMAN KOMPUTER
Menggunakan Bahasa fortran

Paulus Setyo Nugroho, S.T., M.T.


Sanidya Nika Purnomo, S.T., M.T.
Dr. Eng. Purwanto Bekti Santoso, S.T., M.T.

LABORATORIUM KOMPUTER
PROGRAM STUDI TEKNIK SIPIL
FAKULTAS SAINS DAN TEKNIK
UNIVERSITAS JENDERAL SOEDIRMAN
TAHUN 2016

KATA PENGANTAR
Puji syukur penyusun panjatkan kepada Tuhan Yang Maha Kuasa, karena atas limpahan
rahmat dan hidayahnya, Buku Petunjuk Praktikum Pemrograman Komputer ini dapat
terselesaikan dengan baik. Buku petunjuk praktikum ini disusun sebagai panduan mahasiswa,
dalam melaksanakan Praktikum Pemrograman Komputer. Beberapa perubahan dan
penyempurnaan dilakukan terhadap buku edisi sebelumnya, dengan harapan agar sesuai dengan
kurikulum yang diajarkan di mata kuliah Pemrograman Komputer.
Buku Petunjuk Praktikum ini, disusun oleh Tim KBK Pemrograman Komputer
dibantu oleh Asisten. Pada kesempatan ini, penulis mengucapakan terima kasih kepada
pihak-pihak yang telah membantu menyelesaikan penyusunan buku. Penulis menyadari
masih banyak kekurangan pada buku ini, sehingga masukan dari berbagai pihak yang terkait,
sangat diharapkan demi perbaikan.
Akhir kata penulis berharap agar Buku Petunjuk Praktikum Pemrograman Komputer
ini, dapat dimanfaatkan secara maksimal oleh mahasiswa dalam melaksanakan Praktikum
Pemrograman Komputer.

Purbalingga,
Ketua,

September 2016

Sanidya Nika Purnomo, S.T., M.T.

DAFTAR ISI
KATA PENGANTAR.................................................................................................................................... 1
DAFTAR ISI.................................................................................................................................................. 2
PERATURAN PRAKTIKUM ....................................................................................................................... 5
BAB 1

INPUT & OUTPUT .................................................................................................................... 6

Tujuan Umum ................................................................................................................................ 6

Deskripsi Umum ............................................................................................................................ 6


1

INPUT/OUTPUT (I/O)........................................................................................................... 6

FORMAT ............................................................................................................................... 7

EDIT DESCRIPTOR .............................................................................................................. 8

OPEN/CLOSE......................................................................................................................... 8

Langkah Kerja............................................................................................................................... 10

Contoh Kasus ................................................................................................................................ 10


1

Problematika ......................................................................................................................... .10

Solusi ............................................................................................................................ ..11


a

Flowchart............................................................................................................... 11

Source Code............................................................................................................. ...11

Spesifikasi pengamatan................................................................................................ 12

Latihan .................................................................................................................................. 12

Pengayaan .................................................................................................................................... 12

BAB 2

STRUKTUR KONTROL........................................................................................................... 14

Tujuan Umum .............................................................................................................................. 14

Deskripsi Umum .......................................................................................................................... 14


1

IF........................................................................................................................................... 14

GOTO................................................................................................................................... 16

Langkah Kerja............................................................................................................................. 17

Contoh Kasus ............................................................................................................................... 18


1

Problematika ......................................................................................................................... 18

Solusi ............................................................................................................................ 18
a

Flowchart.............................................................................................................. 19

Source Code............................................................................................................. ..20

Spesifikasi pengamatan................................................................................................. 21

Latihan .......................................................................................................................................... 22

Pengayaan ..................................................................................................................................... 22

BAB 3

LOOP DO ................................................................................................................................. 23

Tujuan Umum ............................................................................................................................... 23

Deskripsi Umum ........................................................................................................................... 23


1

DO CONTINUE / DO END DO............................................................................. 24

2
C

DO WHILE END DO..................................................................................................... 25


Langkah Kerja............................................................................................................................... 25

Contoh Kasus ................................................................................................................................ 25


1

Problematika ......................................................................................................................... 25

Solusi ............................................................................................................................ 26
a

Flowchart............................................................................................................. 26

Source Code............................................................................................................. 27

Spesifikasi pengamatan................................................................................................ 28

Latihan ......................................................................................................................................... 29

Pengayaan .................................................................................................................................... 29

BAB 4

ARRAY..................................................................................................................................... 30

Tujuan Umum ............................................................................................................................. 30

Deskripsi Umum ......................................................................................................................... 30


1

Dengan DIMENSION.......................................................................................................... 31

Dengan Cara Eksplisit ......................................................................................................... 31

Langkah Kerja............................................................................................................................. 32

Contoh Kasus .............................................................................................................................. 32


1

Problematika ........................................................................................................................32

Solusi ........................................................................................................................... 33
a

Flowchart............................................................................................................. 33

Source Code............................................................................................................. 35

Spesifikasi pengamatan............................................................................................... 37

Latihan ....................................................................................................................................... 38

Pengayaan .................................................................................................................................. 38

BAB 5

SUBPROGRAM....................................................................................................................... 39

Tujuan Umum ............................................................................................................................ 39

Deskripsi Umum ........................................................................................................................ 39


1

SUBROUTINE ................................................................................................................... 39

FUNCTION ........................................................................................................................ 39

Langkah Kerja............................................................................................................................ 39

Contoh Kasus ............................................................................................................................. 40


1

Problematika ....................................................................................................................... 40

Solusi .......................................................................................................................... 40
a

Flowchart........................................................................................................... 40

Source Code........................................................................................................... 41

Spesifikasi pengamatan.............................................................................................. 44

Latihan ....................................................................................................................................... 44

Pengayaan .................................................................................................................................. 44

BAB 6

PENGEMBANGAN DALAM TEKNIK SIPIL...................................................................... 45

Tujuan Umum ............................................................................................................................ 45

Deskripsi Umum ........................................................................................................................ 45

Langkah Kerja............................................................................................................................ 46

Contoh Kasus ............................................................................................................................. 46


1

Problematika ..................................................................................................................... 46

Solusi ......................................................................................................................... 47
a

Flowchart........................................................................................................... 47

Source Code.......................................................................................................... 48

Spesifikasi pengamatan............................................................................................. 49

Latihan ....................................................................................................................................... 50

Pengayaan .................................................................................................................................. 50

PERATURAN PRAKTIKUM
Dalam pelaksanaan praktikum, dianjurkan mengikuti pedoman yang ada, agar
praktikum dapat berjalan dengan sempurna dan lancar. Oleh karena itu, mahasiswa/praktikan
diharapkan untuk membaca pedoman sebelum melakukan praktikum.
A. Peraturan Praktikum
Dalam melaksanakan praktikum, mahasiswa diwajibkan untuk :
1. Mempelajari dengan baik mengenai cara-cara melakukan/prosedur yang akan
dilaksanakan, sehingga dapat menjalankan praktikum dengan baik.
2. Bekerja secara hati-hati dengan seluruh alat yang digunakan di laboratorium
pemrograman komputer. Setelah selesai praktikum, Kembalikan kondisi seluruh alat
seperti sebelum memulai praktikum.
3. Tidak boleh membawa ataupun mempergunakan media penyimpanan digital
semisal USB flashdisk, External Harddisk dll
4. Tidak boleh mengikuti praktikum jika belum menyelesaikan laporan sebelum
praktikum.
B. Laporan
Dalam melaksanakan praktikum pemrograman komputer, mahasiswa diwajibkan
untuk membuat Laporan Praktikum dengan ketentuan sebagai berikut ini.
1. Isi laporan sebelum praktikum :
a. Judul

e. Contoh Kasus

b. Tujuan Umum

f. Latihan

c. Deskripsi Umum
d. Langkah Kerja
2. Isi Laporan setelah praktikum :
a. Pengayaan
3. Laporan ditulis tangan secara rapih diatas kertas margin 3322 dan Seluruh Source
Code ditulis menggunakan kertas millimeter block.

BAB 1
INPUT & OUTPUT
A

Tujuan Umum
1. Mengerti susunan algoritma yang disajikan dalam suatu Flow Chart (bagan alir).
2. Mampu membuat source code (kode sumber) bahasa fortran.
3. Mengerti perilaku statement input dan output dalam bahasa fortran.
4. Mampu membuat dan mengeksekusi program yang sangat sederhana

Deskripsi Umum
Secara umum, pemrograman komputer hanya terbagi atas 3 bagian, yakni input,
proses dan output. Proses Input/Output berhubungan dengan alat (device) I/O standar
seperti keyboard, konsul (monitor), file serta peripheral lainnya. Bagian terbesar dari
pemograman biasanya terletak pada bagaimana proses (proses perhitungan misalnya)
dilakukan. Bagian Input/Output dapat dikelompokkan pada pembahasan yang sama,
sedangkan bagian proses ada yang dipisahkan menurut kegunaannya.
Dalam penulisan kode sumber (source code), aturan /format berikut harus selalu
dipatuhi. Setelah itu, setiap bagian program akan dibahas.
Kolom 1

Komentar. Jika pada kolom 1 diberi huruf C atau *, maka semua


karakter yang mengikutinya dikategorikan sebagai komentar.

Kolom 1-5

Tempat penulisan label yang merupakan alamat perintah lanjutan. Label


harus dibuat ditulis dengan bilangan bulat (integer)

Kolom 6

Tempat tanda sambung. Semua karakter dapat digunakan sebagai tanda


sambung. Disarankan untuk tidak menggunakan karakter / dan \.

Kolom 7-72

Main body program. Tempat penulisan semua perintah yang diinginkan

Kolom 73-80

Tidak digunakan.

INPUT/OUTPUT (I/O)
Perintah untuk Input/Output digunakan dalam membaca data masukan
dan menuliskan data keluaran dari memori komputer dari dan ke periferal
tertentu. Perintah untuk Input menggunakan penyataan READ dan sedangkan
untuk Output menggunakan pernyataan WRITE. Bentuk umum untuk kedua
pernyataan tersebut dapat ditulis sebagai berikut,

Bentuk Umum :
READ (<unit spec>,<format spec>) var1,var2,
WRITE (<unit spec>,<format spec>) var1,var2,
<unit spec>

Menunjukkan kode/nomor alat input. Karakter * atau angka


5 menunjukkan bahwa input dilakukan melalui keyboard
(terlihat pada monitor). Karakter * atau

angka 6

menunjukkan bahwa output ditampilkan melalui monitor.


<format spec>

Menunjukkan format input/output untuk var1,var2,.


Karakter * pada <format spec> menunjukkan format bebas
(free format). Untuk input disarankan untuk menggunakan
format

bebas,

sedangkan

untuk

output

disarankan

menggunakan format tertentu. Format tertentu ini umumnya


menggunakan pernyataan FORMAT. Pembahasan tentang
pernyataan

FORMAT

ini

akan

dilakukan

dalam

pembahasan berikutnya.
var1,var2,

Menunjukkan variabel-variabel yang akan diinput atau


yang akan dioutput

FORMAT
Penyataan FORMAT digunakan untuk membentuk format (bentuk)
data masukan/keluaran yang meliputi tentang tata letak, tipe dan panjang data.
Bentuk Umum :
<label> FORMAT (edit list)
<label>

Menunjukkan label yang merupakan alamat dari pernyataan


READ/WRITE

(edit list)

Merupakan edit descriptor yang merupakan perintah untuk


mengatur tata letak, tipe dan panjang data.

EDIT DESCRIPTOR
Edit descriptor merupakan perintah dalam membentuk format I/O.
Dalam Tabel berikut diberikan edit descriptor yang umum digunakan dalam
FORTRAN-77.
No. Tipe Editing
1. Character

2.

Bentuk Umum

Integer

<n>A<w>

<n>I<w>

<n>

Arti notasi
jumlah pengulangan

<w>

jumlah karakter

<n>

jumlah pengulangan

<w>
3.

Real

<n>
<n>F<w>.<d> <w>
<d>

4.

Real

<n>E<w>.<d> <n>

Logika

jumlah desimal
jumlah pengulangan

<d>

jumlah desimal

<n>L<w>

<n>

jumlah pengulangan

<w>
<k>

Apostrophe

<k>

7.
8.

Positional
Slash

<n>X
/

9.

Backslash
interpretation

jumlah digit termasuk desimal

jumlah digit termasuk decimal

6.

10. Blank

jumlah pengulangan

<w>

Exponensial

5.

jumlah digit integer

<n>

jumlah digit data


karakter
Jumlah pengulangan
turun satu baris
naik satu baris

BN

Blank = kosong

BZ

Blank = nol

OPEN/CLOSE
Semua data yang akan dan diproses di CPU dibaca dari main memory
komputer. Main memory hanya menyimpan data tersebut secara temporary
(sementara) hingga program selesai dieksekusi. Jika data tersebut ingin
disimpan secara tetap, maka semua data tersebut harus disimpan dalam bentul
file. Oleh karena itu disini akan dijelaskan tentang perintah yang umum
digunakan dalam FORTRAN-77 untuk mengatur data dan file dalam
pemograman komputer.

a. OPEN
Penyataan OPEN digunakan untuk membuka file, baik file yang telah
tersedia maupun file yang harus disediakan. Setelah file ini terbuka, maka
main memory akan membaca/menulis data ke dalam file ini. Bentuk umumnya
adalah,
Bentuk Umum :
OPEN(<unitspec>,FILE=<namafile>,STATUS=<status>,ACCESS=<acce
ss>,FORM=<form>,RECL=,rec-leng)
<unit spec>

Menunjukkan nomor spesifikasi file. Nomor spesifikasi


merupakan nilai integer kecuali 5 dan 6.

<nama file>

Nama file yang akan dibuka.

<status>

Status file yang dibuka.


STATUS=OLD untuk file yang telah tersedia, file untuk
data masukan misalnya.
STATUS=NEW digunakan untuk membuat file baru,
STATUS =UNKNOWN, untuk file baru atau lama. Secara
default jika status tidak ditulis berarti STATUS =
UNKNOWN.

<access>

Metode pengaksesan data dari main memory ke file.


ACCESS=DIRECT, pengaksesan dilakukan ke lokasi yang
dikehendaki.
ACCESS=SEQUENTIAL, pengaksesan dilakukan secara
berurut

dari

record

ACCESS=SEQUENTIAL,

awal.

Karena

default

pada

umumnya

metode

ACCESS ini tidak dituliskan.


<form>

Menunjukkan bentuk format penyimpanan.


form=FORMATTED,

data

disimpan

terformat,

form=UNFORMATTED data disimpan tanpa format.


rec-leng

Panjang record yang ditunjukkan oleh bilangan bulat


(integer).

Perintah

ACCESS=DIRECT

ini

hanya

digunakan

untuk

b.

CLOSE
Pernyataan CLOSE digunakan untuk menutup file yang tidak

diperlukan. Penutupan file ini diperlukan untuk space dalam main memory
komputer.
Bentuk Umum :
CLOSE(<unit spec>, STATUS=<status>)
<unit spec>

Menunjukkan nomor spesifikasi file. Nomor spesifikasi


merupakan nilai integer kecuali 5 dan 6.

<status>

Status lanjutan dari file setelah ditutup. status=KEEP


digunakan agar file tetap seperti semula, status=DELETE
digunakan untuk menghapus file.

Langkah Kerja
1. Buka program FORTRAN yang telah tersedia.
2. Pahami terlebih dahulu maksud maupun tujuan program yang akan kita buat.
3. Susunlah Algoritma suatu program dapat berjalan, gunakan bantuan flow chart.
4. Ketikkan Source Code dengan aturan penulisan yang telah kita pahami

sebelumnya.
5. Lakukan kompilasi sampai tidak ada error
6. akukanlah eksekusi

Contoh Kasus
1. Problematika
Jika kita ingin menghitung kadar lumpur pada agregat halus metode saringan
ayakan no 200, dengan data laboratorium: berat agregat awal adalah 250 gram dan
setelah disaring berat agragat

sebesar 200 gram. Hitunglah berat lumpur dan

presentase lumpur pada agregat menggunakan fotran!


Rumus :

Berat lumpur = berat awal- berat akhir


Presentase kandungan lumpur = berat
lumpur/ berat awal agregat

10

2. Solusi
a.

Flow Chart
MULAI

BACA
AWAL, AKHIR

HITUNG
BERAT,PERSEN

TULIS
BERAT,PERSEN

STOP

b.

11

Source Code

#Penjelasan Program :
No. Baris

Keterangan
1 Menjelaskan nama program
2 Komentar penjelasan pemilik progrm
3 Output perintah untuk pemakai program agar memasukkan data berat
awal agregat
4 Membaca berat awal memakai variabel AWAL.

5,8 Format untuk membaca data. Data berupa bilangan REAL dan disediakan
5 kolom, tiga untuk angka sebelum titik, satu untuk titik, dan satu kolom
lagi untuk angka dibelakang titik
6 Output perintah untuk pemakai program agar memasukkan data berat
agragat setelah di ayak
7 Membaca data berat akhir memakai variable AKHIR
9 Menghitung berat lumpur, variable BERAT
10 Menghitung kadar lumput, variabel PERSEN.
11 Menuliskan hasilnya.
12 Format untuk penulisan hasil.
15,16 Statemnet STOP dan END. Mengakhiri program.
*Perhatikan data berat awal dan berat akhir yang akan di baca
Lihat cara perletakan data. Data-data langsung ditulis bilangannya.
c.

Spesifikasi Pengamatan

INPUT

OUTPUT
E

: 250.0
200.0
: Berat Lumpur: 50
Kadar lumpur :20

Latihan
1. Check dan perbaiki Kembali Program sehingga berhasil di eksekusi, Apakah benar
dalam eksekusinya? Kembangkanlah program dibawah ini sehingga lebih
interaktif!
(Program terlampir)

Pengayaan
1. Kembangkanlah suatu program kreatif dan inovatif dengan memanfaatkan perintah
READ, WRITE, FORMAT, OPEN, CLOSE!
2. Hal penting yang harus kalian sertakan adalah
a.

12

Maksud dan tujuan program yang anda dibuat

b. Flowchart, Beserta Pembahasannya


c.

Source Code, Beserta Pembahasannya

d. Spesifikasi (Input, process & Output), Beserta Pembahasannya


e. Screenshot program yang telah anda buat

13

BAB 2
STRUKTUR KONTROL
A

Tujuan Umum
1. Mampu membuat program yang memuat deklarasi variable (diturunkan dari tipe
dasar), cara akses (baca/tulis) variable, konstruksi control if-then-else.
2. Mampu menterjemahkan bagan alir (flowchart) yang memuat struktur control ifthen-else ke dalam bahasa FORTRAN.

Deskripsi Umum
Secara Umum Struktur control terbagi menjadi 2 bentuk. Yaitu IF dan GO TO.
1.

IF
Pernyataan IF digunakan untuk mengatur alur program komputer
sesuai dengan arah yang diinginkan.
Bentuk Umum :
IF(<ekspresi>)<statement>
<ekspresi>

Menunjukkan ekspresi, logika atau aritmatik, yang harus


dibandingkan.

<statement> Penyataan/perintah yang harus dilakukan jika hasil


perbandingan dalam <ekspresi>benar.

Untuk logikal expression, membandingkan dua nilai numerik,


<statement> dalam IF di atas disusun dengan menggunakan salah satu
comparison (relation) operator berikut.
Operator

Arti

.GT.

lebih besar dari

.GE.

lebih besar dan sama dengan

.LT.

lebih kecil dari

.LE.

lebih kecil dan sama dengan

.EQ.

sama dengan

.NE.

tidak sama dengan

Untuk logical variable, <statement> menggunakan salah satu dari


logical operator berikut. Hasil akhir dari IF logika hanya benar atau
14

salah (.TRUE. atau .FALSE.).


Operator

Arti

.NOT.

Tidak

.AND.

Dan

.OR.

Atau

.XOR.

ekslusif atau

.EQV.

Ekivalen

.NEQV.

tidak ekivalen

Dalam eksekusinya, operator aritmatik akan dilaksanakan pertama kali,


disusul dengan comparison (relation) operator dan logical operation.

a.

Aritmatik IF

Statement IF aritmatika digunakan untuk menyeleksi kondisi dari


suatu ungkapan aritmatika, apakah bernilai negatif, nol atau positif
Bentuk Umum :
IF (<expresion>)<slabel1>,<slabel2>,<slabel3>
b Blok IF

Blok IF digunakan untuk pengaturan logika program yang lebih luas


dan kompleks dengan pilihan yang lebih variatif. Blok IF disusun dengan
struktur dasar IF-THEN-ELSE-ENDIF. Pola blok IF tersebut diberikan dalam
Tabel

15

berikut

IF-THEN-ENDIF

IF-THEN-ELSE-

IF(<ekspresi>)THEN

IF(<ekspresi>)THEN

IF-THEN-ELSEIFIF(<eksp1>)THEN

penyataan 1

penyataan 1

penyataan 1

penyataan 2

penyataan 2

penyataan 2

penyataan n

penyataan n

penyataan n
ENDIF

ELSEIF(<eksp2>)THEN

ELSE

penyataan a

penyataan a

penyataan b

penyataan b

penyataan z

penyataan z

ELSE

ENDIF

penyataan a1
penyataan b2

Hal yang perlu diperhatikan bahwa jangan mengkontrol alur program menuju
blok IF (menggunakan statement GOTO, misalnya).
2

GOTO
Pernyataan

GOTO

digunakan

untuk

memindahkan

alur

program mengikuti label yang ditunjukkan dalam perintah GOTO. Ada 3


jenis GOTO yang umum digunakan,
a.

Assigment GOTO
Bentuk Umum :
GOTO nvar,(label1,label2,)
Penyataan ini memerintahkan agar alur program berpindah ke label yang
sesuai dengan nvar.
Sample :
GOTO I,(10,20,30)
Contoh di atas menunjukkan bahwa jika nilai I bernilai 10, 20 atau 30,
maka proses selanjutnya mengikuti perintah dalam label 10, 20 atau 30.

16

b.

Computed GOTO
Bentuk Umum :
GOTO (label1,label2,),n.
Pernyataan ini memerintahkan komputer untuk melanjutkan proses
sesuai dengan urutan yang diberikan oleh n.
Sample :
GOTO (10,20,30),n
Jika n = 3, maka proses selanjutnya mengikuti perintah yang dimulai
dari label ke-3, yakni label 30.

c.

Unconditional GOTO
Pola GOTO ini adalah pola yang paling sederhana dengan
bentuk umum GOTO label. Pernyataan ini memerintahkan komputer
untuk melanjutkan proses ke alamat yang diberikan pada label.
Sample :
IF(A.GT.B) GOTO 100
Pernyataan ini berarti Jika A > B, maka proses dilanjutkan ke perintah
yang dimulai dari label 100.

Langkah Kerja
1.
2.
3.

Buka program FORTRAN yang telah tersedia.


Pahami terlebih dahulu maksud maupun tujuan program yang akan kita buat.
Susunlah Algoritma suatu program dapat berjalan, gunakan bantuan flow
chart.
4. Ketikkan Source Code dengan aturan penulisan yang telah kita pahami
sebelumnya.
5. Lakukan kompilasi sampai tidak ada error
6. Lakukanlah eksekusi

17

Contoh Kasus
1.

Problematika
Jika diketahui data berupa suhu dengan satuan celcius, berapakah nilai suhu 100
derajat celcius bila di konversikan ke dalam satuan derajat
a. Reamur
b. Fahrenheit
c. Kelvin

2.

Solusi
Dalam kasus ini pengguna program akan diberi pilihan opsi konversi suhu dari
celcius untuk dikonversikan ke dalam satuan yang diingikannya saja. Pertama harus
di tentukan sebuah angka sebagai opsi konversi, angka 1 untuk reamur, angka 2 untuk
Fahrenheit, dan angka 3 untuk Kelvin. Jika sudah memilih opsinya, lalu suhu dalam
satuan derajat celcius tersebut di konversikan menggunakan masing-masing rumus
konversi dan menuliskannya
Rumus konversi dari suhu celcius ke

18

Reamur = Suhu x (4/5)

Fahrenheit = (Suhu x (9/5))+32

Kelvin = Suhu+273

a.

Flowchart

MULAI

BACA
A, SUHU

A=?
1

RMR=SUHU*(4/5)

TULIS
SUHU, RMR

19

2
FRHT=SUHU*(9/5)*+32

TULIS
SUHU, FRHT

AKLVN=SUHU+273

TULIS
SUHU, AKLVN

#Penjelasan Flowchart
Pada saat membuka program, terdapat pilihan konversi suhu celcius ke
reamur, fahrenheit atau kelvin kemudian menginput nilai untuk variable A sesuai
dengan nomor konversi yang diinginkan , nomor 1 untuk konversi dari celcius ke
reamur, nomor 2 untuk konversi dari celcius ke Fahrenheit, dan nomor 3 untuk
konversi dari celcius ke kelvin. Bila sudah membaca variable A, kemudian
menginput nilai suhu celcius (dalam derajat). Lalu program menghitung
perhitungan konversi sesuai dengan opsi yang diambil. Setelah dihitung nilai
konversinya, program akan menuliskannya. Program akan mengulang untuk
membaca nilai A dan SUHU
b.

20

Source Code

#Penjelasan Program
No. Baris

Keterangan

Nama pemilik program

Menuliskan Judul program

3-5
7
8-9
11
13-17

18-22

23-27

Memberi pilihan opsi didalam program


Menginput pilihan konversi suhu dengan variable A
Format spasi
Menginput data Suhu dalam satuan derajat dengan variable SUHU
Jika pengguna program menginput variable A=1 maka program akan
menghitung konversi dari celcius ke reamur dan menuliskannya sesuai dengan
format penulisannya
Jika pengguna program menginput variable A=2 maka program akan
menghitung konversi dari celcius ke fahrenheit dan menuliskannya sesuai
dengan format penulisannya
Jika pengguna program memilih variable A=3 maka program akan
menghitung konversi dari celcius ke kelvin dan menuliskannya sesuai dengan
format penulisannya

28

Statement ENDIFuntuk mengakhiri fungsi stuktur control IF-ElSE-ELSEIF

30

Statement GOTO digunakan untuk mengulang program

31

Statement END

c.

Spesifikasi Pengamatan

INPUT :

A=1

A=2

A=3

SUHU =100

SUHU =100

SUHU=100

OUTPUT :

100 DERAJAT CELCIUS, SAMA SAJA DENGAN 80


DERAJAT REAMUR

100 DERAJAT CELCIUS, SAMA SAJA DENGAN


212 DERAJAT FAHRENHEIT
21

100 DERAJAT CELCIUS, SAMA SAJA DENGAN


373 DERAJAT KELVIN

Latihan
1. Check dan perbaiki Kembali Program sehingga berhasil di eksekusi, Apakah
benar dalam eksekusinya? Kembangkanlah program dibawah ini sehingga lebih
interaktif! (Program terlampir)

Pengayaan
1. Kembangkanlah suatu program kreatif dan inovatif dengan memanfaatkan perintah
READ, WRITE, FORMAT, OPEN, CLOSE, IF, THEN, ELSE, ELSEIF, ENDIF,
GO TO !
2. Hal penting yang harus kalian sertakan adalah
a. Maksud dan tujuan program anda dibuat
b. Flowchart, Beserta Pembahasannya
c. Source Code, Beserta Pembahasannya
d. Spesifikasi (Input, process & Output), Beserta Pembahasannya
e. Screenshot program yang telah anda buat

22

BAB 3
LOOP DO
A

Tujuan Umum
1. Mampu membuat program yang memuat deklarasi variabel (diturunkan dari tipe
dasar), cara akses variabel, konstruksi kontrol pengulangan while-do dan repeat- until.
2. Mampu mengubah program dalam notasi algoritmik yang memuat struktur kontrol
pengulangan repeat-until dan while-do ke dalam bahasa FORTRAN.

Deskripsi Umum
Dalam prakteknya banyak dijumpai suatu perintah harus dikerjakan berulangulang hingga diperoleh hasil sesuai dengan yang diinginkan. Secara logis, perintahperintah kontrol dan logika dapat digunakan untuk

mengulang perintah-perintah

yang sama dalam program.


1.

DO CONTINUE / DO END DO
Bentuk Umum :
DO <label> var=n1,n2,inc
pernyataan 1

pernyataan n
<label>
<label>

CONTINUE
Label yang menunjukkan batasan awal dan akhir dari
proses yang akan diulang.

var

Variabel integer yang merupakan variabel pengontrol perulangan.

n1

Nilai awal perulangan.

n2

Nilai akhir perulangan.

inc

Incremental, penambahan langkah setiap perulangan. Nilai


penambahan harus bilangan bulat (integer) positif maupun
negatif. Default=1

Perhatikan perbedaannya jika proses penjumlahan angka 1 hingga 10 dalam


23

contoh di atas diprogram dengan menggunakan DO loop dalam contoh


penerapan berikut
Sample :

DO 10 I=1,10
WRITE(*,'(3X,A,I2)')'PERULANGAN KE ',I
10

CONTINUE
END

Contoh di atas merupakan contoh untuk proses perulangan tunggal.


Dengan pola yang sama dimungkinkan untuk menyusun perulangan berkalang
(nested loop). Dengan demikian akan ada kalang dalam (inner loop) dan
kalang luar (outer loop) seperti diperlihatkan dalam contoh perkalian matriks
berikut.
Sample :
DO I=1,3
DO J=1,3
WRITE(*,'(3X,A,2I2)')'PERULANGAN KE ',I,J END DO
END DO
END

Bila program dijalankan akan didapat hasil :


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

24

2.

DO WHILE END DO
Perintah DO WHILE END DO memproses sesuatu atau sekelompok
statement secara berulang berdasarkan syarat yang diberikan.
Sample :
I=0
DO WHILE(I.lt.10)
I=I+1
WRITE(*,'(3x,A,2I2)')'perulangan ke ',I
END DO
END
Hal yang perlu dicatat bahwa setiap loop harus tertutup dimulai dari loop yang
paling dalam. Disamping itu tidak diijinkan proses perhitungan dialihkan ke
dalam loop (dengan perintah GOTO, misalnya)

Langkah Kerja
1.
2.
3.
4.

Buka program FORTRAN yang telah tersedia.


Pahami terlebih dahulu maksud maupun tujuan program yang akan kita buat.
Susunlah Algoritma suatu program dapat berjalan, gunakan bantuan flow chart.
Ketikkan Source Code dengan aturan penulisan yang telah kita pahami
sebelumnya.
5. Lakukan kompilasi sampai tidak ada error
6. Lakukanlah eksekusi
D

Contoh Kasus
1.

Problematika
Jika kita mempunyai tulangan baja dengan panjang 1 meter, diameter 3 cm dan
modulus elastisitasnya adalah 2.1x106 kg/cm2 . Berapakah pertambahan panjang jika
baja akan diberi gaya tarik dimulai dari 1000 kg sampai 2000 kg dengan interval 100
kg?

25

2. . Solusi
a.

Flow Chart

MULAI

BACA
AL, E, D

I=0.0

I = 1000

I >2000
I =1000+100

AK = 0.25 x 3.14 x D2
T = I / AK
EF = T / E
PJG = EF x AL

TULIS
I, PJG

STOP

#Penjelasan Flowchart
Setelah memulai kemudian program akan membaca variable AL sebagai
panjang awal baja, E sebagai nilai modulus elastisitas, dan D sebagai diameter baja.
Selanjutnya , program akan memperdanakan nilai I=0 dan program melakukan
iterasi I dengan nilai awal 1000 dan nilai akhir 2000 per 100. Iterasi ini digunakan
untuk menghitung nilai AK, T, EF, dan PJG. Kemudian program menuliskan nilai
I sebagai pertambahan beban dan PJG sebagai pertambahan panjang baja. Ketika
iterasi telah sampai pada data sentinel (data akhir) yaitu 2000, program akan
berhenti (STOP) dan mengakhiri program

26

b.

27

Source Code

#Penjelasan Program
No. Baris

Keterangan

1 Menjelaskan Nama Program


2, 11, 20 Menjelaskan program dibawahnya dalam bentuk komentar
3-10 Menuliskan Penjelasan Program
12-13 Menuliskan dua spasi enter pada layar
14,16,18 Menuliskan perintah untuk memasukkan nilai dari variabel AL,
E, dan D pada layar.
15, 17, 19 Membaca variabel AL, E, dan D
21 Pemerdanaan Nilai I
22 Proses Berulang dari baris statement Do sampai ke baris
dengan nomor label 100 yang dilakukan berulang dari 1000
sampai 2000 dengan interval 100
23-26 Persamaan untuk menghitung nilai AK,T EF, dan PJG
27-28 Menuliskan variable I dengan format
29-30 Menuliskan hasil perhitungan PJG
35 Mengakhiri Program

c.

Spesifikasi Pengamatan

INPUT :
PANJANG AWAL BAJA (cm)
100
MODULUS ELASTISITAS (kg/cm2)
2100000
DIAMETER BAJA (cm)
3
OUTPUT :

BEBAN YANG DIBERIKAN=


1000 kg
PERTAMBAHAN PANJANG BAJA=
0.00674 cm
BEBAN YANG DIBERIKAN=
1100 kg
PERTAMBAHAN PANJANG BAJA=
0.00741 cm
BEBAN YANG DIBERIKAN=
1200 kg
PERTAMBAHAN PANJANG BAJA=
0.00809 cm
BEBAN YANG DIBERIKAN=
1300 kg
PERTAMBAHAN PANJANG BAJA=
0.00876 cm
BEBAN YANG DIBERIKAN=
1400 kg
PERTAMBAHAN PANJANG BAJA=
0.00944 cm
BEBAN YANG DIBERIKAN=
1500 kg
PERTAMBAHAN PANJANG BAJA=
0.01011 cm
28

BEBAN YANG DIBERIKAN=


1600 kg
PERTAMBAHAN PANJANG BAJA=
0.01078 cm
BEBAN YANG DIBERIKAN=
1700 kg
PERTAMBAHAN PANJANG BAJA=
0.01146 cm
BEBAN YANG DIBERIKAN=
1800 kg
PERTAMBAHAN PANJANG BAJA=
0.01213 cm
BEBAN YANG DIBERIKAN=
1900 kg
PERTAMBAHAN PANJANG BAJA=
0.01281 cm
BEBAN YANG DIBERIKAN=
2000 kg
PERTAMBAHAN PANJANG BAJA=
0.01348 cm
E.

Latihan
1.

F.

Check dan perbaiki Kembali Program sehingga berhasil di eksekusi, Apakah


benar dalam eksekusinya? Kembangkanlah program dibawah ini sehingga lebih
interaktif! (Program terlampir)

Pengayaan
1. Kembangkanlah suatu program kreatif dan inovatif dengan memanfaatkan perintah
READ, WRITE, FORMAT, OPEN, CLOSE, DO, DO WHILE, END DO,
CONTINUE!
2. Hal penting yang harus kalian sertakan adalah
a. Maksud dan tujuan program anda dibuat
b. Flowchart, Beserta Pembahasannya
c. Source Code, Beserta Pembahasannya
d. Spesifikasi (Input, process & Output), Beserta Pembahasannya
e. Screenshot program yang telah anda buat

29

BAB 4
ARRAY
A.

Tujuan Umum
1. Mampu membuat program yang memuat variable array.
2. Mampu menerangkan cara kerja i iterasi (do-continue pada FORTRAN)

B.

Deskripsi Umum
Kontras dengan variabel tunggal, dimana hanya ada satu nilai untuk tiap
variabel, variabel yang menggunakan array mempunyai sekelompok nilai dengan
variabel yang sama. Variabel ber-array biasa digunakan untuk menterjemahkan
variabel berindeks dalam matematika.

Perhatikan kembali contoh perkalian

matriks dalam modul sebelumnya.

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
10

CONTINUE
CONTINUE

Dengan notasi matematika program di atas ditulis sebagai,


4
aij = ( bik .c kj )
k =1

Variabel A(I,J), B(I,K) dan C(K,J) disebut sebagai variabel ber-array. Urutan angka
integer dalam tanda ( ) menunjukkan dimensi array n, dimana n maksimal 7. angka integer
dalam tanda kurung menunjukkan alokasi tempat (indeks) yang disediakan untuk
array tersebut. Oleh karenanya, pada awal program variabel tersebut harus dideklarasikan.
Ada 2 bentuk deklarasi yang umum digunakan.

30

Dengan DIMENSION
Bentuk Umum :

DIMENSION var(n1:m1,n2:m2,..,nl:ml),

Variabel yang mempunyai indeks, baik real, integer maupun

Var

karakter.
n1:m1

Nilai awal dan nilai maksimum indeks ke-1.

n2:m2

Nilai awal dan nilai maksimum indeks ke-2.

nn:mn Nilai awal dan nilai maksimum indeks ke-l.

Dalam penyataan DIMENSION, variabel real, integer maupun karakter


dapat 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 DIMENSION cukup ditulis nilai maksimumnya saja.
Sample :
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

Dengan Cara Eksplisit


Bentuk lain dari deklarasi array adalah dengan menyatakan secara
eksplisit tipe data yang digunakan dalam array tersebut.

31

Bentuk Umum :
<type data> var(n1:m1,n2:m2,..,nl:ml),

<type data> Tipe data yang digunakan dalam array, real, integer atau
karakter.Dengan penyataan eksplisit ini,
integer

dan

karakter

variabel real,

harus dipisahkan dalam tiap

kelompoknya.
Sample :
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
20
10
C.

CONTINUE
CONTINUE

Langkah Kerja
1.

2.
3.
4.
5.
6.

D.

CONTINUE

Buka program FORTRAN yang telah tersedia.


Pahami terlebih dahulu maksud maupun tujuan program yang akan kita buat.
Susunlah Algoritma suatu program dapat berjalan, gunakan bantuan flow chart.
Ketikkan Source Code dengan aturan penulisan yang telah kita pahami
sebelumnya.
Lakukan kompilasi sampai tidak ada error
Lakukanlah eksekusi

Contoh Kasus
1.

Problematika
Jika kita ingin menghitung rata-rata hujan di stasiun penangkap hujan, dan
mencari standar deviasi pada 11 stasiun hujan, diperlukan data input berupa intesitas
hujan di 11 stasiun tersebut. Fasilitas dimensi dapat digunakan untuk menyediakan
data input, menghitung dan menuliskan data output

32

2.

Solusi
a.

Flow Chart
START

REAL HUJAN (1000)

OPEN
FILE =HUJAN.TXT

READ
L

SUM = 0.0
SUM2 = 0.0

I=1
I=L
I=I+L

READ
HUJAN (I)

SUM = SUM + HUJAN (I)


SUM2 =SUM2 + HUJAN(I)

TULIS
L, RATA ,SD

33

RATA = SUM/L
RATA2 = SUM2/L
SD = ((L/(L-1.0))*(RATA2(RATA2)))0.5

#Penjelasan Flowchart
Setelah memulai program kemudian program akan menyediakan jajaran untuk
variable hujan hingga 1000 unsur. Selanjutnya program akan membuka file
HUJAN.TXT untuk membaca nilai variable HUJAN lalu masukkan jumlah
stasiun hujannya (jumlah stasiun harus sesuai dengan jumlah variable hujan pada
file HUJAN.TXT) dan akan dibaca sebagai variable L. Sebelum melakukan iterasi
I = 1,L untuk membaca variable HUJAN (I) , harus dilakukan pemerdanaan data
pada variable SUM dan SUM2 sehingga dapat menghitung nilai jumlah intesitas
hujan (SUM) dan jumlah kuadrat intesitas hujan (SUM2). Setelah iterasi selesai,
dilanjutkan dengan menghitung nilai RATA, RATA2 dan SD lalu menuliskan
perhitungan yaitu L,RATA, dan SD. Jika ingin mengulangi perhitungan dengan
jumlah atau nilai intesitas hujan yang berbeda, pengguna/user harus memperbaharui
terlebih dahulu data hujannya

34

b.

35

Source Code

#Penjelasan Source Code


No. Baris

Keterangan
1,2

Komentar yang menjelaskan isi program

3,11,22 Memberikan Komentar yang mengindikasikan fungsi perintah


dibawahnya.
4 Perintah mengenai jajaran (Dimension) dengan Variabel
HUJAN

untuk memberi ruang untuk 1000 data,

menggunakan statement DIMENSION


5-6 Menuliskan input data dengan membuka file
HUJAN.TXT
7-8 Menuliskan format untuk 2 spasi
9-10

Menuliskan perintah untuk memasukkan jumlah stasiun


dan membacanya sebagai Variabel L

12-13 Pemerdanaan variable SUM dan SUM2


14 LOOP DO untuk iterasi I= 1,L
15 Membaca Variabel HUJAN (I)
16-17 Melakukan perhitngan SUM dan SUM2
18 Statement CONTINUE yang merupakan batas iterasi I
19-21 Prosen perhitungan untuk menentukan nilai variabel RATA,
RATA2, dan SD
23-25 Menuliskan hasil perhitungan variabel L, RATA, dan SD
sesuai dengan format yang diberikan
26

Perintah untuk menutup file dengan nomor file 2 dan status


keep

28-30 Menuliskan perintah pada format jika anda ingin


mengulang data yang berbeda silahkan perbaharui terlebih
dahulu data pada file HUJAN.TXT
32 Memberikan perintah untuk melompat ke label yang dituju,
33 Memberikan perintah untuk mengakhiri Program.

36

c.

Spesifikasi Pengamatan

INPUT

Variabel HUJAN (I) dari file HUJAN.TXT


23
22.5
21.3
23.2
22.12
23.54
22.98
21.76
23.12
24.21
21.75
Jumlah Stasiun hujan sebegai variabel L = 11

OUTPUT

RATA-RATA HUJAN DALAM 11 STASIUN = 22.68000


STANDAR-DEVIASI DARI HUJAN YANG TURUN = 0.8775
mm/tahun

37

E.

Latihan
1. Check dan perbaiki Kembali Program berikut sehingga berhasil di eksekusi,
Apakah benar dalam eksekusinya? Kembangkanlah program dibawah ini sehingga
lebih interaktif!
(Program terlampir)

F.

Pengayaan
1. Kembangkanlah suatu program kreatif dan inovatif dengan memanfaatkan perintah
READ, WRITE, FORMAT, OPEN, CLOSE, DO, DIMENSION!
2. Hal penting yang harus kalian sertakan adalah
a. Maksud dan tujuan program anda dibuat
b. Flowchart, Beserta Pembahasannya
c. Source Code, Beserta Pembahasannya
d. Spesifikasi (Input, process & Output), Beserta Pembahasannya
e. Screenshot program yang telah anda buat

38

BAB 5
SUBPROGRAM
A.

Tujuan Umum
1. Mampu membuat program dalam bahasa FORTRAN yang dibentuk dari modulmodul subprogram.
2. Mampu mengatur strukturalisasi program dengan mengalihkan sebagian alur
program ke dalam blok program tertentu.

B.

Deskripsi Umum
Subprogram digunakan untuk mengalihkan sebagian alur program ke dalam
blok program tertentu. Efektifitas, efisiensi dan kemudahan pengaturan merupakan alasan
utama dalam pengalihan alur program ke dalam subprogram. Dengan adanya
subprogram, blok proses yang mungkin akan dilakukan berulang-ulang, hanya perlu
disusun satu kali. Untuk selanjutnya hanya perlu dipanggil/diaktifkan. Ada 2 jenis
subprogram yang umum digunakan, yakni SUBROUTINE dan FUNCTION.
1.

SUBROUTINE
Subroutine merupakan subprogram yang hampir mirip dengan program
utama Dalam subroutine dapat dilakukan serangkaian/sekelompok input,
proses maupun output.

2.

FUNCTION
Berbeda dengan penggunaan SUBROUTINE,

FUNCTION hanya

dapat digunakan untuk menentukan nilai satu variabel, baik real, integer maupun
karakter. Subprogram ini umumnya digunakan untuk mendefenisikan fungsi
tertentu dalam program.
C.

Langkah Kerja
1.
2.
3.
4.

Buka program FORTRAN yang telah tersedia.


Pahami terlebih dahulu maksud maupun tujuan program yang akan kita buat.
Susunlah Algoritma suatu program dapat berjalan, gunakan bantuan flow chart.
Ketikkan Source Code dengan aturan penulisan yang telah kita pahami
sebelumnya.
5. Lakukan kompilasi sampai tidak ada error
6. Lakukanlah eksekusi

39

D. Contoh Kasus
1. Problematika
Pada pemadatan tanah yang ideal, tanah timbunan harus mempunyai kadar air
yang optimum, jika di ketahui kadar air awal pada 2,4 ton tanah timbunan adalah 22 %
dan kadar air optimum yang ingin dicapai adalah 28%, berapa volume air yang diperlukan
agar tanah timbunan tersebut mencapai nilai kadar air optimum?
2. Solusi
a.

Flow Chart

MULAI

TULIS
DESKRIPSI
PROGRAM

CALL INPUT

CALL PROSES

CALL HASIL

MULAI

40

#Penjelasan Flow Chart


Program ini mempunyai program utama. Setelah program dimulai, menuliskan
deskripsi program kemudian memanggil CALL INPUT yang mempunyai data
masukan berupa WAW, WT, AL. Lalu RETURN yang berarti kembali ke control
utama yang berlanjut ke subprogram ke dua. Selanjutnya memanggil subprogram
CALL PROSES, yaitu subprogram yang berfungsi untuk menghitung atau memproses
variabel WAW, WT, dan AT dengan rumus sehingga diperoleh hasil sebagai variabel
V (volume cair). Lalu RETURN kembali. Memanggil subprogram CALL HASIL untuk
mengeluarkan data yang diinginkan dari proses tersebut yaitu dalam hasil yang dimuat
dalam variabel V. Selanjutnya RETURN kembali untuk mengembalikan program ke
control utama yaitu statement END yang berarti sebagai berhentinya program yang
telah berjalan

41

b.

43

Source Code

#Penjelasan Source Code


No. Baris

Keterangan
1-11

Memberikan nama program yang akan dibuat, menulis


pemilik program, serta deskripsi program

14 Memanggil INPUT
15 Memanggil PROSES
16

Memanggil HASIL (Input,Process & Output)

19-28 Membuat Subroutine untuk menjabarkan program


INPUT dengan menggunakan WRITE dan READ
untuk memasukkan data, jika sudah menjalankan
program INPUT, selanjutnya akan kembali ke
program utama
30-37 Membuat Subroutine untuk menjabarkan program
PROSES dengan menggunakan rumus mencari
berat kering dan volume air tambahan, jika sudah
menjalankan program PROSES , selanjutnya akan
kembali ke program utama
39-46 Membuat Subroutine untuk menjabarkan program
HASIL dengan menggunakan penulisan (WRITE)
hasil perhitungan sesuai dengan format yang
diinginkan, jika sudah menjalankan program HASIL
, selanjutnya akan kembali ke program utama dan
program akan berakhir

46

c.

Spesifikasi Pengamatan
INPUT :

MASUKKAN KADAR AIR AWAL TANAH dalam(%)


22
MASUKKAN BERAT TOTAL TANAH dalam(ton)
2.4
MASUKKAN KADAR AIR YANG DIINGINKAN dalam(%)
28
OUTPUT :

DENGAN BERAT KERING TANAH 1,967 ton


UNTUK MENGUBAH KADAR AIR DARI 22.000% MENJADI 28.000%
DIPERLUKAN AIR SEBANYAK 0.118 meter kubik atau 1183,033 liter
E.

Latihan
1. Check dan perbaiki Kembali Program sehingga berhasil di eksekusi, Apakah benar
dalam eksekusinya? Kembangkanlah program dibawah ini sehingga lebih interaktif!
(Program terlampir)

F.

Pengayaan
1. Kembangkanlah suatu program kreatif dan inovatif dengan memanfaatkan perintah
READ, WRITE, FORMAT, OPEN, CLOSE, CALL, RETURN, SUBROUTINE!
2. Hal penting yang harus kalian sertakan adalah
a. Maksud dan tujuan program anda dibuat
b. Flowchart, Beserta Pembahasannya
c. Source Code, Beserta Pembahasannya
d. Spesifikasi (Input, process & Output), Beserta Pembahasannya
e. Screenshot program yang telah anda buat

47

BAB 6
PENGEMBANGAN DALAM TEKNIK SIPIL
A.

Tujuan Umum
1. Mengaplikasikan seluruh pengetahuan dan pemahaman tentang program berbahasa
FORTRAN dalam membantu mempermudah engineer menyelesaikan berbagai
permasalahan rekayasa teknik sipil.
2. Meningkatkan kreativitas dan kemampuan penalaran untuk berfikir logis melalui
pemrograman dengan bahasa FORTRAN
3. Dapat melakukan berbagai riset dan inovasi secara pribadi mengenai pembuatan
program teknik sipil.

Deskripsi Umum
Secara umum, langkah-langkah yang diperlukan secara singkat adalah sebagai
berikut.

Langkah 1
Tentukan masalah yang akan diselesaikan (menyelesaikan persamaan matematika
dengan metode numerik, misalnya). Pastikan bahwa masalah telah dikuasai dengan
baik.

Langkah 2
Analisis masalah tersebut. Tentukan secara tepat bagian-bagian input, proses dan
output serta hubungan antar ketiganya. Bagian ini merupakan bagian yang terpenting
karena siapapun tidak ingin menyelesaikan masalah yang salah maupun
menyelesaikan masalah yang benar dengan akan tetapi mendapatkan jawaban yang
salah.

Langkah 3
Susun algoritma untuk menyelesaikan masalah. Algoritma harus disusun secara tepat
tanpa ada keraguan dalam tiap langkahnya serta harus terdefenisi dengan baik dan
tepat sehingga akan diketahui akibat dari perubahan tiap langkah yang dilakukan.

Langkah 4
Susun diagram alir sesuai dengan algoritma yang disusun dalam langkah 3.

Langkah 5
Terapkan diagram alir tersebut dalam bentuk source code program. Walaupun
masing-masing orang mempunyai bahasa pemograman favorit, akan tetapi pada saat
tertentu dibutuhkan bahasa pemograman khusus untuk menyelesaikan masalah.
FORTRAN-77 misalnya, khusus dibuat untuk menyelesaikan masalah dalam bidang
sains dan teknologi.

Langkah 6
Pengujian dan verifikasi program. Bagian ini merupakan bagian tersulit dalam proses
pemograman komputer. Untuk program yang besar dan kompleks, pengalaman dan
latihan yang terus-menerus merupakan modal utama dalam melakukan pengujian dan
verifikasi program ini.
Ketika menerapkan algoritma/diagram yang telah disusun dalam langkah 3
dan 4, terdapat beberapa langkah dalam menyusun dan mengeksekusi program.
Langkah-langkah tersebut antara lain,
48

Langkah 1
Gunakan editor yang tersedia untuk menyusun program tersebut. Simpan source code
program tersebut sebagai source file.

Langkah 2
Compile source dengan compiler yang tersedia. Jika terjadi kesalahan berupa syntax
error, kembali ke langkah 1. Jika tidak terjadi kesalahan, maka compiler akan
membuat object file.

Langkah 3
Dalam menyusun program yang besar dan kompleks, sangat disarankan untuk
membagi-bagi program dalam bentuk subprogram. 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 langkah 1.
C.

Langkah Kerja
1. Buka program FORTRAN yang telah tersedia.
2. Pahami terlebih dahulu maksud maupun tujuan program yang akan kita buat.
3. Susunlah Algoritma suatu program dapat berjalan, gunakan bantuan flow chart.
4. Ketikkan Source Code dengan aturan penulisan yang telah kita pahami
sebelumnya.
5. Lakukan kompilasi sampai tidak ada error.
6. Lakukanlah eksekusi

D.

Contoh Kasus
1. Problematika
Dengan menggunakan jajaran dan subprogram , dapat dibuat sebuah program yang
dapat menghitung jarak pandang henti, jarak yang diperlukan untuk menyiap, dan jarak
minimum yang diperlukan untuk menyiap berdasarkan kecepatan rencana. Data kecepatan
rencana dimuat dalam jajaran VR. Proses Inpur data dan menghirung data menggunakan
subprogram

49

2. Solusi
a.

Flow Chart

MULAI

REAL VR (I)

TULIS
DESKRIPI
PROGRAM

CALL INPUT

CALL PROSESHASIL

SELESAI

#Penjelasan Flowchart
Program ini mempunyai 2 subprogram yang membentuk program utama.
Disediakan jajaran real dengan variabel VR yang memuat 7 unsur. Menulis
deskripsi program. Kemudian memanggil subprogram CALL INPUT yang
selanjutnya membuka file KECEPATAN RENCANA.TXT. yang akan dibaca
sebagai variabel VR, kemudian RETURN yang berfungsi mengebalikan ke control
utama. Selanjutnya memanggil subprogram CALL PROSESHASIL, di dalamnya
memuat perhitungan dan penulisan hasil. Pertama dibuka file HASIL
HITUNGAN.TXT. yang dipersiapkan untuk menulis data jarak serta menuliskan
hasil ke dalam file. Selanjutnya RETURN yang berfungsi kembali ke control utama,
kemudian END yang berfungsi sebagai berhentinya program yang telah berjalan

50

b.

50

Source Code

#Penjelasan Program
No.
Baris 1
2
3-5
6-7
8,17,25,30,43
9
10
13
15-21

Keterangan
Memberikan Komentar Tentang Nama Program yang di buat
Menyediakan Jajaran VR
Deskripsi program
Menyuliskan pernyataan untuk memulai, dengan menekan enter
Komentar Tentang Penjelasan Statement yang ada di bawah baris tersebut.
Memanggil INPUT
Memanggil PROSESHASIL
Statement END
Membuat Subroutine untuk program INPUT, penyediaan jajaran real VR, dan
menggunakan OPEN dan READ untuk membaca data
23-51 Membuat Subroutine untuk menjabarkan program PROSESHASIL menggunakan
LOOP DO dalam perhitungan berulang menggunakan rumus, dan statement OPEN
dan WRITE untuk menuliskan hasil perhitungan

c.

Spesifikasi Pengamatan

INPUT :Sebuah jajaran real VR(7) dalam file KECEPATAN RENCANA.TXT


40
50
60
70
80
100
120
OUTPUT:
KECEPATAN RENCANA(km/jam)

51

JARAK PANDANG HENTI(m)

40.0

41.78

50.0

56.59

60.0

73.16

70.0

91.48

80.0

111.55

100.0

156.93

120.0

209.31

JARAK MENYIAP HITUNGAN(m)

E.

JARAK MENYIAP MINIMAL(m)

253.59

124.20

316.84

144.36

386.04

166.31

461.19

190.03

542.30

215.53

722.41

271.87

926.37

335.33

Latihan
1. Check dan perbaiki Kembali Program sehingga berhasil di eksekusi, Apakah benar
dalam eksekusinya? Kembangkanlah program dibawah ini sehingga lebih
interaktif! (Program terlampir)

F.

Pengayaan
1.

Buatlah suatu program kreatif dan inovatif yang dapat mempermudah kita dalam
menyelesaikan permasalahan rekayasa teknik sipil! Perhatikan kembali SELURUH
BAB yang sudah kita pelajari sebelumnya.

2. Hal penting yang harus kalian sertakan adalah


a. Maksud dan tujuan program anda dibuat
b. Flowchart, Beserta Pembahasannya
c. Source Code, Beserta Pembahasannya
d. Spesifikasi (Input, process & Output), Beserta Pembahasannya
e. Screenshot program yang telah anda buat

52

Anda mungkin juga menyukai