fortran _ soal (dgn jwbn)

7
SOAL 1. Jelaskan Struktur Program Fortran dan 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 Trapesium  b. Program Perkalian 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

Upload: adi-indra-brugman

Post on 30-Oct-2015

767 views

Category:

Documents


42 download

TRANSCRIPT

Page 1: Fortran _ Soal (Dgn Jwbn)

7/16/2019 Fortran _ Soal (Dgn Jwbn)

http://slidepdf.com/reader/full/fortran-soal-dgn-jwbn 1/7

SOAL

1. Jelaskan Struktur Program Fortran dan Aturan penulisan dalam Fortran !2. Apa perbedaan Statement Stop dan End!3. Apa perbedaan Procedure dan Function!

4. Buatlah program Fortrana. Program Menghitung Luas Trapesium b. Program Perkalian Matriks5. Apa hasil (output) dari program berikut ini!A. PROGRAM 1, Bila banyaknya deret 5INTEGER A,B,CWRITE (*,’(24(/))’)WRITE (*,’(A,\)’) ‘Masukkan Banyak Deret = ‘READ (*,’(I2)’) NA=NB=1

DO 10 I=1,NDO 20 J=1,AWRITE (*,’(A,\)’) ‘ ‘20 CONTINUEWRITE (*,’(I1,\,A,I1)’) A,’ ‘,ADO 30 J=1,BWRITE (*,’(A,\)’) ‘ ‘30 CONTINUEWRITE (*,’(I1,\,A,I1)’) A,’ ‘,AWRITE (*,*)A=A-1

B=B+210 CONTINUESTOPEND

B. Program 2 Bila banyaknya deret 5INTEGER A,B,CWRITE (*,’(24(/))’)WRITE (*,’(A,\)’)'Masukkan Banyaknya Deret = ‘READ (*,’(I2)’) NA=NC=N-1B=1DO 10 I = 1,NDO 20 J = 1,AWRITE (*,’(A,\)’) ‘ ‘20 CONTINUEIF (A .EQ. N) THEN WRITE (*,’(I1)’) AELSE WRITE (*,’(I1,\)’) A

Page 2: Fortran _ Soal (Dgn Jwbn)

7/16/2019 Fortran _ Soal (Dgn Jwbn)

http://slidepdf.com/reader/full/fortran-soal-dgn-jwbn 2/7

DO 30 K=1,BWRITE (*,’(A,\)’) ‘ ‘30 CONTINUEWRITE (*,’(I1)’) AB=B+2

ENDIFA=A-110 CONTINUEA=2B=B-4IF (N .NE. 1) THENDO 40 I=1,CDO 50 J=1,AWRITE (*,’(A,\)’) ‘ ‘50 CONTINUEIF (C .EQ. 1) THEN

WRITE (*,’(I1)’) AELSEWRITE (*,’(I1,\)’) ADO 60 K=1,BWRITE (*,’(A,\)’) ‘ ‘60 CONTINUEWRITE (*,’(I1)’) AENDIFA=A+1B=B-2C=C-140 CONTINUEENDIFSTOPEND

C. Program 3 Bila banyaknya deret 5INTEGER A,B,CWRITE (*,’(24(/))’)WRITE (*,’(A,\)’) ‘Masukkan Jumlah Deret = ‘READ (*,’(I2)’) NA=NDO 10 I=1,NB=IDO 20 J=1,AWRITE (*,’(I2,\,A)’) B,’ ‘B=B+220 CONTINUEWRITE(*,*)A=A-1

Page 3: Fortran _ Soal (Dgn Jwbn)

7/16/2019 Fortran _ Soal (Dgn Jwbn)

http://slidepdf.com/reader/full/fortran-soal-dgn-jwbn 3/7

10 CONTINUESTOPEND

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

Keterangan :1. Tugas Diatas dikumpulkan dalam bentuk print dan di jilid.2. Tugas ini adalah tugas Peorangan bukan tugas kelompok 3. Bisa dikumpulkan perkelas atau perorangan ( Nanti akan mendapatkan tanda / buktimengumpulkan tugas )

JAWABAN

1. Struktur Program Fortran dan Aturan Penulisan dalam Fortran- Struktur Program Fortran :

Dibagi menjadi 5 bagian kolom dan tiap baris di dalam program dapat berisi :o Metacommand : Tidak harus ada dan hanya diperlukan bila ingin berkomunikasi dengancompiler o Komentar : Komentar bebas untuk keterangan program dan keterangan lainnyao Statement : Perintah-perintah program dalam bentuk syntax (atau tata bahasa dalam pemrograman) Element statement antara lain : konstanta, nama, operator, verb, ungkapan unitspecifier, format specifier o Sambungan dari statement baris sebelumnya- Aturan Penulisan Fortran :1. Kolom pertama merupakan Komentar atau metacommand (C, *, $).2. Kolom 1 sampai 5 untuk penulisan label statement berupa angka.

3. Kolom 6 untuk indikasi sambungan dari baris sebelumnya.4. Kolom 7 sampai 72 untuk penulisan Statement FORTRAN.5. Kolom 73 sampai 80 tidak digunakan (Untuk Komentar bebas)

2. Perbedaan Stop dengan End- Bentuk Umum :STOPSTOP 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.

- Bentuk Umum :{statement}ENDDapat berupa ENDCASE, ENDFOR, ENDIF, ENDWHILE[unit]END digunakan untuk memberitahu komputer sebagai batas akhir dari statement program.

Page 4: Fortran _ Soal (Dgn Jwbn)

7/16/2019 Fortran _ Soal (Dgn Jwbn)

http://slidepdf.com/reader/full/fortran-soal-dgn-jwbn 4/7

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

3. Perbedaan Procedure dan Function :

¬ Procedure (Prosedur)

Procedure adalah suatu bagian yang terpisah dari program dan dapat diaktifkan dimanapundidalam 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 dapatdiikuti lagi oleh kumpulan parameter yang diakhiri dengan titik koma.Bentuk Umum :Procedure( statement 1)( statement 2)( statement 3)

¬ Function (Fungsi)

o 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 memanggilsubprogram yang lain.o Dipanggil langsung dengan namanya.o Argumen-argumen hanya merupakan input, output keluar melalui nama subprogram function.Sehingga akibatnya, input bisa banyak(sebab argumen-argumen bisa banyak), tetapi outputselalu hanya satu yaitu melalui nama function.o Boleh mempunyai lebih dari satu statement RETURN, maupun juga statement STOP.

o Hubungan antar argumen dalam program pemanggil dan program dipanggil adalah hubunganatas dasar posisi, bukan atas dasar nama variabel.o Argumen-argumen dapat berupa konstanta maupun variabel baik real ataupun integer.Memiliki bentuk umum :FUNCTION nf(arg1, arg2,…argm)Keterangan :nf : nama subprogram function, sekaligus sebagai namavariabel outputnya, apabila namanya real maka sifat functionyareal, begitu pula jika integer Arg1,arg2,…argm : argumen-argumen yang dikirim dari program pemanggil kesubprogram function. Argumen boleh

 berupa variabel ataupun konstanta, baik realmaupun integer.

4. a. Program menghitung Luas Trapesiuminteger a,b,c,d,ewrite (*,’(24(/))’)write(*,’(a)’)'————————-’write(*,’(a)’)'Menghitung Luas Trapesium’

Page 5: Fortran _ Soal (Dgn Jwbn)

7/16/2019 Fortran _ Soal (Dgn Jwbn)

http://slidepdf.com/reader/full/fortran-soal-dgn-jwbn 5/7

write(*,’(a)’)'————————-’write(*,’(a,\)’)'Masukkan Alas Bawah : ‘read(*,’(I2)’)bwrite(*,’(a,\)’)'Masukkan Alas Atas : ‘read(*,’(I2)’)c

write(*,’(a,\)’)'Masukkan Tinggi : ‘read(*,’(I2)’)de = (b+c) * d / 2write(*,*)’ ‘write(*,’(a,F3,\)’)'Luas Trapesium Adalah : ‘,estopend

 b. Program Menghitung Perkalian Matrix

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 = 2read(*,*)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,awrite(*,’(a,I1,a,I1,a,\)’)'nilai elemen [',c,'][',d,'] = ‘read(*,’(I2)’)x(c,d)20 CONTINUE10 CONTINUEWRITE (*,’(24(/))’)write(*,’(a)’)'Perkalian Matriks ordo 2×2′write(*,’(a)’)'————————–’write(*,’(a)’)'Menentukan nilai elemen matriks II’write(*,’(a)’)'———————————’DO 30 g=1,aDO 40 h=1,awrite(*,’(a,I1,a,I1,a,\)’)'nilai elemen [',g,'][',h,'] = ‘read(*,’(I2)’)y(g,h)40 CONTINUE30 CONTINUEWRITE (*,’(24(/))’)write(*,’(a)’)’ Perkalian Matriks ordo 2×2′write(*,’(a)’)’ ————————–’

Page 6: Fortran _ Soal (Dgn Jwbn)

7/16/2019 Fortran _ Soal (Dgn Jwbn)

http://slidepdf.com/reader/full/fortran-soal-dgn-jwbn 6/7

write(*,’(a)’)’ Matriks I’write(*,’(a)’)’ ———’DO 50 c=1,aDO 60 d=1,awrite(*,’(I2,a,\)’)x(c,d),’ ‘

60 CONTINUEwrite(*,*)’ ‘50 CONTINUEwrite(*,’(a,/)’)’ ‘write(*,’(a)’)’ Matriks II’write(*,’(a)’)’ ———-’DO 70 g=1,aDO 80 h=1,awrite(*,’(I2,a,\)’)y(g,h),’ ‘80 CONTINUEwrite(*,*)’ ‘

70 CONTINUEread(*,*)write(*,’(a,/)’)’ ‘write(*,’(a)’)’ Hasil Perkaliannya’write(*,’(a)’)’ ——————’DO 90 i=1,aDO 100 j=1,ak=1z(i,j)=(x(i,k)*y(k,j)) + (x(i,k+1)*y(k+1,j))100 CONTINUE90 CONTINUEDO 110 i=1,aDO 120 j=1,awrite(*,’(I3,a,\)’)z(i,j),’ ‘120 CONTINUEwrite(*,*)’ ‘110 CONTINUEstopend

5. a. Masukkan Banyak Deret = 55 5 5 54 4 4 43 3 3 32 2 2 21 1 1 1

 b. Masukkan Banyaknya Deret = 554 4

Page 7: Fortran _ Soal (Dgn Jwbn)

7/16/2019 Fortran _ Soal (Dgn Jwbn)

http://slidepdf.com/reader/full/fortran-soal-dgn-jwbn 7/7

3 32 21 12 23 3

4 45

c. Masukkan Jumlah Deret = 51 3 5 7 92 4 6 83 5 74 65