Anda di halaman 1dari 39

Perkuliahan:

Pemrograman Komputer

JURUSAN TEKNIK SIPIL


FAKULTAS TEKNIK
UNIVERSITAS SYIAH KUALA
Struktur Baja II
Pemrograman Komputer

Kuliah Ke-3
Syntax FORTRAN

JURUSAN TEKNIK SIPIL


FAKULTAS TEKNIK
UNIVERSITAS SYIAH KUALA
Struktur Baja II

JURUSAN TEKNIK SIPIL

Penulisan Program FORTRAN 77 FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Penulisan bahasa pemrograman FORTRAN 77 memiliki


struktur dan aturan yang baku, dan bisanya akan lebih
mudah jika dilakukan dalam suatu lembar penulisan
program yang disebut Fortran Coding Form.
Struktur Baja II

JURUSAN TEKNIK SIPIL

Penulisan Program FORTRAN 77 FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Pada awalnya, Fortran Coding Form tersebut dipakai


untuk penulisan program FORTRAN melalui alat bantu
yang disebut “Punch Card”, yaitu suatu lembaran kertas
tebal (setebal kertas karton manila) yang kira-kira
bentuknya seperti disajikan pada gambar slide
selanjutnya.
• Kemudian, kertas Punch Card tersebut akan dibaca oleh
“Card Reader” dari komputer yang akan dipakai,
sebelum melakukan kompilasi.
Struktur Baja II

JURUSAN TEKNIK SIPIL

Penulisan Program FORTRAN 77 FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Fortran Punch Card dan contoh program dalam bahasa


FORTRAN
Struktur Baja II

JURUSAN TEKNIK SIPIL

Penulisan Program FORTRAN 77 FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Fortran 77 bukan bahasa format bebas, tetapi memiliki


aturan-aturan yang sangat ketat tentang bagaimana kode
harus diformat. Aturan yang paling penting adalah
aturan posisi kolom:
 Kolom 1 : Kosong, atau "c" atau "*" untuk komentar
 Kolom 2-5 : Label pernyataan (opsional)
 Kolom 6 : Kelanjutan dari baris sebelumnya (opsional)
 Kolom 7-72 : Pernyataan
 Kolom 73-80 : Nomor urut (opsional, jarang digunakan)
Struktur Baja II

JURUSAN TEKNIK SIPIL

Penulisan Program FORTRAN 77 FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Hal terpenting yang harus diperhatikan dalam penulisan


program (coding) FORTRAN 77 dalam suatu file, adalah
sebagai berikut:
 Perekaman berkas (file saving) harus dalam format “text file”
(ASCII atau ASCII unicode),
 Ekstensi berkas hasil perekaman harus dalam bentuk “.for” atau
“.f”,
 Penulisan program dapat dilakukan pada sembarang editor teks,
seperti: NOTEPAD, WORDPAD, dan lain-lain. Dalam hal ini kita
menggunakan free IDE for the FORTRAN programing language
– Force 2.0.
Struktur Baja II

JURUSAN TEKNIK SIPIL

Struktur Bahasa FORTRAN FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Program Fortran berisi urutan baris teks. Teks harus mengikuti struktur
tertentu untuk menjadi program Fortran yang valid. Contoh sederhana:

1234567  urutan kolom bukan bagian dari program


program circle
real r, area
c Program ini membaca bilangan real r dan mencetak luas
c lingkaran dengan jari-jari r.
write (*,*) 'Isi nilai radius r:'
read (*,*) r
area = 3.14159*r*r
write (*,*) 'Luas = ', area
stop
end
Struktur Baja II

JURUSAN TEKNIK SIPIL

Struktur Bahasa FORTRAN FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Baris yang dimulai dengan "c" adalah komentar dan


tidak memiliki tujuan selain untuk membuat program
lebih mudah dibaca oleh manusia. Awalnya, semua
program Fortran harus ditulis dengan huruf besar
semua. Kebanyakan orang sekarang menulis huruf kecil
karena ini lebih mudah dibaca.
• Fortran tidak peka huruf besar-kecil, jadi "X" dan "x"
adalah variabel yang sama.
Struktur Baja II

JURUSAN TEKNIK SIPIL

Struktur Bahasa FORTRAN FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Program Fortran umumnya terdiri dari program utama


dan mungkin beberapa subprogram (prosedur, fungsi,
atau subrutin).
• Struktur dasar penulisan program FORTRAN 77, secara
ringkas, mengikuti sistematika penulisan berikut:
 Definisi dan atau Deklarasi PARAMETER dan VARIABEL,
 Program Utama (Main Program)
 Sub-Program SUBROUTINE dan atau
 Sub-Program FUNCTION.
Struktur Baja II

JURUSAN TEKNIK SIPIL

Struktur Bahasa FORTRAN FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Blok struktur dan sintaks program dalam bahasa


FORTRAN.
Struktur Baja II

JURUSAN TEKNIK SIPIL

Struktur Bahasa FORTRAN FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Untuk saat ini kita akan menempatkan semua


pernyataan di program utama; subprogram akan
diperlakukan kemudian. Struktur program utama
adalah:

program name
declarations
statements
stop
end
Struktur Baja II

JURUSAN TEKNIK SIPIL

Struktur Bahasa FORTRAN FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Pernyataan stop adalah opsional dan mungkin tampak


berlebihan karena program akan berhenti ketika
mencapai akhir, tetapi disarankan untuk selalu
menghentikan program dengan pernyataan stop untuk
menekankan bahwa aliran eksekusi berhenti.
• Nama variabel tidak boleh sama dengan program.
Struktur Baja II

JURUSAN TEKNIK SIPIL

Operator Fortran 77 FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

No. Pernyataan Operasi


1. Operator penyangkalan (unary) .NOT.
2. Operator perpangkatan (power) **
3. Operator perkalian (multiplication) *
4. Operator pembagian (division) /
5. Operator “gerbang (bitwise) and” .AND.
6. Operator “gerbang or”
7. Operator penambahan (addition) +
8. Operator pengurangan (substraction) -
9. Tanda penugasan (assignment) =
10. Komparasi identik (equal to) .EQ.
11 Komparasi tak identik (not equal to) .NE.
12. Komparasi lebih besar (greater than) .GT.
Struktur Baja II

JURUSAN TEKNIK SIPIL

Operator Fortran 77 FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

No. Pernyataan Operasi


13. Komparasi lebih kecil (less than) .LT.
14. Komparasi lebih besar atau sama dengan .GE.
15. Komparasi lebih kecil atau sama dengan .LE.
Struktur Baja II

JURUSAN TEKNIK SIPIL

Tipe Data FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Tipe data adalah jenis data yang dapat diolah oleh


komputer untuk memenuhi kebutuhan dalam
pemrograman komputer.
• Setiap variabel atau konstanta yang ada dalam kode
program, sebaiknya ditentukan dengan pasti tipe
datanya. Ketepatan pemilihan tipe data pada variabel
atau konstanta akan sangat menentukan pemakaian
sumberdaya komputer (terutama memori komputer).
• Salah satu tugas penting seorang programmer adalah
memilih tipe data yang sesuai untuk menghasilkan
program yang efisien dan berkinerja tinggi.
Struktur Baja II

JURUSAN TEKNIK SIPIL

Pengelompokan Tipe Data FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

Numeric

Primitive Character

Tipe Data Boolean

Array

Record

Composite Image

Date Time

Lainnya (Subrange,
Ada 2 jenis tipe data : enumerasi, dll)
1. Tipe data primitive adalah tipe data dasar yang tersedia secara langsung pada
suatu bahasa pemrograman.
2. Tipe data composite adalah tipe data bentukan yang terdiri dari dua atau
lebih tipe data primitive.
Struktur Baja II

JURUSAN TEKNIK SIPIL

Tipe Data Numeric FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Tipe data numeric digunakan pada variabel atau


konstanta untuk menyimpan nilai dalam bentuk
bilangan atau angka. Semua bahasa pemrograman
menyediakan tipe data numeric, hanya berbeda dalam
jenis numeric yang diakomodasi.
• Tipe data numeric antara lain:
1. integer (bilangan bulat)
2. float (bilangan pecahan).
3. tipe data Single adalah tipe data untuk bilangan pecahan
dengan presisi yang terbatas
4. tipe data Double adalah tipe data untuk bilangan pecahan
dengan presisi yang lebih akurat.
Struktur Baja II

JURUSAN TEKNIK SIPIL

Tipe Data dalam FORTRAN FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Setiap variabel harus didefinisikan dalam sebuah


deklarasi. Ini menetapkan jenis variabel. Deklarasi yang
paling umum adalah:
 interger daftar bilangan bulat dari variabel
 real daftar variabel nyata
 double precision daftar variabel presisi ganda
 complex daftar variabel yang kompleks
 logical daftar logis variabel
 character daftar karakter variabel
Struktur Baja II

JURUSAN TEKNIK SIPIL

Tipe Data dalam FORTRAN FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Daftar variabel harus terdiri dari nama variabel yang


dipisahkan dengan koma.
• Setiap variabel harus dideklarasikan satu kali.
• Jika sebuah variabel tidak dideklarasikan, Fortran 77
menggunakan seperangkat aturan implisit untuk
menetapkan tipenya. Ini berarti semua variabel yang
dimulai dengan huruf i-n adalah interger dan yang
lainnya real.
Struktur Baja II

JURUSAN TEKNIK SIPIL

Tipe Data dalam FORTRAN FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Fortran didesain untuk 5 tipe data:


1. Integer
2 byte (-32767 s/d 32767)
4 byte (-2147483647 s/d 2147483647)
2. Real atau single precision
positif : 8.43E-37 s/d 3.37E+38
negatif : -3.37E+38 s/d -8.43E-37
3. Double precision
positif : 4.19D-307 s/d 1.67D+308
negatif : -1.67D+38 s/d -4.19D-307
4. Character (max 127 karakter)
a. Alphabet : A – Z , a – z
b. Numerik : 0 – 9
c. Blank
d. Karakter khusus (? , = , !) dll
5. Logical
.TRUE. untuk logika benar
.FALSE. untuk logika salah
Struktur Baja II

JURUSAN TEKNIK SIPIL

Tipe Data dalam FORTRAN FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

1. Integer
Variabel integer adalah variable yang digunakan untuk menyimpan nilai
numerik bulat. Bila tidak didefinisikan, maka variabel integer harus
ditunjukkan oleh nama variabelnya yang diawali dengan huruf I, J, K , L,
M, atau N. Besar memory yang dibutuhkan 2 byte atau 4 byte (default).
Contoh:
INTEGER*2 ISI  mendifinikan variabel ISI menjadi 2 byte
ISI = 275
2. Real atau single precision
Variabel real presisi tunggal adalah variabel yang digunakan untuk
menyimpan nilai numerik pecahan sebesar 4 byte. Nama variabelnya harus
diawali dengan huruf selain I, J, K, L, M, dan N. Besar memory adalah 4
byte.
Contoh:
REAL NILAI
NILAI = 99
Struktur Baja II

JURUSAN TEKNIK SIPIL

Tipe Data dalam FORTRAN FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

3. Double precision
Adalah variable yang digunakan untuk menyimpan nilai numerik
pecahan sebesar 8 byte. Nama variabelnya harus diawali dengan huruf
selain I, J, K, L, M, dan N. Besar memory adalah 8 byte.
Contoh:
REAL*8 NILAI
NILAI = 275
Atau
DOUBLE PRECISION NILAI
NILAI = 75
Struktur Baja II

JURUSAN TEKNIK SIPIL

Tipe Data dalam FORTRAN FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

4. Character
Adalah variable yang digunakan untuk menyimpan nilai karakter.
Default dari variabel ini adalah 4 byte dan dapat didefinisikan menjadi
1 byte atau n byte (n maksimum 127 byte). Nama dari variabel karakter
bebas ini bebas diawali dengan huruf apapun.
Contoh :
CHARACTER NAMA
CHARACTER*20 NAMA  mengalokasikan 20 byte untuk NAMA
Struktur Baja II

JURUSAN TEKNIK SIPIL

Tipe Data dalam FORTRAN FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

5. Logical
Adalah variable yang digunakan untuk menyimpan nilai logika.
Default dari variabel ini adalah 4 byte dan dapat didefinisikan menjadi
2 byte. Nama variabel dapat bebas diawali huruf apapun.
Contoh :
STATUS = .TRUE.
LOGICAL STATUS
LOGICAL*2 STATUS
Struktur Baja II

JURUSAN TEKNIK SIPIL

Pernyataan “if” FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Bagian penting dari setiap bahasa pemrograman adalah pernyataan kondisional.


Pernyataan yang paling umum di Fortran adalah pernyataan if, yang sebenarnya
memiliki beberapa bentuk. Yang paling sederhana adalah pernyataan if logis:
 if (ekspresi logis) pernyataan yang dapat dieksekusi
 Ini harus ditulis dalam satu baris. Contoh ini menemukan nilai absolut dari x:
if (x .LT. 0) x = -x
 Jika lebih dari satu pernyataan harus dieksekusi di dalam if, maka sintaks berikut harus
digunakan:

if (logical expression) then


statements
elseif (logical expression) then
statements
:
:
else
statements
endif
Struktur Baja II

JURUSAN TEKNIK SIPIL

Pernyataan “if” FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

 Alur eksekusi dari atas ke bawah. Ekspresi kondisional dievaluasi


secara berurutan sampai ditemukan benar. Kemudian pernyataan
terkait dieksekusi dan kontrol dilanjutkan setelah endif.
• Pernyataan if bersarang
 jika pernyataan dapat bersarang di beberapa level. Untuk
memastikan keterbacaan, penting untuk menggunakan lekukan
yang tepat. Berikut ini contohnya:
if (x .GT. 0) then
if (x .GE. y) then
write(*,*) 'x positif dan x >= y'
else
write(*,*) 'x positif tapi x
 Anda harus menghindari bersarang banyak tingkat pernyataan if
karena hal-hal menjadi sulit untuk diikuti.
Struktur Baja II

JURUSAN TEKNIK SIPIL

Loops FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Untuk eksekusi berulang dari hal serupa, loops


digunakan. Jika Anda familiar dengan bahasa
pemrograman lain, Anda mungkin pernah mendengar
tentang for-loop, while-loop, dan until-loop.
• Fortran 77 hanya memiliki satu konstruksi loop, yang
disebut do-loop. Konstruksi loop lainnya harus dibangun
menggunakan pernyataan if dan goto.
Struktur Baja II

JURUSAN TEKNIK SIPIL

do-loops FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Do-loop digunakan untuk penghitungan sederhana. Berikut


adalah contoh sederhana yang mencetak jumlah kumulatif
bilangan bulat dari 1 hingga n (asumsikan n telah diberi nilai
di tempat lain):

1234567  urutan kolom bukan bagian dari program


integer i, n, sum
sum = 0
do 10 i = 1, n
sum = sum + i
write(*,*) 'i =', i
write(*,*) 'sum =', sum
10 continue
Struktur Baja II

JURUSAN TEKNIK SIPIL

do-loops FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Angka 10 adalah label pernyataan. Biasanya, akan ada


banyak loop dan pernyataan lain dalam satu program
yang memerlukan label pernyataan.
• Programmer bertanggung jawab untuk menetapkan
nomor unik untuk setiap label di setiap program (atau
subprogram). Ingat bahwa posisi kolom 1-5 dicadangkan
untuk label pernyataan. Nilai numerik dari label
pernyataan tidak memiliki signifikansi, sehingga
bilangan bulat apa pun dapat digunakan, dalam urutan
apa pun. Biasanya, sebagian besar programmer
menggunakan kelipatan 10 yang berurutan.
Struktur Baja II

JURUSAN TEKNIK SIPIL

do-loops FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Variabel yang didefinisikan dalam pernyataan-do bertambah 1 secara


default. Namun, Anda dapat menentukan langkahnya menjadi angka
apa pun kecuali nol. Segmen program ini mencetak bilangan genap
antara 1 dan 10 dalam urutan menurun:

integer i
do 20 i = 10, 1, -2
write(*,*) 'i =', i
20 continue

• Bentuk umum dari perulangan do adalah sebagai berikut:

do label var = expr1, expr2, expr3


statements
label continue
 var adalah variabel loop (sering disebut indeks loop) yang harus bilangan bulat.
expr1 menentukan nilai awal var, expr2 adalah batas terminasi, dan expr3
adalah kenaikan (langkah).
Struktur Baja II

JURUSAN TEKNIK SIPIL

do-loops FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Catatan: Variabel do-loop tidak boleh diubah oleh


pernyataan lain di dalam loop! Ini akan menyebabkan
kebingungan besar.
• Indeks loop dapat bertipe real, tetapi karena kesalahan
pembulatan mungkin tidak mengambil urutan nilai yang
diharapkan.
• Banyak kompiler Fortran 77 memungkinkan do-loop
ditutup oleh pernyataan enddo. Keuntungannya adalah
bahwa label pernyataan kemudian dapat dihilangkan
karena diasumsikan bahwa suatu enddo menutup
pernyataan do terdekat sebelumnya. Konstruk enddo
banyak digunakan, tetapi bukan merupakan bagian dari
ANSI Fortran 77.
Struktur Baja II

JURUSAN TEKNIK SIPIL

do-loops FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Perlu dicatat bahwa tidak seperti beberapa bahasa


pemrograman, Fortran hanya mengevaluasi ekspresi start,
end, dan step satu kali, sebelum lewatan pertama isi loop. Ini
berarti bahwa do-loop berikut akan mengalikan j non-negatif
dengan dua, daripada berjalan selamanya seperti loop yang
setara dalam bahasa lain.

integer i,j
read (*,*) j
do 20 i = 1, j
j = j + 1
20 continue
write (*,*) j
Struktur Baja II

JURUSAN TEKNIK SIPIL

while-loops FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Cara paling intuitif untuk menulis while-loop adalah


while (logical expr) do
statements
enddo

 or alternatively,

do while (logical expr)


statements
enddo
Struktur Baja II

JURUSAN TEKNIK SIPIL

while-loops FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Program akan bergantian menguji kondisi dan


mengeksekusi pernyataan di badan selama kondisi
dalam pernyataan while benar. Meskipun sintaks ini
diterima oleh banyak kompiler, ini bukan ANSI Fortran
77. Cara yang benar adalah menggunakan if dan goto:

label if (logical expr) then


statements
goto label
endif
Struktur Baja II

JURUSAN TEKNIK SIPIL

while-loops FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Berikut adalah contoh yang menghitung dan mencetak


semua pangkat dua yang kurang dari atau sama dengan
100:
integer n
n = 1
10 if (n .le. 100) then
write (*,*) n
n = 2*n
goto 10
endif
Struktur Baja II

JURUSAN TEKNIK SIPIL

until-loops FAKULTAS TEKNIK


UNIVERSITAS SYIAH KUALA

• Jika kriteria terminasi berada di akhir dan bukan di awal,


maka sering disebut until-loop. Pseudocodenya terlihat
seperti ini:

do
statements
until (logical expr)

• Sekali lagi, ini harus diterapkan di Fortran 77 dengan


menggunakan if dan goto:

label continue
statements
if (logical expr) goto label
Ada Pertanyaan ???

Minggu
depan
Quis ke-1

Pemrograman Komputer
Download Bahan Kuliah Ke-

JURUSAN
JURUSAN
JURUSAN TEKNIKTEKNIK
TEKNIK SIPIL SIPIL
SIPIL
FAKULTAS
FAKULTAS
FAKULTAS TEKNIK
TEKNIK
TEKNIK
UNIVERSITAS
UNIVERSITAS SYIAHKUALA
UNIVERSITAS SYIAH
SYIAH KUALA
KUALA

Anda mungkin juga menyukai