Matematika Lanjut 2 – Fortran

Virtual Lab

Matematika Lanjut 2

1. Jelaskan aturan penulisan dalam Fortran !

2. Apa perbedaan Statement Stop dan End!

3. Apa perbedaan Procedure dan Function!

4. Buatlah program Fortran

a. Program Menghitung Luas segitiga

b. Program Penjumlahan Matriks

5. Apa hasil (output) dari program berikut ini!

A. PROGRAM 1, Bila banyaknya deret 5

INTEGER A,B,C

WRITE (*,'(24(/))’)

WRITE (*,'(A,\)’) ‘Masukkan Banyak Deret = ‘

READ (*,'(I2)’) N

A=N

B=1

DO 10 I=1,N

DO 20 J=1,A

WRITE (*,'(A,\)’) ‘ ‘

20 CONTINUE

WRITE (*,'(I1,\,A,I1)’) A,’ ‘,A

DO 30 J=1,B

WRITE (*,'(A,\)’) ‘ ‘

30 CONTINUE

WRITE (*,'(I1,\,A,I1)’) A,’ ‘,A

WRITE (*,*)

A=A-1

B=B+2

10 CONTINUE

STOP

END

B. Program 2 Bila banyaknya deret 5

INTEGER A,B,C

WRITE (*,'(24(/))’)

WRITE (*,'(A,\)’)’Masukkan Banyaknya Deret = ‘

READ (*,'(I2)’) N

A=N

C=N-1

B=1

DO 10 I = 1,N

DO 20 J = 1,A

WRITE (*,'(A,\)’) ‘ ‘

20 CONTINUE

IF (A .EQ. N) THEN WRITE (*,'(I1)’) A

ELSE WRITE (*,'(I1,\)’) A

DO 30 K=1,B

WRITE (*,'(A,\)’) ‘ ‘

30 CONTINUE

WRITE (*,'(I1)’) A

B=B+2

ENDIF

A=A-1

10 CONTINUE

A=2

B=B-4

IF (N .NE. 1) THEN

DO 40 I=1,C

DO 50 J=1,A

WRITE (*,'(A,\)’) ‘ ‘

50 CONTINUE

IF (C .EQ. 1) THEN

WRITE (*,'(I1)’) A

ELSE

WRITE (*,'(I1,\)’) A

DO 60 K=1,B

WRITE (*,'(A,\)’) ‘ ‘

60 CONTINUE

WRITE (*,'(I1)’) A

ENDIF

A=A+1

B=B-2

C=C-1

40 CONTINUE

ENDIF

STOP

END

C. Program 3 Bila banyaknya deret 5

INTEGER A,B,C

WRITE (*,'(24(/))’)

WRITE (*,'(A,\)’) ‘Masukkan Jumlah Deret = ‘

READ (*,'(I2)’) N

A=N

DO 10 I=1,N

B=I

DO 20 J=1,A

WRITE (*,'(I2,\,A)’) B,’ ‘

B=B+2

20 CONTINUE

WRITE(*,*)

A=A-1

10 CONTINUE

STOP

END

********* Selamat Mengerjakan **********

JAWABAN :

1. Aturan Penulisan Dalam Bahasa FORTRAN

-. Kolom pertama digunakan untuk indicator metacommand atau komentar untuk metacommand digunakan karakter “$”

sedangkan jika berisi “C” atau “c” berarti baris tersebut merupakan suatu komentar.

-. Kolom 1- 5 digunakan sebagai label statement, berupa suatu angka yang menunjukkan letak dari suatu statement

-. Kolom 6 digunakan sebagai indikator sambungan dari baris sebelumnya. Baris sambungan harus diberi indikator dengan cara meletakkan

di kolom ke 6 karakter apapun kecuali ”blank” atau ”0”. Sampai dengan baris 19 baris sambungan berturut-turut dapat dipergunakan.

-. Kolom 7 – 72 digunakan sebagai tempat untuk penulisan rutin program (statement) FORTRAN

-. Kolom 73 – 80 digunakan sebagai dokumentasi yang sifatnya optional.

2.Perbedaan Statement Stop dan End

-. STOP berfungsi menghentikan proses operasi pengerjaan program secara logika dan cirinya penulisannya bebas, yang merupakan indikator

bahwa operasi program secara logika telah berakhir. Pada umumnya statement STOP selalu mengiringi statement END didalam penulisan

bahasa pemrograman FORTRAN.

-. END dapat berupa ENDCASE, ENDFOR, ENDIF, ENDWHILE [unit] END digunakan untuk memberitahu komputer sebagai batas akhir dari statement program.

Statement END harus diletakkan paling akhir di suatu program, tidak boleh diberi label statement dan harus berdiri sendiri tidak boleh digabung dengan statement lainnya

3.Perbedaan Procedure dan Function

Procedure (Prosedur) adalah suatu bagian yang terpisah dari program dan dapat diaktifkan dimanapun didalam program. Procedure dibuat jika program

akan dibagi menjadi beberapa blok modul. Procedure dibuat didalam program dengan cara mendeklarasikannya dibagian deklarasi procedure.

Kata cadangan PROCEDURE digunakan sebagai judul dari bagian deklarasi procedure, diikuti oleh identifier yang merupakan nama procedurenya dan

secara optional dapat diikuti lagi oleh kumpulan parameter yang diakhiri dengan titik koma.

Bentuk Umum :

Procedure
( statement 1)

( statement 2)

( statement 3)

Function (Fungsi)

-. Bersifat otonom, sehingga nama-nama variabel didalam subprogram boleh sama dengan nama-nama variabel didalam program pemanggil dengan

tidak terjadi kesalahan, oleh karena memang pada prinsipnya terpisah. Boleh melakukan operasi READ atau WRITE, boleh memanggil subprogram yang lain.

-. Dipanggil langsung dengan namanya.

-. Argumen-argumen hanya merupakan input, output keluar melalui nama subprogram function. Sehingga akibatnya, input bisa banyak (sebab argumen-argumen bisa banyak),

tetapi output selalu hanya satu yaitu melalui nama function.

-. Boleh mempunyai lebih dari satu statement RETURN, maupun juga statement STOP.

-. Hubungan antar argumen dalam program pemanggil dan program dipanggil adalah hubungan atas dasar posisi, bukan atas dasar nama variabel.

-. Argumen-argumen dapat berupa konstanta maupun variabel baik real ataupun integer.

Bentuk umum :

FUNCTION nf(arg1, arg2,…argm)

Keterangan :

nf : nama subprogram function, sekaligus sebagai nama variabel outputnya, apabila namanya real maka sifat functionya real, begitu pula jika integer

Arg1,arg2,…argm : argumen-argumen yang dikirim dari program pemanggil kesubprogram function. Argumen boleh berupa variabel ataupun konstanta, baik real maupun integer.

 

4.Program Fortran

a. Program Menghitung Luas Segitiga

$Debug

Integer Pilih

Real Luas

5 Write(*,'(20X,”Program Menghitung Luas Segitiga”)’)

Write(*,'(20X,”===============================”)’)

Write(*,'(/,20X,”Tinggi = ”,\)’)

Read(*,'(F5.2)’)Tinggi

Write(*,'(20X,”Alas = ”,\)’)

Read(*,'(F5.2)’)Alas

Write(*,'(20X,”1. Luas Segitiga”)’)

Write(*,'(20X,”2. Selesai”)’)

Write(*,'(20X,”Pilih [1-2] :”,\)’)

Read(*,'((1)’) Pilih

GOTO (10,100) Pilih

Goto 5

10 Luas Segitiga = Alas * Tinggi / 2

Write(*,'(/,20X,”Luas Segitiga :”,F6.2)’)Luas

Pause ‘Tekan Enter untuk melanjutkan …!!!

Goto 5

100 Stop ‘Selesai’

END

b. Program Penjumlahan Matrik

integer x(5,5),y(5,5),z(5,5),a,b,c,d,e,f,g,h,i,j

1 WRITE (*,’(24(/))’)
write(*,’(a)’)’Perkalian Matriks ordo 2×2′

write(*,’(a)’)’————————–’

a = 2

read(*,*)

WRITE (*,’(24(/))’)

write(*,’(a)’)’Perkalian Matriks ordo 2×2′

write(*,’(a)’)’————————–’

write(*,’(a)’)’Menentukan nilai elemen matriks I’

write(*,’(a)’)’———————————’

DO 10 c=1,a

DO 20 d=1,a

write(*,’(a,I1,a,I1,a,\)’)’nilai elemen [‘,c,’][‘,d,’] = ‘

read(*,’(I2)’)x(c,d)

20 CONTINUE

10 CONTINUE

WRITE (*,’(24(/))’)

write(*,’(a)’)’Perkalian Matriks ordo 2×2′

write(*,’(a)’)’————————–’

write(*,’(a)’)’Menentukan nilai elemen matriks II’

write(*,’(a)’)’———————————’

DO 30 g=1,a

DO 40 h=1,a

write(*,’(a,I1,a,I1,a,\)’)’nilai elemen [‘,g,’][‘,h,’] = ‘

read(*,’(I2)’)y(g,h)

40 CONTINUE

30 CONTINUE

WRITE (*,’(24(/))’)

write(*,’(a)’)’ Perkalian Matriks ordo 2×2′

write(*,’(a)’)’ ————————–’

write(*,’(a)’)’ Matriks I’

write(*,’(a)’)’ ———’

DO 50 c=1,a

DO 60 d=1,a

write(*,’(I2,a,\)’)x(c,d),’ ‘

60 CONTINUE

write(*,*)’ ‘

50 CONTINUE

write(*,’(a,/)’)’ ‘

write(*,’(a)’)’ Matriks II’

write(*,’(a)’)’ ———-’

DO 70 g=1,a

DO 80 h=1,a

write(*,’(I2,a,\)’)y(g,h),’ ‘

80 CONTINUE

write(*,*)’ ‘

70 CONTINUE

read(*,*)

write(*,’(a,/)’)’ ‘

write(*,’(a)’)’ Hasil Perkaliannya’

write(*,’(a)’)’ ——————’

DO 90 i=1,a

DO 100 j=1,a

k=1

z(i,j)=(x(i,k)*y(k,j)) + (x(i,k+1)*y(k+1,j))

100 CONTINUE

90 CONTINUE

DO 110 i=1,a

DO 120 j=1,a

write(*,’(I3,a,\)’)z(i,j),’ ‘

120 CONTINUE

write(*,*)’ ‘

110 CONTINUE

Stop

end

5. Hasil output dari program yaitu:

A. Jika ‘Masukan Banyaknya Deret = 5’

5 5 5 5

4 4 4 4

3 3 3 3

2 2 2 2

1 1 1 1

B. Jika ‘Masukan Banyaknya Deret = 5’

5

4

3 3

2 2

1 1

2 2

3 3

4 4

5

C. Jika ‘Masukan Jumlah Deret = 5’

1 3 5 7 9

2 4 6 8

3 5 7

4 6

5

***–oo0oo–***

tual Lab ATA 2006 – 2007

Matematika Lanjut 2

Virtual Lab ATA 2006 – 2007

Matematika Lanjut 2

  1. Jelaskan aturan penulisan dalam Fortran !
  2. Apa perbedaan Statement Stop dan End!
  3. Apa perbedaan Procedure dan Function!
  4. Buatlah program Fortran
    1. Program Menghitung Luas segitiga
    2. Program Penjumlahan Matriks
  5. Apa hasil (output) dari program berikut ini!

One Response to “Matematika Lanjut 2 – Fortran”

  1. izin nyedoooottt gann..:D

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: