fortran

71
Teknik Komputer BAB I PENGANTAR KOMPUTER Deskripsi : Membahas tentang komponen-komponen komputer, dan bahasa komputer. Tujuan Instruksional Khusus (TIK): 1. Mahasiswa dapat mengenal dan memahami fungsi komponen-komponen komputer. 2. Mahasiswa dapat memahami bahasa komputer atau bahasa mesin. A. PENDAHULUAN Pada umumnya komputer dapat digolongkan menjadi komputer digital dan komputer analog. Komputer digital merupakan piranti penghitung dan beroperasi dengan besaran numerik diskrit atau urutan terbatas dari angka-angka. Sedangkan komputer analog beroperasi dengan mengukur besaran kuantitas dari suatu rangkaian listrik secara paralel atau analog. Hasil komputer analog diperlihatkan dalam bentuk kurva tanpa memperlihatkan nilai-nilai numerik diskrit. 1

Upload: restu-dchoco

Post on 24-Jul-2015

2.077 views

Category:

Documents


31 download

TRANSCRIPT

Page 1: Fortran

Teknik Komputer

BAB I

PENGANTAR KOMPUTER

Deskripsi : Membahas tentang komponen-komponen

komputer, dan bahasa komputer.

Tujuan Instruksional Khusus (TIK):

1. Mahasiswa dapat mengenal dan memahami fungsi

komponen-komponen komputer.

2. Mahasiswa dapat memahami bahasa komputer atau

bahasa mesin.

A. PENDAHULUAN

Pada umumnya komputer dapat digolongkan menjadi

komputer digital dan komputer analog. Komputer digital

merupakan piranti penghitung dan beroperasi dengan

besaran numerik diskrit atau urutan terbatas dari

angka-angka. Sedangkan komputer analog beroperasi

dengan mengukur besaran kuantitas dari suatu rangkaian

listrik secara paralel atau analog. Hasil komputer

analog diperlihatkan dalam bentuk kurva tanpa

memperlihatkan nilai-nilai numerik diskrit.

Pada awal ditemukan komputer digital oleh Mauchly,

Eckert dan Von Neuman yaitu Electronic Numerical

Integrator and Calculator (ENIAC), komputer digital

masih memiliki kapasitas yang kecil tetapi mempunyai

ukuran yang besar bahkan beberapa diantaranya menempati

seluruh ruangan. Namun dengan meningkatnya pengetahuan

1

Page 2: Fortran

Pemrograman Bahasa Fortran

mengenai rangkaian, ukuran komputer semakin kecil

tetapi kapasitasnya bertambah. Jenis komputer ini

sering disebut dengan komputer pribadi (Personal

Computer, PC).

B. KOMPONEN KOMPUTER PRIBADI

Komponen komputer pribadi dapat dibedakan menjadi

dua macam, yaitu perangkat keras (hardware) dan

perangkat lunak (software). Perangkat keras merupakan

fisik bagian nyata dari komputer seperti keyboard,

layar monitor, dan lain-lain, sedangkan perangkat lunak

terdiri dari program-program dengan instruksi tertentu.

Secara umum, komputer dibagi atas empat unit, yaitu

unit masukan, unit pemrosesan pusat atau CPU, unit

penyimpan, dan unit keluaran. CPU dan unit penyimpan

biasanya digabungkan dalam suatu unit sistem.

Unit masukan dapat berupa papan tombol (keyboard)

atau alat-alat ukur seperti termokopel, straingage, dan

lain-lain yang dihubungkan dengan suatu konektor atau

interface.

CPU menampilkan semua instruksi yang diberikan ke

komputer. CPU dapat melaksanakan operasi penambahan,

pengurangan, atau membandingkan nilai-nilai yang

diinginkan oleh instruksi tersebut.

Unit penyimpanan pada umumnya terdiri dari tiga

bagian yaitu: memori yang hanya baca (ROM), memori

akses acak (RAM), dan media penyimpan seperti disket,

harddisk, compact disk (CD), dan optical disk.

2

Page 3: Fortran

Teknik Komputer

Gambar 1. Komponen perangkat keras komputer

C. BAHASA KOMPUTER

Komputer merupakan rangkaian terpadu elektronik

sehingga bahasa yang dikenal komputer adalah bahasa

elektronik. Bahasa elektronik menggunakan kombinasi dua

karakter dari sistem angka biner untuk menyatakan dan

menyimpan semua karakter lain, yaitu nol (0) jika tidak

terhubung dan satu (1) jika terhubung.

Gambar 2. Rangkaian elektronik, a) hubung seri dan b) hubung paralel

3

Layar Keluaran:

Monitor, viewer

Alat Masukan

(Input):Keyboard, Interfaces

(thermocouples, straingauges)

Alat Keluaran

(Output):Printer, Plotter, Interfaces

(switches, electric motors)

CPU(Central Processing Unit)

ROM RAM

Media

Penyimpan: Hard disk,

floppy disk, CD, optical disk

Unit Penyimpan

Unit Sistem

A B

Z

A

B

Z

Page 4: Fortran

Pemrograman Bahasa Fortran

Pada gambar 2a, lampu Z menyala (1) jika A

terhubung (1) dan B terhubung (1) atau Z = AB.

Sedangkan pada gambar 2b, lampu Z menyala (1) jika A

terhubung (1) atau B terhubung (1), Z = A + B.

4

Page 5: Fortran

Teknik Komputer

BAB II

ALGORITMA PEMROGRAMAN

Deskripsi : Membahas tentang bahasa pemrograman,

algoritma pemrograman dan diagram alir

(flow chart) disertai contoh soal dan

latihan-latihan.

Tujuan Instruksional Khusus (TIK):

1. Mahasiswa mampu memahami tentang bahasa

pemrograman.

2. Mahasiswa mampu menganalisa persoalan menggunakan

algoritma dan diagram alir.

A. PENDAHULUAN

Komputer merupakan alat bantu dalam menyelesaikan

masalah. Namun, komputer tidak bisa langsung

menyelesaikan masalah yang diberikan, sehingga

diperlukan rumusan langkah-langkah penyelesaian masalah

tersebut dalam suatu runtunan instruksi. Sekumpulan

instruksi yang merupakan penyelesaian masalah disebut

program. Agar program dapat dilaksanakan oleh komputer,

maka program harus ditulis dalam suatu bahasa yang

dimengerti oleh komputer sehingga komputer dapat

mengerjakan instruksi-instruksi tersebut dan memberikan

hasil atau keluaran yang diinginkan.

Secara umum, tahapan pembuatan program adalah

sebagai berikut:

5

Page 6: Fortran

Pemrograman Bahasa Fortran

1. Memahami persoalan yang akan diselesaikan

2. Menentukan langkah-langkah untuk menyelesaikan

persoalan dalam bentuk flow chard

3. Menulis program

4. Pengujian program

B. BAHASA PEMROGRAMAN

Bahasa pemrograman dapat didefinisikan sebagai

suatu bahasa dengan aturan-aturan tertentu seperti tata

bahasa, instruksi-instruksi, tata cara pengoperasian

kompiler, dan penggunaan instruksi-instruksi tersebut

dalam pembuatan program yang ditulis hanya dalam bahasa

tersebut. Hingga saat ini banyak terdapat bahasa

pemrograman antara lain bahasa rakitan (assembly),

Fortran, Cobol, Pascal, Basic, C, dan lain-lain.

Berdasarkan terapannya, bahasa pemrograman dapat

digolongkan menjadi:

1. Bahasa pemrograman terapan khusus, sebagai contoh:

- Cobol : untuk bisnis dan administrasi

- Fortran : untuk komputasi ilmiah

- Bahasa rakitan : untuk pemrograman mesin

2. Bahasa pemrograman terapan umum, dapat digunakan

untuk berbagai aplikasi seperti bahasa Pascal,

Basic, dan C.

Berdasarkan notasinya, bahasa pemrograman dapat

dikelompokkan atas dua macam, yaitu:

1. Bahasa tingkat rendah.

Bahasa ini dirancang agar setiap instruksinya

langsung dapat diolah oleh komputer tanpa melalui

translator. Yang termasuk bahasa tingkat rendah

adalah bahasa mesin dimana CPU mengambil instruksi

6

Page 7: Fortran

Teknik Komputer

dari memori, langsung mengerti dan mengerjakan

operasinya. Bahasa ini bersifat primitif.

Orientasinya lebih dekat ke mesin dan sulit dipahami

manusia.

2. Bahasa tingkat tinggi.

Bahasa tingkat tinggi lebih mudah dipahami dan

berorientasi ke bahasa manusia. Program dalam bahasa

ini tidak dapat langsung dikerjakan oleh komputer,

perlu diterjemahkan oleh sebuah translator ke bahasa

mesin sebelum akhirnya dieksekusi oleh CPU. Yang

termasuk dalam bahasa tingkat tinggi adalah Pascal,

Fortran, Basic, Cobol, C, dan lain-lain.

Proses pelaksanaan program dalam bahasa

pemrograman dapat digambarkan sebagai berikut:

Gambar 3. Proses pelaksanaan program oleh komputer

7

AlgoritmaAlgoritma

Program Bahasa Tingkat Tinggi

Program Bahasa Tingkat Tinggi

Program Bahasa Tingkat Rendah

(bahasa komputer)

Program Bahasa Tingkat Rendah

(bahasa komputer)

Translasi

Kompilasi

Operasi(Baca, Tulis, Hitung, dll)

Operasi(Baca, Tulis, Hitung, dll)

Interpretasi CPU

Page 8: Fortran

Pemrograman Bahasa Fortran

Algoritma ditranslasikan menjadi program dalam

bahasa tingkat tinggi. Selanjutnya program dikompilasi

dan diterjemahkan menjadi program dalam bahasa tingkat

rendah. Instruksi dalam bahasa tingkat rendah

diinterpretasikan oleh CPU untuk melaksanakan berbagai

macam operasi.

Tampak bahwa proses yang harus dilalui komputer

dalam melaksanakan program lebih panjang, namun karena

semuanya dilakukan dengan kecepatan tinggi maka dalam

praktek prosesnya jauh lebih cepat dan praktis.

C. ALGORITMA DAN DIAGRAM ALIR

Algoritma

Algoritma (algorithm) adalah suatu deretan

instruksi langkah demi langkah untuk menyelesaikan

masalah. Instruksi langkah demi langkah dikodekan pada

bahasa berorientasi pemakai. Hal ini disebut dengan

program. Instruksi-instruksi dari program tersebut

diterjemahkan melalui program kompiler ke dalam program

bahasa mesin yang dapat diinterpretasikan dan

dilaksanakan oleh komputer.

Menurut Donald E. Knuth yang dikutip oleh Rinaldi

Munir dalam bukunya Algoritma dan Pemrograman,

algoritma mempunyai lima ciri penting yaitu:

1. Algoritma harus berhenti setelah mengerjakan

sejumlah langkah terbatas.

2. Setiap langkah harus didefinisikan dengan tepat dan

tidak bermakna ganda (ambiguous).

3. Algoritma memiliki nol atau lebih masukkan (input).

Masukkan adalah besaran yang diberikan kepada

algoritma sebelum algoritma mulai bekerja.

8

Page 9: Fortran

Teknik Komputer

4. Algoritma mempunyai nol atau lebih keluaran

(output). Keluaran adalah besaran yang memiliki

hubungan dengan masukkan.

5. Algoritma harus efektiv. Setiap langkah harus

sederhana sehingga dapat dikerjakan dalam sejumlah

waktu yang logis.

Diagram Alir

Algoritma biasanya ditunjukkan dalam bentuk grafis

yang dikenal dengan diagram alir (flowchart). Untuk

menggambarkan diagram alir dipergunakan simbol-simbol

yang sudah standar. Simbol diagram alir sebenarnya

cukup banyak, namun untuk keperluan komputasi dapat

menggunakan beberapa simbol berikut:

No SIMBOL KETERANGAN

1. Tanda arah aliran

2.Terminal, menunjukkan awal

atau akhir program

3. Data Input/Output. Digunakan

untuk membaca atau menuliskan

data

4.

Kondisi. Keputusan untuk

mengubah arah aliran program

5.Subprogram. Kelompok kegiatan

yang tidak disebutkan secara

detail.

9

Page 10: Fortran

Pemrograman Bahasa Fortran

No SIMBOL KETERANGAN

No SIMBOL KETERANGAN

6.

Sambungan dalam satu halaman

7.Sambungan untuk ganti

halaman.

D. CONTOH SOAL DAN PENYELESAIAN

Contoh Algoritma

1. Algoritma Euclidean

Diberikan dua buah bilangan bulat positif m dan n (m

≥ n). Carilah pembagi bersama terbesar (pbt) dari

kedua bilangan tersebut, yaitu bilangan bulat

positif terbesar yang habis membagi m dan n.

Deskripsi :

a. Bagilah m dengan n dan misalkan r

adalah sisanya.

b. Jika r = 0 maka

n adalah jawabannya;

stop

tetapi jika r ≠ 0,

lanjutkan ke langkah c.

c. Ganti nilai m dengan nilai n dan nilai

n dengan nilai r, lalu ulang kembali ke langkah

a.

Sebagai contoh, misalkan m = 30 dan n = 12, maka pbt

(30,12) dapat dihitung dengan algoritma Euclidean

sebagai berikut :

10

Page 11: Fortran

Teknik Komputer

1.1 Hitung m/n = 30/12 = 2, sisanya r = 6

1.2 Karena r = 6 ≠ 0, maka lanjutkan ke langkah 1.3

1.3 Nilai m = n = 12 dan n = r = 6. Lanjutkan ke

langkah 1.2

1.4 Hitung m/n = 12/6 = 2, sisanya r = 0.

1.5 Karena r = 0, maka n = 6 adalah jawabannya.

Stop.

Jadi, pbt (30,12) = 6.

2. Algoritma TUKAR ISI BEJANA

Diberikan dua buah bejana, A dan B; bejana A berisi

larutan berwarna hitam, bejana B berisi larutan

berwarna putih. Pertukarkan isi kedua bejana itu

sedemikian sehingga bejana A berisi larutan berwarna

putih dan bejana B berisi larutan berwarna hitam.

Deskripsi :

a. Tuangkan larutan dari bejana A ke dalam bejana B.

b. Tuangkan larutan dari bejana B ke dalam bejana A.

Gambar 4. Dua buah bejana berisi larutan yang berbeda warna. Bejana A berisi larutan berwarna hitam, bejana B berisi larutan berwarna putih.

Algoritma TUKAR ISI BEJANA di atas tidak

menghasilkan pertukaran yang benar. Langkah-

langkahnya tidak logis. Yang terjadi adalah

11

Bejana A Bejana B

Page 12: Fortran

Pemrograman Bahasa Fortran

percampuran keduanya. Jadi algoritma TUKAR ISI

BEJANA tersebut salah.

Untuk mempertukarkan isi dua buah bejana, diperlukan

sebuah bejana tambahan sebagai tempat penyimpanan

sementara. Misalkan bejana tambahan tersebut bejana

C. Dengan menggunakan bejana bantu C ini, algoritma

mempertukarkan isi dua buah bejana yang benar adalah

sebagai berikut ini :

Algoritma TUKAR ISI BEJANA

Deskripsi :

a. Tuangkan larutan dari bejana A ke dalam bejana C.

b. Tuangkan larutan dari bejana B ke dalam bejana A.

c. Tuangkan larutan dari bejana C ke dalam bejana B.

Dengan algoritma TUKAR ISI BEJANA yang sudah

diperbaiki ini, isi bejana A dan bejana B dapat

dipertukarkan dengan benar. Pada akhir algoritma,

bejana A berisi larutan berwarna putih dan bejana B

berisi larutan berwarna hitam.

Keadaan awal sebelum pertukaran :

Proses pertukaran :

a. Tuangkan larutan dari bejana A ke dalam bejana C

12

Bejana A Bejana B Bejana C

Bejana A Bejana B Bejana C

Page 13: Fortran

Teknik Komputer

b. Tuangkan larutan dari bejana B ke dalam bejana A

c. Tuangkan larutan dari bejana C ke dalam bejana B

Keadaan akhir setelah pertukaran :

Gambar 5. Proses pertukaran isi bejana A dan bejana B, menggunakan bejana bantu C. Setelah pertukaran, bejana A berisi larutan dari bejana B semula, demikian pula sebaliknya.

Kedua contoh algoritma yang telah diuraikan di

atas memberikan dua pesan penting. Pertama,

algoritma harus benar. Kedua, algoritma harus

13

Bejana A Bejana B Bejana C

Bejana A Bejana B Bejana C

Bejana A Bejana B Bejana C

Page 14: Fortran

Pemrograman Bahasa Fortran

berhenti, dan setelah berhenti, algoritma harus

memberikan hasil yang benar.

Contoh Diagram Alir

1. Menghitung jumlah dari dua buah bilangan A dan B

Gambar 6. Diagram alir untuk menjumlahkan dua buah bilangan

14

START

Baca A,B

Hitung :JUMLAH = A + B

Tulis :JUMLAH

STOP

Page 15: Fortran

Teknik Komputer

2. Menghitung jumlah bilangan 1 hingga 10

Gambar 7. Diagram alir untuk menghitung jumlah bilangan 1 hingga 10

15

START

Hitung :JUMLAH = JUMLAH + I

Tulis :JUMLAH

STOP

I = 0JUMLAH = 0

I ≤ 10 ?

Hitung :I = I + 1

Ya

Tidak

Page 16: Fortran

Pemrograman Bahasa Fortran

3. Menghitung keliling dan luas segitiga

A,B,C : sisi-sisi segitiga

Keliling = A + B + C

Luas = (S(S-A)(S-B)(S-C))0.5

Dimana : S = keliling/2

16

START

Baca A,B,C

Hitung :Keliling = A + B + C

Hitung :S = Keliling/2

Hitung :

Luas = (S(S-A)(S-B)(S-C))0.5

Tulis :KelilingLuas

STOP

Page 17: Fortran

Teknik Komputer

Gambar 8. Diagram alir untuk menghitung luas dan

keliling segitiga.

4. Menghitung akar-akar persamaan kuadrat

17

START

Baca A,B,C

Hitung :D = B2-4AC

D<0

D=0

Hitung :X1 = X2 =

Hitung :X1 = X2 = X1

Tulis :“Tidak ada akar riil”

Ya

Ya

TidakTidak

TulisX1, X2

STOP

Page 18: Fortran

Pemrograman Bahasa Fortran

Gambar 9. Diagram alir untuk menghitung akar-akar

persamaan kuadrat

E. SOAL-SOAL

1. Jika diameter sebuah lingkaran adalah D, buatlah

diagram alir untuk menentukan luas dan keliling dari

lingkaran tersebut.

2. Buat diagram alir untuk menghitung luas daerah yang

diarsir berikut ini.

3. Buat diagram alir untuk menghitung jumlah bilangan

bulat positif dari 2 hingga 100.

4. Buat diagram alir untuk menghitung jumlah bilangan

bulat positif dari K hingga L dengan kelipatan M.

5. Buat diagram alir untuk menentukan nilai terkecil

dan terbesar dari N buah bilangan berikut:

a. 3 5 1 9 10 6 8 7 (8 buah bilangan)

b. 2 1 16 5 8 4 10 7 9 3 (10 buah bilangan)

18

L

TD

Page 19: Fortran

Teknik Komputer

BAB III

DASAR-DASAR PEMROGRAMAN BAHASA FORTRAN

Deskripsi : Membahas tentang aturan penulisan,

variabel, dan simbol-simbol matematik

serta cara operasional bahasa Fortran

menggunakan Watfor-77.

Tujuan Instruksional Khusus (TIK):

1. Mahasiswa dapat mengenal dan mampu memahami

aturan penulisan program dalam Bahasa Fortran.

2. Mahasiswa mampu memahami konsep dasar pemrograman

Fortran.

3. Mahasiswa dapat menerapkan program Bahasa Fortran

untuk menyelesaikan problem matematika sederhana.

A. PENDAHULUAN

Bahasa Fortran banyak digunakan dalam bidang

komputasi baik komputasi di bidang sains maupun bidang

teknik. Komputasi sangat terkait dengan bentuk

penyajian data karena menentukan tingkat keakuratan

data yang diolah sesuai dengan orientasi penggunaannya.

Secara umum, data dibagi dalam dua jenis yaitu

data numeris dan data alphanumeris. Data numeris

merupakan data yang disajikan dalam bentuk angka-angka,

sedangkan data alphanumeris adalah data dalam bentuk

huruf dan angka.

19

Page 20: Fortran

Pemrograman Bahasa Fortran

Dalam Bahasa Fortran, data numeris diperinci

menjadi dua jenis yaitu data real dan data integer. Hal

ini membedakan Bahasa Fortran dengan bahasa-bahasa

lainnya. Sebagai contoh, dalam Bahasa Cobol justru data

alphanumeris yang diperinci menjadi dua jenis yaitu

data alphabetis dan data alphanumeris. Selain itu,

dalam Bahasa Fortran tidak dikenal adanya birokrasi

yang harus dipenuhi dalam cara-cara penulisannya,

sehingga jauh lebih sederhana.

B. ATURAN PENULISAN PROGRAM

Penulisan program dalam Bahasa Fortran mengikuti

aturan-aturan sebagai berikut:

1. Pernyataan (statement) ditulis pada kolom 7 hingga

kolom 72, tetapi tidak harus dimulai dari kolom 7.

Contoh:

1 2 3 4 5 6 7 72..

.80

R E A

R

D

E

(

A

*

D

,

(

1

*

0

,

)

1

A

0 ) A

1

2

2. Jika pernyataan tersebut lebih dari kolom 72, maka

dapat disambung pada baris di bawahnya dengan

diberi tanda sambung pada kolom 6. Tanda sambung

dapat menggunakan sembarang karakter selain 0 (nol)

seperti: 1, 2, 3, ...., 9, *, $, dan lain-lain.

Contoh:

20

Page 21: Fortran

Teknik Komputer

Y = X125 + X124 + X123 + X122

1 2 3 4 5 6 7 72 ... 80

1

Y

*

=

*

X

1

*

2

*

3

1

+

2

X

5

*

+

*

X

1

*

2

*

2

1 2 4 + X 1

2

Angka 1 pada kolom 6 di baris 2 merupakan tanda

sambung. Maksimum perpanjangan adalah 19 baris.

3. Kolom 1 hingga 5 digunakan untuk menuliskan label

alamat atau nomor pernyataan.

Contoh:

1 2 3 4 5 6 7 72 ... 80

1 0

1

0

0

1

0

0 0

R

F

F

F

E

O

O

O

A

R

R

R

D

M

M

M

(

A

A

A

*

T

T

T

,

(

(

(

1

8

8

8

0

F

F

F

0

5

5

5

)

.

.

.

A

1

1

1

)

)

)

1

2

3

4

Penulisan nomor pernyataan 100 pada baris 2, 3, dan

4 mempunyai arti yang sama.

4. Kolom 73 hingga 80 tidak diproses oleh komputer.

Kolom ini digunakan untuk menulis nomor urut

pernyataan.

Contoh:

1 2 3 4 5 6 7 80

A

W

=

R

B

I

+

T

C

E ( * , 2 5 ) A , B , C

0

0

0

0

0

0

1

2

3

001, 002, 003 adalah nomor urut pernyataan.

21

Page 22: Fortran

Pemrograman Bahasa Fortran

5. Jika huruf C atau * dituliskan pada kolom 1 dari

suatu baris pernyataan, maka seluruh kolom pada

baris tersebut (kolom 2 – 80) dianggap sebagai

catatan atau komentar dan tidak akan diproses oleh

komputer.

Contoh:

1 2 3 4 5 6 7

C

C

C

*

P

L

_

R

U

_

O

A

_

G

S

_

R

_

A

S

_

M

E

_

G

&

U

I

&

N

&

T

T

&

U

I

&

K

G

&

A

&

M

&

E

_

N

_

G

_

H

_

I

_

T

_

U

_

N

_

G

_

C. PEMROGRAMAN DENGAN FORTRAN

1. Karakter Set

Bahasa Fortran menggunakan karakter alfabetik,

numerik, dan karakter-karakter khusus sebagai

berikut:

a. Karakter alfabetik : A, B, C, ..., Z; a, b,

c, ..., z

b. Karakter numerik : 0, 1, 2, ...., 9

c. 10 karakter khusus yang sering digunakan :

+ (tambah) . (titik)

- (kurang) , (koma)

* (bintang/asterisk) ‘ (tanda kutip)

/ (garis miring/slash) ( (kurung buka)

= (tanda sama dengan) ) (kurung tutup)

Selain itu, karakter lain yang juga tersedia

adalah $, ?, !, #, :, “, dan ;.

d. Karakter blank (kosong).

22

Page 23: Fortran

Teknik Komputer

2. Konstanta

Dalam bahasa fortran dikenal tiga macam konstanta:

a. Konstanta bilangan bulat (integer) yaitu

konstanta yang tidak mengandung titik desimal.

Contoh: 0, -2, 300, -1000

Beberapa aturan yang berhubungan dengan bilangan

bulat adalah:

1) Tidak ada titik desimal

2) Tidak ada harga pecahan

3) Dipakai sebagai perhitungan, pangkat, dan

angka identifikasi

4) Sisa hasil pembagian hilang (terpotong),

misalnya:

4/3 nilainya adalah 1

4/5 nilainya adalah 0

17/5 nilainya adalah 3

b. Konstanta bilangan riil (real) yaitu konstanta

yang mempunyai titik desimal.

Contoh: 0., -2.0, 300.0, -1000.0

Konstanta real sering ditulis dengan cara

floating point atau dalam bentuk eksponensial,

yaitu:

12000 ditulis : 12E+3 atau 0.12E+5

E adalah Exponent.

Beberapa aturan yang berhubungan dengan bilangan

riil adalah:

1) Titik desimal harus ditulis

2) Tidak boleh dipakai sebagai pangkat untuk

bilangan bulat

3) Sisa hasil pembagian tidak hilang, misalnya:

23

Page 24: Fortran

Pemrograman Bahasa Fortran

4.0/3.0 nilainya adalah 1.3333333

4.0/5.0 nilainya adalah 0.8000000

17.0/5.0 nilainya adalah 3.4000000

0.5E+2/0.2E+1 nilainya adalah 25.0000000

c. Konstanta alfanumerik dan alfabetik.

Contoh: ‘2’, ‘URUT’, ‘TEKNIK’, ‘NO 1.’

3. Variabel

Variabel digunakan untuk menyimpan suatu konstanta.

Nama variabel bisa sembarang, namun harus memenuhi

aturan-aturan sebagai berikut:

a. Minimum 1 karakter, maksimum 6 karakter.-->tidak

b. Karakter pertama harus karakter alfabetis.

c. Tidak mengandung karakter khusus, seperti: ?, =,

!, -.

d. Tidak mengandung karakter kosong (blank).-->

tidak

e. Tidak menggunakan kata standar yang sudah

dipakai kompiler, seperti: READ, WRITE, GOTO,

dan lain-lain.

Variabel ada 3 macam, yaitu:

a. Variabel integer

Digunakan untuk menyimpan konstanta integer.

Variabel integer dimulai dengan salahsatu dari

huruf-huruf:

I, J, K, L, M, N

b. Variabel real

24

Page 25: Fortran

Teknik Komputer

Digunakan untuk menyimpan konstanta real.

Variabel real dimulai dengan huruf selain I, J,

K, L, M, N yaitu: A – H, O – Z.

c. Variabel alfabetis

Digunakan untuk menyimpan konstanta alfabetis.

Contoh:

Tabel 2. Cara penulisan variabel

Variabel Keterangan

NILAIBetul, diawali huruf N (variabel

integer)

JUMLAHBetul, diawali huruf J (variabel

integer)

X1 Betul, diawali huruf X (variabel real)

ANILAI Betul, diawali huruf A (variabel real)

2BLN Salah, huruf pertama numeris

INDONESIA Salah, lebih dari 6 karakter wf77

RATA-2 Salah, menggunakan karakter khusus (-)

SA TU Salah, menggunakan karakter kosong ( )

4. Pernyataan (Statement) Aritmatika

Pernyataan aritmatika merupakan pernyataan yang

dapat dieksekusi yang menentukan nilai numerik dari

sebuah ekspresi aritmetik untuk variabel yang diberi

nama dalam alamat tertentu.

Bentuk umum:

var adalah nama variabel baik bilangan bulat ataupun

riil untuk menyimpan hasil hitungan. Sedangkan

25

var = ekspresi aritmetik

Page 26: Fortran

Pemrograman Bahasa Fortran

ekspresi aritmetik merupakan suatu pernyataan

perhitungan.

Contoh:

G = 100.0 Variabel G berisi 100.0

H = 5.0 Variabel H berisi 5.0

F = G * H Variabel F berisi 500.0

5. Operator Aritmatika

Ekspresi aritmetik Fortran dievaluasi oleh komputer

mengikuti urutan atau hirarki operasi sebagai

berikut:

1) Tanda kurung : menyelesaikan dari dalam ke luar,

membaca dari kiri ke kanan.

2) Evaluasi fungsi : membaca dari ke kanan

3) Perpangkatan :membaca dari kiri ke kanan,

perpangkatan dari kanan ke kiri.

4) Perkalian/pembagian : membaca dan mengalikan atau

membagi dari kiri ke kanan.

5) Penambahan/pengurangan : membaca dan menambah

atau mengurangi dari kiri ke kanan.

Simbol-simbol operasi aritmetik dalam bahasa Fortran

adalah sebagai berikut:

Tabel 3. Simbol operasi aritmetik

Operasi Operator Prioritas

Perpangkatan ** I

Perkalian * II

Pembagian / II

Penambahan + III

26

Page 27: Fortran

Teknik Komputer

Pengurangan - III

Contoh:

4+3/2-1 = 4+1.5-1 = 5.5-1.0 = 4.5

1 2 3

(4+3)/(2-1) = 7/(2-1) = 7/1 = 7

1 2 3

6. Pernyataan Input dan Output

Pernyataan READ

Digunakan untuk membaca data dari suatu media masukkan.

Bentuk umumnya :

Dimana :

I = bilangan integer atau simbol yang

menyatakan kode alat dari mana data akan

dibaca

Contoh : 5 = alat pembaca kartu

* = layar monitor atau keyboard

LF = nomor label FORMAT (tata letak) data yang

akan dibaca.

Var1,Var2 = nama-nama variabel dimana data yang dibaca

itu disimpan.

Contoh :

READ(*,100)A,NK

.......

100 FORMAT(F13.2,I5)

27

READ(I,LF)Var1,Var2

Page 28: Fortran

Pemrograman Bahasa Fortran

Jika diinginkan pembacaan data TANPA FORMAT, maka pada

nomor label untuk FORMAT (LF) dituliskan *

READ(*,*)A,NK

Pembacaan data bisa dituliskan dengan cara lain

READ*,var1,var2

Contoh : READ*,A,B

Dengan FORMAT: READ 20,A,B

Pernyataan WRITE

Digunakan untuk menulis data pada suatu media keluaran.

Bentuk umumnya :

Dimana :

I = bilangan integer atau simbol yang

menyatakan kode alat dari mana data akan

dibaca

LF = label FORMAT (tata letak) penulisan data

ke media.

Var1,Var2 = nama-nama variabel yang datanya akan

dituliskan

Contoh :

WRITE(*,200)A,NK

.......

200 FORMAT(2X,F13.2,5X,I5)

Jika diinginkan penulisan data TANPA FORMAT, maka LF

diisi *.

Contoh : WRITE(*,*)A,NK

28

WRITE(I,LF)Var1,Var2

Page 29: Fortran

Teknik Komputer

Keluran data bisa dituliskan dengan statemen lain :

PRINT*,var1,var2

Contoh : PRINT*,’Nilai A dan B :’,A,B

Dengan FORMAT:

PRINT 150,A,B

......

150 FORMAT(‘NILAI A DAN B :’,2F9.5)

7. Pernyataan Format

Digunakan untuk mengatur tata letak data baik data

masukkan maupun data keluaran.

Macam-macam FORMAT

a. FORMAT I : untuk konstanta bilangan bulat

(integer)

Bentuk umumnya adalah :

dimana :

n = bilangan bulat yang menyatakan cacah data

integer yang akan ditulis/dibaca. Jika

n=1, maka tidak perlu dituliskan.

w = banyaknya kolom yang digunakan untuk

menempatkan data.

Contoh :

WRITE(*,200)NA,NB

200 FORMAT(2I8)

Format ini berarti ada 2 tempat untuk 2 integer, NA

dan NB yang lebarnya masing-masing 8 kolom.

29

nIw

Page 30: Fortran

Pemrograman Bahasa Fortran

b. Format F : untuk menuliskan konstanta riil,

yaitu konstanta dengan titik

desimal.

Bentuk umumnya adalah :

n = bilangan bulat yang menyatakan cacah data

riil yang akan ditulis/dibaca.

w = banyaknya kolom yang digunakan untuk

menempatkan data.

d = cacah angka di belakang titik desimal.

Misalnya akan dituliskan variabel PANJNG yang

bernilai : 54.78, variabel ALEBAR yang

bernilai : 155.85, dan variabel ALUAS yang

nilainya : 8537.463, maka formatnya adalah :

WRITE(*,300)PANJNG,ALEBAR,ALUAS

300 FORMAT(2F10.4,F12.4)

Hasil penulisan adalah :

54.7800 155.8500 8537.4630

8. Pernyataan STOP dan END

STOP digunakan untuk menghentikan operasi program

secara logika. Sedangkan END digunakan untuk

mengakhiri pernyataan program.

Contoh :

READ(*,200)A,B,C

D=B**2+A*C

WRITE(*,300)D

30

NFw.d

Page 31: Fortran

Teknik Komputer

STOP

END

9. Pernyataan-Pernyataan Kontrol

Berfungsi untuk mengubah urutan langkah proses

penggarapan program.

Pernyataan GOTO

Berfungsi untuk memerintahkan proses untuk meloncat

langsung ke pernyataan dengan nomor label yang

ditunjuk.

Bentuk umum :

Dimana :

n = nomor label

Contoh :

-

100 READ(*,10)A,B

C=A*B

-

GO TO 100

-

END

Pernyataan IF

Berfungsi untuk membandingkan dua atau lebih variabel.

Jika “ya” maka statemen di samping “IF” digarap,

apabila tidak terpenuhi maka program terus menggarap

statemen di bawahnya.

31

GOTO n

Page 32: Fortran

Pemrograman Bahasa Fortran

Bentuk umum :

Keterangan :

Ekspreksi : suatu ekspreksi penalaran

Statemen : suatu statemen yang akan

diproses jika ekspreksi nalar

jawabannya “ya”.

Operator-operator nalar yang dipakai dalam IF dapat

dilihat pada tabel 4.

Tabel 4. Operator IF

SimbolNotasi

MatematiknyaArti

.EQ.

.NE.

.LT.

.LE.

.GT.

.GE.

.OR.

.AND.

.NOT.

=

<

>

Sama dengan

Tidak sama dengan

Lebih kecil dari

Lebih kecil dari atau sama dengan

Lebih besar dari

Lebih besar dari atau sama dengan

Atau

Dan

Bukan

Hierarkhi atau urutan tingkat operasi nalar ini adalah

sebagai berikut :

- Hierarkhi 1 : .LT., .LE., .EQ., .NE., .GT., .GE.

- Hierarkhi 2 : .NOT.

- Hierarkhi 3 : .AND.

32

IF(ekspreksi)statemen

Page 33: Fortran

Teknik Komputer

- Hierarkhi 4 : .OR.

Contoh :

-

D=B**2-4.*A*C

-

IF(D.LT.O)GOTO 100

X1=...

X2=...

100 STOP

END

Pernyataan DO

Berfungsi untuk memerintahkan komputer agar menjalankan

suatu deretan perintah, berulang-ulang dengan cara

tertentu.

Bentuk umum :

n = nomor statemen yang merupakan batas akhir dari

deretan yang harus diproses berulang-ulang.

var = variabel integer/real yang harganya akan

berubah-ubah dari suatu harga awal ml ke harga

akhir m2 dengan besar langkah m3

m1 = konstanta atau variabel integer/real yang

menyatakan harga awal dari variabel var.

m2 = konstanta atau variabel integer/real yang

menyatakan harga akhir dari variabel var.

33

DO n var=m1,m2,m3

Page 34: Fortran

Pemrograman Bahasa Fortran

m3 = konstanta atau variabel integer/real yang

menyatakan besarnya langkah (step).

Contoh :

-

DO 200 I=1,100,2

L=I**2

K=I**3

200 WRITE(*,300)I,L,K

STOP

END

Pernyataan CONTINUE

Berfungsi sebagai statemen dummy pada suatu posisi

apabila statemen lain tak boleh diletakkan pada posisi

tersebut.

Bentuk umum :

dimana: n = nomor statemen

Contoh :

-

DO 200 I=1,30

L=I**2

WRITE(*,10)GOTO 300

200 CONTINUE

-

300 READ(*,15)K

-

34

n CONTINUE

Page 35: Fortran

Teknik Komputer

END

D. OPERASIONAL BAHASA FORTRAN DENGAN WATFOR-77

1. Tampilan Watfor-77

Watfor-77 merupakan salahsatu program bahasa

fortran yang masih cukup populer hingga saat ini,

terutama digunakan untuk komputasi numerik. Program ini

dioperasikan melalui DOS yang memungkinkan proses

perhitungan dapat berlangsung dengan kecepatan tinggi.

Tampilan Watfor-77 dapat dilihat pada gambar di bawah

ini:

Gambar 10. Tampilan Watfor-77

Perintah-perintah dan tombol-tombol operasional

dalam bahasa fortran khususnya Watfor-77 dapat

dijelaskan sebagai berikut:

35

Menu Command

Menu Screen (Listing Program)

Page 36: Fortran

Pemrograman Bahasa Fortran

1. Perintah operasional

a. PUT : digunakan untuk menyimpan program. Bentuk

umumnya adalah: PUT <nama file>.FOR

Contoh: PUT UNNES.FOR

b. RUN : digunakan untuk menjalankan atau

mengkompile program.

Contoh: RUN atau

RUN UNNES.FOR

c. E : digunakan untuk membuka atau mengedit

program yang sudah ada. Bentuk umum: E

<nama file>.FOR

Contoh: E UNNES.FOR

2. Tombol Operasional

Tombol-tombol operasional yang digunakan dalam

Watfor-77 seperti ditunjukkan pada tabel 5.

Tabel 5. Tombol operasional Watfor-77

Tombol Fungsi

F1 page up

F2 page down

F3 line up

F4 line down

F5 line insert

F6 line delete

F7 select/deselect

F8 Cut

F9 command/screen

F10 Help

Shift + F1 ½ page up

36

Page 37: Fortran

Teknik Komputer

Shift + F2 ½ page down

Shift + F3 Foreground

Shift + F4 Background

Tombol Fungsi

Shift + F5 Line split

Shift + F6 Line undelete

Shift + F7 Line join

Shift + F8 Paste

Shift + F9 Fill

Shift + F10 Edit

E. CONTOH SOAL DAN PENYELESAIAN

1. Buat program untuk menghitung operasi-operasi

berikut jika A = 10, B = 5, C = 3, dan D = 8:

- Z = (A + B) x C x D

- W = AB + (C/D)

Penyelesaian :

Program untuk menghitung harga Z dan W sebagai

berikut:

C234567

READ(*,*)A,B,C,D

Z = (A+B)*C*D

W = A**B+(C/D)

WRITE(*,*)Z,W

END

Data masukkan adalah: 10, 5, 3, 8

Hasil program adalah: Z = 360 dan W = 100000.375

37

Page 38: Fortran

Pemrograman Bahasa Fortran

2. Buatlah program untuk menghitung keliling dan luas

segitiga dengan sisi-sisi A, B, dan C.

Penyelesaian :

Programnya sebagai berikut:

C234567

PRINT*,’MASUKKAN SISI-SISI A,B,C :’

READ*,A,B,C

AKEL = A+B+C

S = AKEL/2

ALUAS = (S(S-A)*(S-B)*(S-C))**0.5

WRITE(*,10)AKEL,ALUAS

10 FORMAT(2X,2F8.2)

END

Jika input data A = 2, B = 4, dan C = 3, maka hasil

keluarannya adalah :

....9.00....2.90

Jadi keliling dan luas segitiga masing-masing adalah

9.00 dan 2.90

3. Buat program untuk menghitung jumlah bilangan 1

hingga 10.

Penyelesaian :

Programnya sebagai berikut:

C234567

I = 0

JUM = 0

10 I = I+1

JUM = JUM+I

IF(I.LT.10)GOTO 10

WRITE(*,*)JUM

38

Page 39: Fortran

Teknik Komputer

END

Hasil keluaran program adalah: JUM = 55

4. Buat program untuk menghitung akar-akar persamaan

kuadrat dari AX2 + BX + C = 0.

Penyelesaian :

Programnya sebagai berikut:

C234567

PRINT*,’MASUKKAN KONSTANTA A,B,DAN C :’

READ*,A,B,C

D=B**2-4*A*C

IF(D.LT.0)THEN

PRINT*,’AKAR IMAJINER’

STOP

ENDIF

IF(D.EQ.0)THEN

X1=(-B)/(2*A)

X2=X1

ELSE

X1=(-B+(D**0.5))/2*A

X2=(B+(D**0.5))/2*A

ENDIF

WRITE(*,20)X1,X2

20 FORMAT(/,2X,’X1 =’,F10.3,/,2X,’X2 =’,F10.3)

END

Jika harga konstanta A = 2, B = 8 dan C = 3, maka

hasil keluaran program adalah:

MASUKKAN KONSTANTA A, B, DAN C :

2 8 3

39

Page 40: Fortran

Pemrograman Bahasa Fortran

X1 = -1.675

X2 = 14.325

5. Buatlah program untuk mengkonversi suhu Celsius (C)

dari 50 hingga 1000 dengan kenaikan 50 ke Reamur (R),

Fahrenreit (F), dan Kelvin (AK).

Penyelesaian:

Programnya sebagai berikut:

C PROGRAM UNTUK MENGKONVERSI SUHU

C234567

PRINT*,’MASUKKAN HARGA C MINIMUM (K),

1 C MAKSIMUM (L) DAN KENAIKAN HARGA C (M):’

READ*,K,L,M

DO 10 C=K,L,M

R=C/5*4

F=C/5*9+32.

AK=C+273.

WRITE(*,20)C,R,F,AK

10 CONTINUE

20 FORMAT(2X,4F9.2)

END

Hasil keluarannya adalah:

MASUKKAN HARGA C MINIMUM (K), C MINIMUM (L) DAN KENAIKAN HARGA C (M) :

5 100 5

5.00 4.00 41.00 278.00 10.00 8.00 50.00 283.00 15.00 12.00 59.00 288.00 20.00 16.00 68.00 293.00 25.00 20.00 77.00 298.00 30.00 24.00 86.00 303.00 35.00 28.00 95.00 308.00 40.00 32.00 104.00 313.00

40

Page 41: Fortran

Teknik Komputer

45.00 36.00 113.00 318.00 50.00 40.00 122.00 323.00 55.00 44.00 131.00 328.00 60.00 48.00 140.00 333.00 65.00 52.00 149.00 338.00 70.00 56.00 158.00 343.00 75.00 60.00 167.00 348.00 80.00 64.00 176.00 353.00 85.00 68.00 185.00 358.00 90.00 72.00 194.00 363.00 95.00 76.00 203.00 368.00 100.00 80.00 212.00 373.00

F. SOAL-SOAL

1. Buatlah diagram alir dan program untuk menghitung

jumlah angka dari K hingga L.

2. Buatlah diagram alir dan program untuk menghitung

jumlah angka dari K hingga L dengan kelipatan M.

3. Buatlah diagram alir dan program untuk menghitung

diameter batang dengan persamaan berikut:

(lb/in)

dimana = 8.000 lb/in2, hp = 2 hp, dan rpm = 2000

rpm.

4. Suatu baterai pertama jika diisi mempunyai

persamaan : y = A(1 – e-T). A adalah konstanta

baterai, e adalah bilangan natural (2.71828), dan T

waktu dalam detik. Jika A = 25, buatlah diagram

alir dan program untuk menghitung persamaan

tersebut mulai dari T = 0 hingga T = 50 dengan

kenaikan 2.

5. Buatlah diagram alir dan program untuk mencari data

terkecil dan data terbesar dari 10 buah data

berikut:

41

Page 42: Fortran

Pemrograman Bahasa Fortran

20, 3, 13, 6, 9, 10, 2, 17, 35, 77

42

Page 43: Fortran

Teknik Komputer

BAB IV

PEMROGRAMAN FORTRAN LANJUT

Deskripsi : Membahas tentang statemen-statemen yang

berhubungan dengan variabel berindeks

dan sub program.

Tujuan Instruksional Khusus (TIK):

1. Mahasiswa mampu menerapkan statemen-statemen

yang berkaitan dengan persoalan variabel

berindeks dalam pemrograman bahasa fortran.

2. Mahasiswa dapat mengembangkan program fortran

dalam bentuk program utama dan sub program untuk

menyelesaikan persolan-persoalan teknik.

A. PENDAHULUAN

Dalam banyak kasus, seringkali kita dihadapkan

dengan besaran-besaran numerik atau indeks yang

merupakan elemen-elemen dari suatu variabel yang

kemudian disebut sebagai variabel berindeks. Pada kasus

yang lain, kita juga harus melakukan kalkulasi-

kalkulasi yang panjang dan kompleks. Hal ini memerlukan

kiat-kiat khusus dalam perencanaan dan penulisan

program, agar diperoleh hasil keluaran program sesuai

dengan yang diharapkan.

Perencanaan dan penulisan program komputer

memerlukan perhatian penuh pada setiap pernyataan

(statement) dalam program. Semakin banyak pernyataan

43

Page 44: Fortran

Pemrograman Bahasa Fortran

yang terdapat dalam program, makin terbuka kesempatan

melakukan kesalahan. Oleh karena itu, kemampuan dalam

penyederhanaan program sangatlah dibutuhkan agar

program menjadi lebih efektif.

B. VARIABEL BERINDEKS

Variabel berindeks sering dijumpai dalam bentuk

notasi matrix. Sebagai contoh matrix A2x2, dimana

elemen-elemennya adalah :

dengan aij, i = nomor baris

j = nomor kolom

i dan j adalah indeks. Oleh karena ada dua indeks, maka

variabel A disebut juga variabel 2 dimensi.

Dalam bahasa FORTRAN, indeks ditulis dengan cara :

A(X,J) : X dan J adalah indeks.

Dan pernyataan yang digunakan adalah DIMENSION.

1. Statement DIMENSION

DIMENSION berfungsi untuk menyatakan suatu

variabel adalah variabel berindeks.

Bentuk umum :

Keterangan :

var1, var2: nama-nama variabel berindeks

i1 : harga maximum indeks ke 1 untuk var1

j2 : harga maximum indeks ke 2 untuk var1

im : harga maximum indeks ke m untuk var1

44

DIMENSION var1(i1, i2, ...,im), var2(j1,

j2,...,jm)

Page 45: Fortran

Teknik Komputer

demikian juga j1, j2, jm untuk var2

contoh :

DIMENSION A(10,10), NO(5,5,5)

-

-

END

Keterangan:

- variabel A merupakan variabel berindeks dua dimensi.

Indeks pertama dan kedua maksimum 10. Jadi jumlah

elemen variabel A adalah 10x10 = 100 elemen.

- Variabel NO merupakan variabel berindeks tiga

dimensi. Index pertama, kedua, dan ketiga masing-

masing maksimum 5. Jadi variabel NO berelemen: 5x5x5

= 125 elemen.

Beberapa aturan tentang pernyataan dimensi sebagai

berikut:

a. Cacah dimensi maksimum 7.

Contoh :

DIMENSION A(5,5,5,5,5,5,5,) : “7 index

-

-

END

b. Cacah maksimum indeks tergantung dari memori

komputer. Tiap elemen variabel real membutuhkan 4

byte dan tiap elemen variabel integer membutuhkan

2 byte.

c. Nilai indeks tidak boleh berharga nol maupun

negatif.

Contoh :

45

Page 46: Fortran

Pemrograman Bahasa Fortran

DIMENSION A(100,100)

......

......

I=0

J=-2

WRITE(*,200)A(I,J)

......

......

END

Penulisan variabel A(I,J) akan ERROR, karena indeks

J berharga negatif (-2) dan I benilai nol (0).

d. Indeks tidak boleh melebihi nilai maksimum yang

sudah dinyatakan dalam statemen DIMENSION.

Contoh :

DIMENSION A(100,100)

......

......

I=200

B=A(I,I)

END

Program akan ERROR karena harga maksimum indeks

adalah 10, sedang harga indeks I pada penyataan

B=A(I,I) adalah 200.

2. Statement DO “IMPLIED”

Implied DO loop dipakai untuk mempermudah proses

pembacaan dan penulisan data.

Bentuk umum :

46

Page 47: Fortran

Teknik Komputer

Keterangan :

n = nomor unit mesin baca atau tulis sesuai

statemennya

F = nomor statemen format yang dipakai untuk membaca

atau menulis data

Var = nama suatu variabel berindeks yang datanya akan

dibaca atau ditulis

I = indeks yang akan berjalan

m1 = harga awal implied DO loop (konstanta integer

atau variabel integer)

m2 = harga akhir implied DO Loop (konstanta integer

atau variabel integer)

m3 = banyaknya langkah Impiled DO loop (konstanta

integer atau variabel integer).

Jika m3 = 1, boleh tidak dituliskan

Contoh :

READ(*,100)X(1),X(2),X(3),X(4),X(5)

100 FORMAT(5F8.1)

Dengan Implied DO loop, proses baca tersebut dapat

dipermudah dengan cara :

READ(*,100)(X(I), I=1,5)

100 FORMAT(5F8.1)

Misalnya akan dibaca :

X(1,1) = 4.1 X(1,2) = 3.1 X(1,3) = 4.5

X(2,1) = 6.4 X(2,2) = 5.6 X(2,3) = 9.6

47

READ(n,F)(var(I), I=m1,m2,m3)

WRITE(n,F)(var(I), I=m1,m2,m3)

Page 48: Fortran

Pemrograman Bahasa Fortran

Maka proses pembacaan dengan Implied DO loop-nya

adalah:

100 FORMAT(3F8.1)

READ(*,100)((X(I,J),J=1,3), I=1,2)

Kalang ini menjadi “kalang luar” yang akan diproses kemudian

Kalang ini menjadi kalang “dalam yang akan diproses “lebih dahulu”

3. FUNCTION

FUNCTION ada dua macam, yaitu statemen FUNCTION

dan Subprogram FUNCTION.

Statement FUNCTION

Statemen FUNCTION dipakai untuk menyatakan suatu

FUNCTION yang dapat dipakai berulang-ulang dengan

argumen yang dapat berubah-ubah.

Bentuk umum :

Keterangan :

sf : nama statemen FUNCTION yang mengikuti

aturan nama variabel.

a1,a2,..,am : argumen-argumen function

ekspresi : suatu ekspersi aritmatik dengan memakai

argumen-argumen a1,a2,..,am

48

sf(a1,a2,…….,am) = ekspresi

Page 49: Fortran

Teknik Komputer

Bahasa FORTRAN sudah menyediakan banyak FUNCTION-

FUNCTION yang dapat langsung digunakan

Fungsi-fungsi pustaka tersebut ada dua jenis yaitu :

a. Fungsi-fungsi pustaka matematik, seperti SIN, COS,

dan sebagainya.

b. Fungsi-fungsi pustaka untuk membantu operasi-operasi

program, seperti akar kuadrat (SQRT), absolut (ABS),

dan sebaginya.

4. SUBPROGRAM

Subprogram ada dua jenis yaitu :

a. Subprogram FUNCTION

b. Subprogram SUBROUTINE

Subprogram adalah suatu program tersendiri yang

dapat dipanggil berkali-kali oleh program utama maupun

oleh subprogram lain. Subprogram bersifat “otonom”,

sehingga pada prinsipnya terpisah dari program utama

maupun terhadap subprogram yang lain. Subprogram

dikompile secara terpisah dari program utama. Dalam

suatu unit program, selalu terdapat program utama,

sedangkan subprogram tidak selalu harus ada.

Penggunakan subprogram sangat terkait dengan fungsi

statemen RETURN.

Statemen RETURN

Berfungsi untuk mengembalikan alur program, dari

program terpanggil kepada program pemanggil

Bentuk umum :

49

RETURN

Page 50: Fortran

Pemrograman Bahasa Fortran

Subprogram FUNCTION

Bentuk umum :

Keterangan :

nf : nama Subprogram FUNCTION yang

sekaligus menjadi nama variabel

outputnya, apabila namanya real,

maka sifat functionnya real dan

apabila nama functionnya integer,

maka sifat functionnya juga

integer.

arg1,arg2,…,argm : argumen-argumen yang dikirim dari

program pemanggil ke Subprogram

FUNCTION. Argumen dapat berupa

variabel atau konstanta, boleh

bertipe real atau integer.

Sifat-sifat Function Subprogram

a. Bersifat otonom, sehingga nama-nama variabel di

dalam Subprogram boleh dengan nama-nama variabel di

dalam program pemanggil dengan tidak terjadi

kesalahan, oleh karena memang pada prinsipnya

terpisah. Boleh melakukan operasi READ atau WRITE,

boleh memanggil Subprogram yang lain (baik Function

maupun Subroutine.

b. Dipanggil langsung dengan namanya.

c. Argumen-argumen hanya merupakan input, output

melalui nama Subprogram FUNCTION. Sehingga input

50

FUNCTION nf(arg1,arg2,…argm)

Page 51: Fortran

Teknik Komputer

bisa banyak, tetapi output selalu hanya satu, yaitu

melalui nama Function.

d. Boleh mempunyai lebih dari satu Statemen RETURN,

maupun juga statemen STOP

e. Hubungan antar argumen dalam program pemanggil dan

program yang dipanggil adalah hubungan atas dasar

posisi, bukan atas dasar nama variabel.

f. Argumen-argumen dapat berupa konstanta maupun nama

variabel, real maupun integer.

Subprogram SUBROUTINE

Bentuk umum :

Keterangan :

ns : nama Subroutine Subprogram. Nama

ini mengikuti aturan nama variabel,

hanya tidak bersifat real atau

integer.

arg1,arg2,…,argm : adalah argumen-argumen Subprogram

SUBROUTINE. Argumen dapat bersifat

input maupun output untuk

Subprogram SUBROUTINE.

Sifat-sifat Subprogram SUBROUTINE

a. Bersifat otonom, sehingga nama-nama variabel di

dalam Subprogram boleh sama dengan nama-nama

variabel di dalam program pemanggil. Boleh melakukan

operasi READ dan WRITE, boleh memanggil Subprogram

lain (baik Function maupun Subroutine).

51

SUBROUTINE ns(arg1,arg2,…,argm)

Page 52: Fortran

Pemrograman Bahasa Fortran

b. Dipanggil dengan cara : CALL ns(arg1, arg2,….,argm).

c. Argumen-argumen boleh berfungsi sebagai input maupun

sebagai output. Input dan output boleh banyak.

d. Boleh mempunyai lebih dari satu statemen RETURN,

maupun juga statemen STOP.

e. Hubungan antara argumen dalam program pemanggil

dengan program yang dipanggil adalah hubungan atas

dasar posisi, bukan atas dasar nama variabel.

f. Argumen dapat berupa konstanta maupun variabel, real

maupun integer.

5. Statemen CHARACTER

Berfungsi untuk menyatakan bahwa suatu variabel

hanya dapat diberi data type alphanumeris (data

karakter).

Bentuk umum :

Keterangan:

var1 : variabel yang dinyatakan sebagai karakter

variabel yang dinyatakan dengan panjang n1.

var2 : adalah variabel yang dinyatakan sebagai

karakter variabel yang dinyatakan dengan

panjang n2.

Tipe variabel bukan integer atau real dan dapat

berindeks.

52

CHARACTER var1*n1, var2*n2………

Page 53: Fortran

Teknik Komputer

C. CONTOH SOAL DAN PENYELESAIAN

1. Koefisien konduksi (K) dan viskositas (V) dihitung

dengan persamaan berikut :

dan

Buatlah diagram alir dan programnya untuk T = -30

hingga T = 30 dengan kelipatan 10.

Penyelesaian:

Diagram alirnya sebagai berikut:

Program Utama Subprogram function

(a) (b)

Gambar 11. Diagram alir perhitungan koefisien konduksi dan koefisien viskositas, (a) program utama, dan (b) subprogram function

Programnya sebagai berikut:

53

START

BACA: TO,AKO,N,AMO,

M

DO T=-30,30,10

Hitung :AK=HKD(AKO,N,TO,T

) AM=HKD(AMO,M,TO,T)

TULIS: AK, AM

CONTINUE

END

FUNCTION HKD(Z,L,T0,T

HKD =Z*(1+(T/TO))**L

Hitung :AK, AM

RETURN

END

Page 54: Fortran

Pemrograman Bahasa Fortran

C PROGRAM TERSTRUKTURC MENGHITUNG KOEFISIEN KONDUKSI & VISKOSITASC SEBAGAI FUNGSI TEMPERATUR DARI T=TA HINGGA T=TBC ____________________________________________________C VARIABEL : T = TEMPERATUR (C)C AK = KOFISIEN KONDUKSI (W/m.C)C AM = KOEFISIEN VISKOSITAS (kg/m.s)C ____________________________________________________C PROGRAM UTAMAC234567890C INPUT DATA PRINT*,'MASUKKAN SUHU AWAL (TO) :' READ*,TO PRINT*,'MASUKKAN HARGA AKO DAN N:' READ*,AKO,N PRINT*,'HARGA-2 KOEFISIEN KONDUKSI ADALAH:' DO 50 T=-30,30,10 AK=HKD(AKO,N,TO,T) WRITE(*,20)AK50 CONTINUE PRINT*,'MASUKKAN HARGA AMO DAN M:' READ*,AMO,M PRINT*,'HARGA-2 KOEFISIEN VISKOSITAS ADALAH:' DO 60 T=-30,30,10 AM=HKD(AMO,M,TO,T) WRITE(*,20)AM60 CONTINUE20 FORMAT(F10.4) END

C SUBPROGRAM FUNCTIONC PROSES PERHITUNGAN FUNCTION HKD(Z,L,TO,T) HKD=Z*(1+(T/TO))**L RETURN END

54

Page 55: Fortran

Teknik Komputer

2. Buat diagram alir dan program untuk menghitung

nilai rata-rata dari suatu kolom pada matriks

A(N,N).

Penyelesaian :

Diagram alirnya adalah :

Gambar 12. Diagram alir untuk menghitung nilai rerata suatu kolom matriks

55

START

BACA: N

DO I=1,N

TULIS: RATA

END

SUM = 0

BACA: A(I,J)

DO I=1,N

BACA: J

J≥N ?

SUM = SUM+A(I,J)RATA = SUM/FLOAT(N)

YA

TIDAK

Page 56: Fortran

Pemrograman Bahasa Fortran

Programnya sebagai berikut:

C PROGRAM UNTUK MENGHITUNG NILAI RATA-RATAC DARI SUATU KOLOM PADA MATRIKS A(N x N)C ________________________________________C23456789

DIMENSION A(50,50) CHARACTER YT*1 10 PRINT*,'BERAPA ORDE MATRIKS:N?' READ*,N PRINT*,'MASUKKAN ELEMEN MATRIKS:' DO 30 I=1,N PRINT*,'BARIS KE',I,';' 30 READ*,(A(I,J),J=1,N) 15 SUM=0 20 PRINT*,'KOLOM KEBERAPA YANG AKAN DIHITUNG ?' READ*,J IF(J.GT.N)THEN PRINT*,'SALAH! KOLOM TERBESAR',N GO TO 20 ENDIF DO 40 I=1,N 40 SUM = SUM + A(I,J) RATA = SUM/FLOAT(N) PRINT*,'RATA-RATA KOLOM KE',J,'ADALAH =',RATA PRINT'(A,\)','LAGI Y/T ?' READ'(A1)',YT IF(YT.EQ.'Y')GO TO 15 PRINT'(A,\)','MAU BACA MATRIKS LAGI:(Y/T)?' READ'(A1)',YT IF(YT.EQ.'Y')GO TO 10 PRINT*,'NANTI AJA DEH !' END

D. SOAL-SOAL

1. Buatlah diagram alir dan program untuk mencari

nilai maksimum suatu baris pada matriks A (N,N).

2. Buat diagram alir dan programnya untuk mencari

nilai maksimum pada seluruh elemen matriks A (N,N).

3. Buatlah diaram alir dan tuliskan program yang akan

membaca empat bilangan riil A, B, C, D, yang

dipengaruhi oleh bilangan bulat J berikut:

Jika J=1 maka X = A+B+C+D

Jika J=2 maka X = (A+B+C+D)/4.

Jika J=3 maka X = (A+B)/(C+D)

Jika J=4 maka X = A/B+C/D

56

Page 57: Fortran

Teknik Komputer

DAFTAR PUSTAKA

Hammound, R.H., Rogers, W.B., Crittendeen, J.B., 1989,

“Pengantar Fortran 77 dan Komputer Pribadi”,

Penerjemah Jun Azwar, dkk., Erlangga, Jakarta.

Nugroho, E., Soesianto, F., 1990, “Belajar Sendiri

Bahasa Fortran”, Edisi 3, Andi Offset, Yogyakarta.

Munir, R., 2001, “Algoritma Pemrograman (Buku 1)”,

Cetakan Ketiga, Informatika, Bandung.

Munir, R., Lidya, L., 2002, “Algoritma Pemrograman

(Buku 2)”, Cetakan Ketiga, Informatika, Bandung.

Santoso B.R., H., “Pengantar Komputasi”, Diktat Kuliah

Pemrograman Komputer, UGM, Yogyakarta.

57

Page 58: Fortran

Pemrograman Bahasa Fortran

DAFTAR GAMBAR

Gambar 1. Komponen perangkat keras

komputer.................................. 2

Gambar 2. Rangkaian elektronik, a. hubung

seri dan b. hubung paralel................ 2

Gambar 3. Proses pelaksanaan program oleh

komputer.................................. 7

Gambar 4. Dua buah bejana larutan yang

berbeda warna. Bejana A berisi

larutan berwarna hitam, bejana B

berisi larutan berwarna putih............. 11

Gambar 5. Proses pertukaran isi bejana A

dan bejana B, menggunakan bejana

bantu C................................... 13

Gambar 6. Diagram alir untuk menjumlahkan

dua buah bilangan......................... 14

Gambar 7. Diagram alir untuk menghitung

jumlah bilangan 1 hingga 10............... 15

Gambar 8. Diagram alir untuk menghitung

luas dan keliling segi tiga............... 16

Gambar 9. Diagram alir untuk menghitung

akar-akar persamaan kuadrat............... 17

Gambar 10.Tampilan Watfor 77........................ 35

Gambar 11.Diagram alir perhitungan

koefisien konduksi dan koefisien

viskositas, a. program utama dan

b. subprogram function.................... 52

Gambar 12.Diagram alir untuk menghitung

nilai rerata suatu kolom matriks.......... 54

58

Page 59: Fortran

Teknik Komputer

DAFTAR TABEL

Tabel 1. Simbol diagram alir........................ 9

Tabel 2. Cara penulisan variabel.................... 25

Tabel 3. Simbol operasi aritmetik................... 26

Tabel 4. Operator IF................................ 32

Tabel 5. Tombol operasional Watfor 77............... 36

59