manual pemrograman numerik fortran

36
PEMROGRAMAN NUMERIK MENGGUNAKAN BAHASA FORTRAN Oleh: Ahmad Zakaria Jurusan Teknik Sipil Fakultas Teknik Universitas Lampung 2005

Upload: efri-dwiyanto

Post on 19-Jan-2016

66 views

Category:

Documents


9 download

DESCRIPTION

Materi Kuliah Mata Kuliah Pemrograman Tentang Numerik Fortran

TRANSCRIPT

Page 1: Manual Pemrograman Numerik Fortran

PEMROGRAMAN NUMERIK MENGGUNAKAN BAHASA FORTRAN

Oleh:

Ahmad Zakaria

Jurusan Teknik Sipil

Fakultas Teknik Universitas Lampung

2005

Page 2: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 1

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

Page 3: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 2

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, 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

Page 4: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 3

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.

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.

Page 5: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 4

Untuk aturan penulisan Fortran tersebut dapat dilihat pada Gambar

berikut,

1 5 6 7 72 80

Kode sambungan

Pernyataan fortranLabel

pernyataan identitas

Page 6: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 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 A

A/B Perpangkatan 2A 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

Page 7: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 6

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,

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,

OPEN(unit = ekspresi integer, FILE = nama file, STATUS = literal)

READ (nomor unit,nomor acuan berformat)daftar variabel

WRITE(nomor unit,nomor acuan berformat)daftar variabel

k FORMAT(daftar rincian)

Page 8: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 7

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,

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

OPEN(UNIT=1,FILE=’input.inp’,STATUS=’OLD’)

OPEN(UNIT=2,FILE=’output.out’,STATUS=’UNKNOWN’)

READ(1,*)A,B C = A + B

D = A*B WRITE(2,*)’hasilnya =’

WRITE(2,10)A,B,C,D 10 FORMAT(F4.2,2X,F4.1,2X,F6.2,2X,F6.4) stop end

2 3

hasilnya = 2.00 3.0 5.00 6.0000

Page 9: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 8

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,

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,

Page 10: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 9

Contoh penggunaan struktur kontrol IF dapat dilihat pada

contoh program berikut,

Contoh penggunaan IF

IF (ekspresi logika) pernyataan terlaksana

IF (ekspresi logika) THEN ……. Pernyataan …….. ENDIF

IF (ekspresi logika) THEN Pernyataan IF (ekspresi logika) THEN ……. Pernyataan …….. ENDIF Pernyataan ENDIF

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

Page 11: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 10

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.

Penggunaan looping DO dapat dilihat pada contoh program

berikut,

hasilnya = 2.00 3.0 6.00

DO I=m,n DO J = mm,nn

........................ pernyataan

....................... END DO

END DO

Page 12: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 11

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),..

Page 13: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 12

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.

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

Page 14: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 13

2.6. Pernyataan GOTO

Pernyataan GOTO termasuk struktur looping. Dengan

menggunakan struktur GOTO looping dapat dilakukan dengan

bebas dibandingkan 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

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.

Page 15: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 14

Program di atas dimaksudkan untuk melakukan perhitungan

dari 1 sampai dengan 6 dengan menggunakan pernyataan

GOTO.

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

MAIN PROGRAM

SUBPROGRAM

A=2

CALL Func(A,F)

write(*,*)A,F

stop

end

SUBROUTINE Func(X,F)

F = X*X

return

end

Page 16: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 15

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

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

Page 17: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 16

Hasil keluaran dari program ini adalah,

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.

0.33333333333333331000 0.33333334326744080000 -0.00000000993410748107

Page 18: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 17

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 Xe

DEXP(X) Double Precision DXe

LOG(X) Real ln X

LOG10(X) Real Log10X

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 Arc. Sin

ACOS(X) Real Arc. Cos

ATAN(X) Real Arc. Tan

Selain dari fungsi-fungsi di atas masih banyak lagi fungsi-fungsi

intrinsik yang tidak dipresentasikan di tutorial ini dapt

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.

Page 19: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 18

3. Kesalahan dan Pendekatan Numerik

Metode numerik merupakan suatu teknik atau cara

untuk menganalisa dan menyelesaikan masalah – masalah di

dalam bidang rekayasa teknik dan sain dengan menggunakan

operasi perhitungan matematik. Masalah-masalah tersebut

biasanya diidealkan dan diformulasikan secara matematis.

Operasi perhitungan matematik di dalam metode matrik ini

biasanya dilakukan secara berulang ulang. Bila dilakukan secara

manual operasi perhitungan ini akan membutuhkan waktu

yang sangat lama. Oleh karena itu, untuk operasi perhitungan

metode numerik diperlukan bantuan komputer. Dengan

bantuan komputer operasi perhitungan yang dilakukan

berulang-ulang dapat diselesaikan dengan sangat cepat.

Metode numerik sudah lama sejak lama dikembangkan

orang. Akan tetapi pada awal perkembangannya aplikasi

metode tersebut dalam menyelesaikan permasalahan masih

sangatlah jarang. Hal ini disebabkan karena alat bantu operasi

perhitungan matematik, yaitu komputer masih sangatlah

kurang. Setelah perkembangan teknologi komputer semakin

pesat dan pemakaian komputer sudah semakin meluas, metode

numerik ini menjadi metode yang handal untuk menganalisa

dan menyelesaikan masalah-masalah yang terjadi dalam segala

bidang ilmu pengetahuan. Masalah-masalah yang dapat

diselesaikan dengan metode numerik tersebut tidak hanya

masalah sederhana yang masih dapat diselesaikan secara

analitis, akan tetapi juga masalah-masalah kompleks yang tidak

dapat lagi diselesaikan secara analitis.

Pada awalnya metode numerik banyak diperkenalkan

oleh para ahli matematik. Akan tetapi selanjutnya dalam

perkembangan metode numerik juga banyak konstribusi dari

Page 20: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 19

ahli rekayasa sipil, mesin, elektro, ekonomi, sosial dan bidang

ilmu lainnya.

Didalam metode numerik, permasalahan-permasalahan

yang diformulasikan secara matematis merupakan suatu

pendekatan. Akurasi perhitungan dari permasalahan yang

didekati secara matematis sangat tergantung pada asumsi-

asumsi yang diberikan. Misalnya, untuk aliran air sungai satu

dimensi, profil kecepatan setiap titik hitung diasumsikan sama.

Semakin akurat data yang dipergunakan untuk perhitungan

operasi matematik dan semakin sedikit asumsi yang diberikan

maka pendekatan akan memberikan hasil yang lebih baik.

Ukuran akurasi dari pendekatan ini lebih dikenal dengan nama

error atau kesalahan.

3.1 Kesalahan (error) Hasil operasi perhitungan matematik dari persamaan

matematik (yang merupakan pemodelan dari permasalahan)

merupakan suatu perkiraan yang mendekati nilai eksak, apabila

persamaan tersebut dapat diselesaikan secara analitis.

Tiga macam kesalahan dalam operasi perhitungan matematik

adalah sebagai berikut,

1. kesalahan bawaan

2. kesalahan pembulatan

3. kesalahan pemotongan

Kesalahan bawaan adalah suatu kesalahan yang terjadi karena

kesalahan input data yang dipergunakan untuk perhitungan.

Kesalahan ini terjadi karena kurang telitinya pencatatan data

Page 21: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 20

dari lapangan maupun pencatatan dari data primer dan

sekunder.

Kesalahan pembulatan terjadi karena pemotongan desimal dari

bilangan yang diperhitungkan, baik untuk input data maupun

pada waktu operasi perhitungan matematik. Contoh dari

kesalahan pembulatan ini adalah sebagai berikut:

2,71828183 dibulatkan menjadi 2,71

3,14159265 dibulatkan menjadi 3,14

Kesalahan pemotongan terjadi karena didalam operasi

matematik tidak dilakukan prosedur perhitungan matematik

yang sesuai dengan pemodelannya. Misalnya suatu persamaan

tak hingga dimodelkan menjadi persamaan berhingga seperti

pendekatan untuk metode beda hingga yang diturunkan dari

deret Taylor.

3.2 Kesalahan Absolut dan kesalahan Relatif

Kesalahan Absolut dapat dipresentasikan sebagai berikut,

*ppEe −=

dimana:

eE = kesalahan absolut p = nilai eksak *p = pendekatan nilai eksak

Kesalahan relatif dapat ( exactε ) dipresentasikan sebagai berikut,

Page 22: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 21

% 100.p

Eee =ε

Jika nilai eksak tidak diketahui, perhitungan kesalahan relatif

( eapproximatε ) juga dapat ditulis sebagai berikut,

% 100.*p

Eaa =ε

perhitungan kesalahan relatif juga dapat dipresentasikan,

% 100.*

*1

*

n

nn

a p

pp −=

+

ε

3.3 Deret Taylor

Pendekatan fungsi ( )xxf ∆+ dan fungsi ( )xxf ∆− dengan

menggunakan deret Taylor dapat dipresentasikan sebagai

berikut,

Pendekatan untuk ( )xxf ∆+ ,

( ) ( ) ( ) ( ) ( )!

.!3

.!2

.!1

.3

3

32

2

2

nx

xfx

xfx

xfx

xfxfxxf

n

n

n ∆∂∂

++∆

∂∂

+∆

∂∂

+∆

∂∂

+=∆+ K

Pendekatan untuk ( )xxf ∆− ,

( ) ( ) ( ) ( ) ( )!

.!3

.!2

.!1

.3

3

32

2

2

nx

xfx

xfx

xfx

xfxfxxf

n

n

n ∆∂∂

++∆

∂∂

−∆

∂∂

+∆

∂∂

−=∆− K

Page 23: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 22

1. Pendekatan untuk satu suku pertama (orde nol) dapat

ditulis sebagai,

( ) ( ) ( )xxfxxf Ο+≈∆+

2. Pendekatan untuk dua suku pertama (orde satu) dapat

ditulis sebagai,

( ) ( ) ( )2

!1. xx

xfxfxxf Ο+∆

∂∂

+≈∆+

dari pendekatan ini dapat diturunkan,

( ) ( ) ( )2xx

xfxxfxf

Ο+∆

−∆+≈

∂∂

3. Pendekatan untuk tiga suku pertama (orde dua) dapat

ditulis sebagai,

( ) ( ) ( ) ( )32

2

2

!2.

!1. xx

xfx

xfxfxxf Ο+

∆∂∂

+∆

∂∂

+≈∆+

dari pendekatan di atas dapat diturunkan,

( ) ( )( )

( )322

2 1..2 xxx

fx

xfxxfx

fΟ+

⎭⎬⎫

⎩⎨⎧

∆∂∂

−∆

−∆+≈

∂∂

Berdasarkan fungsi ( )xxf ∆+ dan fungsi ( )xxf ∆− , turunan

kedua ⎟⎟⎠

⎞⎜⎜⎝

⎛∂∂

2

2

xf dari fungsi ( )xf dapat dapat disusun sebagai

berikut,

Page 24: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 23

Kesalahan pendekatan dari persamaan di atas dapat dijabarkan

sebagai berikut,

Dari persamaan di atas dapat dibuat sebagai berikut,

( ) ( ) ( )( )22

2 .1.2.1x

xxfxfxxfx

f∆

∆−+−∆+≈

∂∂

lebih sederhana persamaan ini dapat disusun sebagai berikut,

( )211

2

2 .1.2.1x

fffx

f iii

∆+−

≈∂∂ −+

dimana: 1, 2, dan 1 merupakan koefisien pemberat beda hingga

Persamaan ini merupakan persamaan pendekatan turunan

kedua fungsi ( )xf dengan derajad kesalahan atau akurasi orde

dua. Persamaan di atas dikenal sebagai persamaan pendekatan

( ) ( ) ( ) ( ) ( )!

.!3

.!2

.!1

.3

3

32

2

2

nx

xfx

xfx

xfx

xfxfxxf

n

n

n ∆∂∂

++∆

∂∂

+∆

∂∂

+∆

∂∂

+≈∆+ K

( ) ( ) ( ) ( ) ( )!

.! 3

.! 2

.! 1

.3

3

32

2

2

nx

xfx

xfx

xfx

xfxfxxf

n

n

n ∆∂∂

++∆

∂∂

−∆

∂∂

+∆

∂∂

−≈∆− K

+

( ) ( ) ( ) ( ) ( )322

2

..2 xxx

fxfxxfxxf Ο+∆∂∂

+≈∆−+∆+

( ) ( ) ( )( )

( )322

2 .2 xx

xxfxfxxfx

fΟ+

∆∆−+−∆+

≈∂∂

Nilai eksak Nilai pendekatan Error

Page 25: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 24

metode beda hingga (finite-difference) yang merupakan

pendekatan beda hingga terpusat (central differences).

Dengan cara yang sama dapat dibuat tabel pendekatan metode

beda hingga untuk berbagai turunan dan akurasi sebagai

berikut:

Tabel 1. koefisien pemberat pendekatan beda hingga untuk akurasi orde 2

2−if 1−if if 1+if 2+if

xfx∂∂

∆ ..2 -1 0 1

( ) 2

22

xfx

∂∂

∆ 1 -2 1

( ) 3

33.2

xfx

∂∂

∆ -1 2 0 -2 1

( ) 4

44

xfx

∂∂

∆ 1 -4 6 -4 1

central differences ( )2x∆Ο

Tabel 2. koefisien pemberat pendekatan beda hingga untuk akurasi orde 4

3−if 2−if 1−if if 1+if 2+if 3+if

xfx∂∂

∆ ..12 1 -8 0 -8 1

( ) 2

22.12

xfx

∂∂

∆ -1 16 -30 16 -1

( ) 3

33.8

xfx

∂∂

∆ 1 -8 13 0 -13 8 -1

( ) 4

44.6

xfx

∂∂

∆ -1 12 -39 56 -39 12 -1

central differences ( )4x∆Ο

Page 26: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 25

Problem Set:

1. Dari Tabel 1 diketahui bahwa pendekatan beda hingga

untuk turunan orde tiga adalah sebagai berikut,

( ) 21123

33 .1.2.0.2.1..2 ++−− +−++−=∂∂

∆ iiii fffffxfx

( )32112

3

3

.2.1.2.0.2.1

xfffff

xf iiii

∆+−++−

=∂∂ ++−−

( )322

11122

1

3

3 ..1.1.x

ffffx

f iiii

∆+−+−

=∂∂ ++−−

Diminta: Buktikan persamaan tersebut di atas!

Jawab:

Dari deret Taylor dapat disusun persamaan sebagai berikut,

( ) ( ) ( ) ( ) ( )!

2.!3

2.!2

2.!1

2.23

3

32

2

2

nx

xfx

xfx

xfx

xfxfxxf

n

n

n ∆∂∂

++∆

∂∂

+∆

∂∂

+∆

∂∂

+=∆+ K (1)

( ) ( ) ( ) ( ) ( )!

.!3

.!2

.!1

.3

3

32

2

2

nx

xfx

xfx

xfx

xfxfxxf

n

n

n ∆∂∂

++∆

∂∂

+∆

∂∂

+∆

∂∂

+=∆+ K (2)

( ) ( ) ( ) ( ) ( )!

.!3

.!2

.!1

.3

3

32

2

2

nx

xfx

xfx

xfx

xfxfxxf

n

n

n ∆∂∂

++∆

∂∂

−∆

∂∂

+∆

∂∂

−=∆− K (3)

( ) ( ) ( ) ( ) ( )!

2.!3

2.!2

2.!1

2.23

3

32

2

2

nx

xfx

xfx

xfx

xfxfxxf

n

n

n ∆∂∂

++∆

∂∂

−∆

∂∂

+∆

∂∂

−=∆− K (4)

Page 27: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 26

Substitusi persamaan (2) dan (3) didapat persamaan (A) berikut,

(2) – (3)

( ) ( ) ( )!3

.2.23

3

3 xx

fxfxxxfxxf ∆

∂∂

+∂∂

∆≈∆−−∆+ (A)

Substitusi persamaan (1) dan persamaan (4) didapat persamaan

(B),

(1) – (4)

( ) ( ) ( )!3

2.2.4223

3

3 xx

fxfxxxfxxf ∆

∂∂

+∂∂

∆≈∆−−∆+ (B)

Substitusi persamaan (A) dan (B) didapat persamaan berikut,

( ) ( )BA2 −

( ) ( ) ( ) ( ) ( ) ( )! 3

.16422223

3

3 xx

fxxfxxfxxfxxf ∆∂∂

−≈∆−+∆+−∆−−∆+

( ) ( ) ( ) ( ) ( ) .22222 3

33

xfxxxfxxfxxfxxf

∂∂

∆−≈∆−+∆+−∆−−∆+

( ) ( ) ( ) ( ) ( )xxfxxfxxfxxfx

fx ∆++∆+−∆−+∆−−≈∂∂

∆ 222.22 3

33

( ) 21123

33 222 ++−− +−+−≈∂∂

∆ iiii ffffx

fx

Page 28: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 27

( )32112

3

3

222

xffff

xf iiii

∆+−+−

≈∂∂ ++−−

( )322

11122

1

3

3 ..1.1.x

ffffx

f iiii

+−+−≈

∂∂ ++−−

∴Terbukti bahwa pendekatan beda hingga untuk turunan

ketiga ⎟⎟⎠

⎞⎜⎜⎝

⎛∂∂

3

3

xf adalah sebagai berikut,

( )322

11122

1

3

3 ..1.1.x

ffffx

f iiii

+−+−≈

∂∂ ++−−

2. Dari Tabel 2 diketahui bahwa pendekatan beda hingga

untuk turunan orde dua dengan akurasi orde empat adalah

sebagai berikut,

( ) 21122

22 11630161.12 ++−− −+−+−≈∂∂

∆ iiiii fffffx

fx

( )22112

2

2

.1211630161

xfffff

xf iiiii

∆−+−+−

≈∂∂ ++−−

Diminta: Buktikan persamaan tersebut di atas!

Jawab:

Dari deret Taylor dapat disusun persamaan sebagai berikut,

( ) ( ) ( ) ( ) ( ) ( )!

2.!4

2.!3

2.!2

2.! 1

2.24

4

43

3

32

2

2

nx

xfx

xfx

xfx

xfx

xfxfxxf

n

n

n ∆∂∂

++∆

∂∂

+∆

∂∂

+∆

∂∂

+∆

∂∂

+=∆+ K (1)

Page 29: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 28

( ) ( ) ( ) ( ) ( ) ( )!

.!4

.!3

.!2

.! 1

.4

4

43

3

32

2

2

nx

xfx

xfx

xfx

xfx

xfxfxxf

n

n

n ∆∂∂

++∆

∂∂

+∆

∂∂

+∆

∂∂

+∆

∂∂

+=∆+ K (2)

( ) ( ) ( ) ( ) ( ) ( )!

.!4

.!3

.!2

.! 1

.4

4

43

3

32

2

2

nx

xfx

xfx

xfx

xfx

xfxfxxf

n

n

n ∆∂∂

++∆

∂∂

+∆

∂∂

−∆

∂∂

+∆

∂∂

−=∆− K (3)

( ) ( ) ( ) ( ) ( ) ( )!

2.!4

2.!3

2.!2

2.! 1

2.24

4

43

3

32

2

2

nx

xfx

xfx

xfx

xfx

xfxfxxf

n

n

n ∆∂∂

++∆

∂∂

+∆

∂∂

−∆

∂∂

+∆

∂∂

−=∆− K (4)

Substitusikan persamaan (2) dan (3),

(2) + (3)

( ) ( ) ( ) ( ) ( )!4

.2!2

..2.24

4

42

2

2 xx

fxx

fxfxxfxxf ∆∂∂

+∆

∂∂

+≈∆−+∆+ (A)

Substitusikan persamaan (1) dan (4),

(1) + (4)

( ) ( ) ( ) ( ) ( )! 4

2.2! 2

2..2.2224

4

42

2

2 xxfx

xfxfxxfxxf ∆

∂∂

+∆

∂∂

+≈∆−+∆+ (B)

Substitusi persamaan (A) dan (B),

( ) ( )BA.16 −

( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) ( ) ( )! 4

.2.1616..41622.16

221616

4

4

42

2

2 xx

fxx

fxf

xxfxxfxxfxxf

∆∂∂

−+∆∂∂

−+−

≈∆−−∆+−∆−+∆+

( ) ( ) ( ) ( ) ( ) ( )22

2

.1230221616 xx

fxfxxfxxfxxfxxf ∆∂∂

+≈∆−−∆+−∆−+∆+

Page 30: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 29

( ) ( ) ( ) ( ) ( ) ( )xxfxxfxfxxfxxfxx

f∆+−∆++−∆−+∆−−≈∆

∂∂ 21630162.12 2

2

2

( ) ( ) ( ) ( ) ( )( )22

2

.1221630162

xxxfxxfxfxxfxxf

xf

∆∆+−∆++−∆−+∆−−

≈∂∂

∴Terbukti bahwa pendekatan beda hingga untuk turunan

kedua ⎟⎟⎠

⎞⎜⎜⎝

⎛∂∂

2

2

xf untuk akurasi orde empat adalah sebagai berikut,

( )22112

2

2

.12163016

xfffff

xf iiiii

∆−+−+−

≈∂∂ ++−−

Page 31: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 30

4. Pemodelan Numerik

Pemodelan Numerik dalam bidang Teknik biasanya

merupakan pemodelan dari fenomena alam atau kejadian alam

yang diformulasikan ke dalam bentuk persamaan Differensial.

Sehingga pendekatan yang dilakukan merupakan pendekatan

persamaan differensial, yang dasumsikan sebagai persamaan

yang menggambarkan kejadian atau fenomena yang mau

disimulasikan. Bentuk persamaan diferensial yang didekati

biasanya merupakan persamaan diferensial parsial.

Secara umum bentuk persamaan difernsial parsial orde 2 dan 2

dimensi dapat digambarkan sebagai berikut,

0....

.. 2

22

2

2

=++∂∂

+∂∂

+∂∂

+∂∂

∂+

∂∂ gf

ye

xd

yc

yxb

xa ηηηηηη

Dimana: a, b, c, d, e, f, dan g merupakan fungsi dari variabel x, y

dan variabel η.

Secara umum persamaan diferensial parsial dapat dibedakan

dalam 3 tipe persamaan sbb,

1. Persamaan Ellips, apabila b2 – 4ac < 0

2. Persamaan Parabola, apabila b2 – 4ac = 0

3. Persamaan Hiperbola, apabila b2 – 4ac > 0

4.1. Persamaan Ellips

Persamaan Poisson dan persamaan Laplace merupakan

persmaaan Ellips. Untuk persamaan 2 dimensinya dapat

digambarkan sebagai berikut,

Persamaan Poisson:

02

2

2

2

=+∂∂

+∂∂ g

yxηη

Page 32: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 31

Persamaan Laplace:

02

2

2

2

=∂∂

+∂∂

yxηη

Persamaan Ellips biasanya dipergunakan untuk mensimulasi-

kan masalah-masalah yang berhubungan dengan keseimbangan

yang bersifat steady karena di dalam persamaan ini tidak ada

variabel waktunya, seperti aliran air tanah, defleksi plat karena

adanya pembebanan.

4.2. Persamaan Parabola

Persamaan parabola biasanya dipergunakan untuk

mensimulasikan perambatan panas dan difusi polutan.

Persamaan Parabola 2 dimensi (2-D) ini dapat ditulis sebagai

berikut,

⎭⎬⎫

⎩⎨⎧

∂∂

+∂∂

=∂∂

2

2

2

2

.yT

xTK

tT

Dimana: T adalah temperatur atau konsentrasi polutan, K

adalah koefisien konduktivitas atau koefisien difusi turbulen, t

merupakan variabel waktu, x dan y merupakan variabel jarak.

Tujuan dari penyelesaian persamaan parabola di atas adalah

untuk mencari perubahan temperatur atau konsentrasi polutan

pada waktu dan lokasi yang berbeda.

4.3. Persamaan Hiperbola

Persamaan Hiperbola biasanya dipergunakan untuk

mensimulaskan pergerakan gelombang. Persamaan gelombang

2 dimensi (2-D) dapat dipresentasikan sebagai berikut,

Page 33: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 32

⎭⎬⎫

⎩⎨⎧

∂∂

+∂∂

=∂∂

2

2

2

22

2

2

.yP

xPC

tP

Dimana: P merupakan variabel tekanan atau displacement

pada lokasi x, y dan waktu t. C merupakan cepat rambat

gelombang.

4.4. Skema Penyelesaian Persamaan

Penyelesaian persamaan diferensial sudah dibahas

terdahulu, yaitu merupakan penyelesaian dengan cara

pendekatan yang menggunakan metode beda hingga atau yang

sering disebut Metode Finite-Differences. Dalam menyelesaikan

pendekatan persamaan differensial parsial sebenarnya ada tiga

metode dasar yang dapat dipergunakan yaitu,

1. Skema Eksplisit

2. Skema Implisit

3. Skema Crank-Nicolson

Dari ketiga skema di atas, dapat dibuat skema umumnya.

Misalkan suatu persamaan differensial 2

2

xTK

tT

∂∂

=∂∂ . Persamaan

ini dapat diselesaikan sebagai berikut,

( )⎭⎬⎫

⎩⎨⎧

∆+−

−+∆

+−=

∆− +−

++

++−

+

211

2

11

111

1 2.12.x

TTTx

TTTKt

TT ni

ni

ni

ni

ni

ni

ni

ni ϕϕ

Dimana: ϕ adalah koefisien tipe dari skema. Harga dari

koefisienϕ adalah sebagai berikut,

Skema adalah Explicit apabila ϕ = 1

Skema adalah Implicit apabila ϕ = 0

Skema Crank-Nicolson apabila ϕ = 0.5

Pada pelatihan ini hanya akan dibahas Skema Explicit FD.

Page 34: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 33

4.5. Penyelesaian Persamaan Differensial

Dari ketiga tipe persamaan differensial, persamaan Ellips,

persamaan Parabola dan persamaan Hiperbola, dan dengan

menggunakan pendekatan beda hingga seperti yang sudah

dibahas terdahulu, dapat dibuat pendekatan beda hingga

metode Explicit sebagai berikut.

Persamaan Ellips,

02

2

2

2

=∂∂

+∂∂

yxηη

022

211

211 =

+−+

∆+− +−+−

yxjjjiii ηηηηηη

Dimana: i dan j menunjukkan nomor grid ke arah sumbu x dan

y. ∆x dan ∆y merupakan lebar grid arah sumbu x dan y. η dapat

dimisalkan sebagai tinggi muka air tanah pada suatu aliran air

tanah 2 dimensi (2-D) dan akurasi dimensi ruang orde 2.

Persamaan Parabola,

⎭⎬⎫

⎩⎨⎧

∂∂

+∂∂

=∂∂

2

2

2

2

.yT

xTK

tT

⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧

+−+

+−=

− +−+−+

21,,1,

2,1,,1,

1, 22

.y

TTTx

TTTK

tTT n

jinji

nji

nji

nji

nji

nji

nji

Dimana: i dan j menunjukkan nomor grid ke arah sumbu x dan

y. ∆x dan ∆y merupakan lebar grid arah sumbu x dan y. n

menunjukkan nomor grid waktu dan ∆t merupakan lebar grid

Page 35: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 34

waktu. K menunjukkan koefisien perambatan panas atau

koefisien difusi turbulen. T menunjukkan variabel perubahan

panas pada lokasi (x, y) dan waktu (t) tertentu dari persamaan

parabola 2 dimensi (2-D) dan akurasi dimensi ruang orde 2.

Persamaan Hiperbola,

⎭⎬⎫

⎩⎨⎧

∂∂

+∂∂

=∂∂

2

2

2

22

2

2

.yP

xPC

tP

⎪⎭

⎪⎬⎫

⎪⎩

⎪⎨⎧

+−+

+−=

+− +−+−−+

21,,1,

2,1,,12

2

1,,

1, 22

.2

yPPP

xPPP

Ct

PPP nji

nji

nji

nji

nji

nji

nji

nji

nji

Dimana: i dan j menunjukkan nomor grid ke arah sumbu x dan

y. ∆x dan ∆y merupakan lebar grid arah sumbu x dan y. n

menunjukkan nomor grid waktu dan ∆t merupakan lebar grid

waktu. C merupakan koefisien cepat rambat gelombang. P

menunjukkan perubahan tekanan gelombang pada lokasi (x, y)

dan waktu tertentu. Persamaan ini merupakan persamaan

Hiperbola 2 dimensi (2-D) dengan akurasi orde 2.

Page 36: Manual Pemrograman Numerik Fortran

Pelatihan Pemrograman Numerik Dengan Menggunakan Bahasa Fortran

Ahmad Zakaria 35

DAFTAR PUSTAKA

Triatmodjo, Bambang, 1992, Metode Numerik, Beta Offset,

Yokyakarta.

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

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

Dengan Bahasa Fortran IV, Gramedia, Jakarta.