• Tidak ada hasil yang ditemukan

PANDUAN UNTUK PRAKTIKUM DAN PERKULIAHAN PEMROGRAMAN FORTRAN. Oleh: Ahmad Zakaria, Ph.D.

N/A
N/A
Protected

Academic year: 2021

Membagikan "PANDUAN UNTUK PRAKTIKUM DAN PERKULIAHAN PEMROGRAMAN FORTRAN. Oleh: Ahmad Zakaria, Ph.D."

Copied!
20
0
0

Teks penuh

(1)

PRAKTIKUM DAN PERKULIAHAN

PEMROGRAMAN FORTRAN

Oleh:

Ahmad Zakaria, Ph.D.

Jurusan Teknik Sipil

Fakultas Teknik Universitas Lampung

2014

(2)

1.

Pendahuluan

Fortran merupakan bahasa pemrograman tingkat tinggi yang paling banyak dipergunakan orang untuk pemrograman, terutama untuk pemrograman yang membutuhkan perhitungan numerik yang rumit. Selain Fortran, banyak juga bahasa pemrograman lain yang dikembangkan orang seperti Basic, Pascal, C, Cobol, ada, dan masih banyak lagi. Bahasa-bahasa pemrograman seperti yang disebutkan ini merupakan bahasa pemrograman yang sering disebut sebagai bahasa pemrograman under DOS, ini dikarenakan bahasa pemrograman ini dijalankan lewat DOS. Setelah itu berkembang bahasa pemrograman yang sering disebut sebagai bahasa pemrograman berorientasi objek atau Object Oriented Programming. Bahasa-bahasa pemrograman itu antara lain Visual Compaq Fortran, Visual Basic, Borland Delphi, Visual C++ dan lain-lain. Disamping itu juga berkembang bahasa pemrograman yang berjenis Script seperti java, matlab, dan beberapa bahasa pemrograman WEB seperti, bahasa php dan Java Script.

Banyak sekali materi bahasa pemrograman yang menarik untuk dipelajari dan dikembangkan untuk kepentingan didalam bidang Teknik, akan tetapi sepanjang pengetahuan penulis, Fortran merupakan bahasa yang paling banyak dipergunakan oleh para Scientist dan Engineer untuk aplikasi-aplikasi praktis dalam rangka penyelesaikan permasalahan-permasalahan di dalam bidang teknik.

Sehubungan dengan makin banyaknya penggunaan Fortran oleh Scientist dan Engineer, Program Fortran juga mengalami perkembangan dari Fortran 77, Fortran 90 dan Fortran 95. Program Fortran ini juga bisa didapat baik untuk yang menggunakan Operating Sistem Win32 (Windows 31, Windows 98, Windows 2000, Win NT dan Windows Xp) maupun yang menggunakan operating sistem lain seperti LINUX ( Mandrake, RedHat, Slackwere, SuSe dll), UNIX, OS2, BeOs yang mana Fortran 77 dikenal sebagai g77 (ji_seventiseven) atau f77 (ef_seventiseven). Selain itu juga

Fortran 77 juga mengalami perkembangan dalam hal tampilan program, yang biasanya disebut dengan Front End yang sebenarnya hanya tampilan muka program, akan tetapi program ini tetap menggunakan Fortran 77 dan Fortran 90 sebagai Compilernya seperti Lahey Fortran, NF Fortran, F Fortran, FTN77,

(3)

FORT99, Salford Fortran, BC Fortran, PyFort, RATFOR, VFORT, WATCOM, Fortran FORCE dan masih banyak lagi. Ini merupakan salah satu bukti bahwa Compiler Fortran tetap eksis didalam perkembangan ilmu pengetahuan, dalam hal perkembangan berbagai macam bahasa pemrograman. Salah satu program Fortran 77 yang akan dipergunakan pada pelatihan ini adalah Fortran FORCE yang juga menggunakan Fortran 77 sebagai Compilernya.

Bila seseorang ingin menggunakan komputer, orang tersebut tidak harus bisa dan mengetahui benar seluk beluk mengenai komputer. Hal ini dapat dimisalkan sebagaimana halnya bila seseorang ingin menggunakan atau mengendarai sebuah mobil, apa seseorang harus mempunyai pengetahuan yang lengkap mengenai mobil, jika hanya untuk bisa menjalankan atau mengendarainya?

Kita sebagai pemakai, untuk dapat menjalankan sebuah program, kita tidak harus mengetahui benar seluk beluk mengenai komputer, walaupun lebih banyak pengetahuan dan, berpengalaman dan lebih mengenal seluk beluk komputer adalah lebih baik.

Sebagai pengguna yang ingin membuat program komputer hanya perlu mengenal pengetahuan pemrograman yang diminatinya dalam hal ini kita akan belajar bahasa pemrograman Fortran. Jadi untuk dapat membuat dan bisa menjalankan program Fortran tentu kita perlu mengetahui bahasa (Sintax) sebagai intruksi yang dimengerti oleh bahasa pemrograman Fortran. Biasanya untuk dapat membuat sebuah program yang baik, kita perlu membuat atau melengkapinya dengan sebuah Flow Chart, yang menggambarkan jalan fikiran algoritma program.

Untuk dapat mempelajari bahasa pemrograman Fortran kita perlu mengetahui aturan-aturan penting dan Sintax-Sintax dasar yang selalu dipergunakan didalam pembuatan sebuah program Fortran. Dengan berbekal mengetahui Sintax-Sintax Dasar tersebut kita sudah dapat membuat sebuah program yang besar.

(4)

Program Fortran ditulis dalam suatu file dengan ekstensi *.f , *.ftn, atau *.for. Dalam menulis program Fortran pada suatu file dengan berekstensi seperti tersebut di atas ( Fortran 77) harus mengikuti aturan-aturan penulisan sebagai berikut,

1. Pernyataan untuk program Fortran yang bisa dimengerti oleh program apabila ditulis dalam selang kolom 7 sampai dengan kolom 72.

2. Kolom ke 6 disebut sebagai kolom sambungan dan dipersiapkan hanya untuk keperluan tersebut. Apabila pernyataan Fortran terlalu panjang dan akan melebihi kolom 72 maka pernyataannya dapat dilanjutkan di bawahnya dengan menambahkan satu karakter pada kolom ke 6.

3. Kolom 1 s/d kolom 5 dapat dipergunakan untuk untuk pengenal atau acuan.

4. Isi kolom 73 s/d 80 diabaikan komputer, dan kolom ini dapat dipergunakan sebagai identifikasi atau untuk keperluan lain.

Untuk aturan penulisan Fortran tersebut dapat dilihat pada Gambar berikut,

1 5 6 7 72 80 Kode sambungan Pernyataan fortran Label pernyataan identitas

(5)

2.

Sintax Dasar Program Fortran

2.1. Perhitungan Aritmatik

Operasi perhitungan yang dilakukan oleh komputer sebenarnya hanya berupa operasi aritmatik seperti penjumlahan (+), pengurangan (-), perkalian (*), dan pembagian(/). Selain itu juga dapat dilakukan operasi perpangkatan (**), logaritma, perhitungan sudut, sinus dan kosinus, serta perhitungan bilangan imaginer yang dilambangkan dengan IMAG. Untuk perhitungan aritmatik biasa, semua bahasa pemrograman tingkat tinggi lain juga memiliki sintax yang hampir sama jumlahnya, akan tetapi untuk perhitungan bilangan imaginer sepanjang pengetahuan penulis hanya bahasa pemrogram fortran yang bisa melakukannya. Operasi Aritmatik dalam bentuk aljabar dan Fortran dapat dilihat pada Tabel berikut,

Operasi Bentuk Aljabar FORTRAN

Penjumlahan A + B A + B Pengurangan A – B A - B Perkalian A × B A * B Pembagian B A A/B Perpangkatan A2 A**2

Nama konstanta dan variabel yang dimulai huruf I, J, K, L, M, N menyimpan nilai dalam bentuk Integer, dan yang dimulai dengan huruf selain yang disebutkan, menyimpan nilai dalam bentuk Real.

2.2. Masukkan dan Keluaran(Input/Output)

Biasanya suatu program untuk melakukan perhitungan-perhitungan membutuhkan data masukan atau data input yang berasal dari layar monitor atau file input, dan mengeluarkan hasil perhitungannya berupa data keluaran atau data Output didalam file Output atau pada layar monitor. Ini untuk membaca data dari suatu file atau mengeluarkan data ke dalam suatu file. Pernyataan Fortran untuk membuka file dapat dilakukan dengan sintax sebagai berikut,

(6)

Untuk literal dapat dipergunakan ‘OLD’ ( file lama dan sudah ada) , ‘NEW’ (membuat file baru dan tidak dapat di update) dan ‘UNKNOWN’ (membuat file baru dan dapat di update).

Untuk membaca data dari suatu file dapat dipergunakan perintah

READ. Akan tetapi bila data yang dibaca pada posisi kolom tertentu

maka dapat dipergunakan perintah atau sintax berformat. Aturan penggunaan perintah READ adalah sebagai berikut,

Untuk menulis data ke dalam suatu berkas file dapat dilakukan dengan melakukan perintah sbb,

Bentuk umum penggunaan pernyataan berformat adalah sebagai berikut,

Secara keseluruhan penggunaan sintax OPEN, READ, WRITE dan

FORMAT dapat dilihat pada contoh program berikut,

Contoh Pernyataan FORTRAN

Contoh untuk Open file Input dan File Output adalah sebagai berikut,

OPEN(unit = ekspresi integerFILE = nama fileSTATUS = literal)

READ (nomor unit,nomor acuan berformat) daftar  variabel

WRITE(nomor unit,nomor acuan berformat)daftar  variabel

(7)

Contoh File input.inp

Contoh File output.out

Dari Contoh program sederhana di atas dapat dilihat bagaimana penggunaan sintax READ, WRITE, FORMAT dan penggunaan OPEN  file Input dan OPEN file Output. Dari contoh di atas juga dapat dipelajari pencirian X, I, dan F yang banyak dipergunakan untuk pernyataan berformat. Pencirian X dipergunakan apabila dalam pembacaan atau penulisan data akan melompati beberapa posisi pada baris data bentuk umumnya adalah nX. Pencirian I dipergunakan apabila kita ingin membaca suatu nilai ke dalam suatu bilangan integer. Bentuk umum dari pencirian I adalah Iw. Pencirian F dapat dipergunakan untuk membaca atau menuliskan nilai suatu variabel real ke dalam atau dari suatu berkas. Bentuk umum dari pencirian F adalah

Fw.d. Dimana w menunjukkan jumlah posisi total, dan d menandakan

jumlah desimal.

2.3. Struktur Kontrol

Struktur kontrol yang paling banyak dipakai dalam pembuatan sebuah program Fortran adalah IF Logika. Ekspresi logika menyatakan suatu kondisi itu benar atau salah, diterima atau tidak. Ekspresi logika dibentuk dengan menggunakan salah satu dari operator relasional berikut,

2  3

hasilnya =

(8)

Operasi relasional Tafsiran Aljabar .EQ. Sama dengan

.NE. Tidak sama dengan

.LT. Lebih kecil daripada

.LE. Lebih kecil daripada atau sama dengan

.GT. Lebih besar dari pada

.GE. Lebih besar dari pada atau sama dengan

Untuk melengkapi struktur logika, bentuk pernyataan untuk penggunaan operator Relasional dapat dilihat pada bentuk berikut,

Contoh penggunaan struktur kontrol IF dapat dilihat pada contoh program berikut,

IF (ekspresi logika) pernyataan terlaksana

IF (ekspresi logika) THEN

……. Pernyataan ……..

ENDIF

IF (ekspresi logika) THEN

Pernyataan

IF (ekspresi logika) THEN

……. Pernyataan …….. ENDIF Pernyataan ENDIF

(9)

Contoh penggunaan IF

Contoh File output1.out untuk penggunaan IF

2.4. Looping Berlapis

Lop DO dapat dilakukan berlapis, lop yang satu dapat diletakkan di dalam lop yang lainnya, akan tetapi antara satu lop dengan yang lain tidak boleh tumpang tindih. Penggunaan lop secara umum dapat ditulis sbb,

Didalam penggunaan looping DO, m, mm, n, nn merupakan ekspresi

integer. m dan mm merupakan variabel lop awal, n dan nn merupakan

variabel lop akhir.

OPEN(UNIT=2,FILE=’output1.out’,STATUS=’unknown’) A = 2       B = 3       IF(A.GE.B)THEN        C = A + B       ENDIF IF(A.LT.B)THEN C = A * B ENDIF WRITE(2,*)’hasilnya =’ WRITE(2,10)A,B,C    10 FORMAT(F4.2,2X,F4.1,2X,F6.2) stop end hasilnya = 2.00   3.0    6.00 DO I=m,n DO J = mm,nn ... pernyataan ... END DO END DO

(10)

Penggunaan looping DO dapat dilihat pada contoh program berikut, Contoh penggunaan Looping DO

Contoh File output2.out keluaran Looping DO

Dengan menggunakan looping DO, kita dapat melakukan perhitungan secara berlapis. Perhitungan berlapis diperlukan antara lain untuk pemodelan numerik, misalnya pemodelan numerik 1 dimensi (1-D), 2 dimensi (2-D) dan 3 dimensi (3-D).

2.5. Jajaran (array)

Untuk melakukan perhitungan perhitungan yang besar, biasanya selama melakukan perhitungan membutuhkan tempat penyimpanan hasil perhitungan kedalam suatu variabel. Pernyataan yang dipergunakan untuk melakukan penyimpanan tersebut adalah dengan menggunakan perintah sebagai berikut,

OPEN(UNIT=2,FILE=’output2.out’,STATUS=’unknown’)       DO I=1,2        DO J=1,3 WRITE(2,10)I,J    10 FORMAT(2X,I4,2X,I6) END DO END DO stop end 00­­­100­­­­­1 00­­­100­­­­­2 00­­­100­­­­­3 00­­­200­­­­­1 00­­­200­­­­­2 00­­­200­­­­­3 DIMENSION array1(ukuran), array 2 (ukuran),..

(11)

Contoh penggunaan DIMENSION dapat dilihat pada program berikut, Contoh program untuk penggunaan DIMENSION

Contoh File output3.out keluaran penggunaan DIMENSION

Dengan menggunakan pernyataan DIMENSION, perhitungan yang dilakukan dengan looping DO dapat disimpan ke dalam suatu variabel, sehingga dalam melakukan perhitungan aritmatik menjadi lebih cepat.

2.6. Pernyataan GOTO

Pernyataan GOTO termasuk struktur looping. Dengan menggunakan struktur GOTO looping dapat dilakukan dengan bebas dibandingkan

DIMENSION IA(2,3),JA(2,3) OPEN(UNIT=2,FILE=’output3.out’,STATUS=’unknown’)       DO I=1,2        DO J=1,3 IA(I,J) = I+J JA(I,J) = I*J END DO END DO       DO I=1,2        DO J=1,3 WRITE(2,10)IA(I,J),JA(I,J)    10 FORMAT(2X,I4,2X,I6) END DO END DO stop end 00­­­200­­­­­1 00­­­300­­­­­2 00­­­400­­­­­3 00­­­300­­­­­2 00­­­400­­­­­4 00­­­500­­­­­6

(12)

dengan looping dengan menggunakan struktur DO…END DO. Bentuk umum dari penggunaan pernyataan GOTO adalah sebagai berikut,

Contoh penggunaan struktur GOTO dapat dilihat dari program berikut,

Contoh program untuk penggunaan GOTO

Contoh hasil keluaran program di layar monitor untuk penggunaan

GOTO

Program di atas dimaksudkan untuk melakukan perhitungan dari 1 sampai dengan 6 dengan menggunakan pernyataan GOTO.

n pernyataan ……… GOTO n A = 0   10  A = A + 1       write(*,*)A       IF(A.LE.5)GOTO 10       stop       end 1.   2.   3.   4.   5.   6.

(13)

2.7. Sub Program

Subprogram yang sering dipergunakan didalam perhitungan aritmatik dalam suatu program besar adalah SUBROUTINE. Penggunaan SUBROUTINE secara umum adalah sbb,

Contoh penggunaan subprogram SUBROUTINE dapat dilihat pada contoh program berikut,

Contoh program untuk penggunaan SUBROUTINE ………

CALL Nama (argumen) ……… STOP END SUBROUTINE Nama(argumen) ……….. RETURN END ………

CALL Nama (argumen) ……… STOP END SUBROUTINE Nama(argumen) ……….. RETURN END MAIN PROGRAM SUBPROGRAM A = 2.0 CALL Func(A,F) write(*,*)A,F stop end        SUBROUTINE Func(X,F) F = X*X return end

(14)

Dari contoh di atas terlihat bahwa untuk memanggil subroutine Func(A,F) yang melakukan perintah F = X × X dilakukan dengan perintah CALL. Nilai A=2 yang dimasukkan ke dalam Func merupakan variabel X. Selanjutnya hasil yang didapat berupa nilai variabel F.

2.8. Pernyataan Double Precision

Pernyataan Double Precision dipergunakan bila didalam perhitungan aritmatik dari suatu program kita ingin mendapatkan hasil dengan ketelitian yang lebih baik. Dengan mendeklarasikan variabel sebagai variabel double precision atau presisi ganda maka variabel tersebut mempunyai akurasi perhitungan yang lebih baik. Bentuk umum dari penggunaan DOUBLE   PRECISION adalah sebagai berikut,

Penggunaan pernyataan DOUBLE   PRECISION dapat dilihat pada contoh program berikut ini.

Contoh program yang menggunakan DOUBLE PRESISSION

Hasil keluaran dari program ini adalah,

DOUBLE PRECISION nama nama variabel

DOUBLE PRECISION A,C       A =1.D+00/3.D+00       B = 1./3.       C = A ­ B       write(*,20)A,B,C   20  FORMAT(2X,F25.20,2X,F25.20)       stop       end 0.33333333333333331000    0.33333334326744080000 ­0.00000000993410748107

(15)

Dari hasil keluaran ini terlihat bahwa perhitungan aritmatik yang menggunakan double precision dan yang tidak menggunakan double precision mempunyai selisih yang cukup besar yaitu lebih kurang 10-9.

Untuk program yang melakukan perhitungan numerik, selisih ini sangat berarti untuk mendapatkan hasil yang lebih akurat.

2.9. Fungsi Intrinsik

Beberapa Fungsi Intrinsik yang sering dipergunakan didalam penulisan program Fortran adalah sebagai berikut,

Nama Fungsi Jenis Fungsi Definisi

SQRT(X) Real √X

DSQRT(X) Double Precision DX

ABS(X) Real | X |

DABS(X) Double Precision | dX |

EXP(X) Real ex

DEXP(X) Double Precision edx

LOG(X) Real ln (X)

LOG10(X) Real 10Log(X)

REAL(GX) Real Ubah GX ke nilai real

FLOAT(IX) Real Ubah IX ke nilai real

SIN(X) Real Sudut dalam radian

COS(X) Real Sudut dalam radian

TAN(X) Real Sudut dalam radian

ASIN(X) Real ArcSin

ACOS(X) Real ArcCos

ATAN(X) Real ArcTan

Selain dari fungsi-fungsi di atas masih banyak lagi fungsi-fungsi intrinsik yang tidak dipresentasikan di tutorial ini dapat didapatkan dari buku pedoman pemrograman fortran.

Dengan mempelajari dan menguasai sintax dasar pemrograman Fortran di atas, dan dapat menggunakan pendekatan-pendekatan untuk pemrograman numerik dengan baik, kita dapat membuat program numerik.

(16)

3. Diagram Alir (Flow Chart)

3.1. Diagram

Bentuk diagram alir biasa dipergunakan didalam pemrograman komputer. Dengan menggunakan diagram alir, alur logika pemrograman yang dibuat dapat lebih mudah difahami.

Bentuk diagram alir yang biasa dipergunakan didalam pemrograman komputer adalah seperti dalam Tabel 1 berikut,

Tabel 1. bentuk diagram alir pemrograman

No Gambar Diagram Keterangan

1 mulai (start) dan selesai (finish)pernyataan untuk menyatakan

2 untuk menyatakan perhitungan

Untuk menyatakan sub program atau unit program

3 untuk menyatakan masukkan (input) dan keluaran (output)

4 untuk menyatakan keluaran (output) atau menuliskan hasil hasil proses eksekusi

5 untuk menyatakan masukkan (input) atau pembacaan data dari kartu

6 untuk menyatakan perulangan/looping(do =1,n … enddo)

7 Untuk pernyataan bersyarat (If...then … endif)

(17)

4. Contoh Program.

4.1. Contoh 1 Penggunaan If … then … endif.

Code Program Diagram Alir

    A = 0.0     B = 1.0     C = 2.0     If (C.GT.B)then     A = 1.0     endif     write(*,*)A,B,C     stop     end

Hasil Keluaran Program

1 1 2

4.2. Contoh 2 Penggunaan If … then … endif.

Code Program Diagram Alir

    open(unit=1,file='1.inp',status='old')     read(1,*)A,B,C     If (C.GT.B)then     A = 1.0     endif     write(*,*)A,B,C     stop     end

Input File (1.inp)

0 1 2

Hasil Keluaran Program

1 1 2 A=0,B=1,C=2 mulai C > B tulis A,B,C selesai A=1 tidak ya mulai C > B tulis A,B,C selesai A=1 tidak ya A=0,B=1,C=2

(18)

4.3. Contoh 1 Penggunaan Looping (do … enddo).

Code Program Diagram Alir

    do J=1,5     write(*,*)J     enddo

    stop     end

Hasil Keluaran Program

1 2 3 4 5

4.4. Contoh 2 Penggunaan Looping (do … enddo).

Code Program Diagram Alir

    do J=5,1,­1     write(*,*)J     enddo

    stop     end

Hasil Keluaran Program

5 4 3 2 1 mulai tulis J selesai tidak ya J = 1 J=J+1 J > 5 mulai tulis J selesai tidak ya J = 5 J=J - 1 J < 1

(19)

4.5. Contoh Penggunaan Subroutine.

Code Program Diagram Alir

    A = 1.0     B = 2.0     call hitung(A,B,C)     write(*,*)A,B,C     stop     end     subroutine hitung(D,E,F)     F = D + E     return     end

Hasil Keluaran Program

1 2 3 mulai selesai A=1, B=2 Hitung C Tulis A, B, C

(20)

DAFTAR PUSTAKA

Etter, D.M., 1986, Fortran 77 Terstruktur, Bina Aksara, Jakarta.

Djojodihardjo, H., Sudarmo, M.S., 1985, Pengantar Pemrograman

Dengan Bahasa Fortran IV, Gramedia, Jakarta.

Gambar

Tabel 1. bentuk diagram alir pemrograman

Referensi

Dokumen terkait

Bahan baku yang digunakan pada penelitian ini adalah pelepah sawit yang didapat dari perkebunan sawit Fakultas Pertanian Universitas Riau Analisa selulosa – α

Berdasarkan uraian tersebut, maka penelitian ini bertujuan untuk mengetahui pengaruh kepercayaan (Trust) , kepuasan pelanggan (Customer Satisfaction), dan pengalaman aliran

b) Pencegahan HIV/AIDS, kegiatannya dengan melakukan pencegahan penularan ibu ke anak, memberikan layanan kesehatan kepada para remaja, pemeriksaan dan pengobatan

Dengan diundangkan Peraturan Daerah Propinsi Sumatera Barat Nomor 6 Tahun 2009 tentang Pendirian Perseroan Terbatas (PT) Balairung Citrajaya Sumbar, maka Pemerintah Propinsi

bahwa berdasarkan pertimbangan sebagaimana dimaksud dalam huruf a, huruf b dan huruf c, perlu menetapkan Keputusan Walikota tentang Penetapan Nama-Nama Pelamar Umum Yang Lulus

Skenario pemodelan ini dilakukan dengan menggunakan sistem pompa di hilir Sungai Bendung seperti pada alternatif 1 ditambah dengan sistem pompa di hulu Sungai

Dari penelitian yang ada pada tugas akhir ini, dengan menggunakan 17 Citra sapi dengan percobaan skala gambar dari 0.1 hingga 0.9 maka didapatkan hasil akurasi yang paling baik

Oleh karena itu, dalam rangka untuk mencapai tujuan dan sasaran pelaksanaan Program Percepatan Pembangunan Sanitasi Permukiman (PPSP) Kota Sabang, perlu ada keselarasan